commit 68440386167eb712db1a7dbcb976ee03491c882a Author: Xanazf Date: Sat Sep 28 02:35:19 2024 +0300 initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..16d54bb --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# build output +dist/ +# generated types +.astro/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store + +# jetbrains setting folder +.idea/ diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..22a1505 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..d642209 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz new file mode 100644 index 0000000..15fb3a6 Binary files /dev/null and b/.yarn/install-state.gz differ diff --git a/README.md b/README.md new file mode 100644 index 0000000..3c0d2d0 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# Quickshell Docs + +Documentation for [quickshell](https://git.outfoxxed.me/outfoxxed/quickshell) +Hosted version at [quickshell.outfoxxed.me](https://quickshell.outfoxxed.me) + +Frontend rewritten by [Xanazf](https://github.com/Xanazf) +Some code was unceremoniously stolen from [corvu.dev](https://corvu.dev/) diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 0000000..5a53d26 --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,41 @@ +import { defineConfig } from "astro/config"; +import solidJs from "@astrojs/solid-js"; +import { remarkAlert } from "remark-github-blockquote-alert"; +import sectionize from "@hbsnow/rehype-sectionize"; +import mdx from "@astrojs/mdx"; + +import pagefind from "astro-pagefind"; + +// https://astro.build/config +export default defineConfig({ + integrations: [ + solidJs({ + devtools: true, + }), + mdx(), + pagefind(), + ], + markdown: { + syntaxHighlight: "shiki", + shikiConfig: { + theme: "material-theme-ocean", + wrap: true, + }, + remarkPlugins: [ + [ + remarkAlert, + { + legacyTitle: true, + }, + ], + ], + rehypePlugins: [ + [ + sectionize, + { + idPropertyName: "id", + }, + ], + ], + }, +}); diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..0be2524 --- /dev/null +++ b/biome.json @@ -0,0 +1,87 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.8.3/schema.json", + "formatter": { + "enabled": true, + "formatWithErrors": true, + "indentStyle": "space", + "indentWidth": 2, + "lineEnding": "lf", + "lineWidth": 66, + "attributePosition": "multiline" + }, + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true, + "style": { + "noVar": "error", + "useConst": "error" + }, + "suspicious": { + "noDoubleEquals": "error" + }, + "correctness": { + "useJsxKeyInIterable": "info" + } + } + }, + "javascript": { + "formatter": { + "jsxQuoteStyle": "double", + "quoteProperties": "asNeeded", + "trailingCommas": "es5", + "semicolons": "always", + "arrowParentheses": "asNeeded", + "bracketSpacing": true, + "bracketSameLine": false, + "quoteStyle": "double", + "lineWidth": 66, + "attributePosition": "multiline" + } + }, + "overrides": [ + { + "include": [ + "**/*.ts", + "**/*.tsx" + ], + "linter": { + "rules": { + "complexity": { + "noBannedTypes": "off" + }, + "correctness": { + "noInvalidUseBeforeDeclaration": "off" + }, + "style": { + "noNonNullAssertion": "off" + }, + "suspicious": { + "noExplicitAny": "info", + "noDuplicateClassMembers": "off", + "noEmptyBlockStatements": "off" + }, + "a11y": { + "noSvgWithoutTitle": "info" + } + } + } + }, + { + "include": [ + "*.astro" + ], + "linter": { + "rules": { + "style": { + "useConst": "off", + "useImportType": "off" + } + } + } + } + ] +} diff --git a/modules/Quickshell.DBusMenu/DBusMenuHandle.json b/modules/Quickshell.DBusMenu/DBusMenuHandle.json new file mode 100644 index 0000000..b76dcf5 --- /dev/null +++ b/modules/Quickshell.DBusMenu/DBusMenuHandle.json @@ -0,0 +1,31 @@ +{ + "name": "DBusMenuHandle", + "module": "Quickshell.DBusMenu", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Handle to a DBusMenu tree.", + "details": "Handle to a menu tree provided by a remote process.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "menu": { + "type": { + "type": "local", + "module": "Quickshell.DBusMenu", + "name": "DBusMenuItem" + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.DBusMenu/DBusMenuItem.json b/modules/Quickshell.DBusMenu/DBusMenuItem.json new file mode 100644 index 0000000..151a758 --- /dev/null +++ b/modules/Quickshell.DBusMenu/DBusMenuItem.json @@ -0,0 +1,49 @@ +{ + "name": "DBusMenuItem", + "module": "Quickshell.DBusMenu", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "QsMenuEntry" + }, + "description": "Menu item shared by an external program.", + "details": "Menu item shared by an external program via the\n[DBusMenu specification](https://github.com/AyatanaIndicators/libdbusmenu/blob/master/libdbusmenu-glib/dbus-menu.xml).\n", + "flags": [ + "uncreatable" + ], + "properties": { + "menuHandle": { + "type": { + "type": "local", + "module": "Quickshell.DBusMenu", + "name": "DBusMenuHandle" + }, + "details": "Handle to the root of this menu.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "updateLayout", + "id": "updateLayout", + "details": "Refreshes the menu contents.\n\nUsually you shouldn't need to call this manually but some applications providing\nmenus do not update them correctly. Call this if menus don't update their state.\n\nThe TYPE99VlayoutUpdated99Tsignal99TYPE signal will be sent when a response is received.\n", + "params": [] + } + ], + "signals": { + "layoutUpdated": { + "name": "layoutUpdated", + "details": null, + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.DBusMenu/index.json b/modules/Quickshell.DBusMenu/index.json new file mode 100644 index 0000000..a11eddc --- /dev/null +++ b/modules/Quickshell.DBusMenu/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.DBusMenu", + "description": "Types related to DBusMenu (used in system tray)", + "details": "" +} \ No newline at end of file diff --git a/modules/Quickshell.Hyprland/GlobalShortcut.json b/modules/Quickshell.Hyprland/GlobalShortcut.json new file mode 100644 index 0000000..3096167 --- /dev/null +++ b/modules/Quickshell.Hyprland/GlobalShortcut.json @@ -0,0 +1,71 @@ +{ + "name": "GlobalShortcut", + "module": "Quickshell.Hyprland", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Hyprland global shortcut.", + "details": "Global shortcut implemented with [hyprland_global_shortcuts_v1].\n\nYou can use this within hyprland as a global shortcut:\n```\nbind = , , global, :\n```\nSee [the wiki] for details.\n\n> [!WARNING] The shortcuts protocol does not allow duplicate appid + name pairs.\n> Within a single instance of quickshell this is handled internally, and both\n> users will be notified, but multiple instances of quickshell or XDPH may collide.\n>\n> If that happens, whichever client that tries to register the shortcuts last will crash.\n\n> [!NOTE] This type does *not* use the xdg-desktop-portal global shortcuts protocol,\n> as it is not fully functional without flatpak and would cause a considerably worse\n> user experience from other limitations. It will only work with Hyprland.\n> Note that, as this type bypasses xdg-desktop-portal, XDPH is not required.\n\n[hyprland_global_shortcuts_v1]: https://github.com/hyprwm/hyprland-protocols/blob/main/protocols/hyprland-global-shortcuts-v1.xml\n[the wiki]: https://wiki.hyprland.org/Configuring/Binds/#dbus-global-shortcuts\n", + "properties": { + "name": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The name of the shortcut.\nYou cannot change this at runtime.\n" + }, + "pressed": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the keybind is currently pressed.\n", + "flags": [ + "readonly" + ] + }, + "triggerDescription": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Have not seen this used ever, but included for completeness. Safe to ignore.\n" + }, + "description": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The description of the shortcut that appears in `hyprctl globalshortcuts`.\nYou cannot change this at runtime.\n" + }, + "appid": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The appid of the shortcut. Defaults to `quickshell`.\nYou cannot change this at runtime.\n\nIf you have more than one shortcut we recommend subclassing\nGlobalShortcut to set this.\n" + } + }, + "functions": [], + "signals": { + "pressed": { + "name": "pressed", + "details": "Fired when the keybind is pressed.\n", + "params": [] + }, + "released": { + "name": "released", + "details": "Fired when the keybind is released.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Hyprland/Hyprland.json b/modules/Quickshell.Hyprland/Hyprland.json new file mode 100644 index 0000000..cbe1289 --- /dev/null +++ b/modules/Quickshell.Hyprland/Hyprland.json @@ -0,0 +1,163 @@ +{ + "name": "Hyprland", + "module": "Quickshell.Hyprland", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": null, + "flags": [ + "singleton" + ], + "properties": { + "focusedMonitor": { + "type": { + "type": "local", + "module": "Quickshell.Hyprland", + "name": "HyprlandMonitor" + }, + "details": "The currently focused hyprland monitor. May be null.\n", + "flags": [ + "readonly" + ] + }, + "requestSocketPath": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Path to the request socket (.socket.sock)\n", + "flags": [ + "readonly" + ] + }, + "monitors": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Hyprland", + "name": "HyprlandMonitor" + } + }, + "details": "All hyprland monitors.\n", + "flags": [ + "readonly" + ] + }, + "eventSocketPath": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Path to the event socket (.socket2.sock)\n", + "flags": [ + "readonly" + ] + }, + "workspaces": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Hyprland", + "name": "HyprlandWorkspace" + } + }, + "details": "All hyprland workspaces.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "dispatch", + "id": "dispatch", + "details": "Execute a hyprland [dispatcher](https://wiki.hyprland.org/Configuring/Dispatchers).\n", + "params": [ + { + "name": "request", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + }, + { + "ret": { + "type": "local", + "module": "Quickshell.Hyprland", + "name": "HyprlandMonitor" + }, + "name": "monitorFor", + "id": "monitorFor", + "details": "Get the HyprlandMonitor object that corrosponds to a quickshell screen.\n", + "params": [ + { + "name": "screen", + "type": { + "type": "local", + "module": "Quickshell", + "name": "ShellScreen" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "refreshMonitors", + "id": "refreshMonitors", + "details": "Refresh monitor information.\n\nMany actions that will invalidate monitor state don't send events,\nso this function is available if required.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "refreshWorkspaces", + "id": "refreshWorkspaces", + "details": "Refresh workspace information.\n\nMany actions that will invalidate workspace state don't send events,\nso this function is available if required.\n", + "params": [] + } + ], + "signals": { + "rawEvent": { + "name": "rawEvent", + "details": "Emitted for every event that comes in through the hyprland event socket (socket2).\n\nSee [Hyprland Wiki: IPC](https://wiki.hyprland.org/IPC/) for a list of events.\n", + "params": [ + { + "name": "event", + "type": { + "type": "local", + "module": "Quickshell.Hyprland", + "name": "HyprlandEvent" + } + } + ] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Hyprland/HyprlandEvent.json b/modules/Quickshell.Hyprland/HyprlandEvent.json new file mode 100644 index 0000000..a881451 --- /dev/null +++ b/modules/Quickshell.Hyprland/HyprlandEvent.json @@ -0,0 +1,68 @@ +{ + "name": "HyprlandEvent", + "module": "Quickshell.Hyprland", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Live Hyprland IPC event.", + "details": "Live Hyprland IPC event. Holding this object after the\nsignal handler exits is undefined as the event instance\nis reused.\n\nEmitted by TYPE99MQS_Quickshell_Hyprland99NHyprland99VrawEvent99Tsignal99TYPE.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "name": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The name of the event.\n\nSee [Hyprland Wiki: IPC](https://wiki.hyprland.org/IPC/) for a list of events.\n", + "flags": [ + "readonly" + ] + }, + "data": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The unparsed data of the event.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + "name": "parse", + "id": "parse", + "details": "Parse this event with a known number of arguments.\n\nArgument count is required as some events can contain commas\nin the last argument, which can be ignored as long as the count is known.\n", + "params": [ + { + "name": "argumentCount", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + ] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Hyprland/HyprlandFocusGrab.json b/modules/Quickshell.Hyprland/HyprlandFocusGrab.json new file mode 100644 index 0000000..412e482 --- /dev/null +++ b/modules/Quickshell.Hyprland/HyprlandFocusGrab.json @@ -0,0 +1,44 @@ +{ + "name": "HyprlandFocusGrab", + "module": "Quickshell.Hyprland", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Input focus grabber", + "details": "Object for managing input focus grabs via the [hyprland_focus_grab_v1]\nwayland protocol.\n\nWhen enabled, all of the windows listed in the `windows` property will\nreceive input normally, and will retain keyboard focus even if the mouse\nis moved off of them. When areas of the screen that are not part of a listed\nwindow are clicked or touched, the grab will become inactive and emit the\ncleared signal.\n\nThis is useful for implementing dismissal of popup type windows.\n```qml\nimport Quickshell\nimport Quickshell.Hyprland\nimport QtQuick.Controls\n\nShellRoot {\n FloatingWindow {\n id: window\n\n Button {\n anchors.centerIn: parent\n text: grab.active ? \"Remove exclusive focus\" : \"Take exclusive focus\"\n onClicked: grab.active = !grab.active\n }\n\n HyprlandFocusGrab {\n id: grab\n windows: [ window ]\n }\n }\n}\n```\n\n[hyprland_focus_grab_v1]: https://github.com/hyprwm/hyprland-protocols/blob/main/protocols/hyprland-global-shortcuts-v1.xml\n", + "properties": { + "active": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the focus grab is active. Defaults to false.\n\nWhen set to true, an input grab will be created for the listed windows.\n\nThis property will change to false once the grab is dismissed.\nIt will not change to true until the grab begins, which requires\nat least one visible window.\n" + }, + "windows": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + "details": "The list of windows to whitelist for input.\n" + } + }, + "functions": [], + "signals": { + "cleared": { + "name": "cleared", + "details": "Sent whenever the compositor clears the focus grab.\n\nThis may be in response to all windows being removed\nfrom the list or simultaneously hidden, in addition to\na normal clear.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Hyprland/HyprlandMonitor.json b/modules/Quickshell.Hyprland/HyprlandMonitor.json new file mode 100644 index 0000000..e2925e6 --- /dev/null +++ b/modules/Quickshell.Hyprland/HyprlandMonitor.json @@ -0,0 +1,130 @@ +{ + "name": "HyprlandMonitor", + "module": "Quickshell.Hyprland", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": null, + "flags": [ + "uncreatable" + ], + "properties": { + "x": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "y": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "scale": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "height": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "lastIpcObject": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "Last json returned for this monitor, as a javascript object.\n\n> [!WARNING] This is *not* updated unless the monitor object is fetched again from\n> Hyprland. If you need a value that is subject to change and does not have a dedicated\n> property, run TYPE99MQS_Quickshell_Hyprland99NHyprland99VrefreshMonitors99Tfunc99TYPE and wait for this property to update.\n", + "flags": [ + "readonly" + ] + }, + "description": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "activeWorkspace": { + "type": { + "type": "local", + "module": "Quickshell.Hyprland", + "name": "HyprlandWorkspace" + }, + "details": "The currently active workspace on this monitor. May be null.\n", + "flags": [ + "readonly" + ] + }, + "name": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "width": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Hyprland/HyprlandWorkspace.json b/modules/Quickshell.Hyprland/HyprlandWorkspace.json new file mode 100644 index 0000000..dbde313 --- /dev/null +++ b/modules/Quickshell.Hyprland/HyprlandWorkspace.json @@ -0,0 +1,64 @@ +{ + "name": "HyprlandWorkspace", + "module": "Quickshell.Hyprland", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": null, + "flags": [ + "uncreatable" + ], + "properties": { + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "name": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "monitor": { + "type": { + "type": "local", + "module": "Quickshell.Hyprland", + "name": "HyprlandMonitor" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "lastIpcObject": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "Last json returned for this workspace, as a javascript object.\n\n> [!WARNING] This is *not* updated unless the workspace object is fetched again from\n> Hyprland. If you need a value that is subject to change and does not have a dedicated\n> property, run TYPE99MQS_Quickshell_Hyprland99NHyprland99VrefreshWorkspaces99Tfunc99TYPE and wait for this property to update.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Hyprland/index.json b/modules/Quickshell.Hyprland/index.json new file mode 100644 index 0000000..810dde5 --- /dev/null +++ b/modules/Quickshell.Hyprland/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Hyprland", + "description": "Hyprland specific Quickshell types", + "details": "" +} \ No newline at end of file diff --git a/modules/Quickshell.Io/DataStream.json b/modules/Quickshell.Io/DataStream.json new file mode 100644 index 0000000..0297f82 --- /dev/null +++ b/modules/Quickshell.Io/DataStream.json @@ -0,0 +1,28 @@ +{ + "name": "DataStream", + "module": "Quickshell.Io", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Data source that can be streamed into a parser.", + "details": "See also: TYPE99MQS_Quickshell_Io99NDataStreamParser99TYPE\n", + "flags": [ + "uncreatable" + ], + "properties": { + "parser": { + "type": { + "type": "local", + "module": "Quickshell.Io", + "name": "DataStreamParser" + }, + "details": "The parser to stream data from this source into.\nIf the parser is null no data will be read.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Io/DataStreamParser.json b/modules/Quickshell.Io/DataStreamParser.json new file mode 100644 index 0000000..c5d9c0a --- /dev/null +++ b/modules/Quickshell.Io/DataStreamParser.json @@ -0,0 +1,34 @@ +{ + "name": "DataStreamParser", + "module": "Quickshell.Io", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Parser for streamed input data.", + "details": "See also: TYPE99MQS_Quickshell_Io99NDataStream99TYPE, TYPE99MQS_Quickshell_Io99NSplitParser99TYPE.\n", + "flags": [ + "uncreatable" + ], + "properties": {}, + "functions": [], + "signals": { + "read": { + "name": "read", + "details": "Emitted when data is read from the stream.\n", + "params": [ + { + "name": "data", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Io/FileView.json b/modules/Quickshell.Io/FileView.json new file mode 100644 index 0000000..2217e0d --- /dev/null +++ b/modules/Quickshell.Io/FileView.json @@ -0,0 +1,111 @@ +{ + "name": "FileView", + "module": "Quickshell.Io", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Simplified reader for small files.", + "details": "A reader for small to medium files that don't need seeking/cursor access,\nsuitable for most text files.\n\n#### Example: Reading a JSON\n```qml\nFileView {\n id: jsonFile\n path: Qt.resolvedUrl(\"./your.json\")\n // Forces the file to be loaded by the time we call JSON.parse().\n // see blockLoading's property documentation for details.\n blockLoading: true\n}\n\nreadonly property var jsonData: JSON.parse(jsonFile.text())\n```\n", + "properties": { + "blockAllReads": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If TYPE99Vtext99Tfunc99TYPE and TYPE99Vdata99Tfunc99TYPE should block all operations while a file loads. Defaults to false.\n\nThis is nearly identical to TYPE99VblockLoading99Tprop99TYPE, but will additionally block when\na file is loaded and TYPE99Vpath99Tprop99TYPE changes.\n\n> [!WARNING] We cannot think of a valid use case for this.\n> You almost definitely want TYPE99VblockLoading99Tprop99TYPE.\n" + }, + "blockLoading": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If TYPE99Vtext99Tfunc99TYPE and TYPE99Vdata99Tfunc99TYPE should block all operations until the file is loaded. Defaults to false.\n\nIf the file is already loaded, no blocking will occur.\nIf a file was loaded, and TYPE99Vpath99Tprop99TYPE was changed to a new file, no blocking will occur.\n\n> [!WARNING] Blocking operations should be used carefully to avoid stutters and other performance\n> degradations. Blocking means that your interface **WILL NOT FUNCTION** during the call.\n>\n> **We recommend you use a blocking load ONLY for files loaded before the windows of your shell\n> are loaded, which happens after `Component.onCompleted` runs for the root component of your shell.**\n>\n> The most reasonable use case would be to load things like configuration files that the program\n> must have available.\n" + }, + "preload": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the file should be loaded in the background immediately when set. Defaults to true.\n\nThis may either increase or decrease the amount of time it takes to load the file\ndepending on how large the file is, how fast its storage is, and how you access its data.\n" + }, + "loaded": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If a file is currently loaded, which may or may not be the one currently specified by TYPE99Vpath99Tprop99TYPE.\n\n> [!NOTE] If a file is loaded, TYPE99Vpath99Tprop99TYPE is changed, and a new file is loaded,\n> this property will stay true the whole time.\n> If TYPE99Vpath99Tprop99TYPE is set to an empty string to unload the file it will become false.\n", + "flags": [ + "readonly" + ] + }, + "path": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The path to the file that should be read, or an empty string to unload the file.\n" + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "name": "blockUntilLoaded", + "id": "blockUntilLoaded", + "details": "Block all operations until the currently running load completes.\n\n> [!WARNING] See TYPE99VblockLoading99Tprop99TYPE for an explanation and warning about blocking.\n", + "params": [] + }, + { + "ret": { + "type": "unknown", + "module": "", + "name": "" + }, + "name": "data", + "id": "data", + "details": "Returns the data of the file specified by TYPE99Vpath99Tprop99TYPE as an [ArrayBuffer].\n\nIf TYPE99VblockAllReads99Tprop99TYPE is true, all changes to TYPE99Vpath99Tprop99TYPE will cause the program to block\nwhen this function is called.\n\nIf TYPE99VblockLoading99Tprop99TYPE is true, reading this property before the file has been loaded\nwill block, but changing TYPE99Vpath99Tprop99TYPE or calling TYPE99Vreload99Tfunc99TYPE will return the old data\nuntil the load completes.\n\nIf neither is true, an empty buffer will be returned if no file is loaded,\notherwise it will behave as in the case above.\n\n> [!NOTE] Due to technical limitations, TYPE99Vdata99Tfunc99TYPE could not be a property,\n> however you can treat it like a property, it will trigger property updates\n> as a property would, and the signal `dataChanged()` is present.\n\n[ArrayBuffer]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "reload", + "id": "reload", + "details": "Unload the loaded file and reload it, usually in response to changes.\n\nThis will not block if TYPE99VblockLoading99Tprop99TYPE is set, only if TYPE99VblockAllReads99Tprop99TYPE is true.\nIt acts the same as changing TYPE99Vpath99Tprop99TYPE to a new file, except loading the same file.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "text", + "id": "text", + "details": "Returns the data of the file specified by TYPE99Vpath99Tprop99TYPE as text.\n\nIf TYPE99VblockAllReads99Tprop99TYPE is true, all changes to TYPE99Vpath99Tprop99TYPE will cause the program to block\nwhen this function is called.\n\nIf TYPE99VblockLoading99Tprop99TYPE is true, reading this property before the file has been loaded\nwill block, but changing TYPE99Vpath99Tprop99TYPE or calling TYPE99Vreload99Tfunc99TYPE will return the old data\nuntil the load completes.\n\nIf neither is true, an empty string will be returned if no file is loaded,\notherwise it will behave as in the case above.\n\n> [!NOTE] Due to technical limitations, TYPE99Vtext99Tfunc99TYPE could not be a property,\n> however you can treat it like a property, it will trigger property updates\n> as a property would, and the signal `textChanged()` is present.\n", + "params": [] + } + ], + "signals": { + "loadFailed": { + "name": "loadFailed", + "details": "! Fires if the file failed to load. A warning will be printed in the log.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Io/Process.json b/modules/Quickshell.Io/Process.json new file mode 100644 index 0000000..b40446e --- /dev/null +++ b/modules/Quickshell.Io/Process.json @@ -0,0 +1,174 @@ +{ + "name": "Process", + "module": "Quickshell.Io", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Child process.", + "details": "#### Example\n```qml\nProcess {\n running: true\n command: [ \"some-command\", \"arg\" ]\n stdout: SplitParser {\n onRead: data => console.log(`line read: ${data}`)\n }\n}\n```\n", + "properties": { + "workingDirectory": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The working directory of the process. Defaults to [quickshell's working directory].\n\nIf the process is already running changing this property will affect the next\nstarted process. If the property has been changed after starting a process it will\nreturn the new value, not the one for the currently running process.\n\n[quickshell's working directory]: ../../quickshell/quickshell#prop.workingDirectory\n" + }, + "command": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + "details": "The command to execute. Each argument is its own string, which means you don't have\nto deal with quoting anything.\n\nIf the process is already running changing this property will affect the next\nstarted process. If the property has been changed after starting a process it will\nreturn the new value, not the one for the currently running process.\n\n> [!NOTE] You can use `[\"sh\", \"-c\", ]` to execute your command with\n> the system shell.\n" + }, + "manageLifetime": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the process should be killed when the Process object is destroyed or quickshell exits.\nDefaults to true.\n\nThis property may be changed while the process is running and will affect it.\n\n> [!WARNING] If set to false the process will still be killed if the quickshell config reloads.\n> It will not be killed if quickshell exits normally or crashes.\n" + }, + "environment": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "Environment of the executed process.\n\nThis is a javascript object (json). Environment variables can be added by setting\nthem to a string and removed by setting them to null (except when TYPE99VclearEnvironment99Tprop99TYPE is true,\nin which case this behavior is inverted, see TYPE99VclearEnvironment99Tprop99TYPE for details).\n\n\n```qml\nenvironment: ({\n ADDED: \"value\",\n REMOVED: null,\n \"i'm different\": \"value\",\n})\n```\n\n> [!NOTE] You need to wrap the returned object in () otherwise it won't parse due to javascript ambiguity.\n\nIf the process is already running changing this property will affect the next\nstarted process. If the property has been changed after starting a process it will\nreturn the new value, not the one for the currently running process.\n" + }, + "stdinEnabled": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If stdin is enabled. Defaults to false. If this property is false the process's stdin channel\nwill be closed and TYPE99Vwrite99Tfunc99TYPE will do nothing, even if set back to true.\n" + }, + "processId": { + "type": { + "type": "qt", + "module": "qml", + "name": "variant" + }, + "details": "The process ID of the running process or `null` if TYPE99Vrunning99Tprop99TYPE is false.\n", + "flags": [ + "readonly" + ] + }, + "clearEnvironment": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the process's environment should be cleared prior to applying TYPE99Venvironment99Tprop99TYPE.\nDefaults to false.\n\nIf true, all environment variables will be removed before the TYPE99Venvironment99Tprop99TYPE\nobject is applied, meaning the variables listed will be the only ones visible to the process.\nThis changes the behavior of `null` to pass in the system value of the variable if present instead\nof removing it.\n\n```qml\nclearEnvironment: true\nenvironment: ({\n ADDED: \"value\",\n PASSED_FROM_SYSTEM: null,\n})\n```\n\nIf the process is already running changing this property will affect the next\nstarted process. If the property has been changed after starting a process it will\nreturn the new value, not the one for the currently running process.\n" + }, + "stdout": { + "type": { + "type": "local", + "module": "Quickshell.Io", + "name": "DataStreamParser" + }, + "details": "The parser for stdout. If the parser is null the process's stdout channel will be closed\nand no further data will be read, even if a new parser is attached.\n" + }, + "stderr": { + "type": { + "type": "local", + "module": "Quickshell.Io", + "name": "DataStreamParser" + }, + "details": "The parser for stderr. If the parser is null the process's stdout channel will be closed\nand no further data will be read, even if a new parser is attached.\n" + }, + "running": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the process is currently running. Defaults to false.\n\nSetting this property to true will start the process if command has at least\none element.\nSetting it to false will send SIGTERM. To immediately kill the process,\nuse TYPE99Vsignal99Tfunc99TYPE with SIGKILL. The process will be killed when\nquickshell dies.\n\nIf you want to run the process in a loop, use the onRunningChanged signal handler\nto restart the process.\n```qml\nProcess {\n running: true\n onRunningChanged: if (!running) running = true\n}\n```\n" + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "signal", + "id": "signal", + "details": "Sends a signal to the process if TYPE99Vrunning99Tprop99TYPE is true, otherwise does nothing.\n", + "params": [ + { + "name": "signal", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "write", + "id": "write", + "details": "Writes to the process's stdin. Does nothing if TYPE99Vrunning99Tprop99TYPE is false.\n", + "params": [ + { + "name": "data", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + } + ], + "signals": { + "exited": { + "name": "exited", + "details": null, + "params": [ + { + "name": "exitCode", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + }, + { + "name": "exitStatus", + "type": { + "type": "unknown", + "module": "", + "name": "" + } + } + ] + }, + "started": { + "name": "started", + "details": null, + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Io/Socket.json b/modules/Quickshell.Io/Socket.json new file mode 100644 index 0000000..c8c9f96 --- /dev/null +++ b/modules/Quickshell.Io/Socket.json @@ -0,0 +1,80 @@ +{ + "name": "Socket", + "module": "Quickshell.Io", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell.Io", + "name": "DataStream" + }, + "description": "Unix socket listener.", + "details": "", + "properties": { + "path": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The path to connect this socket to when TYPE99Vconnected99Tprop99TYPE is set to true.\n\nChanging this property will have no effect while the connection is active.\n" + }, + "connected": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "Returns if the socket is currently connected.\n\nWriting to this property will set the target connection state and will not\nupdate the property immediately. Setting the property to false will begin disconnecting\nthe socket, and setting it to true will begin connecting the socket if path is not empty.\n" + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "flush", + "id": "flush", + "details": "Flush any queued writes to the socket.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "write", + "id": "write", + "details": "Write data to the socket. Does nothing if not connected.\n\nRemember to call flush after your last write.\n", + "params": [ + { + "name": "data", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + } + ], + "signals": { + "error": { + "name": "error", + "details": "This signal is sent whenever a socket error is encountered.\n", + "params": [ + { + "name": "error", + "type": { + "type": "unknown", + "module": "", + "name": "" + } + } + ] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Io/SocketServer.json b/modules/Quickshell.Io/SocketServer.json new file mode 100644 index 0000000..3c3d2af --- /dev/null +++ b/modules/Quickshell.Io/SocketServer.json @@ -0,0 +1,41 @@ +{ + "name": "SocketServer", + "module": "Quickshell.Io", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Unix socket server.", + "details": "#### Example\n```qml\nSocketServer {\n active: true\n path: \"/path/too/socket.sock\"\n handler: Socket {\n onConnectedChanged: {\n console.log(connected ? \"new connection!\" : \"connection dropped!\")\n }\n parser: SplitParser {\n onRead: message => console.log(`read message from socket: ${message}`)\n }\n }\n}\n```\n", + "properties": { + "active": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the socket server is currently active. Defaults to false.\n\nSetting this to false will destory all active connections and delete\nthe socket file on disk.\n\nIf path is empty setting this property will have no effect.\n" + }, + "handler": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "Component" + }, + "details": "Connection handler component. Must creeate a TYPE99MQS_Quickshell_Io99NSocket99TYPE.\n\nThe created socket should not set TYPE99Vconnected99Tprop99TYPE or TYPE99Vpath99Tprop99TYPE or the incoming\nsocket connection will be dropped (they will be set by the socket server.)\nSetting `connected` to false on the created socket after connection will\nclose and delete it.\n" + }, + "path": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The path to create the socket server at.\n\nSetting this property while the server is active will have no effect.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Io/SplitParser.json b/modules/Quickshell.Io/SplitParser.json new file mode 100644 index 0000000..f0ae57e --- /dev/null +++ b/modules/Quickshell.Io/SplitParser.json @@ -0,0 +1,25 @@ +{ + "name": "SplitParser", + "module": "Quickshell.Io", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell.Io", + "name": "DataStreamParser" + }, + "description": "Parser for delimited data streams.", + "details": "Parser for delimited data streams. TYPE99Vread99Tfunc99TYPE is emitted once per delimited chunk of the stream.\n", + "properties": { + "splitMarker": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The delimiter for parsed data. May be multiple characters. Defaults to `\\n`.\n\nIf the delimiter is empty read lengths may be arbitrary (whatever is returned by the\nunderlying read call.)\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Io/index.json b/modules/Quickshell.Io/index.json new file mode 100644 index 0000000..42bbdc6 --- /dev/null +++ b/modules/Quickshell.Io/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Io", + "description": "Io types", + "details": "" +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Greetd/Greetd.json b/modules/Quickshell.Services.Greetd/Greetd.json new file mode 100644 index 0000000..b45b2a3 --- /dev/null +++ b/modules/Quickshell.Services.Greetd/Greetd.json @@ -0,0 +1,291 @@ +{ + "name": "Greetd", + "module": "Quickshell.Services.Greetd", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": "This object provides access to a running greetd instance if present.\nWith it you can authenticate a user and launch a session.\n\nSee [the greetd wiki] for instructions on how to set up a graphical greeter.\n\n[the greetd wiki]: https://man.sr.ht/~kennylevinsen/greetd/#setting-up-greetd-with-gtkgreet\n", + "flags": [ + "singleton" + ], + "properties": { + "state": { + "type": { + "type": "local", + "module": "Quickshell.Services.Greetd", + "name": "GreetdState" + }, + "details": "The current state of the greetd connection.\n", + "flags": [ + "readonly" + ] + }, + "available": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the greetd socket is available.\n", + "flags": [ + "readonly" + ] + }, + "user": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The currently authenticating user.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "cancelSession", + "id": "cancelSession", + "details": "Cancel the active greetd session.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "createSession", + "id": "createSession", + "details": "Create a greetd session for the given user.\n", + "params": [ + { + "name": "user", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "launch", + "id": "launch", + "details": "Launch the session, exiting quickshell.\nTYPE99Vstate99Tprop99TYPE must be `GreetdState.ReadyToLaunch` to call this function.\n", + "params": [ + { + "name": "command", + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "launch", + "id": "launch", + "details": "Launch the session, exiting quickshell.\nTYPE99Vstate99Tprop99TYPE must be `GreetdState.ReadyToLaunch` to call this function.\n", + "params": [ + { + "name": "command", + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + }, + { + "name": "environment", + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "launch", + "id": "launch", + "details": "Launch the session, exiting quickshell if TYPE99Vquit99Tprop99TYPE is true.\nTYPE99Vstate99Tprop99TYPE must be `GreetdState.ReadyToLaunch` to call this function.\n\nThe TYPE99Vlaunched99Tprop99TYPE signal can be used to perform an action after greetd has acknowledged\nthe desired session.\n\n> [!WARNING] Note that greetd expects the greeter to terminate as soon as possible\n> after setting a target session, and waiting too long may lead to unexpected behavior\n> such as the greeter restarting.\n>\n> Performing animations and such should be done *before* calling TYPE99Vlaunch99Tprop99TYPE.\n", + "params": [ + { + "name": "command", + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + }, + { + "name": "environment", + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + }, + { + "name": "quit", + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "respond", + "id": "respond", + "details": "Respond to an authentication message.\n\nMay only be called in response to an TYPE99VauthMessage99Tsignal99TYPE with `responseRequired` set to true.\n", + "params": [ + { + "name": "response", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + } + ], + "signals": { + "launched": { + "name": "launched", + "details": "Greetd has acknowledged the launch request and the greeter should quit as soon as possible.\n\nThis signal is sent right before quickshell exits automatically if the launch was not specifically\nrequested not to exit. You usually don't need to use this signal.\n", + "params": [] + }, + "error": { + "name": "error", + "details": "Greetd has encountered an error.\n", + "params": [ + { + "name": "error", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + }, + "authFailure": { + "name": "authFailure", + "details": "Authentication has failed an the session has terminated.\n\nUsually this is something like a timeout or a failed password entry.\n", + "params": [ + { + "name": "message", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + }, + "readyToLaunch": { + "name": "readyToLaunch", + "details": "Authentication has finished successfully and greetd can now launch a session.\n", + "params": [] + }, + "authMessage": { + "name": "authMessage", + "details": "An authentication message has been sent by greetd.\n- `message` - the text of the message\n- `error` - if the message should be displayed as an error\n- `responseRequired` - if a response via `respond()` is required for this message\n- `echoResponse` - if the response should be displayed in clear text to the user\n\nNote that `error` and `responseRequired` are mutually exclusive.\n\nErrors are sent through `authMessage` when they are recoverable, such as a fingerprint scanner\nnot being able to read a finger correctly, while definite failures such as a bad password are\nsent through `authFailure`.\n", + "params": [ + { + "name": "message", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + { + "name": "error", + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + } + }, + { + "name": "responseRequired", + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + } + }, + { + "name": "echoResponse", + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + } + } + ] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Greetd/GreetdState.json b/modules/Quickshell.Services.Greetd/GreetdState.json new file mode 100644 index 0000000..e26e02a --- /dev/null +++ b/modules/Quickshell.Services.Greetd/GreetdState.json @@ -0,0 +1,56 @@ +{ + "name": "GreetdState", + "module": "Quickshell.Services.Greetd", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "State of the Greetd connection.", + "details": "See TYPE99MQS_Quickshell_Services_Greetd99NGreetd99Vstate99Tprop99TYPE.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell.Services.Greetd", + "name": "GreetdState" + } + } + ] + } + ], + "signals": {}, + "variants": { + "Authenticating": { + "details": null + }, + "Launched": { + "details": null + }, + "Launching": { + "details": null + }, + "Inactive": { + "details": null + }, + "ReadyToLaunch": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Greetd/index.json b/modules/Quickshell.Services.Greetd/index.json new file mode 100644 index 0000000..6b90007 --- /dev/null +++ b/modules/Quickshell.Services.Greetd/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Services.Greetd", + "description": "Greetd integration", + "details": "" +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Mpris/Mpris.json b/modules/Quickshell.Services.Mpris/Mpris.json new file mode 100644 index 0000000..86b392e --- /dev/null +++ b/modules/Quickshell.Services.Mpris/Mpris.json @@ -0,0 +1,36 @@ +{ + "name": "Mpris", + "module": "Quickshell.Services.Mpris", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": null, + "flags": [ + "singleton" + ], + "properties": { + "players": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Services.Mpris", + "name": "MprisPlayer" + } + }, + "details": "All connected MPRIS players.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Mpris/MprisLoopState.json b/modules/Quickshell.Services.Mpris/MprisLoopState.json new file mode 100644 index 0000000..542678a --- /dev/null +++ b/modules/Quickshell.Services.Mpris/MprisLoopState.json @@ -0,0 +1,50 @@ +{ + "name": "MprisLoopState", + "module": "Quickshell.Services.Mpris", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Loop state of an MprisPlayer", + "details": "See TYPE99MQS_Quickshell_Services_Mpris99NMprisPlayer99VloopState99Tprop99TYPE.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "status", + "type": { + "type": "local", + "module": "Quickshell.Services.Mpris", + "name": "MprisLoopState" + } + } + ] + } + ], + "signals": {}, + "variants": { + "Playlist": { + "details": null + }, + "Track": { + "details": null + }, + "None": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Mpris/MprisPlaybackState.json b/modules/Quickshell.Services.Mpris/MprisPlaybackState.json new file mode 100644 index 0000000..2c032b1 --- /dev/null +++ b/modules/Quickshell.Services.Mpris/MprisPlaybackState.json @@ -0,0 +1,50 @@ +{ + "name": "MprisPlaybackState", + "module": "Quickshell.Services.Mpris", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Playback state of an MprisPlayer", + "details": "See TYPE99MQS_Quickshell_Services_Mpris99NMprisPlayer99VplaybackState99Tprop99TYPE.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "status", + "type": { + "type": "local", + "module": "Quickshell.Services.Mpris", + "name": "MprisPlaybackState" + } + } + ] + } + ], + "signals": {}, + "variants": { + "Paused": { + "details": null + }, + "Stopped": { + "details": null + }, + "Playing": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Mpris/MprisPlayer.json b/modules/Quickshell.Services.Mpris/MprisPlayer.json new file mode 100644 index 0000000..d8d7c9f --- /dev/null +++ b/modules/Quickshell.Services.Mpris/MprisPlayer.json @@ -0,0 +1,539 @@ +{ + "name": "MprisPlayer", + "module": "Quickshell.Services.Mpris", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A media player exposed over MPRIS.", + "details": "A media player exposed over MPRIS.\n\n> [!WARNING] Support for various functionality and general compliance to\n> the MPRIS specification varies wildly by player.\n> Always check the associated `canXyz` and `xyzSupported` properties if available.\n\n> [!NOTE] The TrackList and Playlist interfaces were not implemented as we could not\n> find any media players using them to test against.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "trackArtUrl": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The current track's art url, or `\"\"` if none was provided.\n", + "flags": [ + "readonly" + ] + }, + "playbackState": { + "type": { + "type": "local", + "module": "Quickshell.Services.Mpris", + "name": "MprisPlaybackState" + }, + "details": "The playback state of the media player.\n\n- If TYPE99VcanPlay99Tprop99TYPE is false, you cannot assign the `Playing` state.\n- If TYPE99VcanPause99Tprop99TYPE is false, you cannot assign the `Paused` state.\n- If TYPE99VcanControl99Tprop99TYPE is false, you cannot assign the `Stopped` state.\n(or any of the others, though their repsective properties will also be false)\n" + }, + "canSeek": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "trackAlbumArtist": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The current track's album artist, or \"Unknown Artist\" if none was provided.\n", + "flags": [ + "readonly" + ] + }, + "length": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "The length of the playing track, as seconds, with millisecond precision,\nor the value of TYPE99Vposition99Tprop99TYPE if TYPE99VlengthSupported99Tprop99TYPE is false.\n", + "flags": [ + "readonly" + ] + }, + "trackTitle": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The title of the current track, or \"Unknown Track\" if none was provided.\n", + "flags": [ + "readonly" + ] + }, + "identity": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The human readable name of the media player.\n", + "flags": [ + "readonly" + ] + }, + "canGoPrevious": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "trackAlbum": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The current track's album, or \"Unknown Album\" if none was provided.\n", + "flags": [ + "readonly" + ] + }, + "maxRate": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "canTogglePlaying": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "shuffleSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "lengthSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "canQuit": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "volumeSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "desktopEntry": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The name of the desktop entry for the media player, or an empty string if not provided.\n", + "flags": [ + "readonly" + ] + }, + "fullscreen": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the player is currently shown in fullscreen.\n\nMay only be written to if TYPE99VcanSetFullscreen99Tprop99TYPE is true.\n" + }, + "shuffle": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the play queue is currently being shuffled, or false if TYPE99VshuffleSupported99Tprop99TYPE is false.\n\nMay only be written if TYPE99VcanControl99Tprop99TYPE and TYPE99VshuffleSupported99Tprop99TYPE are true.\n" + }, + "loopState": { + "type": { + "type": "local", + "module": "Quickshell.Services.Mpris", + "name": "MprisLoopState" + }, + "details": "The loop state of the media player, or `None` if TYPE99VloopSupported99Tprop99TYPE is false.\n\nMay only be written to if TYPE99VcanControl99Tprop99TYPE and TYPE99VloopSupported99Tprop99TYPE are true.\n" + }, + "volume": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "The volume of the playing track from 0.0 to 1.0, or 1.0 if TYPE99VvolumeSupported99Tprop99TYPE is false.\n\nMay only be written to if TYPE99VcanControl99Tprop99TYPE and TYPE99VvolumeSupported99Tprop99TYPE are true.\n" + }, + "canGoNext": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "supportedMimeTypes": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + "details": "Mime types supported by TYPE99VopenUri99Tfunc99TYPE.\n", + "flags": [ + "readonly" + ] + }, + "canPlay": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "canControl": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "metadata": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "Metadata of the current track.\n\nA map of common properties is available [here](https://www.freedesktop.org/wiki/Specifications/mpris-spec/metadata).\nDo not count on any of them actually being present.\n\nNote that the TYPE99VtrackTitle99Tprop99TYPE, TYPE99VtrackAlbum99Tprop99TYPE, TYPE99VtrackAlbumArtist99Tprop99TYPE, TYPE99VtrackArtists99Tprop99TYPE and TYPE99VtrackArtUrl99Tprop99TYPE\nproperties have extra logic to guard against bad players sending weird metadata, and should\nbe used over grabbing the properties directly from the metadata.\n", + "flags": [ + "readonly" + ] + }, + "rate": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "The speed the song is playing at, as a multiplier.\n\nOnly values between TYPE99VminRate99Tprop99TYPE and TYPE99VmaxRate99Tprop99TYPE (inclusive) may be written to the property.\nAdditionally, It is recommended that you only write common values such as `0.25`, `0.5`, `1.0`, `2.0`\nto the property, as media players are free to ignore the value, and are more likely to\naccept common ones.\n" + }, + "supportedUriSchemes": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + "details": "Uri schemes supported by TYPE99VopenUri99Tfunc99TYPE.\n", + "flags": [ + "readonly" + ] + }, + "trackArtists": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + "details": "The current track's artists, or an empty list if none were provided.\n", + "flags": [ + "readonly" + ] + }, + "uniqueId": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "An opaque identifier for the current track unique within the current player.\n\n> [!WARNING] This is NOT `mpris:trackid` as that is sometimes missing or nonunique\n> in some players.\n", + "flags": [ + "readonly" + ] + }, + "loopSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "position": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "The current position in the playing track, as seconds, with millisecond precision,\nor `0` if TYPE99VpositionSupported99Tprop99TYPE is false.\n\nMay only be written to if TYPE99VcanSeek99Tprop99TYPE and TYPE99VpositionSupported99Tprop99TYPE are true.\n\n> [!WARNING] To avoid excessive property updates wasting CPU while `position` is not\n> actively monitored, `position` usually will not update reactively, unless a nonlinear\n> change in position occurs, however reading it will always return the current position.\n>\n> If you want to actively monitor the position, the simplest way it to emit the TYPE99VpositionChanged99Tsignal99TYPE\n> signal manually for the duration you are monitoring it, Using a TYPE99MQT_qml_QtQuick99NFrameAnimation99TYPE if you need\n> the value to update smoothly, such as on a slider, or a TYPE99MQT_qml_QtQuick99NTimer99TYPE if not, as shown below.\n>\n> ```qml {filename=\"Using a FrameAnimation\"}\n> FrameAnimation {\n> // only emit the signal when the position is actually changing.\n> running: player.playbackState == MprisPlaybackState.Playing\n> // emit the positionChanged signal every frame.\n> onTriggered: player.positionChanged()\n> }\n> ```\n>\n> ```qml {filename=\"Using a Timer\"}\n> Timer {\n> // only emit the signal when the position is actually changing.\n> running: player.playbackState == MprisPlaybackState.Playing\n> // Make sure the position updates at least once per second.\n> interval: 1000\n> repeat: true\n> // emit the positionChanged signal every second.\n> onTriggered: player.positionChanged()\n> }\n> ```\n" + }, + "canRaise": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "positionSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "minRate": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "canPause": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "canSetFullscreen": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "next", + "id": "next", + "details": "Play the next song.\n\nMay only be called if TYPE99VcanGoNext99Tprop99TYPE is true.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "openUri", + "id": "openUri", + "details": "Open the given URI in the media player.\n\nMany players will silently ignore this, especially if the uri\ndoes not match TYPE99VsupportedUriSchemes99Tprop99TYPE and TYPE99VsupportedMimeTypes99Tprop99TYPE.\n", + "params": [ + { + "name": "uri", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "pause", + "id": "pause", + "details": "Equivalent to setting TYPE99VplaybackState99Tprop99TYPE to `Paused`.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "play", + "id": "play", + "details": "Equivalent to setting TYPE99VplaybackState99Tprop99TYPE to `Playing`.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "previous", + "id": "previous", + "details": "Play the previous song, or go back to the beginning of the current one.\n\nMay only be called if TYPE99VcanGoPrevious99Tprop99TYPE is true.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "quit", + "id": "quit", + "details": "Quit the media player.\n\nMay only be called if TYPE99VcanQuit99Tprop99TYPE is true.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "raise", + "id": "raise", + "details": "Bring the media player to the front of the window stack.\n\nMay only be called if TYPE99VcanRaise99Tprop99TYPE is true.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "seek", + "id": "seek", + "details": "Change `position` by an offset.\n\nEven if TYPE99VpositionSupported99Tprop99TYPE is false and you cannot set `position`,\nthis function may work.\n\nMay only be called if TYPE99VcanSeek99Tprop99TYPE is true.\n", + "params": [ + { + "name": "offset", + "type": { + "type": "qt", + "module": "qml", + "name": "real" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "stop", + "id": "stop", + "details": "Equivalent to setting TYPE99VplaybackState99Tprop99TYPE to `Stopped`.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "togglePlaying", + "id": "togglePlaying", + "details": "Equivalent to calling TYPE99Vplay99Tfunc99TYPE if not playing or TYPE99Vpause99Tfunc99TYPE if playing.\n\nMay only be called if TYPE99VcanTogglePlaying99Tprop99TYPE is true, which is equivalent to\nTYPE99VcanPlay99Tprop99TYPE or TYPE99VcanPause99Tfunc99TYPE depending on the current playback state.\n", + "params": [] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Mpris/index.json b/modules/Quickshell.Services.Mpris/index.json new file mode 100644 index 0000000..7bc13de --- /dev/null +++ b/modules/Quickshell.Services.Mpris/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Services.Mpris", + "description": "Mpris Service", + "details": "" +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Notifications/Notification.json b/modules/Quickshell.Services.Notifications/Notification.json new file mode 100644 index 0000000..d2e70d3 --- /dev/null +++ b/modules/Quickshell.Services.Notifications/Notification.json @@ -0,0 +1,236 @@ +{ + "name": "Notification", + "module": "Quickshell.Services.Notifications", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A notification emitted by a NotificationServer.", + "details": "A notification emitted by a NotificationServer.\n\n> [!NOTE] This type is TYPE99MQS_Quickshell99NRetainable99TYPE. It\n> can be retained after destruction if necessary.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "hasActionIcons": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If actions associated with this notification have icons available.\n\nSee TYPE99MQS_Quickshell_Services_Notifications99NNotificationAction99Videntifier99Tprop99TYPE for details.\n", + "flags": [ + "readonly" + ] + }, + "expireTimeout": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "Time in seconds the notification should be valid for\n", + "flags": [ + "readonly" + ] + }, + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "Id of the notification as given to the client.\n", + "flags": [ + "readonly" + ] + }, + "hints": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "All hints sent by the client application as a javascript object.\nMany common hints are exposed via other properties.\n", + "flags": [ + "readonly" + ] + }, + "transient": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If true, the notification should skip any kind of persistence function like a notification area.\n", + "flags": [ + "readonly" + ] + }, + "appName": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The sending application's name.\n", + "flags": [ + "readonly" + ] + }, + "body": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "lastGeneration": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If this notification was carried over from the last generation\nwhen quickshell reloaded.\n\nNotifications from the last generation will only be emitted\nif TYPE99MQS_Quickshell_Services_Notifications99NNotificationServer99VkeepOnReload99Tprop99TYPE is true.\n", + "flags": [ + "readonly" + ] + }, + "resident": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If true, the notification will not be destroyed after an action is invoked.\n", + "flags": [ + "readonly" + ] + }, + "summary": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The image associated with this notification, or \"\" if none.\n", + "flags": [ + "readonly" + ] + }, + "appIcon": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The sending application's icon. If none was provided, then the icon from an associated\ndesktop entry will be retrieved. If none was found then \"\".\n", + "flags": [ + "readonly" + ] + }, + "actions": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "local", + "module": "Quickshell.Services.Notifications", + "name": "NotificationAction" + } + }, + "details": "Actions that can be taken for this notification.\n", + "flags": [ + "readonly" + ] + }, + "tracked": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the notification is tracked by the notification server.\n\nSetting this property to false is equivalent to calling TYPE99Vdismiss99Tfunc99TYPE.\n" + }, + "urgency": { + "type": { + "type": "local", + "module": "Quickshell.Services.Notifications", + "name": "NotificationUrgency" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "desktopEntry": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The name of the sender's desktop entry or \"\" if none was supplied.\n", + "flags": [ + "readonly" + ] + }, + "image": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "An image associated with the notification.\n\nThis image is often something like a profile picture in instant messaging applications.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "dismiss", + "id": "dismiss", + "details": "Destroy the notification and hint to the remote application that it was\nexplicitly closed by the user.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "expire", + "id": "expire", + "details": "Destroy the notification and hint to the remote application that it has\ntimed out an expired.\n", + "params": [] + } + ], + "signals": { + "closed": { + "name": "closed", + "details": "Sent when a notification has been closed.\n\nThe notification object will be destroyed as soon as all signal handlers exit.\n", + "params": [ + { + "name": "reason", + "type": { + "type": "local", + "module": "Quickshell.Services.Notifications", + "name": "NotificationCloseReason" + } + } + ] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Notifications/NotificationAction.json b/modules/Quickshell.Services.Notifications/NotificationAction.json new file mode 100644 index 0000000..aceee5c --- /dev/null +++ b/modules/Quickshell.Services.Notifications/NotificationAction.json @@ -0,0 +1,54 @@ +{ + "name": "NotificationAction", + "module": "Quickshell.Services.Notifications", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "An action associated with a Notification.", + "details": "See TYPE99MQS_Quickshell_Services_Notifications99NNotification99Vactions99Tprop99TYPE.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "identifier": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The identifier of the action.\n\nWhen TYPE99MQS_Quickshell_Services_Notifications99NNotification99VhasActionIcons99Tprop99TYPE is true, this property will be an icon name.\nWhen it is false, this property is irrelevant.\n", + "flags": [ + "readonly" + ] + }, + "text": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The localized text that should be displayed on a button.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "invoke", + "id": "invoke", + "details": "Invoke the action. If TYPE99MQS_Quickshell_Services_Notifications99NNotification99Vresident99Tprop99TYPE is false it will be dismissed.\n", + "params": [] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Notifications/NotificationCloseReason.json b/modules/Quickshell.Services.Notifications/NotificationCloseReason.json new file mode 100644 index 0000000..b0be91d --- /dev/null +++ b/modules/Quickshell.Services.Notifications/NotificationCloseReason.json @@ -0,0 +1,50 @@ +{ + "name": "NotificationCloseReason", + "module": "Quickshell.Services.Notifications", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "The reason a Notification was closed.", + "details": "See TYPE99MQS_Quickshell_Services_Notifications99NNotification99Vclosed99Tsignal99TYPE.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell.Services.Notifications", + "name": "NotificationCloseReason" + } + } + ] + } + ], + "signals": {}, + "variants": { + "CloseRequested": { + "details": "The remote application requested the notification be removed.\n" + }, + "Expired": { + "details": "The notification expired due to a timeout.\n" + }, + "Dismissed": { + "details": "The notification was explicitly dismissed by the user.\n" + } + } +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Notifications/NotificationServer.json b/modules/Quickshell.Services.Notifications/NotificationServer.json new file mode 100644 index 0000000..40e3a39 --- /dev/null +++ b/modules/Quickshell.Services.Notifications/NotificationServer.json @@ -0,0 +1,133 @@ +{ + "name": "NotificationServer", + "module": "Quickshell.Services.Notifications", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Desktop Notifications Server.", + "details": "An implementation of the [Desktop Notifications Specification] for receiving notifications\nfrom external applications.\n\nThe server does not advertise most capabilities by default. See the individual properties for details.\n\n[Desktop Notifications Specification]: https://specifications.freedesktop.org/notification-spec/notification-spec-latest.html\n", + "properties": { + "actionIconsSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If notification actions should be advertised as supporting the display of icons. Defaults to false.\n" + }, + "trackedNotifications": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Services.Notifications", + "name": "Notification" + } + }, + "details": "All notifications currently tracked by the server.\n", + "flags": [ + "readonly" + ] + }, + "bodyHyperlinksSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If notification body text should be advertised as supporting hyperlinks as described in [the specification]\nDefaults to false.\n\nNote that returned notifications may still contain hyperlinks if this property is false, as it is only a hint.\n\n[the specification]: https://specifications.freedesktop.org/notification-spec/notification-spec-latest.html#hyperlinks\n" + }, + "extraHints": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + "details": "Extra hints to expose to notification clients.\n" + }, + "bodySupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If notification body text should be advertised as supported by the notification server.\nDefaults to true.\n\nNote that returned notifications are likely to return body text even if this property is false,\nas it is only a hint.\n" + }, + "actionsSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If notification actions should be advertised as supported by the notification server. Defaults to false.\n" + }, + "bodyImagesSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If notification body text should be advertised as supporting images as described in [the specification]\nDefaults to false.\n\nNote that returned notifications may still contain images if this property is false, as it is only a hint.\n\n[the specification]: https://specifications.freedesktop.org/notification-spec/notification-spec-latest.html#images\n" + }, + "bodyMarkupSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If notification body text should be advertised as supporting markup as described in [the specification]\nDefaults to false.\n\nNote that returned notifications may still contain markup if this property is false,\nas it is only a hint. By default Text objects will try to render markup. To avoid this\nif any is sent, change TYPE99MQT_qml_QtQuick99NText99VtextFormat99Tprop99TYPE to `PlainText`.\n" + }, + "imageSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the notification server should advertise that it supports images. Defaults to false.\n" + }, + "keepOnReload": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If notifications should be re-emitted when quickshell reloads. Defaults to true.\n\nThe TYPE99MQS_Quickshell_Services_Notifications99NNotification99VlastGeneration99Tprop99TYPE flag will be\nset on notifications from the prior generation for further filtering/handling.\n" + }, + "persistenceSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the notification server should advertise that it can persist notifications in the background\nafter going offscreen. Defaults to false.\n" + } + }, + "functions": [], + "signals": { + "notification": { + "name": "notification", + "details": "Sent when a notification is received by the server.\n\nIf this notification should not be discarded, set its `tracked` property to true.\n", + "params": [ + { + "name": "notification", + "type": { + "type": "local", + "module": "Quickshell.Services.Notifications", + "name": "Notification" + } + } + ] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Notifications/NotificationUrgency.json b/modules/Quickshell.Services.Notifications/NotificationUrgency.json new file mode 100644 index 0000000..ab3515b --- /dev/null +++ b/modules/Quickshell.Services.Notifications/NotificationUrgency.json @@ -0,0 +1,50 @@ +{ + "name": "NotificationUrgency", + "module": "Quickshell.Services.Notifications", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "The urgency level of a Notification.", + "details": "See TYPE99MQS_Quickshell_Services_Notifications99NNotification99Vurgency99Tprop99TYPE.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell.Services.Notifications", + "name": "NotificationUrgency" + } + } + ] + } + ], + "signals": {}, + "variants": { + "Low": { + "details": null + }, + "Normal": { + "details": null + }, + "Critical": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Notifications/index.json b/modules/Quickshell.Services.Notifications/index.json new file mode 100644 index 0000000..9fc06a1 --- /dev/null +++ b/modules/Quickshell.Services.Notifications/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Services.Notifications", + "description": "Types for implementing a notification daemon", + "details": "" +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Pam/PamContext.json b/modules/Quickshell.Services.Pam/PamContext.json new file mode 100644 index 0000000..c6ae47b --- /dev/null +++ b/modules/Quickshell.Services.Pam/PamContext.json @@ -0,0 +1,170 @@ +{ + "name": "PamContext", + "module": "Quickshell.Services.Pam", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Connection to pam.", + "details": "Connection to pam. See [the module documentation](../) for pam configuration advice.\n", + "properties": { + "user": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The user to authenticate as. If unset the current user will be used.\n\nThis property may not be set while TYPE99Vactive99Tprop99TYPE is true.\n" + }, + "responseRequired": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If pam currently wants a response.\n\nResponses can be returned with the TYPE99Vrespond99Tfunc99TYPE function.\n", + "flags": [ + "readonly" + ] + }, + "messageIsError": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the last message should be shown as an error.\n", + "flags": [ + "readonly" + ] + }, + "active": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the pam context is actively performing an authentication.\n\nSetting this value behaves exactly the same as calling TYPE99Vstart99Tfunc99TYPE and TYPE99Vabort99Tfunc99TYPE.\n" + }, + "configDirectory": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The pam configuration directory to use. Defaults to \"/etc/pam.d\".\n\nThe configuration directory is resolved relative to the current file if not an absolute path.\n\nThis property may not be set while TYPE99Vactive99Tprop99TYPE is true.\n" + }, + "message": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The last message sent by pam.\n", + "flags": [ + "readonly" + ] + }, + "config": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The pam configuration to use. Defaults to \"login\".\n\nThe configuration should name a file inside TYPE99VconfigDirectory99Tprop99TYPE.\n\nThis property may not be set while TYPE99Vactive99Tprop99TYPE is true.\n" + }, + "responseVisible": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the user's response should be visible. Only valid when TYPE99VresponseRequired99Tprop99TYPE is true.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "abort", + "id": "abort", + "details": "Abort a running authentication session.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "respond", + "id": "respond", + "details": "Respond to pam.\n\nMay not be called unless TYPE99VresponseRequired99Tprop99TYPE is true.\n", + "params": [ + { + "name": "response", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "name": "start", + "id": "start", + "details": "Start an authentication session. Returns if the session was started successfully.\n", + "params": [] + } + ], + "signals": { + "completed": { + "name": "completed", + "details": "Emitted whenever authentication completes.\n", + "params": [ + { + "name": "result", + "type": { + "type": "local", + "module": "Quickshell.Services.Pam", + "name": "PamResult" + } + } + ] + }, + "pamMessage": { + "name": "pamMessage", + "details": "Emitted whenever pam sends a new message, after the change signals for\n`message`, `messageIsError`, and `responseRequired`.\n", + "params": [] + }, + "error": { + "name": "error", + "details": "Emitted if pam fails to perform authentication normally.\n\nA `completed(PamResult.Error)` will be emitted after this event.\n", + "params": [ + { + "name": "error", + "type": { + "type": "local", + "module": "Quickshell.Services.Pam", + "name": "PamError" + } + } + ] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Pam/PamError.json b/modules/Quickshell.Services.Pam/PamError.json new file mode 100644 index 0000000..1974859 --- /dev/null +++ b/modules/Quickshell.Services.Pam/PamError.json @@ -0,0 +1,50 @@ +{ + "name": "PamError", + "module": "Quickshell.Services.Pam", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "An error that occurred during an authentication.", + "details": "See TYPE99MQS_Quickshell_Services_Pam99NPamContext99Verror99Tsignal99TYPE.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell.Services.Pam", + "name": "PamError" + } + } + ] + } + ], + "signals": {}, + "variants": { + "InternalError": { + "details": "An error occurred inside quickshell's pam interface.\n" + }, + "StartFailed": { + "details": "Failed to start the pam session.\n" + }, + "TryAuthFailed": { + "details": "Failed to try to authenticate the user.\nThis is not the same as the user failing to authenticate.\n" + } + } +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Pam/PamResult.json b/modules/Quickshell.Services.Pam/PamResult.json new file mode 100644 index 0000000..798182f --- /dev/null +++ b/modules/Quickshell.Services.Pam/PamResult.json @@ -0,0 +1,53 @@ +{ + "name": "PamResult", + "module": "Quickshell.Services.Pam", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "The result of an authentication.", + "details": "See TYPE99MQS_Quickshell_Services_Pam99NPamContext99Vcompleted99Tsignal99TYPE.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell.Services.Pam", + "name": "PamResult" + } + } + ] + } + ], + "signals": {}, + "variants": { + "MaxTries": { + "details": "The authentication method ran out of tries and should not be used again.\n" + }, + "Failed": { + "details": "Authentication failed.\n" + }, + "Success": { + "details": "Authentication was successful.\n" + }, + "Error": { + "details": "An error occurred while trying to authenticate.\n" + } + } +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Pam/index.json b/modules/Quickshell.Services.Pam/index.json new file mode 100644 index 0000000..95c0d57 --- /dev/null +++ b/modules/Quickshell.Services.Pam/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Services.Pam", + "description": "Pam authentication", + "details": "## Writing pam configurations\n\nIt is a good idea to write pam configurations specifically for quickshell\nif you want to do anything other than match the default login flow.\n\nA good example of this is having a configuration that allows entering a password\nor fingerprint in any order.\n\n### Structure of a pam configuration.\nPam configuration files are a list of rules, each on a new line in the following form:\n```\n [options]\n```\n\nEach line runs in order.\n\nPamContext currently only works with the `auth` type, as other types require root\naccess to check.\n\n#### Control flags\nThe control flags you're likely to use are `required` and `sufficient`.\n- `required` rules must pass for authentication to succeed.\n- `sufficient` rules will bypass any remaining rules and return on success.\n\nNote that you should have at least one required rule or pam will fail with an undocumented error.\n\n#### Modules\nPam works with a set of modules that handle various authentication mechanisms.\nSome common ones include `pam_unix.so` which handles passwords and `pam_fprintd.so`\nwhich handles fingerprints.\n\nThese modules have options but none are required for basic functionality.\n\n### Examples\n\nAuthenticate with only a password:\n```\nauth required pam_unix.so\n```\n\nAuthenticate with only a fingerprint:\n```\nauth required pam_fprintd.so\n```\n\nTry to authenticate with a fingerprint first, but if that fails fall back to a password:\n```\nauth sufficient pam_fprintd.so\nauth required pam_unix.so\n```\n\nRequire both a fingerprint and a password:\n```\nauth required pam_fprintd.so\nauth required pam_unix.so\n```\n\n\nSee also: [Oracle: PAM configuration file](https://docs.oracle.com/cd/E19683-01/816-4883/pam-32/index.html)" +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Pipewire/Pipewire.json b/modules/Quickshell.Services.Pipewire/Pipewire.json new file mode 100644 index 0000000..cc8b0fd --- /dev/null +++ b/modules/Quickshell.Services.Pipewire/Pipewire.json @@ -0,0 +1,90 @@ +{ + "name": "Pipewire", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Contains links to all pipewire objects.", + "details": "", + "flags": [ + "singleton" + ], + "properties": { + "defaultAudioSource": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNode" + }, + "details": "The default audio source or `null`.\n", + "flags": [ + "readonly" + ] + }, + "linkGroups": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwLinkGroup" + } + }, + "details": "All pipewire link groups.\n", + "flags": [ + "readonly" + ] + }, + "defaultAudioSink": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNode" + }, + "details": "The default audio sink or `null`.\n", + "flags": [ + "readonly" + ] + }, + "links": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwLink" + } + }, + "details": "All pipewire links.\n", + "flags": [ + "readonly" + ] + }, + "nodes": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNode" + } + }, + "details": "All pipewire nodes.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Pipewire/PwAudioChannel.json b/modules/Quickshell.Services.Pipewire/PwAudioChannel.json new file mode 100644 index 0000000..3593cd9 --- /dev/null +++ b/modules/Quickshell.Services.Pipewire/PwAudioChannel.json @@ -0,0 +1,164 @@ +{ + "name": "PwAudioChannel", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Audio channel of a pipewire node.", + "details": "See TYPE99MQS_Quickshell_Services_Pipewire99NPwNodeAudio99Vchannels99Tprop99TYPE.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": "Print a human readable representation of the given channel,\nincluding aux and custom channel ranges.\n", + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwAudioChannel" + } + } + ] + } + ], + "signals": {}, + "variants": { + "TopCenter": { + "details": null + }, + "Mono": { + "details": null + }, + "AuxRangeEnd": { + "details": "The end of the aux channel range.\n\nValues between AuxRangeStart and AuxRangeEnd are valid.\n" + }, + "TopRearLeft": { + "details": null + }, + "TopRearRight": { + "details": null + }, + "FrontLeftHigh": { + "details": null + }, + "RearRightCenter": { + "details": null + }, + "TopSideLeft": { + "details": null + }, + "LowFrequencyEffects": { + "details": null + }, + "FrontCenterHigh": { + "details": null + }, + "BottomRightCenter": { + "details": null + }, + "FrontCenter": { + "details": null + }, + "FrontRightCenter": { + "details": null + }, + "LowFrequencyEffectsRight": { + "details": null + }, + "RearLeft": { + "details": null + }, + "RearLeftCenter": { + "details": null + }, + "FrontLeftCenter": { + "details": null + }, + "RearRight": { + "details": null + }, + "FrontRightHigh": { + "details": null + }, + "TopFrontCenter": { + "details": null + }, + "Unknown": { + "details": null + }, + "TopFrontLeft": { + "details": null + }, + "BottomCenter": { + "details": null + }, + "TopFrontRightCenter": { + "details": null + }, + "FrontRightWide": { + "details": null + }, + "FrontRight": { + "details": null + }, + "LowFrequencyEffects2": { + "details": null + }, + "FrontLeftWide": { + "details": null + }, + "LowFrequencyEffectsLeft": { + "details": null + }, + "FrontLeft": { + "details": null + }, + "TopFrontRight": { + "details": null + }, + "SideLeft": { + "details": null + }, + "SideRight": { + "details": null + }, + "RearCenter": { + "details": null + }, + "TopFrontLeftCenter": { + "details": null + }, + "TopRearCenter": { + "details": null + }, + "AuxRangeStart": { + "details": "The start of the aux channel range.\n\nValues between AuxRangeStart and AuxRangeEnd are valid.\n" + }, + "TopSideRight": { + "details": null + }, + "NA": { + "details": null + }, + "BottomLeftCenter": { + "details": null + }, + "CustomRangeStart": { + "details": "The end of the custom channel range.\n\nValues starting at CustomRangeStart are valid.\n" + } + } +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Pipewire/PwLink.json b/modules/Quickshell.Services.Pipewire/PwLink.json new file mode 100644 index 0000000..2b863e2 --- /dev/null +++ b/modules/Quickshell.Services.Pipewire/PwLink.json @@ -0,0 +1,64 @@ +{ + "name": "PwLink", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A connection between pipewire nodes.", + "details": "Note that there is one link per *channel* of a connection between nodes.\nYou usually want TYPE99MQS_Quickshell_Services_Pipewire99NPwLinkGroup99TYPE.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "state": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwLinkState" + }, + "details": "The current state of the link.\n\n> [!WARNING] This property is invalid unless the node is [bound](../pwobjecttracker).\n", + "flags": [ + "readonly" + ] + }, + "source": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNode" + }, + "details": "The node that is *sending* information. (the source)\n", + "flags": [ + "readonly" + ] + }, + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "The pipewire object id of the link.\n\nMainly useful for debugging. you can inspect the link directly\nwith `pw-cli i `.\n", + "flags": [ + "readonly" + ] + }, + "target": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNode" + }, + "details": "The node that is *receiving* information. (the sink)\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Pipewire/PwLinkGroup.json b/modules/Quickshell.Services.Pipewire/PwLinkGroup.json new file mode 100644 index 0000000..9300642 --- /dev/null +++ b/modules/Quickshell.Services.Pipewire/PwLinkGroup.json @@ -0,0 +1,53 @@ +{ + "name": "PwLinkGroup", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A group of connections between pipewire nodes.", + "details": "A group of connections between pipewire nodes, one per source->target pair.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "target": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNode" + }, + "details": "The node that is *receiving* information. (the sink)\n", + "flags": [ + "readonly" + ] + }, + "source": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNode" + }, + "details": "The node that is *sending* information. (the source)\n", + "flags": [ + "readonly" + ] + }, + "state": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwLinkState" + }, + "details": "The current state of the link group.\n\n> [!WARNING] This property is invalid unless the node is [bound](../pwobjecttracker).\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Pipewire/PwLinkState.json b/modules/Quickshell.Services.Pipewire/PwLinkState.json new file mode 100644 index 0000000..870c64a --- /dev/null +++ b/modules/Quickshell.Services.Pipewire/PwLinkState.json @@ -0,0 +1,62 @@ +{ + "name": "PwLinkState", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "State of a pipewire link.", + "details": "See TYPE99MQS_Quickshell_Services_Pipewire99NPwLink99Vstate99Tprop99TYPE.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwLinkState" + } + } + ] + } + ], + "signals": {}, + "variants": { + "Unlinked": { + "details": null + }, + "Error": { + "details": null + }, + "Init": { + "details": null + }, + "Allocating": { + "details": null + }, + "Paused": { + "details": null + }, + "Negotiating": { + "details": null + }, + "Active": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Pipewire/PwNode.json b/modules/Quickshell.Services.Pipewire/PwNode.json new file mode 100644 index 0000000..aeb1508 --- /dev/null +++ b/modules/Quickshell.Services.Pipewire/PwNode.json @@ -0,0 +1,108 @@ +{ + "name": "PwNode", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A node in the pipewire connection graph.", + "details": "", + "flags": [ + "uncreatable" + ], + "properties": { + "nickname": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The node's nickname, corrosponding to the object's `node.nickname` property.\n\nMay be empty. Generally but not always more human readable than TYPE99Vdescription99Tprop99TYPE.\n", + "flags": [ + "readonly" + ] + }, + "audio": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNodeAudio" + }, + "details": "Extra information present only if the node sends or receives audio.\n", + "flags": [ + "readonly" + ] + }, + "isSink": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If `true`, then the node accepts audio input from other nodes,\nif `false` the node outputs audio to other nodes.\n", + "flags": [ + "readonly" + ] + }, + "isStream": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If `true` then the node is likely to be a program, if false it is liekly to be hardware.\n", + "flags": [ + "readonly" + ] + }, + "properties": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "The property set present on the node, as an object containing key-value pairs.\nYou can inspect this directly with `pw-cli i `.\n\nA few properties of note, which may or may not be present:\n- `application.name` - A suggested human readable name for the node.\n- `application.icon-name` - The name of an icon recommended to display for the node.\n- `media.name` - A description of the currently playing media.\n (more likely to be present than `media.title` and `media.artist`)\n- `media.title` - The title of the currently playing media.\n- `media.artist` - The artist of the currently playing media.\n\n> [!WARNING] This property is invalid unless the node is [bound](../pwobjecttracker).\n", + "flags": [ + "readonly" + ] + }, + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "The pipewire object id of the node.\n\nMainly useful for debugging. you can inspect the node directly\nwith `pw-cli i `.\n", + "flags": [ + "readonly" + ] + }, + "description": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The node's description, corrosponding to the object's `node.description` property.\n\nMay be empty. Generally more human readable than TYPE99Vname99Tprop99TYPE.\n", + "flags": [ + "readonly" + ] + }, + "name": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The node's name, corrosponding to the object's `node.name` property.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Pipewire/PwNodeAudio.json b/modules/Quickshell.Services.Pipewire/PwNodeAudio.json new file mode 100644 index 0000000..b20243b --- /dev/null +++ b/modules/Quickshell.Services.Pipewire/PwNodeAudio.json @@ -0,0 +1,65 @@ +{ + "name": "PwNodeAudio", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Audio specific properties of pipewire nodes.", + "details": "Extra properties of a TYPE99MQS_Quickshell_Services_Pipewire99NPwNode99TYPE if the node is an audio node.\n\nSee TYPE99MQS_Quickshell_Services_Pipewire99NPwNode99Vaudio99Tprop99TYPE.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "volume": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "The average volume over all channels of the node.\nSetting this property modifies the volume of all channels proportionately.\n\n> [!WARNING] This property is invalid unless the node is [bound](../pwobjecttracker).\n" + }, + "channels": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwAudioChannel" + } + }, + "details": "The audio channels present on the node.\n\n> [!WARNING] This property is invalid unless the node is [bound](../pwobjecttracker).\n", + "flags": [ + "readonly" + ] + }, + "muted": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the node is currently muted. Setting this property changes the mute state.\n\n> [!WARNING] This property is invalid unless the node is [bound](../pwobjecttracker).\n" + }, + "volumes": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "real" + } + }, + "details": "The volumes of each audio channel individually. Each entry corrosponds to\nthe volume of the channel at the same index in TYPE99Vchannels99Tprop99TYPE. TYPE99Vvolumes99Tprop99TYPE and TYPE99Vchannels99Tprop99TYPE\nwill always be the same length.\n\n> [!WARNING] This property is invalid unless the node is [bound](../pwobjecttracker).\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Pipewire/PwNodeLinkTracker.json b/modules/Quickshell.Services.Pipewire/PwNodeLinkTracker.json new file mode 100644 index 0000000..621f118 --- /dev/null +++ b/modules/Quickshell.Services.Pipewire/PwNodeLinkTracker.json @@ -0,0 +1,41 @@ +{ + "name": "PwNodeLinkTracker", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Tracks all link connections to a given node.", + "details": "", + "properties": { + "linkGroups": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwLinkGroup" + } + }, + "details": "Link groups connected to the given node.\n\nIf the node is a sink, links which target the node will be tracked.\nIf the node is a source, links which source the node will be tracked.\n", + "flags": [ + "readonly" + ] + }, + "node": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNode" + }, + "details": "The node to track connections to.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Pipewire/PwObjectTracker.json b/modules/Quickshell.Services.Pipewire/PwObjectTracker.json new file mode 100644 index 0000000..798a267 --- /dev/null +++ b/modules/Quickshell.Services.Pipewire/PwObjectTracker.json @@ -0,0 +1,30 @@ +{ + "name": "PwObjectTracker", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Binds pipewire objects.", + "details": "If the object list of at least one PwObjectTracker contains a given pipewire object,\nit will become *bound* and you will be able to interact with bound-only properties.\n", + "properties": { + "objects": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + "details": "The list of objects to bind.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.Pipewire/index.json b/modules/Quickshell.Services.Pipewire/index.json new file mode 100644 index 0000000..60832ec --- /dev/null +++ b/modules/Quickshell.Services.Pipewire/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Services.Pipewire", + "description": "Pipewire API", + "details": "" +} \ No newline at end of file diff --git a/modules/Quickshell.Services.SystemTray/SystemTray.json b/modules/Quickshell.Services.SystemTray/SystemTray.json new file mode 100644 index 0000000..a1939ff --- /dev/null +++ b/modules/Quickshell.Services.SystemTray/SystemTray.json @@ -0,0 +1,36 @@ +{ + "name": "SystemTray", + "module": "Quickshell.Services.SystemTray", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "System tray", + "details": "Referencing the SystemTray singleton will make quickshell start tracking\nsystem tray contents, which are updated as the tray changes, and can be\naccessed via the TYPE99Vitems99Tprop99TYPE property.\n", + "flags": [ + "singleton" + ], + "properties": { + "items": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Services.SystemTray", + "name": "SystemTrayItem" + } + }, + "details": "List of all system tray icons.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.SystemTray/SystemTrayCategory.json b/modules/Quickshell.Services.SystemTray/SystemTrayCategory.json new file mode 100644 index 0000000..ef47912 --- /dev/null +++ b/modules/Quickshell.Services.SystemTray/SystemTrayCategory.json @@ -0,0 +1,18 @@ +{ + "name": "SystemTrayCategory", + "module": "Quickshell.Services.SystemTray", + "type": "enum", + "description": "Category of a SystemTrayItem.", + "details": "See TYPE99MQS_Quickshell_Services_SystemTray99NSystemTrayItem99Vcategory99Tprop99TYPE.\n", + "variants": { + "Hardware": { + "details": "Hardware controls like battery indicators or volume control.\n" + }, + "ApplicationStatus": { + "details": "The fallback category for general applications or anything that does\nnot fit into a different category.\n" + }, + "SystemServices": { + "details": "System services such as IMEs or disk indexing.\n" + } + } +} \ No newline at end of file diff --git a/modules/Quickshell.Services.SystemTray/SystemTrayItem.json b/modules/Quickshell.Services.SystemTray/SystemTrayItem.json new file mode 100644 index 0000000..b9a357a --- /dev/null +++ b/modules/Quickshell.Services.SystemTray/SystemTrayItem.json @@ -0,0 +1,217 @@ +{ + "name": "SystemTrayItem", + "module": "Quickshell.Services.SystemTray", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "An item in the system tray.", + "details": "A system tray item, roughly conforming to the [kde/freedesktop spec]\n(there is no real spec, we just implemented whatever seemed to actually be used).\n\n[kde/freedesktop spec]: https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/StatusNotifierItem/\n", + "flags": [ + "uncreatable" + ], + "properties": { + "category": { + "type": { + "type": "local", + "module": "Quickshell.Services.SystemTray", + "name": "SystemTrayCategory" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "onlyMenu": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If this tray item only offers a menu and activation will do nothing.\n", + "flags": [ + "readonly" + ] + }, + "hasMenu": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If this tray item has an associated menu accessible via TYPE99Vdisplay99Tfunc99TYPE or TYPE99Vmenu99Tprop99TYPE.\n", + "flags": [ + "readonly" + ] + }, + "title": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Text that describes the application.\n", + "flags": [ + "readonly" + ] + }, + "menu": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "QsMenuHandle" + }, + "details": "A handle to the menu associated with this tray item, if any.\n\nCan be displayed with TYPE99MQS_Quickshell99NQsMenuAnchor99TYPE or TYPE99MQS_Quickshell99NQsMenuOpener99TYPE.\n", + "flags": [ + "readonly" + ] + }, + "tooltipTitle": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "status": { + "type": { + "type": "local", + "module": "Quickshell.Services.SystemTray", + "name": "SystemTrayStatus" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "tooltipDescription": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "A name unique to the application, such as its name.\n", + "flags": [ + "readonly" + ] + }, + "icon": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Icon source string, usable as an Image source.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "activate", + "id": "activate", + "details": "Primary activation action, generally triggered via a left click.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "display", + "id": "display", + "details": "Display a platform menu at the given location relative to the parent window.\n", + "params": [ + { + "name": "parentWindow", + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + { + "name": "relativeX", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + }, + { + "name": "relativeY", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "scroll", + "id": "scroll", + "details": "Scroll action, such as changing volume on a mixer.\n", + "params": [ + { + "name": "delta", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + }, + { + "name": "horizontal", + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "secondaryActivate", + "id": "secondaryActivate", + "details": "Secondary activation action, generally triggered via a middle click.\n", + "params": [] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.SystemTray/SystemTrayMenuWatcher.json b/modules/Quickshell.Services.SystemTray/SystemTrayMenuWatcher.json new file mode 100644 index 0000000..630bc7d --- /dev/null +++ b/modules/Quickshell.Services.SystemTray/SystemTrayMenuWatcher.json @@ -0,0 +1,36 @@ +{ + "name": "SystemTrayMenuWatcher", + "module": "Quickshell.Services.SystemTray", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Accessor for SystemTrayItem menus.", + "details": "> [!ERROR] Deprecated in favor of TYPE99MQS_Quickshell99NQsMenuOpener99Vmenu99Tprop99TYPE,\n> which now supports directly accessing a tray menu via TYPE99MQS_Quickshell_Services_SystemTray99NSystemTrayItem99Vmenu99Tprop99TYPE.\n\nSystemTrayMenuWatcher provides access to the associated\nTYPE99MQS_Quickshell_DBusMenu99NDBusMenuItem99TYPE for a tray item.\n", + "properties": { + "menu": { + "type": { + "type": "local", + "module": "Quickshell.DBusMenu", + "name": "DBusMenuItem" + }, + "details": "The menu associated with the tray item. Will be null if TYPE99VtrayItem99Tprop99TYPE is null\nor has no associated menu.\n", + "flags": [ + "readonly" + ] + }, + "trayItem": { + "type": { + "type": "local", + "module": "Quickshell.Services.SystemTray", + "name": "SystemTrayItem" + }, + "details": "The tray item to watch.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.SystemTray/SystemTrayStatus.json b/modules/Quickshell.Services.SystemTray/SystemTrayStatus.json new file mode 100644 index 0000000..1a2d22d --- /dev/null +++ b/modules/Quickshell.Services.SystemTray/SystemTrayStatus.json @@ -0,0 +1,18 @@ +{ + "name": "SystemTrayStatus", + "module": "Quickshell.Services.SystemTray", + "type": "enum", + "description": "Statis of a SystemTrayItem.", + "details": "See TYPE99MQS_Quickshell_Services_SystemTray99NSystemTrayItem99Vstatus99Tprop99TYPE.\n", + "variants": { + "Passive": { + "details": "A passive item does not convey important information and can be considered idle. You may want to hide these.\n" + }, + "NeedsAttention": { + "details": "An item that needs attention conveys very important information such as low battery.\n" + }, + "Active": { + "details": "An active item may have information more important than a passive one and you probably do not want to hide it.\n" + } + } +} \ No newline at end of file diff --git a/modules/Quickshell.Services.SystemTray/index.json b/modules/Quickshell.Services.SystemTray/index.json new file mode 100644 index 0000000..0efc2ec --- /dev/null +++ b/modules/Quickshell.Services.SystemTray/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Services.SystemTray", + "description": "Types for implementing a system tray", + "details": "" +} \ No newline at end of file diff --git a/modules/Quickshell.Services.UPower/UPower.json b/modules/Quickshell.Services.UPower/UPower.json new file mode 100644 index 0000000..57788a6 --- /dev/null +++ b/modules/Quickshell.Services.UPower/UPower.json @@ -0,0 +1,58 @@ +{ + "name": "UPower", + "module": "Quickshell.Services.UPower", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": null, + "flags": [ + "singleton" + ], + "properties": { + "devices": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Services.UPower", + "name": "UPowerDevice" + } + }, + "details": "All connected UPower devices.\n", + "flags": [ + "readonly" + ] + }, + "onBattery": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the system is currently running on battery power, or discharging.\n", + "flags": [ + "readonly" + ] + }, + "displayDevice": { + "type": { + "type": "local", + "module": "Quickshell.Services.UPower", + "name": "UPowerDevice" + }, + "details": "UPower's DisplayDevice for your system. Can be `null`.\n\nThis is an aggregate device and not a physical one, meaning you will not find it in TYPE99Vdevices99Tprop99TYPE.\nIt is typically the device that is used for displaying information in desktop environments.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.UPower/UPowerDevice.json b/modules/Quickshell.Services.UPower/UPowerDevice.json new file mode 100644 index 0000000..78e4bfe --- /dev/null +++ b/modules/Quickshell.Services.UPower/UPowerDevice.json @@ -0,0 +1,185 @@ +{ + "name": "UPowerDevice", + "module": "Quickshell.Services.UPower", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A device exposed through the UPower system service.", + "details": "", + "flags": [ + "uncreatable" + ], + "properties": { + "type": { + "type": { + "type": "local", + "module": "Quickshell.Services.UPower", + "name": "UPowerDeviceType" + }, + "details": "The type of device.\n", + "flags": [ + "readonly" + ] + }, + "healthSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "percentage": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "Current charge level as a percentage.\n\nThis would be equivalent to TYPE99Venergy99Tprop99TYPE / TYPE99VenergyCapacity99Tprop99TYPE.\n", + "flags": [ + "readonly" + ] + }, + "timeToEmpty": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "Estimated time until the device is fully discharged, in seconds.\n\nWill be set to `0` if charging.\n", + "flags": [ + "readonly" + ] + }, + "energy": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "Current energy level of the device in watt-hours.\n", + "flags": [ + "readonly" + ] + }, + "state": { + "type": { + "type": "local", + "module": "Quickshell.Services.UPower", + "name": "UPowerDeviceState" + }, + "details": "Current state of the device.\n", + "flags": [ + "readonly" + ] + }, + "isPresent": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the power source is present in the bay or slot, useful for hot-removable batteries.\n\nIf the device `type` is not `Battery`, then the property will be invalid.\n", + "flags": [ + "readonly" + ] + }, + "healthPercentage": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "Health of the device as a percentage of its original health.\n", + "flags": [ + "readonly" + ] + }, + "nativePath": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Native path of the device specific to your OS.\n", + "flags": [ + "readonly" + ] + }, + "energyCapacity": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "Maximum energy capacity of the device in watt-hours\n", + "flags": [ + "readonly" + ] + }, + "timeToFull": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "Estimated time until the device is fully charged, in seconds.\n\nWill be set to `0` if discharging.\n", + "flags": [ + "readonly" + ] + }, + "isLaptopBattery": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the device is a laptop battery or not. Use this to check if your device is a valid battery.\n\nThis will be equivalent to TYPE99Vtype99Tprop99TYPE == Battery && TYPE99VpowerSupply99Tprop99TYPE == true.\n", + "flags": [ + "readonly" + ] + }, + "changeRate": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "Rate of energy change in watts (positive when charging, negative when discharging).\n", + "flags": [ + "readonly" + ] + }, + "iconName": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Name of the icon representing the current state of the device, or an empty string if not provided.\n", + "flags": [ + "readonly" + ] + }, + "powerSupply": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the device is a power supply for your computer and can provide charge.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Services.UPower/UPowerDeviceState.json b/modules/Quickshell.Services.UPower/UPowerDeviceState.json new file mode 100644 index 0000000..67563f5 --- /dev/null +++ b/modules/Quickshell.Services.UPower/UPowerDeviceState.json @@ -0,0 +1,62 @@ +{ + "name": "UPowerDeviceState", + "module": "Quickshell.Services.UPower", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Power state of a UPower device.", + "details": "See TYPE99MQS_Quickshell_Services_UPower99NUPowerDevice99Vstate99Tprop99TYPE.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "status", + "type": { + "type": "local", + "module": "Quickshell.Services.UPower", + "name": "UPowerDeviceState" + } + } + ] + } + ], + "signals": {}, + "variants": { + "Empty": { + "details": null + }, + "Unknown": { + "details": null + }, + "Charging": { + "details": null + }, + "Discharging": { + "details": null + }, + "FullyCharged": { + "details": null + }, + "PendingCharge": { + "details": "The device is waiting to be charged after it was plugged in.\n" + }, + "PendingDischarge": { + "details": "The device is waiting to be discharged after being unplugged.\n" + } + } +} \ No newline at end of file diff --git a/modules/Quickshell.Services.UPower/UPowerDeviceType.json b/modules/Quickshell.Services.UPower/UPowerDeviceType.json new file mode 100644 index 0000000..8ad469f --- /dev/null +++ b/modules/Quickshell.Services.UPower/UPowerDeviceType.json @@ -0,0 +1,128 @@ +{ + "name": "UPowerDeviceType", + "module": "Quickshell.Services.UPower", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Type of a UPower device.", + "details": "See TYPE99MQS_Quickshell_Services_UPower99NUPowerDevice99Vtype99Tprop99TYPE.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "type", + "type": { + "type": "local", + "module": "Quickshell.Services.UPower", + "name": "UPowerDeviceType" + } + } + ] + } + ], + "signals": {}, + "variants": { + "Battery": { + "details": null + }, + "Speakers": { + "details": null + }, + "Phone": { + "details": null + }, + "GamingInput": { + "details": null + }, + "Headphones": { + "details": null + }, + "Camera": { + "details": null + }, + "Unknown": { + "details": null + }, + "Ups": { + "details": null + }, + "Mouse": { + "details": null + }, + "Pda": { + "details": null + }, + "MediaPlayer": { + "details": null + }, + "Touchpad": { + "details": null + }, + "OtherAudio": { + "details": null + }, + "RemoteControl": { + "details": null + }, + "Wearable": { + "details": null + }, + "Headset": { + "details": null + }, + "Network": { + "details": null + }, + "Tablet": { + "details": null + }, + "LinePower": { + "details": null + }, + "Printer": { + "details": null + }, + "Scanner": { + "details": null + }, + "Toy": { + "details": null + }, + "BluetoothGeneric": { + "details": null + }, + "Computer": { + "details": null + }, + "Video": { + "details": null + }, + "Keyboard": { + "details": null + }, + "Monitor": { + "details": null + }, + "Modem": { + "details": null + }, + "Pen": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules/Quickshell.Services.UPower/index.json b/modules/Quickshell.Services.UPower/index.json new file mode 100644 index 0000000..0e5ac33 --- /dev/null +++ b/modules/Quickshell.Services.UPower/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Services.UPower", + "description": "UPower Service", + "details": "" +} \ No newline at end of file diff --git a/modules/Quickshell.Wayland/Toplevel.json b/modules/Quickshell.Wayland/Toplevel.json new file mode 100644 index 0000000..4cf317c --- /dev/null +++ b/modules/Quickshell.Wayland/Toplevel.json @@ -0,0 +1,165 @@ +{ + "name": "Toplevel", + "module": "Quickshell.Wayland", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Window from another application.", + "details": "A window/toplevel from another application, retrievable from\nthe TYPE99MQS_Quickshell_Wayland99NToplevelManager99TYPE.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "fullscreen": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the window is currently fullscreen.\n\nFullscreen can be requested by setting this property, though it may\nbe ignored by the compositor.\nFullscreen can be requested on a specific screen with the TYPE99VfullscreenOn99Tfunc99TYPE function.\n" + }, + "parent": { + "type": { + "type": "local", + "module": "Quickshell.Wayland", + "name": "Toplevel" + }, + "details": "Parent toplevel if this toplevel is a modal/dialog, otherwise null.\n", + "flags": [ + "readonly" + ] + }, + "maximized": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the window is currently maximized.\n\nMaximization can be requested by setting this property, though it may\nbe ignored by the compositor.\n" + }, + "activated": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the window is currently activated or focused.\n\nActivation can be requested with the TYPE99Vactivate99Tfunc99TYPE function.\n", + "flags": [ + "readonly" + ] + }, + "title": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "minimized": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the window is currently minimized.\n\nMinimization can be requested by setting this property, though it may\nbe ignored by the compositor.\n" + }, + "appId": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "activate", + "id": "activate", + "details": "Request that this toplevel is activated.\nThe request may be ignored by the compositor.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "fullscreenOn", + "id": "fullscreenOn", + "details": "Request that this toplevel is fullscreened on a specific screen.\nThe request may be ignored by the compositor.\n", + "params": [ + { + "name": "screen", + "type": { + "type": "local", + "module": "Quickshell", + "name": "ShellScreen" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "setRectangle", + "id": "setRectangle", + "details": "Provide a hint to the compositor where the visual representation\nof this toplevel is relative to a quickshell window.\nThis hint can be used visually in operations like minimization.\n", + "params": [ + { + "name": "window", + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + { + "name": "rect", + "type": { + "type": "qt", + "module": "qml", + "name": "rect" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "unsetRectangle", + "id": "unsetRectangle", + "details": null, + "params": [] + } + ], + "signals": { + "closed": { + "name": "closed", + "details": null, + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Wayland/ToplevelManager.json b/modules/Quickshell.Wayland/ToplevelManager.json new file mode 100644 index 0000000..9b7d867 --- /dev/null +++ b/modules/Quickshell.Wayland/ToplevelManager.json @@ -0,0 +1,47 @@ +{ + "name": "ToplevelManager", + "module": "Quickshell.Wayland", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Exposes a list of Toplevels.", + "details": "Exposes a list of windows from other applications as TYPE99MQS_Quickshell_Wayland99NToplevel99TYPEs via the\n[zwlr-foreign-toplevel-management-v1](https://wayland.app/protocols/wlr-foreign-toplevel-management-unstable-v1)\nwayland protocol.\n", + "flags": [ + "singleton" + ], + "properties": { + "activeToplevel": { + "type": { + "type": "local", + "module": "Quickshell.Wayland", + "name": "Toplevel" + }, + "details": "Active toplevel or null.\n\n> [!NOTE] If multiple are active, this will be the most recently activated one.\n> Usually compositors will not report more than one toplevel as active at a time.\n", + "flags": [ + "readonly" + ] + }, + "toplevels": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Wayland", + "name": "Toplevel" + } + }, + "details": "All toplevel windows exposed by the compositor.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Wayland/WlSessionLock.json b/modules/Quickshell.Wayland/WlSessionLock.json new file mode 100644 index 0000000..6a6d653 --- /dev/null +++ b/modules/Quickshell.Wayland/WlSessionLock.json @@ -0,0 +1,47 @@ +{ + "name": "WlSessionLock", + "module": "Quickshell.Wayland", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Reloadable" + }, + "description": "Wayland session locker.", + "details": "Wayland session lock implemented using the [ext_session_lock_v1] protocol.\n\nWlSessionLock will create an instance of its `surface` component for every screen when\n`locked` is set to true. The `surface` component must create a TYPE99MQS_Quickshell_Wayland99NWlSessionLockSurface99TYPE\nwhich will be displayed on each screen.\n\nThe below example will create a session lock that disappears when the button is clicked.\n```qml\nWlSessionLock {\n id: lock\n\n WlSessionLockSurface {\n Button {\n text: \"unlock me\"\n onClicked: lock.locked = false\n }\n }\n}\n\n// ...\nlock.locked = true\n```\n\n> [!WARNING] If the WlSessionLock is destroyed or quickshell exits without setting `locked`\n> to false, conformant compositors will leave the screen locked and painted with a solid\n> color.\n>\n> This is what makes the session lock secure. The lock dying will not expose your session,\n> but it will render it inoperable.\n\n[ext_session_lock_v1]: https://wayland.app/protocols/ext-session-lock-v1\n", + "properties": { + "surface": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "Component" + }, + "details": "The surface that will be created for each screen. Must create a TYPE99MQS_Quickshell_Wayland99NWlSessionLockSurface99TYPE.\n", + "flags": [ + "default" + ] + }, + "locked": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "Controls the lock state.\n\n> [!WARNING] Only one WlSessionLock may be locked at a time. Attempting to enable a lock while\n> another lock is enabled will do nothing.\n" + }, + "secure": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "The compositor lock state.\n\nThis is set to true once the compositor has confirmed all screens are covered with locks.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Wayland/WlSessionLockSurface.json b/modules/Quickshell.Wayland/WlSessionLockSurface.json new file mode 100644 index 0000000..25cea26 --- /dev/null +++ b/modules/Quickshell.Wayland/WlSessionLockSurface.json @@ -0,0 +1,97 @@ +{ + "name": "WlSessionLockSurface", + "module": "Quickshell.Wayland", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Reloadable" + }, + "description": "Surface to display with a `WlSessionLock`.", + "details": "Surface displayed by a TYPE99MQS_Quickshell_Wayland99NWlSessionLock99TYPE when it is locked.\n", + "properties": { + "contentItem": { + "type": { + "type": "qt", + "module": "qml.QtQuick", + "name": "Item" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "height": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "screen": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ShellScreen" + }, + "details": "The screen that the surface is displayed on.\n", + "flags": [ + "readonly" + ] + }, + "visible": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the surface has been made visible.\n\nNote: SessionLockSurfaces will never become invisible, they will only be destroyed.\n", + "flags": [ + "readonly" + ] + }, + "color": { + "type": { + "type": "qt", + "module": "qml", + "name": "color" + }, + "details": "The background color of the window. Defaults to white.\n\n> [!WARNING] This seems to behave weirdly when using transparent colors on some systems.\n> Using a colored content item over a transparent window is the recommended way to work around this:\n> ```qml\n> ProxyWindow {\n> Rectangle {\n> anchors.fill: parent\n> color: \"#20ffffff\"\n>\n> // your content here\n> }\n> }\n> ```\n> ... but you probably shouldn't make a transparent lock,\n> and most compositors will ignore an attempt to do so.\n" + }, + "data": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + "details": null, + "flags": [ + "default", + "readonly" + ] + }, + "width": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Wayland/WlrKeyboardFocus.json b/modules/Quickshell.Wayland/WlrKeyboardFocus.json new file mode 100644 index 0000000..c3aa5c7 --- /dev/null +++ b/modules/Quickshell.Wayland/WlrKeyboardFocus.json @@ -0,0 +1,18 @@ +{ + "name": "WlrKeyboardFocus", + "module": "Quickshell.Wayland", + "type": "enum", + "description": "WlrLayershell keyboard focus mode", + "details": "See TYPE99MQS_Quickshell_Wayland99NWlrLayershell99VkeyboardFocus99Tprop99TYPE.\n", + "variants": { + "OnDemand": { + "details": "Access to the keyboard as determined by the operating system.\n\n> [!WARNING] On some systems, `OnDemand` may cause the shell window to\n> retain focus over another window unexpectedly.\n> You should try `None` if you experience issues.\n" + }, + "None": { + "details": "No keyboard input will be accepted.\n" + }, + "Exclusive": { + "details": "Exclusive access to the keyboard, locking out all other windows.\n\n> [!WARNING] You **CANNOT** use this to make a secure lock screen.\n>\n> If you want to make a lock screen, use TYPE99MQS_Quickshell_Wayland99NWlSessionLock99TYPE.\n" + } + } +} \ No newline at end of file diff --git a/modules/Quickshell.Wayland/WlrLayer.json b/modules/Quickshell.Wayland/WlrLayer.json new file mode 100644 index 0000000..e6654a4 --- /dev/null +++ b/modules/Quickshell.Wayland/WlrLayer.json @@ -0,0 +1,21 @@ +{ + "name": "WlrLayer", + "module": "Quickshell.Wayland", + "type": "enum", + "description": "WlrLayershell layer.", + "details": "See TYPE99MQS_Quickshell_Wayland99NWlrLayershell99Vlayer99Tprop99TYPE.\n", + "variants": { + "Background": { + "details": "Below bottom\n" + }, + "Top": { + "details": "Commonly used for panels, app launchers, and docks.\nUsually renders over normal windows and below fullscreen windows.\n" + }, + "Overlay": { + "details": "Usually renders over fullscreen windows\n" + }, + "Bottom": { + "details": "Above background, usually below windows\n" + } + } +} \ No newline at end of file diff --git a/modules/Quickshell.Wayland/WlrLayershell.json b/modules/Quickshell.Wayland/WlrLayershell.json new file mode 100644 index 0000000..237156e --- /dev/null +++ b/modules/Quickshell.Wayland/WlrLayershell.json @@ -0,0 +1,41 @@ +{ + "name": "WlrLayershell", + "module": "Quickshell.Wayland", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "PanelWindow" + }, + "description": "Wlroots layershell window", + "details": "Decorationless window that can be attached to the screen edges using the [zwlr_layer_shell_v1] protocol.\n\n#### Attached object\n`WlrLayershell` works as an attached object of TYPE99MQS_Quickshell99NPanelWindow99TYPE which you should use instead if you can,\nas it is platform independent.\n\n```qml\nPanelWindow {\n // When PanelWindow is backed with WlrLayershell this will work\n WlrLayershell.layer: WlrLayer.Bottom\n}\n```\n\nTo maintain platform compatibility you can dynamically set layershell specific properties.\n```qml\nPanelWindow {\n Component.onCompleted: {\n if (this.WlrLayershell != null) {\n this.WlrLayershell.layer = WlrLayer.Bottom;\n }\n }\n}\n```\n\n[zwlr_layer_shell_v1]: https://wayland.app/protocols/wlr-layer-shell-unstable-v1\n", + "properties": { + "keyboardFocus": { + "type": { + "type": "local", + "module": "Quickshell.Wayland", + "name": "WlrKeyboardFocus" + }, + "details": "The degree of keyboard focus taken. Defaults to `KeyboardFocus.None`.\n" + }, + "layer": { + "type": { + "type": "local", + "module": "Quickshell.Wayland", + "name": "WlrLayer" + }, + "details": "The shell layer the window sits in. Defaults to `WlrLayer.Top`.\n" + }, + "namespace": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Similar to the class property of windows. Can be used to identify the window to external tools.\n\nCannot be set after windowConnected.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell.Wayland/index.json b/modules/Quickshell.Wayland/index.json new file mode 100644 index 0000000..28c624f --- /dev/null +++ b/modules/Quickshell.Wayland/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Wayland", + "description": "Wayland specific Quickshell types", + "details": "" +} \ No newline at end of file diff --git a/modules/Quickshell/BoundComponent.json b/modules/Quickshell/BoundComponent.json new file mode 100644 index 0000000..30b304b --- /dev/null +++ b/modules/Quickshell/BoundComponent.json @@ -0,0 +1,74 @@ +{ + "name": "BoundComponent", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQuick", + "name": "Item" + }, + "description": "Component loader that allows setting initial properties.", + "details": "Component loader that allows setting initial properties, primarily useful for\nescaping cyclic dependency errors.\n\nProperties defined on the BoundComponent will be applied to its loaded component,\nincluding required properties, and will remain reactive. Functions created with\nthe names of signal handlers will also be attached to signals of the loaded component.\n\n```qml {filename=\"MyComponent.qml\"}\nMouseArea {\n required property color color;\n width: 100\n height: 100\n\n Rectangle {\n anchors.fill: parent\n color: parent.color\n }\n}\n```\n\n```qml\nBoundComponent {\n source: \"MyComponent.qml\"\n\n // this is the same as assigning to `color` on MyComponent if loaded normally.\n property color color: \"red\";\n\n // this will be triggered when the `clicked` signal from the MouseArea is sent.\n function onClicked() {\n color = \"blue\";\n }\n}\n```\n", + "properties": { + "implicitHeight": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "implicitWidth": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "item": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "details": "The loaded component. Will be null until it has finished loading.\n", + "flags": [ + "readonly" + ] + }, + "bindValues": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If property values should be bound after they are initially set. Defaults to `true`.\n" + }, + "source": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The source to load, as a Url.\n" + }, + "sourceComponent": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "Component" + }, + "details": "The source to load, as a Component.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/DesktopAction.json b/modules/Quickshell/DesktopAction.json new file mode 100644 index 0000000..07af8fb --- /dev/null +++ b/modules/Quickshell/DesktopAction.json @@ -0,0 +1,76 @@ +{ + "name": "DesktopAction", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": "An action of a TYPE99MQS_Quickshell99NDesktopEntry99TYPE.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "name": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "execString": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The raw `Exec` string from the desktop entry. You probably want TYPE99Vexecute99Tfunc99TYPE.\n", + "flags": [ + "readonly" + ] + }, + "icon": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "execute", + "id": "execute", + "details": "Run the application. Currently ignores TYPE99MQS_Quickshell99NDesktopEntry99VrunInTerminal99Tprop99TYPE and field codes.\n", + "params": [] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/DesktopEntries.json b/modules/Quickshell/DesktopEntries.json new file mode 100644 index 0000000..d74c3a8 --- /dev/null +++ b/modules/Quickshell/DesktopEntries.json @@ -0,0 +1,57 @@ +{ + "name": "DesktopEntries", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Desktop entry index.", + "details": "Index of desktop entries according to the [desktop entry specification].\n\nPrimarily useful for looking up icons and metadata from an id, as there is\ncurrently no mechanism for usage based sorting of entries and other launcher niceties.\n\n[desktop entry specification]: https://specifications.freedesktop.org/desktop-entry-spec/latest/\n", + "flags": [ + "singleton" + ], + "properties": { + "applications": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell", + "name": "DesktopEntry" + } + }, + "details": "All desktop entries of type Application that are not Hidden or NoDisplay.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "local", + "module": "Quickshell", + "name": "DesktopEntry" + }, + "name": "byId", + "id": "byId", + "details": "Look up a desktop entry by name. Includes NoDisplay entries. May return null.\n", + "params": [ + { + "name": "id", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/DesktopEntry.json b/modules/Quickshell/DesktopEntry.json new file mode 100644 index 0000000..f134ad0 --- /dev/null +++ b/modules/Quickshell/DesktopEntry.json @@ -0,0 +1,179 @@ +{ + "name": "DesktopEntry", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": "A desktop entry. See TYPE99MQS_Quickshell99NDesktopEntries99TYPE for details.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "name": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Name of the specific application, such as \"Firefox\".\n", + "flags": [ + "readonly" + ] + }, + "comment": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Long description of the application, such as \"View websites on the internet\". May be empty.\n", + "flags": [ + "readonly" + ] + }, + "execString": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The raw `Exec` string from the desktop entry. You probably want TYPE99Vexecute99Tfunc99TYPE.\n", + "flags": [ + "readonly" + ] + }, + "keywords": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "categories": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "runInTerminal": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the application should run in a terminal.\n", + "flags": [ + "readonly" + ] + }, + "workingDirectory": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The working directory to execute from.\n", + "flags": [ + "readonly" + ] + }, + "actions": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "local", + "module": "Quickshell", + "name": "DesktopAction" + } + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "icon": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Name of the icon associated with this application. May be empty.\n", + "flags": [ + "readonly" + ] + }, + "genericName": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Short description of the application, such as \"Web Browser\". May be empty.\n", + "flags": [ + "readonly" + ] + }, + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "noDisplay": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If true, this application should not be displayed in menus and launchers.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "execute", + "id": "execute", + "details": "Run the application. Currently ignores TYPE99VrunInTerminal99Tprop99TYPE and field codes.\n", + "params": [] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/EasingCurve.json b/modules/Quickshell/EasingCurve.json new file mode 100644 index 0000000..9f805b5 --- /dev/null +++ b/modules/Quickshell/EasingCurve.json @@ -0,0 +1,154 @@ +{ + "name": "EasingCurve", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Easing curve.", + "details": "Directly accessible easing curve as used in property animations.\n", + "properties": { + "curve": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "Easing curve settings. Works exactly the same as\n[PropertyAnimation.easing](https://doc.qt.io/qt-6/qml-qtquick-propertyanimation.html#easing-prop).\n" + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "name": "interpolate", + "id": "interpolate", + "details": "Interpolates between two values using the given X coordinate.\n", + "params": [ + { + "name": "x", + "type": { + "type": "qt", + "module": "qml", + "name": "real" + } + }, + { + "name": "a", + "type": { + "type": "qt", + "module": "qml", + "name": "real" + } + }, + { + "name": "b", + "type": { + "type": "qt", + "module": "qml", + "name": "real" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "point" + }, + "name": "interpolate", + "id": "interpolate", + "details": "Interpolates between two points using the given X coordinate.\n", + "params": [ + { + "name": "x", + "type": { + "type": "qt", + "module": "qml", + "name": "real" + } + }, + { + "name": "a", + "type": { + "type": "qt", + "module": "qml", + "name": "point" + } + }, + { + "name": "b", + "type": { + "type": "qt", + "module": "qml", + "name": "point" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "rect" + }, + "name": "interpolate", + "id": "interpolate", + "details": "Interpolates two rects using the given X coordinate.\n", + "params": [ + { + "name": "x", + "type": { + "type": "qt", + "module": "qml", + "name": "real" + } + }, + { + "name": "a", + "type": { + "type": "qt", + "module": "qml", + "name": "rect" + } + }, + { + "name": "b", + "type": { + "type": "qt", + "module": "qml", + "name": "rect" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "name": "valueAt", + "id": "valueAt", + "details": "Returns the Y value for the given X value on the curve\nfrom 0.0 to 1.0.\n", + "params": [ + { + "name": "x", + "type": { + "type": "qt", + "module": "qml", + "name": "real" + } + } + ] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/Edges.json b/modules/Quickshell/Edges.json new file mode 100644 index 0000000..8b32dbb --- /dev/null +++ b/modules/Quickshell/Edges.json @@ -0,0 +1,24 @@ +{ + "name": "Edges", + "module": "Quickshell", + "type": "enum", + "description": "Top Left Right Bottom flags.", + "details": "Edge flags can be combined with the `|` operator.\n", + "variants": { + "Top": { + "details": null + }, + "Left": { + "details": null + }, + "None": { + "details": null + }, + "Bottom": { + "details": null + }, + "Right": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules/Quickshell/ElapsedTimer.json b/modules/Quickshell/ElapsedTimer.json new file mode 100644 index 0000000..a4c56bf --- /dev/null +++ b/modules/Quickshell/ElapsedTimer.json @@ -0,0 +1,83 @@ +{ + "name": "ElapsedTimer", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Measures time between events", + "details": "The ElapsedTimer measures time since its last restart, and is useful\nfor determining the time between events that don't supply it.\n", + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "name": "elapsed", + "id": "elapsed", + "details": "Return the number of seconds since the timer was last\nstarted or restarted, with nanosecond precision.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "name": "elapsedMs", + "id": "elapsedMs", + "details": "Return the number of milliseconds since the timer was last\nstarted or restarted.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "name": "elapsedNs", + "id": "elapsedNs", + "details": "Return the number of nanoseconds since the timer was last\nstarted or restarted.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "name": "restart", + "id": "restart", + "details": "Restart the timer, returning the number of seconds since\nthe timer was last started or restarted, with nanosecond precision.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "name": "restartMs", + "id": "restartMs", + "details": "Restart the timer, returning the number of milliseconds since\nthe timer was last started or restarted.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "name": "restartNs", + "id": "restartNs", + "details": "Restart the timer, returning the number of nanoseconds since\nthe timer was last started or restarted.\n", + "params": [] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/ExclusionMode.json b/modules/Quickshell/ExclusionMode.json new file mode 100644 index 0000000..bc2b383 --- /dev/null +++ b/modules/Quickshell/ExclusionMode.json @@ -0,0 +1,18 @@ +{ + "name": "ExclusionMode", + "module": "Quickshell", + "type": "enum", + "description": "Panel exclusion mode", + "details": "See TYPE99MQS_Quickshell99NPanelWindow99VexclusionMode99Tprop99TYPE.\n", + "variants": { + "Auto": { + "details": "Decide the exclusion zone based on the window dimensions and anchors.\n\nWill attempt to reseve exactly enough space for the window and its margins if\nexactly 3 anchors are connected.\n" + }, + "Normal": { + "details": "Respect the exclusion zone of other shell layers and optionally set one\n" + }, + "Ignore": { + "details": "Ignore exclusion zones of other shell layers. You cannot set an exclusion zone in this mode.\n" + } + } +} \ No newline at end of file diff --git a/modules/Quickshell/FloatingWindow.json b/modules/Quickshell/FloatingWindow.json new file mode 100644 index 0000000..ec3ca0c --- /dev/null +++ b/modules/Quickshell/FloatingWindow.json @@ -0,0 +1,16 @@ +{ + "name": "FloatingWindow", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "QsWindow" + }, + "description": "Standard toplevel operating system window that looks like any other application.", + "details": "", + "properties": {}, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/Intersection.json b/modules/Quickshell/Intersection.json new file mode 100644 index 0000000..69de786 --- /dev/null +++ b/modules/Quickshell/Intersection.json @@ -0,0 +1,21 @@ +{ + "name": "Intersection", + "module": "Quickshell", + "type": "enum", + "description": "Intersection strategy for Regions.", + "details": "See TYPE99MQS_Quickshell99NRegion99Vintersection99Tprop99TYPE.\n", + "variants": { + "Intersect": { + "details": "Create an intersection of this region and the other, leaving only\nthe area covered by both. (opposite of `Xor`)\n" + }, + "Combine": { + "details": "Combine this region, leaving a union of this and the other region. (opposite of `Subtract`)\n" + }, + "Xor": { + "details": "Create an intersection of this region and the other, leaving only\nthe area not covered by both. (opposite of `Intersect`)\n" + }, + "Subtract": { + "details": "Subtract this region, cutting this region out of the other. (opposite of `Combine`)\n" + } + } +} \ No newline at end of file diff --git a/modules/Quickshell/LazyLoader.json b/modules/Quickshell/LazyLoader.json new file mode 100644 index 0000000..4c8a292 --- /dev/null +++ b/modules/Quickshell/LazyLoader.json @@ -0,0 +1,71 @@ +{ + "name": "LazyLoader", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Reloadable" + }, + "description": "Asynchronous component loader.", + "details": "The LazyLoader can be used to prepare components that don't need to be\ncreated immediately, such as windows that aren't visible until triggered\nby another action. It works on creating the component in the gaps between\nframe rendering to prevent blocking the interface thread.\nIt can also be used to preserve memory by loading components only\nwhen you need them and unloading them afterward.\n\nNote that when reloading the UI due to changes, lazy loaders will always\nload synchronously so windows can be reused.\n\n#### Example\nThe following example creates a PopupWindow asynchronously as the bar loads.\nThis means the bar can be shown onscreen before the popup is ready, however\ntrying to show the popup before it has finished loading in the background\nwill cause the UI thread to block.\n\n```qml\nimport QtQuick\nimport QtQuick.Controls\nimport Quickshell\n\nShellRoot {\n PanelWindow {\n id: window\n height: 50\n\n anchors {\n bottom: true\n left: true\n right: true\n }\n\n LazyLoader {\n id: popupLoader\n\n // start loading immediately\n loading: true\n\n // this window will be loaded in the background during spare\n // frame time unless active is set to true, where it will be\n // loaded in the foreground\n PopupWindow {\n // position the popup above the button\n parentWindow: window\n relativeX: window.width / 2 - width / 2\n relativeY: -height\n\n // some heavy component here\n\n width: 200\n height: 200\n }\n }\n\n Button {\n anchors.centerIn: parent\n text: \"show popup\"\n\n // accessing popupLoader.item will force the loader to\n // finish loading on the UI thread if it isn't finished yet.\n onClicked: popupLoader.item.visible = !popupLoader.item.visible\n }\n }\n}\n```\n\n> [!WARNING] Components that internally load other components must explicitly\n> support asynchronous loading to avoid blocking.\n>\n> Notably, TYPE99MQS_Quickshell99NVariants99TYPE does not corrently support asynchronous\n> loading, meaning using it inside a LazyLoader will block similarly to not\n> having a loader to start with.\n\n> [!WARNING] LazyLoaders do not start loading before the first window is created,\n> meaning if you create all windows inside of lazy loaders, none of them will ever load.\n", + "properties": { + "item": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "details": "The fully loaded item if the loader is TYPE99Vloading99Tprop99TYPE or TYPE99Vactive99Tprop99TYPE, or `null`\nif neither TYPE99Vloading99Tprop99TYPE nor TYPE99Vactive99Tprop99TYPE.\n\nNote that the item is owned by the LazyLoader, and destroying the LazyLoader\nwill destroy the item.\n\n> [!WARNING] If you access the `item` of a loader that is currently loading,\n> it will block as if you had set `active` to true immediately beforehand.\n>\n> You can instead set TYPE99Vloading99Tprop99TYPE and listen to TYPE99VactiveChanged99Tsignal99TYPE signal to\n> ensure loading happens asynchronously.\n", + "flags": [ + "readonly" + ] + }, + "source": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The URI to load the component from. Mutually exclusive to TYPE99Vcomponent99Tprop99TYPE.\n" + }, + "active": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the component is fully loaded.\n\nSetting this property to `true` will force the component to load to completion,\nblocking the UI, and setting it to `false` will destroy the component, requiring\nit to be loaded again.\n\nSee also: TYPE99VactiveAsync99Tprop99TYPE.\n" + }, + "loading": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the loader is actively loading.\n\nIf the component is not loaded, setting this property to true will start\nloading it asynchronously. If the component is already loaded, setting\nthis property has no effect.\n\nSee also: TYPE99VactiveAsync99Tprop99TYPE.\n" + }, + "activeAsync": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the component is fully loaded.\n\nSetting this property to true will asynchronously load the component similarly to\nTYPE99Vloading99Tprop99TYPE. Reading it or setting it to false will behanve\nthe same as TYPE99Vactive99Tprop99TYPE.\n" + }, + "component": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "Component" + }, + "details": "The component to load. Mutually exclusive to TYPE99Vsource99Tprop99TYPE.\n", + "flags": [ + "default" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/ObjectModel.json b/modules/Quickshell/ObjectModel.json new file mode 100644 index 0000000..15643b5 --- /dev/null +++ b/modules/Quickshell/ObjectModel.json @@ -0,0 +1,146 @@ +{ + "name": "ObjectModel", + "module": "Quickshell", + "type": "class", + "super": { + "type": "unknown", + "module": "", + "name": "" + }, + "description": "View into a list of objets", + "details": "Typed view into a list of objects.\n\nAn ObjectModel works as a QML [Data Model], allowing efficient interaction with\ncomponents that act on models. It has a single role named `modelData`, to match the\nbehavior of lists.\nThe same information contained in the list model is available as a normal list\nvia the `values` property.\n\n#### Differences from a list\nUnlike with a list, the following property binding will never be updated when `model[3]` changes.\n```qml\n// will not update reactively\nproperty var foo: model[3]\n```\n\nYou can work around this limitation using the TYPE99Vvalues99Tprop99TYPE property of the model to view it as a list.\n```qml\n// will update reactively\nproperty var foo: model.values[3]\n```\n\n[Data Model]: https://doc.qt.io/qt-6/qtquick-modelviewsdata-modelview.html#qml-data-models\n", + "flags": [ + "uncreatable" + ], + "properties": { + "values": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + "details": "The content of the object model, as a QML list.\nThe values of this property will always be of the type of the model.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "name": "indexOf", + "id": "indexOf", + "details": null, + "params": [ + { + "name": "object", + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + } + ] + } + ], + "signals": { + "objectInsertedPost": { + "name": "objectInsertedPost", + "details": "Sent immediately after an object is inserted into the list.\n", + "params": [ + { + "name": "object", + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + { + "name": "index", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + ] + }, + "objectInsertedPre": { + "name": "objectInsertedPre", + "details": "Sent immediately before an object is inserted into the list.\n", + "params": [ + { + "name": "object", + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + { + "name": "index", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + ] + }, + "objectRemovedPost": { + "name": "objectRemovedPost", + "details": "Sent immediately after an object is removed from the list.\n", + "params": [ + { + "name": "object", + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + { + "name": "index", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + ] + }, + "objectRemovedPre": { + "name": "objectRemovedPre", + "details": "Sent immediately before an object is removed from the list.\n", + "params": [ + { + "name": "object", + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + { + "name": "index", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + ] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/ObjectRepeater.json b/modules/Quickshell/ObjectRepeater.json new file mode 100644 index 0000000..ca6a9f2 --- /dev/null +++ b/modules/Quickshell/ObjectRepeater.json @@ -0,0 +1,35 @@ +{ + "name": "ObjectRepeater", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel" + }, + "description": "A Repeater / for loop / map for non Item derived objects.", + "details": "> [!CAUTION] Removed in favor of TYPE99MQT_qml_QtQml_Models99NInstantiator99TYPE\n\nThe ObjectRepeater creates instances of the provided delegate for every entry in the\ngiven model, similarly to a TYPE99MQT_qml_QtQuick99NRepeater99TYPE but for non visual types.\n", + "flags": ["uncreatable"], + "properties": { + "model": { + "type": { + "type": "qt", + "module": "qml", + "name": "variant" + }, + "details": "The model providing data to the ObjectRepeater.\n\nCurrently accepted model types are `list` lists, javascript arrays,\nand [QAbstractListModel] derived models, though only one column will be repeated\nfrom the latter.\n\nNote: TYPE99MQS_Quickshell99NObjectModel99TYPE is a [QAbstractListModel] with a single column.\n\n[QAbstractListModel]: https://doc.qt.io/qt-6/qabstractlistmodel.html\n" + }, + "delegate": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "Component" + }, + "details": "The delegate component to repeat.\n\nThe delegate is given the same properties as in a Repeater, except `index` which\nis not currently implemented.\n\nIf the model is a `list` or javascript array, a `modelData` property will be\nexposed containing the entry from the model. If the model is a [QAbstractListModel],\nthe roles from the model will be exposed.\n\nNote: TYPE99MQS_Quickshell99NObjectModel99TYPE has a single role named `modelData` for compatibility with normal lists.\n\n[QAbstractListModel]: https://doc.qt.io/qt-6/qabstractlistmodel.html\n", + "flags": ["default"] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} diff --git a/modules/Quickshell/PanelWindow.json b/modules/Quickshell/PanelWindow.json new file mode 100644 index 0000000..80401a5 --- /dev/null +++ b/modules/Quickshell/PanelWindow.json @@ -0,0 +1,103 @@ +{ + "name": "PanelWindow", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "QsWindow" + }, + "description": "Decorationless window attached to screen edges by anchors.", + "details": "Decorationless window attached to screen edges by anchors.\n\n#### Example\nThe following snippet creates a white bar attached to the bottom of the screen.\n\n```qml\nPanelWindow {\n anchors {\n left: true\n bottom: true\n right: true\n }\n\n Text {\n anchors.centerIn: parent\n text: \"Hello!\"\n }\n}\n```\n", + "properties": { + "exclusiveZone": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "The amount of space reserved for the shell layer relative to its anchors.\nSetting this property sets TYPE99VexclusionMode99Tprop99TYPE to `ExclusionMode.Normal`.\n\n> [!NOTE] Either 1 or 3 anchors are required for the zone to take effect.\n" + }, + "exclusionMode": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ExclusionMode" + }, + "details": "Defaults to `ExclusionMode.Auto`.\n" + }, + "margins": { + "type": { + "gadget": { + "left": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "bottom": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "right": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "top": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + }, + "details": "Offsets from the sides of the screen.\n\n> [!NOTE] Only applies to edges with anchors\n" + }, + "focusable": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the panel should accept keyboard focus. Defaults to false.\n\nNote: On Wayland this property corrosponds to TYPE99MQS_Quickshell_Wayland99NWlrLayershell99VkeyboardFocus99Tprop99TYPE.\n" + }, + "aboveWindows": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the panel should render above standard windows. Defaults to true.\n\nNote: On Wayland this property corrosponds to TYPE99MQS_Quickshell_Wayland99NWlrLayershell99Vlayer99Tprop99TYPE.\n" + }, + "anchors": { + "type": { + "gadget": { + "right": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "left": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "bottom": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "top": { + "type": "qt", + "module": "qml", + "name": "bool" + } + } + }, + "details": "Anchors attach a shell window to the sides of the screen.\nBy default all anchors are disabled to avoid blocking the entire screen due to a misconfiguration.\n\n> [!NOTE] When two opposite anchors are attached at the same time, the corrosponding dimension\n> (width or height) will be forced to equal the screen width/height.\n> Margins can be used to create anchored windows that are also disconnected from the monitor sides.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/PersistentProperties.json b/modules/Quickshell/PersistentProperties.json new file mode 100644 index 0000000..54beeca --- /dev/null +++ b/modules/Quickshell/PersistentProperties.json @@ -0,0 +1,27 @@ +{ + "name": "PersistentProperties", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Reloadable" + }, + "description": "Object that holds properties that can persist across a config reload.", + "details": "PersistentProperties holds properties declated in it across a reload, which is\noften useful for things like keeping expandable popups open and styling them.\n\nBelow is an example of using `PersistentProperties` to keep track of the state\nof an expandable panel. When the configuration is reloaded, the `expanderOpen` property\nwill be saved and the expandable panel will stay in the open/closed state.\n\n```qml\nPersistentProperties {\n id: persist\n reloadableId: \"persistedStates\"\n\n property bool expanderOpen: false\n}\n\nButton {\n id: expanderButton\n anchors.centerIn: parent\n text: \"toggle expander\"\n onClicked: persist.expanderOpen = !persist.expanderOpen\n}\n\nRectangle {\n anchors.top: expanderButton.bottom\n anchors.left: expanderButton.left\n anchors.right: expanderButton.right\n height: 100\n\n color: \"lightblue\"\n visible: persist.expanderOpen\n}\n```\n", + "properties": {}, + "functions": [], + "signals": { + "loaded": { + "name": "loaded", + "details": "Called every time the reload stage completes.\nWill be called every time, including when nothing was loaded from an old instance.\n", + "params": [] + }, + "reloaded": { + "name": "reloaded", + "details": "Called every time the properties are reloaded.\nWill not be called if no old instance was loaded.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/PopupAdjustment.json b/modules/Quickshell/PopupAdjustment.json new file mode 100644 index 0000000..0588352 --- /dev/null +++ b/modules/Quickshell/PopupAdjustment.json @@ -0,0 +1,42 @@ +{ + "name": "PopupAdjustment", + "module": "Quickshell", + "type": "enum", + "description": "Adjustment strategy for popups that do not fit on screen.", + "details": "Adjustment strategy for popups. See TYPE99MQS_Quickshell99NPopupAnchor99Vadjustment99Tprop99TYPE.\n\nAdjustment flags can be combined with the `|` operator.\n\n`Flip` will be applied first, then `Slide`, then `Resize`.\n", + "variants": { + "FlipY": { + "details": "If the Y axis is constrained, the popup will invert its vertical gravity if any.\n" + }, + "ResizeX": { + "details": "If the X axis is constrained, the width of the popup will be reduced to fit on screen.\n" + }, + "Resize": { + "details": "Alias for `ResizeX | ResizeY`\n" + }, + "ResizeY": { + "details": "If the Y axis is constrained, the height of the popup will be reduced to fit on screen.\n" + }, + "All": { + "details": "Alias for `Flip | Slide | Resize`.\n" + }, + "Slide": { + "details": "Alias for `SlideX | SlideY`.\n" + }, + "SlideX": { + "details": "If the X axis is constrained, the popup will slide along the X axis until it fits onscreen.\n" + }, + "SlideY": { + "details": "If the Y axis is constrained, the popup will slide along the Y axis until it fits onscreen.\n" + }, + "Flip": { + "details": "Alias for `FlipX | FlipY`.\n" + }, + "None": { + "details": null + }, + "FlipX": { + "details": "If the X axis is constrained, the popup will invert its horizontal gravity if any.\n" + } + } +} \ No newline at end of file diff --git a/modules/Quickshell/PopupAnchor.json b/modules/Quickshell/PopupAnchor.json new file mode 100644 index 0000000..79086f7 --- /dev/null +++ b/modules/Quickshell/PopupAnchor.json @@ -0,0 +1,89 @@ +{ + "name": "PopupAnchor", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Anchorpoint or positioner for popup windows.", + "details": "", + "flags": [ + "uncreatable" + ], + "properties": { + "edges": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "Edges" + }, + "details": "The point on the anchor rectangle the popup should anchor to.\nOpposing edges suchs as `Edges.Left | Edges.Right` are not allowed.\n\nDefaults to `Edges.Top | Edges.Left`.\n" + }, + "adjustment": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "PopupAdjustment" + }, + "details": "The strategy used to adjust the popup's position if it would otherwise not fit on screen,\nbased on the anchor TYPE99Vrect99Tprop99TYPE, preferred TYPE99Vedges99Tprop99TYPE, and TYPE99Vgravity99Tprop99TYPE.\n\nSee the documentation for TYPE99MQS_Quickshell99NPopupAdjustment99TYPE for details.\n" + }, + "gravity": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "Edges" + }, + "details": "The direction the popup should expand towards, relative to the anchorpoint.\nOpposing edges suchs as `Edges.Left | Edges.Right` are not allowed.\n\nDefaults to `Edges.Bottom | Edges.Right`.\n" + }, + "rect": { + "type": { + "gadget": { + "x": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "y": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "w": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "h": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "width": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "height": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + }, + "details": "The anchorpoints the popup will attach to. Which anchors will be used is\ndetermined by the TYPE99Vedges99Tprop99TYPE, TYPE99Vgravity99Tprop99TYPE, and TYPE99Vadjustment99Tprop99TYPE.\n\nIf you leave TYPE99Vedges99Tprop99TYPE, TYPE99Vgravity99Tprop99TYPE and TYPE99Vadjustment99Tprop99TYPE at their default values,\nsetting more than `x` and `y` does not matter.\n\n> [!NOTE] The anchor rect cannot be smaller than 1x1 pixels.\n" + }, + "window": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "details": "The window to anchor / attach the popup to.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/PopupWindow.json b/modules/Quickshell/PopupWindow.json new file mode 100644 index 0000000..7e21aeb --- /dev/null +++ b/modules/Quickshell/PopupWindow.json @@ -0,0 +1,71 @@ +{ + "name": "PopupWindow", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "QsWindow" + }, + "description": "Popup window.", + "details": "Popup window that can display in a position relative to a floating\nor panel window.\n\n#### Example\nThe following snippet creates a panel with a popup centered over it.\n\n```qml\nPanelWindow {\n id: toplevel\n\n anchors {\n bottom: true\n left: true\n right: true\n }\n\n PopupWindow {\n parentWindow: toplevel\n relativeX: parentWindow.width / 2 - width / 2\n relativeY: parentWindow.height\n width: 500\n height: 500\n visible: true\n }\n}\n```\n", + "properties": { + "parentWindow": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "details": "> [!CAUTION] Deprecated in favor of `anchor.window`.\n\nThe parent window of this popup.\n\nChanging this property reparents the popup.\n" + }, + "visible": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the window is shown or hidden. Defaults to false.\n\nThe popup will not be shown until TYPE99Vanchor99Tprop99TYPE is valid, regardless of this property.\n" + }, + "anchor": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "PopupAnchor" + }, + "details": "The popup's anchor / positioner relative to another window. The popup will not be\nshown until it has a valid anchor relative to a window and TYPE99Vvisible99Tprop99TYPE is true.\n\nYou can set properties of the anchor like so:\n```qml\nPopupWindow {\n anchor.window: parentwindow\n // or\n anchor {\n window: parentwindow\n }\n}\n```\n", + "flags": [ + "readonly" + ] + }, + "relativeX": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "> [!CAUTION] Deprecated in favor of `anchor.rect.x`.\n\nThe X position of the popup relative to the parent window.\n" + }, + "relativeY": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "> [!CAUTION] Deprecated in favor of `anchor.rect.y`.\n\nThe Y position of the popup relative to the parent window.\n" + }, + "screen": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ShellScreen" + }, + "details": "The screen that the window currently occupies.\n\nThis may be modified to move the window to the given screen.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} diff --git a/modules/Quickshell/QsMenuAnchor.json b/modules/Quickshell/QsMenuAnchor.json new file mode 100644 index 0000000..7faba2f --- /dev/null +++ b/modules/Quickshell/QsMenuAnchor.json @@ -0,0 +1,81 @@ +{ + "name": "QsMenuAnchor", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Display anchor for platform menus.", + "details": "", + "properties": { + "anchor": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "PopupAnchor" + }, + "details": "The menu's anchor / positioner relative to another window. The menu will not be\nshown until it has a valid anchor.\n\n> [!NOTE] *The following is subject to change and NOT a guarantee of future behavior.*\n>\n> A snapshot of the anchor at the time TYPE99Vopened99Tsignal99TYPE is emitted will be\n> used to position the menu. Additional changes to the anchor after this point\n> will not affect the placement of the menu.\n\nYou can set properties of the anchor like so:\n```qml\nQsMenuAnchor {\n anchor.window: parentwindow\n // or\n anchor {\n window: parentwindow\n }\n}\n```\n", + "flags": [ + "readonly" + ] + }, + "menu": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "QsMenuHandle" + }, + "details": "The menu that should be displayed on this anchor.\n\nSee also: TYPE99MQS_Quickshell_Services_SystemTray99NSystemTrayItem99Vmenu99Tprop99TYPE.\n" + }, + "visible": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the menu is currently open and visible.\n\nSee also: TYPE99Vopen99Tfunc99TYPE, TYPE99Vclose99Tfunc99TYPE.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "close", + "id": "close", + "details": "Close the open menu.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "open", + "id": "open", + "details": "Open the given menu on this menu Requires that TYPE99Vanchor99Tprop99TYPE is valid.\n", + "params": [] + } + ], + "signals": { + "closed": { + "name": "closed", + "details": "Sent when the menu is closed.\n", + "params": [] + }, + "opened": { + "name": "opened", + "details": "Sent when the menu is displayed onscreen which may be after TYPE99Vvisible99Tprop99TYPE\nbecomes true.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/QsMenuButtonType.json b/modules/Quickshell/QsMenuButtonType.json new file mode 100644 index 0000000..e76eb4b --- /dev/null +++ b/modules/Quickshell/QsMenuButtonType.json @@ -0,0 +1,50 @@ +{ + "name": "QsMenuButtonType", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Button type associated with a QsMenuEntry.", + "details": "See TYPE99MQS_Quickshell99NQsMenuEntry99VbuttonType99Tprop99TYPE.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell", + "name": "QsMenuButtonType" + } + } + ] + } + ], + "signals": {}, + "variants": { + "None": { + "details": "This menu item does not have a checkbox or a radiobutton associated with it.\n" + }, + "CheckBox": { + "details": "This menu item should draw a checkbox.\n" + }, + "RadioButton": { + "details": "This menu item should draw a radiobutton.\n" + } + } +} \ No newline at end of file diff --git a/modules/Quickshell/QsMenuEntry.json b/modules/Quickshell/QsMenuEntry.json new file mode 100644 index 0000000..cf680df --- /dev/null +++ b/modules/Quickshell/QsMenuEntry.json @@ -0,0 +1,140 @@ +{ + "name": "QsMenuEntry", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "QsMenuHandle" + }, + "description": null, + "details": null, + "flags": [ + "uncreatable" + ], + "properties": { + "enabled": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "hasChildren": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If this menu item has children that can be accessed through a TYPE99MQS_Quickshell99NQsMenuOpener99TYPE.\n", + "flags": [ + "readonly" + ] + }, + "isSeparator": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If this menu item should be rendered as a separator between other items.\n\nNo other properties have a meaningful value when TYPE99VisSeparator99Tprop99TYPE is true.\n", + "flags": [ + "readonly" + ] + }, + "buttonType": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "QsMenuButtonType" + }, + "details": "If this menu item has an associated checkbox or radiobutton.\n", + "flags": [ + "readonly" + ] + }, + "icon": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Url of the menu item's icon or `\"\"` if it doesn't have one.\n\nThis can be passed to [Image.source](https://doc.qt.io/qt-6/qml-qtquick-image.html#source-prop)\nas shown below.\n\n```qml\nImage {\n source: menuItem.icon\n // To get the best image quality, set the image source size to the same size\n // as the rendered image.\n sourceSize.width: width\n sourceSize.height: height\n}\n```\n", + "flags": [ + "readonly" + ] + }, + "checkState": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "The check state of the checkbox or radiobutton if applicable, as a\n[Qt.CheckState](https://doc.qt.io/qt-6/qt.html#CheckState-enum).\n", + "flags": [ + "readonly" + ] + }, + "text": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Text of the menu item.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "display", + "id": "display", + "details": "Display a platform menu at the given location relative to the parent window.\n", + "params": [ + { + "name": "parentWindow", + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + { + "name": "relativeX", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + }, + { + "name": "relativeY", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + ] + } + ], + "signals": { + "triggered": { + "name": "triggered", + "details": "Send a trigger/click signal to the menu entry.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/QsMenuHandle.json b/modules/Quickshell/QsMenuHandle.json new file mode 100644 index 0000000..309151d --- /dev/null +++ b/modules/Quickshell/QsMenuHandle.json @@ -0,0 +1,19 @@ +{ + "name": "QsMenuHandle", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Menu handle for QsMenuOpener", + "details": "See TYPE99MQS_Quickshell99NQsMenuOpener99TYPE.\n", + "flags": [ + "uncreatable" + ], + "properties": {}, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/QsMenuOpener.json b/modules/Quickshell/QsMenuOpener.json new file mode 100644 index 0000000..6c66941 --- /dev/null +++ b/modules/Quickshell/QsMenuOpener.json @@ -0,0 +1,41 @@ +{ + "name": "QsMenuOpener", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Provides access to children of a QsMenuEntry", + "details": "", + "properties": { + "menu": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "QsMenuHandle" + }, + "details": "The menu to retrieve children from.\n" + }, + "children": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "local", + "module": "Quickshell", + "name": "QsMenuEntry" + } + }, + "details": "The children of the given menu.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/QsWindow.json b/modules/Quickshell/QsWindow.json new file mode 100644 index 0000000..c71d246 --- /dev/null +++ b/modules/Quickshell/QsWindow.json @@ -0,0 +1,124 @@ +{ + "name": "QsWindow", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Reloadable" + }, + "description": "Base class of Quickshell windows", + "details": "Base class of Quickshell windows\n### Attached properties\n`QSWindow` can be used as an attached object of anything that subclasses TYPE99MQT_qml_QtQuick99NItem99TYPE.\nIt provides the following properties\n- `window` - the `QSWindow` object.\n- `contentItem` - the `contentItem` property of the window.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "mask": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "Region" + }, + "details": "The clickthrough mask. Defaults to null.\n\nIf non null then the clickable areas of the window will be determined by the provided region.\n\n```qml\nShellWindow {\n // The mask region is set to `rect`, meaning only `rect` is clickable.\n // All other clicks pass through the window to ones behind it.\n mask: Region { item: rect }\n\n Rectangle {\n id: rect\n\n anchors.centerIn: parent\n width: 100\n height: 100\n }\n}\n```\n\nIf the provided region's intersection mode is `Combine` (the default),\nthen the region will be used as is. Otherwise it will be applied on top of the window region.\n\nFor example, setting the intersection mode to `Xor` will invert the mask and make everything in\nthe mask region not clickable and pass through clicks inside it through the window.\n\n```qml\nShellWindow {\n // The mask region is set to `rect`, but the intersection mode is set to `Xor`.\n // This inverts the mask causing all clicks inside `rect` to be passed to the window\n // behind this one.\n mask: Region { item: rect; intersection: Intersection.Xor }\n\n Rectangle {\n id: rect\n\n anchors.centerIn: parent\n width: 100\n height: 100\n }\n}\n```\n" + }, + "height": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null + }, + "width": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null + }, + "windowTransform": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "details": "Opaque property that will receive an update when factors that affect the window's position\nand transform changed.\n\nThis property is intended to be used to force a binding update,\nalong with map[To|From]Item (which is not reactive).\n", + "flags": [ + "readonly" + ] + }, + "contentItem": { + "type": { + "type": "qt", + "module": "qml.QtQuick", + "name": "Item" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "screen": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ShellScreen" + }, + "details": "The screen that the window currently occupies.\n\nThis may be modified to move the window to the given screen.\n" + }, + "data": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + "details": null, + "flags": [ + "default", + "readonly" + ] + }, + "visible": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the window should be shown or hidden. Defaults to true.\n" + }, + "color": { + "type": { + "type": "qt", + "module": "qml", + "name": "color" + }, + "details": "The background color of the window. Defaults to white.\n\n> [!WARNING] This seems to behave weirdly when using transparent colors on some systems.\n> Using a colored content item over a transparent window is the recommended way to work around this:\n> ```qml\n> ProxyWindow {\n> color: \"transparent\"\n> Rectangle {\n> anchors.fill: parent\n> color: \"#20ffffff\"\n>\n> // your content here\n> }\n> }\n> ```\n" + }, + "backingWindowVisible": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the window is currently shown. You should generally prefer [visible](#prop.visible).\n\nThis property is useful for ensuring windows spawn in a specific order, and you should\nnot use it in place of [visible](#prop.visible).\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": { + "windowConnected": { + "name": "windowConnected", + "details": null, + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/Quickshell.json b/modules/Quickshell/Quickshell.json new file mode 100644 index 0000000..1a4f3ad --- /dev/null +++ b/modules/Quickshell/Quickshell.json @@ -0,0 +1,149 @@ +{ + "name": "Quickshell", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": null, + "flags": [ + "singleton" + ], + "properties": { + "screens": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "local", + "module": "Quickshell", + "name": "ShellScreen" + } + }, + "details": "All currently connected screens.\n\nThis property updates as connected screens change.\n\n#### Reusing a window on every screen\n```qml\nShellRoot {\n Variants {\n // see Variants for details\n variants: Quickshell.screens\n PanelWindow {\n property var modelData\n screen: modelData\n }\n }\n}\n```\n\nThis creates an instance of your window once on every screen.\nAs screens are added or removed your window will be created or destroyed on those screens.\n", + "flags": [ + "readonly" + ] + }, + "watchFiles": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If true then the configuration will be reloaded whenever any files change.\nDefaults to true.\n" + }, + "processId": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "Quickshell's process id.\n", + "flags": [ + "readonly" + ] + }, + "workingDirectory": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Quickshell's working directory. Defaults to whereever quickshell was launched from.\n" + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "variant" + }, + "name": "env", + "id": "env", + "details": "Returns the string value of an environment variable or null if it is not set.\n", + "params": [ + { + "name": "variable", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "iconPath", + "id": "iconPath", + "details": "Returns a string usable for a TYPE99MQT_qml_QtQuick99NImage99Vsource99Tprop99TYPE for a given system icon.\n", + "params": [ + { + "name": "icon", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "reload", + "id": "reload", + "details": "Reload the shell.\n\n`hard` - perform a hard reload. If this is false, Quickshell will attempt to reuse windows\nthat already exist. If true windows will be recreated.\n\nSee TYPE99MQS_Quickshell99NReloadable99TYPE for more information on what can be reloaded and how.\n", + "params": [ + { + "name": "hard", + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + } + } + ] + } + ], + "signals": { + "reloadCompleted": { + "name": "reloadCompleted", + "details": "The reload sequence has completed successfully.\n", + "params": [] + }, + "reloadFailed": { + "name": "reloadFailed", + "details": "The reload sequence has failed.\n", + "params": [ + { + "name": "errorString", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + }, + "lastWindowClosed": { + "name": "lastWindowClosed", + "details": "Sent when the last window is closed.\n\nTo make the application exit when the last window is closed run `Qt.quit()`.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/QuickshellSettings.json b/modules/Quickshell/QuickshellSettings.json new file mode 100644 index 0000000..e86e3c9 --- /dev/null +++ b/modules/Quickshell/QuickshellSettings.json @@ -0,0 +1,42 @@ +{ + "name": "QuickshellSettings", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Accessor for some options under the Quickshell type.", + "details": "", + "flags": [ + "uncreatable" + ], + "properties": { + "workingDirectory": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Quickshell's working directory. Defaults to whereever quickshell was launched from.\n" + }, + "watchFiles": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If true then the configuration will be reloaded whenever any files change.\nDefaults to true.\n" + } + }, + "functions": [], + "signals": { + "lastWindowClosed": { + "name": "lastWindowClosed", + "details": "Sent when the last window is closed.\n\nTo make the application exit when the last window is closed run `Qt.quit()`.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/Region.json b/modules/Quickshell/Region.json new file mode 100644 index 0000000..c240651 --- /dev/null +++ b/modules/Quickshell/Region.json @@ -0,0 +1,101 @@ +{ + "name": "Region", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A composable region used as a mask.", + "details": "See TYPE99MQS_Quickshell99NQsWindow99Vmask99Tprop99TYPE.\n", + "properties": { + "shape": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "RegionShape" + }, + "details": "Defaults to `Rect`.\n" + }, + "regions": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "local", + "module": "Quickshell", + "name": "Region" + } + }, + "details": "Regions to apply on top of this region.\n\nRegions can be nested to create a more complex region.\nFor example this will create a square region with a cutout in the middle.\n```qml\nRegion {\n width: 100; height: 100;\n\n Region {\n x: 50; y: 50;\n width: 50; height: 50;\n intersection: Intersection.Subtract\n }\n}\n```\n", + "flags": [ + "default", + "readonly" + ] + }, + "height": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "Defaults to 0. Does nothing if TYPE99Vitem99Tprop99TYPE is set.\n" + }, + "item": { + "type": { + "type": "qt", + "module": "qml.QtQuick", + "name": "Item" + }, + "details": "The item that determines the geometry of the region.\n`item` overrides TYPE99Vx99Tprop99TYPE, TYPE99Vy99Tprop99TYPE, TYPE99Vwidth99Tprop99TYPE and TYPE99Vheight99Tprop99TYPE.\n" + }, + "width": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "Defaults to 0. Does nothing if TYPE99Vitem99Tprop99TYPE is set.\n" + }, + "intersection": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "Intersection" + }, + "details": "The way this region interacts with its parent region. Defaults to `Combine`.\n" + }, + "x": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "Defaults to 0. Does nothing if TYPE99Vitem99Tprop99TYPE is set.\n" + }, + "y": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "Defaults to 0. Does nothing if TYPE99Vitem99Tprop99TYPE is set.\n" + } + }, + "functions": [], + "signals": { + "childrenChanged": { + "name": "childrenChanged", + "details": null, + "params": [] + }, + "changed": { + "name": "changed", + "details": null, + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/RegionShape.json b/modules/Quickshell/RegionShape.json new file mode 100644 index 0000000..1d2f279 --- /dev/null +++ b/modules/Quickshell/RegionShape.json @@ -0,0 +1,15 @@ +{ + "name": "RegionShape", + "module": "Quickshell", + "type": "enum", + "description": "Shape of a Region.", + "details": "See TYPE99MQS_Quickshell99NRegion99Vshape99Tprop99TYPE.\n", + "variants": { + "Rect": { + "details": null + }, + "Ellipse": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules/Quickshell/Reloadable.json b/modules/Quickshell/Reloadable.json new file mode 100644 index 0000000..eb9c632 --- /dev/null +++ b/modules/Quickshell/Reloadable.json @@ -0,0 +1,28 @@ +{ + "name": "Reloadable", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "The base class of all types that can be reloaded.", + "details": "Reloadables will attempt to take specific state from previous config revisions if possible.\nSome examples are TYPE99MQS_Quickshell99NProxyWindowBase99TYPE and TYPE99MQS_Quickshell99NPersistentProperties99TYPE\n", + "flags": [ + "uncreatable" + ], + "properties": { + "reloadableId": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "An additional identifier that can be used to try to match a reloadable object to its\nprevious state.\n\nSimply keeping a stable identifier across config versions (saves) is\nenough to help the reloader figure out which object in the old revision corrosponds to\nthis object in the current revision, and facilitate smoother reloading.\n\nNote that identifiers are scoped, and will try to do the right thing in context.\nFor example if you have a TYPE99MQS_Quickshell99NVariants99TYPE wrapping an object with an identified element inside,\na scope is created at the variant level.\n\n```qml\nVariants {\n // multiple variants of the same object tree\n variants: [ { foo: 1 }, { foo: 2 } ]\n\n // any non `Reloadable` object\n QtObject {\n FloatingWindow {\n // this FloatingWindow will now be matched to the same one in the previous\n // widget tree for its variant. \"myFloatingWindow\" refers to both the variant in\n // `foo: 1` and `foo: 2` for each tree.\n reloadableId: \"myFloatingWindow\"\n\n // ...\n }\n }\n}\n```\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/Retainable.json b/modules/Quickshell/Retainable.json new file mode 100644 index 0000000..b59fa05 --- /dev/null +++ b/modules/Quickshell/Retainable.json @@ -0,0 +1,76 @@ +{ + "name": "Retainable", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Attached object for types that can have delayed destruction.", + "details": "Retainable works as an attached property that allows objects to be\nkept around (retained) after they would normally be destroyed, which\nis especially useful for things like exit transitions.\n\nAn object that is retainable will have TYPE99MQS_Quickshell99NRetainable99TYPE as an attached property.\nAll retainable objects will say that they are retainable on their respective\ntypeinfo pages.\n\n> [!NOTE] Working directly with TYPE99MQS_Quickshell99NRetainable99TYPE is often overly complicated and\n> error prone. For this reason TYPE99MQS_Quickshell99NRetainableLock99TYPE should\n> usually be used instead.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "retained": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the object is currently in a retained state.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "forceUnlock", + "id": "forceUnlock", + "details": "Forcibly remove all locks, destroying the object.\n\nTYPE99Vunlock99Tfunc99TYPE should usually be preferred.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "lock", + "id": "lock", + "details": "Hold a lock on the object so it cannot be destroyed.\n\nA counter is used to ensure you can lock the object from multiple places\nand it will not be unlocked until the same number of unlocks as locks have occurred.\n\n> [!WARNING] It is easy to forget to unlock a locked object.\n> Doing so will create what is effectively a memory leak.\n>\n> Using TYPE99MQS_Quickshell99NRetainableLock99TYPE is recommended as it will help\n> avoid this scenario and make misuse more obvious.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "unlock", + "id": "unlock", + "details": "Remove a lock on the object. See TYPE99Vlock99Tfunc99TYPE for more information.\n", + "params": [] + } + ], + "signals": { + "dropped": { + "name": "dropped", + "details": "This signal is sent when the object would normally be destroyed.\n\nIf all signal handlers return and no locks are in place, the object will be destroyed.\nIf at least one lock is present the object will be retained until all are removed.\n", + "params": [] + }, + "aboutToDestroy": { + "name": "aboutToDestroy", + "details": "This signal is sent immediately before the object is destroyed.\nAt this point destruction cannot be interrupted.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/RetainableLock.json b/modules/Quickshell/RetainableLock.json new file mode 100644 index 0000000..5b26447 --- /dev/null +++ b/modules/Quickshell/RetainableLock.json @@ -0,0 +1,55 @@ +{ + "name": "RetainableLock", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A helper for easily using Retainable.", + "details": "A RetainableLock provides extra safety and ease of use for locking\nTYPE99MQS_Quickshell99NRetainable99TYPE objects. A retainable object can be locked by multiple\nlocks at once, and each lock re-exposes relevant properties\nof the retained objects.\n\n#### Example\nThe code below will keep a retainable object alive for as long as the\nRetainableLock exists.\n\n```qml\nRetainableLock {\n object: aRetainableObject\n locked: true\n}\n```\n", + "properties": { + "retained": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the object is currently in a retained state.\n", + "flags": [ + "readonly" + ] + }, + "object": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "details": "The object to lock. Must be TYPE99MQS_Quickshell99NRetainable99TYPE.\n" + }, + "locked": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the object should be locked.\n" + } + }, + "functions": [], + "signals": { + "dropped": { + "name": "dropped", + "details": "Rebroadcast of the object's TYPE99MQS_Quickshell99NRetainable99Vdropped99Tsignal99TYPE.\n", + "params": [] + }, + "aboutToDestroy": { + "name": "aboutToDestroy", + "details": "Rebroadcast of the object's TYPE99MQS_Quickshell99NRetainable99VaboutToDestroy99Tsignal99TYPE.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/Scope.json b/modules/Quickshell/Scope.json new file mode 100644 index 0000000..aa3057c --- /dev/null +++ b/modules/Quickshell/Scope.json @@ -0,0 +1,34 @@ +{ + "name": "Scope", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Reloadable" + }, + "description": "Scope that propagates reloads to child items in order.", + "details": "Convenience type equivalent to setting TYPE99MQS_Quickshell99NReloadable99VreloadableId99Tprop99TYPE for all children.\n\nNote that this does not work for visible TYPE99MQT_qml_QtQuick99NItem99TYPEs (all widgets).\n\n```qml\nShellRoot {\n Variants {\n variants: ...\n\n Scope {\n // everything in here behaves the same as if it was defined\n // directly in `Variants` reload-wise.\n }\n }\n}\n", + "properties": { + "children": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + "details": null, + "flags": [ + "default", + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/ShellRoot.json b/modules/Quickshell/ShellRoot.json new file mode 100644 index 0000000..d75b2da --- /dev/null +++ b/modules/Quickshell/ShellRoot.json @@ -0,0 +1,28 @@ +{ + "name": "ShellRoot", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Scope" + }, + "description": "Root config element", + "details": "", + "properties": { + "settings": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "QuickshellSettings" + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/ShellScreen.json b/modules/Quickshell/ShellScreen.json new file mode 100644 index 0000000..3a97194 --- /dev/null +++ b/modules/Quickshell/ShellScreen.json @@ -0,0 +1,142 @@ +{ + "name": "ShellScreen", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": "Monitor object useful for setting the monitor for a TYPE99MQS_Quickshell99NQsWindow99TYPE\nor querying information about the monitor.\n\n> [!WARNING] If the monitor is disconnected than any stored copies of its ShellMonitor will\n> be marked as dangling and all properties will return default values.\n> Reconnecting the monitor will not reconnect it to the ShellMonitor object.\n\nDue to some technical limitations, it was not possible to reuse the native qml TYPE99MQT_qml_QtQuick99NScreen99TYPE type.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "orientation": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "width": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "y": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "logicalPixelDensity": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "The number of device-independent (scaled) pixels per millimeter.\n", + "flags": [ + "readonly" + ] + }, + "physicalPixelDensity": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "The number of physical pixels per millimeter.\n", + "flags": [ + "readonly" + ] + }, + "x": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "devicePixelRatio": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "The ratio between physical pixels and device-independent (scaled) pixels.\n", + "flags": [ + "readonly" + ] + }, + "height": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "name": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The name of the screen as seen by the operating system.\n\nUsually something like `DP-1`, `HDMI-1`, `eDP-1`.\n", + "flags": [ + "readonly" + ] + }, + "primatyOrientation": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/Singleton.json b/modules/Quickshell/Singleton.json new file mode 100644 index 0000000..9651e88 --- /dev/null +++ b/modules/Quickshell/Singleton.json @@ -0,0 +1,16 @@ +{ + "name": "Singleton", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Scope" + }, + "description": "The root component for reloadable singletons.", + "details": "All singletons should inherit from this type.\n", + "properties": {}, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/SystemClock.json b/modules/Quickshell/SystemClock.json new file mode 100644 index 0000000..b684342 --- /dev/null +++ b/modules/Quickshell/SystemClock.json @@ -0,0 +1,79 @@ +{ + "name": "SystemClock", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "System clock accessor.", + "details": "", + "flags": [ + "enum" + ], + "properties": { + "precision": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "SystemClock" + }, + "details": "The precision the clock should measure at. Defaults to `SystemClock.Seconds`.\n" + }, + "minutes": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "The current minute, or 0 if TYPE99Vprecision99Tprop99TYPE is `SystemClock.Hours`.\n", + "flags": [ + "readonly" + ] + }, + "enabled": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the clock should update. Defaults to true.\n\nSetting enabled to false pauses the clock.\n" + }, + "hours": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "The current hour.\n", + "flags": [ + "readonly" + ] + }, + "seconds": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "The current second, or 0 if TYPE99Vprecision99Tprop99TYPE is `SystemClock.Hours` or `SystemClock.Minutes`.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": { + "Hours": { + "details": null + }, + "Seconds": { + "details": null + }, + "Minutes": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules/Quickshell/TransformWatcher.json b/modules/Quickshell/TransformWatcher.json new file mode 100644 index 0000000..170a2d1 --- /dev/null +++ b/modules/Quickshell/TransformWatcher.json @@ -0,0 +1,52 @@ +{ + "name": "TransformWatcher", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Monitor of all geometry changes between two objects.", + "details": "The TransformWatcher monitors all properties that affect the geometry\nof two TYPE99MQT_qml_QtQuick99NItem99TYPEs relative to eachother.\n\n> [!NOTE] The algorithm responsible for determining the relationship\n> between `a` and `b` is biased towards `a` being a parent of `b`,\n> or `a` being closer to the common parent of `a` and `b` than `b`.\n", + "properties": { + "a": { + "type": { + "type": "qt", + "module": "qml.QtQuick", + "name": "Item" + }, + "details": null + }, + "commonParent": { + "type": { + "type": "qt", + "module": "qml.QtQuick", + "name": "Item" + }, + "details": "Known common parent of both `a` and `b`. Defaults to `null`.\n\nThis property can be used to optimize the algorithm that figures out\nthe relationship between `a` and `b`. Setting it to something that is not\na common parent of both `a` and `b` will prevent the path from being determined\ncorrectly, and setting it to `null` will disable the optimization.\n" + }, + "b": { + "type": { + "type": "qt", + "module": "qml.QtQuick", + "name": "Item" + }, + "details": null + }, + "transform": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "details": "This property is updated whenever the geometry of any item in the path from `a` to `b` changes.\n\nIts value is undefined, and is intended to trigger an expression update.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/Variants.json b/modules/Quickshell/Variants.json new file mode 100644 index 0000000..9a1946c --- /dev/null +++ b/modules/Quickshell/Variants.json @@ -0,0 +1,57 @@ +{ + "name": "Variants", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Reloadable" + }, + "description": "Creates instances of a component based on a given model.", + "details": "Creates and destroys instances of the given component when the given property changes.\n\n`Variants` is similar to TYPE99MQT_qml_QtQuick99NRepeater99TYPE except it is for *non TYPE99MQT_qml_QtQuick99NItem99TYPE* objects, and acts as\na reload scope.\n\nEach non duplicate value passed to TYPE99Vmodel99Tprop99TYPE will create a new instance of\nTYPE99Vdelegate99Tprop99TYPE with a `modelData` property set to that value.\n\nSee TYPE99MQS_Quickshell99NQuickshell99Vscreens99Tprop99TYPE for an example of using `Variants` to create copies of a window per\nscreen.\n\n> [!WARNING] BUG: Variants currently fails to reload children if the variant set is changed as\n> it is instantiated. (usually due to a mutation during variant creation)\n", + "properties": { + "delegate": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "Component" + }, + "details": "The component to create instances of.\n\nThe delegate should define a `modelData` property that will be popuplated with a value\nfrom the TYPE99Vmodel99Tprop99TYPE.\n", + "flags": [ + "default" + ] + }, + "instances": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + "details": "Current instances of the delegate.\n", + "flags": [ + "readonly" + ] + }, + "model": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "variant" + } + }, + "details": "The list of sets of properties to create instances with.\nEach set creates an instance of the component, which are updated when the input sets update.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules/Quickshell/index.json b/modules/Quickshell/index.json new file mode 100644 index 0000000..64ddf82 --- /dev/null +++ b/modules/Quickshell/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell", + "description": "Core Quickshell types", + "details": "" +} \ No newline at end of file diff --git a/modules_old/Quickshell.DBusMenu/DBusMenuHandle.json b/modules_old/Quickshell.DBusMenu/DBusMenuHandle.json new file mode 100644 index 0000000..b76dcf5 --- /dev/null +++ b/modules_old/Quickshell.DBusMenu/DBusMenuHandle.json @@ -0,0 +1,31 @@ +{ + "name": "DBusMenuHandle", + "module": "Quickshell.DBusMenu", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Handle to a DBusMenu tree.", + "details": "Handle to a menu tree provided by a remote process.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "menu": { + "type": { + "type": "local", + "module": "Quickshell.DBusMenu", + "name": "DBusMenuItem" + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.DBusMenu/DBusMenuItem.json b/modules_old/Quickshell.DBusMenu/DBusMenuItem.json new file mode 100644 index 0000000..57cbbc6 --- /dev/null +++ b/modules_old/Quickshell.DBusMenu/DBusMenuItem.json @@ -0,0 +1,49 @@ +{ + "name": "DBusMenuItem", + "module": "Quickshell.DBusMenu", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "QsMenuEntry" + }, + "description": "Menu item shared by an external program.", + "details": "Menu item shared by an external program via the\n[DBusMenu specification](https://github.com/AyatanaIndicators/libdbusmenu/blob/master/libdbusmenu-glib/dbus-menu.xml).\n", + "flags": [ + "uncreatable" + ], + "properties": { + "menuHandle": { + "type": { + "type": "local", + "module": "Quickshell.DBusMenu", + "name": "DBusMenuHandle" + }, + "details": "Handle to the root of this menu.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "updateLayout", + "id": "updateLayout", + "details": "Refreshes the menu contents.\n\nUsually you shouldn't need to call this manually but some applications providing\nmenus do not update them correctly. Call this if menus don't update their state.\n\nThe {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"signal\" mname=\"layoutUpdated\" >}} signal will be sent when a response is received.\n", + "params": [] + } + ], + "signals": { + "layoutUpdated": { + "name": "layoutUpdated", + "details": null, + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.DBusMenu/index.json b/modules_old/Quickshell.DBusMenu/index.json new file mode 100644 index 0000000..a11eddc --- /dev/null +++ b/modules_old/Quickshell.DBusMenu/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.DBusMenu", + "description": "Types related to DBusMenu (used in system tray)", + "details": "" +} \ No newline at end of file diff --git a/modules_old/Quickshell.Hyprland/GlobalShortcut.json b/modules_old/Quickshell.Hyprland/GlobalShortcut.json new file mode 100644 index 0000000..df09fad --- /dev/null +++ b/modules_old/Quickshell.Hyprland/GlobalShortcut.json @@ -0,0 +1,71 @@ +{ + "name": "GlobalShortcut", + "module": "Quickshell.Hyprland", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Hyprland global shortcut.", + "details": "Global shortcut implemented with [hyprland_global_shortcuts_v1].\n\nYou can use this within hyprland as a global shortcut:\n```\nbind = , , global, :\n```\nSee [the wiki] for details.\n\n{{< callout type=\"warning\" >}}\n The shortcuts protocol does not allow duplicate appid + name pairs.\nWithin a single instance of quickshell this is handled internally, and both\nusers will be notified, but multiple instances of quickshell or XDPH may collide.\n\nIf that happens, whichever client that tries to register the shortcuts last will crash.\n{{< /callout >}}\n\n{{< callout type=\"info\" >}}\n This type does *not* use the xdg-desktop-portal global shortcuts protocol,\nas it is not fully functional without flatpak and would cause a considerably worse\nuser experience from other limitations. It will only work with Hyprland.\nNote that, as this type bypasses xdg-desktop-portal, XDPH is not required.\n{{< /callout >}}\n\n[hyprland_global_shortcuts_v1]: https://github.com/hyprwm/hyprland-protocols/blob/main/protocols/hyprland-global-shortcuts-v1.xml\n[the wiki]: https://wiki.hyprland.org/Configuring/Binds/#dbus-global-shortcuts\n", + "properties": { + "name": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The name of the shortcut.\nYou cannot change this at runtime.\n" + }, + "appid": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The appid of the shortcut. Defaults to `quickshell`.\nYou cannot change this at runtime.\n\nIf you have more than one shortcut we recommend subclassing\nGlobalShortcut to set this.\n" + }, + "description": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The description of the shortcut that appears in `hyprctl globalshortcuts`.\nYou cannot change this at runtime.\n" + }, + "pressed": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the keybind is currently pressed.\n", + "flags": [ + "readonly" + ] + }, + "triggerDescription": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Have not seen this used ever, but included for completeness. Safe to ignore.\n" + } + }, + "functions": [], + "signals": { + "pressed": { + "name": "pressed", + "details": "Fired when the keybind is pressed.\n", + "params": [] + }, + "released": { + "name": "released", + "details": "Fired when the keybind is released.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Hyprland/Hyprland.json b/modules_old/Quickshell.Hyprland/Hyprland.json new file mode 100644 index 0000000..795e936 --- /dev/null +++ b/modules_old/Quickshell.Hyprland/Hyprland.json @@ -0,0 +1,163 @@ +{ + "name": "Hyprland", + "module": "Quickshell.Hyprland", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": null, + "flags": [ + "singleton" + ], + "properties": { + "focusedMonitor": { + "type": { + "type": "local", + "module": "Quickshell.Hyprland", + "name": "HyprlandMonitor" + }, + "details": "The currently focused hyprland monitor. May be null.\n", + "flags": [ + "readonly" + ] + }, + "workspaces": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Hyprland", + "name": "HyprlandWorkspace" + } + }, + "details": "All hyprland workspaces.\n", + "flags": [ + "readonly" + ] + }, + "monitors": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Hyprland", + "name": "HyprlandMonitor" + } + }, + "details": "All hyprland monitors.\n", + "flags": [ + "readonly" + ] + }, + "requestSocketPath": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Path to the request socket (.socket.sock)\n", + "flags": [ + "readonly" + ] + }, + "eventSocketPath": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Path to the event socket (.socket2.sock)\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "dispatch", + "id": "dispatch", + "details": "Execute a hyprland [dispatcher](https://wiki.hyprland.org/Configuring/Dispatchers).\n", + "params": [ + { + "name": "request", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + }, + { + "ret": { + "type": "local", + "module": "Quickshell.Hyprland", + "name": "HyprlandMonitor" + }, + "name": "monitorFor", + "id": "monitorFor", + "details": "Get the HyprlandMonitor object that corrosponds to a quickshell screen.\n", + "params": [ + { + "name": "screen", + "type": { + "type": "local", + "module": "Quickshell", + "name": "ShellScreen" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "refreshMonitors", + "id": "refreshMonitors", + "details": "Refresh monitor information.\n\nMany actions that will invalidate monitor state don't send events,\nso this function is available if required.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "refreshWorkspaces", + "id": "refreshWorkspaces", + "details": "Refresh workspace information.\n\nMany actions that will invalidate workspace state don't send events,\nso this function is available if required.\n", + "params": [] + } + ], + "signals": { + "rawEvent": { + "name": "rawEvent", + "details": "Emitted for every event that comes in through the hyprland event socket (socket2).\n\nSee [Hyprland Wiki: IPC](https://wiki.hyprland.org/IPC/) for a list of events.\n", + "params": [ + { + "name": "event", + "type": { + "type": "local", + "module": "Quickshell.Hyprland", + "name": "HyprlandEvent" + } + } + ] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Hyprland/HyprlandEvent.json b/modules_old/Quickshell.Hyprland/HyprlandEvent.json new file mode 100644 index 0000000..9815b3a --- /dev/null +++ b/modules_old/Quickshell.Hyprland/HyprlandEvent.json @@ -0,0 +1,68 @@ +{ + "name": "HyprlandEvent", + "module": "Quickshell.Hyprland", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Live Hyprland IPC event.", + "details": "Live Hyprland IPC event. Holding this object after the\nsignal handler exits is undefined as the event instance\nis reused.\n\nEmitted by {{< qmltypelink type=\"local\" module=\"Quickshell.Hyprland\" name=\"Hyprland\" mtype=\"signal\" mname=\"rawEvent\" >}}.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "name": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The name of the event.\n\nSee [Hyprland Wiki: IPC](https://wiki.hyprland.org/IPC/) for a list of events.\n", + "flags": [ + "readonly" + ] + }, + "data": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The unparsed data of the event.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + "name": "parse", + "id": "parse", + "details": "Parse this event with a known number of arguments.\n\nArgument count is required as some events can contain commas\nin the last argument, which can be ignored as long as the count is known.\n", + "params": [ + { + "name": "argumentCount", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + ] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Hyprland/HyprlandFocusGrab.json b/modules_old/Quickshell.Hyprland/HyprlandFocusGrab.json new file mode 100644 index 0000000..29e988f --- /dev/null +++ b/modules_old/Quickshell.Hyprland/HyprlandFocusGrab.json @@ -0,0 +1,44 @@ +{ + "name": "HyprlandFocusGrab", + "module": "Quickshell.Hyprland", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Input focus grabber", + "details": "Object for managing input focus grabs via the [hyprland_focus_grab_v1]\nwayland protocol.\n\nWhen enabled, all of the windows listed in the `windows` property will\nreceive input normally, and will retain keyboard focus even if the mouse\nis moved off of them. When areas of the screen that are not part of a listed\nwindow are clicked or touched, the grab will become inactive and emit the\ncleared signal.\n\nThis is useful for implementing dismissal of popup type windows.\n```qml\nimport Quickshell\nimport Quickshell.Hyprland\nimport QtQuick.Controls\n\nShellRoot {\n FloatingWindow {\n id: window\n\n Button {\n anchors.centerIn: parent\n text: grab.active ? \"Remove exclusive focus\" : \"Take exclusive focus\"\n onClicked: grab.active = !grab.active\n }\n\n HyprlandFocusGrab {\n id: grab\n windows: [ window ]\n }\n }\n}\n```\n\n[hyprland_focus_grab_v1]: https://github.com/hyprwm/hyprland-protocols/blob/main/protocols/hyprland-global-shortcuts-v1.xml\n", + "properties": { + "windows": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + "details": "The list of windows to whitelist for input.\n" + }, + "active": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the focus grab is active. Defaults to false.\n\nWhen set to true, an input grab will be created for the listed windows.\n\nThis property will change to false once the grab is dismissed.\nIt will not change to true until the grab begins, which requires\nat least one visible window.\n" + } + }, + "functions": [], + "signals": { + "cleared": { + "name": "cleared", + "details": "Sent whenever the compositor clears the focus grab.\n\nThis may be in response to all windows being removed\nfrom the list or simultaneously hidden, in addition to\na normal clear.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Hyprland/HyprlandMonitor.json b/modules_old/Quickshell.Hyprland/HyprlandMonitor.json new file mode 100644 index 0000000..f0b0e53 --- /dev/null +++ b/modules_old/Quickshell.Hyprland/HyprlandMonitor.json @@ -0,0 +1,130 @@ +{ + "name": "HyprlandMonitor", + "module": "Quickshell.Hyprland", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": null, + "flags": [ + "uncreatable" + ], + "properties": { + "y": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "height": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "name": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "x": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "lastIpcObject": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "Last json returned for this monitor, as a javascript object.\n\n{{< callout type=\"warning\" >}}\n This is *not* updated unless the monitor object is fetched again from\nHyprland. If you need a value that is subject to change and does not have a dedicated\nproperty, run {{< qmltypelink type=\"local\" module=\"Quickshell.Hyprland\" name=\"Hyprland\" mtype=\"func\" mname=\"refreshMonitors\" >}} and wait for this property to update.\n\n{{< /callout >}}", + "flags": [ + "readonly" + ] + }, + "activeWorkspace": { + "type": { + "type": "local", + "module": "Quickshell.Hyprland", + "name": "HyprlandWorkspace" + }, + "details": "The currently active workspace on this monitor. May be null.\n", + "flags": [ + "readonly" + ] + }, + "description": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "scale": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "width": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Hyprland/HyprlandWorkspace.json b/modules_old/Quickshell.Hyprland/HyprlandWorkspace.json new file mode 100644 index 0000000..abf72cb --- /dev/null +++ b/modules_old/Quickshell.Hyprland/HyprlandWorkspace.json @@ -0,0 +1,64 @@ +{ + "name": "HyprlandWorkspace", + "module": "Quickshell.Hyprland", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": null, + "flags": [ + "uncreatable" + ], + "properties": { + "name": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "lastIpcObject": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "Last json returned for this workspace, as a javascript object.\n\n{{< callout type=\"warning\" >}}\n This is *not* updated unless the workspace object is fetched again from\nHyprland. If you need a value that is subject to change and does not have a dedicated\nproperty, run {{< qmltypelink type=\"local\" module=\"Quickshell.Hyprland\" name=\"Hyprland\" mtype=\"func\" mname=\"refreshWorkspaces\" >}} and wait for this property to update.\n\n{{< /callout >}}", + "flags": [ + "readonly" + ] + }, + "monitor": { + "type": { + "type": "local", + "module": "Quickshell.Hyprland", + "name": "HyprlandMonitor" + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Hyprland/index.json b/modules_old/Quickshell.Hyprland/index.json new file mode 100644 index 0000000..810dde5 --- /dev/null +++ b/modules_old/Quickshell.Hyprland/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Hyprland", + "description": "Hyprland specific Quickshell types", + "details": "" +} \ No newline at end of file diff --git a/modules_old/Quickshell.Io/DataStream.json b/modules_old/Quickshell.Io/DataStream.json new file mode 100644 index 0000000..54fcc98 --- /dev/null +++ b/modules_old/Quickshell.Io/DataStream.json @@ -0,0 +1,28 @@ +{ + "name": "DataStream", + "module": "Quickshell.Io", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Data source that can be streamed into a parser.", + "details": "See also: {{< qmltypelink type=\"local\" module=\"Quickshell.Io\" name=\"DataStreamParser\" mtype=\"\" mname=\"\" >}}\n", + "flags": [ + "uncreatable" + ], + "properties": { + "parser": { + "type": { + "type": "local", + "module": "Quickshell.Io", + "name": "DataStreamParser" + }, + "details": "The parser to stream data from this source into.\nIf the parser is null no data will be read.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Io/DataStreamParser.json b/modules_old/Quickshell.Io/DataStreamParser.json new file mode 100644 index 0000000..7227432 --- /dev/null +++ b/modules_old/Quickshell.Io/DataStreamParser.json @@ -0,0 +1,34 @@ +{ + "name": "DataStreamParser", + "module": "Quickshell.Io", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Parser for streamed input data.", + "details": "See also: {{< qmltypelink type=\"local\" module=\"Quickshell.Io\" name=\"DataStream\" mtype=\"\" mname=\"\" >}}, {{< qmltypelink type=\"local\" module=\"Quickshell.Io\" name=\"SplitParser\" mtype=\"\" mname=\"\" >}}.\n", + "flags": [ + "uncreatable" + ], + "properties": {}, + "functions": [], + "signals": { + "read": { + "name": "read", + "details": "Emitted when data is read from the stream.\n", + "params": [ + { + "name": "data", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Io/Process.json b/modules_old/Quickshell.Io/Process.json new file mode 100644 index 0000000..ca93eba --- /dev/null +++ b/modules_old/Quickshell.Io/Process.json @@ -0,0 +1,172 @@ +{ + "name": "Process", + "module": "Quickshell.Io", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Child process.", + "details": "#### Example\n```qml\nQS_Quickshell00Io_Process {\n running: true\n command: [ \"some-command\", \"arg\" ]\n stdout: QS_Quickshell00Io_SplitParser {\n onRead: data => console.log(`line read: ${data}`)\n }\n}\n```\n", + "properties": { + "running": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the process is currently running. Defaults to false.\n\nSetting this property to true will start the process if command has at least\none element.\nSetting it to false will send SIGTERM. To immediately kill the process,\nuse {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"signal\" >}} with SIGKILL. The process will be killed when\nquickshell dies.\n\nIf you want to run the process in a loop, use the onRunningChanged signal handler\nto restart the process.\n```qml\nQS_Quickshell00Io_Process {\n running: true\n onRunningChanged: if (!running) running = true\n}\n```\n" + }, + "workingDirectory": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The working directory of the process. Defaults to [quickshell's working directory].\n\nIf the process is already running changing this property will affect the next\nstarted process. If the property has been changed after starting a process it will\nreturn the new value, not the one for the currently running process.\n\n[quickshell's working directory]: ../../quickshell/quickshell#prop.workingDirectory\n" + }, + "manageLifetime": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the process should be killed when the Process object is destroyed or quickshell exits.\nDefaults to true.\n\nThis property may be changed while the process is running and will affect it.\n\n{{< callout type=\"warning\" >}}\n If set to false the process will still be killed if the quickshell config reloads.\nIt will not be killed if quickshell exits normally or crashes.\n\n{{< /callout >}}" + }, + "stderr": { + "type": { + "type": "local", + "module": "Quickshell.Io", + "name": "DataStreamParser" + }, + "details": "The parser for stderr. If the parser is null the process's stdout channel will be closed\nand no further data will be read, even if a new parser is attached.\n" + }, + "stdout": { + "type": { + "type": "local", + "module": "Quickshell.Io", + "name": "DataStreamParser" + }, + "details": "The parser for stdout. If the parser is null the process's stdout channel will be closed\nand no further data will be read, even if a new parser is attached.\n" + }, + "command": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + "details": "The command to execute. Each argument is its own string, which means you don't have\nto deal with quoting anything.\n\nIf the process is already running changing this property will affect the next\nstarted process. If the property has been changed after starting a process it will\nreturn the new value, not the one for the currently running process.\n\n{{< callout type=\"info\" >}}\n You can use `[\"sh\", \"-c\", ]` to execute your command with\nthe system shell.\n\n{{< /callout >}}" + }, + "environment": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "Environment of the executed process.\n\nThis is a javascript object (json). Environment variables can be added by setting\nthem to a string and removed by setting them to null (except when {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"clearEnvironment\" >}} is true,\nin which case this behavior is inverted, see {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"clearEnvironment\" >}} for details).\n\n\n```qml\nenvironment: ({\n ADDED: \"value\",\n REMOVED: null,\n \"i'm different\": \"value\",\n})\n```\n\n{{< callout type=\"info\" >}}\n You need to wrap the returned object in () otherwise it won't parse due to javascript ambiguity.\n{{< /callout >}}\n\nIf the process is already running changing this property will affect the next\nstarted process. If the property has been changed after starting a process it will\nreturn the new value, not the one for the currently running process.\n" + }, + "clearEnvironment": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the process's environment should be cleared prior to applying {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"environment\" >}}.\nDefaults to false.\n\nIf true, all environment variables will be removed before the {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"environment\" >}}\nobject is applied, meaning the variables listed will be the only ones visible to the process.\nThis changes the behavior of `null` to pass in the system value of the variable if present instead\nof removing it.\n\n```qml\nclearEnvironment: true\nenvironment: ({\n ADDED: \"value\",\n PASSED_FROM_SYSTEM: null,\n})\n```\n\nIf the process is already running changing this property will affect the next\nstarted process. If the property has been changed after starting a process it will\nreturn the new value, not the one for the currently running process.\n" + }, + "stdinEnabled": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If stdin is enabled. Defaults to false. If this property is false the process's stdin channel\nwill be closed and {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"write\" >}} will do nothing, even if set back to true.\n" + }, + "processId": { + "type": { + "type": "qt", + "module": "qml", + "name": "variant" + }, + "details": "The process ID of the running process or `null` if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"running\" >}} is false.\n", + "flags": ["readonly"] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "signal", + "id": "signal", + "details": "Sends a signal to the process if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"running\" >}} is true, otherwise does nothing.\n", + "params": [ + { + "name": "signal", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "write", + "id": "write", + "details": "Writes to the process's stdin. Does nothing if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"running\" >}} is false.\n", + "params": [ + { + "name": "data", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + } + ], + "signals": { + "exited": { + "name": "exited", + "details": null, + "params": [ + { + "name": "exitCode", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + }, + { + "name": "exitStatus", + "type": { + "type": "unknown", + "module": "", + "name": "" + } + } + ] + }, + "started": { + "name": "started", + "details": null, + "params": [] + } + }, + "variants": {} +} diff --git a/modules_old/Quickshell.Io/Socket.json b/modules_old/Quickshell.Io/Socket.json new file mode 100644 index 0000000..c0569a7 --- /dev/null +++ b/modules_old/Quickshell.Io/Socket.json @@ -0,0 +1,80 @@ +{ + "name": "Socket", + "module": "Quickshell.Io", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell.Io", + "name": "DataStream" + }, + "description": "Unix socket listener.", + "details": "", + "properties": { + "connected": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "Returns if the socket is currently connected.\n\nWriting to this property will set the target connection state and will not\nupdate the property immediately. Setting the property to false will begin disconnecting\nthe socket, and setting it to true will begin connecting the socket if path is not empty.\n" + }, + "path": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The path to connect this socket to when {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"connected\" >}} is set to true.\n\nChanging this property will have no effect while the connection is active.\n" + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "flush", + "id": "flush", + "details": "Flush any queued writes to the socket.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "write", + "id": "write", + "details": "Write data to the socket. Does nothing if not connected.\n\nRemember to call flush after your last write.\n", + "params": [ + { + "name": "data", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + } + ], + "signals": { + "error": { + "name": "error", + "details": "This signal is sent whenever a socket error is encountered.\n", + "params": [ + { + "name": "error", + "type": { + "type": "unknown", + "module": "", + "name": "" + } + } + ] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Io/SocketServer.json b/modules_old/Quickshell.Io/SocketServer.json new file mode 100644 index 0000000..d3e6f1f --- /dev/null +++ b/modules_old/Quickshell.Io/SocketServer.json @@ -0,0 +1,41 @@ +{ + "name": "SocketServer", + "module": "Quickshell.Io", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Unix socket server.", + "details": "#### Example\n```qml\nSocketServer {\n active: true\n path: \"/path/too/socket.sock\"\n handler: Socket {\n onConnectedChanged: {\n console.log(connected ? \"new connection!\" : \"connection dropped!\")\n }\n parser: SplitParser {\n onRead: message => console.log(`read message from socket: ${message}`)\n }\n }\n}\n```\n", + "properties": { + "active": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the socket server is currently active. Defaults to false.\n\nSetting this to false will destory all active connections and delete\nthe socket file on disk.\n\nIf path is empty setting this property will have no effect.\n" + }, + "handler": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "Component" + }, + "details": "Connection handler component. Must creeate a {{< qmltypelink type=\"local\" module=\"Quickshell.Io\" name=\"Socket\" mtype=\"\" mname=\"\" >}}.\n\nThe created socket should not set {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"connected\" >}} or {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"path\" >}} or the incoming\nsocket connection will be dropped (they will be set by the socket server.)\nSetting `connected` to false on the created socket after connection will\nclose and delete it.\n" + }, + "path": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The path to create the socket server at.\n\nSetting this property while the server is active will have no effect.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Io/SplitParser.json b/modules_old/Quickshell.Io/SplitParser.json new file mode 100644 index 0000000..1e5b1d7 --- /dev/null +++ b/modules_old/Quickshell.Io/SplitParser.json @@ -0,0 +1,25 @@ +{ + "name": "SplitParser", + "module": "Quickshell.Io", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell.Io", + "name": "DataStreamParser" + }, + "description": "Parser for delimited data streams.", + "details": "Parser for delimited data streams. {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"read\" >}} is emitted once per delimited chunk of the stream.\n", + "properties": { + "splitMarker": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The delimiter for parsed data. May be multiple characters. Defaults to `\\n`.\n\nIf the delimiter is empty read lengths may be arbitrary (whatever is returned by the\nunderlying read call.)\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Io/index.json b/modules_old/Quickshell.Io/index.json new file mode 100644 index 0000000..42bbdc6 --- /dev/null +++ b/modules_old/Quickshell.Io/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Io", + "description": "Io types", + "details": "" +} \ No newline at end of file diff --git a/modules_old/Quickshell.Service.SystemTray/SystemTray.json b/modules_old/Quickshell.Service.SystemTray/SystemTray.json new file mode 100644 index 0000000..00f7ce7 --- /dev/null +++ b/modules_old/Quickshell.Service.SystemTray/SystemTray.json @@ -0,0 +1,33 @@ +{ + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "System tray", + "details": "Referencing the SystemTray singleton will make quickshell start tracking\nsystem tray contents, which are updated as the tray changes, and can be\naccessed via the `items` property.\n", + "flags": [ + "singleton" + ], + "properties": { + "items": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "local", + "module": "Quickshell.Services.SystemTray", + "name": "SystemTrayItem" + } + }, + "details": "List of all system tray icons.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Service.SystemTray/SystemTrayCategory.json b/modules_old/Quickshell.Service.SystemTray/SystemTrayCategory.json new file mode 100644 index 0000000..ebbf935 --- /dev/null +++ b/modules_old/Quickshell.Service.SystemTray/SystemTrayCategory.json @@ -0,0 +1,16 @@ +{ + "type": "enum", + "description": null, + "details": null, + "variants": { + "ApplicationStatus": { + "details": "The fallback category for general applications or anything that does\nnot fit into a different category.\n" + }, + "SystemServices": { + "details": "System services such as IMEs or disk indexing.\n" + }, + "Hardware": { + "details": "Hardware controls like battery indicators or volume control.\n" + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Service.SystemTray/SystemTrayItem.json b/modules_old/Quickshell.Service.SystemTray/SystemTrayItem.json new file mode 100644 index 0000000..d0941d0 --- /dev/null +++ b/modules_old/Quickshell.Service.SystemTray/SystemTrayItem.json @@ -0,0 +1,156 @@ +{ + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "An item in the system tray.", + "details": "A system tray item, roughly conforming to the [kde/freedesktop spec]\n(there is no real spec, we just implemented whatever seemed to actually be used).\n\nThe associated context menu can be retrieved using a [SystemTrayMenuWatcher](../systemtraymenuwatcher).\n\n[kde/freedesktop spec]: https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/StatusNotifierItem/\n", + "flags": [ + "uncreatable" + ], + "properties": { + "onlyMenu": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If this tray item only offers a menu and activation will do nothing.\n", + "flags": [ + "readonly" + ] + }, + "status": { + "type": { + "type": "local", + "module": "Quickshell.Services.SystemTray", + "name": "SystemTrayStatus" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "A name unique to the application, such as its name.\n", + "flags": [ + "readonly" + ] + }, + "tooltipTitle": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "icon": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Icon source string, usable as an Image source.\n", + "flags": [ + "readonly" + ] + }, + "title": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Text that describes the application.\n", + "flags": [ + "readonly" + ] + }, + "category": { + "type": { + "type": "local", + "module": "Quickshell.Services.SystemTray", + "name": "SystemTrayCategory" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "tooltipDescription": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "activate", + "id": "activate)", + "details": "Primary activation action, generally triggered via a left click.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "scroll", + "id": "scroll(int_bool)", + "details": "Scroll action, such as changing volume on a mixer.\n", + "params": [ + { + "name": "delta", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + }, + { + "name": "horizontal", + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "secondaryActivate", + "id": "secondaryActivate)", + "details": "Secondary activation action, generally triggered via a middle click.\n", + "params": [] + } + ], + "signals": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Service.SystemTray/SystemTrayMenuWatcher.json b/modules_old/Quickshell.Service.SystemTray/SystemTrayMenuWatcher.json new file mode 100644 index 0000000..c3766e1 --- /dev/null +++ b/modules_old/Quickshell.Service.SystemTray/SystemTrayMenuWatcher.json @@ -0,0 +1,33 @@ +{ + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Accessor for SystemTrayItem menus.", + "details": "SystemTrayMenuWatcher provides access to the associated\n[DBusMenuItem](../../quickshell.dbusmenu/dbusmenuitem) for a tray item.\n", + "properties": { + "trayItem": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "The tray item to watch.\n" + }, + "menu": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "The menu associated with the tray item. Will be null if `trayItem` is null\nor has no associated menu.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Service.SystemTray/SystemTrayStatus.json b/modules_old/Quickshell.Service.SystemTray/SystemTrayStatus.json new file mode 100644 index 0000000..a03f53f --- /dev/null +++ b/modules_old/Quickshell.Service.SystemTray/SystemTrayStatus.json @@ -0,0 +1,16 @@ +{ + "type": "enum", + "description": null, + "details": null, + "variants": { + "NeedsAttention": { + "details": "An item that needs attention conveys very important information such as low battery.\n" + }, + "Passive": { + "details": "A passive item does not convey important information and can be considered idle. You may want to hide these.\n" + }, + "Active": { + "details": "An active item may have information more important than a passive one and you probably do not want to hide it.\n" + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Service.SystemTray/index.json b/modules_old/Quickshell.Service.SystemTray/index.json new file mode 100644 index 0000000..18ee297 --- /dev/null +++ b/modules_old/Quickshell.Service.SystemTray/index.json @@ -0,0 +1,4 @@ +{ + "description": "Types for implementing a system tray", + "details": "" +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Greetd/Greetd.json b/modules_old/Quickshell.Services.Greetd/Greetd.json new file mode 100644 index 0000000..8147252 --- /dev/null +++ b/modules_old/Quickshell.Services.Greetd/Greetd.json @@ -0,0 +1,291 @@ +{ + "name": "Greetd", + "module": "Quickshell.Services.Greetd", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": "This object provides access to a running greetd instance if present.\nWith it you can authenticate a user and launch a session.\n\nSee [the greetd wiki] for instructions on how to set up a graphical greeter.\n\n[the greetd wiki]: https://man.sr.ht/~kennylevinsen/greetd/#setting-up-greetd-with-gtkgreet\n", + "flags": [ + "singleton" + ], + "properties": { + "user": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The currently authenticating user.\n", + "flags": [ + "readonly" + ] + }, + "state": { + "type": { + "type": "local", + "module": "Quickshell.Services.Greetd", + "name": "GreetdState" + }, + "details": "The current state of the greetd connection.\n", + "flags": [ + "readonly" + ] + }, + "available": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the greetd socket is available.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "cancelSession", + "id": "cancelSession", + "details": "Cancel the active greetd session.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "createSession", + "id": "createSession", + "details": "Create a greetd session for the given user.\n", + "params": [ + { + "name": "user", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "launch", + "id": "launch", + "details": "Launch the session, exiting quickshell.\n{{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"state\" >}} must be `GreetdState.ReadyToLaunch` to call this function.\n", + "params": [ + { + "name": "command", + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "launch", + "id": "launch", + "details": "Launch the session, exiting quickshell.\n{{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"state\" >}} must be `GreetdState.ReadyToLaunch` to call this function.\n", + "params": [ + { + "name": "command", + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + }, + { + "name": "environment", + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "launch", + "id": "launch", + "details": "Launch the session, exiting quickshell if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"quit\" >}} is true.\n{{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"state\" >}} must be `GreetdState.ReadyToLaunch` to call this function.\n\nThe {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"launched\" >}} signal can be used to perform an action after greetd has acknowledged\nthe desired session.\n\n{{< callout type=\"warning\" >}}\n Note that greetd expects the greeter to terminate as soon as possible\nafter setting a target session, and waiting too long may lead to unexpected behavior\nsuch as the greeter restarting.\n\nPerforming animations and such should be done *before* calling {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"launch\" >}}.\n\n{{< /callout >}}", + "params": [ + { + "name": "command", + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + }, + { + "name": "environment", + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + }, + { + "name": "quit", + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "respond", + "id": "respond", + "details": "Respond to an authentication message.\n\nMay only be called in response to an {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"signal\" mname=\"authMessage\" >}} with `responseRequired` set to true.\n", + "params": [ + { + "name": "response", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + } + ], + "signals": { + "readyToLaunch": { + "name": "readyToLaunch", + "details": "Authentication has finished successfully and greetd can now launch a session.\n", + "params": [] + }, + "launched": { + "name": "launched", + "details": "Greetd has acknowledged the launch request and the greeter should quit as soon as possible.\n\nThis signal is sent right before quickshell exits automatically if the launch was not specifically\nrequested not to exit. You usually don't need to use this signal.\n", + "params": [] + }, + "authMessage": { + "name": "authMessage", + "details": "An authentication message has been sent by greetd.\n- `message` - the text of the message\n- `error` - if the message should be displayed as an error\n- `responseRequired` - if a response via `respond()` is required for this message\n- `echoResponse` - if the response should be displayed in clear text to the user\n\nNote that `error` and `responseRequired` are mutually exclusive.\n\nErrors are sent through `authMessage` when they are recoverable, such as a fingerprint scanner\nnot being able to read a finger correctly, while definite failures such as a bad password are\nsent through `authFailure`.\n", + "params": [ + { + "name": "message", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + { + "name": "error", + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + } + }, + { + "name": "responseRequired", + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + } + }, + { + "name": "echoResponse", + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + } + } + ] + }, + "error": { + "name": "error", + "details": "Greetd has encountered an error.\n", + "params": [ + { + "name": "error", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + }, + "authFailure": { + "name": "authFailure", + "details": "Authentication has failed an the session has terminated.\n\nUsually this is something like a timeout or a failed password entry.\n", + "params": [ + { + "name": "message", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Greetd/GreetdState.json b/modules_old/Quickshell.Services.Greetd/GreetdState.json new file mode 100644 index 0000000..29db930 --- /dev/null +++ b/modules_old/Quickshell.Services.Greetd/GreetdState.json @@ -0,0 +1,56 @@ +{ + "name": "GreetdState", + "module": "Quickshell.Services.Greetd", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "State of the Greetd connection.", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Greetd\" name=\"Greetd\" mtype=\"prop\" mname=\"state\" >}}.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell.Services.Greetd", + "name": "GreetdState" + } + } + ] + } + ], + "signals": {}, + "variants": { + "Inactive": { + "details": null + }, + "Launching": { + "details": null + }, + "ReadyToLaunch": { + "details": null + }, + "Authenticating": { + "details": null + }, + "Launched": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Greetd/index.json b/modules_old/Quickshell.Services.Greetd/index.json new file mode 100644 index 0000000..6b90007 --- /dev/null +++ b/modules_old/Quickshell.Services.Greetd/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Services.Greetd", + "description": "Greetd integration", + "details": "" +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Mpris/Mpris.json b/modules_old/Quickshell.Services.Mpris/Mpris.json new file mode 100644 index 0000000..86b392e --- /dev/null +++ b/modules_old/Quickshell.Services.Mpris/Mpris.json @@ -0,0 +1,36 @@ +{ + "name": "Mpris", + "module": "Quickshell.Services.Mpris", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": null, + "flags": [ + "singleton" + ], + "properties": { + "players": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Services.Mpris", + "name": "MprisPlayer" + } + }, + "details": "All connected MPRIS players.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Mpris/MprisLoopState.json b/modules_old/Quickshell.Services.Mpris/MprisLoopState.json new file mode 100644 index 0000000..442121a --- /dev/null +++ b/modules_old/Quickshell.Services.Mpris/MprisLoopState.json @@ -0,0 +1,50 @@ +{ + "name": "MprisLoopState", + "module": "Quickshell.Services.Mpris", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Loop state of an MprisPlayer", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Mpris\" name=\"MprisPlayer\" mtype=\"prop\" mname=\"loopState\" >}}.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "status", + "type": { + "type": "local", + "module": "Quickshell.Services.Mpris", + "name": "MprisLoopState" + } + } + ] + } + ], + "signals": {}, + "variants": { + "Playlist": { + "details": null + }, + "None": { + "details": null + }, + "Track": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Mpris/MprisPlaybackState.json b/modules_old/Quickshell.Services.Mpris/MprisPlaybackState.json new file mode 100644 index 0000000..87a4ff7 --- /dev/null +++ b/modules_old/Quickshell.Services.Mpris/MprisPlaybackState.json @@ -0,0 +1,50 @@ +{ + "name": "MprisPlaybackState", + "module": "Quickshell.Services.Mpris", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Playback state of an MprisPlayer", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Mpris\" name=\"MprisPlayer\" mtype=\"prop\" mname=\"playbackState\" >}}.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "status", + "type": { + "type": "local", + "module": "Quickshell.Services.Mpris", + "name": "MprisPlaybackState" + } + } + ] + } + ], + "signals": {}, + "variants": { + "Stopped": { + "details": null + }, + "Paused": { + "details": null + }, + "Playing": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Mpris/MprisPlayer.json b/modules_old/Quickshell.Services.Mpris/MprisPlayer.json new file mode 100644 index 0000000..8443b0a --- /dev/null +++ b/modules_old/Quickshell.Services.Mpris/MprisPlayer.json @@ -0,0 +1,534 @@ +{ + "name": "MprisPlayer", + "module": "Quickshell.Services.Mpris", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A media player exposed over MPRIS.", + "details": "A media player exposed over MPRIS.\n\n{{< callout type=\"warning\" >}}\n Support for various functionality and general compliance to\nthe MPRIS specification varies wildly by player.\nAlways check the associated `canXyz` and `xyzSupported` properties if available.\n{{< /callout >}}\n\n{{< callout type=\"info\" >}}\n The TrackList and Playlist interfaces were not implemented as we could not\nfind any media players using them to test against.\n\n{{< /callout >}}", + "flags": [ + "uncreatable" + ], + "properties": { + "desktopEntry": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The name of the desktop entry for the media player, or an empty string if not provided.\n", + "flags": [ + "readonly" + ] + }, + "maxRate": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "supportedUriSchemes": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + "details": "Uri schemes supported by {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"openUri\" >}}.\n", + "flags": [ + "readonly" + ] + }, + "fullscreen": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the player is currently shown in fullscreen.\n\nMay only be written to if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"canSetFullscreen\" >}} is true.\n" + }, + "canGoNext": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "identity": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The human readable name of the media player.\n", + "flags": [ + "readonly" + ] + }, + "loopState": { + "type": { + "type": "local", + "module": "Quickshell.Services.Mpris", + "name": "MprisLoopState" + }, + "details": "The loop state of the media player, or `None` if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"loopSupported\" >}} is false.\n\nMay only be written to if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"canControl\" >}} and {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"loopSupported\" >}} are true.\n" + }, + "canSetFullscreen": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "canControl": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "positionSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "trackArtists": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + "details": "The current track's artists, or an empty list if none were provided.\n", + "flags": [ + "readonly" + ] + }, + "volumeSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "canPause": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "metadata": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "Metadata of the current track.\n\nA map of common properties is available [here](https://www.freedesktop.org/wiki/Specifications/mpris-spec/metadata).\nDo not count on any of them actually being present.\n\nNote that the {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"trackTitle\" >}}, {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"trackAlbum\" >}}, {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"trackAlbumArtist\" >}}, {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"trackArtists\" >}} and {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"trackArtUrl\" >}}\nproperties have extra logic to guard against bad players sending weird metadata, and should\nbe used over grabbing the properties directly from the metadata.\n", + "flags": [ + "readonly" + ] + }, + "trackAlbum": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The current track's album, or \"Unknown Album\" if none was provided.\n", + "flags": [ + "readonly" + ] + }, + "trackArtUrl": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The current track's art url, or `\"\"` if none was provided.\n", + "flags": [ + "readonly" + ] + }, + "supportedMimeTypes": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + "details": "Mime types supported by {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"openUri\" >}}.\n", + "flags": [ + "readonly" + ] + }, + "lengthSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "position": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "The current position in the playing track, as seconds, with millisecond precision,\nor `0` if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"positionSupported\" >}} is false.\n\nMay only be written to if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"canSeek\" >}} and {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"positionSupported\" >}} are true.\n\n{{< callout type=\"warning\" >}}\n To avoid excessive property updates wasting CPU while `position` is not\nactively monitored, `position` usually will not update reactively, unless a nonlinear\nchange in position occurs, however reading it will always return the current position.\n\nIf you want to actively monitor the position, the simplest way it to emit the {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"signal\" mname=\"positionChanged\" >}}\nsignal manually for the duration you are monitoring it, Using a {{< qmltypelink type=\"qt\" module=\"qml.QtQuick\" name=\"FrameAnimation\" mtype=\"\" mname=\"\" >}} if you need\nthe value to update smoothly, such as on a slider, or a {{< qmltypelink type=\"qt\" module=\"qml.QtQuick\" name=\"Timer\" mtype=\"\" mname=\"\" >}} if not, as shown below.\n\n```qml {filename=\"Using a FrameAnimation\"}\nFrameAnimation {\n // only emit the signal when the position is actually changing.\n running: player.playbackState == MprisPlaybackState.Playing\n // emit the positionChanged signal every frame.\n onTriggered: player.positionChanged()\n}\n```\n\n```qml {filename=\"Using a Timer\"}\nTimer {\n // only emit the signal when the position is actually changing.\n running: player.playbackState == MprisPlaybackState.Playing\n // Make sure the position updates at least once per second.\n interval: 1000\n repeat: true\n // emit the positionChanged signal every second.\n onTriggered: player.positionChanged()\n}\n```\n\n{{< /callout >}}" + }, + "length": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "The length of the playing track, as seconds, with millisecond precision,\nor the value of {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"position\" >}} if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"lengthSupported\" >}} is false.\n", + "flags": [ + "readonly" + ] + }, + "playbackState": { + "type": { + "type": "local", + "module": "Quickshell.Services.Mpris", + "name": "MprisPlaybackState" + }, + "details": "The playback state of the media player.\n\n- If {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"canPlay\" >}} is false, you cannot assign the `Playing` state.\n- If {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"canPause\" >}} is false, you cannot assign the `Paused` state.\n- If {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"canControl\" >}} is false, you cannot assign the `Stopped` state.\n(or any of the others, though their repsective properties will also be false)\n" + }, + "volume": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "The volume of the playing track from 0.0 to 1.0, or 1.0 if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"volumeSupported\" >}} is false.\n\nMay only be written to if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"canControl\" >}} and {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"volumeSupported\" >}} are true.\n" + }, + "trackTitle": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The title of the current track, or \"Unknown Track\" if none was provided.\n", + "flags": [ + "readonly" + ] + }, + "canPlay": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "canRaise": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "canGoPrevious": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "canTogglePlaying": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "rate": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "The speed the song is playing at, as a multiplier.\n\nOnly values between {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"minRate\" >}} and {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"maxRate\" >}} (inclusive) may be written to the property.\nAdditionally, It is recommended that you only write common values such as `0.25`, `0.5`, `1.0`, `2.0`\nto the property, as media players are free to ignore the value, and are more likely to\naccept common ones.\n" + }, + "shuffle": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the play queue is currently being shuffled, or false if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"shuffleSupported\" >}} is false.\n\nMay only be written if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"canControl\" >}} and {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"shuffleSupported\" >}} are true.\n" + }, + "loopSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "shuffleSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "trackAlbumArtist": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The current track's album artist, or \"Unknown Artist\" if none was provided.\n", + "flags": [ + "readonly" + ] + }, + "canSeek": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "canQuit": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "minRate": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "next", + "id": "next", + "details": "Play the next song.\n\nMay only be called if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"canGoNext\" >}} is true.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "openUri", + "id": "openUri", + "details": "Open the given URI in the media player.\n\nMany players will silently ignore this, especially if the uri\ndoes not match {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"supportedUriSchemes\" >}} and {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"supportedMimeTypes\" >}}.\n", + "params": [ + { + "name": "uri", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "pause", + "id": "pause", + "details": "Equivalent to setting {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"playbackState\" >}} to `Paused`.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "play", + "id": "play", + "details": "Equivalent to setting {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"playbackState\" >}} to `Playing`.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "previous", + "id": "previous", + "details": "Play the previous song, or go back to the beginning of the current one.\n\nMay only be called if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"canGoPrevious\" >}} is true.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "quit", + "id": "quit", + "details": "Quit the media player.\n\nMay only be called if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"canQuit\" >}} is true.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "raise", + "id": "raise", + "details": "Bring the media player to the front of the window stack.\n\nMay only be called if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"canRaise\" >}} is true.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "seek", + "id": "seek", + "details": "Change `position` by an offset.\n\nEven if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"positionSupported\" >}} is false and you cannot set `position`,\nthis function may work.\n\nMay only be called if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"canSeek\" >}} is true.\n", + "params": [ + { + "name": "offset", + "type": { + "type": "qt", + "module": "qml", + "name": "real" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "stop", + "id": "stop", + "details": "Equivalent to setting {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"playbackState\" >}} to `Stopped`.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "togglePlaying", + "id": "togglePlaying", + "details": "Equivalent to calling {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"play\" >}} if not playing or {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"pause\" >}} if playing.\n\nMay only be called if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"canTogglePlaying\" >}} is true, which is equivalent to\n{{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"canPlay\" >}} or {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"canPause\" >}} depending on the current playback state.\n", + "params": [] + } + ], + "signals": { + "trackChanged": { + "name": "trackChanged", + "details": null, + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Mpris/index.json b/modules_old/Quickshell.Services.Mpris/index.json new file mode 100644 index 0000000..7bc13de --- /dev/null +++ b/modules_old/Quickshell.Services.Mpris/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Services.Mpris", + "description": "Mpris Service", + "details": "" +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Notifications/Notification.json b/modules_old/Quickshell.Services.Notifications/Notification.json new file mode 100644 index 0000000..1924176 --- /dev/null +++ b/modules_old/Quickshell.Services.Notifications/Notification.json @@ -0,0 +1,236 @@ +{ + "name": "Notification", + "module": "Quickshell.Services.Notifications", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A notification emitted by a NotificationServer.", + "details": "A notification emitted by a NotificationServer.\n\n{{< callout type=\"info\" >}}\n This type is {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"Retainable\" mtype=\"\" mname=\"\" >}}. It\ncan be retained after destruction if necessary.\n\n{{< /callout >}}", + "flags": [ + "uncreatable" + ], + "properties": { + "hasActionIcons": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If actions associated with this notification have icons available.\n\nSee {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Notifications\" name=\"NotificationAction\" mtype=\"prop\" mname=\"identifier\" >}} for details.\n", + "flags": [ + "readonly" + ] + }, + "urgency": { + "type": { + "type": "local", + "module": "Quickshell.Services.Notifications", + "name": "NotificationUrgency" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "appIcon": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The sending application's icon. If none was provided, then the icon from an associated\ndesktop entry will be retrieved. If none was found then \"\".\n", + "flags": [ + "readonly" + ] + }, + "desktopEntry": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The name of the sender's desktop entry or \"\" if none was supplied.\n", + "flags": [ + "readonly" + ] + }, + "appName": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The sending application's name.\n", + "flags": [ + "readonly" + ] + }, + "body": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "resident": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If true, the notification will not be destroyed after an action is invoked.\n", + "flags": [ + "readonly" + ] + }, + "expireTimeout": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "Time in seconds the notification should be valid for\n", + "flags": [ + "readonly" + ] + }, + "summary": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The image associated with this notification, or \"\" if none.\n", + "flags": [ + "readonly" + ] + }, + "lastGeneration": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If this notification was carried over from the last generation\nwhen quickshell reloaded.\n\nNotifications from the last generation will only be emitted\nif {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Notifications\" name=\"NotificationServer\" mtype=\"prop\" mname=\"keepOnReload\" >}} is true.\n", + "flags": [ + "readonly" + ] + }, + "hints": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "All hints sent by the client application as a javascript object.\nMany common hints are exposed via other properties.\n", + "flags": [ + "readonly" + ] + }, + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "Id of the notification as given to the client.\n", + "flags": [ + "readonly" + ] + }, + "transient": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If true, the notification should skip any kind of persistence function like a notification area.\n", + "flags": [ + "readonly" + ] + }, + "actions": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "local", + "module": "Quickshell.Services.Notifications", + "name": "NotificationAction" + } + }, + "details": "Actions that can be taken for this notification.\n", + "flags": [ + "readonly" + ] + }, + "image": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "An image associated with the notification.\n\nThis image is often something like a profile picture in instant messaging applications.\n", + "flags": [ + "readonly" + ] + }, + "tracked": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the notification is tracked by the notification server.\n\nSetting this property to false is equivalent to calling {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"dismiss\" >}}.\n" + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "dismiss", + "id": "dismiss", + "details": "Destroy the notification and hint to the remote application that it was\nexplicitly closed by the user.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "expire", + "id": "expire", + "details": "Destroy the notification and hint to the remote application that it has\ntimed out an expired.\n", + "params": [] + } + ], + "signals": { + "closed": { + "name": "closed", + "details": "Sent when a notification has been closed.\n\nThe notification object will be destroyed as soon as all signal handlers exit.\n", + "params": [ + { + "name": "reason", + "type": { + "type": "local", + "module": "Quickshell.Services.Notifications", + "name": "NotificationCloseReason" + } + } + ] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Notifications/NotificationAction.json b/modules_old/Quickshell.Services.Notifications/NotificationAction.json new file mode 100644 index 0000000..a62298b --- /dev/null +++ b/modules_old/Quickshell.Services.Notifications/NotificationAction.json @@ -0,0 +1,54 @@ +{ + "name": "NotificationAction", + "module": "Quickshell.Services.Notifications", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "An action associated with a Notification.", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Notifications\" name=\"Notification\" mtype=\"prop\" mname=\"actions\" >}}.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "identifier": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The identifier of the action.\n\nWhen {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Notifications\" name=\"Notification\" mtype=\"prop\" mname=\"hasActionIcons\" >}} is true, this property will be an icon name.\nWhen it is false, this property is irrelevant.\n", + "flags": [ + "readonly" + ] + }, + "text": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The localized text that should be displayed on a button.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "invoke", + "id": "invoke", + "details": "Invoke the action. If {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Notifications\" name=\"Notification\" mtype=\"prop\" mname=\"resident\" >}} is false it will be dismissed.\n", + "params": [] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Notifications/NotificationCloseReason.json b/modules_old/Quickshell.Services.Notifications/NotificationCloseReason.json new file mode 100644 index 0000000..13dadb9 --- /dev/null +++ b/modules_old/Quickshell.Services.Notifications/NotificationCloseReason.json @@ -0,0 +1,50 @@ +{ + "name": "NotificationCloseReason", + "module": "Quickshell.Services.Notifications", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "The reason a Notification was closed.", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Notifications\" name=\"Notification\" mtype=\"signal\" mname=\"closed\" >}}.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell.Services.Notifications", + "name": "NotificationCloseReason" + } + } + ] + } + ], + "signals": {}, + "variants": { + "CloseRequested": { + "details": "The remote application requested the notification be removed.\n" + }, + "Dismissed": { + "details": "The notification was explicitly dismissed by the user.\n" + }, + "Expired": { + "details": "The notification expired due to a timeout.\n" + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Notifications/NotificationServer.json b/modules_old/Quickshell.Services.Notifications/NotificationServer.json new file mode 100644 index 0000000..b1ad9e8 --- /dev/null +++ b/modules_old/Quickshell.Services.Notifications/NotificationServer.json @@ -0,0 +1,133 @@ +{ + "name": "NotificationServer", + "module": "Quickshell.Services.Notifications", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Desktop Notifications Server.", + "details": "An implementation of the [Desktop Notifications Specification] for receiving notifications\nfrom external applications.\n\nThe server does not advertise most capabilities by default. See the individual properties for details.\n\n[Desktop Notifications Specification]: https://specifications.freedesktop.org/notification-spec/notification-spec-latest.html\n", + "properties": { + "persistenceSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the notification server should advertise that it can persist notifications in the background\nafter going offscreen. Defaults to false.\n" + }, + "imageSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the notification server should advertise that it supports images. Defaults to false.\n" + }, + "bodyImagesSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If notification body text should be advertised as supporting images as described in [the specification]\nDefaults to false.\n\nNote that returned notifications may still contain images if this property is false, as it is only a hint.\n\n[the specification]: https://specifications.freedesktop.org/notification-spec/notification-spec-latest.html#images\n" + }, + "trackedNotifications": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Services.Notifications", + "name": "Notification" + } + }, + "details": "All notifications currently tracked by the server.\n", + "flags": [ + "readonly" + ] + }, + "actionsSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If notification actions should be advertised as supported by the notification server. Defaults to false.\n" + }, + "bodyHyperlinksSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If notification body text should be advertised as supporting hyperlinks as described in [the specification]\nDefaults to false.\n\nNote that returned notifications may still contain hyperlinks if this property is false, as it is only a hint.\n\n[the specification]: https://specifications.freedesktop.org/notification-spec/notification-spec-latest.html#hyperlinks\n" + }, + "bodySupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If notification body text should be advertised as supported by the notification server.\nDefaults to true.\n\nNote that returned notifications are likely to return body text even if this property is false,\nas it is only a hint.\n" + }, + "extraHints": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + "details": "Extra hints to expose to notification clients.\n" + }, + "keepOnReload": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If notifications should be re-emitted when quickshell reloads. Defaults to true.\n\nThe {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Notifications\" name=\"Notification\" mtype=\"prop\" mname=\"lastGeneration\" >}} flag will be\nset on notifications from the prior generation for further filtering/handling.\n" + }, + "bodyMarkupSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If notification body text should be advertised as supporting markup as described in [the specification]\nDefaults to false.\n\nNote that returned notifications may still contain markup if this property is false,\nas it is only a hint. By default Text objects will try to render markup. To avoid this\nif any is sent, change {{< qmltypelink type=\"qt\" module=\"qml.QtQuick\" name=\"Text\" mtype=\"prop\" mname=\"textFormat\" >}} to `PlainText`.\n" + }, + "actionIconsSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If notification actions should be advertised as supporting the display of icons. Defaults to false.\n" + } + }, + "functions": [], + "signals": { + "notification": { + "name": "notification", + "details": "Sent when a notification is received by the server.\n\nIf this notification should not be discarded, set its `tracked` property to true.\n", + "params": [ + { + "name": "notification", + "type": { + "type": "local", + "module": "Quickshell.Services.Notifications", + "name": "Notification" + } + } + ] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Notifications/NotificationUrgency.json b/modules_old/Quickshell.Services.Notifications/NotificationUrgency.json new file mode 100644 index 0000000..929c5a3 --- /dev/null +++ b/modules_old/Quickshell.Services.Notifications/NotificationUrgency.json @@ -0,0 +1,50 @@ +{ + "name": "NotificationUrgency", + "module": "Quickshell.Services.Notifications", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "The urgency level of a Notification.", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Notifications\" name=\"Notification\" mtype=\"prop\" mname=\"urgency\" >}}.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell.Services.Notifications", + "name": "NotificationUrgency" + } + } + ] + } + ], + "signals": {}, + "variants": { + "Normal": { + "details": null + }, + "Low": { + "details": null + }, + "Critical": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Notifications/index.json b/modules_old/Quickshell.Services.Notifications/index.json new file mode 100644 index 0000000..9fc06a1 --- /dev/null +++ b/modules_old/Quickshell.Services.Notifications/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Services.Notifications", + "description": "Types for implementing a notification daemon", + "details": "" +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Pam/PamContext.json b/modules_old/Quickshell.Services.Pam/PamContext.json new file mode 100644 index 0000000..de602df --- /dev/null +++ b/modules_old/Quickshell.Services.Pam/PamContext.json @@ -0,0 +1,162 @@ +{ + "name": "PamContext", + "module": "Quickshell.Services.Pam", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Connection to pam.", + "details": "Connection to pam. See [the module documentation](./) for pam configuration advice.\n", + "properties": { + "configDirectory": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The pam configuration directory to use. Defaults to `/etc/pam.d`.\n\nThe configuration directory is resolved relative to the current file if not an absolute path.\n\nThis property may not be set while {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"active\" >}} is true.\n" + }, + "responseVisible": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the user's response should be visible. Only valid when {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"responseRequired\" >}} is true.\n", + "flags": ["readonly"] + }, + "user": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The user to authenticate as. If unset the current user will be used.\n\nThis property may not be set while {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"active\" >}} is true.\n" + }, + "active": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the pam context is actively performing an authentication.\n\nSetting this value behaves exactly the same as calling {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"start\" >}} and {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"abort\" >}}.\n" + }, + "config": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The pam configuration to use. Defaults to \"login\".\n\nThe configuration should name a file inside {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"configDirectory\" >}}.\n\nThis property may not be set while {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"active\" >}} is true.\n" + }, + "message": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The last message sent by pam.\n", + "flags": ["readonly"] + }, + "messageIsError": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the last message should be shown as an error.\n", + "flags": ["readonly"] + }, + "responseRequired": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If pam currently wants a response.\n\nResponses can be returned with the {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"respond\" >}} function.\n", + "flags": ["readonly"] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "abort", + "id": "abort", + "details": "Abort a running authentication session.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "respond", + "id": "respond", + "details": "Respond to pam.\n\nMay not be called unless {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"responseRequired\" >}} is true.\n", + "params": [ + { + "name": "response", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "name": "start", + "id": "start", + "details": "Start an authentication session. Returns if the session was started successfully.\n", + "params": [] + } + ], + "signals": { + "pamMessage": { + "name": "pamMessage", + "details": "Emitted whenever pam sends a new message, after the change signals for\n`message`, `messageIsError`, and `responseRequired`.\n", + "params": [] + }, + "error": { + "name": "error", + "details": "Emitted if pam fails to perform authentication normally.\n\nA `completed(PamResult.Error)` will be emitted after this event.\n", + "params": [ + { + "name": "error", + "type": { + "type": "local", + "module": "Quickshell.Services.Pam", + "name": "PamError" + } + } + ] + }, + "completed": { + "name": "completed", + "details": "Emitted whenever authentication completes.\n", + "params": [ + { + "name": "result", + "type": { + "type": "local", + "module": "Quickshell.Services.Pam", + "name": "PamResult" + } + } + ] + } + }, + "variants": {} +} diff --git a/modules_old/Quickshell.Services.Pam/PamError.json b/modules_old/Quickshell.Services.Pam/PamError.json new file mode 100644 index 0000000..474d8b6 --- /dev/null +++ b/modules_old/Quickshell.Services.Pam/PamError.json @@ -0,0 +1,50 @@ +{ + "name": "PamError", + "module": "Quickshell.Services.Pam", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "An error that occurred during an authentication.", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Pam\" name=\"PamContext\" mtype=\"signal\" mname=\"error\" >}}.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell.Services.Pam", + "name": "PamError" + } + } + ] + } + ], + "signals": {}, + "variants": { + "TryAuthFailed": { + "details": "Failed to try to authenticate the user.\nThis is not the same as the user failing to authenticate.\n" + }, + "InternalError": { + "details": "An error occurred inside quickshell's pam interface.\n" + }, + "StartFailed": { + "details": "Failed to start the pam session.\n" + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Pam/PamResult.json b/modules_old/Quickshell.Services.Pam/PamResult.json new file mode 100644 index 0000000..e6cfa15 --- /dev/null +++ b/modules_old/Quickshell.Services.Pam/PamResult.json @@ -0,0 +1,53 @@ +{ + "name": "PamResult", + "module": "Quickshell.Services.Pam", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "The result of an authentication.", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Pam\" name=\"PamContext\" mtype=\"signal\" mname=\"completed\" >}}.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell.Services.Pam", + "name": "PamResult" + } + } + ] + } + ], + "signals": {}, + "variants": { + "Success": { + "details": "Authentication was successful.\n" + }, + "Error": { + "details": "An error occurred while trying to authenticate.\n" + }, + "Failed": { + "details": "Authentication failed.\n" + }, + "MaxTries": { + "details": "The authentication method ran out of tries and should not be used again.\n" + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Pam/index.json b/modules_old/Quickshell.Services.Pam/index.json new file mode 100644 index 0000000..95c0d57 --- /dev/null +++ b/modules_old/Quickshell.Services.Pam/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Services.Pam", + "description": "Pam authentication", + "details": "## Writing pam configurations\n\nIt is a good idea to write pam configurations specifically for quickshell\nif you want to do anything other than match the default login flow.\n\nA good example of this is having a configuration that allows entering a password\nor fingerprint in any order.\n\n### Structure of a pam configuration.\nPam configuration files are a list of rules, each on a new line in the following form:\n```\n [options]\n```\n\nEach line runs in order.\n\nPamContext currently only works with the `auth` type, as other types require root\naccess to check.\n\n#### Control flags\nThe control flags you're likely to use are `required` and `sufficient`.\n- `required` rules must pass for authentication to succeed.\n- `sufficient` rules will bypass any remaining rules and return on success.\n\nNote that you should have at least one required rule or pam will fail with an undocumented error.\n\n#### Modules\nPam works with a set of modules that handle various authentication mechanisms.\nSome common ones include `pam_unix.so` which handles passwords and `pam_fprintd.so`\nwhich handles fingerprints.\n\nThese modules have options but none are required for basic functionality.\n\n### Examples\n\nAuthenticate with only a password:\n```\nauth required pam_unix.so\n```\n\nAuthenticate with only a fingerprint:\n```\nauth required pam_fprintd.so\n```\n\nTry to authenticate with a fingerprint first, but if that fails fall back to a password:\n```\nauth sufficient pam_fprintd.so\nauth required pam_unix.so\n```\n\nRequire both a fingerprint and a password:\n```\nauth required pam_fprintd.so\nauth required pam_unix.so\n```\n\n\nSee also: [Oracle: PAM configuration file](https://docs.oracle.com/cd/E19683-01/816-4883/pam-32/index.html)" +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.PipeWire/Pipewire.json b/modules_old/Quickshell.Services.PipeWire/Pipewire.json new file mode 100644 index 0000000..c0b9af6 --- /dev/null +++ b/modules_old/Quickshell.Services.PipeWire/Pipewire.json @@ -0,0 +1,88 @@ +{ + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Contains links to all pipewire objects.", + "details": "", + "flags": [ + "singleton" + ], + "properties": { + "defaultAudioSource": { + "type": { + "type": "local", + "module": "Quickshell.Services.PipeWire", + "name": "PwNode" + }, + "details": "The default audio source or `null`.\n", + "flags": [ + "readonly" + ] + }, + "linkGroups": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Services.PipeWire", + "name": "PwLinkGroup" + } + }, + "details": "All pipewire link groups.\n", + "flags": [ + "readonly" + ] + }, + "nodes": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Services.PipeWire", + "name": "PwNode" + } + }, + "details": "All pipewire nodes.\n", + "flags": [ + "readonly" + ] + }, + "defaultAudioSink": { + "type": { + "type": "local", + "module": "Quickshell.Services.PipeWire", + "name": "PwNode" + }, + "details": "The default audio sink or `null`.\n", + "flags": [ + "readonly" + ] + }, + "links": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Services.PipeWire", + "name": "PwLink" + } + }, + "details": "All pipewire links.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.PipeWire/PwAudioChannel.json b/modules_old/Quickshell.Services.PipeWire/PwAudioChannel.json new file mode 100644 index 0000000..7181ed5 --- /dev/null +++ b/modules_old/Quickshell.Services.PipeWire/PwAudioChannel.json @@ -0,0 +1,162 @@ +{ + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": null, + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString(PwAudioChannel)", + "details": "Print a human readable representation of the given channel,\nincluding aux and custom channel ranges.\n", + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell.Services.PipeWire", + "name": "PwAudioChannel" + } + } + ] + } + ], + "signals": {}, + "variants": { + "TopFrontLeftCenter": { + "details": null + }, + "FrontLeft": { + "details": null + }, + "TopSideRight": { + "details": null + }, + "TopFrontRightCenter": { + "details": null + }, + "TopFrontRight": { + "details": null + }, + "TopSideLeft": { + "details": null + }, + "SideRight": { + "details": null + }, + "Mono": { + "details": null + }, + "BottomCenter": { + "details": null + }, + "RearLeft": { + "details": null + }, + "BottomLeftCenter": { + "details": null + }, + "RearLeftCenter": { + "details": null + }, + "TopFrontCenter": { + "details": null + }, + "FrontRightWide": { + "details": null + }, + "NA": { + "details": null + }, + "FrontRightCenter": { + "details": null + }, + "FrontRightHigh": { + "details": null + }, + "LowFrequencyEffectsRight": { + "details": null + }, + "TopRearRight": { + "details": null + }, + "Unknown": { + "details": null + }, + "TopFrontLeft": { + "details": null + }, + "TopCenter": { + "details": null + }, + "CustomRangeStart": { + "details": "The end of the custom channel range.\n\nValues starting at CustomRangeStart are valid.\n" + }, + "FrontLeftCenter": { + "details": null + }, + "RearRightCenter": { + "details": null + }, + "TopRearCenter": { + "details": null + }, + "SideLeft": { + "details": null + }, + "FrontCenterHigh": { + "details": null + }, + "LowFrequencyEffects2": { + "details": null + }, + "AuxRangeEnd": { + "details": "The end of the aux channel range.\n\nValues between AuxRangeStart and AuxRangeEnd are valid.\n" + }, + "FrontLeftHigh": { + "details": null + }, + "TopRearLeft": { + "details": null + }, + "RearRight": { + "details": null + }, + "LowFrequencyEffectsLeft": { + "details": null + }, + "FrontRight": { + "details": null + }, + "RearCenter": { + "details": null + }, + "BottomRightCenter": { + "details": null + }, + "FrontLeftWide": { + "details": null + }, + "LowFrequencyEffects": { + "details": null + }, + "AuxRangeStart": { + "details": "The start of the aux channel range.\n\nValues between AuxRangeStart and AuxRangeEnd are valid.\n" + }, + "FrontCenter": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.PipeWire/PwLink.json b/modules_old/Quickshell.Services.PipeWire/PwLink.json new file mode 100644 index 0000000..c8e904e --- /dev/null +++ b/modules_old/Quickshell.Services.PipeWire/PwLink.json @@ -0,0 +1,62 @@ +{ + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A connection between pipewire nodes.", + "details": "Note that there is one link per *channel* of a connection between nodes.\nYou usually want [PwLinkGroup](../pwlinkgroup).\n", + "flags": [ + "uncreatable" + ], + "properties": { + "state": { + "type": { + "type": "local", + "module": "Quickshell.Services.PipeWire", + "name": "PwLinkState" + }, + "details": "The current state of the link.\n\n**This property is invalid unless the link is [bound](../pwobjecttracker).**\n", + "flags": [ + "readonly" + ] + }, + "target": { + "type": { + "type": "local", + "module": "Quickshell.Services.PipeWire", + "name": "PwNode" + }, + "details": "The node that is *receiving* information. (the sink)\n", + "flags": [ + "readonly" + ] + }, + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "The pipewire object id of the link.\n\nMainly useful for debugging. you can inspect the link directly\nwith `pw-cli i `.\n", + "flags": [ + "readonly" + ] + }, + "source": { + "type": { + "type": "local", + "module": "Quickshell.Services.PipeWire", + "name": "PwNode" + }, + "details": "The node that is *sending* information. (the source)\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.PipeWire/PwLinkGroup.json b/modules_old/Quickshell.Services.PipeWire/PwLinkGroup.json new file mode 100644 index 0000000..757c8df --- /dev/null +++ b/modules_old/Quickshell.Services.PipeWire/PwLinkGroup.json @@ -0,0 +1,51 @@ +{ + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A group of connections between pipewire nodes.", + "details": "A group of connections between pipewire nodes, one per source->target pair.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "target": { + "type": { + "type": "local", + "module": "Quickshell.Services.PipeWire", + "name": "PwNode" + }, + "details": "The node that is *receiving* information. (the sink)\n", + "flags": [ + "readonly" + ] + }, + "source": { + "type": { + "type": "local", + "module": "Quickshell.Services.PipeWire", + "name": "PwNode" + }, + "details": "The node that is *sending* information. (the source)\n", + "flags": [ + "readonly" + ] + }, + "state": { + "type": { + "type": "local", + "module": "Quickshell.Services.PipeWire", + "name": "PwLinkState" + }, + "details": "The current state of the link group.\n\n**This property is invalid unless the link is [bound](../pwobjecttracker).**\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.PipeWire/PwLinkState.json b/modules_old/Quickshell.Services.PipeWire/PwLinkState.json new file mode 100644 index 0000000..4841be7 --- /dev/null +++ b/modules_old/Quickshell.Services.PipeWire/PwLinkState.json @@ -0,0 +1,60 @@ +{ + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": null, + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString(PwLinkState)", + "details": null, + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell.Services.PipeWire", + "name": "PwLinkState" + } + } + ] + } + ], + "signals": {}, + "variants": { + "Error": { + "details": null + }, + "Paused": { + "details": null + }, + "Allocating": { + "details": null + }, + "Active": { + "details": null + }, + "Init": { + "details": null + }, + "Negotiating": { + "details": null + }, + "Unlinked": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.PipeWire/PwNode.json b/modules_old/Quickshell.Services.PipeWire/PwNode.json new file mode 100644 index 0000000..9589483 --- /dev/null +++ b/modules_old/Quickshell.Services.PipeWire/PwNode.json @@ -0,0 +1,106 @@ +{ + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A node in the pipewire connection graph.", + "details": "", + "flags": [ + "uncreatable" + ], + "properties": { + "nickname": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The node's nickname, corrosponding to the object's `node.nickname` property.\n\nMay be empty. Generally but not always more human readable than `description`.\n", + "flags": [ + "readonly" + ] + }, + "audio": { + "type": { + "type": "local", + "module": "Quickshell.Services.PipeWire", + "name": "PwNodeAudio" + }, + "details": "Extra information present only if the node sends or receives audio.\n", + "flags": [ + "readonly" + ] + }, + "isSink": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If `true`, then the node accepts audio input from other nodes,\nif `false` the node outputs audio to other nodes.\n", + "flags": [ + "readonly" + ] + }, + "isStream": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If `true` then the node is likely to be a program, if false it is liekly to be hardware.\n", + "flags": [ + "readonly" + ] + }, + "name": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The node's name, corrosponding to the object's `node.name` property.\n", + "flags": [ + "readonly" + ] + }, + "properties": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "The property set present on the node, as an object containing key-value pairs.\nYou can inspect this directly with `pw-cli i `.\n\nA few properties of note, which may or may not be present:\n- `application.name` - A suggested human readable name for the node.\n- `application.icon-name` - The name of an icon recommended to display for the node.\n- `media.name` - A description of the currently playing media.\n (more likely to be present than `media.title` and `media.artist`)\n- `media.title` - The title of the currently playing media.\n- `media.artist` - The artist of the currently playing media.\n\n**This property is invalid unless the node is [bound](../pwobjecttracker).**\n", + "flags": [ + "readonly" + ] + }, + "description": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The node's description, corrosponding to the object's `node.description` property.\n\nMay be empty. Generally more human readable than `name`.\n", + "flags": [ + "readonly" + ] + }, + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "The pipewire object id of the node.\n\nMainly useful for debugging. you can inspect the node directly\nwith `pw-cli i `.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.PipeWire/PwNodeAudio.json b/modules_old/Quickshell.Services.PipeWire/PwNodeAudio.json new file mode 100644 index 0000000..4db62bd --- /dev/null +++ b/modules_old/Quickshell.Services.PipeWire/PwNodeAudio.json @@ -0,0 +1,63 @@ +{ + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Audio specific properties of pipewire nodes.", + "details": "", + "flags": [ + "uncreatable" + ], + "properties": { + "volume": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "The average volume over all channels of the node.\nSetting this property modifies the volume of all channels proportionately.\n\n**This property is invalid unless the node is [bound](../pwobjecttracker).**\n" + }, + "channels": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "local", + "module": "Quickshell.Services.PipeWire", + "name": "PwAudioChannel" + } + }, + "details": "The audio channels present on the node.\n\n**This property is invalid unless the node is [bound](../pwobjecttracker).**\n", + "flags": [ + "readonly" + ] + }, + "muted": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the node is currently muted. Setting this property changes the mute state.\n\n**This property is invalid unless the node is [bound](../pwobjecttracker).**\n" + }, + "volumes": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "real" + } + }, + "details": "The volumes of each audio channel individually. Each entry corrosponds to\nthe channel at the same index in `channels`. `volumes` and `channels` will always be\nthe same length.\n\n**This property is invalid unless the node is [bound](../pwobjecttracker).**\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.PipeWire/PwNodeLinkTracker.json b/modules_old/Quickshell.Services.PipeWire/PwNodeLinkTracker.json new file mode 100644 index 0000000..300b929 --- /dev/null +++ b/modules_old/Quickshell.Services.PipeWire/PwNodeLinkTracker.json @@ -0,0 +1,39 @@ +{ + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Tracks all link connections to a given node.", + "details": "", + "properties": { + "linkGroups": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "local", + "module": "Quickshell.Services.PipeWire", + "name": "PwLinkGroup" + } + }, + "details": "Link groups connected to the given node.\n\nIf the node is a sink, links which target the node will be tracked.\nIf the node is a source, links which source the node will be tracked.\n", + "flags": [ + "readonly" + ] + }, + "node": { + "type": { + "type": "local", + "module": "Quickshell.Services.PipeWire", + "name": "PwNode" + }, + "details": "The node to track connections to.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.PipeWire/PwObjectTracker.json b/modules_old/Quickshell.Services.PipeWire/PwObjectTracker.json new file mode 100644 index 0000000..8e239a7 --- /dev/null +++ b/modules_old/Quickshell.Services.PipeWire/PwObjectTracker.json @@ -0,0 +1,28 @@ +{ + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Binds pipewire objects.", + "details": "If the object list of at least one PwObjectTracker contains a given pipewire object,\nit will become *bound* and you will be able to interact with bound-only properties.\n", + "properties": { + "objects": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + "details": "The list of objects to bind.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.PipeWire/index.json b/modules_old/Quickshell.Services.PipeWire/index.json new file mode 100644 index 0000000..e0515ab --- /dev/null +++ b/modules_old/Quickshell.Services.PipeWire/index.json @@ -0,0 +1,4 @@ +{ + "description": "Pipewire API", + "details": "" +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Pipewire/Pipewire.json b/modules_old/Quickshell.Services.Pipewire/Pipewire.json new file mode 100644 index 0000000..a06b3fa --- /dev/null +++ b/modules_old/Quickshell.Services.Pipewire/Pipewire.json @@ -0,0 +1,90 @@ +{ + "name": "Pipewire", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Contains links to all pipewire objects.", + "details": "", + "flags": [ + "singleton" + ], + "properties": { + "nodes": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNode" + } + }, + "details": "All pipewire nodes.\n", + "flags": [ + "readonly" + ] + }, + "defaultAudioSource": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNode" + }, + "details": "The default audio source or `null`.\n", + "flags": [ + "readonly" + ] + }, + "defaultAudioSink": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNode" + }, + "details": "The default audio sink or `null`.\n", + "flags": [ + "readonly" + ] + }, + "linkGroups": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwLinkGroup" + } + }, + "details": "All pipewire link groups.\n", + "flags": [ + "readonly" + ] + }, + "links": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwLink" + } + }, + "details": "All pipewire links.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Pipewire/PwAudioChannel.json b/modules_old/Quickshell.Services.Pipewire/PwAudioChannel.json new file mode 100644 index 0000000..9c050a4 --- /dev/null +++ b/modules_old/Quickshell.Services.Pipewire/PwAudioChannel.json @@ -0,0 +1,164 @@ +{ + "name": "PwAudioChannel", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Audio channel of a pipewire node.", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Pipewire\" name=\"PwNodeAudio\" mtype=\"prop\" mname=\"channels\" >}}.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": "Print a human readable representation of the given channel,\nincluding aux and custom channel ranges.\n", + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwAudioChannel" + } + } + ] + } + ], + "signals": {}, + "variants": { + "Unknown": { + "details": null + }, + "FrontLeftWide": { + "details": null + }, + "TopSideLeft": { + "details": null + }, + "FrontRightWide": { + "details": null + }, + "FrontLeft": { + "details": null + }, + "TopFrontCenter": { + "details": null + }, + "LowFrequencyEffects2": { + "details": null + }, + "TopRearLeft": { + "details": null + }, + "BottomRightCenter": { + "details": null + }, + "RearLeft": { + "details": null + }, + "AuxRangeStart": { + "details": "The start of the aux channel range.\n\nValues between AuxRangeStart and AuxRangeEnd are valid.\n" + }, + "LowFrequencyEffectsLeft": { + "details": null + }, + "RearCenter": { + "details": null + }, + "Mono": { + "details": null + }, + "CustomRangeStart": { + "details": "The end of the custom channel range.\n\nValues starting at CustomRangeStart are valid.\n" + }, + "SideLeft": { + "details": null + }, + "TopSideRight": { + "details": null + }, + "TopFrontRight": { + "details": null + }, + "TopCenter": { + "details": null + }, + "FrontRightCenter": { + "details": null + }, + "TopRearCenter": { + "details": null + }, + "FrontLeftCenter": { + "details": null + }, + "TopFrontLeft": { + "details": null + }, + "BottomLeftCenter": { + "details": null + }, + "TopFrontRightCenter": { + "details": null + }, + "LowFrequencyEffectsRight": { + "details": null + }, + "SideRight": { + "details": null + }, + "FrontCenter": { + "details": null + }, + "RearRightCenter": { + "details": null + }, + "TopFrontLeftCenter": { + "details": null + }, + "AuxRangeEnd": { + "details": "The end of the aux channel range.\n\nValues between AuxRangeStart and AuxRangeEnd are valid.\n" + }, + "TopRearRight": { + "details": null + }, + "FrontLeftHigh": { + "details": null + }, + "NA": { + "details": null + }, + "LowFrequencyEffects": { + "details": null + }, + "BottomCenter": { + "details": null + }, + "FrontRightHigh": { + "details": null + }, + "FrontCenterHigh": { + "details": null + }, + "FrontRight": { + "details": null + }, + "RearRight": { + "details": null + }, + "RearLeftCenter": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Pipewire/PwLink.json b/modules_old/Quickshell.Services.Pipewire/PwLink.json new file mode 100644 index 0000000..743e175 --- /dev/null +++ b/modules_old/Quickshell.Services.Pipewire/PwLink.json @@ -0,0 +1,64 @@ +{ + "name": "PwLink", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A connection between pipewire nodes.", + "details": "Note that there is one link per *channel* of a connection between nodes.\nYou usually want {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Pipewire\" name=\"PwLinkGroup\" mtype=\"\" mname=\"\" >}}.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "target": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNode" + }, + "details": "The node that is *receiving* information. (the sink)\n", + "flags": [ + "readonly" + ] + }, + "state": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwLinkState" + }, + "details": "The current state of the link.\n\n{{< callout type=\"warning\" >}}\n This property is invalid unless the node is [bound](../pwobjecttracker).\n\n{{< /callout >}}", + "flags": [ + "readonly" + ] + }, + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "The pipewire object id of the link.\n\nMainly useful for debugging. you can inspect the link directly\nwith `pw-cli i `.\n", + "flags": [ + "readonly" + ] + }, + "source": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNode" + }, + "details": "The node that is *sending* information. (the source)\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Pipewire/PwLinkGroup.json b/modules_old/Quickshell.Services.Pipewire/PwLinkGroup.json new file mode 100644 index 0000000..00a4e61 --- /dev/null +++ b/modules_old/Quickshell.Services.Pipewire/PwLinkGroup.json @@ -0,0 +1,53 @@ +{ + "name": "PwLinkGroup", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A group of connections between pipewire nodes.", + "details": "A group of connections between pipewire nodes, one per source->target pair.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "state": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwLinkState" + }, + "details": "The current state of the link group.\n\n{{< callout type=\"warning\" >}}\n This property is invalid unless the node is [bound](../pwobjecttracker).\n\n{{< /callout >}}", + "flags": [ + "readonly" + ] + }, + "target": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNode" + }, + "details": "The node that is *receiving* information. (the sink)\n", + "flags": [ + "readonly" + ] + }, + "source": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNode" + }, + "details": "The node that is *sending* information. (the source)\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Pipewire/PwLinkState.json b/modules_old/Quickshell.Services.Pipewire/PwLinkState.json new file mode 100644 index 0000000..db1aeea --- /dev/null +++ b/modules_old/Quickshell.Services.Pipewire/PwLinkState.json @@ -0,0 +1,62 @@ +{ + "name": "PwLinkState", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "State of a pipewire link.", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Pipewire\" name=\"PwLink\" mtype=\"prop\" mname=\"state\" >}}.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwLinkState" + } + } + ] + } + ], + "signals": {}, + "variants": { + "Unlinked": { + "details": null + }, + "Paused": { + "details": null + }, + "Error": { + "details": null + }, + "Allocating": { + "details": null + }, + "Init": { + "details": null + }, + "Negotiating": { + "details": null + }, + "Active": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Pipewire/PwNode.json b/modules_old/Quickshell.Services.Pipewire/PwNode.json new file mode 100644 index 0000000..f973da1 --- /dev/null +++ b/modules_old/Quickshell.Services.Pipewire/PwNode.json @@ -0,0 +1,108 @@ +{ + "name": "PwNode", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A node in the pipewire connection graph.", + "details": "", + "flags": [ + "uncreatable" + ], + "properties": { + "isSink": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If `true`, then the node accepts audio input from other nodes,\nif `false` the node outputs audio to other nodes.\n", + "flags": [ + "readonly" + ] + }, + "nickname": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The node's nickname, corrosponding to the object's `node.nickname` property.\n\nMay be empty. Generally but not always more human readable than {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"description\" >}}.\n", + "flags": [ + "readonly" + ] + }, + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "The pipewire object id of the node.\n\nMainly useful for debugging. you can inspect the node directly\nwith `pw-cli i `.\n", + "flags": [ + "readonly" + ] + }, + "isStream": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If `true` then the node is likely to be a program, if false it is liekly to be hardware.\n", + "flags": [ + "readonly" + ] + }, + "name": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The node's name, corrosponding to the object's `node.name` property.\n", + "flags": [ + "readonly" + ] + }, + "properties": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "The property set present on the node, as an object containing key-value pairs.\nYou can inspect this directly with `pw-cli i `.\n\nA few properties of note, which may or may not be present:\n- `application.name` - A suggested human readable name for the node.\n- `application.icon-name` - The name of an icon recommended to display for the node.\n- `media.name` - A description of the currently playing media.\n (more likely to be present than `media.title` and `media.artist`)\n- `media.title` - The title of the currently playing media.\n- `media.artist` - The artist of the currently playing media.\n\n{{< callout type=\"warning\" >}}\n This property is invalid unless the node is [bound](../pwobjecttracker).\n\n{{< /callout >}}", + "flags": [ + "readonly" + ] + }, + "description": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The node's description, corrosponding to the object's `node.description` property.\n\nMay be empty. Generally more human readable than {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"name\" >}}.\n", + "flags": [ + "readonly" + ] + }, + "audio": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNodeAudio" + }, + "details": "Extra information present only if the node sends or receives audio.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Pipewire/PwNodeAudio.json b/modules_old/Quickshell.Services.Pipewire/PwNodeAudio.json new file mode 100644 index 0000000..38b09fe --- /dev/null +++ b/modules_old/Quickshell.Services.Pipewire/PwNodeAudio.json @@ -0,0 +1,65 @@ +{ + "name": "PwNodeAudio", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Audio specific properties of pipewire nodes.", + "details": "Extra properties of a {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Pipewire\" name=\"PwNode\" mtype=\"\" mname=\"\" >}} if the node is an audio node.\n\nSee {{< qmltypelink type=\"local\" module=\"Quickshell.Services.Pipewire\" name=\"PwNode\" mtype=\"prop\" mname=\"audio\" >}}.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "channels": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwAudioChannel" + } + }, + "details": "The audio channels present on the node.\n\n{{< callout type=\"warning\" >}}\n This property is invalid unless the node is [bound](../pwobjecttracker).\n\n{{< /callout >}}", + "flags": [ + "readonly" + ] + }, + "volumes": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "real" + } + }, + "details": "The volumes of each audio channel individually. Each entry corrosponds to\nthe volume of the channel at the same index in {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"channels\" >}}. {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"volumes\" >}} and {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"channels\" >}}\nwill always be the same length.\n\n{{< callout type=\"warning\" >}}\n This property is invalid unless the node is [bound](../pwobjecttracker).\n\n{{< /callout >}}" + }, + "muted": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the node is currently muted. Setting this property changes the mute state.\n\n{{< callout type=\"warning\" >}}\n This property is invalid unless the node is [bound](../pwobjecttracker).\n\n{{< /callout >}}" + }, + "volume": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "The average volume over all channels of the node.\nSetting this property modifies the volume of all channels proportionately.\n\n{{< callout type=\"warning\" >}}\n This property is invalid unless the node is [bound](../pwobjecttracker).\n\n{{< /callout >}}" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Pipewire/PwNodeLinkTracker.json b/modules_old/Quickshell.Services.Pipewire/PwNodeLinkTracker.json new file mode 100644 index 0000000..621f118 --- /dev/null +++ b/modules_old/Quickshell.Services.Pipewire/PwNodeLinkTracker.json @@ -0,0 +1,41 @@ +{ + "name": "PwNodeLinkTracker", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Tracks all link connections to a given node.", + "details": "", + "properties": { + "linkGroups": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwLinkGroup" + } + }, + "details": "Link groups connected to the given node.\n\nIf the node is a sink, links which target the node will be tracked.\nIf the node is a source, links which source the node will be tracked.\n", + "flags": [ + "readonly" + ] + }, + "node": { + "type": { + "type": "local", + "module": "Quickshell.Services.Pipewire", + "name": "PwNode" + }, + "details": "The node to track connections to.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Pipewire/PwObjectTracker.json b/modules_old/Quickshell.Services.Pipewire/PwObjectTracker.json new file mode 100644 index 0000000..798a267 --- /dev/null +++ b/modules_old/Quickshell.Services.Pipewire/PwObjectTracker.json @@ -0,0 +1,30 @@ +{ + "name": "PwObjectTracker", + "module": "Quickshell.Services.Pipewire", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Binds pipewire objects.", + "details": "If the object list of at least one PwObjectTracker contains a given pipewire object,\nit will become *bound* and you will be able to interact with bound-only properties.\n", + "properties": { + "objects": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + "details": "The list of objects to bind.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.Pipewire/index.json b/modules_old/Quickshell.Services.Pipewire/index.json new file mode 100644 index 0000000..60832ec --- /dev/null +++ b/modules_old/Quickshell.Services.Pipewire/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Services.Pipewire", + "description": "Pipewire API", + "details": "" +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.SystemTray/SystemTray.json b/modules_old/Quickshell.Services.SystemTray/SystemTray.json new file mode 100644 index 0000000..35c4bf0 --- /dev/null +++ b/modules_old/Quickshell.Services.SystemTray/SystemTray.json @@ -0,0 +1,36 @@ +{ + "name": "SystemTray", + "module": "Quickshell.Services.SystemTray", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "System tray", + "details": "Referencing the SystemTray singleton will make quickshell start tracking\nsystem tray contents, which are updated as the tray changes, and can be\naccessed via the {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"items\" >}} property.\n", + "flags": [ + "singleton" + ], + "properties": { + "items": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Services.SystemTray", + "name": "SystemTrayItem" + } + }, + "details": "List of all system tray icons.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.SystemTray/SystemTrayCategory.json b/modules_old/Quickshell.Services.SystemTray/SystemTrayCategory.json new file mode 100644 index 0000000..6f21873 --- /dev/null +++ b/modules_old/Quickshell.Services.SystemTray/SystemTrayCategory.json @@ -0,0 +1,18 @@ +{ + "name": "SystemTrayCategory", + "module": "Quickshell.Services.SystemTray", + "type": "enum", + "description": "Category of a SystemTrayItem.", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Services.SystemTray\" name=\"SystemTrayItem\" mtype=\"prop\" mname=\"category\" >}}.\n", + "variants": { + "Hardware": { + "details": "Hardware controls like battery indicators or volume control.\n" + }, + "SystemServices": { + "details": "System services such as IMEs or disk indexing.\n" + }, + "ApplicationStatus": { + "details": "The fallback category for general applications or anything that does\nnot fit into a different category.\n" + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.SystemTray/SystemTrayItem.json b/modules_old/Quickshell.Services.SystemTray/SystemTrayItem.json new file mode 100644 index 0000000..f923482 --- /dev/null +++ b/modules_old/Quickshell.Services.SystemTray/SystemTrayItem.json @@ -0,0 +1,206 @@ +{ + "name": "SystemTrayItem", + "module": "Quickshell.Services.SystemTray", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "An item in the system tray.", + "details": "A system tray item, roughly conforming to the [kde/freedesktop spec]\n(there is no real spec, we just implemented whatever seemed to actually be used).\n\n[kde/freedesktop spec]: https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/StatusNotifierItem/\n", + "flags": [ + "uncreatable" + ], + "properties": { + "status": { + "type": { + "type": "local", + "module": "Quickshell.Services.SystemTray", + "name": "SystemTrayStatus" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "tooltipTitle": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "icon": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Icon source string, usable as an Image source.\n", + "flags": [ + "readonly" + ] + }, + "onlyMenu": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If this tray item only offers a menu and activation will do nothing.\n", + "flags": [ + "readonly" + ] + }, + "title": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Text that describes the application.\n", + "flags": [ + "readonly" + ] + }, + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "A name unique to the application, such as its name.\n", + "flags": [ + "readonly" + ] + }, + "hasMenu": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If this tray item has an associated menu accessible via {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"display\" >}}\nor a\t{{< qmltypelink type=\"local\" module=\"Quickshell.Services.SystemTray\" name=\"SystemTrayMenuWatcher\" mtype=\"\" mname=\"\" >}}.\n", + "flags": [ + "readonly" + ] + }, + "tooltipDescription": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "category": { + "type": { + "type": "local", + "module": "Quickshell.Services.SystemTray", + "name": "SystemTrayCategory" + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "activate", + "id": "activate", + "details": "Primary activation action, generally triggered via a left click.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "display", + "id": "display", + "details": "Display a platform menu at the given location relative to the parent window.\n", + "params": [ + { + "name": "parentWindow", + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + { + "name": "relativeX", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + }, + { + "name": "relativeY", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "scroll", + "id": "scroll", + "details": "Scroll action, such as changing volume on a mixer.\n", + "params": [ + { + "name": "delta", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + }, + { + "name": "horizontal", + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "secondaryActivate", + "id": "secondaryActivate", + "details": "Secondary activation action, generally triggered via a middle click.\n", + "params": [] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.SystemTray/SystemTrayMenuWatcher.json b/modules_old/Quickshell.Services.SystemTray/SystemTrayMenuWatcher.json new file mode 100644 index 0000000..29dfe1e --- /dev/null +++ b/modules_old/Quickshell.Services.SystemTray/SystemTrayMenuWatcher.json @@ -0,0 +1,36 @@ +{ + "name": "SystemTrayMenuWatcher", + "module": "Quickshell.Services.SystemTray", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Accessor for SystemTrayItem menus.", + "details": "SystemTrayMenuWatcher provides access to the associated\n{{< qmltypelink type=\"local\" module=\"Quickshell.DBusMenu\" name=\"DBusMenuItem\" mtype=\"\" mname=\"\" >}} for a tray item.\n", + "properties": { + "menu": { + "type": { + "type": "local", + "module": "Quickshell.DBusMenu", + "name": "DBusMenuItem" + }, + "details": "The menu associated with the tray item. Will be null if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"trayItem\" >}} is null\nor has no associated menu.\n", + "flags": [ + "readonly" + ] + }, + "trayItem": { + "type": { + "type": "local", + "module": "Quickshell.Services.SystemTray", + "name": "SystemTrayItem" + }, + "details": "The tray item to watch.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.SystemTray/SystemTrayStatus.json b/modules_old/Quickshell.Services.SystemTray/SystemTrayStatus.json new file mode 100644 index 0000000..3aff126 --- /dev/null +++ b/modules_old/Quickshell.Services.SystemTray/SystemTrayStatus.json @@ -0,0 +1,18 @@ +{ + "name": "SystemTrayStatus", + "module": "Quickshell.Services.SystemTray", + "type": "enum", + "description": "Statis of a SystemTrayItem.", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Services.SystemTray\" name=\"SystemTrayItem\" mtype=\"prop\" mname=\"status\" >}}.\n", + "variants": { + "NeedsAttention": { + "details": "An item that needs attention conveys very important information such as low battery.\n" + }, + "Active": { + "details": "An active item may have information more important than a passive one and you probably do not want to hide it.\n" + }, + "Passive": { + "details": "A passive item does not convey important information and can be considered idle. You may want to hide these.\n" + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.SystemTray/index.json b/modules_old/Quickshell.Services.SystemTray/index.json new file mode 100644 index 0000000..0efc2ec --- /dev/null +++ b/modules_old/Quickshell.Services.SystemTray/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Services.SystemTray", + "description": "Types for implementing a system tray", + "details": "" +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.UPower/UPower.json b/modules_old/Quickshell.Services.UPower/UPower.json new file mode 100644 index 0000000..d362913 --- /dev/null +++ b/modules_old/Quickshell.Services.UPower/UPower.json @@ -0,0 +1,58 @@ +{ + "name": "UPower", + "module": "Quickshell.Services.UPower", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": null, + "flags": [ + "singleton" + ], + "properties": { + "onBattery": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the system is currently running on battery power, or discharging.\n", + "flags": [ + "readonly" + ] + }, + "devices": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Services.UPower", + "name": "UPowerDevice" + } + }, + "details": "All connected UPower devices.\n", + "flags": [ + "readonly" + ] + }, + "displayDevice": { + "type": { + "type": "local", + "module": "Quickshell.Services.UPower", + "name": "UPowerDevice" + }, + "details": "UPower's DisplayDevice for your system. Can be `null`.\n\nThis is an aggregate device and not a physical one, meaning you will not find it in {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"devices\" >}}.\nIt is typically the device that is used for displaying information in desktop environments.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.UPower/UPowerDevice.json b/modules_old/Quickshell.Services.UPower/UPowerDevice.json new file mode 100644 index 0000000..917bc67 --- /dev/null +++ b/modules_old/Quickshell.Services.UPower/UPowerDevice.json @@ -0,0 +1,185 @@ +{ + "name": "UPowerDevice", + "module": "Quickshell.Services.UPower", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A device exposed through the UPower system service.", + "details": "", + "flags": [ + "uncreatable" + ], + "properties": { + "isPresent": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the power source is present in the bay or slot, useful for hot-removable batteries.\n\nIf the device `type` is not `Battery`, then the property will be invalid.\n", + "flags": [ + "readonly" + ] + }, + "healthPercentage": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "Health of the device as a percentage of its original health.\n", + "flags": [ + "readonly" + ] + }, + "energy": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "Current energy level of the device in watt-hours.\n", + "flags": [ + "readonly" + ] + }, + "isLaptopBattery": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the device is a laptop battery or not. Use this to check if your device is a valid battery.\n\nThis will be equivalent to {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"type\" >}} == Battery && {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"powerSupply\" >}} == true.\n", + "flags": [ + "readonly" + ] + }, + "iconName": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Name of the icon representing the current state of the device, or an empty string if not provided.\n", + "flags": [ + "readonly" + ] + }, + "energyCapacity": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "Maximum energy capacity of the device in watt-hours\n", + "flags": [ + "readonly" + ] + }, + "powerSupply": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the device is a power supply for your computer and can provide charge.\n", + "flags": [ + "readonly" + ] + }, + "percentage": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "Current charge level as a percentage.\n\nThis would be equivalent to {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"energy\" >}} / {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"energyCapacity\" >}}.\n", + "flags": [ + "readonly" + ] + }, + "state": { + "type": { + "type": "local", + "module": "Quickshell.Services.UPower", + "name": "UPowerDeviceState" + }, + "details": "Current state of the device.\n", + "flags": [ + "readonly" + ] + }, + "changeRate": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "Rate of energy change in watts (positive when charging, negative when discharging).\n", + "flags": [ + "readonly" + ] + }, + "healthSupported": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "timeToEmpty": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "Estimated time until the device is fully discharged, in seconds.\n\nWill be set to `0` if charging.\n", + "flags": [ + "readonly" + ] + }, + "timeToFull": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "Estimated time until the device is fully charged, in seconds.\n\nWill be set to `0` if discharging.\n", + "flags": [ + "readonly" + ] + }, + "type": { + "type": { + "type": "local", + "module": "Quickshell.Services.UPower", + "name": "UPowerDeviceType" + }, + "details": "The type of device.\n", + "flags": [ + "readonly" + ] + }, + "nativePath": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Native path of the device specific to your OS.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.UPower/UPowerDeviceState.json b/modules_old/Quickshell.Services.UPower/UPowerDeviceState.json new file mode 100644 index 0000000..9066c89 --- /dev/null +++ b/modules_old/Quickshell.Services.UPower/UPowerDeviceState.json @@ -0,0 +1,62 @@ +{ + "name": "UPowerDeviceState", + "module": "Quickshell.Services.UPower", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Power state of a UPower device.", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Services.UPower\" name=\"UPowerDevice\" mtype=\"prop\" mname=\"state\" >}}.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "status", + "type": { + "type": "local", + "module": "Quickshell.Services.UPower", + "name": "UPowerDeviceState" + } + } + ] + } + ], + "signals": {}, + "variants": { + "PendingCharge": { + "details": "The device is waiting to be charged after it was plugged in.\n" + }, + "PendingDischarge": { + "details": "The device is waiting to be discharged after being unplugged.\n" + }, + "Empty": { + "details": null + }, + "FullyCharged": { + "details": null + }, + "Unknown": { + "details": null + }, + "Discharging": { + "details": null + }, + "Charging": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.UPower/UPowerDeviceType.json b/modules_old/Quickshell.Services.UPower/UPowerDeviceType.json new file mode 100644 index 0000000..4e6e64e --- /dev/null +++ b/modules_old/Quickshell.Services.UPower/UPowerDeviceType.json @@ -0,0 +1,128 @@ +{ + "name": "UPowerDeviceType", + "module": "Quickshell.Services.UPower", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Type of a UPower device.", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Services.UPower\" name=\"UPowerDevice\" mtype=\"prop\" mname=\"type\" >}}.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "type", + "type": { + "type": "local", + "module": "Quickshell.Services.UPower", + "name": "UPowerDeviceType" + } + } + ] + } + ], + "signals": {}, + "variants": { + "Monitor": { + "details": null + }, + "Touchpad": { + "details": null + }, + "Unknown": { + "details": null + }, + "Keyboard": { + "details": null + }, + "Battery": { + "details": null + }, + "Video": { + "details": null + }, + "RemoteControl": { + "details": null + }, + "Printer": { + "details": null + }, + "Scanner": { + "details": null + }, + "Pen": { + "details": null + }, + "Phone": { + "details": null + }, + "OtherAudio": { + "details": null + }, + "Headset": { + "details": null + }, + "Mouse": { + "details": null + }, + "Camera": { + "details": null + }, + "Computer": { + "details": null + }, + "GamingInput": { + "details": null + }, + "Pda": { + "details": null + }, + "BluetoothGeneric": { + "details": null + }, + "Wearable": { + "details": null + }, + "LinePower": { + "details": null + }, + "MediaPlayer": { + "details": null + }, + "Speakers": { + "details": null + }, + "Tablet": { + "details": null + }, + "Headphones": { + "details": null + }, + "Toy": { + "details": null + }, + "Ups": { + "details": null + }, + "Modem": { + "details": null + }, + "Network": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Services.UPower/index.json b/modules_old/Quickshell.Services.UPower/index.json new file mode 100644 index 0000000..0e5ac33 --- /dev/null +++ b/modules_old/Quickshell.Services.UPower/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Services.UPower", + "description": "UPower Service", + "details": "" +} \ No newline at end of file diff --git a/modules_old/Quickshell.Wayland/Toplevel.json b/modules_old/Quickshell.Wayland/Toplevel.json new file mode 100644 index 0000000..a4f83ff --- /dev/null +++ b/modules_old/Quickshell.Wayland/Toplevel.json @@ -0,0 +1,165 @@ +{ + "name": "Toplevel", + "module": "Quickshell.Wayland", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Window from another application.", + "details": "A window/toplevel from another application, retrievable from\nthe {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"ToplevelManager\" mtype=\"\" mname=\"\" >}}.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "appId": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "minimized": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the window is currently minimized.\n\nMinimization can be requested by setting this property, though it may\nbe ignored by the compositor.\n" + }, + "fullscreen": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the window is currently fullscreen.\n\nFullscreen can be requested by setting this property, though it may\nbe ignored by the compositor.\nFullscreen can be requested on a specific screen with the {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"fullscreenOn\" >}} function.\n" + }, + "activated": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the window is currently activated or focused.\n\nActivation can be requested with the {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"activate\" >}} function.\n", + "flags": [ + "readonly" + ] + }, + "maximized": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the window is currently maximized.\n\nMaximization can be requested by setting this property, though it may\nbe ignored by the compositor.\n" + }, + "parent": { + "type": { + "type": "local", + "module": "Quickshell.Wayland", + "name": "Toplevel" + }, + "details": "Parent toplevel if this toplevel is a modal/dialog, otherwise null.\n", + "flags": [ + "readonly" + ] + }, + "title": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "activate", + "id": "activate", + "details": "Request that this toplevel is activated.\nThe request may be ignored by the compositor.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "fullscreenOn", + "id": "fullscreenOn", + "details": "Request that this toplevel is fullscreened on a specific screen.\nThe request may be ignored by the compositor.\n", + "params": [ + { + "name": "screen", + "type": { + "type": "local", + "module": "Quickshell", + "name": "ShellScreen" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "setRectangle", + "id": "setRectangle", + "details": "Provide a hint to the compositor where the visual representation\nof this toplevel is relative to a quickshell window.\nThis hint can be used visually in operations like minimization.\n", + "params": [ + { + "name": "window", + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + { + "name": "rect", + "type": { + "type": "qt", + "module": "qml", + "name": "rect" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "unsetRectangle", + "id": "unsetRectangle", + "details": null, + "params": [] + } + ], + "signals": { + "closed": { + "name": "closed", + "details": null, + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Wayland/ToplevelManager.json b/modules_old/Quickshell.Wayland/ToplevelManager.json new file mode 100644 index 0000000..e153cc5 --- /dev/null +++ b/modules_old/Quickshell.Wayland/ToplevelManager.json @@ -0,0 +1,36 @@ +{ + "name": "ToplevelManager", + "module": "Quickshell.Wayland", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Exposes a list of Toplevels.", + "details": "Exposes a list of windows from other applications as {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"Toplevel\" mtype=\"\" mname=\"\" >}}s via the\n[zwlr-foreign-toplevel-management-v1](https://wayland.app/protocols/wlr-foreign-toplevel-management-unstable-v1)\nwayland protocol.\n", + "flags": [ + "singleton" + ], + "properties": { + "toplevels": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell.Wayland", + "name": "Toplevel" + } + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Wayland/WlSessionLock.json b/modules_old/Quickshell.Wayland/WlSessionLock.json new file mode 100644 index 0000000..0b6ca48 --- /dev/null +++ b/modules_old/Quickshell.Wayland/WlSessionLock.json @@ -0,0 +1,47 @@ +{ + "name": "WlSessionLock", + "module": "Quickshell.Wayland", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Reloadable" + }, + "description": "Wayland session locker.", + "details": "Wayland session lock implemented using the [ext_session_lock_v1] protocol.\n\nWlSessionLock will create an instance of its `surface` component for every screen when\n`locked` is set to true. The `surface` component must create a {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"WlSessionLockSurface\" mtype=\"\" mname=\"\" >}}\nwhich will be displayed on each screen.\n\nThe below example will create a session lock that disappears when the button is clicked.\n```qml\nWlSessionLock {\n id: lock\n\n WlSessionLockSurface {\n Button {\n text: \"unlock me\"\n onClicked: lock.locked = false\n }\n }\n}\n\n// ...\nlock.locked = true\n```\n\n{{< callout type=\"warning\" >}}\n If the WlSessionLock is destroyed or quickshell exits without setting `locked`\nto false, conformant compositors will leave the screen locked and painted with a solid\ncolor.\n\nThis is what makes the session lock secure. The lock dying will not expose your session,\nbut it will render it inoperable.\n{{< /callout >}}\n\n[ext_session_lock_v1]: https://wayland.app/protocols/ext-session-lock-v1\n", + "properties": { + "locked": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "Controls the lock state.\n\n{{< callout type=\"warning\" >}}\n Only one WlSessionLock may be locked at a time. Attempting to enable a lock while\nanother lock is enabled will do nothing.\n\n{{< /callout >}}" + }, + "secure": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "The compositor lock state.\n\nThis is set to true once the compositor has confirmed all screens are covered with locks.\n", + "flags": [ + "readonly" + ] + }, + "surface": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "Component" + }, + "details": "The surface that will be created for each screen. Must create a {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"WlSessionLockSurface\" mtype=\"\" mname=\"\" >}}.\n", + "flags": [ + "default" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Wayland/WlSessionLockSurface.json b/modules_old/Quickshell.Wayland/WlSessionLockSurface.json new file mode 100644 index 0000000..40f89d8 --- /dev/null +++ b/modules_old/Quickshell.Wayland/WlSessionLockSurface.json @@ -0,0 +1,97 @@ +{ + "name": "WlSessionLockSurface", + "module": "Quickshell.Wayland", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Reloadable" + }, + "description": "Surface to display with a `WlSessionLock`.", + "details": "Surface displayed by a {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"WlSessionLock\" mtype=\"\" mname=\"\" >}} when it is locked.\n", + "properties": { + "screen": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ShellScreen" + }, + "details": "The screen that the surface is displayed on.\n", + "flags": [ + "readonly" + ] + }, + "data": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + "details": null, + "flags": [ + "default", + "readonly" + ] + }, + "visible": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the surface has been made visible.\n\nNote: SessionLockSurfaces will never become invisible, they will only be destroyed.\n", + "flags": [ + "readonly" + ] + }, + "color": { + "type": { + "type": "qt", + "module": "qml", + "name": "color" + }, + "details": "The background color of the window. Defaults to white.\n\n{{< callout type=\"warning\" >}}\n This seems to behave weirdly when using transparent colors on some systems.\nUsing a colored content item over a transparent window is the recommended way to work around this:\n```qml\nProxyWindow {\n Rectangle {\n anchors.fill: parent\n color: \"#20ffffff\"\n\n // your content here\n }\n}\n```\n... but you probably shouldn't make a transparent lock,\nand most compositors will ignore an attempt to do so.\n\n{{< /callout >}}" + }, + "height": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "width": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "contentItem": { + "type": { + "type": "qt", + "module": "qml.QtQuick", + "name": "Item" + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Wayland/WlrKeyboardFocus.json b/modules_old/Quickshell.Wayland/WlrKeyboardFocus.json new file mode 100644 index 0000000..9d3370c --- /dev/null +++ b/modules_old/Quickshell.Wayland/WlrKeyboardFocus.json @@ -0,0 +1,18 @@ +{ + "name": "WlrKeyboardFocus", + "module": "Quickshell.Wayland", + "type": "enum", + "description": "WlrLayershell keyboard focus mode", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"WlrLayershell\" mtype=\"prop\" mname=\"keyboardFocus\" >}}.\n", + "variants": { + "OnDemand": { + "details": "Access to the keyboard as determined by the operating system.\n\n{{< callout type=\"warning\" >}}\n On some systems, `OnDemand` may cause the shell window to\nretain focus over another window unexpectedly.\nYou should try `None` if you experience issues.\n\n{{< /callout >}}" + }, + "None": { + "details": "No keyboard input will be accepted.\n" + }, + "Exclusive": { + "details": "Exclusive access to the keyboard, locking out all other windows.\n\n{{< callout type=\"warning\" >}}\n You **CANNOT** use this to make a secure lock screen.\n\nIf you want to make a lock screen, use {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"WlSessionLock\" mtype=\"\" mname=\"\" >}}.\n\n{{< /callout >}}" + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Wayland/WlrLayer.json b/modules_old/Quickshell.Wayland/WlrLayer.json new file mode 100644 index 0000000..7500006 --- /dev/null +++ b/modules_old/Quickshell.Wayland/WlrLayer.json @@ -0,0 +1,21 @@ +{ + "name": "WlrLayer", + "module": "Quickshell.Wayland", + "type": "enum", + "description": "WlrLayershell layer.", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"WlrLayershell\" mtype=\"prop\" mname=\"layer\" >}}.\n", + "variants": { + "Bottom": { + "details": "Above background, usually below windows\n" + }, + "Top": { + "details": "Commonly used for panels, app launchers, and docks.\nUsually renders over normal windows and below fullscreen windows.\n" + }, + "Overlay": { + "details": "Usually renders over fullscreen windows\n" + }, + "Background": { + "details": "Below bottom\n" + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell.Wayland/WlrLayershell.json b/modules_old/Quickshell.Wayland/WlrLayershell.json new file mode 100644 index 0000000..2ca0fc0 --- /dev/null +++ b/modules_old/Quickshell.Wayland/WlrLayershell.json @@ -0,0 +1,41 @@ +{ + "name": "WlrLayershell", + "module": "Quickshell.Wayland", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "PanelWindow" + }, + "description": "Wlroots layershell window", + "details": "Decorationless window that can be attached to the screen edges using the [zwlr_layer_shell_v1] protocol.\n\n#### Attached object\n`WlrLayershell` works as an attached object of {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"PanelWindow\" mtype=\"\" mname=\"\" >}} which you should use instead if you can,\nas it is platform independent.\n\n```qml\nPanelWindow {\n // When PanelWindow is backed with WlrLayershell this will work\n WlrLayershell.layer: WlrLayer.Bottom\n}\n```\n\nTo maintain platform compatibility you can dynamically set layershell specific properties.\n```qml\nPanelWindow {\n Component.onCompleted: {\n if (this.WlrLayershell != null) {\n this.WlrLayershell.layer = WlrLayer.Bottom;\n }\n }\n}\n```\n\n[zwlr_layer_shell_v1]: https://wayland.app/protocols/wlr-layer-shell-unstable-v1\n", + "properties": { + "keyboardFocus": { + "type": { + "type": "local", + "module": "Quickshell.Wayland", + "name": "WlrKeyboardFocus" + }, + "details": "The degree of keyboard focus taken. Defaults to `KeyboardFocus.None`.\n" + }, + "namespace": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Similar to the class property of windows. Can be used to identify the window to external tools.\n\nCannot be set after windowConnected.\n" + }, + "layer": { + "type": { + "type": "local", + "module": "Quickshell.Wayland", + "name": "WlrLayer" + }, + "details": "The shell layer the window sits in. Defaults to `WlrLayer.Top`.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell.Wayland/index.json b/modules_old/Quickshell.Wayland/index.json new file mode 100644 index 0000000..28c624f --- /dev/null +++ b/modules_old/Quickshell.Wayland/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell.Wayland", + "description": "Wayland specific Quickshell types", + "details": "" +} \ No newline at end of file diff --git a/modules_old/Quickshell/BoundComponent.json b/modules_old/Quickshell/BoundComponent.json new file mode 100644 index 0000000..5547993 --- /dev/null +++ b/modules_old/Quickshell/BoundComponent.json @@ -0,0 +1,74 @@ +{ + "name": "BoundComponent", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQuick", + "name": "Item" + }, + "description": "Component loader that allows setting initial properties.", + "details": "Component loader that allows setting initial properties, primarily useful for\nescaping cyclic dependency errors.\n\nProperties defined on the BoundComponent will be applied to its loaded component,\nincluding required properties, and will remain reactive. Functions created with\nthe names of signal handlers will also be attached to signals of the loaded component.\n\n```qml {filename=\"MyComponent.qml\"}\nMouseArea {\n required property color color;\n width: 100\n height: 100\n\n Rectangle {\n anchors.fill: parent\n color: parent.color\n }\n}\n```\n\n```qml\nBoundComponent {\n source: \"MyComponent.qml\"\n\n // this is the same as assigning to `color` on MyComponent if loaded normally.\n property color color: \"red\";\n\n // this will be triggered when the `clicked` signal from the MouseArea is sent.\n function onClicked() {\n color = \"blue\";\n }\n}\n```\n", + "properties": { + "implicitHeight": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "implicitWidth": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "item": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "details": "The loaded component. Will be null until it has finished loading.\n", + "flags": [ + "readonly" + ] + }, + "sourceComponent": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "Component" + }, + "details": "The source to load, as a Component.\n" + }, + "bindValues": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If property values should be bound after they are initially set. Defaults to `true`.\n" + }, + "source": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The source to load, as a Url.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} diff --git a/modules_old/Quickshell/DesktopAction.json b/modules_old/Quickshell/DesktopAction.json new file mode 100644 index 0000000..2fbdbbe --- /dev/null +++ b/modules_old/Quickshell/DesktopAction.json @@ -0,0 +1,76 @@ +{ + "name": "DesktopAction", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": "An action of a {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"DesktopEntry\" mtype=\"\" mname=\"\" >}}.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "icon": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "name": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "execString": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The raw `Exec` string from the desktop entry. You probably want {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"execute\" >}}.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "execute", + "id": "execute", + "details": "Run the application. Currently ignores {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"DesktopEntry\" mtype=\"prop\" mname=\"runInTerminal\" >}} and field codes.\n", + "params": [] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/DesktopEntries.json b/modules_old/Quickshell/DesktopEntries.json new file mode 100644 index 0000000..d74c3a8 --- /dev/null +++ b/modules_old/Quickshell/DesktopEntries.json @@ -0,0 +1,57 @@ +{ + "name": "DesktopEntries", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Desktop entry index.", + "details": "Index of desktop entries according to the [desktop entry specification].\n\nPrimarily useful for looking up icons and metadata from an id, as there is\ncurrently no mechanism for usage based sorting of entries and other launcher niceties.\n\n[desktop entry specification]: https://specifications.freedesktop.org/desktop-entry-spec/latest/\n", + "flags": [ + "singleton" + ], + "properties": { + "applications": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel", + "of": { + "type": "local", + "module": "Quickshell", + "name": "DesktopEntry" + } + }, + "details": "All desktop entries of type Application that are not Hidden or NoDisplay.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "local", + "module": "Quickshell", + "name": "DesktopEntry" + }, + "name": "byId", + "id": "byId", + "details": "Look up a desktop entry by name. Includes NoDisplay entries. May return null.\n", + "params": [ + { + "name": "id", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/DesktopEntry.json b/modules_old/Quickshell/DesktopEntry.json new file mode 100644 index 0000000..35df95a --- /dev/null +++ b/modules_old/Quickshell/DesktopEntry.json @@ -0,0 +1,179 @@ +{ + "name": "DesktopEntry", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": "A desktop entry. See {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"DesktopEntries\" mtype=\"\" mname=\"\" >}} for details.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "categories": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "genericName": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Short description of the application, such as \"Web Browser\". May be empty.\n", + "flags": [ + "readonly" + ] + }, + "name": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Name of the specific application, such as \"Firefox\".\n", + "flags": [ + "readonly" + ] + }, + "comment": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Long description of the application, such as \"View websites on the internet\". May be empty.\n", + "flags": [ + "readonly" + ] + }, + "id": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "runInTerminal": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the application should run in a terminal.\n", + "flags": [ + "readonly" + ] + }, + "workingDirectory": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The working directory to execute from.\n", + "flags": [ + "readonly" + ] + }, + "noDisplay": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If true, this application should not be displayed in menus and launchers.\n", + "flags": [ + "readonly" + ] + }, + "icon": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Name of the icon associated with this application. May be empty.\n", + "flags": [ + "readonly" + ] + }, + "actions": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "local", + "module": "Quickshell", + "name": "DesktopAction" + } + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "keywords": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "string" + } + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "execString": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The raw `Exec` string from the desktop entry. You probably want {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"execute\" >}}.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "execute", + "id": "execute", + "details": "Run the application. Currently ignores {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"runInTerminal\" >}} and field codes.\n", + "params": [] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/EasingCurve.json b/modules_old/Quickshell/EasingCurve.json new file mode 100644 index 0000000..9f805b5 --- /dev/null +++ b/modules_old/Quickshell/EasingCurve.json @@ -0,0 +1,154 @@ +{ + "name": "EasingCurve", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Easing curve.", + "details": "Directly accessible easing curve as used in property animations.\n", + "properties": { + "curve": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "Easing curve settings. Works exactly the same as\n[PropertyAnimation.easing](https://doc.qt.io/qt-6/qml-qtquick-propertyanimation.html#easing-prop).\n" + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "name": "interpolate", + "id": "interpolate", + "details": "Interpolates between two values using the given X coordinate.\n", + "params": [ + { + "name": "x", + "type": { + "type": "qt", + "module": "qml", + "name": "real" + } + }, + { + "name": "a", + "type": { + "type": "qt", + "module": "qml", + "name": "real" + } + }, + { + "name": "b", + "type": { + "type": "qt", + "module": "qml", + "name": "real" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "point" + }, + "name": "interpolate", + "id": "interpolate", + "details": "Interpolates between two points using the given X coordinate.\n", + "params": [ + { + "name": "x", + "type": { + "type": "qt", + "module": "qml", + "name": "real" + } + }, + { + "name": "a", + "type": { + "type": "qt", + "module": "qml", + "name": "point" + } + }, + { + "name": "b", + "type": { + "type": "qt", + "module": "qml", + "name": "point" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "rect" + }, + "name": "interpolate", + "id": "interpolate", + "details": "Interpolates two rects using the given X coordinate.\n", + "params": [ + { + "name": "x", + "type": { + "type": "qt", + "module": "qml", + "name": "real" + } + }, + { + "name": "a", + "type": { + "type": "qt", + "module": "qml", + "name": "rect" + } + }, + { + "name": "b", + "type": { + "type": "qt", + "module": "qml", + "name": "rect" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "name": "valueAt", + "id": "valueAt", + "details": "Returns the Y value for the given X value on the curve\nfrom 0.0 to 1.0.\n", + "params": [ + { + "name": "x", + "type": { + "type": "qt", + "module": "qml", + "name": "real" + } + } + ] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/ElapsedTimer.json b/modules_old/Quickshell/ElapsedTimer.json new file mode 100644 index 0000000..a4c56bf --- /dev/null +++ b/modules_old/Quickshell/ElapsedTimer.json @@ -0,0 +1,83 @@ +{ + "name": "ElapsedTimer", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Measures time between events", + "details": "The ElapsedTimer measures time since its last restart, and is useful\nfor determining the time between events that don't supply it.\n", + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "name": "elapsed", + "id": "elapsed", + "details": "Return the number of seconds since the timer was last\nstarted or restarted, with nanosecond precision.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "name": "elapsedMs", + "id": "elapsedMs", + "details": "Return the number of milliseconds since the timer was last\nstarted or restarted.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "name": "elapsedNs", + "id": "elapsedNs", + "details": "Return the number of nanoseconds since the timer was last\nstarted or restarted.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "name": "restart", + "id": "restart", + "details": "Restart the timer, returning the number of seconds since\nthe timer was last started or restarted, with nanosecond precision.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "name": "restartMs", + "id": "restartMs", + "details": "Restart the timer, returning the number of milliseconds since\nthe timer was last started or restarted.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "name": "restartNs", + "id": "restartNs", + "details": "Restart the timer, returning the number of nanoseconds since\nthe timer was last started or restarted.\n", + "params": [] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/ExclusionMode.json b/modules_old/Quickshell/ExclusionMode.json new file mode 100644 index 0000000..97a8d75 --- /dev/null +++ b/modules_old/Quickshell/ExclusionMode.json @@ -0,0 +1,18 @@ +{ + "name": "ExclusionMode", + "module": "Quickshell", + "type": "enum", + "description": "Panel exclusion mode", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"PanelWindow\" mtype=\"prop\" mname=\"exclusionMode\" >}}.\n", + "variants": { + "Normal": { + "details": "Respect the exclusion zone of other shell layers and optionally set one\n" + }, + "Auto": { + "details": "Decide the exclusion zone based on the window dimensions and anchors.\n\nWill attempt to reseve exactly enough space for the window and its margins if\nexactly 3 anchors are connected.\n" + }, + "Ignore": { + "details": "Ignore exclusion zones of other shell layers. You cannot set an exclusion zone in this mode.\n" + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell/FloatingWindow.json b/modules_old/Quickshell/FloatingWindow.json new file mode 100644 index 0000000..ec3ca0c --- /dev/null +++ b/modules_old/Quickshell/FloatingWindow.json @@ -0,0 +1,16 @@ +{ + "name": "FloatingWindow", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "QsWindow" + }, + "description": "Standard toplevel operating system window that looks like any other application.", + "details": "", + "properties": {}, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/Intersection.json b/modules_old/Quickshell/Intersection.json new file mode 100644 index 0000000..4ef5c72 --- /dev/null +++ b/modules_old/Quickshell/Intersection.json @@ -0,0 +1,21 @@ +{ + "name": "Intersection", + "module": "Quickshell", + "type": "enum", + "description": "Intersection strategy for Regions.", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"Region\" mtype=\"prop\" mname=\"intersection\" >}}.\n", + "variants": { + "Xor": { + "details": "Create an intersection of this region and the other, leaving only\nthe area not covered by both. (opposite of `Intersect`)\n" + }, + "Intersect": { + "details": "Create an intersection of this region and the other, leaving only\nthe area covered by both. (opposite of `Xor`)\n" + }, + "Subtract": { + "details": "Subtract this region, cutting this region out of the other. (opposite of `Combine`)\n" + }, + "Combine": { + "details": "Combine this region, leaving a union of this and the other region. (opposite of `Subtract`)\n" + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell/LazyLoader.json b/modules_old/Quickshell/LazyLoader.json new file mode 100644 index 0000000..30fcb93 --- /dev/null +++ b/modules_old/Quickshell/LazyLoader.json @@ -0,0 +1,71 @@ +{ + "name": "LazyLoader", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Reloadable" + }, + "description": "Asynchronous component loader.", + "details": "The LazyLoader can be used to prepare components that don't need to be\ncreated immediately, such as windows that aren't visible until triggered\nby another action. It works on creating the component in the gaps between\nframe rendering to prevent blocking the interface thread.\nIt can also be used to preserve memory by loading components only\nwhen you need them and unloading them afterward.\n\nNote that when reloading the UI due to changes, lazy loaders will always\nload synchronously so windows can be reused.\n\n#### Example\nThe following example creates a PopupWindow asynchronously as the bar loads.\nThis means the bar can be shown onscreen before the popup is ready, however\ntrying to show the popup before it has finished loading in the background\nwill cause the UI thread to block.\n\n```qml\nimport QtQuick\nimport QtQuick.Controls\nimport Quickshell\n\nQS_Quickshell_ShellRoot {\n QS_Quickshell_PanelWindow {\n id: window\n height: 50\n\n anchors {\n bottom: true\n left: true\n right: true\n }\n\n QS_Quickshell_LazyLoader {\n id: popupLoader\n\n // start loading immediately\n loading: true\n\n // this window will be loaded in the background during spare\n // frame time unless active is set to true, where it will be\n // loaded in the foreground\n QS_Quickshell_PopupWindow {\n // position the popup above the button\n parentWindow: window\n relativeX: window.width / 2 - width / 2\n relativeY: -height\n\n // some heavy component here\n\n width: 200\n height: 200\n }\n }\n\n QT_qtquick11controls_Button {\n anchors.centerIn: parent\n text: \"show popup\"\n\n // accessing popupLoader.item will force the loader to\n // finish loading on the UI thread if it isn't finished yet.\n onClicked: popupLoader.item.visible = !popupLoader.item.visible\n }\n }\n}\n```\n\n> [!WARNING]\n> Components that internally load other components must explicitly\n> support asynchronous loading to avoid blocking.\n> \n> Notably, {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"Variants\" mtype=\"\" mname=\"\" >}} does not currently support asynchronous\n> loading, meaning using it inside a LazyLoader will block similarly to not\n> having a loader to start with.\n\n> [!WARNING]\n> LazyLoaders do not start loading before the first window is created,\n> meaning if you create all windows inside of lazy loaders, none of them will ever load.\n\n", + "properties": { + "loading": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the loader is actively loading.\n\nIf the component is not loaded, setting this property to true will start\nloading it asynchronously. If the component is already loaded, setting\nthis property has no effect.\n\nSee also: {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"activeAsync\" >}}.\n" + }, + "activeAsync": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the component is fully loaded.\n\nSetting this property to true will asynchronously load the component similarly to\n{{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"loading\" >}}. Reading it or setting it to false will behanve\nthe same as {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"active\" >}}.\n" + }, + "source": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The URI to load the component from. Mutually exclusive to {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"component\" >}}.\n" + }, + "active": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the component is fully loaded.\n\nSetting this property to `true` will force the component to load to completion,\nblocking the UI, and setting it to `false` will destroy the component, requiring\nit to be loaded again.\n\nSee also: {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"activeAsync\" >}}.\n" + }, + "component": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "Component" + }, + "details": "The component to load. Mutually exclusive to {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"source\" >}}.\n", + "flags": [ + "default" + ] + }, + "item": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "details": "The fully loaded item if the loader is {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"loading\" >}} or {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"active\" >}}, or `null`\nif neither {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"loading\" >}} nor {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"active\" >}}.\n\nNote that the item is owned by the LazyLoader, and destroying the LazyLoader\nwill destroy the item.\n\n> [!WARNING]\n> If you access the `item` of a loader that is currently loading,\n> it will block as if you had set `active` to true immediately beforehand.\n> \n> You can instead set {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"loading\" >}} and listen to {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"signal\" mname=\"activeChanged\" >}} signal to\n> ensure loading happens asynchronously.\n\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} diff --git a/modules_old/Quickshell/ObjectModel.json b/modules_old/Quickshell/ObjectModel.json new file mode 100644 index 0000000..e6eb943 --- /dev/null +++ b/modules_old/Quickshell/ObjectModel.json @@ -0,0 +1,146 @@ +{ + "name": "ObjectModel", + "module": "Quickshell", + "type": "class", + "super": { + "type": "unknown", + "module": "", + "name": "" + }, + "description": "View into a list of objets", + "details": "Typed view into a list of objects.\n\nAn ObjectModel works as a QML [Data Model], allowing efficient interaction with\ncomponents that act on models. It has a single role named `modelData`, to match the\nbehavior of lists.\nThe same information contained in the list model is available as a normal list\nvia the `values` property.\n\n#### Differences from a list\nUnlike with a list, the following property binding will never be updated when `model[3]` changes.\n```qml\n// will not update reactively\nproperty var foo: model[3]\n```\n\nYou can work around this limitation using the {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"values\" >}} property of the model to view it as a list.\n```qml\n// will update reactively\nproperty var foo: model.values[3]\n```\n\n[Data Model]: https://doc.qt.io/qt-6/qtquick-modelviewsdata-modelview.html#qml-data-models\n", + "flags": [ + "uncreatable" + ], + "properties": { + "values": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + "details": "The content of the object model, as a QML list.\nThe values of this property will always be of the type of the model.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "name": "indexOf", + "id": "indexOf", + "details": null, + "params": [ + { + "name": "object", + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + } + ] + } + ], + "signals": { + "objectRemovedPost": { + "name": "objectRemovedPost", + "details": "Sent immediately after an object is removed from the list.\n", + "params": [ + { + "name": "object", + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + { + "name": "index", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + ] + }, + "objectInsertedPre": { + "name": "objectInsertedPre", + "details": "Sent immediately before an object is inserted into the list.\n", + "params": [ + { + "name": "object", + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + { + "name": "index", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + ] + }, + "objectInsertedPost": { + "name": "objectInsertedPost", + "details": "Sent immediately after an object is inserted into the list.\n", + "params": [ + { + "name": "object", + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + { + "name": "index", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + ] + }, + "objectRemovedPre": { + "name": "objectRemovedPre", + "details": "Sent immediately before an object is removed from the list.\n", + "params": [ + { + "name": "object", + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + { + "name": "index", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + ] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/ObjectRepeater.json b/modules_old/Quickshell/ObjectRepeater.json new file mode 100644 index 0000000..3b23f6f --- /dev/null +++ b/modules_old/Quickshell/ObjectRepeater.json @@ -0,0 +1,39 @@ +{ + "name": "ObjectRepeater", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "ObjectModel" + }, + "description": "A Repeater / for loop / map for non Item derived objects.", + "details": "{{< callout type=\"error\" >}}\n Removed in favor of {{< qmltypelink type=\"qt\" module=\"qml.QtQml.Models\" name=\"Instantiator\" mtype=\"\" mname=\"\" >}}\n{{< /callout >}}\n\nThe ObjectRepeater creates instances of the provided delegate for every entry in the\ngiven model, similarly to a {{< qmltypelink type=\"qt\" module=\"qml.QtQuick\" name=\"Repeater\" mtype=\"\" mname=\"\" >}} but for non visual types.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "model": { + "type": { + "type": "qt", + "module": "qml", + "name": "variant" + }, + "details": "The model providing data to the ObjectRepeater.\n\nCurrently accepted model types are `list` lists, javascript arrays,\nand [QAbstractListModel] derived models, though only one column will be repeated\nfrom the latter.\n\nNote: {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"ObjectModel\" mtype=\"\" mname=\"\" >}} is a [QAbstractListModel] with a single column.\n\n[QAbstractListModel]: https://doc.qt.io/qt-6/qabstractlistmodel.html\n" + }, + "delegate": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "Component" + }, + "details": "The delegate component to repeat.\n\nThe delegate is given the same properties as in a Repeater, except `index` which\nis not currently implemented.\n\nIf the model is a `list` or javascript array, a `modelData` property will be\nexposed containing the entry from the model. If the model is a [QAbstractListModel],\nthe roles from the model will be exposed.\n\nNote: {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"ObjectModel\" mtype=\"\" mname=\"\" >}} has a single role named `modelData` for compatibility with normal lists.\n\n[QAbstractListModel]: https://doc.qt.io/qt-6/qabstractlistmodel.html\n", + "flags": [ + "default" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/PanelWindow.json b/modules_old/Quickshell/PanelWindow.json new file mode 100644 index 0000000..fccda6d --- /dev/null +++ b/modules_old/Quickshell/PanelWindow.json @@ -0,0 +1,103 @@ +{ + "name": "PanelWindow", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "QsWindow" + }, + "description": "Decorationless window attached to screen edges by anchors.", + "details": "Decorationless window attached to screen edges by anchors.\n\n#### Example\nThe following snippet creates a white bar attached to the bottom of the screen.\n\n```qml\nPanelWindow {\n anchors {\n left: true\n bottom: true\n right: true\n }\n\n Text {\n anchors.centerIn: parent\n text: \"Hello!\"\n }\n}\n```\n", + "properties": { + "anchors": { + "type": { + "gadget": { + "bottom": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "left": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "right": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "top": { + "type": "qt", + "module": "qml", + "name": "bool" + } + } + }, + "details": "Anchors attach a shell window to the sides of the screen.\nBy default all anchors are disabled to avoid blocking the entire screen due to a misconfiguration.\n\n{{< callout type=\"info\" >}}\n When two opposite anchors are attached at the same time, the corrosponding dimension\n(width or height) will be forced to equal the screen width/height.\nMargins can be used to create anchored windows that are also disconnected from the monitor sides.\n\n{{< /callout >}}" + }, + "exclusiveZone": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "The amount of space reserved for the shell layer relative to its anchors.\nSetting this property sets {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"exclusionMode\" >}} to `ExclusionMode.Normal`.\n\n{{< callout type=\"info\" >}}\n Either 1 or 3 anchors are required for the zone to take effect.\n\n{{< /callout >}}" + }, + "margins": { + "type": { + "gadget": { + "left": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "bottom": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "right": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "top": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + }, + "details": "Offsets from the sides of the screen.\n\n{{< callout type=\"info\" >}}\n Only applies to edges with anchors\n\n{{< /callout >}}" + }, + "aboveWindows": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the panel should render above standard windows. Defaults to true.\n\nNote: On Wayland this property corrosponds to {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"WlrLayershell\" mtype=\"prop\" mname=\"layer\" >}}.\n" + }, + "exclusionMode": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ExclusionMode" + }, + "details": "Defaults to `ExclusionMode.Auto`.\n" + }, + "focusable": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the panel should accept keyboard focus. Defaults to false.\n\nNote: On Wayland this property corrosponds to {{< qmltypelink type=\"local\" module=\"Quickshell.Wayland\" name=\"WlrLayershell\" mtype=\"prop\" mname=\"keyboardFocus\" >}}.\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/PersistentProperties.json b/modules_old/Quickshell/PersistentProperties.json new file mode 100644 index 0000000..54beeca --- /dev/null +++ b/modules_old/Quickshell/PersistentProperties.json @@ -0,0 +1,27 @@ +{ + "name": "PersistentProperties", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Reloadable" + }, + "description": "Object that holds properties that can persist across a config reload.", + "details": "PersistentProperties holds properties declated in it across a reload, which is\noften useful for things like keeping expandable popups open and styling them.\n\nBelow is an example of using `PersistentProperties` to keep track of the state\nof an expandable panel. When the configuration is reloaded, the `expanderOpen` property\nwill be saved and the expandable panel will stay in the open/closed state.\n\n```qml\nPersistentProperties {\n id: persist\n reloadableId: \"persistedStates\"\n\n property bool expanderOpen: false\n}\n\nButton {\n id: expanderButton\n anchors.centerIn: parent\n text: \"toggle expander\"\n onClicked: persist.expanderOpen = !persist.expanderOpen\n}\n\nRectangle {\n anchors.top: expanderButton.bottom\n anchors.left: expanderButton.left\n anchors.right: expanderButton.right\n height: 100\n\n color: \"lightblue\"\n visible: persist.expanderOpen\n}\n```\n", + "properties": {}, + "functions": [], + "signals": { + "loaded": { + "name": "loaded", + "details": "Called every time the reload stage completes.\nWill be called every time, including when nothing was loaded from an old instance.\n", + "params": [] + }, + "reloaded": { + "name": "reloaded", + "details": "Called every time the properties are reloaded.\nWill not be called if no old instance was loaded.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/PopupAdjustment.json b/modules_old/Quickshell/PopupAdjustment.json new file mode 100644 index 0000000..3e7e35c --- /dev/null +++ b/modules_old/Quickshell/PopupAdjustment.json @@ -0,0 +1,42 @@ +{ + "name": "PopupAdjustment", + "module": "Quickshell", + "type": "enum", + "description": null, + "details": null, + "variants": { + "Resize": { + "details": null + }, + "All": { + "details": null + }, + "ResizeX": { + "details": null + }, + "ResizeY": { + "details": null + }, + "SlideY": { + "details": null + }, + "SlideX": { + "details": null + }, + "FlipX": { + "details": null + }, + "None": { + "details": null + }, + "Slide": { + "details": null + }, + "FlipY": { + "details": null + }, + "Flip": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell/PopupWindow.json b/modules_old/Quickshell/PopupWindow.json new file mode 100644 index 0000000..8efc468 --- /dev/null +++ b/modules_old/Quickshell/PopupWindow.json @@ -0,0 +1,71 @@ +{ + "name": "PopupWindow", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "QsWindow" + }, + "description": "Popup window.", + "details": "Popup window that can display in a position relative to a floating\nor panel window.\n\n#### Example\nThe following snippet creates a panel with a popup centered over it.\n\n```qml\nPanelWindow {\n id: toplevel\n\n anchors {\n bottom: true\n left: true\n right: true\n }\n\n PopupWindow {\n parentWindow: toplevel\n relativeX: parentWindow.width / 2 - width / 2\n relativeY: parentWindow.height\n width: 500\n height: 500\n visible: true\n }\n}\n```\n", + "properties": { + "relativeX": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "The X position of the popup relative to the parent window.\n" + }, + "anchor": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "visible": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the window is shown or hidden. Defaults to false.\n" + }, + "parentWindow": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "details": "The parent window of this popup.\n\nChanging this property reparents the popup.\n" + }, + "relativeY": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "The Y position of the popup relative to the parent window.\n" + }, + "screen": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ShellScreen" + }, + "details": "The screen that the window currently occupies.\n\nThis may be modified to move the window to the given screen.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/QsMenuButtonType.json b/modules_old/Quickshell/QsMenuButtonType.json new file mode 100644 index 0000000..ad6a463 --- /dev/null +++ b/modules_old/Quickshell/QsMenuButtonType.json @@ -0,0 +1,50 @@ +{ + "name": "QsMenuButtonType", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Button type associated with a QsMenuEntry.", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"QsMenuEntry\" mtype=\"prop\" mname=\"buttonType\" >}}.\n", + "flags": [ + "enum" + ], + "properties": {}, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [ + { + "name": "value", + "type": { + "type": "local", + "module": "Quickshell", + "name": "QsMenuButtonType" + } + } + ] + } + ], + "signals": {}, + "variants": { + "CheckBox": { + "details": "This menu item should draw a checkbox.\n" + }, + "None": { + "details": "This menu item does not have a checkbox or a radiobutton associated with it.\n" + }, + "RadioButton": { + "details": "This menu item should draw a radiobutton.\n" + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell/QsMenuEntry.json b/modules_old/Quickshell/QsMenuEntry.json new file mode 100644 index 0000000..e59114c --- /dev/null +++ b/modules_old/Quickshell/QsMenuEntry.json @@ -0,0 +1,140 @@ +{ + "name": "QsMenuEntry", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": null, + "flags": [ + "uncreatable" + ], + "properties": { + "hasChildren": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If this menu item has children that can be accessed through a {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"QsMenuOpener\" mtype=\"\" mname=\"\" >}}.\n", + "flags": [ + "readonly" + ] + }, + "buttonType": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "QsMenuButtonType" + }, + "details": "If this menu item has an associated checkbox or radiobutton.\n", + "flags": [ + "readonly" + ] + }, + "text": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Text of the menu item.\n", + "flags": [ + "readonly" + ] + }, + "icon": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Url of the menu item's icon or `\"\"` if it doesn't have one.\n\nThis can be passed to [Image.source](https://doc.qt.io/qt-6/qml-qtquick-image.html#source-prop)\nas shown below.\n\n```qml\nImage {\n source: menuItem.icon\n // To get the best image quality, set the image source size to the same size\n // as the rendered image.\n sourceSize.width: width\n sourceSize.height: height\n}\n```\n", + "flags": [ + "readonly" + ] + }, + "isSeparator": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If this menu item should be rendered as a separator between other items.\n\nNo other properties have a meaningful value when {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"isSeparator\" >}} is true.\n", + "flags": [ + "readonly" + ] + }, + "enabled": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "checkState": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": "The check state of the checkbox or radiobutton if applicable, as a\n[Qt.CheckState](https://doc.qt.io/qt-6/qt.html#CheckState-enum).\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "display", + "id": "display", + "details": "Display a platform menu at the given location relative to the parent window.\n", + "params": [ + { + "name": "parentWindow", + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + { + "name": "relativeX", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + }, + { + "name": "relativeY", + "type": { + "type": "qt", + "module": "qml", + "name": "int" + } + } + ] + } + ], + "signals": { + "triggered": { + "name": "triggered", + "details": "Send a trigger/click signal to the menu entry.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/QsMenuOpener.json b/modules_old/Quickshell/QsMenuOpener.json new file mode 100644 index 0000000..aeab557 --- /dev/null +++ b/modules_old/Quickshell/QsMenuOpener.json @@ -0,0 +1,41 @@ +{ + "name": "QsMenuOpener", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Provides access to children of a QsMenuEntry", + "details": "", + "properties": { + "menu": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "QsMenuEntry" + }, + "details": "The menu to retrieve children from.\n" + }, + "children": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "local", + "module": "Quickshell", + "name": "QsMenuEntry" + } + }, + "details": "The children of the given menu.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/QsWindow.json b/modules_old/Quickshell/QsWindow.json new file mode 100644 index 0000000..24aef13 --- /dev/null +++ b/modules_old/Quickshell/QsWindow.json @@ -0,0 +1,113 @@ +{ + "name": "QsWindow", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Reloadable" + }, + "description": "Base class of Quickshell windows", + "details": "Base class of Quickshell windows\n### Attached properties\n`QSWindow` can be used as an attached object of anything that subclasses {{< qmltypelink type=\"qt\" module=\"qml.QtQuick\" name=\"Item\" mtype=\"\" mname=\"\" >}}.\nIt provides the following properties\n- `window` - the `QSWindow` object.\n- `contentItem` - the `contentItem` property of the window.\n", + "flags": ["uncreatable"], + "properties": { + "width": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null + }, + "height": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null + }, + "data": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + "details": null, + "flags": ["default", "readonly"] + }, + "backingWindowVisible": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the window is currently shown. You should generally prefer [prop||visible](#visible).\n\nThis property is useful for ensuring windows spawn in a specific order, and you should\nnot use it in place of [prop||visible](#visible).\n", + "flags": ["readonly"] + }, + "contentItem": { + "type": { + "type": "qt", + "module": "qml.QtQuick", + "name": "Item" + }, + "details": null, + "flags": ["readonly"] + }, + "screen": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "ShellScreen" + }, + "details": "The screen that the window currently occupies.\n\nThis may be modified to move the window to the given screen.\n" + }, + "mask": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "Region" + }, + "details": "The clickthrough mask. Defaults to null.\n\nIf non null then the clickable areas of the window will be determined by the provided region.\n\n```qml\nShellWindow {\n // The mask region is set to `rect`, meaning only `rect` is clickable.\n // All other clicks pass through the window to ones behind it.\n mask: Region { item: rect }\n\n Rectangle {\n id: rect\n\n anchors.centerIn: parent\n width: 100\n height: 100\n }\n}\n```\n\nIf the provided region's intersection mode is `Combine` (the default),\nthen the region will be used as is. Otherwise it will be applied on top of the window region.\n\nFor example, setting the intersection mode to `Xor` will invert the mask and make everything in\nthe mask region not clickable and pass through clicks inside it through the window.\n\n```qml\nShellWindow {\n // The mask region is set to `rect`, but the intersection mode is set to `Xor`.\n // This inverts the mask causing all clicks inside `rect` to be passed to the window\n // behind this one.\n mask: Region { item: rect; intersection: Intersection.Xor }\n\n Rectangle {\n id: rect\n\n anchors.centerIn: parent\n width: 100\n height: 100\n }\n}\n```\n" + }, + "color": { + "type": { + "type": "qt", + "module": "qml", + "name": "color" + }, + "details": "The background color of the window. Defaults to white.\n\n{{< callout type=\"warning\" >}}\n This seems to behave weirdly when using transparent colors on some systems.\nUsing a colored content item over a transparent window is the recommended way to work around this:\n```qml\nProxyWindow {\n color: \"transparent\"\n Rectangle {\n anchors.fill: parent\n color: \"#20ffffff\"\n\n // your content here\n }\n}\n```\n\n{{< /callout >}}" + }, + "visible": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the window should be shown or hidden. Defaults to true.\n" + }, + "windowTransform": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "details": "Opaque property that will receive an update when factors that affect the window's position\nand transform changed.\n\nThis property is intended to be used to force a binding update,\nalong with map[To|From]Item (which is not reactive).\n", + "flags": ["readonly"] + } + }, + "functions": [], + "signals": { + "windowConnected": { + "name": "windowConnected", + "details": null, + "params": [] + } + }, + "variants": {} +} diff --git a/modules_old/Quickshell/Quickshell.json b/modules_old/Quickshell/Quickshell.json new file mode 100644 index 0000000..4aef9e4 --- /dev/null +++ b/modules_old/Quickshell/Quickshell.json @@ -0,0 +1,149 @@ +{ + "name": "Quickshell", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": null, + "flags": [ + "singleton" + ], + "properties": { + "screens": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "local", + "module": "Quickshell", + "name": "ShellScreen" + } + }, + "details": "All currently connected screens.\n\nThis property updates as connected screens change.\n\n#### Reusing a window on every screen\n```qml\nShellRoot {\n Variants {\n // see Variants for details\n variants: Quickshell.screens\n PanelWindow {\n property var modelData\n screen: modelData\n }\n }\n}\n```\n\nThis creates an instance of your window once on every screen.\nAs screens are added or removed your window will be created or destroyed on those screens.\n", + "flags": [ + "readonly" + ] + }, + "watchFiles": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If true then the configuration will be reloaded whenever any files change.\nDefaults to true.\n" + }, + "workingDirectory": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Quickshell's working directory. Defaults to whereever quickshell was launched from.\n" + }, + "processId": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "Quickshell's process id.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "variant" + }, + "name": "env", + "id": "env", + "details": "Returns the string value of an environment variable or null if it is not set.\n", + "params": [ + { + "name": "variable", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "iconPath", + "id": "iconPath", + "details": "Returns a string usable for a {{< qmltypelink type=\"qt\" module=\"qml.QtQuick\" name=\"Image\" mtype=\"prop\" mname=\"source\" >}} for a given system icon.\n", + "params": [ + { + "name": "icon", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "reload", + "id": "reload", + "details": "Reload the shell.\n\n`hard` - perform a hard reload. If this is false, Quickshell will attempt to reuse windows\nthat already exist. If true windows will be recreated.\n\nSee {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"Reloadable\" mtype=\"\" mname=\"\" >}} for more information on what can be reloaded and how.\n", + "params": [ + { + "name": "hard", + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + } + } + ] + } + ], + "signals": { + "reloadCompleted": { + "name": "reloadCompleted", + "details": "The reload sequence has completed successfully.\n", + "params": [] + }, + "reloadFailed": { + "name": "reloadFailed", + "details": "The reload sequence has failed.\n", + "params": [ + { + "name": "errorString", + "type": { + "type": "qt", + "module": "qml", + "name": "string" + } + } + ] + }, + "lastWindowClosed": { + "name": "lastWindowClosed", + "details": "Sent when the last window is closed.\n\nTo make the application exit when the last window is closed run `Qt.quit()`.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/QuickshellSettings.json b/modules_old/Quickshell/QuickshellSettings.json new file mode 100644 index 0000000..71502f0 --- /dev/null +++ b/modules_old/Quickshell/QuickshellSettings.json @@ -0,0 +1,42 @@ +{ + "name": "QuickshellSettings", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Accessor for some options under the Quickshell type.", + "details": "", + "flags": [ + "uncreatable" + ], + "properties": { + "watchFiles": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If true then the configuration will be reloaded whenever any files change.\nDefaults to true.\n" + }, + "workingDirectory": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "Quickshell's working directory. Defaults to whereever quickshell was launched from.\n" + } + }, + "functions": [], + "signals": { + "lastWindowClosed": { + "name": "lastWindowClosed", + "details": "Sent when the last window is closed.\n\nTo make the application exit when the last window is closed run `Qt.quit()`.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/Region.json b/modules_old/Quickshell/Region.json new file mode 100644 index 0000000..41a669a --- /dev/null +++ b/modules_old/Quickshell/Region.json @@ -0,0 +1,101 @@ +{ + "name": "Region", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A composable region used as a mask.", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"QsWindow\" mtype=\"prop\" mname=\"mask\" >}}.\n", + "properties": { + "item": { + "type": { + "type": "qt", + "module": "qml.QtQuick", + "name": "Item" + }, + "details": "The item that determines the geometry of the region.\n`item` overrides {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"x\" >}}, {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"y\" >}}, {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"width\" >}} and {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"height\" >}}.\n" + }, + "regions": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "local", + "module": "Quickshell", + "name": "Region" + } + }, + "details": "Regions to apply on top of this region.\n\nRegions can be nested to create a more complex region.\nFor example this will create a square region with a cutout in the middle.\n```qml\nRegion {\n width: 100; height: 100;\n\n Region {\n x: 50; y: 50;\n width: 50; height: 50;\n intersection: Intersection.Subtract\n }\n}\n```\n", + "flags": [ + "default", + "readonly" + ] + }, + "intersection": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "Intersection" + }, + "details": "The way this region interacts with its parent region. Defaults to `Combine`.\n" + }, + "y": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "Defaults to 0. Does nothing if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"item\" >}} is set.\n" + }, + "width": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "Defaults to 0. Does nothing if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"item\" >}} is set.\n" + }, + "height": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "Defaults to 0. Does nothing if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"item\" >}} is set.\n" + }, + "shape": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "RegionShape" + }, + "details": "Defaults to `Rect`.\n" + }, + "x": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": "Defaults to 0. Does nothing if {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"item\" >}} is set.\n" + } + }, + "functions": [], + "signals": { + "childrenChanged": { + "name": "childrenChanged", + "details": null, + "params": [] + }, + "changed": { + "name": "changed", + "details": null, + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/RegionShape.json b/modules_old/Quickshell/RegionShape.json new file mode 100644 index 0000000..189e1cd --- /dev/null +++ b/modules_old/Quickshell/RegionShape.json @@ -0,0 +1,15 @@ +{ + "name": "RegionShape", + "module": "Quickshell", + "type": "enum", + "description": "Shape of a Region.", + "details": "See {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"Region\" mtype=\"prop\" mname=\"shape\" >}}.\n", + "variants": { + "Ellipse": { + "details": null + }, + "Rect": { + "details": null + } + } +} \ No newline at end of file diff --git a/modules_old/Quickshell/Reloadable.json b/modules_old/Quickshell/Reloadable.json new file mode 100644 index 0000000..9561d0e --- /dev/null +++ b/modules_old/Quickshell/Reloadable.json @@ -0,0 +1,28 @@ +{ + "name": "Reloadable", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "The base class of all types that can be reloaded.", + "details": "Reloadables will attempt to take specific state from previous config revisions if possible.\nSome examples are {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"ProxyWindowBase\" mtype=\"\" mname=\"\" >}} and {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"PersistentProperties\" mtype=\"\" mname=\"\" >}}\n", + "flags": [ + "uncreatable" + ], + "properties": { + "reloadableId": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "An additional identifier that can be used to try to match a reloadable object to its\nprevious state.\n\nSimply keeping a stable identifier across config versions (saves) is\nenough to help the reloader figure out which object in the old revision corrosponds to\nthis object in the current revision, and facilitate smoother reloading.\n\nNote that identifiers are scoped, and will try to do the right thing in context.\nFor example if you have a {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"Variants\" mtype=\"\" mname=\"\" >}} wrapping an object with an identified element inside,\na scope is created at the variant level.\n\n```qml\nVariants {\n // multiple variants of the same object tree\n variants: [ { foo: 1 }, { foo: 2 } ]\n\n // any non `Reloadable` object\n QtObject {\n FloatingWindow {\n // this FloatingWindow will now be matched to the same one in the previous\n // widget tree for its variant. \"myFloatingWindow\" refers to both the variant in\n // `foo: 1` and `foo: 2` for each tree.\n reloadableId: \"myFloatingWindow\"\n\n // ...\n }\n }\n}\n```\n" + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/Retainable.json b/modules_old/Quickshell/Retainable.json new file mode 100644 index 0000000..16954b2 --- /dev/null +++ b/modules_old/Quickshell/Retainable.json @@ -0,0 +1,76 @@ +{ + "name": "Retainable", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Attached object for types that can have delayed destruction.", + "details": "Retainable works as an attached property that allows objects to be\nkept around (retained) after they would normally be destroyed, which\nis especially useful for things like exit transitions.\n\nAn object that is retainable will have {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"Retainable\" mtype=\"\" mname=\"\" >}} as an attached property.\nAll retainable objects will say that they are retainable on their respective\ntypeinfo pages.\n\n{{< callout type=\"info\" >}}\n Working directly with {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"Retainable\" mtype=\"\" mname=\"\" >}} is often overly complicated and\nerror prone. For this reason {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"RetainableLock\" mtype=\"\" mname=\"\" >}} should\nusually be used instead.\n\n{{< /callout >}}", + "flags": [ + "uncreatable" + ], + "properties": { + "retained": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the object is currently in a retained state.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "forceUnlock", + "id": "forceUnlock", + "details": "Forcibly remove all locks, destroying the object.\n\n{{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"unlock\" >}} should usually be preferred.\n", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "lock", + "id": "lock", + "details": "Hold a lock on the object so it cannot be destroyed.\n\nA counter is used to ensure you can lock the object from multiple places\nand it will not be unlocked until the same number of unlocks as locks have occurred.\n\n{{< callout type=\"warning\" >}}\n It is easy to forget to unlock a locked object.\nDoing so will create what is effectively a memory leak.\n\nUsing {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"RetainableLock\" mtype=\"\" mname=\"\" >}} is recommended as it will help\navoid this scenario and make misuse more obvious.\n\n{{< /callout >}}", + "params": [] + }, + { + "ret": { + "type": "qt", + "module": "qml", + "name": "void" + }, + "name": "unlock", + "id": "unlock", + "details": "Remove a lock on the object. See {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"func\" mname=\"lock\" >}} for more information.\n", + "params": [] + } + ], + "signals": { + "aboutToDestroy": { + "name": "aboutToDestroy", + "details": "This signal is sent immediately before the object is destroyed.\nAt this point destruction cannot be interrupted.\n", + "params": [] + }, + "dropped": { + "name": "dropped", + "details": "This signal is sent when the object would normally be destroyed.\n\nIf all signal handlers return and no locks are in place, the object will be destroyed.\nIf at least one lock is present the object will be retained until all are removed.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/RetainableLock.json b/modules_old/Quickshell/RetainableLock.json new file mode 100644 index 0000000..cc41bf6 --- /dev/null +++ b/modules_old/Quickshell/RetainableLock.json @@ -0,0 +1,55 @@ +{ + "name": "RetainableLock", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "A helper for easily using Retainable.", + "details": "A RetainableLock provides extra safety and ease of use for locking\n{{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"Retainable\" mtype=\"\" mname=\"\" >}} objects. A retainable object can be locked by multiple\nlocks at once, and each lock re-exposes relevant properties\nof the retained objects.\n\n#### Example\nThe code below will keep a retainable object alive for as long as the\nRetainableLock exists.\n\n```qml\nRetainableLock {\n object: aRetainableObject\n locked: true\n}\n```\n", + "properties": { + "object": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "details": "The object to lock. Must be {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"Retainable\" mtype=\"\" mname=\"\" >}}.\n" + }, + "retained": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the object is currently in a retained state.\n", + "flags": [ + "readonly" + ] + }, + "locked": { + "type": { + "type": "qt", + "module": "qml", + "name": "bool" + }, + "details": "If the object should be locked.\n" + } + }, + "functions": [], + "signals": { + "aboutToDestroy": { + "name": "aboutToDestroy", + "details": "Rebroadcast of the object's {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"Retainable\" mtype=\"signal\" mname=\"aboutToDestroy\" >}}.\n", + "params": [] + }, + "dropped": { + "name": "dropped", + "details": "Rebroadcast of the object's {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"Retainable\" mtype=\"signal\" mname=\"dropped\" >}}.\n", + "params": [] + } + }, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/Scope.json b/modules_old/Quickshell/Scope.json new file mode 100644 index 0000000..702e2fb --- /dev/null +++ b/modules_old/Quickshell/Scope.json @@ -0,0 +1,34 @@ +{ + "name": "Scope", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Reloadable" + }, + "description": "Scope that propagates reloads to child items in order.", + "details": "Convenience type equivalent to setting {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"Reloadable\" mtype=\"prop\" mname=\"reloadableId\" >}} for all children.\n\nNote that this does not work for visible {{< qmltypelink type=\"qt\" module=\"qml.QtQuick\" name=\"Item\" mtype=\"\" mname=\"\" >}}s (all widgets).\n\n```qml\nShellRoot {\n Variants {\n variants: ...\n\n Scope {\n // everything in here behaves the same as if it was defined\n // directly in `Variants` reload-wise.\n }\n }\n}\n", + "properties": { + "children": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + "details": null, + "flags": [ + "default", + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/ShellRoot.json b/modules_old/Quickshell/ShellRoot.json new file mode 100644 index 0000000..d75b2da --- /dev/null +++ b/modules_old/Quickshell/ShellRoot.json @@ -0,0 +1,28 @@ +{ + "name": "ShellRoot", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Scope" + }, + "description": "Root config element", + "details": "", + "properties": { + "settings": { + "type": { + "type": "local", + "module": "Quickshell", + "name": "QuickshellSettings" + }, + "details": null, + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/ShellScreen.json b/modules_old/Quickshell/ShellScreen.json new file mode 100644 index 0000000..8972d2b --- /dev/null +++ b/modules_old/Quickshell/ShellScreen.json @@ -0,0 +1,142 @@ +{ + "name": "ShellScreen", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": null, + "details": "Monitor object useful for setting the monitor for a {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"QsWindow\" mtype=\"\" mname=\"\" >}}\nor querying information about the monitor.\n\n{{< callout type=\"warning\" >}}\n If the monitor is disconnected than any stored copies of its ShellMonitor will\nbe marked as dangling and all properties will return default values.\nReconnecting the monitor will not reconnect it to the ShellMonitor object.\n{{< /callout >}}\n\nDue to some technical limitations, it was not possible to reuse the native qml {{< qmltypelink type=\"qt\" module=\"qml.QtQuick\" name=\"Screen\" mtype=\"\" mname=\"\" >}} type.\n", + "flags": [ + "uncreatable" + ], + "properties": { + "devicePixelRatio": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "The ratio between physical pixels and device-independent (scaled) pixels.\n", + "flags": [ + "readonly" + ] + }, + "width": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "orientation": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "logicalPixelDensity": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "The number of device-independent (scaled) pixels per millimeter.\n", + "flags": [ + "readonly" + ] + }, + "primatyOrientation": { + "type": { + "type": "unknown", + "module": "", + "name": "" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "y": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "name": { + "type": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "details": "The name of the screen as seen by the operating system.\n\nUsually something like `DP-1`, `HDMI-1`, `eDP-1`.\n", + "flags": [ + "readonly" + ] + }, + "height": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "x": { + "type": { + "type": "qt", + "module": "qml", + "name": "int" + }, + "details": null, + "flags": [ + "readonly" + ] + }, + "physicalPixelDensity": { + "type": { + "type": "qt", + "module": "qml", + "name": "real" + }, + "details": "The number of physical pixels per millimeter.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [ + { + "ret": { + "type": "qt", + "module": "qml", + "name": "string" + }, + "name": "toString", + "id": "toString", + "details": null, + "params": [] + } + ], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/Singleton.json b/modules_old/Quickshell/Singleton.json new file mode 100644 index 0000000..9651e88 --- /dev/null +++ b/modules_old/Quickshell/Singleton.json @@ -0,0 +1,16 @@ +{ + "name": "Singleton", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Scope" + }, + "description": "The root component for reloadable singletons.", + "details": "All singletons should inherit from this type.\n", + "properties": {}, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/TransformWatcher.json b/modules_old/Quickshell/TransformWatcher.json new file mode 100644 index 0000000..48a48d7 --- /dev/null +++ b/modules_old/Quickshell/TransformWatcher.json @@ -0,0 +1,52 @@ +{ + "name": "TransformWatcher", + "module": "Quickshell", + "type": "class", + "super": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "description": "Monitor of all geometry changes between two objects.", + "details": "The TransformWatcher monitors all properties that affect the geometry\nof two {{< qmltypelink type=\"qt\" module=\"qml.QtQuick\" name=\"Item\" mtype=\"\" mname=\"\" >}}s relative to eachother.\n\n{{< callout type=\"info\" >}}\n The algorithm responsible for determining the relationship\nbetween `a` and `b` is biased towards `a` being a parent of `b`,\nor `a` being closer to the common parent of `a` and `b` than `b`.\n\n{{< /callout >}}", + "properties": { + "commonParent": { + "type": { + "type": "qt", + "module": "qml.QtQuick", + "name": "Item" + }, + "details": "Known common parent of both `a` and `b`. Defaults to `null`.\n\nThis property can be used to optimize the algorithm that figures out\nthe relationship between `a` and `b`. Setting it to something that is not\na common parent of both `a` and `b` will prevent the path from being determined\ncorrectly, and setting it to `null` will disable the optimization.\n" + }, + "transform": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + }, + "details": "This property is updated whenever the geometry of any item in the path from `a` to `b` changes.\n\nIts value is undefined, and is intended to trigger an expression update.\n", + "flags": [ + "readonly" + ] + }, + "b": { + "type": { + "type": "qt", + "module": "qml.QtQuick", + "name": "Item" + }, + "details": null + }, + "a": { + "type": { + "type": "qt", + "module": "qml.QtQuick", + "name": "Item" + }, + "details": null + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/Variants.json b/modules_old/Quickshell/Variants.json new file mode 100644 index 0000000..44ff9a5 --- /dev/null +++ b/modules_old/Quickshell/Variants.json @@ -0,0 +1,57 @@ +{ + "name": "Variants", + "module": "Quickshell", + "type": "class", + "super": { + "type": "local", + "module": "Quickshell", + "name": "Reloadable" + }, + "description": "Creates instances of a component based on a given model.", + "details": "Creates and destroys instances of the given component when the given property changes.\n\n`Variants` is similar to {{< qmltypelink type=\"qt\" module=\"qml.QtQuick\" name=\"Repeater\" mtype=\"\" mname=\"\" >}} except it is for *non {{< qmltypelink type=\"qt\" module=\"qml.QtQuick\" name=\"Item\" mtype=\"\" mname=\"\" >}}* objects, and acts as\na reload scope.\n\nEach non duplicate value passed to {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"model\" >}} will create a new instance of\n{{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"delegate\" >}} with a `modelData` property set to that value.\n\nSee {{< qmltypelink type=\"local\" module=\"Quickshell\" name=\"Quickshell\" mtype=\"prop\" mname=\"screens\" >}} for an example of using `Variants` to create copies of a window per\nscreen.\n\n{{< callout type=\"warning\" >}}\n BUG: Variants currently fails to reload children if the variant set is changed as\nit is instantiated. (usually due to a mutation during variant creation)\n\n{{< /callout >}}", + "properties": { + "model": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml", + "name": "variant" + } + }, + "details": "The list of sets of properties to create instances with.\nEach set creates an instance of the component, which are updated when the input sets update.\n" + }, + "delegate": { + "type": { + "type": "qt", + "module": "qml.QtQml", + "name": "Component" + }, + "details": "The component to create instances of.\n\nThe delegate should define a `modelData` property that will be popuplated with a value\nfrom the {{< qmltypelink type=\"\" module=\"\" name=\"\" mtype=\"prop\" mname=\"model\" >}}.\n", + "flags": [ + "default" + ] + }, + "instances": { + "type": { + "type": "qt", + "module": "qml", + "name": "list", + "of": { + "type": "qt", + "module": "qml.QtQml", + "name": "QtObject" + } + }, + "details": "Current instances of the delegate.\n", + "flags": [ + "readonly" + ] + } + }, + "functions": [], + "signals": {}, + "variants": {} +} \ No newline at end of file diff --git a/modules_old/Quickshell/index.json b/modules_old/Quickshell/index.json new file mode 100644 index 0000000..64ddf82 --- /dev/null +++ b/modules_old/Quickshell/index.json @@ -0,0 +1,5 @@ +{ + "name": "Quickshell", + "description": "Core Quickshell types", + "details": "" +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..93475a6 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,7728 @@ +{ + "name": "quickshell-docs", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "quickshell-docs", + "version": "0.0.1", + "dependencies": { + "@ark-ui/solid": "^3.5.0", + "@astrojs/check": "^0.9.3", + "@astrojs/mdx": "^3.1.4", + "@astrojs/solid-js": "^4.4.1", + "@types/node": "^20.14.11", + "astro": "^4.14.5", + "astro-breadcrumbs": "^2.3.1", + "astro-pagefind": "^1.6.0", + "fuse.js": "^7.0.0", + "marked": "^14.1.0", + "marked-alert": "^2.0.2", + "node": "npm:22.7.0", + "remark-github-blockquote-alert": "^1.2.1", + "remark-parse": "^11.0.0", + "solid-devtools": "^0.30.1", + "solid-js": "^1.8.18", + "typescript": "^5.5.3" + }, + "devDependencies": { + "@astrojs/ts-plugin": "^1.10.1", + "@biomejs/biome": "^1.8.3", + "@hbsnow/rehype-sectionize": "^1.0.7", + "shiki": "^1.11.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@ark-ui/solid": { + "version": "3.5.0", + "license": "MIT", + "dependencies": { + "@zag-js/accordion": "0.59.0", + "@zag-js/anatomy": "0.59.0", + "@zag-js/avatar": "0.59.0", + "@zag-js/carousel": "0.59.0", + "@zag-js/checkbox": "0.59.0", + "@zag-js/clipboard": "0.59.0", + "@zag-js/collapsible": "0.59.0", + "@zag-js/color-picker": "0.59.0", + "@zag-js/combobox": "0.59.0", + "@zag-js/date-picker": "0.59.0", + "@zag-js/dialog": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/editable": "0.59.0", + "@zag-js/file-upload": "0.59.0", + "@zag-js/file-utils": "0.59.0", + "@zag-js/hover-card": "0.59.0", + "@zag-js/i18n-utils": "0.59.0", + "@zag-js/menu": "0.59.0", + "@zag-js/number-input": "0.59.0", + "@zag-js/pagination": "0.59.0", + "@zag-js/pin-input": "0.59.0", + "@zag-js/popover": "0.59.0", + "@zag-js/presence": "0.59.0", + "@zag-js/progress": "0.59.0", + "@zag-js/qr-code": "0.59.0", + "@zag-js/radio-group": "0.59.0", + "@zag-js/rating-group": "0.59.0", + "@zag-js/select": "0.59.0", + "@zag-js/signature-pad": "0.59.0", + "@zag-js/slider": "0.59.0", + "@zag-js/solid": "0.59.0", + "@zag-js/splitter": "0.59.0", + "@zag-js/switch": "0.59.0", + "@zag-js/tabs": "0.59.0", + "@zag-js/tags-input": "0.59.0", + "@zag-js/toast": "0.59.0", + "@zag-js/toggle-group": "0.59.0", + "@zag-js/tooltip": "0.59.0", + "@zag-js/tree-view": "0.59.0", + "@zag-js/types": "0.59.0" + }, + "peerDependencies": { + "solid-js": ">=1.6.0" + } + }, + "node_modules/@astrojs/check": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.9.3.tgz", + "integrity": "sha512-I6Dz45bMI5YRbp4yK2LKWsHH3/kkHRGdPGruGkLap6pqxhdcNh7oCgN04Ac+haDfc9ow5BYPGPmEhkwef15GQQ==", + "license": "MIT", + "dependencies": { + "@astrojs/language-server": "^2.14.1", + "chokidar": "^3.5.3", + "fast-glob": "^3.3.1", + "kleur": "^4.1.5", + "yargs": "^17.7.2" + }, + "bin": { + "astro-check": "dist/bin.js" + }, + "peerDependencies": { + "typescript": "^5.0.0" + } + }, + "node_modules/@astrojs/compiler": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.10.3.tgz", + "integrity": "sha512-bL/O7YBxsFt55YHU021oL+xz+B/9HvGNId3F9xURN16aeqDK9juHGktdkCSXz+U4nqFACq6ZFvWomOzhV+zfPw==", + "license": "MIT" + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.4.1", + "license": "MIT" + }, + "node_modules/@astrojs/language-server": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.14.1.tgz", + "integrity": "sha512-mkKtCTPRD4dyKdAqIP0zmmPyO/ZABOqFESnaVca47Dg/sAagJnDSEsDUDzNbHFh1+9Dj1o5y4iwNsxJboGdaNg==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.10.3", + "@astrojs/yaml2ts": "^0.2.1", + "@jridgewell/sourcemap-codec": "^1.4.15", + "@volar/kit": "~2.4.0", + "@volar/language-core": "~2.4.0", + "@volar/language-server": "~2.4.0", + "@volar/language-service": "~2.4.0", + "@volar/typescript": "~2.4.0", + "fast-glob": "^3.2.12", + "muggle-string": "^0.4.1", + "volar-service-css": "0.0.61", + "volar-service-emmet": "0.0.61", + "volar-service-html": "0.0.61", + "volar-service-prettier": "0.0.61", + "volar-service-typescript": "0.0.61", + "volar-service-typescript-twoslash-queries": "0.0.61", + "volar-service-yaml": "0.0.61", + "vscode-html-languageservice": "^5.2.0", + "vscode-uri": "^3.0.8" + }, + "bin": { + "astro-ls": "bin/nodeServer.js" + }, + "peerDependencies": { + "prettier": "^3.0.0", + "prettier-plugin-astro": ">=0.11.0" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + }, + "prettier-plugin-astro": { + "optional": true + } + } + }, + "node_modules/@astrojs/markdown-remark": { + "version": "5.2.0", + "license": "MIT", + "dependencies": { + "@astrojs/prism": "3.1.0", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.1", + "hast-util-to-text": "^4.0.2", + "import-meta-resolve": "^4.1.0", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.0", + "remark-gfm": "^4.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.0", + "remark-smartypants": "^3.0.2", + "shiki": "^1.10.3", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.1", + "vfile": "^6.0.2" + } + }, + "node_modules/@astrojs/mdx": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-3.1.4.tgz", + "integrity": "sha512-AcdcAlDpzTM5LHpur7A3NWoIqyfhH1gZNbTvvjiUlDEo7eJjIxl4gdWrb/kZZRfLBEuM8cptCB+Qk11ncQL4IA==", + "license": "MIT", + "dependencies": { + "@astrojs/markdown-remark": "5.2.0", + "@mdx-js/mdx": "^3.0.1", + "acorn": "^8.12.1", + "es-module-lexer": "^1.5.4", + "estree-util-visit": "^2.0.0", + "gray-matter": "^4.0.3", + "hast-util-to-html": "^9.0.1", + "kleur": "^4.1.5", + "rehype-raw": "^7.0.0", + "remark-gfm": "^4.0.0", + "remark-smartypants": "^3.0.2", + "source-map": "^0.7.4", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.2" + }, + "engines": { + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" + }, + "peerDependencies": { + "astro": "^4.8.0" + } + }, + "node_modules/@astrojs/prism": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "prismjs": "^1.29.0" + }, + "engines": { + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" + } + }, + "node_modules/@astrojs/solid-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@astrojs/solid-js/-/solid-js-4.4.1.tgz", + "integrity": "sha512-C8t+0sK8myZ9xJyL+GvNo0LjiqL8KTAJReb8Bn+0WjsOfCm+0N8GKQdBt5Gqf9Ig59KVZon3ydGa6GmqrkCojw==", + "license": "MIT", + "dependencies": { + "vite-plugin-solid": "^2.10.2" + }, + "engines": { + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" + }, + "peerDependencies": { + "solid-devtools": "^0.30.1", + "solid-js": "^1.8.5" + }, + "peerDependenciesMeta": { + "solid-devtools": { + "optional": true + } + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "ci-info": "^4.0.0", + "debug": "^4.3.4", + "dlv": "^1.1.3", + "dset": "^3.1.3", + "is-docker": "^3.0.0", + "is-wsl": "^3.0.0", + "which-pm-runs": "^1.1.0" + }, + "engines": { + "node": "^18.17.1 || ^20.3.0 || >=21.0.0" + } + }, + "node_modules/@astrojs/ts-plugin": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@astrojs/ts-plugin/-/ts-plugin-1.10.1.tgz", + "integrity": "sha512-T7Z8fob6bkgLlcYiJSsn84wF5XelS0VJSEC4BRPnEHZj3eeOrmmMl8uZqBTJ+zArGMOfyhhA7X+SUGRIAZApHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.10.3", + "@astrojs/yaml2ts": "^0.2.1", + "@jridgewell/sourcemap-codec": "^1.4.15", + "@volar/language-core": "~2.4.0", + "@volar/typescript": "~2.4.0", + "semver": "^7.3.8", + "vscode-languageserver-textdocument": "^1.0.11" + } + }, + "node_modules/@astrojs/yaml2ts": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@astrojs/yaml2ts/-/yaml2ts-0.2.1.tgz", + "integrity": "sha512-CBaNwDQJz20E5WxzQh4thLVfhB3JEEGz72wRA+oJp6fQR37QLAqXZJU0mHC+yqMOQ6oj0GfRPJrz6hjf+zm6zA==", + "license": "MIT", + "dependencies": { + "yaml": "^2.5.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.5.tgz", + "integrity": "sha512-abd43wyLfbWoxC6ahM8xTkqLpGB2iWBVyuKC9/srhFunCd1SDNrV1s72bBpK4hLj8KLzHBBcOblvLQZBNw9r3w==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.4", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", + "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.4.tgz", + "integrity": "sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.4" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.7", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.24.7", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz", + "integrity": "sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/types": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.4.tgz", + "integrity": "sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.4", + "@babel/parser": "^7.25.4", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.4", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.4.tgz", + "integrity": "sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@biomejs/biome": { + "version": "1.8.3", + "dev": true, + "hasInstallScript": true, + "license": "MIT OR Apache-2.0", + "bin": { + "biome": "bin/biome" + }, + "engines": { + "node": ">=14.21.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/biome" + }, + "optionalDependencies": { + "@biomejs/cli-darwin-arm64": "1.8.3", + "@biomejs/cli-darwin-x64": "1.8.3", + "@biomejs/cli-linux-arm64": "1.8.3", + "@biomejs/cli-linux-arm64-musl": "1.8.3", + "@biomejs/cli-linux-x64": "1.8.3", + "@biomejs/cli-linux-x64-musl": "1.8.3", + "@biomejs/cli-win32-arm64": "1.8.3", + "@biomejs/cli-win32-x64": "1.8.3" + } + }, + "node_modules/@biomejs/cli-linux-x64": { + "version": "1.8.3", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT OR Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.21.3" + } + }, + "node_modules/@emmetio/abbreviation": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.3.3.tgz", + "integrity": "sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==", + "license": "MIT", + "dependencies": { + "@emmetio/scanner": "^1.0.4" + } + }, + "node_modules/@emmetio/css-abbreviation": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@emmetio/css-abbreviation/-/css-abbreviation-2.1.8.tgz", + "integrity": "sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==", + "license": "MIT", + "dependencies": { + "@emmetio/scanner": "^1.0.4" + } + }, + "node_modules/@emmetio/css-parser": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emmetio/css-parser/-/css-parser-0.4.0.tgz", + "integrity": "sha512-z7wkxRSZgrQHXVzObGkXG+Vmj3uRlpM11oCZ9pbaz0nFejvCDmAiNDpY75+wgXOcffKpj4rzGtwGaZxfJKsJxw==", + "license": "MIT", + "dependencies": { + "@emmetio/stream-reader": "^2.2.0", + "@emmetio/stream-reader-utils": "^0.1.0" + } + }, + "node_modules/@emmetio/html-matcher": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emmetio/html-matcher/-/html-matcher-1.3.0.tgz", + "integrity": "sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ==", + "license": "ISC", + "dependencies": { + "@emmetio/scanner": "^1.0.0" + } + }, + "node_modules/@emmetio/scanner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.4.tgz", + "integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==", + "license": "MIT" + }, + "node_modules/@emmetio/stream-reader": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader/-/stream-reader-2.2.0.tgz", + "integrity": "sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==", + "license": "MIT" + }, + "node_modules/@emmetio/stream-reader-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@emmetio/stream-reader-utils/-/stream-reader-utils-0.1.0.tgz", + "integrity": "sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A==", + "license": "MIT" + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.5", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.5" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.6", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.0.0", + "@floating-ui/utils": "^0.2.3" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.5", + "license": "MIT" + }, + "node_modules/@hbsnow/rehype-sectionize": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@hbsnow/rehype-sectionize/-/rehype-sectionize-1.0.7.tgz", + "integrity": "sha512-twbVxCFf4YwgTm6FIdGtHfJ14vvIHedk2fqZTpE3X6+vszEeZlMTy7tOyI9KaP/6S2DN2Jnk7zZGtZANTD+vEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "hast-util-heading": "^2.0.1", + "hast-util-heading-rank": "^2.1.1", + "rehype": "^12.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/hast-util-from-parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz", + "integrity": "sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "hastscript": "^7.0.0", + "property-information": "^6.0.0", + "vfile": "^5.0.0", + "vfile-location": "^4.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/hast-util-parse-selector": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz", + "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/hast-util-raw": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-7.2.3.tgz", + "integrity": "sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/parse5": "^6.0.0", + "hast-util-from-parse5": "^7.0.0", + "hast-util-to-parse5": "^7.0.0", + "html-void-elements": "^2.0.0", + "parse5": "^6.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/hast-util-to-html": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-8.0.4.tgz", + "integrity": "sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-raw": "^7.0.0", + "hast-util-whitespace": "^2.0.0", + "html-void-elements": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/hast-util-to-parse5": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz", + "integrity": "sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/hast-util-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", + "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/hastscript": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz", + "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^3.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/html-void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz", + "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/rehype": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-12.0.1.tgz", + "integrity": "sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "rehype-parse": "^8.0.0", + "rehype-stringify": "^9.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/rehype-parse": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-8.0.5.tgz", + "integrity": "sha512-Ds3RglaY/+clEX2U2mHflt7NlMA72KspZ0JLUJgBBLpRddBcEw3H8uYZQliQriku22NZpYMfjDdSgHcjxue24A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "hast-util-from-parse5": "^7.0.0", + "parse5": "^6.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/rehype-stringify": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-9.0.4.tgz", + "integrity": "sha512-Uk5xu1YKdqobe5XpSskwPvo1XeHUUucWEQSl8hTrXt5selvca1e8K1EZ37E6YoZ4BT8BCqCdVfQW7OfHfthtVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "hast-util-to-html": "^8.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/unist-util-position": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/vfile-location": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz", + "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@hbsnow/rehype-sectionize/node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.2", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.4", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "glibc": ">=2.26", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0", + "yarn": ">=3.2.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.2" + } + }, + "node_modules/@internationalized/date": { + "version": "3.5.4", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@internationalized/number": { + "version": "3.5.3", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mdx-js/mdx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz", + "integrity": "sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-to-js": "^2.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-estree": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "periscopic": "^3.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nothing-but/utils": { + "version": "0.12.1", + "license": "MIT" + }, + "node_modules/@oslojs/encoding": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-0.4.1.tgz", + "integrity": "sha512-hkjo6MuIK/kQR5CrGNdAPZhS01ZCXuWDRJ187zh6qqF2+yMHZpD9fAYpX8q2bOO6Ryhl3XpCT6kUX76N8hhm4Q==", + "license": "MIT" + }, + "node_modules/@pagefind/darwin-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.1.1.tgz", + "integrity": "sha512-tZ9tysUmQpFs2EqWG2+E1gc+opDAhSyZSsgKmFzhnWfkK02YHZhvL5XJXEZDqYy3s1FAKhwjTg8XDxneuBlDZQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/darwin-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.1.1.tgz", + "integrity": "sha512-ChohLQ39dLwaxQv0jIQB/SavP3TM5K5ENfDTqIdzLkmfs3+JlzSDyQKcJFjTHYcCzQOZVeieeGq8PdqvLJxJxQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/default-ui": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@pagefind/default-ui/-/default-ui-1.1.1.tgz", + "integrity": "sha512-ZM0zDatWDnac/VGHhQCiM7UgA4ca8jpjA+VfuTJyHJBaxGqZMQnm4WoTz9E0KFcue1Bh9kxpu7uWFZfwpZZk0A==", + "license": "MIT" + }, + "node_modules/@pagefind/linux-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.1.1.tgz", + "integrity": "sha512-H5P6wDoCoAbdsWp0Zx0DxnLUrwTGWGLu/VI1rcN2CyFdY2EGSvPQsbGBMrseKRNuIrJDFtxHHHyjZ7UbzaM9EA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/linux-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.1.1.tgz", + "integrity": "sha512-yJs7tTYbL2MI3HT+ngs9E1BfUbY9M4/YzA0yEM5xBo4Xl8Yu8Qg2xZTOQ1/F6gwvMrjCUFo8EoACs6LRDhtMrQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/windows-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.1.1.tgz", + "integrity": "sha512-b7/qPqgIl+lMzkQ8fJt51SfguB396xbIIR+VZ3YrL2tLuyifDJ1wL5mEm+ddmHxJ2Fki340paPcDan9en5OmAw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.28", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz", + "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==", + "license": "MIT" + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.0.tgz", + "integrity": "sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.0.tgz", + "integrity": "sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.0.tgz", + "integrity": "sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.0.tgz", + "integrity": "sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.0.tgz", + "integrity": "sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.0.tgz", + "integrity": "sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.0.tgz", + "integrity": "sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.0.tgz", + "integrity": "sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.0.tgz", + "integrity": "sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.0.tgz", + "integrity": "sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.0.tgz", + "integrity": "sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.0.tgz", + "integrity": "sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.0.tgz", + "integrity": "sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.0.tgz", + "integrity": "sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.0.tgz", + "integrity": "sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.0.tgz", + "integrity": "sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.14.1.tgz", + "integrity": "sha512-KyHIIpKNaT20FtFPFjCQB5WVSTpLR/n+jQXhWHWVUMm9MaOaG9BGOG0MSyt7yA4+Lm+4c9rTc03tt3nYzeYSfw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.4" + } + }, + "node_modules/@solid-devtools/debugger": { + "version": "0.23.4", + "license": "MIT", + "dependencies": { + "@nothing-but/utils": "~0.12.0", + "@solid-devtools/shared": "^0.13.2", + "@solid-primitives/bounds": "^0.0.118", + "@solid-primitives/cursor": "^0.0.112", + "@solid-primitives/event-bus": "^1.0.8", + "@solid-primitives/event-listener": "^2.3.0", + "@solid-primitives/keyboard": "^1.2.5", + "@solid-primitives/platform": "^0.1.0", + "@solid-primitives/rootless": "^1.4.2", + "@solid-primitives/scheduled": "^1.4.1", + "@solid-primitives/static-store": "^0.0.5", + "@solid-primitives/utils": "^6.2.1" + }, + "peerDependencies": { + "solid-js": "^1.8.0" + } + }, + "node_modules/@solid-devtools/shared": { + "version": "0.13.2", + "license": "MIT", + "dependencies": { + "@solid-primitives/event-bus": "^1.0.8", + "@solid-primitives/event-listener": "^2.3.0", + "@solid-primitives/media": "^2.2.5", + "@solid-primitives/refs": "^1.0.5", + "@solid-primitives/rootless": "^1.4.2", + "@solid-primitives/scheduled": "^1.4.1", + "@solid-primitives/static-store": "^0.0.5", + "@solid-primitives/styles": "^0.0.111", + "@solid-primitives/utils": "^6.2.1" + }, + "peerDependencies": { + "solid-js": "^1.8.0" + } + }, + "node_modules/@solid-primitives/bounds": { + "version": "0.0.118", + "license": "MIT", + "dependencies": { + "@solid-primitives/event-listener": "^2.3.0", + "@solid-primitives/resize-observer": "^2.0.22", + "@solid-primitives/static-store": "^0.0.5", + "@solid-primitives/utils": "^6.2.1" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/cursor": { + "version": "0.0.112", + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.1" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/event-bus": { + "version": "1.0.11", + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/event-listener": { + "version": "2.3.3", + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/keyboard": { + "version": "1.2.8", + "license": "MIT", + "dependencies": { + "@solid-primitives/event-listener": "^2.3.3", + "@solid-primitives/rootless": "^1.4.5", + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/media": { + "version": "2.2.9", + "license": "MIT", + "dependencies": { + "@solid-primitives/event-listener": "^2.3.3", + "@solid-primitives/rootless": "^1.4.5", + "@solid-primitives/static-store": "^0.0.8", + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/media/node_modules/@solid-primitives/static-store": { + "version": "0.0.8", + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/platform": { + "version": "0.1.2", + "license": "MIT", + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/refs": { + "version": "1.0.8", + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/resize-observer": { + "version": "2.0.26", + "license": "MIT", + "dependencies": { + "@solid-primitives/event-listener": "^2.3.3", + "@solid-primitives/rootless": "^1.4.5", + "@solid-primitives/static-store": "^0.0.8", + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/resize-observer/node_modules/@solid-primitives/static-store": { + "version": "0.0.8", + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/rootless": { + "version": "1.4.5", + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.3" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/scheduled": { + "version": "1.4.3", + "license": "MIT", + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/static-store": { + "version": "0.0.5", + "license": "MIT", + "dependencies": { + "@solid-primitives/utils": "^6.2.1" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/styles": { + "version": "0.0.111", + "license": "MIT", + "dependencies": { + "@solid-primitives/rootless": "^1.4.2", + "@solid-primitives/utils": "^6.2.1" + }, + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@solid-primitives/utils": { + "version": "6.2.3", + "license": "MIT", + "peerDependencies": { + "solid-js": "^1.6.12" + } + }, + "node_modules/@swc/helpers": { + "version": "0.5.12", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "license": "MIT" + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "20.14.11", + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/parse5": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", + "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/unist": { + "version": "3.0.2", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "license": "ISC" + }, + "node_modules/@volar/kit": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@volar/kit/-/kit-2.4.0.tgz", + "integrity": "sha512-uqwtPKhrbnP+3f8hs+ltDYXLZ6Wdbs54IzkaPocasI4aBhqWLht5qXctE1MqpZU52wbH359E0u9nhxEFmyon+w==", + "license": "MIT", + "dependencies": { + "@volar/language-service": "2.4.0", + "@volar/typescript": "2.4.0", + "typesafe-path": "^0.2.2", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.0.tgz", + "integrity": "sha512-FTla+khE+sYK0qJP+6hwPAAUwiNHVMph4RUXpxf/FIPKUP61NFrVZorml4mjFShnueR2y9/j8/vnh09YwVdH7A==", + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.0" + } + }, + "node_modules/@volar/language-server": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-2.4.0.tgz", + "integrity": "sha512-rmGIjAxWekWQiGH97Mosb4juiD/hfFYNQKV5Py9r7vDOLSkbIwRhITbwHm88NJKs8P6TNc6w/PfBXN6yjKadJg==", + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.0", + "@volar/language-service": "2.4.0", + "@volar/typescript": "2.4.0", + "path-browserify": "^1.0.1", + "request-light": "^0.7.0", + "vscode-languageserver": "^9.0.1", + "vscode-languageserver-protocol": "^3.17.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@volar/language-service": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-2.4.0.tgz", + "integrity": "sha512-4P3yeQXIL68mLfS3n6P3m02IRg3GnLHUU9k/1PCHEfm5FG9bySkDOc72dbBn2vAa2BxOqm18bmmZXrsWuQ5AOw==", + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.0", + "vscode-languageserver-protocol": "^3.17.5", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.0.tgz", + "integrity": "sha512-2ceY8/NEZvN6F44TXw2qRP6AQsvCYhV2bxaBPWxV9HqIfkbRydSksTFObCF1DBDNBfKiZTS8G/4vqV6cvjdOIQ==", + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.0.tgz", + "integrity": "sha512-9zx3lQWgHmVd+JRRAHUSRiEhe4TlzL7U7e6ulWXOxHH/WNYxzKwCvZD7WYWEZFdw4dHfTD9vUR0yPQO6GilCaQ==", + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.0", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vscode/emmet-helper": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@vscode/emmet-helper/-/emmet-helper-2.9.3.tgz", + "integrity": "sha512-rB39LHWWPQYYlYfpv9qCoZOVioPCftKXXqrsyqN1mTWZM6dTnONT63Db+03vgrBbHzJN45IrgS/AGxw9iiqfEw==", + "license": "MIT", + "dependencies": { + "emmet": "^2.4.3", + "jsonc-parser": "^2.3.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.15.1", + "vscode-uri": "^2.1.2" + } + }, + "node_modules/@vscode/emmet-helper/node_modules/vscode-uri": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz", + "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==", + "license": "MIT" + }, + "node_modules/@vscode/l10n": { + "version": "0.0.18", + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz", + "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==", + "license": "MIT" + }, + "node_modules/@zag-js/accordion": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/anatomy": { + "version": "0.59.0", + "license": "MIT" + }, + "node_modules/@zag-js/aria-hidden": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/dom-query": "0.59.0" + } + }, + "node_modules/@zag-js/auto-resize": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/dom-query": "0.59.0" + } + }, + "node_modules/@zag-js/avatar": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/carousel": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/checkbox": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/form-utils": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/clipboard": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/collapsible": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/collection": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/color-picker": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/color-utils": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dismissable": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/form-utils": "0.59.0", + "@zag-js/popper": "0.59.0", + "@zag-js/text-selection": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/color-utils": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/numeric-range": "0.59.0" + } + }, + "node_modules/@zag-js/combobox": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/aria-hidden": "0.59.0", + "@zag-js/collection": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dismissable": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/popper": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/core": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/store": "0.59.0", + "klona": "2.0.6" + } + }, + "node_modules/@zag-js/date-picker": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@internationalized/date": "3.5.4", + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/date-utils": "0.59.0", + "@zag-js/dismissable": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/form-utils": "0.59.0", + "@zag-js/live-region": "0.59.0", + "@zag-js/popper": "0.59.0", + "@zag-js/text-selection": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/date-utils": { + "version": "0.59.0", + "license": "MIT", + "peerDependencies": { + "@internationalized/date": ">=3.0.0" + } + }, + "node_modules/@zag-js/dialog": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/aria-hidden": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dismissable": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/remove-scroll": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0", + "focus-trap": "7.5.4" + } + }, + "node_modules/@zag-js/dismissable": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/interact-outside": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/dom-event": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/dom-query": "0.59.0", + "@zag-js/text-selection": "0.59.0", + "@zag-js/types": "0.59.0" + } + }, + "node_modules/@zag-js/dom-query": { + "version": "0.59.0", + "license": "MIT" + }, + "node_modules/@zag-js/editable": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/form-utils": "0.59.0", + "@zag-js/interact-outside": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/element-rect": { + "version": "0.59.0", + "license": "MIT" + }, + "node_modules/@zag-js/element-size": { + "version": "0.59.0", + "license": "MIT" + }, + "node_modules/@zag-js/file-upload": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/file-utils": "0.59.0", + "@zag-js/i18n-utils": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/file-utils": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/i18n-utils": "0.59.0" + } + }, + "node_modules/@zag-js/form-utils": { + "version": "0.59.0", + "license": "MIT" + }, + "node_modules/@zag-js/hover-card": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dismissable": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/popper": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/i18n-utils": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/dom-query": "0.59.0" + } + }, + "node_modules/@zag-js/interact-outside": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/live-region": { + "version": "0.59.0", + "license": "MIT" + }, + "node_modules/@zag-js/menu": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dismissable": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/popper": "0.59.0", + "@zag-js/rect-utils": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/number-input": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@internationalized/number": "3.5.3", + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/form-utils": "0.59.0", + "@zag-js/number-utils": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/number-utils": { + "version": "0.59.0", + "license": "MIT" + }, + "node_modules/@zag-js/numeric-range": { + "version": "0.59.0", + "license": "MIT" + }, + "node_modules/@zag-js/pagination": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/pin-input": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/form-utils": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/popover": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/aria-hidden": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dismissable": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/popper": "0.59.0", + "@zag-js/remove-scroll": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0", + "focus-trap": "7.5.4" + } + }, + "node_modules/@zag-js/popper": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "1.6.6", + "@zag-js/dom-query": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/presence": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/core": "0.59.0", + "@zag-js/types": "0.59.0" + } + }, + "node_modules/@zag-js/progress": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/qr-code": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0", + "proxy-memoize": "3.0.0", + "uqr": "0.1.2" + } + }, + "node_modules/@zag-js/radio-group": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/element-rect": "0.59.0", + "@zag-js/form-utils": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/rating-group": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/form-utils": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/rect-utils": { + "version": "0.59.0", + "license": "MIT" + }, + "node_modules/@zag-js/remove-scroll": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/dom-query": "0.59.0" + } + }, + "node_modules/@zag-js/select": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/collection": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dismissable": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/form-utils": "0.59.0", + "@zag-js/popper": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/signature-pad": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0", + "perfect-freehand": "^1.2.2" + } + }, + "node_modules/@zag-js/slider": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/element-size": "0.59.0", + "@zag-js/form-utils": "0.59.0", + "@zag-js/numeric-range": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/solid": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/core": "0.59.0", + "@zag-js/store": "0.59.0", + "@zag-js/types": "0.59.0" + }, + "peerDependencies": { + "solid-js": ">=1.1.3" + } + }, + "node_modules/@zag-js/splitter": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/number-utils": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/store": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "proxy-compare": "3.0.0" + } + }, + "node_modules/@zag-js/switch": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/form-utils": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/tabs": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/element-rect": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/tags-input": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/auto-resize": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/form-utils": "0.59.0", + "@zag-js/interact-outside": "0.59.0", + "@zag-js/live-region": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/text-selection": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/dom-query": "0.59.0" + } + }, + "node_modules/@zag-js/toast": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dismissable": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/toggle-group": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/tooltip": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/popper": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/tree-view": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "@zag-js/anatomy": "0.59.0", + "@zag-js/core": "0.59.0", + "@zag-js/dom-event": "0.59.0", + "@zag-js/dom-query": "0.59.0", + "@zag-js/types": "0.59.0", + "@zag-js/utils": "0.59.0" + } + }, + "node_modules/@zag-js/types": { + "version": "0.59.0", + "license": "MIT", + "dependencies": { + "csstype": "3.1.3" + } + }, + "node_modules/@zag-js/utils": { + "version": "0.59.0", + "license": "MIT" + }, + "node_modules/acorn": { + "version": "8.12.1", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-styles/node_modules/color-convert": { + "version": "1.9.3", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ansi-styles/node_modules/color-name": { + "version": "1.1.3", + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "5.3.0", + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/astring": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/astro": { + "version": "4.14.5", + "resolved": "https://registry.npmjs.org/astro/-/astro-4.14.5.tgz", + "integrity": "sha512-sv47kPE6FnvyxxHHcCePNwTKpOMKBq0r1m6WZYg6ag9j3yF9m72ov64NFB7c+hAMDUKgsHfVdLKjOOqDC/c+fA==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.10.3", + "@astrojs/internal-helpers": "0.4.1", + "@astrojs/markdown-remark": "5.2.0", + "@astrojs/telemetry": "3.1.0", + "@babel/core": "^7.25.2", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.3", + "@babel/plugin-transform-react-jsx": "^7.25.2", + "@babel/traverse": "^7.25.3", + "@babel/types": "^7.25.2", + "@oslojs/encoding": "^0.4.1", + "@rollup/pluginutils": "^5.1.0", + "@types/babel__core": "^7.20.5", + "@types/cookie": "^0.6.0", + "acorn": "^8.12.1", + "aria-query": "^5.3.0", + "axobject-query": "^4.1.0", + "boxen": "7.1.1", + "ci-info": "^4.0.0", + "clsx": "^2.1.1", + "common-ancestor-path": "^1.0.1", + "cookie": "^0.6.0", + "cssesc": "^3.0.0", + "debug": "^4.3.6", + "deterministic-object-hash": "^2.0.2", + "devalue": "^5.0.0", + "diff": "^5.2.0", + "dlv": "^1.1.3", + "dset": "^3.1.3", + "es-module-lexer": "^1.5.4", + "esbuild": "^0.21.5", + "estree-walker": "^3.0.3", + "execa": "^8.0.1", + "fast-glob": "^3.3.2", + "flattie": "^1.1.1", + "github-slugger": "^2.0.0", + "gray-matter": "^4.0.3", + "html-escaper": "^3.0.3", + "http-cache-semantics": "^4.1.1", + "js-yaml": "^4.1.0", + "kleur": "^4.1.5", + "magic-string": "^0.30.11", + "micromatch": "^4.0.7", + "mrmime": "^2.0.0", + "neotraverse": "^0.6.18", + "ora": "^8.0.1", + "p-limit": "^6.1.0", + "p-queue": "^8.0.1", + "path-to-regexp": "^6.2.2", + "preferred-pm": "^4.0.0", + "prompts": "^2.4.2", + "rehype": "^13.0.1", + "semver": "^7.6.3", + "shiki": "^1.14.1", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "tsconfck": "^3.1.1", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.2", + "vite": "^5.4.1", + "vitefu": "^0.2.5", + "which-pm": "^3.0.0", + "xxhash-wasm": "^1.0.2", + "yargs-parser": "^21.1.1", + "zod": "^3.23.8", + "zod-to-json-schema": "^3.23.2", + "zod-to-ts": "^1.2.0" + }, + "bin": { + "astro": "astro.js" + }, + "engines": { + "node": "^18.17.1 || ^20.3.0 || >=21.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "optionalDependencies": { + "sharp": "^0.33.3" + } + }, + "node_modules/astro-breadcrumbs": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/astro-breadcrumbs/-/astro-breadcrumbs-2.3.1.tgz", + "integrity": "sha512-9SUAGZiUP9iCnYOdtngZpHk1Fyge78T3tR7QR1mdx5qjOv1jIGXxtqCdxL84rMJsxgGg+NEI72rb1lK7AeCb+w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/felix-berlin" + }, + { + "type": "Ko-fi", + "url": "https://ko-fi.com/felixberlin" + }, + { + "type": "PayPal", + "url": "https://paypal.me/FelixScholze" + }, + { + "type": "Buy me a coffee", + "url": "https://www.buymeacoffee.com/felixberlin" + } + ], + "license": "GPL-3.0", + "workspaces": [ + "demo", + "docs" + ], + "peerDependencies": { + "astro": "^2.0.0-beta.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/astro-pagefind": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/astro-pagefind/-/astro-pagefind-1.6.0.tgz", + "integrity": "sha512-U/WuE0ktkZkoFJf6yopWO4DjIJ3+wrnopE2L3kUYiyqNTJpqmp13bFLR8gir6B+KzQ5dsXQtJZYTQtKJg1FxIA==", + "license": "MIT", + "dependencies": { + "@pagefind/default-ui": "^1.0.3", + "pagefind": "^1.0.3", + "sirv": "^2.0.3" + }, + "peerDependencies": { + "astro": "^2.0.4 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/astro/node_modules/argparse": { + "version": "2.0.1", + "license": "Python-2.0" + }, + "node_modules/astro/node_modules/emoji-regex": { + "version": "10.3.0", + "license": "MIT" + }, + "node_modules/astro/node_modules/js-yaml": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/astro/node_modules/string-width": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/babel-plugin-jsx-dom-expressions": { + "version": "0.37.23", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "7.18.6", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.20.7", + "html-entities": "2.3.3", + "validate-html-nesting": "^1.2.1" + }, + "peerDependencies": { + "@babel/core": "^7.20.12" + } + }, + "node_modules/babel-plugin-jsx-dom-expressions/node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/babel-preset-solid": { + "version": "1.8.18", + "license": "MIT", + "dependencies": { + "babel-plugin-jsx-dom-expressions": "^0.37.23" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/base-64": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen": { + "version": "7.1.1", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.1", + "chalk": "^5.2.0", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/emoji-regex": { + "version": "9.2.2", + "license": "MIT" + }, + "node_modules/boxen/node_modules/string-width": { + "version": "5.1.2", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/camelcase": { + "version": "7.0.1", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001653", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001653.tgz", + "integrity": "sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/ccount": { + "version": "2.0.1", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "5.3.0", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "4.0.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color": { + "version": "4.2.3", + "license": "MIT", + "optional": true, + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "license": "MIT", + "optional": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "license": "ISC" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.6.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/deterministic-object-hash": { + "version": "2.0.2", + "license": "MIT", + "dependencies": { + "base-64": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/devalue": { + "version": "5.0.0", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "5.2.0", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "license": "MIT" + }, + "node_modules/dset": { + "version": "3.1.3", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", + "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", + "license": "ISC" + }, + "node_modules/emmet": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.7.tgz", + "integrity": "sha512-O5O5QNqtdlnQM2bmKHtJgyChcrFMgQuulI+WdiOw2NArzprUqqxUW6bgYtKvzKgrsYpuLWalOkdhNP+1jluhCA==", + "license": "MIT", + "workspaces": [ + "./packages/scanner", + "./packages/abbreviation", + "./packages/css-abbreviation", + "./" + ], + "dependencies": { + "@emmetio/abbreviation": "^2.3.3", + "@emmetio/css-abbreviation": "^2.1.8" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "node_modules/entities": { + "version": "4.5.0", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.21.5", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "license": "MIT" + }, + "node_modules/execa": { + "version": "8.0.1", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "license": "MIT" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.17.1", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up-simple": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-yarn-workspace-root2": { + "version": "1.2.16", + "license": "Apache-2.0", + "dependencies": { + "micromatch": "^4.0.2", + "pkg-dir": "^4.2.0" + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/focus-trap": { + "version": "7.5.4", + "license": "MIT", + "dependencies": { + "tabbable": "^6.2.0" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/fuse.js": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.0.0.tgz", + "integrity": "sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==", + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.2.0", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "8.0.1", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "license": "ISC" + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "license": "ISC" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.1", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-heading": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-heading/-/hast-util-heading-2.0.1.tgz", + "integrity": "sha512-nwRggTanShzHRYMUX46lm6pbJ2c1+TUQCETahENb6yR6c8ro8MkE0hRJm8G0IqAZl35ONgJiW8RC8+D3484vYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "hast-util-is-element": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-heading-rank": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-2.1.1.tgz", + "integrity": "sha512-iAuRp+ESgJoRFJbSyaqsfvJDY6zzmFoEnL1gtz1+U8gKtGGj1p0CVlysuUAUjq95qlZESHINLThwJzNGmgGZxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-heading-rank/node_modules/@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/hast-util-heading-rank/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "dev": true, + "license": "MIT" + }, + "node_modules/hast-util-heading/node_modules/@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/hast-util-heading/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "dev": true, + "license": "MIT" + }, + "node_modules/hast-util-heading/node_modules/hast-util-is-element": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-2.1.3.tgz", + "integrity": "sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.0.4", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", + "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.1", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-raw": "^9.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", + "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/inline-style-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.3.tgz", + "integrity": "sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==", + "license": "MIT" + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/style-to-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.6.tgz", + "integrity": "sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.3" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "8.0.0", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-entities": { + "version": "2.3.3", + "license": "MIT" + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "license": "BSD-2-Clause" + }, + "node_modules/human-signals": { + "version": "5.0.0", + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/import-meta-resolve": { + "version": "4.1.0", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", + "license": "MIT" + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "license": "MIT", + "optional": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-reference": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "4.1.16", + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "license": "ISC" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", + "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==", + "license": "MIT" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/load-yaml-file": { + "version": "0.2.0", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.5", + "js-yaml": "^3.13.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-table": { + "version": "3.0.3", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/marked": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-14.1.2.tgz", + "integrity": "sha512-f3r0yqpz31VXiDB/wj9GaOB0a2PRLQl6vJmXiFrniNwjkKdvakqJRULhjFKJpxOchlCRiG5fcacoUZY5Xa6PEQ==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/marked-alert": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/marked-alert/-/marked-alert-2.1.0.tgz", + "integrity": "sha512-X95Z8PCDgWa0bBfM70GxZG3LD/leUrhXc3cx3w1eFExBhswd1oXn/S4S+9H8ypPdCY7okREb4dItUOc+VJq4jQ==", + "license": "MIT", + "peerDependencies": { + "marked": ">=7.0.0" + } + }, + "node_modules/mdast-util-definitions": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.1", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", + "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.2.tgz", + "integrity": "sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^5.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/merge-anything": { + "version": "5.1.7", + "license": "MIT", + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "4.0.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.1", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", + "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz", + "integrity": "sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==", + "license": "MIT", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz", + "integrity": "sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", + "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.1", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.0", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.7", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mrmime": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neotraverse": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node": { + "version": "22.5.1", + "hasInstallScript": true, + "license": "ISC", + "dependencies": { + "node-bin-setup": "^1.0.0" + }, + "bin": { + "node": "bin/node" + }, + "engines": { + "npm": ">=5.0.0" + } + }, + "node_modules/node-bin-setup": { + "version": "1.1.3", + "license": "ISC" + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "8.0.1", + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/emoji-regex": { + "version": "10.3.0", + "license": "MIT" + }, + "node_modules/ora/node_modules/string-width": { + "version": "7.2.0", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "6.1.0", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "8.0.1", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.1", + "p-timeout": "^6.1.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "6.1.2", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pagefind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.1.1.tgz", + "integrity": "sha512-U2YR0dQN5B2fbIXrLtt/UXNS0yWSSYfePaad1KcBPTi0p+zRtsVjwmoPaMQgTks5DnHNbmDxyJUL5TGaLljK3A==", + "license": "MIT", + "bin": { + "pagefind": "lib/runner/bin.cjs" + }, + "optionalDependencies": { + "@pagefind/darwin-arm64": "1.1.1", + "@pagefind/darwin-x64": "1.1.1", + "@pagefind/linux-arm64": "1.1.1", + "@pagefind/linux-x64": "1.1.1", + "@pagefind/windows-x64": "1.1.1" + } + }, + "node_modules/parse-entities": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", + "license": "MIT" + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "license": "MIT", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "license": "MIT" + }, + "node_modules/path-exists": { + "version": "4.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-to-regexp": { + "version": "6.2.2", + "license": "MIT" + }, + "node_modules/perfect-freehand": { + "version": "1.2.2", + "license": "MIT" + }, + "node_modules/periscopic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.1", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss": { + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/preferred-pm": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "find-up-simple": "^1.0.0", + "find-yarn-workspace-root2": "1.2.16", + "which-pm": "^3.0.0" + }, + "engines": { + "node": ">=18.12" + } + }, + "node_modules/prettier": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "license": "MIT", + "optional": true, + "peer": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/property-information": { + "version": "6.5.0", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proxy-compare": { + "version": "3.0.0", + "license": "MIT" + }, + "node_modules/proxy-memoize": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "proxy-compare": "^3.0.0" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "3.6.0", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rehype": { + "version": "13.0.1", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "9.0.0", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.0", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-github-blockquote-alert": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/remark-github-blockquote-alert/-/remark-github-blockquote-alert-1.2.1.tgz", + "integrity": "sha512-qNf2mSAoZgh3Cl23/9Y1L7S4Kbf9NsdHvYK398ab/52yEsDPDU5I4cuTcgDRrdIX7Ltc6RK+KCLRtWkbFnL6Dg==", + "license": "MIT", + "dependencies": { + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" + } + }, + "node_modules/remark-mdx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.1.tgz", + "integrity": "sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==", + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.0", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.2", + "license": "MIT", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/request-light": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.7.0.tgz", + "integrity": "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==", + "license": "MIT" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/mimic-fn": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "5.1.2", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "license": "ISC" + }, + "node_modules/retext": { + "version": "9.0.0", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "6.1.0", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.0.tgz", + "integrity": "sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.21.0", + "@rollup/rollup-android-arm64": "4.21.0", + "@rollup/rollup-darwin-arm64": "4.21.0", + "@rollup/rollup-darwin-x64": "4.21.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.0", + "@rollup/rollup-linux-arm-musleabihf": "4.21.0", + "@rollup/rollup-linux-arm64-gnu": "4.21.0", + "@rollup/rollup-linux-arm64-musl": "4.21.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.0", + "@rollup/rollup-linux-riscv64-gnu": "4.21.0", + "@rollup/rollup-linux-s390x-gnu": "4.21.0", + "@rollup/rollup-linux-x64-gnu": "4.21.0", + "@rollup/rollup-linux-x64-musl": "4.21.0", + "@rollup/rollup-win32-arm64-msvc": "4.21.0", + "@rollup/rollup-win32-ia32-msvc": "4.21.0", + "@rollup/rollup-win32-x64-msvc": "4.21.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/section-matter": { + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/seroval": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/seroval-plugins": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "seroval": "^1.0" + } + }, + "node_modules/sharp": { + "version": "0.33.4", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.3", + "semver": "^7.6.0" + }, + "engines": { + "libvips": ">=8.15.2", + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.4", + "@img/sharp-darwin-x64": "0.33.4", + "@img/sharp-libvips-darwin-arm64": "1.0.2", + "@img/sharp-libvips-darwin-x64": "1.0.2", + "@img/sharp-libvips-linux-arm": "1.0.2", + "@img/sharp-libvips-linux-arm64": "1.0.2", + "@img/sharp-libvips-linux-s390x": "1.0.2", + "@img/sharp-libvips-linux-x64": "1.0.2", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.2", + "@img/sharp-libvips-linuxmusl-x64": "1.0.2", + "@img/sharp-linux-arm": "0.33.4", + "@img/sharp-linux-arm64": "0.33.4", + "@img/sharp-linux-s390x": "0.33.4", + "@img/sharp-linux-x64": "0.33.4", + "@img/sharp-linuxmusl-arm64": "0.33.4", + "@img/sharp-linuxmusl-x64": "0.33.4", + "@img/sharp-wasm32": "0.33.4", + "@img/sharp-win32-ia32": "0.33.4", + "@img/sharp-win32-x64": "0.33.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shiki": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.14.1.tgz", + "integrity": "sha512-FujAN40NEejeXdzPt+3sZ3F2dx1U24BY2XTY01+MG8mbxCiA2XukXdcbyMyLAHJ/1AUUnQd1tZlvIjefWWEJeA==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "1.14.1", + "@types/hast": "^3.0.4" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "license": "MIT", + "optional": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "license": "MIT" + }, + "node_modules/solid-devtools": { + "version": "0.30.1", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.3", + "@babel/plugin-syntax-typescript": "^7.23.3", + "@babel/types": "^7.23.3", + "@solid-devtools/debugger": "^0.23.4", + "@solid-devtools/shared": "^0.13.2" + }, + "peerDependencies": { + "solid-js": "^1.8.0", + "solid-start": "^0.3.0", + "vite": "^2.2.3 || ^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "solid-start": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/solid-js": { + "version": "1.8.18", + "license": "MIT", + "dependencies": { + "csstype": "^3.1.0", + "seroval": "^1.0.4", + "seroval-plugins": "^1.0.3" + } + }, + "node_modules/solid-refresh": { + "version": "0.6.3", + "license": "MIT", + "dependencies": { + "@babel/generator": "^7.23.6", + "@babel/helper-module-imports": "^7.22.15", + "@babel/types": "^7.23.6" + }, + "peerDependencies": { + "solid-js": "^1.3" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "license": "BSD-3-Clause" + }, + "node_modules/stdin-discarder": { + "version": "0.2.2", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "6.0.1", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-to-object": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tabbable": { + "version": "6.2.0", + "license": "MIT" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tsconfck": { + "version": "3.1.1", + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.6.3", + "license": "0BSD" + }, + "node_modules/type-fest": { + "version": "2.19.0", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typesafe-path": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/typesafe-path/-/typesafe-path-0.2.2.tgz", + "integrity": "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==", + "license": "MIT" + }, + "node_modules/typescript": { + "version": "5.5.3", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-auto-import-cache": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/typescript-auto-import-cache/-/typescript-auto-import-cache-0.3.3.tgz", + "integrity": "sha512-ojEC7+Ci1ij9eE6hp8Jl9VUNnsEKzztktP5gtYNRMrTmfXVwA1PITYYAkpxCvvupdSYa/Re51B6KMcv1CTZEUA==", + "license": "MIT", + "dependencies": { + "semver": "^7.3.8" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uqr": { + "version": "0.1.2", + "license": "MIT" + }, + "node_modules/validate-html-nesting": { + "version": "1.2.2", + "license": "ISC" + }, + "node_modules/vfile": { + "version": "6.0.2", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.2.tgz", + "integrity": "sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.41", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-solid": { + "version": "2.10.2", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.23.3", + "@types/babel__core": "^7.20.4", + "babel-preset-solid": "^1.8.4", + "merge-anything": "^5.1.7", + "solid-refresh": "^0.6.3", + "vitefu": "^0.2.5" + }, + "peerDependencies": { + "@testing-library/jest-dom": "^5.16.6 || ^5.17.0 || ^6.*", + "solid-js": "^1.7.2", + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "@testing-library/jest-dom": { + "optional": true + } + } + }, + "node_modules/vitefu": { + "version": "0.2.5", + "license": "MIT", + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/volar-service-css": { + "version": "0.0.61", + "resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.61.tgz", + "integrity": "sha512-Ct9L/w+IB1JU8F4jofcNCGoHy6TF83aiapfZq9A0qYYpq+Kk5dH+ONS+rVZSsuhsunq8UvAuF8Gk6B8IFLfniw==", + "license": "MIT", + "dependencies": { + "vscode-css-languageservice": "^6.3.0", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-emmet": { + "version": "0.0.61", + "resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.61.tgz", + "integrity": "sha512-iiYqBxjjcekqrRruw4COQHZME6EZYWVbkHjHDbULpml3g8HGJHzpAMkj9tXNCPxf36A+f1oUYjsvZt36qPg4cg==", + "license": "MIT", + "dependencies": { + "@emmetio/css-parser": "^0.4.0", + "@emmetio/html-matcher": "^1.3.0", + "@vscode/emmet-helper": "^2.9.3", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-html": { + "version": "0.0.61", + "resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.61.tgz", + "integrity": "sha512-yFE+YmmgqIL5HI4ORqP++IYb1QaGcv+xBboI0WkCxJJ/M35HZj7f5rbT3eQ24ECLXFbFCFanckwyWJVz5KmN3Q==", + "license": "MIT", + "dependencies": { + "vscode-html-languageservice": "^5.3.0", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-prettier": { + "version": "0.0.61", + "resolved": "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.61.tgz", + "integrity": "sha512-F612nql5I0IS8HxXemCGvOR2Uxd4XooIwqYVUvk7WSBxP/+xu1jYvE3QJ7EVpl8Ty3S4SxPXYiYTsG3bi+gzIQ==", + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0", + "prettier": "^2.2 || ^3.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + }, + "prettier": { + "optional": true + } + } + }, + "node_modules/volar-service-typescript": { + "version": "0.0.61", + "resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.61.tgz", + "integrity": "sha512-4kRHxVbW7wFBHZWRU6yWxTgiKETBDIJNwmJUAWeP0mHaKpnDGj/astdRFKqGFRYVeEYl45lcUPhdJyrzanjsdQ==", + "license": "MIT", + "dependencies": { + "path-browserify": "^1.0.1", + "semver": "^7.6.2", + "typescript-auto-import-cache": "^0.3.3", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-nls": "^5.2.0", + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-typescript-twoslash-queries": { + "version": "0.0.61", + "resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.61.tgz", + "integrity": "sha512-99FICGrEF0r1E2tV+SvprHPw9Knyg7BdW2fUch0tf59kG+KG+Tj4tL6tUg+cy8f23O/VXlmsWFMIE+bx1dXPnQ==", + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/volar-service-yaml": { + "version": "0.0.61", + "resolved": "https://registry.npmjs.org/volar-service-yaml/-/volar-service-yaml-0.0.61.tgz", + "integrity": "sha512-L+gbDiLDQQ1rZUbJ3mf3doDsoQUa8OZM/xdpk/unMg1Vz24Zmi2Ign8GrZyBD7bRoIQDwOH9gdktGDKzRPpUNw==", + "license": "MIT", + "dependencies": { + "vscode-uri": "^3.0.8", + "yaml-language-server": "~1.15.0" + }, + "peerDependencies": { + "@volar/language-service": "~2.4.0" + }, + "peerDependenciesMeta": { + "@volar/language-service": { + "optional": true + } + } + }, + "node_modules/vscode-css-languageservice": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.3.0.tgz", + "integrity": "sha512-nU92imtkgzpCL0xikrIb8WvedV553F2BENzgz23wFuok/HLN5BeQmroMy26pUwFxV2eV8oNRmYCUv8iO7kSMhw==", + "license": "MIT", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-languageserver-types": "3.17.5", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/vscode-html-languageservice": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.3.0.tgz", + "integrity": "sha512-C4Z3KsP5Ih+fjHpiBc5jxmvCl+4iEwvXegIrzu2F5pktbWvQaBT3YkVPk8N+QlSSMk8oCG6PKtZ/Sq2YHb5e8g==", + "license": "MIT", + "dependencies": { + "@vscode/l10n": "^0.0.18", + "vscode-languageserver-textdocument": "^1.0.11", + "vscode-languageserver-types": "^3.17.5", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/vscode-json-languageservice": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.8.tgz", + "integrity": "sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==", + "license": "MIT", + "dependencies": { + "jsonc-parser": "^3.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.2" + }, + "engines": { + "npm": ">=7.0.0" + } + }, + "node_modules/vscode-json-languageservice/node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "license": "MIT" + }, + "node_modules/vscode-jsonrpc": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz", + "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz", + "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==", + "license": "MIT", + "dependencies": { + "vscode-languageserver-protocol": "3.17.5" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz", + "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==", + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "8.2.0", + "vscode-languageserver-types": "3.17.5" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.11", + "license": "MIT" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", + "license": "MIT" + }, + "node_modules/vscode-nls": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz", + "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==", + "license": "MIT" + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "license": "MIT" + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/which": { + "version": "2.0.2", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-pm": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "load-yaml-file": "^0.2.0" + }, + "engines": { + "node": ">=18.12" + } + }, + "node_modules/which-pm-runs": { + "version": "1.1.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "license": "MIT", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/widest-line/node_modules/emoji-regex": { + "version": "9.2.2", + "license": "MIT" + }, + "node_modules/widest-line/node_modules/string-width": { + "version": "5.1.2", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "9.2.2", + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "5.1.2", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xxhash-wasm": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.0.2.tgz", + "integrity": "sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==", + "license": "MIT" + }, + "node_modules/y18n": { + "version": "5.0.8", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + }, + "node_modules/yaml": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yaml-language-server": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.15.0.tgz", + "integrity": "sha512-N47AqBDCMQmh6mBLmI6oqxryHRzi33aPFPsJhYy3VTUGCdLHYjGh4FZzpUjRlphaADBBkDmnkM/++KNIOHi5Rw==", + "license": "MIT", + "dependencies": { + "ajv": "^8.11.0", + "lodash": "4.17.21", + "request-light": "^0.5.7", + "vscode-json-languageservice": "4.1.8", + "vscode-languageserver": "^7.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.16.0", + "vscode-nls": "^5.0.0", + "vscode-uri": "^3.0.2", + "yaml": "2.2.2" + }, + "bin": { + "yaml-language-server": "bin/yaml-language-server" + }, + "optionalDependencies": { + "prettier": "2.8.7" + } + }, + "node_modules/yaml-language-server/node_modules/prettier": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", + "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", + "license": "MIT", + "optional": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/yaml-language-server/node_modules/request-light": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.5.8.tgz", + "integrity": "sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==", + "license": "MIT" + }, + "node_modules/yaml-language-server/node_modules/vscode-jsonrpc": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz", + "integrity": "sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==", + "license": "MIT", + "engines": { + "node": ">=8.0.0 || >=10.0.0" + } + }, + "node_modules/yaml-language-server/node_modules/vscode-languageserver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz", + "integrity": "sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==", + "license": "MIT", + "dependencies": { + "vscode-languageserver-protocol": "3.16.0" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/yaml-language-server/node_modules/vscode-languageserver-protocol": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz", + "integrity": "sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==", + "license": "MIT", + "dependencies": { + "vscode-jsonrpc": "6.0.0", + "vscode-languageserver-types": "3.16.0" + } + }, + "node_modules/yaml-language-server/node_modules/vscode-languageserver-types": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", + "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==", + "license": "MIT" + }, + "node_modules/yaml-language-server/node_modules/yaml": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", + "license": "ISC", + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "1.1.1", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.23.8", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", + "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.23.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.2.tgz", + "integrity": "sha512-uSt90Gzc/tUfyNqxnjlfBs8W6WSGpNBv0rVsNxP/BVSMHMKGdthPYff4xtCHYloJGM0CFxFsb3NbC0eqPhfImw==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.23.3" + } + }, + "node_modules/zod-to-ts": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", + "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", + "peerDependencies": { + "typescript": "^4.9.4 || ^5.0.2", + "zod": "^3" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..95675b0 --- /dev/null +++ b/package.json @@ -0,0 +1,37 @@ +{ + "name": "quickshell-docs", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro check && astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@ark-ui/solid": "^3.5.0", + "@astrojs/check": "^0.9.3", + "@astrojs/mdx": "^3.1.4", + "@astrojs/solid-js": "^4.4.1", + "@types/node": "^20.14.11", + "astro": "^4.14.5", + "astro-breadcrumbs": "^2.3.1", + "astro-pagefind": "^1.6.0", + "marked": "^14.1.0", + "marked-alert": "^2.0.2", + "node": "npm:22.7.0", + "remark-github-blockquote-alert": "^1.2.1", + "remark-parse": "^11.0.0", + "solid-devtools": "^0.30.1", + "solid-js": "^1.8.18", + "typescript": "^5.5.3" + }, + "devDependencies": { + "@astrojs/ts-plugin": "^1.10.1", + "@biomejs/biome": "^1.8.3", + "@hbsnow/rehype-sectionize": "^1.0.7", + "shiki": "^1.11.0" + }, + "packageManager": "yarn@4.5.0" +} diff --git a/public/favicon.svg b/public/favicon.svg new file mode 100644 index 0000000..ee539d4 --- /dev/null +++ b/public/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/quickshell.png b/public/quickshell.png new file mode 100644 index 0000000..98aceb7 Binary files /dev/null and b/public/quickshell.png differ diff --git a/src/components/Collapsible.tsx b/src/components/Collapsible.tsx new file mode 100644 index 0000000..93372ac --- /dev/null +++ b/src/components/Collapsible.tsx @@ -0,0 +1,18 @@ +import { Collapsible } from "@ark-ui/solid"; +import type { Component, JSX } from "solid-js"; +import { CaretCircleRight } from "@icons"; + +export const DocsCollapsible: Component<{ + title: string; + children: JSX.Element; +}> = props => { + return ( + + + + {props.title} + + {props.children} + + ); +}; diff --git a/src/components/Header.astro b/src/components/Header.astro new file mode 100644 index 0000000..e0436ac --- /dev/null +++ b/src/components/Header.astro @@ -0,0 +1,66 @@ +--- +import { ThemeSelect } from "@components/hooks/ThemeSwitch"; +import { generateTypeData } from "@config/io/generateTypeData"; +import Nav from "@components/navigation/sidebars/Nav.astro"; +import TOC from "@components/navigation/sidebars/TOC.astro"; +import type { TypeTOC } from "./navigation/sidebars/types"; +import Search from "./navigation/Search.astro"; + +const routes = await generateTypeData(); + +const url = Astro.url.pathname.split("/"); +const currentClass = url[4]; +const currentData = routes.find( + item => item.name === currentClass +); + +const data = currentData?.data; +const tocFunctions = + data?.functions?.map(item => item.name) || null; + +const propsKeys = data?.properties + ? Object.keys(data.properties) + : null; +const signalKeys = data?.signals + ? Object.keys(data.signals) + : null; +const variantKeys = data?.variants + ? Object.keys(data.variants) + : null; + +let sidebarData: TypeTOC | undefined = { + properties: propsKeys, + functions: tocFunctions, + signals: signalKeys, + variants: variantKeys, +}; + +if (!data) { + sidebarData = undefined; +} + +const { headings } = Astro.props; +--- +
+
+

+ Quickshell +

+ {url.length > 2 ? +
+
+ +
|
+ +
|
+ {url.length > 2 ? + + : null} +
+
diff --git a/src/components/MD_Title.tsx b/src/components/MD_Title.tsx new file mode 100644 index 0000000..4d24761 --- /dev/null +++ b/src/components/MD_Title.tsx @@ -0,0 +1,30 @@ +import { + type ParentComponent, + onMount, + createSignal, + onCleanup, +} from "solid-js"; +import { Hashtag } from "@icons"; + +const MD_Title: ParentComponent<{ titleVar: number }> = props => { + const [_, setMounted] = createSignal(false); + + onMount(() => { + setMounted(true); + onCleanup(() => { + setMounted(false); + }); + }); + + return ( +
+ + + + {props.children} +
+
+ ); +}; + +export default MD_Title; diff --git a/src/components/hooks/CreateCopyButtons.astro b/src/components/hooks/CreateCopyButtons.astro new file mode 100644 index 0000000..ddfcac2 --- /dev/null +++ b/src/components/hooks/CreateCopyButtons.astro @@ -0,0 +1,52 @@ +--- + +--- + + diff --git a/src/components/hooks/CreateQMLCodeButtons.astro b/src/components/hooks/CreateQMLCodeButtons.astro new file mode 100644 index 0000000..346181a --- /dev/null +++ b/src/components/hooks/CreateQMLCodeButtons.astro @@ -0,0 +1,107 @@ +--- + +--- + diff --git a/src/components/hooks/TOCIntersectionObserver.astro b/src/components/hooks/TOCIntersectionObserver.astro new file mode 100644 index 0000000..a6f6a26 --- /dev/null +++ b/src/components/hooks/TOCIntersectionObserver.astro @@ -0,0 +1,29 @@ +--- +--- + diff --git a/src/components/hooks/ThemeSwitch.tsx b/src/components/hooks/ThemeSwitch.tsx new file mode 100644 index 0000000..fd410ed --- /dev/null +++ b/src/components/hooks/ThemeSwitch.tsx @@ -0,0 +1,101 @@ +import { + createSignal, + createEffect, + onCleanup, + onMount, + type VoidComponent, +} from "solid-js"; +import { Sun, Moon } from "@icons"; + +interface ThemeProps { + theme: "light" | "dark"; + system: "light" | "dark"; +} + +const getCurrentTheme = (): ThemeProps => { + if ( + typeof localStorage !== "undefined" && + (localStorage.theme === "dark" || + (!("theme" in localStorage) && + window.matchMedia("(prefers-color-scheme: dark)").matches)) + ) { + return { + theme: "dark", + system: window.matchMedia("(prefers-color-scheme: dark)").matches + ? "dark" + : "light", + }; + } + return { + theme: "light", + system: window.matchMedia("(prefers-color-scheme: dark)").matches + ? "dark" + : "light", + }; +}; + +const updateTheme = () => { + document.documentElement.classList.add("changing-theme"); + if ( + localStorage.theme === "dark" || + (!("theme" in localStorage) && + window.matchMedia("(prefers-color-scheme: dark)").matches) + ) { + document.documentElement.classList.add("dark"); + } else { + document.documentElement.classList.remove("dark"); + } + requestAnimationFrame(() => { + requestAnimationFrame(() => { + document.documentElement.classList.remove("changing-theme"); + }); + }); +}; + +export const ThemeSelect: VoidComponent = () => { + const [currentTheme, setCurrentTheme] = createSignal({ + theme: "dark", + system: "dark", + }); + const [mounted, setMounted] = createSignal(false); + + const toggleTheme = () => { + if (!mounted()) return; + setCurrentTheme(getCurrentTheme()); + if (currentTheme()!.theme !== currentTheme()!.system) { + localStorage.removeItem("theme"); + } else { + localStorage.theme = currentTheme()!.theme === "dark" ? "light" : "dark"; + } + updateTheme(); + setCurrentTheme(getCurrentTheme()); + }; + + onMount(() => { + setMounted(true); + setCurrentTheme(getCurrentTheme()); + }); + + createEffect(() => { + const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)"); + mediaQuery.addEventListener("change", updateTheme); + window.addEventListener("storage", updateTheme); + + onCleanup(() => { + mediaQuery.removeEventListener("change", updateTheme); + window.removeEventListener("storage", updateTheme); + setMounted(false); + }); + }); + + return ( +
+ {(mounted() && currentTheme().theme === "light") || + currentTheme().system === "light" ? ( + + ) : ( + + )} +
+ ); +}; diff --git a/src/components/hooks/TransformLinks.astro b/src/components/hooks/TransformLinks.astro new file mode 100644 index 0000000..7d7cca7 --- /dev/null +++ b/src/components/hooks/TransformLinks.astro @@ -0,0 +1,66 @@ +--- +--- + diff --git a/src/components/hooks/TransformMDCodeblocks.astro b/src/components/hooks/TransformMDCodeblocks.astro new file mode 100644 index 0000000..478cf3d --- /dev/null +++ b/src/components/hooks/TransformMDCodeblocks.astro @@ -0,0 +1,21 @@ +--- +--- + diff --git a/src/components/icons.tsx b/src/components/icons.tsx new file mode 100644 index 0000000..2208364 --- /dev/null +++ b/src/components/icons.tsx @@ -0,0 +1,477 @@ +import type { VoidComponent } from "solid-js"; + +export const XToMenu: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Close Menu + + + + + + + + + + + + + ); +}; + +export const MenuToX: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Open Menu + + + + + + + + + + + + + ); +}; + +export const Sun: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Light + + + ); +}; + +export const Moon: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Dark + + + ); +}; + +export const ShevronSmallDown: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Open + + + + + + + ); +}; + +export const CaretCircleRight: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Open + + + ); +}; + +export const Clipboard: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Copy code + + + ); +}; + +export const Hashtag: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Copy link + + + ); +}; + +export const Tag: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Go to + + + ); +}; + +export const Subtitles: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Go to + + + ); +}; + +export const Ruler: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Go to + + + ); +}; + +export const RoundBrackets: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Go to + + + ); +}; + +export const PowerCord: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Go to + + + ); +}; + +export const FourDiamonds: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Go to + + + ); +}; + +export const Flag: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Flags + + + ); +}; + +export const ReturnKey: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Return + + + ); +}; + +export const ArrowRightElbow: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Return + + + ); +}; + +export const ArrowLeftSimple: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Return + + + ); +}; + +export const Article: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Types + + + ); +}; + +export const LoadingSpinner: VoidComponent<{ + class?: string; +}> = props => { + return ( + + Loading + + + + + ); +}; diff --git a/src/components/navigation/Search.astro b/src/components/navigation/Search.astro new file mode 100644 index 0000000..3c63ad2 --- /dev/null +++ b/src/components/navigation/Search.astro @@ -0,0 +1,7 @@ +--- +import SearchComponent from "./search"; +--- + +
+ +
diff --git a/src/components/navigation/search/SearchModal.tsx b/src/components/navigation/search/SearchModal.tsx new file mode 100644 index 0000000..b22c242 --- /dev/null +++ b/src/components/navigation/search/SearchModal.tsx @@ -0,0 +1,53 @@ +import { For, type Component } from "solid-js"; +import type { SearchResult } from "./types"; +import { + getIconForLink, + getQMLTypeLink, + getQMLTypeLinkObject, +} from "@src/config/io/helpers"; + +const SearchModal: Component<{ + results: SearchResult[]; +}> = props => { + const { results } = props; + const linkRegex = /TYPE99(\w+.)99TYPE/g; + + return ( +
+ + {result => { + let excerpt = result.excerpt; + const linkMatch = [...excerpt.matchAll(linkRegex)]; + for (const match of linkMatch) { + const unparsed = match[1]; + const linkObject = getQMLTypeLinkObject(unparsed); + const linkParsed = getQMLTypeLink(linkObject); + const icon = linkObject.mtype + ? getIconForLink(linkObject.mtype, false) + : ""; + const bracketString = getIconForLink("func", false); + const newString = `${icon}${linkObject.mname || linkObject.name}${linkObject.mtype === "signal" ? bracketString : ""}`; + excerpt = excerpt.replace(match[0], newString); + } + excerpt = `${excerpt}...`; + return ( + + ); + }} + +
+ ); +}; + +export default SearchModal; diff --git a/src/components/navigation/search/index.tsx b/src/components/navigation/search/index.tsx new file mode 100644 index 0000000..6e37e21 --- /dev/null +++ b/src/components/navigation/search/index.tsx @@ -0,0 +1,59 @@ +import { + createResource, + createSignal, + type Component, +} from "solid-js"; + +import type { SearchResult } from "./types"; +import SearchModal from "./SearchModal"; + +const pagefind = await import("@dist/pagefind/pagefind.js"); +pagefind.init(); + +async function PagefindSearch(query: string) { + const search = await pagefind.search(query); + const resultdata: SearchResult[] = []; + for (const result of search.results) { + const data = await result.data(); + resultdata.push(data); + } + return resultdata; +} + +const SearchComponent: Component = () => { + let modal!: HTMLElement; + const [query, setQuery] = createSignal(""); + const [results, { refetch }] = createResource( + query, + PagefindSearch + ); + + function handleSearch(value: string) { + setQuery(value); + refetch(); + console.log(results()); + } + + return ( + + ); +}; + +export default SearchComponent; diff --git a/src/components/navigation/search/types.d.ts b/src/components/navigation/search/types.d.ts new file mode 100644 index 0000000..890aaae --- /dev/null +++ b/src/components/navigation/search/types.d.ts @@ -0,0 +1,15 @@ +interface SearchResult { + url: string; + excerpt: string; + meta: { + title: string; + image?: string; + }; + sub_results: { + title: string; + url: string; + excerpt: string; + }[]; +} + +export type { SearchResult } diff --git a/src/components/navigation/sidebars/Nav.astro b/src/components/navigation/sidebars/Nav.astro new file mode 100644 index 0000000..79af2b1 --- /dev/null +++ b/src/components/navigation/sidebars/Nav.astro @@ -0,0 +1,31 @@ +--- +import { generateTypeData } from "@config/io/generateTypeData"; +import { groupRoutes } from "@config/io/helpers"; +import NavComponent from "./nav"; + +const routes = await generateTypeData(); +const groupedRoutes = groupRoutes(routes); + +const url = Astro.url.pathname.split("/"); +const currentRoute = url[2]; +const currentModule = url[3]; +const currentClass = url[4]; + +const treeProps = { + items: groupedRoutes, + currentRoute: currentRoute, + currentModule: currentModule, + currentClass: currentClass, +}; + +const { mobile } = Astro.props; +--- + + diff --git a/src/components/navigation/sidebars/TOC.astro b/src/components/navigation/sidebars/TOC.astro new file mode 100644 index 0000000..310c0ce --- /dev/null +++ b/src/components/navigation/sidebars/TOC.astro @@ -0,0 +1,21 @@ +--- +import TableOfContents from "./toc"; +import type { ConfigHeading, TypeTOC } from "./types.d.ts"; + +export interface Props { + headings?: ConfigHeading[]; + types?: TypeTOC; + mobile: boolean; +} + +const { headings, types, mobile } = Astro.props; +--- + +
+ +
diff --git a/src/components/navigation/sidebars/nav/Tree.tsx b/src/components/navigation/sidebars/nav/Tree.tsx new file mode 100644 index 0000000..6145708 --- /dev/null +++ b/src/components/navigation/sidebars/nav/Tree.tsx @@ -0,0 +1,124 @@ +import { type Component, Index, For } from "solid-js"; +import { Accordion } from "@ark-ui/solid"; + +import { ShevronSmallDown } from "@icons"; +import type { TreeProps } from "../types"; + +export const Tree: Component = props => { + const { currentRoute, currentModule, currentClass, items } = + props; + + const typeKeys = items!.types && Object.keys(items!.types); + + const tutorials = + items!.tutorials && items!.tutorials + ? items!.tutorials.configuration + : null; + + return ( + + ); +}; diff --git a/src/components/navigation/sidebars/nav/index.tsx b/src/components/navigation/sidebars/nav/index.tsx new file mode 100644 index 0000000..2c99c08 --- /dev/null +++ b/src/components/navigation/sidebars/nav/index.tsx @@ -0,0 +1,52 @@ +import { createSignal, type Component } from "solid-js"; + +import { LoadingSpinner, MenuToX, XToMenu } from "@icons"; +import { Tree } from "./Tree"; +import type { NavProps } from "../types"; + +const NavComponent: Component = props => { + const [open, setOpen] = createSignal(false); + const { tree, mobile, routes } = props; + + if (!tree) { + return ; + } + + function toggle(e: MouseEvent) { + e.preventDefault(); + setOpen(!open()); + } + + if (!mobile) { + return ( + + ); + } + + return ( + + ); +}; + +export default NavComponent; diff --git a/src/components/navigation/sidebars/toc/Heading.tsx b/src/components/navigation/sidebars/toc/Heading.tsx new file mode 100644 index 0000000..3cc3366 --- /dev/null +++ b/src/components/navigation/sidebars/toc/Heading.tsx @@ -0,0 +1,33 @@ +import { For, type Component } from "solid-js"; + +import type { ConfigTOC } from "../types"; + +export const Heading: Component<{ + heading: ConfigTOC; + index: number; +}> = props => { + const { heading, index } = props; + + return ( +
  • + + {heading.text} + + {heading.subheadings.length > 0 && ( +
      + + {subheading => ( + + )} + +
    + )} +
  • + ); +}; diff --git a/src/components/navigation/sidebars/toc/Table.tsx b/src/components/navigation/sidebars/toc/Table.tsx new file mode 100644 index 0000000..b3b49cf --- /dev/null +++ b/src/components/navigation/sidebars/toc/Table.tsx @@ -0,0 +1,111 @@ +import { type Component, For } from "solid-js"; + +import type { TypeTOC, ConfigTOC } from "../types"; +import { + LoadingSpinner, + Tag, + RoundBrackets, + PowerCord, + FourDiamonds, +} from "@icons"; +import { Heading } from "./Heading"; + +export const Table: Component<{ + typeTOC?: TypeTOC; + configTOC?: ConfigTOC[]; +}> = props => { + const { typeTOC, configTOC } = props; + + if (configTOC) { + return ( +
    +

    Contents

    + + {heading => ( + + )} + +
    + ); + } + + if (!typeTOC) { + return ; + } + + return ( + + ); +}; diff --git a/src/components/navigation/sidebars/toc/i.tsx.bak b/src/components/navigation/sidebars/toc/i.tsx.bak new file mode 100644 index 0000000..49cd9fc --- /dev/null +++ b/src/components/navigation/sidebars/toc/i.tsx.bak @@ -0,0 +1,52 @@ +import { createSignal, type Component } from "solid-js"; + +import { Article } from "@icons"; +import { Table } from "./Table"; +import type { + TOCProps, + TypeTOC, + ConfigHeading, +} from "../types"; +import { buildHierarchy } from "@config/io/helpers"; + +const TableOfContents: Component = props => { + const [open, setOpen] = createSignal(false); + const [typeProps] = createSignal( + props.type + ); + const [configProps] = createSignal< + ConfigHeading[] | undefined + >(props.config); + + function toggle(e: MouseEvent) { + e.preventDefault(); + setOpen(!open()); + } + + if (!props.mobile) { + return typeProps() ? ( + + ) : ( +
    + ); + } + + return ( +
    + ) : ( +
    + )} + + + ); +}; + +export default TableOfContents; diff --git a/src/components/navigation/sidebars/toc/index.tsx b/src/components/navigation/sidebars/toc/index.tsx new file mode 100644 index 0000000..5934d9e --- /dev/null +++ b/src/components/navigation/sidebars/toc/index.tsx @@ -0,0 +1,41 @@ +import { createSignal, type Component } from "solid-js"; + +import { Article } from "@icons"; +import { Table } from "./Table"; +import type { TOCProps } from "../types"; +import { buildHierarchy } from "@config/io/helpers"; + +const TableOfContents: Component = props => { + const [open, setOpen] = createSignal(false); + const { mobile, config, type } = props; + + function toggle(e: MouseEvent) { + e.preventDefault(); + setOpen(!open()); + } + + if (!mobile) { + return type ? ( +
    + ) : ( +
    + ); + } + + return ( +
    +
    toggle(e)}> +
    +
    +
    + {type ? ( +
    + ) : ( +
    + )} + + + ); +}; + +export default TableOfContents; diff --git a/src/components/navigation/sidebars/types.d.ts b/src/components/navigation/sidebars/types.d.ts new file mode 100644 index 0000000..3189119 --- /dev/null +++ b/src/components/navigation/sidebars/types.d.ts @@ -0,0 +1,63 @@ +// Left +export interface Item { + name: string; + type: string; +} + +export interface GroupedRoutes { + tutorials: { [key: string]: Item[] }; + types: { [key: string]: Item[] }; +} + +export interface TreeProps { + items: GroupedRoutes; + currentRoute?: string; + currentModule: string | null; + currentClass: string | null; +} + +export interface NavProps { + routes: GroupedRoutes; + tree: TreeProps; + mobile: boolean; +} + +// Right +export interface TOCProps { + config?: ConfigHeading[]; + type?: TypeTableProps; + mobile: boolean; +} + +// -- Config +export interface ConfigHeading { + slug: string; + text: string; + depth: number; +} + +export interface ConfigTOC { + slug: string; + text: string; + depth: number; + subheadings: ConfigTOC[]; +} + +export interface ConfigTableProps { + content: { + title: string; + }; + headings: ConfigHeading[]; + frontmatter?: { + title: string; + description: string; + }; +} + +// -- Types +export interface TypeTOC { + properties: string[] | null; + functions: string[] | null; + signals: string[] | null; + variants: string[] | null; +} diff --git a/src/components/type/Functions.astro b/src/components/type/Functions.astro new file mode 100644 index 0000000..8b4792c --- /dev/null +++ b/src/components/type/Functions.astro @@ -0,0 +1,67 @@ +--- +import type { + QMLTypeLinkObject, + QuickshellFunction, +} from "@config/io/types"; +import { + parseMarkdown, + getQMLTypeLink, +} from "@config/io/helpers"; +import { Tag } from "@icons"; + +export interface Props { + funcData: QuickshellFunction[]; + title: string; +} + +const { funcData, title } = Astro.props; +--- +
      + { + funcData.map(item => { + const functionParams = item.params.length > 0 ? item.params : null + const retTypeLink = getQMLTypeLink(item.ret as unknown as QMLTypeLinkObject) + return ( +
    • +

      + {item.name}({functionParams + ? functionParams.map((itemType, index) => ( + {itemType.name}{ + index !== functionParams.length - 1 + && ", " + } + ) + ) : null}){item.ret.name || item.ret.type} +

      + { + item.params.length > 0 ? ( +

      + { + item.params.map(param => { + const paramTypeLink = getQMLTypeLink(param.type); + return ( + + + {param.name}{param.type.name} + + ) + }) + } +

      + ) + :null + } +
      +
      +
      +
    • + ) + }) + } +
    diff --git a/src/components/type/Properties.astro b/src/components/type/Properties.astro new file mode 100644 index 0000000..59be51d --- /dev/null +++ b/src/components/type/Properties.astro @@ -0,0 +1,83 @@ +--- +import { + parseMarkdown, + getQMLTypeLink, +} from "@config/io/helpers"; +import type { + QMLTypeLinkObject, + QuickshellProps, +} from "@config/io/types"; +import { Tag, Flag } from "@icons"; + +export interface Props { + propsKeys: string[]; + propsData: QuickshellProps; + title: string; +} + +const { propsKeys, propsData, title } = Astro.props; +--- +
      + { + propsKeys.map(item => { + const propData = propsData[item] + let typeLink:string; + let linkText:string; + const gadget = propData.type.gadget; + if (gadget) { + typeLink = "#" + linkText = `[${Object.keys(gadget).toString()}]` + } else { + typeLink = getQMLTypeLink(propData.type as unknown as QMLTypeLinkObject) + linkText = propData.type.name || propData.type.type + } + return ( +
    • +

      + + { item }{ linkText } +

      + { + propData.flags && propData.flags.length > 0 ? ( +

      + { + propData.flags.map((flag) => { + return ( + + + {flag} + + ) + }) + } +

      + ) : null + } + { + gadget ? ( +

      + { + Object.keys(gadget).map((key) => { + const gadgetData = gadget[key] + return ( + + + {key}:{gadgetData.name} + + ) + }) + } +

      + ):null + } +
      +
      +
      +
    • + ) + }) + } +
    diff --git a/src/components/type/Signals.astro b/src/components/type/Signals.astro new file mode 100644 index 0000000..8424a06 --- /dev/null +++ b/src/components/type/Signals.astro @@ -0,0 +1,54 @@ +--- +import type { QuickshellSignal } from "@config/io/types"; +import { Tag, PowerCord } from "@icons"; +import { parseMarkdown } from "@config/io/helpers"; + +export interface Props { + signalKeys: string[]; + signalsData: QuickshellSignal; + title: string; +} + +const { signalKeys, signalsData, title } = Astro.props; +--- +
      + { + signalKeys.map(item => { + const signalData = signalsData[item]; + const paramKeys = signalData.params.length > 0 ? signalData.params.map((param,index) => `${param.name}${index !== signalData.params.length -1 ? ", ":""}`) : [] + return ( +
    • +

      + + { item }({paramKeys})? +

      + { + signalData.params && signalData.params.length > 0 ? ( +

      + { + signalData.params.map((param, _) => { + return ( + + + {param.name}{param.type.name} + + ) + }) + } +

      + ) : null + } +
      +
      +
      +
    • + ) + }) + } +
    diff --git a/src/components/type/Variants.astro b/src/components/type/Variants.astro new file mode 100644 index 0000000..b074f73 --- /dev/null +++ b/src/components/type/Variants.astro @@ -0,0 +1,45 @@ +--- +import type { QuickshellVariant } from "@config/io/types"; +import { FourDiamonds } from "../icons"; +import { parseMarkdown } from "@src/config/io/helpers"; + +export interface Props { + variantKeys: string[]; + variantsData: QuickshellVariant; + title: string; +} + +const { variantKeys, variantsData, title } = Astro.props; +--- +
      + { + variantKeys.map(item => { + const variantData = variantsData[item]; + const paramKeys = variantData.params && variantData.params.length > 0 + ? variantData.params.map(param => param.name) + : []; + return ( +
    • +

      + + { item } +

      + { + paramKeys ? ( +
      + {paramKeys.map(paramKey => ( + {paramKey} + ))} +
      + ) + :null + } +
      +
      +
      +
    • + ) + }) + } +
    + diff --git a/src/config/Head.astro b/src/config/Head.astro new file mode 100644 index 0000000..4ff5fe5 --- /dev/null +++ b/src/config/Head.astro @@ -0,0 +1,28 @@ +--- +interface Props { + title: string; + description: string; + // image: string; +} +const { title, description } = Astro.props; +--- + +{title} + + + + + + + + + + + + + + + + + + diff --git a/src/config/PreTheme.astro b/src/config/PreTheme.astro new file mode 100644 index 0000000..8b5293c --- /dev/null +++ b/src/config/PreTheme.astro @@ -0,0 +1,23 @@ +--- + +--- + + diff --git a/src/config/io/fuseConfig.ts b/src/config/io/fuseConfig.ts new file mode 100644 index 0000000..a78ce3f --- /dev/null +++ b/src/config/io/fuseConfig.ts @@ -0,0 +1,5 @@ +export const options = { + includeMatches: true, + minMatchCharLength: 2, + threshold: 0.5, +}; diff --git a/src/config/io/generateSearchLists.ts b/src/config/io/generateSearchLists.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/config/io/generateTypeData.ts b/src/config/io/generateTypeData.ts new file mode 100644 index 0000000..ef905bf --- /dev/null +++ b/src/config/io/generateTypeData.ts @@ -0,0 +1,53 @@ +import { promises as fs } from "node:fs"; +import path from "node:path"; + +import type { RouteData, dirData } from "./types"; + +async function readSubdir(subdir: string): Promise { + const fullpath = path.join(process.cwd(), "modules", subdir); + const filenames = await fs.readdir(fullpath); + + const data = await Promise.all( + filenames.map(async filename => { + const filepath = path.join(fullpath, filename); + const content = await fs.readFile(filepath, "utf8"); + const data = JSON.parse(content); + if (typeof data.module === "undefined") { + data.module = "index"; + data.contains = filenames + .filter(filename => filename !== "index.json") + .map(filename => filename.replace(".json", "")); + } + const returnValue = { + fullpath: path.join(fullpath, filename), + filename: filename.replace(".json", ""), + category: subdir, + data: data, + }; + return returnValue; + }) + ); + return data; +} + +export async function generateTypeData(): Promise { + const mainDir = path.join(process.cwd(), "modules"); + const subdirs = await fs.readdir(mainDir, { + withFileTypes: true, + }); + const routes: RouteData[] = []; + + for (const subdir of subdirs) { + const data = await readSubdir(subdir.name); + const returnValue = data.map(entry => { + return { + type: entry.category, + name: entry.filename, + path: entry.fullpath, + data: entry.data, + }; + }); + routes.push(...returnValue); + } + return routes; +} diff --git a/src/config/io/helpers.ts b/src/config/io/helpers.ts new file mode 100644 index 0000000..90e56f9 --- /dev/null +++ b/src/config/io/helpers.ts @@ -0,0 +1,238 @@ +import { marked } from "marked"; +import markedAlert from "marked-alert"; + +import { + // Flag, + PowerCord, + Tag, + FourDiamonds, + RoundBrackets, +} from "@icons"; +import type { + ConfigHeading, + ConfigTOC, + GroupedRoutes, +} from "@components/navigation/sidebars/types"; +import type { QMLTypeLinkObject, RouteData } from "./types"; + +export function buildHierarchy(headings: ConfigHeading[]) { + const toc: ConfigTOC[] = []; + const parentHeadings = new Map(); + + if (!headings || headings.length === 0) { + return toc; + } + + for (const h of headings) { + const heading = { ...h, subheadings: [] }; + parentHeadings.set(heading.depth, heading); + + if (heading.depth === 1) { + toc.push(heading); + } else { + parentHeadings + .get(heading.depth - 1) + .subheadings.push(heading); + } + } + return toc; +} + +export function groupRoutes(routes: RouteData[]): GroupedRoutes { + const froutes = routes.filter(route => route.name !== "index"); + const defaultValue = { + tutorials: { + configuration: [ + { name: "Intro", type: "intro" }, + { name: "Positioning", type: "positioning" }, + { name: "QML Overview", type: "qml-overview" }, + ], + }, + types: {}, + }; + return froutes.reduce((acc, route) => { + if (!acc.tutorials) { + acc.tutorials = { + configuration: [ + { name: "Intro", type: "intro" }, + { name: "Positioning", type: "positioning" }, + { name: "QML Overview", type: "qml-overview" }, + ], + }; + } + + if (!acc.types) acc.types = {}; + + if (!acc.types[route.type]) { + acc.types[route.type] = []; + } + + acc.types[route.type].push({ + name: route.name, + type: route.type, + }); + return acc; + }, defaultValue); +} + +export function parseMarkdown(text?: string, title?: string) { + if (!text) { + return marked.parse(`${title}`); + } + + return marked.use(markedAlert()).parse(text); +} + +export function getQMLTypeLinkObject(unparsed: string) { + const isLocal = unparsed.startsWith("MQS_") ? "local" : false; + const isQT = unparsed.startsWith("MQT_") ? "qt" : false; + const index = isLocal || isQT || "self"; + + const hashMap = { + local: () => { + const linkSplit = unparsed.slice(4).split("99"); + const hasSubmodule = linkSplit[0].indexOf("_") !== -1; + const linkModule = hasSubmodule + ? linkSplit[0].replace("_", ".") + : linkSplit[0]; + const linkObj: QMLTypeLinkObject = { + type: "local", + module: linkModule.replace("_", "."), + name: linkSplit[1].slice(1), + }; + if (linkSplit.length > 2) { + linkObj.mname = linkSplit[2].slice(1); + linkObj.mtype = linkSplit[3].slice(1); + } + return linkObj; + }, + qt: () => { + const linkSplit = unparsed.slice(4).split("99"); + const hasSubmodule = linkSplit[0].indexOf("_") !== -1; + const linkModule = hasSubmodule + ? linkSplit[0].replace("_", "-") + : linkSplit[0]; + const linkObj: QMLTypeLinkObject = { + type: "qt", + module: linkModule, + name: linkSplit[1].slice(1), + }; + if (linkSplit.length > 2) { + linkObj.mname = linkSplit[3]; + linkObj.mtype = linkSplit[4]; + } + return linkObj; + }, + self: () => { + const linkSplit = unparsed.slice(1).split("99"); + const linkObj: QMLTypeLinkObject = { + type: "self", + mname: linkSplit[0], + mtype: linkSplit[1].slice(1), + }; + return linkObj; + }, + }; + + return hashMap[index](); +} + +export function getQMLTypeLink({ + type, + module, + name, + //mtype, + mname, +}: QMLTypeLinkObject) { + if (type === "unknown") { + return "#unknown"; + } + const qtStart = "https://doc.qt.io/qt-6/"; + const localStart = "/docs/types"; + const isSpecific = mname ? `#${mname}` : ""; + + const hashMap = { + local: () => { + const localLink = `${localStart}/${module}/${name}${isSpecific}`; + return localLink; + }, + qt: () => { + const qtLink = `${qtStart}${module!.toLowerCase().replace(".", "-")}-${name!.toLowerCase()}${isSpecific.toLowerCase()}.html`; + return qtLink; + }, + self: () => { + const selfLink = `#${mname}`; + return selfLink; + }, + }; + + if (!type) { + type = "self"; + } + + return hashMap[type as keyof typeof hashMap](); +} + +export function getIconForLink(mtype: string, isJsx: boolean) { + const TagIconString: string = ` + Go to + + `; + const RoundBracketsIconString: string = ` + Go to + + `; + const PowerCordIconString: string = ` + Go to + + `; + const FourDiamondsIconString: string = ` + Go to + + `; + const map = { + prop: () => (isJsx ? Tag : TagIconString), + func: () => (isJsx ? RoundBrackets : RoundBracketsIconString), + signal: () => (isJsx ? PowerCord : PowerCordIconString), + variant: () => + isJsx ? FourDiamonds : FourDiamondsIconString, + }; + + return map[mtype as keyof typeof map](); +} diff --git a/src/config/io/types.d.ts b/src/config/io/types.d.ts new file mode 100644 index 0000000..daa2723 --- /dev/null +++ b/src/config/io/types.d.ts @@ -0,0 +1,121 @@ +//#FIXME fuseConfig.ts +// -- + +// generateSearchLists.ts +interface SearchLists { + slug: string; + link: string; + summary: string; +} +// -- + +// generateTypeData.ts +interface QuickshellBase { + type: string; + module: string; + name: string; +} + +interface QuickshellInstance { + name?: string; + type: { + gadget?: QuickshellGadget; + type: string; + module: string; + name: string; + of?: QuickshellBase; + }; + details?: string; + flags?: string[]; +} + +interface QuickshellGadget { + [key: string]: QuickshellInstance; +} + +interface QuickshellProps { + [key: string]: QuickshellInstance; +} + +interface QuickshellFunction { + ret: QuickshellInstance; + name: string; + id: string; + details: string; + params: QuickshellInstance[]; +} + +interface QuickshellSignal { + [key: string]: { + name: string; + details: string; + params: QuickshellInstance[]; + }; +} + +export interface QuickshellVariant { + [key: string]: { + name?: string; + details: string; + params?: QuickshellInstance[]; + }; +} + +export interface QuickshellData { + type: string; + module: string; + name: string; + description: string; + details: string; + flags?: string[]; + contains?: string[]; + super?: QuickshellBase; + properties?: QuickshellProps; + functions?: QuickshellFunction[]; + signals?: QuickshellSignal; + variants?: QuickshellVariant; + subtypes?: QuickshellData[]; +} + +export interface RouteData { + // priority 1: Quickshell, Quickshell.Io, etc. + type: string; + // priority 1.1: entry name (e.g. DataStreamParser) + name: string; + // path to json + path: string; + // data content of the route + data: QuickshellData; +} + +export interface dirData { + fullpath: string; + filename: string; + category: string; + data: QuickshellData; +} +// -- + +// helpers.ts +interface QMLTypeLinkObject { + type: string; + module?: string; + name?: string; + mtype?: string; + mname?: string; +} +// -- + +export type { + QuickshellBase, + QuickshellInstance, + QuickshellGadget, + QuickshellProps, + QuickshellFunction, + QuickshellSignal, + QuickshellVariant, + QuickshellData, + RouteData, + dirData, + QMLTypeLinkObject, +}; diff --git a/src/env.d.ts b/src/env.d.ts new file mode 100644 index 0000000..acef35f --- /dev/null +++ b/src/env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro new file mode 100644 index 0000000..0520497 --- /dev/null +++ b/src/layouts/BaseLayout.astro @@ -0,0 +1,29 @@ +--- +import Header from "@components/Header.astro"; +import Head from "@config/Head.astro"; +import PreTheme from "@config/PreTheme.astro"; +import "@styles/global.css"; + +interface Props { + title: string; + description: string; + image: string; +} +const { title, description } = Astro.props; +--- + + + + + + + + + + + +
    +

    {title}

    + + + diff --git a/src/layouts/ConfigLayout.astro b/src/layouts/ConfigLayout.astro new file mode 100644 index 0000000..3f68caf --- /dev/null +++ b/src/layouts/ConfigLayout.astro @@ -0,0 +1,39 @@ +--- +import DocsLayout from "@layouts/DocsLayout.astro"; +import TOCIntersectionObserver from "@src/components/hooks/TOCIntersectionObserver.astro"; +import TOC from "@components/navigation/sidebars/TOC.astro"; + +export interface Headings { + slug: string; + text: string; + depth: number; +} + +export interface Props { + content: { + title: string; + }; + headings: Headings[]; + frontmatter?: { + title: string; + description: string; + }; +} + +const { headings, frontmatter } = Astro.props; +--- + +
    +
    +
    + +
    +
    + +
    + + diff --git a/src/layouts/DocsLayout.astro b/src/layouts/DocsLayout.astro new file mode 100644 index 0000000..16e60e6 --- /dev/null +++ b/src/layouts/DocsLayout.astro @@ -0,0 +1,103 @@ +--- +import { Breadcrumbs } from "astro-breadcrumbs"; +import "astro-breadcrumbs/breadcrumbs.css"; + +import CreateCopyButtons from "@components/hooks/CreateCopyButtons.astro"; +import PreTheme from "@config/PreTheme.astro"; +import Header from "@components/Header.astro"; +import Head from "@config/Head.astro"; +import Nav from "@components/navigation/sidebars/Nav.astro"; +import CreateQMLCodeButtons from "@components/hooks/CreateQMLCodeButtons.astro"; +import "@styles/global.css"; +import type { ConfigHeading } from "@src/components/navigation/sidebars/types"; + +interface Props { + title: string; + description: string; + headings?: ConfigHeading[]; +} + +const { title, description, headings } = Astro.props; +const url = Astro.url.pathname.split("/"); + +const customBreadcrumbs = [ + { + index: 0, + text: "custom", + href: "/", + }, + { + text: url[1].slice(0, 1)[0].toUpperCase() + url[1].slice(1), + href: `/${url[1]}`, + }, +]; + +if (url[2]) { + customBreadcrumbs.push({ + text: url[2].slice(0, 1)[0].toUpperCase() + url[2].slice(1), + href: `/${url[1]}/${url[2]}`, + }); + if (url[3]) { + customBreadcrumbs.push({ + text: url[3].slice(0, 1)[0].toUpperCase() + url[3].slice(1), + href: `/${url[1]}/${url[2]}/${url[3]}`, + }); + if (url[4]) { + customBreadcrumbs.filter((_, index) => index !== 4); + customBreadcrumbs.push({ + text: url[4], + href: `/${url[1]}/${url[2]}/${url[3]}/${url[4]}`, + }); + } + } +} +--- + + + + + + + + + + + + + +
    +
    +
    + + + diff --git a/src/pages/docs/configuration/index.mdx b/src/pages/docs/configuration/index.mdx new file mode 100644 index 0000000..247fe5d --- /dev/null +++ b/src/pages/docs/configuration/index.mdx @@ -0,0 +1,17 @@ +--- +layout: "@layouts/ConfigLayout.astro" +title: "Configuration" +description: "Configuring the shell" +--- +import MD_Title from "@components/MD_Title.tsx" + +# {frontmatter.title} +You should start with the [Introduction](./configuration/intro) which will guide you +through the basics of QML by creating a simple topbar with a clock. + +From there you can read the [QML Overview](./configuration/qml-overview) to get an overview of +the QML language, or jump right into the [Type Reference](/docs/types) to find +types you can use in your shell. + +The [quickshell-examples](https://git.outfoxxed.me/outfoxxed/quickshell-examples) repo contains +fully working example configurations you can read and modify. diff --git a/src/pages/docs/configuration/intro.mdx b/src/pages/docs/configuration/intro.mdx new file mode 100644 index 0000000..be0f2fc --- /dev/null +++ b/src/pages/docs/configuration/intro.mdx @@ -0,0 +1,844 @@ +--- +layout: "@layouts/ConfigLayout.astro" +title: "Introduction" +--- + +import { DocsCollapsible } from "@components/Collapsible.tsx"; +import MD_Title from "@components/MD_Title.tsx" + +# {frontmatter.title} + +This page will walk you through the process of creating a simple bar/panel, and +introduce you to all the basic concepts involved. + +There are many links to the [QML Overview](../qml-overview) +and [Type Reference](/docs/types) which you should follow if you don't +fully understand the concepts involved. + +## Shell Files + +Every quickshell instance starts from a shell root file, conventionally named `shell.qml`. +The default path is `~/.config/quickshell/shell.qml`. +(where `~/.config` can be substituted with `$XDG_CONFIG_HOME` if present.) + +Each shell file starts with the shell root object. Only one may exist per configuration. + +```qml {filename="~/.config/quickshell/shell.qml"} +import Quickshell + +QS_Quickshell_ShellRoot { + // ... +} +``` + +The shell root is not a visual element but instead contains all of the visual +and non visual objects in your shell. You can have multiple different shells +with shared components and different shell roots. + + +Quickshell can be launched with configurations in locations other than the default one. + +The `-p` or `--path` option will launch the shell root at the given path. +It will also accept folders with a `shell.qml` file in them. +It can also be specified via the `QS_CONFIG_PATH` environment variable. + +The `-c` or `--config` option will launch a configuration from the current manifest, +or if no manifest is specified, a subfolder of quickshell's base path. +It can also be specified via the `QS_CONFIG_NAME` environment variable. + +The base path defaults to `~/.config/quickshell`, but can be changed using +the `QS_BASE_PATH` environment variable. + +The `-m` or `--manifest` option specifies the quickshell manifest to read configs +from. When used with `-c`, the config will be chosen by name from the manifest. +It can also be specified via the `QS_MANIFEST` environment variable. + +The manifest path defaults to `~/.config/quickshell/manifest.conf` and is a list +of `name = path` pairs where path can be relative or absolute. +Lines starting with `#` are comments. + +```properties +# ~/.config/quickshell/manifest.conf +myconf1 = myconf +myconf2 = ./myconf +myconf3 = myconf/shell.nix +myconf4 = ~/.config/quickshell/myconf +``` + +You can use `quickshell --current` to print the current values of any of these +options and what set them. + + + +## Creating Windows + +Quickshell has two main window types available, +[PanelWindow](/docs/types/quickshell/panelwindow) for bars and widgets, and +[FloatingWindow](/docs/types/quickshell/floatingwindow) for standard desktop windows. + +We'll start with an example: + +```qml +import Quickshell // for ShellRoot and PanelWindow +import QtQuick // for Text + +QS_Quickshell_ShellRoot { + QS_Quickshell_PanelWindow { + anchors { + top: true + left: true + right: true + } + + height: 30 + + QT__Text { + // center the bar in its parent component (the window) + anchors.centerIn: parent + + text: "hello world" + } + } +} +``` + +The above example creates a bar/panel on your currently focused monitor with +a centered piece of [text](https://doc.qt.io/qt-6/qml-qtquick-text.html). It will also reserve space for itself on your monitor. + +More information about available properties is available in the [type reference](/docs/types/quickshell/panelwindow). + +## Running a process + +Now that we have a piece of text, what if it did something useful? +To start with lets make a clock. To get the time we'll use the `date` command. + +We can use a [Process](/docs/types/quickshell.io/process) object to run commands +and return their results. + +We'll listen to the [DataStreamParser.read](/docs/types/quickshell.io/datastreamparser/#signal.read) +[signal](/docs/configuration/qml-overview/#signals) emitted by +[SplitParser](/docs/types/quickshell.io/splitparser/) using a +[signal handler](/docs/configuration/qml-overview/#signal-handlers) +to update the text on the clock. + +> [!note/Note] +> Quickshell live-reloads your code. You can leave it open and edit the +> original file. The panel will reload when you save it. + +```qml +import Quickshell +import Quickshell.Io // for Process +import QtQuick + +QS_Quickshell_ShellRoot { + QS_Quickshell_PanelWindow { + anchors { + top: true + left: true + right: true + } + + height: 30 + + QT__Text { + // give the text an ID we can refer to elsewhere in the file + id: clock + + anchors.centerIn: parent + + // create a process management object + QS_Quickshell00Io_Process { + // the command it will run, every argument is its own string + command: ["date"] + + // run the command immediately + running: true + + // process the stdout stream using a SplitParser + // which returns chunks of output after a delimiter + stdout: QS_Quickshell00Io_SplitParser { + // listen for the read signal, which returns the data that was read + // from stdout, then write that data to the clock's text property + onRead: data => clock.text = data + } + } + } + } +} +``` + +## Running code at an interval + +With the above example, your bar should now display the time, but it isn't updating! +Let's use a [Timer](https://doc.qt.io/qt-6/qml-qtqml-timer.html) fix that. + +```qml +import Quickshell +import Quickshell.Io +import QtQuick + +QS_Quickshell_ShellRoot { + QS_Quickshell_PanelWindow { + anchors { + top: true + left: true + right: true + } + + height: 30 + + QT__Text { + id: clock + anchors.centerIn: parent + + QS_Quickshell00Io_Process { + // give the process object an id so we can talk + // about it from the timer + id: dateProc + + command: ["date"] + running: true + + stdout: QS_Quickshell00Io_SplitParser { + onRead: data => clock.text = data + } + } + + // use a timer to rerun the process at an interval + QT_qtqml_Timer { + // 1000 milliseconds is 1 second + interval: 1000 + + // start the timer immediately + running: true + + // run the timer again when it ends + repeat: true + + // when the timer is triggered, set the running property of the + // process to true, which reruns it if stopped. + onTriggered: dateProc.running = true + } + } + } +} +``` + +## Reusable components + +If you have multiple monitors you might have noticed that your bar +is only on one of them. If not, you'll still want to **follow this section +to make sure your bar doesn't disappear if your monitor disconnects**. + +We can use a [Variants](/docs/types/quickshell/variants) +object to create instances of _non widget items_. +(See [Repeater](https://doc.qt.io/qt-6/qml-qtquick-repeater.html) for doing +something similar with visual items.) + +The `Variants` type creates instances of a +[Component](https://doc.qt.io/qt-6/qml-qtqml-component.html) based on a data model +you supply. (A component is a re-usable tree of objects.) + +The most common use of `Variants` in a shell is to create instances of +a window (your bar) based on your monitor list (the data model). + +Variants will inject the values in the data model into each new +component's `modelData` property, which means we can easily pass each screen +to its own component. +(See [Window.screen](/docs/types/quickshell/qswindow/#prop.screen).) + +```qml +import Quickshell +import Quickshell.Io +import QtQuick + +QS_Quickshell_ShellRoot { + QS_Quickshell_Variants { + model: Quickshell.screens; + + delegate: QT_qtqml_Component { + QS_Quickshell_PanelWindow { + // the screen from the screens list will be injected into this + // property + property var modelData + + // we can then set the window's screen to the injected property + screen: modelData + + anchors { + top: true + left: true + right: true + } + + height: 30 + + QT__Text { + id: clock + anchors.centerIn: parent + + QS_Quickshell00Io_Process { + id: dateProc + command: ["date"] + running: true + + stdout: QS_Quickshell00Io_SplitParser { + onRead: data => clock.text = data + } + } + + QT_qtqml_Timer { + interval: 1000 + running: true + repeat: true + onTriggered: dateProc.running = true + } + } + } + } + } +} +``` + + + See also: [Property + Bindings](/docs/configuration/qml-overview/#property-bindings), + [Variants.component](/docs/types/quickshell/variants/#prop.component), + [Quickshell.screens](/docs/types/quickshell/quickshell/#prop.screens), + [Array.map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) + + +With this example, bars will be created and destroyed as you plug and unplug them, +due to the reactive nature of the +[Quickshell.screens](/docs/types/quickshell/quickshell/#prop.screens) property. +(See: [Reactive Bindings](/docs/configuration/qml-overview/#reactive-bindings).) + +Now there's an important problem you might have noticed: when the window +is created multiple times we also make a new Process and Timer. We can fix +this by moving the Process and Timer outside of the window. + +> [!caution/Error] +> This code will not work correctly. + +```qml +import Quickshell +import Quickshell.Io +import QtQuick + +QS_Quickshell_ShellRoot { + QS_Quickshell_Variants { + model: Quickshell.screens + + delegate: QT_qtqml_Component { + QS_Quickshell_PanelWindow { + property var modelData + screen: modelData + + anchors { + top: true + left: true + right: true + } + + height: 30 + + QT__Text { + id: clock + anchors.centerIn: parent + } + } + } + } + + QS_Quickshell00Io_Process { + id: dateProc + command: ["date"] + running: true + + stdout: QS_Quickshell00Io_SplitParser { + onRead: data => clock.text = data + } + } + + QT_qtqml_Timer { + interval: 1000 + running: true + repeat: true + onTriggered: dateProc.running = true + } +} +``` + +However there is a problem with naively moving the Process and Timer +out of the component. +_What about the `clock` that the process references?_ + +If you run the above example you'll see something like this in the console every second: + +``` +file:///home/name/.config/quickshell/shell.qml:33: ReferenceError: clock is not defined +file:///home/name/.config/quickshell/shell.qml:33: ReferenceError: clock is not defined +file:///home/name/.config/quickshell/shell.qml:33: ReferenceError: clock is not defined +file:///home/name/.config/quickshell/shell.qml:33: ReferenceError: clock is not defined +file:///home/name/.config/quickshell/shell.qml:33: ReferenceError: clock is not defined +``` + +This is because the `clock` object, even though it has an ID, cannot be referenced +outside of its component. Remember, components can be created _any number of times_, +including zero, so `clock` may not exist or there may be more than one, meaning +there isn't an object to refer to from here. + +We can fix it with a [Property Definition](/docs/configuration/qml-overview/#property-definitions). + +We can define a property inside of the ShellRoot and reference it from the clock +text instead. Due to QML's [Reactive Bindings](/docs/configuration/qml-overview/#reactive-bindings), +the clock text will be updated when we update the property for every clock that +currently exists. + +```qml +import Quickshell +import Quickshell.Io +import QtQuick + +QS_Quickshell_ShellRoot { + id: root + + // add a property in the root + property string time; + + QS_Quickshell_Variants { + model: Quickshell.screens + + delegate: QT_qtqml_Component { + QS_Quickshell_PanelWindow { + property var modelData + screen: modelData + + anchors { + top: true + left: true + right: true + } + + height: 30 + + QT__Text { + // remove the id as we don't need it anymore + + anchors.centerIn: parent + + // bind the text to the root's time property + text: root.time + } + } + } + } + + QS_Quickshell00Io_Process { + id: dateProc + command: ["date"] + running: true + + stdout: QS_Quickshell00Io_SplitParser { + // update the property instead of the clock directly + onRead: data => root.time = data + } + } + + QT_qtqml_Timer { + interval: 1000 + running: true + repeat: true + onTriggered: dateProc.running = true + } +} +``` + +Now we've fixed the problem so there's nothing actually wrong with the +above code, but we can make it more concise: + +1. `Component`s can be defined implicitly, meaning we can remove the + component wrapping the window and place the window directly into the + `delegate` property. +2. The [Variants.delegate](/docs/types/quickshell/variants/#prop.delegate) + property is a [Default Property](/docs/configuration/qml-overview/#the-default-property), + which means we can skip the `delegate:` part of the assignment. + We're already using [ShellRoot](/docs/types/quickshell/shellroot/)'s + default property to store our Variants, Process, and Timer components + among other things. +3. The ShellRoot doesn't actually need an `id` property to talk about + the time property, as it is the outermost object in the file which + has [special scoping rules](/docs/configuration/qml-overview/#property-access-scopes). + +This is what our shell looks like with the above (optional) cleanup: + +```qml +import Quickshell +import Quickshell.Io +import QtQuick + +QS_Quickshell_ShellRoot { + property string time; + + QS_Quickshell_Variants { + model: Quickshell.screens + + QS_Quickshell_PanelWindow { + property var modelData + screen: modelData + + anchors { + top: true + left: true + right: true + } + + height: 30 + + QT__Text { + anchors.centerIn: parent + + // now just time instead of root.time + text: time + } + } + } + + QS_Quickshell00Io_Process { + id: dateProc + command: ["date"] + running: true + + stdout: QS_Quickshell00Io_SplitParser { + // now just time instead of root.time + onRead: data => time = data + } + } + + QT_qtqml_Timer { + interval: 1000 + running: true + repeat: true + onTriggered: dateProc.running = true + } +} +``` + +## Multiple files + +In an example as small as this, it isn't a problem, but as the shell +grows it might be preferable to separate it into multiple files. + +To start with, let's move the entire bar into a new file. + +```qml {filename="shell.qml"} +import Quickshell + +QS_Quickshell_ShellRoot { + Bar {} +} +``` + +```qml {filename="Bar.qml"} +import Quickshell +import Quickshell.Io +import QtQuick + +QS_Quickshell_Scope { + property string time; + + QS_Quickshell_Variants { + model: Quickshell.screens + + QS_Quickshell_PanelWindow { + property var modelData + screen: modelData + + anchors { + top: true + left: true + right: true + } + + height: 30 + + QT__Text { + anchors.centerIn: parent + + // now just time instead of root.time + text: time + } + } + } + + QS_Quickshell00Io_Process { + id: dateProc + command: ["date"] + running: true + + stdout: QS_Quickshell00Io_SplitParser { + // now just time instead of root.time + onRead: data => time = data + } + } + + QT_qtqml_Timer { + interval: 1000 + running: true + repeat: true + onTriggered: dateProc.running = true + } +} +``` + +See also: [Scope](/docs/types/Quickshell/Scope/) + +Any qml file that starts with an uppercase letter can be referenced this way. +We can bring in other folders as well using +[import statements](/docs/configuration/qml-overview/#explicit-imports). + +Now what about breaking out the clock? This is a bit more complex because +the clock component in the bar, as well as the process and timer that +make up the actual clock, need to be dealt with. + +To start with, we can move the clock widget to a new file. For now it's just a +single `Text` object but the same concepts apply regardless of complexity. + +```qml {filename="ClockWidget.qml"} +import QtQuick + +QT__Text { + // A property the creator of this type is required to set. + // Note that we could just set `text` instead, but don't because your + // clock probably will not be this simple. + required property string time + + text: time +} +``` + +```qml {filename="Bar.qml"} +import Quickshell +import Quickshell.Io +import QtQuick + +QS_Quickshell_Scope { + id: root + property string time; + + QS_Quickshell_Variants { + model: Quickshell.screens + + QS_Quickshell_PanelWindow { + property var modelData + screen: modelData + + anchors { + top: true + left: true + right: true + } + + height: 30 + + // the ClockWidget type we just created + ClockWidget { + anchors.centerIn: parent + // Warning: setting `time: time` will bind time to itself which is not what we want + time: root.time + } + } + } + + QS_Quickshell00Io_Process { + id: dateProc + command: ["date"] + running: true + + stdout: QS_Quickshell00Io_SplitParser { + onRead: data => time = data + } + } + + QT_qtqml_Timer { + interval: 1000 + running: true + repeat: true + onTriggered: dateProc.running = true + } +} +``` + +While this example is larger than what we had before, we can now expand +on the clock widget without cluttering the bar file. + +Let's deal with the clock's update logic now: + +```qml {filename="Time.qml"} +import Quickshell +import Quickshell.Io +import QtQuick + +QS_Quickshell_Scope { + property string time; + + QS_Quickshell00Io_Process { + id: dateProc + command: ["date"] + running: true + + stdout: QS_Quickshell00Io_SplitParser { + onRead: data => time = data + } + } + + QT_qtqml_Timer { + interval: 1000 + running: true + repeat: true + onTriggered: dateProc.running = true + } +} +``` + +```qml {filename="Bar.qml"} +import Quickshell + +QS_Quickshell_Scope { + // the Time type we just created + Time { id: timeSource } + + QS_Quickshell_Variants { + model: Quickshell.screens + + QS_Quickshell_PanelWindow { + property var modelData + screen: modelData + + anchors { + top: true + left: true + right: true + } + + height: 30 + + ClockWidget { + anchors.centerIn: parent + // now using the time from timeSource + time: timeSource.time + } + } + } +} +``` + +## Singletons + +Now you might be thinking, why do we need the `Time` type in +our bar file, and the answer is we don't. We can make `Time` +a [Singleton](/docs/configuration/qml-overview/#singletons). + +A singleton object has only one instance, and is accessible from +any scope. + +```qml {filename="Time.qml"} +// with this line our type becomes a singleton +pragma Singleton + +import Quickshell +import Quickshell.Io +import QtQuick + +// your singletons should always have Singleton as the type +QS_Quickshell_Singleton { + property string time + + QS_Quickshell00Io_Process { + id: dateProc + command: ["date"] + running: true + + stdout: QS_Quickshell00Io_SplitParser { + onRead: data => time = data + } + } + + QT_qtqml_Timer { + interval: 1000 + running: true + repeat: true + onTriggered: dateProc.running = true + } +} +``` + +```qml {filename="ClockWidget.qml"} +import QtQuick + +QT__Text { + // we no longer need time as an input + + // directly access the time property from the Time singleton + text: Time.time +} +``` + +```qml {filename="Bar.qml"} +import Quickshell + +QS_Quickshell_Scope { + // no more time object + + QS_Quickshell_Variants { + model: Quickshell.screens + + QS_Quickshell_PanelWindow { + property var modelData + screen: modelData + + anchors { + top: true + left: true + right: true + } + + height: 30 + + ClockWidget { + anchors.centerIn: parent + + // no more time binding + } + } + } +} +``` + +## JavaScript APIs + +In addition to calling external processes, a [limited set of javascript interfaces] is available. +We can use this to improve our clock by using the [Date API] instead of calling `date`. + +[limited set of javascript interfaces]: https://doc.qt.io/qt-6/qtqml-javascript-functionlist.html +[Date API]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date + +```qml {filename="Time.qml"} +pragma Singleton + +import Quickshell +import Quickshell.Io +import QtQuick + +QS_Quickshell_Singleton { + property var date: new Date() + property string time: date.toLocaleString(Qt.locale()) + + QT_qtqml_Timer { + interval: 1000 + running: true + repeat: true + onTriggered: date = new Date() + } +} +``` diff --git a/src/pages/docs/configuration/positioning.mdx b/src/pages/docs/configuration/positioning.mdx new file mode 100644 index 0000000..12824a5 --- /dev/null +++ b/src/pages/docs/configuration/positioning.mdx @@ -0,0 +1,117 @@ +--- +layout: "@layouts/ConfigLayout.astro" +title: "Positioning" +--- +import MD_Title from "@components/MD_Title.tsx" + +# {frontmatter.title} + +QtQuick has multiple ways to position components. This page has instructions for where and how +to use them. + +## Anchors + +Anchors can be used to position components relative to another neighboring component. +It is faster than [manual positioning](#manual-positioning) and covers a lot of simple +use cases. + +The [Qt Documentation: Positioning with Anchors](https://doc.qt.io/qt-6/qtquick-positioning-anchors.html) +page has comprehensive documentation of anchors. + +## Layouts + +Layouts are useful when you have many components that need to be positioned relative to +eachother such as a list. + +The [Qt Documentation: Layouts Overview](https://doc.qt.io/qt-6/qtquicklayouts-overview.html) +page has good documentation of the basic layout types and how to use them. + +> [!note/Note:] +> Layouts by default have a nonzero spacing. + +## Manual Positioning + +If layouts and anchors can't easily fulfill your usecase, you can also manually position and size +components by setting their `x`, `y`, `width` and `height` properties, which are relative to +the parent component. + +This example puts a 100x100px blue rectangle at x=20,y=40 in the parent item. Ensure the size +of the parent is large enough for its content or positioning based on them will break. + +```qml +QT__Item { + // make sure the component is large enough to fit its children + implicitWidth: childrenRect.width + implicitHeight: childrenRect.height + + QT__Rectangle { + color: "blue" + x: 20 + y: 40 + width: 100 + height: 100 + } +} +``` + +## Notes + +### Component Size + +The [Item.implicitHeight] and [Item.implicitWidth] properties control the _base size_ of a +component, before layouts are applied. These properties are _not_ the same as +[Item.height] and [Item.width] which are the final size of the component. +You should nearly always use the implicit size properties when creating a component, +however using the normal width and height properties is fine if you know an +item will never go in a layout. + +[Item.height]: https://doc.qt.io/qt-6/qml-qtquick-item.html#height-prop +[Item.width]: https://doc.qt.io/qt-6/qml-qtquick-item.html#width-prop +[Item.implicitHeight]: https://doc.qt.io/qt-6/qml-qtquick-item.html#implicitHeight-prop +[Item.implicitWidth]: https://doc.qt.io/qt-6/qml-qtquick-item.html#implicitWidth-prop + +This example component puts a colored rectangle behind some text, and will act the same +way in a layout as the text by itself. + +```qml {filename="TextWithBkgColor.qml"} +QT__Rectangle { + implicitWidth: text.implicitWidth + implicitHeight: text.implicitHeight + + QT__Text { + id: text + text: "hello!" + } +} +``` + +If you want to size your component based on multiple others or use any other math you can. + +```qml {filename="PaddedTexts.qml"} +QT__Item { + // width of both texts plus 5 + implicitWidth: text1.implicitWidth + text2.implicitWidth + 5 + // max height of both texts plus 5 + implicitHeight: Math.min(text1.implicitHeight, text2.implicitHeight) + 5 + + QT__Text { + id: text1 + text: "text1" + } + + QT__Text { + id: text2 + anchors.left: text1.left + text: "text2" + } +} +``` + +### Coordinate space + +You should always position or size components relative to the closest possible +parent. Often this is just the `parent` property. + +Refrain from using things like the size of your screen to size a component, +as this will break as soon as anything up the component hierarchy changes, such +as adding padding to a bar. diff --git a/src/pages/docs/configuration/qml-overview.mdx b/src/pages/docs/configuration/qml-overview.mdx new file mode 100644 index 0000000..a1a56a0 --- /dev/null +++ b/src/pages/docs/configuration/qml-overview.mdx @@ -0,0 +1,888 @@ +--- +layout: "@layouts/ConfigLayout.astro" +title: "QML Overview" +--- +import MD_Title from "@components/MD_Title.tsx" +import { DocsCollapsible } from "@components/Collapsible.tsx"; + +# {frontmatter.title} + +Quickshell is configured using the Qt Modeling Language, or QML. +This page explains what you need to know about QML to start using quickshell. + + + See also: [Qt Documentation: QML + Tutorial](https://doc.qt.io/qt-6/qml-tutorial.html) + + +## Structure + +Below is a QML document showing most of the syntax. +Keep it in mind as you read the detailed descriptions below. + +> [!note/Notes:] +> +> - Semicolons are permitted basically everywhere, and recommended in +> functions and expressions. +> - While types can often be elided, we recommend you use them where +> possible to catch problems early instead of running into them unexpectedly later on. + +```qml +// QML Import statement +import QtQuick 6.0 + +// Javascript import statement +import "myjs.js" as MyJs + +// Root Object +QT__Item { + // Id assignment + + id: root + // Property declaration + property int myProp: 5; + + // Property binding + width: 100 + + // Property binding + height: width + + // Multiline property binding + prop: { + // ... + 5 + } + + // Object assigned to a property + objProp: Object { + // ... + } + + // Object assigned to the parent's default property + AnotherObject { + // ... + } + + // Signal declaration + signal foo(bar: int) + + // Signal handler + onSignal: console.log("received signal!") + + // Property change signal handler + onWidthChanged: console.log(`width is now ${width}!`) + + // Multiline signal handler + onOtherSignal: { + console.log("received other signal!"); + console.log(`5 * 2 is ${dub(5)}`); + // ... + } + + // Attached property signal handler + Component.onCompleted: MyJs.myfunction() + + // Function + function dub(x: int): int { + return x * 2 + } +} +``` + +### Imports + +#### Manual imports + +Every QML File begins with a list of imports. +Import statements tell the QML engine where +to look for types you can create [objects](#objects) from. + +A module import statement looks like this: + +```qml +import [Major.Minor] [as ] +``` + +- `Module` is the name of the module you want to import, such as `QtQuick`. +- `Major.Minor` is the version of the module you want to import. +- `Namespace` is an optional namespace to import types from the module under. + +A subfolder import statement looks like this: + +```qml +import "" [as ] +``` + +- `directory` is the directory to import, relative to the current file. +- `Namespace` is an optional namespace to import types from the folder under. + +A javascript import statement looks like this: + +```qml +import "" as +``` + +- `filename` is the name of the javascript file to import. +- `Namespace` is the namespace functions and variables from the javascript + file will be made available under. + +Note: All _Module_ and _Namespace_ names must start with an uppercase letter. +Attempting to use a lowercase namespace is an error. + +##### Examples + +```qml +import QtQuick +import QtQuick.Controls 6.0 +import Quickshell as QS +import QtQuick.Layouts 6.0 as L +import "jsfile.js" as JsFile +``` + + + +By default, when no module version is requested, the QML engine will pick +the latest available version of the module. Requesting a specific version +can help ensure you get a specific version of the module's types, and as a +result your code doesn't break across Qt or quickshell updates. + +While Qt's types usually don't majorly change across versions, quickshell's +are much more likely to break. To put off dealing with the breakage we suggest +specifying a version at least when importing quickshell modules. + + + + + [Qt Documentation: Import + syntax](https://doc.qt.io/qt-6/qtqml-syntax-imports.html) + + +#### Implicit imports + +The QML engine will automatically import any [types](#creating-types) in neighboring files +with names that start with an uppercase letter. + +``` +root +|-MyButton.qml +|-shell.qml +``` + +In this example, `MyButton` will automatically be imported as a type usable from shell.qml +or any other neighboring files. + +### Objects + +Objects are instances of a type from an imported module. +The name of an object must start with an uppercase letter. +This will always distinguish an object from a property. + +An object looks like this: + +```qml +Name { + id: foo + // properties, functions, signals, etc... +} +``` + +Every object can contain [properties](#properties), [functions](#functions), +and [signals](#signals). You can find out what properties are available for a type +by looking it up in the [Type Reference](/docs/types/). + +#### Properties + +Every object may have any number of property assignments (only one per specific property). +Each assignment binds the named property to the given expression. + +##### Property bindings + +Expressions are snippets of javascript code assigned to a property. The last (or only) line +can be the return value, or an explicit return statement (multiline expressions only) can be used. + +```qml +QT__Item { + // simple expression + property: 5 + + // complex expression + property: 5 * 20 + this.otherProperty + + // multiline expression + property: { + const foo = 5; + const bar = 10; + foo * bar + } + + // multiline expression with return + property: { + // ... + return 5; + } +} +``` + +Semicolons are optional and allowed on any line of a single or multiline expression, +including the last line. + +All property bindings are [_reactive_](#reactive-bindings), which means when any property the expression depends +on is updated, the expression is re-evaluated and the property is updated. + +See: [Reactive bindings](#reactive-bindings) + +Note that it is an error to try to assign to a property that does not exist. +(See: [property definitions](#property-definitions)) + +##### Property definitions + +Properties can be defined inside of objects with the following syntax: + +```qml +[required] [readonly] [default] property [: binding] +``` + +- `required` forces users of this type to assign this property. See [Creating Types](#creating-types) for details. +- `readonly` makes the property not assignable. Its binding will still be [reactive](#reactive-bindings). +- `default` makes the property the [default property](#the-default-property) of this type. +- `type` is the type of the property. You can use `var` if you don't know or don't care but be aware that `var` will + allow any value type. +- `name` is the name that the property is known as. It cannot start with an uppercase letter. +- `binding` is the property binding. See [Property bindings](#property-bindings) for details. + +```qml +QT__Item { + // normal property + property int foo: 3 + + // readonly property + readonly property string bar: "hi!" + + // bound property + property var things: [ "foo", "bar" ] +} +``` + +Defining a property with the same name as one provided by the current object will override +the property of the type it is derived from in the current context. + +##### The default property + +Types can have a _default property_ which must accept either an object or a list of objects. + +The default property will allow you to assign a value to it without using the name of the property: + +```qml +QT__Item { + // normal property + foo: 3 + + // this item is assigned to the outer object's default property + QT__Item { + } +} +``` + +If the default property is a list, you can put multiple objects into it the same way as you +would put a single object in: + +```qml +QT__Item { + // normal property + foo: 3 + + // this item is assigned to the outer object's default property + QT__Item { + } + + // this one is too + QT__Item { + } +} +``` + +##### The `id` property + +Every object has a special property called `id` that can be assigned to give +the object a name it can be referred to throughout the current file. The id must be lowercase. + +```qml +QT_qtquick11layouts_ColumnLayout { + QT__Text { + id: text + text: "Hello World!" + } + + QT_qtquick11controls_Button { + text: "Make the text red"; + onClicked: text.color = "red"; + } +} +``` + + + +The `id` property isn't really a property, and doesn't do anything other than +expose the object to the current file. It is only called a property because it +uses very similar syntax to one, and is the only exception to standard property +definition rules. The name `id` is always reserved for the id property. + + + +##### Property access scopes + +Properties are "in scope" and usable in two cases. + +1. They are defined for current type. +2. They are defined for the root type in the current file. + +You can access the properties of any object by setting its [id property](#the-id-property), +or make sure the property you are accessing is from the current object using `this`. + +The `parent` property is also defined for all objects, but may not always point to what it +looks like it should. Use the `id` property if `parent` does not do what you want. + +```qml +QT__Item { + property string rootDefinition + + QT__Item { + id: mid + property string midDefinition + + QT__Text { + property string innerDefinition + + // legal - innerDefinition is defined on the current object + text: innerDefinition + + // legal - innerDefinition is accessed via `this` to refer to the current object + text: this.innerDefinition + + // legal - width is defined for Text + text: width + + // legal - rootDefinition is defined on the root object + text: rootDefinition + + // illegal - midDefinition is not defined on the root or current object + text: midDefinition + + // legal - midDefinition is accessed via `mid`'s id. + text: mid.midDefinition + + // legal - midDefinition is accessed via `parent` + text: parent.midDefinition + } + } +} +``` + + + [Qt Documentation: Scope and Naming + Resolution](https://doc.qt.io/qt-6/qtqml-documents-scope.html) + + +#### Functions + +Functions in QML can be declared everywhere [properties](#properties) can, and follow +the same [scoping rules](#property-access-scopes). + +Function definition syntax: + +```qml +function ([: ][, ...])[: returntype] { + // multiline expression (note that `return` is required) +} +``` + +Functions can be invoked in expressions. Expression reactivity carries through +functions, meaning if one of the properties a function depends on is re-evaluated, +every expression depending on the function is also re-evaluated. + +```qml +QT_qtquick11layouts_ColumnLayout { + property int clicks: 0 + + function makeClicksLabel(): string { + return "the button has been clicked " + clicks + " times!"; + } + + QT_qtquick11controls_Button { + text: "click me" + onClicked: clicks += 1 + } + + QT__Text { + text: makeClicksLabel() + } +} +``` + +In this example, every time the button is clicked, the label's count increases +by one, as `clicks` is changed, which triggers a re-evaluation of `text` through +`makeClicksLabel`. + +##### Lambdas + +Functions can also be values, and you can assign them to properties or pass them to +other functions (callbacks). There is a shorter way to write these functions, known +as lambdas. + +Lambda syntax: + +```qml + => + +// params can take the following forms: +() => ... // 0 parameters + => ... // 1 parameter +([, ...]) => ... // 1+ parameters + +// the expression can be either a single or multiline expression. +... => +... => { + return ; +} +``` + +Assigning functions to properties: + +```qml +QT__Item { + // using functions + function dub(number: int): int { return number * 2; } + property var operation: dub + + // using lambdas + property var operation: number => number * 2 +} +``` + +An overcomplicated click counter using a lambda callback: + +```qml +QT_qtquick11layouts_ColumnLayout { + property int clicks: 0 + + function incrementAndCall(callback) { + clicks += 1; + callback(clicks); + } + + QT_qtquick11controls_Button { + text: "click me" + onClicked: incrementAndCall(clicks => { + label.text = `the button was clicked ${clicks} time(s)!`; + }) + } + + QT__Text { + id: label + text: "the button has not been clicked" + } +} +``` + +#### Signals + +A signal is basically an event emitter you can connect to and receive updates from. +They can be declared everywhere [properties](#properties) and [functions](#functions) +can, and follow the same [scoping rules](#property-access-scopes). + + + [Qt Documentation: Signal and Handler Event + System](https://doc.qt.io/qt-6/qtqml-syntax-signals.html) + + +##### Signal definitions + +A signal can be explicitly defined with the following syntax: + +```qml +signal (: [, ...]) +``` + +##### Making connections + +Signals all have a `connect()` method which invokes the given function +or signal when the signal is emitted. + +```qml +QT_qtquick11layouts_ColumnLayout { + property int clicks: 0 + + function updateText() { + clicks += 1; + label.text = `the button has been clicked ${clicks} times!`; + } + + QT_qtquick11controls_Button { + id: button + text: "click me" + } + + QT__Text { + id: label + text: "the button has not been clicked" + } + + Component.onCompleted: { + button.clicked.connect(updateText) + } +} +``` + + + `Component.onCompleted` will be addressed later in [Attached + Properties](#attached-properties) but for now just know that it runs + immediately once the object is fully initialized. + + +When the button is clicked, the button emits the `clicked` signal which we connected to +`updateText`. The signal then invokes `updateText` which updates the counter and the +text on the label. + +##### Signal handlers + +Signal handlers are a more concise way to make a connections, and prior examples have used them. + +When creating an object, for every signal present on its type there is a corresponding `on` +property implicitly defined which can be set to a function. (Note that the first letter of the +signal's name it capitalized.) + +Below is the same example as in [Making Connections](#making-connections), +this time using the implicit signal handler property to handle `button.clicked`. + +```qml +QT_qtquick11layouts_ColumnLayout { + property int clicks: 0 + + function updateText() { + clicks += 1; + label.text = `the button has been clicked ${clicks} times!`; + } + + QT_qtquick11controls_Button { + text: "click me" + onClicked: updateText() + } + + QT__Text { + id: label + text: "the button has not been clicked" + } +} +``` + +##### Indirect signal handlers + +When it is not possible or not convenient to directly define a signal handler, before resorting +to `.connect`ing the properties, a [Connections] object can be used to access them. + +This is especially useful to connect to signals of singletons. + +```qml +QT__Item { + QT_qtquick11controls_Button { + id: myButton + text "click me" + } + + QT_qtqml_Connections { + target: myButton + + function onClicked() { + // ... + } + } +} +``` + +##### Property change signals + +Every property has an associated signal, which powers QML's [reactive bindings](#reactive-bindings). +The signal is named `Changed` and works exactly the same as any other signal. + +Whenever the property is re-evaluated, its change signal is emitted. This is used internally +to update dependent properties, but can be directly used, usually with a signal handler. + +```qml +QT_qtquick11layouts_ColumnLayout { + CheckBox { + text: "check me" + + onCheckStateChanged: { + label.text = labelText(checkState == Qt.Checked); + } + } + + QT__Text { + id: label + text: labelText(false) + } + + function labelText(checked): string { + return `the checkbox is checked: ${checked}`; + } +} +``` + +In this example we listen for the `checkState` property of the CheckBox changing +using its change signal, `checkStateChanged` with the signal handler `onCheckStateChanged`. + +Since text is also a property we can do the same thing more concisely: + +```qml +QT_qtquick11layouts_ColumnLayout { + CheckBox { + id: checkbox + text: "check me" + } + + QT__Text { + id: label + text: labelText(checkbox.checkState == Qt.Checked) + } + + function labelText(checked): string { + return `the checkbox is checked: ${checked}`; + } +} +``` + +And the function can also be inlined to an expression: + +```qml +QT_qtquick11layouts_ColumnLayout { + CheckBox { + id: checkbox + text: "check me" + } + + QT__Text { + id: label + text: { + const checked = checkbox.checkState == Qt.Checked; + return `the checkbox is checked: ${checked}`; + } + } +} +``` + +You can also remove the return statement if you wish. + +##### Attached objects + +Attached objects are additional objects that can be associated with an object +as decided by internal library code. The documentation for a type will +tell you if it can be used as an attached object and how. + +Attached objects are accessed in the form `.` and can have +properties, functions and signals. + +A good example is the [Component](https://doc.qt.io/qt-6/qml-qtqml-component.html) type, +which is attached to every object and often used to run code when an object initializes. + +```qml +QT__Text { + Component.onCompleted: { + text = "hello!" + } +} +``` + +In this example, the text property is set inside the `Component.onCompleted` attached signal handler. + +#### Creating types + +Every QML file with an uppercase name is implicitly a type, and can be used from +neighboring files or imported (See [Imports](#imports).) + +A type definition is just a normal object. All properties defined for the root object +are visible to the consumer of the type. Objects identified by [id properties](#the-id-property) +are not visible outside the file. + +```qml +// MyText.qml +QT__Rectangle { + required property string text + + color: "red" + implicitWidth: textObj.implicitWidth + implicitHeight: textObj.implicitHeight + + QT__Text { + id: textObj + anchors.fill: parent + text: parent.text + } +} + +// AnotherComponent.qml +QT__Item { + MyText { + // The `text` property of `MyText` is required, so we must set it. + text: "Hello World!" + + // `anchors` is a property of `Item` which `Rectangle` subclasses, + // so it is available on MyText. + anchors.centerIn: parent + + // `color` is a property of `Rectangle`. Even though MyText sets it + // to "red", we can override it here. + color: "blue" + + // `textObj` is has an `id` within MyText.qml but is not a property + // so we cannot access it. + textObj.color: "red" // illegal + } +} +``` + +##### Singletons + +QML Types can be easily made into a singleton, meaning there is only one instance +of the type. + +To make a type a singleton, put `pragma Singleton` at the top of the file. +To ensure it behaves correctly with quickshell you should also make +[Singleton](/docs/types/quickshell/singleton) the root item of your type. + +```qml +pragma Singleton +import ... + +QS_Quickshell_Singleton { + ... +} +``` + +once a type is a singleton, its members can be accessed by name from neighboring +files. + +## Concepts + +### Reactive bindings + + + This section assumes knowledge of: [Properties](#properties), + [Signals](#signals), and [Functions](#functions). See also the [Qt + documentation](https://doc.qt.io/qt-6/qtqml-syntax-propertybinding.html). + + +Reactivity is when a property is updated based on updates to another property. +Every time one of the properties in a binding change, the binding is re-evaluated +and the bound property takes the new result. Any bindings that depend on that property +are then re-evaluated and so forth. + +Bindings can be created in two different ways: + +##### Automatic bindings + +A reactive binding occurs automatically when you use one or more properties in the definition +of another property. . + +```qml +QT__Item { + property int clicks: 0 + + QT_qtquick11controls_Button { + text: `clicks: ${clicks}` + onClicked: clicks += 1 + } +} +``` + +In this example, the button's `text` property is re-evaluated every time the button is clicked, because +the `clicks` property has changed. + +###### Avoiding creation + +To avoid creating a binding, do not use any other properties in the definition of a property. + +You can use the `Component.onCompleted` signal to set a value using a property without creating a binding, +as assignments to properties do not create binding. + +```qml +QT__Item { + property string theProperty: "initial value" + + QT__Text { + // text: "Right now, theProperty is: " + theProperty + Component.onCompleted: text = "At creation time, theProperty is: " + theProperty + } +} +``` + +##### Manual bindings + +Sometimes (not often) you need to create a binding inside of a function, signal, or expression. +If you need to change or attach a binding at runtime, the `Qt.binding` function can be used to +create one. + +The `Qt.binding` function takes another function as an argument, and when assigned to a property, +the property will use that function as its binding expression. + +```qml +QT__Item { + QT__Text { + id: boundText + text: "not bound to anything" + } + + QT_qtquick11controls_Button { + text: "bind the above text" + onClicked: { + if (boundText.text == "not bound to anything") { + text = "press me"; + boundText.text = Qt.binding(() => `button is pressed: ${this.pressed}`); + } + } + } +} +``` + +In this example, `boundText`'s `text` property is bound to the button's pressed state +when the button is first clicked. When you press or unpress the button the text will +be updated. + +##### Removing bindings + +To remove a binding, just assign a new value to the property without using `Qt.binding`. + +```qml +QT__Item { + QT__Text { + id: boundText + text: `button is pressed: ${theButton.pressed}` + } + + QT_qtquick11controls_Button { + id: theButton + text: "break the binding" + onClicked: boundText.text = `button was pressed at the time the binding was broken: ${pressed}` + } +} +``` + +When the button is first pressed, the text will be updated, but once `onClicked` fires +the text will be unbound, and even though it contains a reference to the `pressed` property, +it will not be updated further by the binding. + +### Lazy loading + +Often not all of your interface needs to load immediately. By default the QML +engine initializes every object in the scene before showing anything onscreen. +For parts of the interface you don't need to be immediately visible, load them +asynchronously using a [LazyLoader](/docs/types/quickshell/lazyloader). +See its documentation for more information. + +#### Components + +Another delayed loading mechanism is the [Component](https://doc.qt.io/qt-6/qml-qtqml-component.html) type. +This type can be used to create multiple instances of objects or lazily load them. It's used by types such +as [Repeater](https://doc.qt.io/qt-6/qml-qtquick-repeater.html) +and [Quickshell.Variants](/docs/types/quickshell/variants) +to create instances of a component at runtime. diff --git a/src/pages/docs/index.astro b/src/pages/docs/index.astro new file mode 100644 index 0000000..4c3c8bf --- /dev/null +++ b/src/pages/docs/index.astro @@ -0,0 +1,10 @@ +--- +import DocsLayout from "@layouts/DocsLayout.astro"; +--- + +

    Docs

    + +
    diff --git a/src/pages/docs/types/[type]/[name].astro b/src/pages/docs/types/[type]/[name].astro new file mode 100644 index 0000000..70a136e --- /dev/null +++ b/src/pages/docs/types/[type]/[name].astro @@ -0,0 +1,127 @@ +--- +import { + parseMarkdown, + getQMLTypeLink, +} from "@config/io/helpers"; +import { generateTypeData } from "@config/io/generateTypeData"; +import { Flag } from "@icons"; +import DocsLayout from "@layouts/DocsLayout.astro"; +import TOC from "@components/navigation/sidebars/TOC.astro"; +import Properties from "@components/type/Properties.astro"; +import Functions from "@components/type/Functions.astro"; +import Signals from "@components/type/Signals.astro"; +import Variants from "@components/type/Variants.astro"; +import TransformMDCodeblocks from "@components/hooks/TransformMDCodeblocks.astro"; +import TransformLinks from "@components/hooks/TransformLinks.astro"; + +export async function getStaticPaths() { + const routes = await generateTypeData(); + + return routes + .filter(route => route.name !== "index") + .map(route => ({ + params: { type: route.type, name: route.name }, + props: { route }, + })); +} + +const { route } = Astro.props; + +const data = route.data; + +const sidebarFunctions = + data.functions?.map(item => item.name) || null; + +const propsKeys = data.properties + ? Object.keys(data.properties) + : null; +const signalKeys = data.signals + ? Object.keys(data.signals) + : null; +const variantKeys = data.variants + ? Object.keys(data.variants) + : null; + +const sidebarData = { + properties: propsKeys, + functions: sidebarFunctions, + signals: signalKeys, + variants: variantKeys, +}; + +const superLink = data.super ? getQMLTypeLink(data.super) : null; + +const details = parseMarkdown(data.details, route.name); +--- + + + + +
    +
    +
    +

    + {route.name}: + {data.super ? ( + + {data.super.name} + + ):( + {data.type} + ) + } +

    + { + route && data ? ( +
    + + import {data.module} + {data.flags ? ( +
    {data.flags.map(flag => ( + + + {flag} + + ))}
    + ):null} + + {!details ? ({data.description}):null} +
    + { data.properties && propsKeys ? ( + + ): null} + { data.functions && data.functions.length > 0 ? ( + + ): null} + { data.signals && signalKeys ? ( + + ):null} + { data.variants && variantKeys ? ( + + ):null} +
    + ) : null + } +
    + +
    +
    + diff --git a/src/pages/docs/types/[type]/index.astro b/src/pages/docs/types/[type]/index.astro new file mode 100644 index 0000000..203dd99 --- /dev/null +++ b/src/pages/docs/types/[type]/index.astro @@ -0,0 +1,27 @@ +--- +import DocsLayout from "@layouts/DocsLayout.astro"; +import { generateTypeData } from "@config/io/generateTypeData"; + +export async function getStaticPaths() { + const routes = await generateTypeData(); + + return routes.map(route => ({ + params: { type: route.type, name: route.type }, + props: { route }, + })); +} +const { route } = Astro.props; +--- + + +
    +

    {route.type[0].toUpperCase() + route.type.slice(1)} Definitions

    +
    + {route.data.contains!.map((item:string) => { + return () + })} +
    +
    diff --git a/src/pages/docs/types/index.astro b/src/pages/docs/types/index.astro new file mode 100644 index 0000000..19ebb3c --- /dev/null +++ b/src/pages/docs/types/index.astro @@ -0,0 +1,8 @@ +--- +import DocsLayout from "@layouts/DocsLayout.astro"; +--- + +

    Type Definitions

    +
    +
    +
    diff --git a/src/pages/index.astro b/src/pages/index.astro new file mode 100644 index 0000000..a59a241 --- /dev/null +++ b/src/pages/index.astro @@ -0,0 +1,13 @@ +--- +import BaseLayout from "@layouts/BaseLayout.astro"; +--- + +

    A fully user customizable desktop shell

    +

    Based on QtQuick

    + +
    diff --git a/src/styles/css-config/animations.css b/src/styles/css-config/animations.css new file mode 100644 index 0000000..178d31e --- /dev/null +++ b/src/styles/css-config/animations.css @@ -0,0 +1,107 @@ +@property --percent { + syntax: ''; + initial-value: 0%; + inherits: false; +} + +@keyframes pulseGreen { + 0% { + background-color: hsl(var(--blue) 85 35 / 0.1); + color: hsl(var(--blue) 100 69 / 1.0); + } + + 50% { + background-color: hsl(var(--green) 85 35 / 0.5); + color: hsl(var(--green) 100 69 / 1.0); + } + + 100% { + background-color: hsl(var(--blue) 85 35 / 0.1); + color: hsl(var(--blue) 100 69 / 1.0); + } +} + +@keyframes slideDown { + from { + opacity: 0.001; + height: 0; + } + + to { + opacity: 1; + height: var(--height); + } +} + +@keyframes slideUp { + from { + opacity: 1; + height: var(--height); + } + + to { + opacity: 0; + height: 0; + } +} + +@keyframes rotateIn { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(180deg); + } +} + +@keyframes rotateOut { + from { + transform: rotate(180deg); + } + + to { + transform: rotate(0deg); + } +} + +@keyframes rotateIn90 { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(90deg); + } +} + +@keyframes rotateOut90 { + from { + transform: rotate(90deg); + } + + to { + transform: rotate(0deg); + } +} + + +@keyframes percentToFifty { + from { + --percent: 0%; + } + + to { + --percent: 50%; + } +} + +@keyframes percentToZero { + from { + --percent: 50%; + } + + to { + --percent: 0%; + } +} diff --git a/src/styles/css-config/base.css b/src/styles/css-config/base.css new file mode 100644 index 0000000..a6e3531 --- /dev/null +++ b/src/styles/css-config/base.css @@ -0,0 +1,79 @@ +html { + font-family: 'Rubik', Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.272; + font-weight: 400; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + color-scheme: light dark; + /* accent */ + --green: 141; + --accent-400: var(--green) 100 67; + --accent-500: var(--green) 100 57; + --accent-600: var(--green) 98 50; + + /* secondary */ + --blue: 224; + --secondary-400: var(--blue) 100 68; + --secondary-500: var(--blue) 100 58; + --secondary-600: var(--blue) 53 41; + --secondary-700: var(--blue) 43 31; + --secondary-800: var(--blue) 23 21; + --secondary-900: var(--blue) 44 7; + + /* primary */ + --white: 194; + --bg-400: var(--white) 33 100; + --bg-500: var(--white) 12 96; + --bg-600: var(--white) 12 76; + --bg-700: var(--white) 12 56; + --bg-800: var(--white) 12 36; + --bg-900: var(--white) 12 16; +} + +html.dark { + /* accent */ + --green: 141; + --accent-400: var(--green) 100 67; + --accent-500: var(--green) 95 55; + --accent-600: var(--green) 90 40; + + /* secondary */ + --white: 194; + --secondary-400: var(--white) 33 100; + --secondary-500: var(--white) 33 96; + --secondary-600: var(--white) 33 76; + --secondary-700: var(--white) 33 56; + --secondary-800: var(--white) 35 36; + --secondary-900: var(--white) 44 7; + + /* primary */ + --blue: 224; + --bg-400: var(--blue) 90 65; + --bg-500: var(--blue) 83 45; + --bg-700: var(--blue) 82 25; + --bg-800: var(--blue) 82 15; + --bg-900: var(--blue) 82 3; + + /* docs */ + --prop-color: 350 78 70; + --prop-link-color: 350 78 60; + --func-color: 50 78 70; + --func-link-color: 50 78 60; + --signal-color: 270 78 70; + --signal-link-color: 270 85 60; + --var-color: 190 78 70; + --var-link-color: 190 85 60; + --inner-param-color: 215 60 70; +} + +* { + box-sizing: border-box; + position: relative; + margin: 0; + padding: 0; +} diff --git a/src/styles/css-config/code.css b/src/styles/css-config/code.css new file mode 100644 index 0000000..ad7eea3 --- /dev/null +++ b/src/styles/css-config/code.css @@ -0,0 +1,42 @@ +:where(p, li):has(>code) code { + padding-inline: 0.272rem; + border-radius: 0.272rem; + color: hsl(var(--blue) 100 69); + background-color: hsl(var(--blue) 85 35 / 0.1); +} + +pre { + padding: 1rem; + margin: 0.618rem; + border-radius: 0.618rem; + overflow: auto; + text-wrap: wrap; + + &>button { + all: unset; + width: 3svh; + height: 3svh; + position: absolute; + top: 0.5rem; + right: 0.5rem; + font-size: 1.618rem; + font-weight: 500; + border-radius: 0.272rem; + padding: 0.418rem; + display: flex; + align-items: center; + justify-content: center; + color: hsl(var(--blue) 100 69); + background-color: hsl(var(--blue) 85 35 / 0.1); + cursor: pointer; + transition: color 0.25s; + + &:hover { + color: hsl(var(--blue) 100 75); + } + + &.copied { + animation: pulseGreen 0.5s cubic-bezier(0, 1, 0.6, 1); + } + } +} diff --git a/src/styles/css-config/colors.css b/src/styles/css-config/colors.css new file mode 100644 index 0000000..629b489 --- /dev/null +++ b/src/styles/css-config/colors.css @@ -0,0 +1,31 @@ +.typeprop-link { + color: hsl(var(--prop-link-color)); + + & a { + color: hsl(var(--prop-link-color)) !important; + } +} + +.typesignal-link { + color: hsl(var(--signal-link-color)); + + & a { + color: hsl(var(--signal-link-color)) !important; + } +} + +.typefunc-link { + color: hsl(var(--func-link-color)); + + & a { + color: hsl(var(--func-link-color)) !important; + } +} + +.typevar-link { + color: hsl(var(--var-link-color)); + + & a { + color: hsl(var(--var-link-color)) !important; + } +} diff --git a/src/styles/css-config/modal.css b/src/styles/css-config/modal.css new file mode 100644 index 0000000..8814288 --- /dev/null +++ b/src/styles/css-config/modal.css @@ -0,0 +1,41 @@ +.search-output { + position: fixed; + inset: 0 25svw; + top: 3.6rem; + z-index: 33; + max-height: 100svw; + max-width: 50svw; + + overflow: scroll; + overflow-x: show; + + display: grid; + grid-template-columns: 1fr; + grid-auto-rows: max-content; + row-gap: 0.618rem; + padding: 1rem; +} + +.search-output::before { + content: ""; + position: fixed; + inset: -4rem; + backdrop-filter: blur(4px); + overflow: hidden; + background-color: hsla(0 0 0 / 0.3); +} + +.search-output_item { + height: max-content; + padding: 1rem; + border: 2px solid rgba(200, 200, 200, 0.23); + border-radius: 12px; + background-color: hsl(0 0 0); + overflow: hidden; + + & mark { + all: unset; + background: hsla(53 800 34 / 0.5); + padding-inline: 3px; + } +} diff --git a/src/styles/css-config/search.css b/src/styles/css-config/search.css new file mode 100644 index 0000000..ea8819d --- /dev/null +++ b/src/styles/css-config/search.css @@ -0,0 +1 @@ +@import "./modal.css"; diff --git a/src/styles/docs/collapsible.css b/src/styles/docs/collapsible.css new file mode 100644 index 0000000..b2cdcb4 --- /dev/null +++ b/src/styles/docs/collapsible.css @@ -0,0 +1,66 @@ +[data-scope='collapsible'][data-part='root'] { + --height: max-content; + padding: 0.673rem; + background-color: hsl(var(--white) 40 50 / 0.1); + border-radius: 0.618rem; +} + +[data-scope='collapsible'][data-part='content'] { + transition: all 250ms; + padding: 0; + margin-left: 0; +} + +[data-scope='collapsible'][data-part='content'][data-state='open'] { + animation: slideDown 250ms; + display: flex; + gap: 1.272rem; + flex-direction: column; + padding: 0.618em; + margin-left: 22px; + + & p { + margin-block: 0; + + } + +} + +[data-scope='collapsible'][data-part='content'][data-state='closed'] { + animation: slideUp 200ms; + padding: 0; + margin-left: 0; + + & svg { + animation: rotateOut90 250ms; + } +} + +[data-scope='collapsible'][data-part='trigger'] { + all: unset; + cursor: pointer; + font-size: 1.117rem; + font-weight: 500; + display: flex; + gap: 0.272rem; + align-items: center; + justify-content: space-between; + padding: 0.618rem; + border-radius: 0.618rem; + + &:hover { + background-color: hsl(var(--white) 40 50 / 0.1); + } + + &[data-state='open'] { + & svg { + animation: rotateIn90 250ms forwards; + } + } + + &[data-state='closed'] { + & svg { + animation: rotateOut90 250ms forwards; + } + } +} diff --git a/src/styles/docs/docs-config.css b/src/styles/docs/docs-config.css new file mode 100644 index 0000000..d43f4ee --- /dev/null +++ b/src/styles/docs/docs-config.css @@ -0,0 +1,13 @@ +.small { + opacity: 0.6; + transition: opacity 0.5s; + + &:hover { + opacity: 1; + } + + & p { + font-size: 0.841rem; + margin-top: 1rem; + } +} diff --git a/src/styles/docs/docs-types.css b/src/styles/docs/docs-types.css new file mode 100644 index 0000000..433eebf --- /dev/null +++ b/src/styles/docs/docs-types.css @@ -0,0 +1,407 @@ +.root-nav { + margin-left: 1em; + display: flex; + flex-direction: column; + + & .root-nav-entry { + margin-block: 1em; + } +} + +.types-nav { + display: none; +} + +.typedocs-title { + & a { + opacity: 0.6; + transition: opacity 0.5s; + + &:hover { + opacity: 1; + } + } +} + +#injectedMd { + &>p:not(:first-child) { + margin-block: 0.724rem; + } + +} + +.type-module { + color: hsl(var(--blue) 75 60); +} + +.typedocs-subheading { + margin-bottom: 1rem; +} + +.typedocs-content { + + &>p { + margin-block: 0.618rem; + } + + & hr { + margin-top: 0; + margin-bottom: 0.318rem; + } +} + + +.typedocs-data { + & subheading { + display: flex; + flex-direction: column; + gap: 0.618rem; + } +} + +.typedata { + list-style: none; + margin: 0; + + & .typedata-root { + margin-bottom: 0.618rem; + border-radius: 12px; + padding: 1.272rem; + transition: border 0.3s; + + + &>.typedata-name { + display: flex; + align-items: center; + font-size: 1.272rem; + margin: 0; + margin-top: 0.272rem; + + &>svg { + width: 27px; + height: 27px; + margin-right: 6px; + } + } + } + + & .typedata-details { + margin-top: 1.618rem; + } + + & .typedata-params { + & .typedata-param { + margin-top: 0.272rem; + display: flex; + align-items: center; + gap: 0.117rem; + + &>svg { + height: 1.272rem; + width: 1.272rem; + } + } + } + + & .typedata-detailsdata, + .typedocs-subheading { + &>p { + margin-top: 0.618rem; + } + + & .typeprop-link { + color: hsl(var(--prop-link-color)); + + & a { + color: hsl(var(--prop-link-color)); + } + } + + & .typesignal-link { + color: hsl(var(--signal-link-color)); + + & a { + color: hsl(var(--signal-link-color)); + } + } + + & .typefunc-link { + color: hsl(var(--func-link-color)); + + & a { + color: hsl(var(--func-link-color)); + } + } + + & .typevar-link { + color: hsl(var(--var-link-color)); + + & a { + color: hsl(var(--var-link-color)) + } + } + } +} + + +.typedata-link { + display: inline-flex; + align-items: baseline; + gap: 3px; + + & svg { + width: 18px; + height: 18px; + align-self: center; + } +} + + +.typedata-param { + color: hsla(var(--prop-link-color) / 1); +} + +.type-datatype { + color: #808080; + opacity: 0.8; + width: max-content; + transition: opacity 0.5s; + + &>a { + opacity: inherit; + } +} + +.type-flags { + & .type-flag { + margin: 0; + margin-top: 0.272rem; + display: flex; + align-items: center; + gap: 0.117rem; + color: hsl(var(--inner-param-color)) + } +} + +.typeprops { + & .typeprop-root { + border: 1px solid hsla(var(--prop-color) / 0.3); + + &:hover { + border: 1px solid hsla(var(--prop-color) / 0.6); + + & .type-datatype { + opacity: 1; + } + } + + & .typeprop-name { + color: hsl(var(--prop-link-color)); + } + + } +} + +.typefuncs { + & .typefunc-root { + border: 1px solid hsla(var(--func-color) / 0.3); + + &:hover { + border: 1px solid hsla(var(--func-color) / 0.6); + + & .type-datatype { + opacity: 1; + } + } + + & .typefunc-name { + color: hsl(var(--func-link-color)); + } + + & .typefunc-params { + + & .typefunc-param { + margin-top: 0.272rem; + display: flex; + align-items: center; + gap: 0.117rem; + + &>svg { + height: 1.272rem; + width: 1.272rem; + } + } + + } + + } +} + + +.typesignals { + & .typesignal-root { + border: 1px solid hsla(var(--signal-color) / 0.3); + + &:hover { + border: 1px solid hsla(var(--signal-color) / 0.6); + + & .typesignal-doclink { + opacity: 1; + } + } + + & .typesignal-name { + position: relative; + width: max-content; + color: hsl(var(--signal-link-color)); + + & .typesignal-doclink { + position: absolute; + top: -12px; + right: -12px; + opacity: 0.8; + scale: 75%; + } + } + + & .typesignal-params { + & .typesignal-param { + margin-top: 0.272rem; + display: flex; + align-items: center; + gap: 0.117rem; + + &>svg { + height: 1.272rem; + width: 1.272rem; + } + } + } + } +} + +.typevariants { + & .typevariant-root { + border: 1px solid hsla(var(--var-color) / 0.3); + + &:hover { + border: 1px solid hsla(var(--var-color) / 0.6); + + & .typevariant-doclink { + opacity: 1; + } + } + + & .typevariant-name { + position: relative; + width: max-content; + color: hsl(var(--var-link-color)); + + & .typevariant-doclink { + position: absolute; + top: -12px; + right: -12px; + opacity: 0.8; + scale: 75%; + } + } + } +} + +@media (min-width: 768px) { + .typedocs-content { + margin-inline: 1.272rem; + + & section { + min-width: 30svw; + } + + &>p { + margin-block: 1.217rem; + } + } +} + +@media (min-width: 1280px) { + .typedata { + max-width: 47svw; + } + + .typedata-detailsdata, + .typedocs-subheading { + max-width: 42svw; + + } + + .root-nav { + min-width: 45svw; + } + + .types-nav { + display: block; + position: fixed; + top: 5rem; + right: 10svw; + width: 250px; + max-height: 90svh; + overflow-y: scroll; + z-index: 10; + + & .props-list { + color: hsl(var(--prop-color)); + + & a { + color: hsl(var(--prop-link-color)); + } + } + + & .funcs-list { + color: hsl(var(--func-color)); + + & a { + color: hsl(var(--func-link-color)); + } + } + + & .signals-list { + color: hsl(var(--signal-color)); + + & a { + color: hsl(var(--signal-link-color)); + } + } + + & .vars-list { + color: hsl(var(--var-color)); + + & a { + color: hsl(var(--var-link-color)); + } + } + + & .types-list { + list-style: none; + + & .types-item { + margin-block: 10px; + display: flex; + align-items: center; + gap: 0.478rem; + + & svg { + opacity: 0.6; + width: 24px; + height: 24px; + transition: opacity 0.5s; + } + + &:hover { + & svg { + opacity: 1; + } + } + } + + } + } +} diff --git a/src/styles/docs/docs.css b/src/styles/docs/docs.css new file mode 100644 index 0000000..925dd7f --- /dev/null +++ b/src/styles/docs/docs.css @@ -0,0 +1,124 @@ +@import "./docs-config.css"; +@import "./docs-types.css"; + +.docslayout-root { + margin: 0.618rem; + margin-top: 3.5rem; + overflow: hidden; +} + +.docs, +.docslayout-root { + display: flex; + flex-direction: column; +} + +.spacer-desktop { + display: none; +} + +.c-breadcrumbs { + margin-top: 1.056rem; + margin-bottom: 0.318rem; + max-width: 100svw; +} + +.docs-content { + & section { + max-width: 95svw; + margin-block: 1.618rem; + } + + & p { + margin-block: 0.618rem; + } + + & hr { + margin-top: 0; + margin-bottom: 0.318rem; + } +} + +.heading { + & > [id] { + width: max-content; + } + + & .heading-hashtag { + & svg { + width: 24px; + height: 24px; + opacity: 0.5; + transition: opacity 0.5s; + + &:hover { + opacity: 1; + cursor: pointer; + } + } + } +} + +hr { + opacity: 0.3; +} + +ul { + margin-left: 2.478rem; +} + +.markdown-alert { + margin-block: 0.618rem; + + & > *:not(:first-child) { + margin-block: 0.724rem; + } +} + +.markdown-alert-title { + text-transform: lowercase; + text-transform: capitalize; +} + +@media (min-width: 768px) { + .docs, + .docslayout-root { + gap: 0.648rem; + } + + .docslayout-root { + margin-left: calc(1.618rem + 260px); + } + + .docslayout-inner { + display: block; + } + + .docs-content { + margin-inline: 1.272rem; + + & section { + margin-block: 1.884rem; + } + + & p { + margin-block: 1.217rem; + } + } + + .c-breadcrumbs { + margin-inline: 1.272rem; + } +} + +@media (min-width: 1280px) { + .docs-content { + & section { + max-width: 45svw; + } + } + + .docslayout-root { + margin-inline: calc(10svw + 260px); + } +} diff --git a/src/styles/docs/nav/nav-tree.css b/src/styles/docs/nav/nav-tree.css new file mode 100644 index 0000000..2f10493 --- /dev/null +++ b/src/styles/docs/nav/nav-tree.css @@ -0,0 +1,171 @@ +[data-scope="accordion"][data-part="root"] { + display: flex; + flex-direction: column; + gap: 0.15em; + + & [data-part="item"] { + padding: 6px; + + & [data-part="item"] { + padding-right: 0; + + } + } +} + +[data-scope="accordion"][data-part="item-trigger"] { + background-color: hsl(var(--bg-900)); + position: relative; + border: unset; + border-radius: 6px; + cursor: pointer; + font-size: 1rem; + font-weight: 600; + width: 100%; + height: 36px; + display: flex; + justify-content: flex-start; + align-items: center; + gap: 0.15em; + + & p:has(a) { + text-overflow: ellipsis; + overflow: hidden; + padding-inline: 4px; + border-radius: 20px; + + &:hover { + position: relative; + width: max-content; + padding: 4px; + overflow: scroll; + z-index: 101; + } + } + + &::before { + content: ""; + position: absolute; + border-radius: 6px; + z-index: -1; + inset: -1px; + background-color: hsla(var(--green) 80 70 / 0.3); + transition: background-color 0.3s; + } + + &:hover { + &::before { + background-color: hsla(var(--green) 80 70 / 0.6); + } + } +} + +[data-scope="accordion"][data-part="item-indicator"] { + position: relative; + display: flex; + flex-shrink: 0; + justify-content: center; + align-items: center; + width: 24px; + height: 24px; + border-radius: 50%; + margin-left: 3px; + + &:hover { + background-color: hsl(var(--blue) 30 30); + } + +} + +[data-scope="accordion"][data-part="item-indicator"][data-state="open"] { + animation: rotateIn 250ms ease-in-out forwards; +} + +[data-scope="accordion"][data-part="item-indicator"][data-state="closed"] { + animation: rotateOut 250ms ease-in-out; +} + +[data-scope="accordion"][data-part="item-content"] { + --height: 709; + margin-block: 0.175rem; + + &>.arktree-item, + [data-part="item"] { + margin-left: 21px; + margin-block: 0.117rem; + } + + & .arktree-item, + [data-part="item-content"]>div { + display: flex; + flex-direction: column; + gap: 0.15em; + margin-left: 24px; + margin-top: 0.224em; + + &::before { + content: ""; + position: absolute; + bottom: 0; + height: 1px; + background: linear-gradient(to right, + hsla(var(--accent-400) / 0.5) var(--percent), + hsla(var(--accent-400) / 0) 75%); + animation: percentToZero 250ms ease-in-out forwards; + width: 0; + transition: width 0.25s; + } + + &:hover::before { + width: 100%; + animation: percentToFifty 250ms ease-in-out forwards; + } + + + &>a { + padding-top: 1em; + width: 100%; + + &:hover { + text-decoration: none; + } + } + } +} + +[data-scope="accordion"][data-part="item-content"][data-state="open"] { + animation: slideDown 250ms ease-in-out; +} + +[data-scope="accordion"][data-part="item-content"][data-state="closed"] { + animation: slideUp 200ms ease-in-out; +} + +.__current-type-doc { + color: hsl(var(--blue) 100 70); + + & [data-part="item-trigger"] a { + color: hsl(var(--blue) 100 70) !important; + + } + + &>a { + &::before { + content: ""; + position: absolute; + bottom: 0; + height: 1px; + background: linear-gradient(to right, + hsla(var(--accent-400) / 0.5) var(--percent), + hsla(var(--accent-400) / 0) 100%); + animation: percentToZero 250ms ease-in-out forwards; + width: 100%; + + } + + &:hover::before { + animation: percentToFifty 250ms ease-in-out forwards; + } + + } +} diff --git a/src/styles/docs/nav/nav.css b/src/styles/docs/nav/nav.css new file mode 100644 index 0000000..ff86796 --- /dev/null +++ b/src/styles/docs/nav/nav.css @@ -0,0 +1,127 @@ +@import "./nav-tree.css"; + +.nav-wrapper { + display: none; +} + +.nav-toggle { + position: unset; + height: 24px; + font-size: 1.614rem; + overflow-y: scroll; + max-height: 500px; + scrollbar-width: none; + -ms-overflow-style: none; + + &::-webkit-scrollbar { + display: none; + } + + & svg, + div { + height: max-content; + width: 100%; + } + + &:hover { + cursor: pointer; + } + + & .nav-items { + position: absolute; + z-index: 11; + overflow-y: scroll; + top: 2.5rem; + left: -1rem; + width: 0; + height: 0; + font-size: 0.745rem; + font-weight: 600; + scrollbar-width: none; + -ms-overflow-style: none; + + &::-webkit-scrollbar { + display: none; + } + + transition: + width 0.3s ease, + height 0.3s ease, + background-color 0.3s ease, + backdrop-filter 0.3s ease, + padding 0.3s ease; + + &.shown { + padding: 0.3rem; + width: 100svw; + height: 50svh; + background-color: hsl(var(--bg-900) / 0.6); + backdrop-filter: blur(3px) saturate(180%); + display: flex; + flex-direction: column; + align-items: center; + } + + & .navtree { + height: 100%; + width: 100%; + overflow: scroll; + padding: 6px; + + & [data-part="item"] { + margin-left: unset; + display: flex; + flex-direction: column; + align-items: flex-start; + padding-right: 0; + + & [data-part="item-content"] { + & [data-part="item-trigger"] { + width: 93%; + margin-left: 1em; + + & p { + text-align: left; + } + } + + & [data-part="item-content"] { + width: 80%; + margin-left: 24px; + } + } + } + } + } +} + +@media (min-width: 768px) { + .nav-wrapper-mobile { + display: none; + } + + .nav-wrapper { + display: block; + width: 250px; + position: fixed; + top: 5rem; + left: 1.618rem; + flex-shrink: 0; + overflow: scroll; + max-height: 90svh; + scrollbar-width: none; + -ms-overflow-style: none; + z-index: 10; + } + + .navtree { + width: 100%; + z-index: 1; + } +} + +@media (min-width: 1280px) { + .nav-wrapper { + left: 10svw; + } +} diff --git a/src/styles/docs/toc/intro-toc.css b/src/styles/docs/toc/intro-toc.css new file mode 100644 index 0000000..c640aa5 --- /dev/null +++ b/src/styles/docs/toc/intro-toc.css @@ -0,0 +1,29 @@ +.toc-wrapper-mobile .toc-content { + & .toc_a { + transition: color 0.33s; + color: hsl(var(--green) 72 40); + } + + & ul { + margin: 0; + } + + & li { + list-style: none; + + &.active { + & > .toc_a { + color: hsl(var(--green) 72 60); + } + } + } + + & .toc_heading { + margin: 0; + margin-block: 0.618rem; + + & * { + margin-left: 0.348rem; + } + } +} diff --git a/src/styles/docs/toc/toc.css b/src/styles/docs/toc/toc.css new file mode 100644 index 0000000..78d3525 --- /dev/null +++ b/src/styles/docs/toc/toc.css @@ -0,0 +1,125 @@ +@import "./types-toc.css"; +@import "./intro-toc.css"; + +.toc-wrapper { + display: none; +} + +.toc-wrapper-mobile { + display: block; +} + +.toc-toggle { + --width: 100svw; + display: block; + position: unset; + height: 24px; + font-size: 1.614rem; + max-height: 500px; + scrollbar-width: none; + -ms-overflow-style: none; + + &::-webkit-scrollbar { + display: none; + } + + & > svg { + height: 100%; + width: 24px; + } + + & div { + width: 100%; + height: max-content; + } + + &:hover { + cursor: pointer; + } + + & .toc-mobile { + position: absolute; + overflow-y: scroll; + top: 2.6rem; + right: -1rem; + width: 0; + height: 0; + font-size: 0.745rem; + font-weight: 600; + scrollbar-width: none; + -ms-overflow-style: none; + + &::-webkit-scrollbar { + display: none; + } + + transition: + width 0.3s ease, + height 0.3s ease, + background-color 0.3s ease, + backdrop-filter 0.3s ease, + padding 0.3s ease; + + &.shown { + padding: 0.3rem; + width: var(--width); + height: 50svh; + background-color: hsl(var(--bg-900) / 0.6); + backdrop-filter: blur(3px) saturate(180%); + display: flex; + flex-direction: column; + align-items: center; + } + } +} + +@media (max-width: 1280px) { + .toc-toggle { + --width: 70svw; + } +} + +@media (min-width: 1280px) { + .toc-wrapper-mobile { + display: none; + } + + .toc-wrapper { + display: block; + position: fixed; + top: 5rem; + right: 10svw; + width: 250px; + max-height: 90svh; + overflow-y: scroll; + z-index: 10; + + & .toc_a { + transition: color 0.33s; + color: hsl(var(--green) 72 40); + } + + & ul { + margin: 0; + } + + & li { + list-style: none; + + &.active { + & > .toc_a { + color: hsl(var(--green) 72 60); + } + } + } + + & .toc_heading { + margin: 0; + margin-block: 0.618rem; + + & * { + margin-left: 0.348rem; + } + } + } +} diff --git a/src/styles/docs/toc/types-toc.css b/src/styles/docs/toc/types-toc.css new file mode 100644 index 0000000..163de52 --- /dev/null +++ b/src/styles/docs/toc/types-toc.css @@ -0,0 +1,63 @@ +.toc-content { + height: 100%; + width: 100%; + overflow: scroll; + padding: 6px; + + & .props-list { + color: hsl(var(--prop-color)); + + & a { + color: hsl(var(--prop-link-color)); + } + } + + & .funcs-list { + color: hsl(var(--func-color)); + + & a { + color: hsl(var(--func-link-color)); + } + } + + & .signals-list { + color: hsl(var(--signal-color)); + + & a { + color: hsl(var(--signal-link-color)); + } + } + + & .vars-list { + color: hsl(var(--var-color)); + + & a { + color: hsl(var(--var-link-color)); + } + } +} + +.types-list { + list-style: none; + z-index: 21; + + & .types-item { + margin-block: 10px; + display: flex; + align-items: center; + gap: 0.478rem; + + & svg { + opacity: 0.6; + width: 24px; + height: 24px; + transition: opacity 0.5s; + } + + &:hover { + & svg { + opacity: 1; + } + } + } +} diff --git a/src/styles/global.css b/src/styles/global.css new file mode 100644 index 0000000..ca623e2 --- /dev/null +++ b/src/styles/global.css @@ -0,0 +1,142 @@ +@import "remark-github-blockquote-alert/alert.css"; +@import "./css-config/base.css"; +@import "./css-config/animations.css"; +@import "./css-config/code.css"; +@import "./css-config/search.css"; +@import "./css-config/colors.css"; +@import "./docs/nav/nav.css"; +@import "./docs/toc/toc.css"; +@import "./docs/docs.css"; +@import "./docs/collapsible.css"; + +/* color styling */ +.header { + background-color: hsl(var(--blue) 100 88); + box-shadow: 0 3px 3px 3px hsla(var(--white) 100 0 / 0.3); +} + +.baselayout, +.docslayout { + background-color: hsl(var(--bg-500)); + color: hsl(var(--secondary-900)); +} + +a { + color: hsla(var(--accent-600)); + text-decoration: none; + + &:hover { + text-decoration: underline; + cursor: pointer; + } +} + +html.dark { + & .header { + background-color: hsl(var(--secondary-900)); + color: hsl(var(--secondary-500)); + } + + & .baselayout, + .docslayout { + background-color: hsl(var(--bg-900)); + color: hsl(var(--secondary-400)); + } + + & a { + color: hsl(var(--accent-500)); + } +} + +/* layout and positioning */ +.unset { + all: unset; +} + +.search { + display: none; +} + +.header { + position: fixed; + top: 0; + width: 100%; + z-index: 10; + display: flex; + align-items: center; + height: 3.5rem; +} + +.header-title { + display: none; + font-size: 1.614em; + font-weight: 700; + line-height: 1.272; +} + +.header-title.mobile { + display: block; +} + +.header-item { + display: flex; + gap: 1rem; + flex-shrink: 0; + flex-grow: 1; + align-items: center; +} + +.header-left { + justify-content: flex-start; + padding-left: 1rem; +} + +.header-right { + justify-content: flex-end; + padding-right: 1rem; +} + +.spacer-mobile { + font-size: 1.374rem; + color: hsla(var(--white) 40 50 / 0.3); +} + +.theme-toggle { + height: 24px; + font-size: 1.614rem; + + &:hover { + cursor: pointer; + } +} + +@media (min-width: 768px) { + html { + font-size: 16px; + } + + .header-title { + display: block; + } + + .header-title.mobile { + display: none; + } + + .menu-toggle, + .spacer-mobile { + display: none; + } + + .search { + display: block; + } + + .spacer-desktop { + display: block; + font-size: 1.374rem; + color: hsla(var(--white) 40 50 / 0.3); + } +} + +@media (min-width: 1280px) {} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..ff5dd34 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,37 @@ +{ + "extends": "astro/tsconfigs/strict", + "compilerOptions": { + "plugins": [ + { + "name": "@astrojs/ts-plugin" + } + ], + "jsx": "preserve", + "jsxImportSource": "solid-js", + "verbatimModuleSyntax": true, + "baseUrl": ".", + "paths": { + "@*": [ + "./*" + ], + "@/*": [ + "./src/*" + ], + "@config/*": [ + "./src/config/*" + ], + "@icons": [ + "./src/components/icons.tsx" + ], + "@components/*": [ + "./src/components/*" + ], + "@layouts/*": [ + "./src/layouts/*" + ], + "@styles/*": [ + "./src/styles/*" + ] + } + } +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..ba050bf --- /dev/null +++ b/yarn.lock @@ -0,0 +1,8245 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@ampproject/remapping@npm:^2.2.0": + version: 2.3.0 + resolution: "@ampproject/remapping@npm:2.3.0" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/81d63cca5443e0f0c72ae18b544cc28c7c0ec2cea46e7cb888bb0e0f411a1191d0d6b7af798d54e30777d8d1488b2ec0732aac2be342d3d7d3ffd271c6f489ed + languageName: node + linkType: hard + +"@ark-ui/solid@npm:^3.5.0": + version: 3.13.0 + resolution: "@ark-ui/solid@npm:3.13.0" + dependencies: + "@internationalized/date": "npm:3.5.5" + "@zag-js/accordion": "npm:0.71.0" + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/avatar": "npm:0.71.0" + "@zag-js/carousel": "npm:0.71.0" + "@zag-js/checkbox": "npm:0.71.0" + "@zag-js/clipboard": "npm:0.71.0" + "@zag-js/collapsible": "npm:0.71.0" + "@zag-js/color-picker": "npm:0.71.0" + "@zag-js/combobox": "npm:0.71.0" + "@zag-js/date-picker": "npm:0.71.0" + "@zag-js/dialog": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/editable": "npm:0.71.0" + "@zag-js/file-upload": "npm:0.71.0" + "@zag-js/file-utils": "npm:0.71.0" + "@zag-js/highlight-word": "npm:0.71.0" + "@zag-js/hover-card": "npm:0.71.0" + "@zag-js/i18n-utils": "npm:0.71.0" + "@zag-js/menu": "npm:0.71.0" + "@zag-js/number-input": "npm:0.71.0" + "@zag-js/pagination": "npm:0.71.0" + "@zag-js/pin-input": "npm:0.71.0" + "@zag-js/popover": "npm:0.71.0" + "@zag-js/presence": "npm:0.71.0" + "@zag-js/progress": "npm:0.71.0" + "@zag-js/qr-code": "npm:0.71.0" + "@zag-js/radio-group": "npm:0.71.0" + "@zag-js/rating-group": "npm:0.71.0" + "@zag-js/select": "npm:0.71.0" + "@zag-js/signature-pad": "npm:0.71.0" + "@zag-js/slider": "npm:0.71.0" + "@zag-js/solid": "npm:0.71.0" + "@zag-js/splitter": "npm:0.71.0" + "@zag-js/steps": "npm:0.71.0" + "@zag-js/switch": "npm:0.71.0" + "@zag-js/tabs": "npm:0.71.0" + "@zag-js/tags-input": "npm:0.71.0" + "@zag-js/time-picker": "npm:0.71.0" + "@zag-js/timer": "npm:0.71.0" + "@zag-js/toast": "npm:0.71.0" + "@zag-js/toggle-group": "npm:0.71.0" + "@zag-js/tooltip": "npm:0.71.0" + "@zag-js/tree-view": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + peerDependencies: + solid-js: ">=1.6.0" + checksum: 10c0/00eab4879a4d6a0a5ca2ac2dd898f3a236b82cb46ea050948b3380e18e5bbb5f25aba83e5b5111ff5bbffedf91ddc8a9ac49455b491c5b876c06cd0e0d4e2c3e + languageName: node + linkType: hard + +"@astrojs/check@npm:^0.9.3": + version: 0.9.3 + resolution: "@astrojs/check@npm:0.9.3" + dependencies: + "@astrojs/language-server": "npm:^2.14.1" + chokidar: "npm:^3.5.3" + fast-glob: "npm:^3.3.1" + kleur: "npm:^4.1.5" + yargs: "npm:^17.7.2" + peerDependencies: + typescript: ^5.0.0 + bin: + astro-check: dist/bin.js + checksum: 10c0/fab8d39ca0734777534e54940c888663f7e448b53b0b6eb64d0008b9219da893b61ddbb281843a4ab05ae854cbfefca4e6dd43b3a2e1727bf71498de47935a87 + languageName: node + linkType: hard + +"@astrojs/compiler@npm:^2.10.3": + version: 2.10.3 + resolution: "@astrojs/compiler@npm:2.10.3" + checksum: 10c0/35e7a6e9d197924a3203afd3bd7bff39c8d4271516816c30173cca872302312c3748eefc5a5832523f49b98743115628a1b96922d7d96588a8d96e110a106b88 + languageName: node + linkType: hard + +"@astrojs/internal-helpers@npm:0.4.1": + version: 0.4.1 + resolution: "@astrojs/internal-helpers@npm:0.4.1" + checksum: 10c0/1545eb29994b8bf1dfa95d953f7fb23b52c1e1a3daefc2f39c032b2b0ff1bad5dde8ac7b2694d1f0c9f8f52f8d1f2d645c7e88969bca392fc22058674192b070 + languageName: node + linkType: hard + +"@astrojs/language-server@npm:^2.14.1": + version: 2.14.1 + resolution: "@astrojs/language-server@npm:2.14.1" + dependencies: + "@astrojs/compiler": "npm:^2.10.3" + "@astrojs/yaml2ts": "npm:^0.2.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.15" + "@volar/kit": "npm:~2.4.0" + "@volar/language-core": "npm:~2.4.0" + "@volar/language-server": "npm:~2.4.0" + "@volar/language-service": "npm:~2.4.0" + "@volar/typescript": "npm:~2.4.0" + fast-glob: "npm:^3.2.12" + muggle-string: "npm:^0.4.1" + volar-service-css: "npm:0.0.61" + volar-service-emmet: "npm:0.0.61" + volar-service-html: "npm:0.0.61" + volar-service-prettier: "npm:0.0.61" + volar-service-typescript: "npm:0.0.61" + volar-service-typescript-twoslash-queries: "npm:0.0.61" + volar-service-yaml: "npm:0.0.61" + vscode-html-languageservice: "npm:^5.2.0" + vscode-uri: "npm:^3.0.8" + peerDependencies: + prettier: ^3.0.0 + prettier-plugin-astro: ">=0.11.0" + peerDependenciesMeta: + prettier: + optional: true + prettier-plugin-astro: + optional: true + bin: + astro-ls: bin/nodeServer.js + checksum: 10c0/093e8d99314d461dc943f17f25b9ae6dfbf73232a651efcf29d09d7adc633796ef358773479e3497e534a2f2b5bab585a2ef452bae5fac6dc9c2b1d6c37bb664 + languageName: node + linkType: hard + +"@astrojs/markdown-remark@npm:5.2.0": + version: 5.2.0 + resolution: "@astrojs/markdown-remark@npm:5.2.0" + dependencies: + "@astrojs/prism": "npm:3.1.0" + github-slugger: "npm:^2.0.0" + hast-util-from-html: "npm:^2.0.1" + hast-util-to-text: "npm:^4.0.2" + import-meta-resolve: "npm:^4.1.0" + mdast-util-definitions: "npm:^6.0.0" + rehype-raw: "npm:^7.0.0" + rehype-stringify: "npm:^10.0.0" + remark-gfm: "npm:^4.0.0" + remark-parse: "npm:^11.0.0" + remark-rehype: "npm:^11.1.0" + remark-smartypants: "npm:^3.0.2" + shiki: "npm:^1.10.3" + unified: "npm:^11.0.5" + unist-util-remove-position: "npm:^5.0.0" + unist-util-visit: "npm:^5.0.0" + unist-util-visit-parents: "npm:^6.0.1" + vfile: "npm:^6.0.2" + checksum: 10c0/d7227e3cbb66d328a4681b3c9e2b90b45b92db4ae9068794a1acf6023cea7be33d666f05899be980db76a3ff3bf4393d5ee0ee34a012963e4e9aa100c8a6f87b + languageName: node + linkType: hard + +"@astrojs/mdx@npm:^3.1.4": + version: 3.1.4 + resolution: "@astrojs/mdx@npm:3.1.4" + dependencies: + "@astrojs/markdown-remark": "npm:5.2.0" + "@mdx-js/mdx": "npm:^3.0.1" + acorn: "npm:^8.12.1" + es-module-lexer: "npm:^1.5.4" + estree-util-visit: "npm:^2.0.0" + gray-matter: "npm:^4.0.3" + hast-util-to-html: "npm:^9.0.1" + kleur: "npm:^4.1.5" + rehype-raw: "npm:^7.0.0" + remark-gfm: "npm:^4.0.0" + remark-smartypants: "npm:^3.0.2" + source-map: "npm:^0.7.4" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.2" + peerDependencies: + astro: ^4.8.0 + checksum: 10c0/937795f30d9f0392effcc1a1b984dd03f547cc31d4cbadbb2d969df59fba36c941e56cba33be4be817fce2d5372e51f2cc520333f2fe5a9931a3f586e8b9925d + languageName: node + linkType: hard + +"@astrojs/prism@npm:3.1.0": + version: 3.1.0 + resolution: "@astrojs/prism@npm:3.1.0" + dependencies: + prismjs: "npm:^1.29.0" + checksum: 10c0/45132cd1cc8ac45f5fe75bfbf3f8bad3caa9d68aadb0537505f866fcf3ab4bcfa038be1ce20ad26b7e344c4f9a1edd0ab0f4211d413e09c84731fbc7c59b7746 + languageName: node + linkType: hard + +"@astrojs/solid-js@npm:^4.4.1": + version: 4.4.1 + resolution: "@astrojs/solid-js@npm:4.4.1" + dependencies: + vite-plugin-solid: "npm:^2.10.2" + peerDependencies: + solid-devtools: ^0.30.1 + solid-js: ^1.8.5 + peerDependenciesMeta: + solid-devtools: + optional: true + checksum: 10c0/69c0d5d7d38ffb6f56e53fb73283d5df75981cb1ce77dd6946635911b7af0e3f62a7f35bfab16955cf070c845f39b91b56f7f8da7a22f9608158888643d2aa92 + languageName: node + linkType: hard + +"@astrojs/telemetry@npm:3.1.0": + version: 3.1.0 + resolution: "@astrojs/telemetry@npm:3.1.0" + dependencies: + ci-info: "npm:^4.0.0" + debug: "npm:^4.3.4" + dlv: "npm:^1.1.3" + dset: "npm:^3.1.3" + is-docker: "npm:^3.0.0" + is-wsl: "npm:^3.0.0" + which-pm-runs: "npm:^1.1.0" + checksum: 10c0/ed4df1f0763e2fed242805f67f1c50aec0021c31b971ce846355cc981dfce498517f0b24e84de0ec6c426e6f17a2b48f97a2f7b32efa015653646f4dd3c51649 + languageName: node + linkType: hard + +"@astrojs/ts-plugin@npm:^1.10.1": + version: 1.10.1 + resolution: "@astrojs/ts-plugin@npm:1.10.1" + dependencies: + "@astrojs/compiler": "npm:^2.10.3" + "@astrojs/yaml2ts": "npm:^0.2.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.15" + "@volar/language-core": "npm:~2.4.0" + "@volar/typescript": "npm:~2.4.0" + semver: "npm:^7.3.8" + vscode-languageserver-textdocument: "npm:^1.0.11" + checksum: 10c0/d35064ec75a7c81ab9fcefeb20ea373adfcacdc098390c73e9fb90389b70bb79136e9e0066d8a49a804b9b006710c1e52970d67fb91a86cb2ec246e6835680a2 + languageName: node + linkType: hard + +"@astrojs/yaml2ts@npm:^0.2.1": + version: 0.2.1 + resolution: "@astrojs/yaml2ts@npm:0.2.1" + dependencies: + yaml: "npm:^2.5.0" + checksum: 10c0/944a60799f499863479d60bce781f29ec2aea674fe39d37bbc03a4b418ed54b72174695d1925732a3277b233cbec83e606dfaca2c6c752142a4b3dd14cf22a49 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/code-frame@npm:7.24.7" + dependencies: + "@babel/highlight": "npm:^7.24.7" + picocolors: "npm:^1.0.0" + checksum: 10c0/ab0af539473a9f5aeaac7047e377cb4f4edd255a81d84a76058595f8540784cc3fbe8acf73f1e073981104562490aabfb23008cd66dc677a456a4ed5390fdde6 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.25.2": + version: 7.25.4 + resolution: "@babel/compat-data@npm:7.25.4" + checksum: 10c0/50d79734d584a28c69d6f5b99adfaa064d0f41609a378aef04eb06accc5b44f8520e68549eba3a082478180957b7d5783f1bfb1672e4ae8574e797ce8bae79fa + languageName: node + linkType: hard + +"@babel/core@npm:^7.23.3, @babel/core@npm:^7.25.2": + version: 7.25.2 + resolution: "@babel/core@npm:7.25.2" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.24.7" + "@babel/generator": "npm:^7.25.0" + "@babel/helper-compilation-targets": "npm:^7.25.2" + "@babel/helper-module-transforms": "npm:^7.25.2" + "@babel/helpers": "npm:^7.25.0" + "@babel/parser": "npm:^7.25.0" + "@babel/template": "npm:^7.25.0" + "@babel/traverse": "npm:^7.25.2" + "@babel/types": "npm:^7.25.2" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/a425fa40e73cb72b6464063a57c478bc2de9dbcc19c280f1b55a3d88b35d572e87e8594e7d7b4880331addb6faef641bbeb701b91b41b8806cd4deae5d74f401 + languageName: node + linkType: hard + +"@babel/generator@npm:^7.23.6, @babel/generator@npm:^7.25.0, @babel/generator@npm:^7.25.4": + version: 7.25.5 + resolution: "@babel/generator@npm:7.25.5" + dependencies: + "@babel/types": "npm:^7.25.4" + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.25" + jsesc: "npm:^2.5.1" + checksum: 10c0/eb8af30c39476e4f4d6b953f355fcf092258291f78d65fb759b7d5e5e6fd521b5bfee64a4e2e4290279f0dcd25ccf8c49a61807828b99b5830d2b734506da1fd + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-annotate-as-pure@npm:7.24.7" + dependencies: + "@babel/types": "npm:^7.24.7" + checksum: 10c0/4679f7df4dffd5b3e26083ae65228116c3da34c3fff2c11ae11b259a61baec440f51e30fd236f7a0435b9d471acd93d0bc5a95df8213cbf02b1e083503d81b9a + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.25.2": + version: 7.25.2 + resolution: "@babel/helper-compilation-targets@npm:7.25.2" + dependencies: + "@babel/compat-data": "npm:^7.25.2" + "@babel/helper-validator-option": "npm:^7.24.8" + browserslist: "npm:^4.23.1" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/de10e986b5322c9f807350467dc845ec59df9e596a5926a3b5edbb4710d8e3b8009d4396690e70b88c3844fe8ec4042d61436dd4b92d1f5f75655cf43ab07e99 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:7.18.6": + version: 7.18.6 + resolution: "@babel/helper-module-imports@npm:7.18.6" + dependencies: + "@babel/types": "npm:^7.18.6" + checksum: 10c0/a92e28fc4b5dbb0d0afd4a313efc0cf5b26ce1adc0c01fc22724c997789ac7d7f4f30bc9143d94a6ba8b0a035933cf63a727a365ce1c57dbca0935f48de96244 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.22.15, @babel/helper-module-imports@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-module-imports@npm:7.24.7" + dependencies: + "@babel/traverse": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10c0/97c57db6c3eeaea31564286e328a9fb52b0313c5cfcc7eee4bc226aebcf0418ea5b6fe78673c0e4a774512ec6c86e309d0f326e99d2b37bfc16a25a032498af0 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.25.2": + version: 7.25.2 + resolution: "@babel/helper-module-transforms@npm:7.25.2" + dependencies: + "@babel/helper-module-imports": "npm:^7.24.7" + "@babel/helper-simple-access": "npm:^7.24.7" + "@babel/helper-validator-identifier": "npm:^7.24.7" + "@babel/traverse": "npm:^7.25.2" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/adaa15970ace0aee5934b5a633789b5795b6229c6a9cf3e09a7e80aa33e478675eee807006a862aa9aa517935d81f88a6db8a9f5936e3a2a40ec75f8062bc329 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.24.7, @babel/helper-plugin-utils@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-plugin-utils@npm:7.24.8" + checksum: 10c0/0376037f94a3bfe6b820a39f81220ac04f243eaee7193774b983e956c1750883ff236b30785795abbcda43fac3ece74750566830c2daa4d6e3870bb0dff34c2d + languageName: node + linkType: hard + +"@babel/helper-simple-access@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-simple-access@npm:7.24.7" + dependencies: + "@babel/traverse": "npm:^7.24.7" + "@babel/types": "npm:^7.24.7" + checksum: 10c0/7230e419d59a85f93153415100a5faff23c133d7442c19e0cd070da1784d13cd29096ee6c5a5761065c44e8164f9f80e3a518c41a0256df39e38f7ad6744fed7 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-string-parser@npm:7.24.8" + checksum: 10c0/6361f72076c17fabf305e252bf6d580106429014b3ab3c1f5c4eb3e6d465536ea6b670cc0e9a637a77a9ad40454d3e41361a2909e70e305116a23d68ce094c08 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-validator-identifier@npm:7.24.7" + checksum: 10c0/87ad608694c9477814093ed5b5c080c2e06d44cb1924ae8320474a74415241223cc2a725eea2640dd783ff1e3390e5f95eede978bc540e870053152e58f1d651 + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-validator-option@npm:7.24.8" + checksum: 10c0/73db93a34ae89201351288bee7623eed81a54000779462a986105b54ffe82069e764afd15171a428b82e7c7a9b5fec10b5d5603b216317a414062edf5c67a21f + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.25.0": + version: 7.25.0 + resolution: "@babel/helpers@npm:7.25.0" + dependencies: + "@babel/template": "npm:^7.25.0" + "@babel/types": "npm:^7.25.0" + checksum: 10c0/b7fe007fc4194268abf70aa3810365085e290e6528dcb9fbbf7a765d43c74b6369ce0f99c5ccd2d44c413853099daa449c9a0123f0b212ac8d18643f2e8174b8 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/highlight@npm:7.24.7" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.24.7" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10c0/674334c571d2bb9d1c89bdd87566383f59231e16bcdcf5bb7835babdf03c9ae585ca0887a7b25bdf78f303984af028df52831c7989fecebb5101cc132da9393a + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.0, @babel/parser@npm:^7.25.3, @babel/parser@npm:^7.25.4": + version: 7.25.4 + resolution: "@babel/parser@npm:7.25.4" + dependencies: + "@babel/types": "npm:^7.25.4" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/bdada5662f15d1df11a7266ec3bc9bb769bf3637ecf3d051eafcfc8f576dcf5a3ac1007c5e059db4a1e1387db9ae9caad239fc4f79e4c2200930ed610e779993 + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.18.6, @babel/plugin-syntax-jsx@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/plugin-syntax-jsx@npm:7.24.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f44d927a9ae8d5ef016ff5b450e1671e56629ddc12e56b938e41fd46e141170d9dfc9a53d6cb2b9a20a7dd266a938885e6a3981c60c052a2e1daed602ac80e51 + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.23.3": + version: 7.25.4 + resolution: "@babel/plugin-syntax-typescript@npm:7.25.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.24.8" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/199919d44c73e5edee9ffd311cf638f88d26a810189e32d338c46c7600441fd5c4a2e431f9be377707cbf318410895304e90b83bf8d9011d205150fa7f260e63 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx@npm:^7.25.2": + version: 7.25.2 + resolution: "@babel/plugin-transform-react-jsx@npm:7.25.2" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.24.7" + "@babel/helper-module-imports": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.24.8" + "@babel/plugin-syntax-jsx": "npm:^7.24.7" + "@babel/types": "npm:^7.25.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8c5b515f38118471197605e02bea54a8a4283010e3c55bad8cfb78de59ad63612b14d40baca63689afdc9d57b147aac4c7794fe5f7736c9e1ed6dd38784be624 + languageName: node + linkType: hard + +"@babel/template@npm:^7.25.0": + version: 7.25.0 + resolution: "@babel/template@npm:7.25.0" + dependencies: + "@babel/code-frame": "npm:^7.24.7" + "@babel/parser": "npm:^7.25.0" + "@babel/types": "npm:^7.25.0" + checksum: 10c0/4e31afd873215744c016e02b04f43b9fa23205d6d0766fb2e93eb4091c60c1b88897936adb895fb04e3c23de98dfdcbe31bc98daaa1a4e0133f78bb948e1209b + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.25.2, @babel/traverse@npm:^7.25.3": + version: 7.25.4 + resolution: "@babel/traverse@npm:7.25.4" + dependencies: + "@babel/code-frame": "npm:^7.24.7" + "@babel/generator": "npm:^7.25.4" + "@babel/parser": "npm:^7.25.4" + "@babel/template": "npm:^7.25.0" + "@babel/types": "npm:^7.25.4" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/37c9b49b277e051fe499ef5f6f217370c4f648d6370564d70b5e6beb2da75bfda6d7dab1d39504d89e9245448f8959bc1a5880d2238840cdc3979b35338ed0f5 + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.6, @babel/types@npm:^7.20.7, @babel/types@npm:^7.23.3, @babel/types@npm:^7.23.6, @babel/types@npm:^7.24.7, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.4": + version: 7.25.4 + resolution: "@babel/types@npm:7.25.4" + dependencies: + "@babel/helper-string-parser": "npm:^7.24.8" + "@babel/helper-validator-identifier": "npm:^7.24.7" + to-fast-properties: "npm:^2.0.0" + checksum: 10c0/9aa25dfcd89cc4e4dde3188091c34398a005a49e2c2b069d0367b41e1122c91e80fd92998c52a90f2fb500f7e897b6090ec8be263d9cb53d0d75c756f44419f2 + languageName: node + linkType: hard + +"@biomejs/biome@npm:^1.8.3": + version: 1.9.2 + resolution: "@biomejs/biome@npm:1.9.2" + dependencies: + "@biomejs/cli-darwin-arm64": "npm:1.9.2" + "@biomejs/cli-darwin-x64": "npm:1.9.2" + "@biomejs/cli-linux-arm64": "npm:1.9.2" + "@biomejs/cli-linux-arm64-musl": "npm:1.9.2" + "@biomejs/cli-linux-x64": "npm:1.9.2" + "@biomejs/cli-linux-x64-musl": "npm:1.9.2" + "@biomejs/cli-win32-arm64": "npm:1.9.2" + "@biomejs/cli-win32-x64": "npm:1.9.2" + dependenciesMeta: + "@biomejs/cli-darwin-arm64": + optional: true + "@biomejs/cli-darwin-x64": + optional: true + "@biomejs/cli-linux-arm64": + optional: true + "@biomejs/cli-linux-arm64-musl": + optional: true + "@biomejs/cli-linux-x64": + optional: true + "@biomejs/cli-linux-x64-musl": + optional: true + "@biomejs/cli-win32-arm64": + optional: true + "@biomejs/cli-win32-x64": + optional: true + bin: + biome: bin/biome + checksum: 10c0/0addf6a387112ba950693ae0b782db93f307300de111a46902c745c25baab5aaf1a3558be830f373e4f034d45eaa011b6bccfdc1e18d26f733136c32dffd83f9 + languageName: node + linkType: hard + +"@biomejs/cli-darwin-arm64@npm:1.9.2": + version: 1.9.2 + resolution: "@biomejs/cli-darwin-arm64@npm:1.9.2" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@biomejs/cli-darwin-x64@npm:1.9.2": + version: 1.9.2 + resolution: "@biomejs/cli-darwin-x64@npm:1.9.2" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@biomejs/cli-linux-arm64-musl@npm:1.9.2": + version: 1.9.2 + resolution: "@biomejs/cli-linux-arm64-musl@npm:1.9.2" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@biomejs/cli-linux-arm64@npm:1.9.2": + version: 1.9.2 + resolution: "@biomejs/cli-linux-arm64@npm:1.9.2" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@biomejs/cli-linux-x64-musl@npm:1.9.2": + version: 1.9.2 + resolution: "@biomejs/cli-linux-x64-musl@npm:1.9.2" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@biomejs/cli-linux-x64@npm:1.9.2": + version: 1.9.2 + resolution: "@biomejs/cli-linux-x64@npm:1.9.2" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@biomejs/cli-win32-arm64@npm:1.9.2": + version: 1.9.2 + resolution: "@biomejs/cli-win32-arm64@npm:1.9.2" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@biomejs/cli-win32-x64@npm:1.9.2": + version: 1.9.2 + resolution: "@biomejs/cli-win32-x64@npm:1.9.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@emmetio/abbreviation@npm:^2.3.3": + version: 2.3.3 + resolution: "@emmetio/abbreviation@npm:2.3.3" + dependencies: + "@emmetio/scanner": "npm:^1.0.4" + checksum: 10c0/835b460706d5920a6f9a569a44b7d98e88d5530e3983af3678b44fa38b4cbdf68b5df933476d72e340779b16e7e7962ffa63142db8d2f59b1175a11c30c14635 + languageName: node + linkType: hard + +"@emmetio/css-abbreviation@npm:^2.1.8": + version: 2.1.8 + resolution: "@emmetio/css-abbreviation@npm:2.1.8" + dependencies: + "@emmetio/scanner": "npm:^1.0.4" + checksum: 10c0/b5b3b39e773185d848b634e48e1b520e6ebffd28bfd0ba34fbcf877ca77e0edb8c7bbf58230cb0621f80f579bd7fd0265f00ab5e09ac482a835897cbdb6182a6 + languageName: node + linkType: hard + +"@emmetio/css-parser@npm:^0.4.0": + version: 0.4.0 + resolution: "@emmetio/css-parser@npm:0.4.0" + dependencies: + "@emmetio/stream-reader": "npm:^2.2.0" + "@emmetio/stream-reader-utils": "npm:^0.1.0" + checksum: 10c0/44606cb3220c4d1c910439271c5cf903ec89ce602fa25c527a25e8a744ca8e84df3ffbb82d3b44923b890884a7f889eff34c462568e5866e2ab5d98dda99c6f0 + languageName: node + linkType: hard + +"@emmetio/html-matcher@npm:^1.3.0": + version: 1.3.0 + resolution: "@emmetio/html-matcher@npm:1.3.0" + dependencies: + "@emmetio/scanner": "npm:^1.0.0" + checksum: 10c0/354f6d4d52ffb124883cc350d6a09942f2ec352b03dfb928ba8c3078b0f570041b6095367367094a307388c158e6b053565c09a9c1db699517801435a0eadb5c + languageName: node + linkType: hard + +"@emmetio/scanner@npm:^1.0.0, @emmetio/scanner@npm:^1.0.4": + version: 1.0.4 + resolution: "@emmetio/scanner@npm:1.0.4" + checksum: 10c0/ae6244e563caaff0f88d7afefc33fd6cfb7cc767ce914b54d35b46002637948cfc65951dba6d6941328afa54c721c225836fafce2de40fb7643660ba09fe7372 + languageName: node + linkType: hard + +"@emmetio/stream-reader-utils@npm:^0.1.0": + version: 0.1.0 + resolution: "@emmetio/stream-reader-utils@npm:0.1.0" + checksum: 10c0/8630a066200976aa07ce25708484e5c2458182961280dc4637a7a6e98e1f3bb59fb7bf3bf26380f74c6ff1fd40d3dbf1143f21c721833199e45f669614a33b87 + languageName: node + linkType: hard + +"@emmetio/stream-reader@npm:^2.2.0": + version: 2.2.0 + resolution: "@emmetio/stream-reader@npm:2.2.0" + checksum: 10c0/d1a5c83b1ef062ce89b48e1fc170cd5f21b0dfa6132dc41421ef7eda455563227c047977cd4c7b70f072fa73b5af553b04cafe381c600df9bd17c58ca8238e8b + languageName: node + linkType: hard + +"@emnapi/runtime@npm:^1.2.0": + version: 1.2.0 + resolution: "@emnapi/runtime@npm:1.2.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/7005ff8b67724c9e61b6cd79a3decbdb2ce25d24abd4d3d187472f200ee6e573329c30264335125fb136bd813aa9cf9f4f7c9391d04b07dd1e63ce0a3427be57 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/aix-ppc64@npm:0.21.5" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-arm64@npm:0.21.5" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-arm@npm:0.21.5" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-x64@npm:0.21.5" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/darwin-arm64@npm:0.21.5" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/darwin-x64@npm:0.21.5" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/freebsd-arm64@npm:0.21.5" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/freebsd-x64@npm:0.21.5" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-arm64@npm:0.21.5" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-arm@npm:0.21.5" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-ia32@npm:0.21.5" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-loong64@npm:0.21.5" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-mips64el@npm:0.21.5" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-ppc64@npm:0.21.5" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-riscv64@npm:0.21.5" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-s390x@npm:0.21.5" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-x64@npm:0.21.5" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/netbsd-x64@npm:0.21.5" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/openbsd-x64@npm:0.21.5" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/sunos-x64@npm:0.21.5" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-arm64@npm:0.21.5" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-ia32@npm:0.21.5" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-x64@npm:0.21.5" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@floating-ui/core@npm:^1.6.0": + version: 1.6.8 + resolution: "@floating-ui/core@npm:1.6.8" + dependencies: + "@floating-ui/utils": "npm:^0.2.8" + checksum: 10c0/d6985462aeccae7b55a2d3f40571551c8c42bf820ae0a477fc40ef462e33edc4f3f5b7f11b100de77c9b58ecb581670c5c3f46d0af82b5e30aa185c735257eb9 + languageName: node + linkType: hard + +"@floating-ui/dom@npm:1.6.11": + version: 1.6.11 + resolution: "@floating-ui/dom@npm:1.6.11" + dependencies: + "@floating-ui/core": "npm:^1.6.0" + "@floating-ui/utils": "npm:^0.2.8" + checksum: 10c0/02ef34a75a515543c772880338eea7b66724997bd5ec7cd58d26b50325709d46d480a306b84e7d5509d734434411a4bcf23af5680c2e461e6e6a8bf45d751df8 + languageName: node + linkType: hard + +"@floating-ui/utils@npm:^0.2.8": + version: 0.2.8 + resolution: "@floating-ui/utils@npm:0.2.8" + checksum: 10c0/a8cee5f17406c900e1c3ef63e3ca89b35e7a2ed645418459a73627b93b7377477fc888081011c6cd177cac45ec2b92a6cab018c14ea140519465498dddd2d3f9 + languageName: node + linkType: hard + +"@hbsnow/rehype-sectionize@npm:^1.0.7": + version: 1.0.7 + resolution: "@hbsnow/rehype-sectionize@npm:1.0.7" + dependencies: + hast-util-heading: "npm:^2.0.1" + hast-util-heading-rank: "npm:^2.1.1" + rehype: "npm:^12.0.1" + checksum: 10c0/44173aff9ce988d04357d8542cca89257390a19a5fc04c0e1e85063ee1b0a26e637a2dbc4b0847e5ce77d3a540aadcd48de549000dbe7e585f7d7993b5528ad5 + languageName: node + linkType: hard + +"@img/sharp-darwin-arm64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-darwin-arm64@npm:0.33.5" + dependencies: + "@img/sharp-libvips-darwin-arm64": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-darwin-arm64": + optional: true + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@img/sharp-darwin-x64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-darwin-x64@npm:0.33.5" + dependencies: + "@img/sharp-libvips-darwin-x64": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-darwin-x64": + optional: true + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@img/sharp-libvips-darwin-arm64@npm:1.0.4": + version: 1.0.4 + resolution: "@img/sharp-libvips-darwin-arm64@npm:1.0.4" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@img/sharp-libvips-darwin-x64@npm:1.0.4": + version: 1.0.4 + resolution: "@img/sharp-libvips-darwin-x64@npm:1.0.4" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@img/sharp-libvips-linux-arm64@npm:1.0.4": + version: 1.0.4 + resolution: "@img/sharp-libvips-linux-arm64@npm:1.0.4" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-libvips-linux-arm@npm:1.0.5": + version: 1.0.5 + resolution: "@img/sharp-libvips-linux-arm@npm:1.0.5" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-libvips-linux-s390x@npm:1.0.4": + version: 1.0.4 + resolution: "@img/sharp-libvips-linux-s390x@npm:1.0.4" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-libvips-linux-x64@npm:1.0.4": + version: 1.0.4 + resolution: "@img/sharp-libvips-linux-x64@npm:1.0.4" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-libvips-linuxmusl-arm64@npm:1.0.4": + version: 1.0.4 + resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.0.4" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@img/sharp-libvips-linuxmusl-x64@npm:1.0.4": + version: 1.0.4 + resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.0.4" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@img/sharp-linux-arm64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linux-arm64@npm:0.33.5" + dependencies: + "@img/sharp-libvips-linux-arm64": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-linux-arm64": + optional: true + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-linux-arm@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linux-arm@npm:0.33.5" + dependencies: + "@img/sharp-libvips-linux-arm": "npm:1.0.5" + dependenciesMeta: + "@img/sharp-libvips-linux-arm": + optional: true + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-linux-s390x@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linux-s390x@npm:0.33.5" + dependencies: + "@img/sharp-libvips-linux-s390x": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-linux-s390x": + optional: true + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-linux-x64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linux-x64@npm:0.33.5" + dependencies: + "@img/sharp-libvips-linux-x64": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-linux-x64": + optional: true + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@img/sharp-linuxmusl-arm64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linuxmusl-arm64@npm:0.33.5" + dependencies: + "@img/sharp-libvips-linuxmusl-arm64": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-linuxmusl-arm64": + optional: true + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@img/sharp-linuxmusl-x64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-linuxmusl-x64@npm:0.33.5" + dependencies: + "@img/sharp-libvips-linuxmusl-x64": "npm:1.0.4" + dependenciesMeta: + "@img/sharp-libvips-linuxmusl-x64": + optional: true + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@img/sharp-wasm32@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-wasm32@npm:0.33.5" + dependencies: + "@emnapi/runtime": "npm:^1.2.0" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@img/sharp-win32-ia32@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-win32-ia32@npm:0.33.5" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@img/sharp-win32-x64@npm:0.33.5": + version: 0.33.5 + resolution: "@img/sharp-win32-x64@npm:0.33.5" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@internationalized/date@npm:3.5.5": + version: 3.5.5 + resolution: "@internationalized/date@npm:3.5.5" + dependencies: + "@swc/helpers": "npm:^0.5.0" + checksum: 10c0/fc17291c8923eaf413e4cb1c74570a8f78269d8b6a5ad74de6f4f45b4e9a84f4243a9c3f224526c36b024f77e4a2fae34df6b34b022ae1b068384e04ad32560e + languageName: node + linkType: hard + +"@internationalized/number@npm:3.5.3": + version: 3.5.3 + resolution: "@internationalized/number@npm:3.5.3" + dependencies: + "@swc/helpers": "npm:^0.5.0" + checksum: 10c0/dd1bb4e89c6468b97e8357e1ba0a60234bd2c8226f3241c4c7499e5b1791ba0574127ea6de0fd6c4158e2ceef564bba6531a8f5589e58b820df669e312500f99 + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" + dependencies: + "@sinclair/typebox": "npm:^0.27.8" + checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.5 + resolution: "@jridgewell/gen-mapping@npm:0.3.5" + dependencies: + "@jridgewell/set-array": "npm:^1.2.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/1be4fd4a6b0f41337c4f5fdf4afc3bd19e39c3691924817108b82ffcb9c9e609c273f936932b9fba4b3a298ce2eb06d9bff4eb1cc3bd81c4f4ee1b4917e25feb + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.2.1": + version: 1.2.1 + resolution: "@jridgewell/set-array@npm:1.2.1" + checksum: 10c0/2a5aa7b4b5c3464c895c802d8ae3f3d2b92fcbe84ad12f8d0bfbb1f5ad006717e7577ee1fd2eac00c088abe486c7adb27976f45d2941ff6b0b92b2c3302c60f4 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15, @jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/3d1ce6ebc69df9682a5a8896b414c6537e428a1d68b02fcc8363b04284a8ca0df04d0ee3013132252ab14f2527bc13bea6526a912ecb5658f0e39fd2860b4df4 + languageName: node + linkType: hard + +"@mdx-js/mdx@npm:^3.0.1": + version: 3.0.1 + resolution: "@mdx-js/mdx@npm:3.0.1" + dependencies: + "@types/estree": "npm:^1.0.0" + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdx": "npm:^2.0.0" + collapse-white-space: "npm:^2.0.0" + devlop: "npm:^1.0.0" + estree-util-build-jsx: "npm:^3.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + estree-util-to-js: "npm:^2.0.0" + estree-walker: "npm:^3.0.0" + hast-util-to-estree: "npm:^3.0.0" + hast-util-to-jsx-runtime: "npm:^2.0.0" + markdown-extensions: "npm:^2.0.0" + periscopic: "npm:^3.0.0" + remark-mdx: "npm:^3.0.0" + remark-parse: "npm:^11.0.0" + remark-rehype: "npm:^11.0.0" + source-map: "npm:^0.7.0" + unified: "npm:^11.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + unist-util-stringify-position: "npm:^4.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/8cd7084f1242209bbeef81f69ea670ffffa0656dda2893bbd46b1b2b26078a57f9d993f8f82ad8ba16bc969189235140007185276d7673471827331521eae2e0 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@nothing-but/utils@npm:~0.12.0": + version: 0.12.1 + resolution: "@nothing-but/utils@npm:0.12.1" + checksum: 10c0/b6211b69021a09035426013abba1ece06fdc452097e2b2569eb820a1a9c5fde2245447e827007abbe57bc4cd3094a0c222129296e992d6ae9dbf3f4bf671517e + languageName: node + linkType: hard + +"@npmcli/agent@npm:^2.0.0": + version: 2.2.2 + resolution: "@npmcli/agent@npm:2.2.2" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/325e0db7b287d4154ecd164c0815c08007abfb07653cc57bceded17bb7fd240998a3cbdbe87d700e30bef494885eccc725ab73b668020811d56623d145b524ae + languageName: node + linkType: hard + +"@npmcli/fs@npm:^3.1.0": + version: 3.1.1 + resolution: "@npmcli/fs@npm:3.1.1" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/c37a5b4842bfdece3d14dfdb054f73fe15ed2d3da61b34ff76629fb5b1731647c49166fd2a8bf8b56fcfa51200382385ea8909a3cbecdad612310c114d3f6c99 + languageName: node + linkType: hard + +"@oslojs/encoding@npm:^0.4.1": + version: 0.4.1 + resolution: "@oslojs/encoding@npm:0.4.1" + checksum: 10c0/e3ccee039f385cca8a53afb1584c85d66d3685e20142649aab8f6e7f71ea11e026861e60e3d61de8d34a78adf9049e6da6813e3de51ba2b86239a4200c08ee76 + languageName: node + linkType: hard + +"@pagefind/darwin-arm64@npm:1.1.1": + version: 1.1.1 + resolution: "@pagefind/darwin-arm64@npm:1.1.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@pagefind/darwin-x64@npm:1.1.1": + version: 1.1.1 + resolution: "@pagefind/darwin-x64@npm:1.1.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@pagefind/default-ui@npm:^1.0.3": + version: 1.1.1 + resolution: "@pagefind/default-ui@npm:1.1.1" + checksum: 10c0/a1069183ae31daa8b71344abd6cdd85b7183b2af4f88fdc89d8c5298ea0e653e7f8a89f95d10ee54053ab55c36dd1142b6768efd1a7c29d589432b432b7a291b + languageName: node + linkType: hard + +"@pagefind/linux-arm64@npm:1.1.1": + version: 1.1.1 + resolution: "@pagefind/linux-arm64@npm:1.1.1" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@pagefind/linux-x64@npm:1.1.1": + version: 1.1.1 + resolution: "@pagefind/linux-x64@npm:1.1.1" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@pagefind/windows-x64@npm:1.1.1": + version: 1.1.1 + resolution: "@pagefind/windows-x64@npm:1.1.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@polka/url@npm:^1.0.0-next.24": + version: 1.0.0-next.28 + resolution: "@polka/url@npm:1.0.0-next.28" + checksum: 10c0/acc5ea62597e4da2fb42dbee02749d07f102ae7d6d2c966bf7e423c79cd65d1621da305af567e6e7c232f3b565e242d1ec932cbb3dcc0db1508d02e9a2cafa2e + languageName: node + linkType: hard + +"@rollup/pluginutils@npm:^5.1.0": + version: 5.1.0 + resolution: "@rollup/pluginutils@npm:5.1.0" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-walker: "npm:^2.0.2" + picomatch: "npm:^2.3.1" + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 10c0/c7bed15711f942d6fdd3470fef4105b73991f99a478605e13d41888963330a6f9e32be37e6ddb13f012bc7673ff5e54f06f59fd47109436c1c513986a8a7612d + languageName: node + linkType: hard + +"@rollup/rollup-android-arm-eabi@npm:4.21.0": + version: 4.21.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.21.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.21.0": + version: 4.21.0 + resolution: "@rollup/rollup-android-arm64@npm:4.21.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.21.0": + version: 4.21.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.21.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.21.0": + version: 4.21.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.21.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.21.0": + version: 4.21.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.21.0" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-musleabihf@npm:4.21.0": + version: 4.21.0 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.21.0" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.21.0": + version: 4.21.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.21.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.21.0": + version: 4.21.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.21.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.21.0": + version: 4.21.0 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.21.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.21.0": + version: 4.21.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.21.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.21.0": + version: 4.21.0 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.21.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.21.0": + version: 4.21.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.21.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.21.0": + version: 4.21.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.21.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.21.0": + version: 4.21.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.21.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.21.0": + version: 4.21.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.21.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.21.0": + version: 4.21.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.21.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@shikijs/core@npm:1.14.1": + version: 1.14.1 + resolution: "@shikijs/core@npm:1.14.1" + dependencies: + "@types/hast": "npm:^3.0.4" + checksum: 10c0/a9779634956010788f346f779a8e445d17101cae64e6769a7a4d6d479ccd5d47e6c897fd7a57445cea6b64f1b79f1126ff4f57dbc6ce28c1533f6b74450d752f + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e + languageName: node + linkType: hard + +"@solid-devtools/debugger@npm:^0.23.4": + version: 0.23.4 + resolution: "@solid-devtools/debugger@npm:0.23.4" + dependencies: + "@nothing-but/utils": "npm:~0.12.0" + "@solid-devtools/shared": "npm:^0.13.2" + "@solid-primitives/bounds": "npm:^0.0.118" + "@solid-primitives/cursor": "npm:^0.0.112" + "@solid-primitives/event-bus": "npm:^1.0.8" + "@solid-primitives/event-listener": "npm:^2.3.0" + "@solid-primitives/keyboard": "npm:^1.2.5" + "@solid-primitives/platform": "npm:^0.1.0" + "@solid-primitives/rootless": "npm:^1.4.2" + "@solid-primitives/scheduled": "npm:^1.4.1" + "@solid-primitives/static-store": "npm:^0.0.5" + "@solid-primitives/utils": "npm:^6.2.1" + peerDependencies: + solid-js: ^1.8.0 + checksum: 10c0/abb8e53541d3e6736e904500987ea2c23b93ea75fa89bde5759b3cb17398dc4ee2daaa912c8b9bc7a575a495ff0cb2f44d4f3eee6854a6b8d49e832dd5a2ca8f + languageName: node + linkType: hard + +"@solid-devtools/shared@npm:^0.13.2": + version: 0.13.2 + resolution: "@solid-devtools/shared@npm:0.13.2" + dependencies: + "@solid-primitives/event-bus": "npm:^1.0.8" + "@solid-primitives/event-listener": "npm:^2.3.0" + "@solid-primitives/media": "npm:^2.2.5" + "@solid-primitives/refs": "npm:^1.0.5" + "@solid-primitives/rootless": "npm:^1.4.2" + "@solid-primitives/scheduled": "npm:^1.4.1" + "@solid-primitives/static-store": "npm:^0.0.5" + "@solid-primitives/styles": "npm:^0.0.111" + "@solid-primitives/utils": "npm:^6.2.1" + peerDependencies: + solid-js: ^1.8.0 + checksum: 10c0/8898cc0051c517408ac8427b63349d4844913fc852599739641e28d91ab4ab206f3dfa5f7653ac22bfa7bd6758897e004223af3cc3af2241e934f2123452e6f3 + languageName: node + linkType: hard + +"@solid-primitives/bounds@npm:^0.0.118": + version: 0.0.118 + resolution: "@solid-primitives/bounds@npm:0.0.118" + dependencies: + "@solid-primitives/event-listener": "npm:^2.3.0" + "@solid-primitives/resize-observer": "npm:^2.0.22" + "@solid-primitives/static-store": "npm:^0.0.5" + "@solid-primitives/utils": "npm:^6.2.1" + peerDependencies: + solid-js: ^1.6.12 + checksum: 10c0/a0d7e18987ba2ea6250c89a9a9006271b9d70584f208f72639bb2d373c16e739df83fd0f20576464cdef2980046b53851f4ea693ae7e62ebaa775035f8ff9c3f + languageName: node + linkType: hard + +"@solid-primitives/cursor@npm:^0.0.112": + version: 0.0.112 + resolution: "@solid-primitives/cursor@npm:0.0.112" + dependencies: + "@solid-primitives/utils": "npm:^6.2.1" + peerDependencies: + solid-js: ^1.6.12 + checksum: 10c0/7044983d6ed134297e0fab394e38fd5077894a448c4fe1b7423f63123055dec00817f154846be1c4f94fb249e88892ef3348c4d4fbda56cd3b5c72a5753195a0 + languageName: node + linkType: hard + +"@solid-primitives/event-bus@npm:^1.0.8": + version: 1.0.11 + resolution: "@solid-primitives/event-bus@npm:1.0.11" + dependencies: + "@solid-primitives/utils": "npm:^6.2.3" + peerDependencies: + solid-js: ^1.6.12 + checksum: 10c0/46165ba05fd74db347acc8c1be2a433951f76c327a75ebabd903f3fe8cdf4afd12228f724977d4a8df2fc85997f68b36b9168fc81cf125604a9b13b32e735556 + languageName: node + linkType: hard + +"@solid-primitives/event-listener@npm:^2.3.0, @solid-primitives/event-listener@npm:^2.3.3": + version: 2.3.3 + resolution: "@solid-primitives/event-listener@npm:2.3.3" + dependencies: + "@solid-primitives/utils": "npm:^6.2.3" + peerDependencies: + solid-js: ^1.6.12 + checksum: 10c0/054cbd6d4e5e89592f29cb22b727074146a33f70163d7d19316a4bc4ff02a6504219150acbd815d3903b9c3b88312d50911ca18a6baf0b05af6db0d067bb82c7 + languageName: node + linkType: hard + +"@solid-primitives/keyboard@npm:^1.2.5": + version: 1.2.8 + resolution: "@solid-primitives/keyboard@npm:1.2.8" + dependencies: + "@solid-primitives/event-listener": "npm:^2.3.3" + "@solid-primitives/rootless": "npm:^1.4.5" + "@solid-primitives/utils": "npm:^6.2.3" + peerDependencies: + solid-js: ^1.6.12 + checksum: 10c0/45f53b40d135eb5f7e4894e3d746bbb9242c7dc5d5110499f56a953d59368806375eacfcf8c5aa9f7c1785a4d1181f5acb8e4839a8fa439b5425fd876f363dd8 + languageName: node + linkType: hard + +"@solid-primitives/media@npm:^2.2.5": + version: 2.2.9 + resolution: "@solid-primitives/media@npm:2.2.9" + dependencies: + "@solid-primitives/event-listener": "npm:^2.3.3" + "@solid-primitives/rootless": "npm:^1.4.5" + "@solid-primitives/static-store": "npm:^0.0.8" + "@solid-primitives/utils": "npm:^6.2.3" + peerDependencies: + solid-js: ^1.6.12 + checksum: 10c0/5cc6f8fd637c6bbf1818ccfb663a41713d3914a4cf43bbaa518ac6c834b12c85368f17198f2d230b5ad39b1c3c7f51d7c5528f90c8b0375e521382739e98c25b + languageName: node + linkType: hard + +"@solid-primitives/platform@npm:^0.1.0": + version: 0.1.2 + resolution: "@solid-primitives/platform@npm:0.1.2" + peerDependencies: + solid-js: ^1.6.12 + checksum: 10c0/696cc1a678d71b4be4bc5b511ab4e1437cbbecfd776186631360b0a920c2855c3bd6f2532a1538140cf6ec3edf0ca2add211bc3b11cd4d1ca5c30e16c66f65bd + languageName: node + linkType: hard + +"@solid-primitives/refs@npm:^1.0.5": + version: 1.0.8 + resolution: "@solid-primitives/refs@npm:1.0.8" + dependencies: + "@solid-primitives/utils": "npm:^6.2.3" + peerDependencies: + solid-js: ^1.6.12 + checksum: 10c0/bc4313a3915eb406bd725dcfeaa1801fe9d7d97b47584bcaf8c5d0625acc893022536175ccf02cb750130d5629acee436f886daa434db393ba7800d6c3a92d6a + languageName: node + linkType: hard + +"@solid-primitives/resize-observer@npm:^2.0.22": + version: 2.0.26 + resolution: "@solid-primitives/resize-observer@npm:2.0.26" + dependencies: + "@solid-primitives/event-listener": "npm:^2.3.3" + "@solid-primitives/rootless": "npm:^1.4.5" + "@solid-primitives/static-store": "npm:^0.0.8" + "@solid-primitives/utils": "npm:^6.2.3" + peerDependencies: + solid-js: ^1.6.12 + checksum: 10c0/a953097a9b0506f492fb21af2f07cdb68ba0dcc09e874fd79c70ba328e418a71ba2892b40cbea5b48b6b9fe0f867b0c4a10d55f511c1c0ff48acbfbdd21e22dd + languageName: node + linkType: hard + +"@solid-primitives/rootless@npm:^1.4.2, @solid-primitives/rootless@npm:^1.4.5": + version: 1.4.5 + resolution: "@solid-primitives/rootless@npm:1.4.5" + dependencies: + "@solid-primitives/utils": "npm:^6.2.3" + peerDependencies: + solid-js: ^1.6.12 + checksum: 10c0/55654e8a2aa5acdcb39c896eef3af3046fc91a60b5b8d9d7a92c5abdea599e8bbbf7d75a89515f01407acd6a40a352f5cb64b8c8728216026d5e731ddfcb27ee + languageName: node + linkType: hard + +"@solid-primitives/scheduled@npm:^1.4.1": + version: 1.4.3 + resolution: "@solid-primitives/scheduled@npm:1.4.3" + peerDependencies: + solid-js: ^1.6.12 + checksum: 10c0/dc6b2210420978798bd72e28eac046da09f890e694f72f689b2f496df96370e326698031cf0e990a63f97e6c9b900a2a48207f9e90cadd4aac30d53340746a38 + languageName: node + linkType: hard + +"@solid-primitives/static-store@npm:^0.0.5": + version: 0.0.5 + resolution: "@solid-primitives/static-store@npm:0.0.5" + dependencies: + "@solid-primitives/utils": "npm:^6.2.1" + peerDependencies: + solid-js: ^1.6.12 + checksum: 10c0/e3803368146d47d8e981a628bd5c020ff3d0a7c7a27c7416c9d29e11b1213d58ba9ee6c235442823f2b14f901850ad9feaa19076a02df34519389bcb366d1bb4 + languageName: node + linkType: hard + +"@solid-primitives/static-store@npm:^0.0.8": + version: 0.0.8 + resolution: "@solid-primitives/static-store@npm:0.0.8" + dependencies: + "@solid-primitives/utils": "npm:^6.2.3" + peerDependencies: + solid-js: ^1.6.12 + checksum: 10c0/7efcaf43c6028113a97d6d194983251c14f4a50741583b920ea5eb635a9ec26cce91d7ae681098bd82e527722b1f580cd17d92c4363eaf1ed55c4ee8eef073bf + languageName: node + linkType: hard + +"@solid-primitives/styles@npm:^0.0.111": + version: 0.0.111 + resolution: "@solid-primitives/styles@npm:0.0.111" + dependencies: + "@solid-primitives/rootless": "npm:^1.4.2" + "@solid-primitives/utils": "npm:^6.2.1" + peerDependencies: + solid-js: ^1.6.12 + checksum: 10c0/d6800c593f7e2d27c2d5023d6473d0fcf2079f04ff265a1ae1610b9b3fb3a7eba001824ae0f840046c363c17a7051c8a7a8bd219009c22661bbd979b383a0c55 + languageName: node + linkType: hard + +"@solid-primitives/utils@npm:^6.2.1, @solid-primitives/utils@npm:^6.2.3": + version: 6.2.3 + resolution: "@solid-primitives/utils@npm:6.2.3" + peerDependencies: + solid-js: ^1.6.12 + checksum: 10c0/d14d922b17f7745a612bc264293db582b9f40e6f06366153401b92d0d4d5b85bef8e187ac5e7cf3689d6c675a9754bdca9ad3fdb5ad76657be974a62d9df6005 + languageName: node + linkType: hard + +"@swc/helpers@npm:^0.5.0": + version: 0.5.13 + resolution: "@swc/helpers@npm:0.5.13" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/b9df578401fc62405da9a6c31e79e447a2fd90f68b25b1daee12f2caf2821991bb89106f0397bc1acb4c4d84a8ce079d04b60b65f534496952e3bf8c9a52f40f + languageName: node + linkType: hard + +"@types/acorn@npm:^4.0.0": + version: 4.0.6 + resolution: "@types/acorn@npm:4.0.6" + dependencies: + "@types/estree": "npm:*" + checksum: 10c0/5a65a1d7e91fc95703f0a717897be60fa7ccd34b17f5462056274a246e6690259fe0a1baabc86fd3260354f87245cb3dc483346d7faad2b78fc199763978ede9 + languageName: node + linkType: hard + +"@types/babel__core@npm:^7.20.4, @types/babel__core@npm:^7.20.5": + version: 7.20.5 + resolution: "@types/babel__core@npm:7.20.5" + dependencies: + "@babel/parser": "npm:^7.20.7" + "@babel/types": "npm:^7.20.7" + "@types/babel__generator": "npm:*" + "@types/babel__template": "npm:*" + "@types/babel__traverse": "npm:*" + checksum: 10c0/bdee3bb69951e833a4b811b8ee9356b69a61ed5b7a23e1a081ec9249769117fa83aaaf023bb06562a038eb5845155ff663e2d5c75dd95c1d5ccc91db012868ff + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.6.8 + resolution: "@types/babel__generator@npm:7.6.8" + dependencies: + "@babel/types": "npm:^7.0.0" + checksum: 10c0/f0ba105e7d2296bf367d6e055bb22996886c114261e2cb70bf9359556d0076c7a57239d019dee42bb063f565bade5ccb46009bce2044b2952d964bf9a454d6d2 + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.4.4 + resolution: "@types/babel__template@npm:7.4.4" + dependencies: + "@babel/parser": "npm:^7.1.0" + "@babel/types": "npm:^7.0.0" + checksum: 10c0/cc84f6c6ab1eab1427e90dd2b76ccee65ce940b778a9a67be2c8c39e1994e6f5bbc8efa309f6cea8dc6754994524cd4d2896558df76d92e7a1f46ecffee7112b + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*": + version: 7.20.6 + resolution: "@types/babel__traverse@npm:7.20.6" + dependencies: + "@babel/types": "npm:^7.20.7" + checksum: 10c0/7ba7db61a53e28cac955aa99af280d2600f15a8c056619c05b6fc911cbe02c61aa4f2823299221b23ce0cce00b294c0e5f618ec772aa3f247523c2e48cf7b888 + languageName: node + linkType: hard + +"@types/cookie@npm:^0.6.0": + version: 0.6.0 + resolution: "@types/cookie@npm:0.6.0" + checksum: 10c0/5b326bd0188120fb32c0be086b141b1481fec9941b76ad537f9110e10d61ee2636beac145463319c71e4be67a17e85b81ca9e13ceb6e3bb63b93d16824d6c149 + languageName: node + linkType: hard + +"@types/debug@npm:^4.0.0": + version: 4.1.12 + resolution: "@types/debug@npm:4.1.12" + dependencies: + "@types/ms": "npm:*" + checksum: 10c0/5dcd465edbb5a7f226e9a5efd1f399c6172407ef5840686b73e3608ce135eeca54ae8037dcd9f16bdb2768ac74925b820a8b9ecc588a58ca09eca6acabe33e2f + languageName: node + linkType: hard + +"@types/estree-jsx@npm:^1.0.0": + version: 1.0.5 + resolution: "@types/estree-jsx@npm:1.0.5" + dependencies: + "@types/estree": "npm:*" + checksum: 10c0/07b354331516428b27a3ab99ee397547d47eb223c34053b48f84872fafb841770834b90cc1a0068398e7c7ccb15ec51ab00ec64b31dc5e3dbefd624638a35c6d + languageName: node + linkType: hard + +"@types/estree@npm:*, @types/estree@npm:^1.0.0": + version: 1.0.6 + resolution: "@types/estree@npm:1.0.6" + checksum: 10c0/cdfd751f6f9065442cd40957c07fd80361c962869aa853c1c2fd03e101af8b9389d8ff4955a43a6fcfa223dd387a089937f95be0f3eec21ca527039fd2d9859a + languageName: node + linkType: hard + +"@types/estree@npm:1.0.5": + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d + languageName: node + linkType: hard + +"@types/hast@npm:^2.0.0": + version: 2.3.10 + resolution: "@types/hast@npm:2.3.10" + dependencies: + "@types/unist": "npm:^2" + checksum: 10c0/16daac35d032e656defe1f103f9c09c341a6dc553c7ec17b388274076fa26e904a71ea5ea41fd368a6d5f1e9e53be275c80af7942b9c466d8511d261c9529c7e + languageName: node + linkType: hard + +"@types/hast@npm:^3.0.0, @types/hast@npm:^3.0.4": + version: 3.0.4 + resolution: "@types/hast@npm:3.0.4" + dependencies: + "@types/unist": "npm:*" + checksum: 10c0/3249781a511b38f1d330fd1e3344eed3c4e7ea8eff82e835d35da78e637480d36fad37a78be5a7aed8465d237ad0446abc1150859d0fde395354ea634decf9f7 + languageName: node + linkType: hard + +"@types/mdast@npm:^4.0.0": + version: 4.0.4 + resolution: "@types/mdast@npm:4.0.4" + dependencies: + "@types/unist": "npm:*" + checksum: 10c0/84f403dbe582ee508fd9c7643ac781ad8597fcbfc9ccb8d4715a2c92e4545e5772cbd0dbdf18eda65789386d81b009967fdef01b24faf6640f817287f54d9c82 + languageName: node + linkType: hard + +"@types/mdx@npm:^2.0.0": + version: 2.0.13 + resolution: "@types/mdx@npm:2.0.13" + checksum: 10c0/5edf1099505ac568da55f9ae8a93e7e314e8cbc13d3445d0be61b75941226b005e1390d9b95caecf5dcb00c9d1bab2f1f60f6ff9876dc091a48b547495007720 + languageName: node + linkType: hard + +"@types/ms@npm:*": + version: 0.7.34 + resolution: "@types/ms@npm:0.7.34" + checksum: 10c0/ac80bd90012116ceb2d188fde62d96830ca847823e8ca71255616bc73991aa7d9f057b8bfab79e8ee44ffefb031ddd1bcce63ea82f9e66f7c31ec02d2d823ccc + languageName: node + linkType: hard + +"@types/nlcst@npm:^2.0.0": + version: 2.0.3 + resolution: "@types/nlcst@npm:2.0.3" + dependencies: + "@types/unist": "npm:*" + checksum: 10c0/d83549aaee59681ae8fa2a78d8a1b968a41eb7c0422773dff12acbf3661e4b2b2859740c3effdad9d0cd12ea14a0ec33ca302da12106476b627e09d2a029d3c1 + languageName: node + linkType: hard + +"@types/node@npm:^20.14.11": + version: 20.16.9 + resolution: "@types/node@npm:20.16.9" + dependencies: + undici-types: "npm:~6.19.2" + checksum: 10c0/52d7cbd6792a26e6757c913d1f6dd0fb0104ac44c93dd87480c011d1211b3a1ba282962996bf6aec03f633b5b39f61576f1bafe8436592ab08ad39464e53e4b0 + languageName: node + linkType: hard + +"@types/parse5@npm:^6.0.0": + version: 6.0.3 + resolution: "@types/parse5@npm:6.0.3" + checksum: 10c0/a7c7ef6625974b74b93c1105953003a2291897e453369efcadc569b907de2784d61d4e6905de3ef959fa07f3278f41ed0c22ead0173776023fc43b6ed31042d0 + languageName: node + linkType: hard + +"@types/unist@npm:*, @types/unist@npm:^3.0.0": + version: 3.0.3 + resolution: "@types/unist@npm:3.0.3" + checksum: 10c0/2b1e4adcab78388e088fcc3c0ae8700f76619dbcb4741d7d201f87e2cb346bfc29a89003cfea2d76c996e1061452e14fcd737e8b25aacf949c1f2d6b2bc3dd60 + languageName: node + linkType: hard + +"@types/unist@npm:^2, @types/unist@npm:^2.0.0": + version: 2.0.11 + resolution: "@types/unist@npm:2.0.11" + checksum: 10c0/24dcdf25a168f453bb70298145eb043cfdbb82472db0bc0b56d6d51cd2e484b9ed8271d4ac93000a80da568f2402e9339723db262d0869e2bf13bc58e081768d + languageName: node + linkType: hard + +"@ungap/structured-clone@npm:^1.0.0": + version: 1.2.0 + resolution: "@ungap/structured-clone@npm:1.2.0" + checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d + languageName: node + linkType: hard + +"@volar/kit@npm:~2.4.0": + version: 2.4.0 + resolution: "@volar/kit@npm:2.4.0" + dependencies: + "@volar/language-service": "npm:2.4.0" + "@volar/typescript": "npm:2.4.0" + typesafe-path: "npm:^0.2.2" + vscode-languageserver-textdocument: "npm:^1.0.11" + vscode-uri: "npm:^3.0.8" + peerDependencies: + typescript: "*" + checksum: 10c0/34b4ccccfd40c5fa11becedad1753cf80a5e4864a5706ef7e7c7a68ab58c497634ee0ad71687224333cafbe7edb199f203a3c043c02054332ac6b16763f04250 + languageName: node + linkType: hard + +"@volar/language-core@npm:2.4.0, @volar/language-core@npm:~2.4.0": + version: 2.4.0 + resolution: "@volar/language-core@npm:2.4.0" + dependencies: + "@volar/source-map": "npm:2.4.0" + checksum: 10c0/10d62ed6556dae586a26899407ff75fa7e30be6df9ee5e2a1f05a38bfbde454ce03a02dd0a8e5fcc396d9cf91ddceec4ac79707cd92e2257e29fdc121d78085c + languageName: node + linkType: hard + +"@volar/language-server@npm:~2.4.0": + version: 2.4.0 + resolution: "@volar/language-server@npm:2.4.0" + dependencies: + "@volar/language-core": "npm:2.4.0" + "@volar/language-service": "npm:2.4.0" + "@volar/typescript": "npm:2.4.0" + path-browserify: "npm:^1.0.1" + request-light: "npm:^0.7.0" + vscode-languageserver: "npm:^9.0.1" + vscode-languageserver-protocol: "npm:^3.17.5" + vscode-languageserver-textdocument: "npm:^1.0.11" + vscode-uri: "npm:^3.0.8" + checksum: 10c0/fdd400f8f478b4c4ae49306c4742ad077a328ca165dad1d21f45d3737488981b3b0de2aa47675d87ae16f47c8c04e742fe86290fdfd098afd47f6a35a90aaf69 + languageName: node + linkType: hard + +"@volar/language-service@npm:2.4.0, @volar/language-service@npm:~2.4.0": + version: 2.4.0 + resolution: "@volar/language-service@npm:2.4.0" + dependencies: + "@volar/language-core": "npm:2.4.0" + vscode-languageserver-protocol: "npm:^3.17.5" + vscode-languageserver-textdocument: "npm:^1.0.11" + vscode-uri: "npm:^3.0.8" + checksum: 10c0/f316a6d97ae75e17cab520cdce2803b0bc08ab386553984517dca60cb1934eb97ffb76a87685462c8e12002291248830d7a44a7166d35878a78b37da59328f66 + languageName: node + linkType: hard + +"@volar/source-map@npm:2.4.0": + version: 2.4.0 + resolution: "@volar/source-map@npm:2.4.0" + checksum: 10c0/e1bd40c96e7d5e7fcd7270b15909080065154a2227af44b341d0edc7b7a417a13a4b71dd661cd62af0fdad431a0fd50f17393707534c8f3b6891252d0135d86e + languageName: node + linkType: hard + +"@volar/typescript@npm:2.4.0, @volar/typescript@npm:~2.4.0": + version: 2.4.0 + resolution: "@volar/typescript@npm:2.4.0" + dependencies: + "@volar/language-core": "npm:2.4.0" + path-browserify: "npm:^1.0.1" + vscode-uri: "npm:^3.0.8" + checksum: 10c0/8684b87edec5ffef034895766daab099a214cb75e49d726825b80bc16dcc046bd84422bd7d19e05bfef3aa174d1e5e1102a80c26732726f625fa277e7674c35a + languageName: node + linkType: hard + +"@vscode/emmet-helper@npm:^2.9.3": + version: 2.9.3 + resolution: "@vscode/emmet-helper@npm:2.9.3" + dependencies: + emmet: "npm:^2.4.3" + jsonc-parser: "npm:^2.3.0" + vscode-languageserver-textdocument: "npm:^1.0.1" + vscode-languageserver-types: "npm:^3.15.1" + vscode-uri: "npm:^2.1.2" + checksum: 10c0/2d7a1947499860fa8e8972b39a7a118f5ae814fbdc91660053b201cd6314b8ae7d3ba02f50be3305e176e9cb9a54996b453883647e51ca7d4aea1a5cabb0e50a + languageName: node + linkType: hard + +"@vscode/l10n@npm:^0.0.18": + version: 0.0.18 + resolution: "@vscode/l10n@npm:0.0.18" + checksum: 10c0/d1fc797001f7d508ab3fa91175f7a50ea98516c4e47830ff2be79163cde9279279514a167a3bad15b7ab7fc243e7808d8f32d3eb41f4a7d6721d9dfdbb38d89e + languageName: node + linkType: hard + +"@zag-js/accordion@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/accordion@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/8a2d27a23b241a6e8a33b591e9f23a38ac632bc65ae05620b31d4887bcff3ec338e8a7d72c7113c6e997b5ec22a158932e3ccdafe983611ffa816b7c29ae8e3c + languageName: node + linkType: hard + +"@zag-js/anatomy@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/anatomy@npm:0.71.0" + checksum: 10c0/88c96135bbafc6a20f8bd327d750e08068ee67109e851f12b6f4782fb6b0c5edec24122be2067c6319a83fcc453f9790095947410b030183fdaf165e53fbb698 + languageName: node + linkType: hard + +"@zag-js/aria-hidden@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/aria-hidden@npm:0.71.0" + dependencies: + aria-hidden: "npm:1.2.4" + checksum: 10c0/3cecf508ba76b769d800dc6bcf4642977689d768ebc015ff7180168001922a0a1dfabda362161c1ce322390b24a475bc0a0f2df98c819e3293b4d2a5b42f722d + languageName: node + linkType: hard + +"@zag-js/auto-resize@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/auto-resize@npm:0.71.0" + dependencies: + "@zag-js/dom-query": "npm:0.71.0" + checksum: 10c0/31201ba858fce9e818f765f4e54659ddf68f28a14e43118bab5a90e403d5e905d7c4fbbac3b9645c39cc8a7f7050a9c2deab648e268b8d9068d27bce99e85011 + languageName: node + linkType: hard + +"@zag-js/avatar@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/avatar@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/e7640dcbd83a8bb2153ee1cde42a0408c6bba079eeb48d3d07aece75cd12c63f1ae366a8990bd973d2251306c3e02e11c31ce9adafbe14da11cdc876eabab5f4 + languageName: node + linkType: hard + +"@zag-js/carousel@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/carousel@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/4deed2cfc156bf77c833d018a355a707361d35c266bf18c67929c190c068759348d764caef376b780757cf52eb80c840eecd81e42f7313ac01f191482de6aac1 + languageName: node + linkType: hard + +"@zag-js/checkbox@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/checkbox@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/focus-visible": "npm:0.71.0" + "@zag-js/form-utils": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/7610e53818dd593184e7e4c26793cd8db9781de2af2e2325f23438bf1ccbc989174608e979f6d65680c238b2b06c0aaa3a2db95cba500d1608f0e050635e56f7 + languageName: node + linkType: hard + +"@zag-js/clipboard@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/clipboard@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/b46c4fb90812c307de50f7a8ca9251085573f037ce71405c2b9e4e3cb629fac37cfc178d87f569d61562125042bde06c149204f70daab3c24c3817766cdf24b7 + languageName: node + linkType: hard + +"@zag-js/collapsible@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/collapsible@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/948da21060b66fb268c18d760d94eefbd822d07cb6660958dd9fc9360723a59411e8cb37ba00d6aab29a5a226a98190038d01e1cd9f0b2fad8478d172b1863f0 + languageName: node + linkType: hard + +"@zag-js/collection@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/collection@npm:0.71.0" + dependencies: + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/58474b2055d4edbacf8828fd6d3fa1b40fd40dc4f7d4f3fddfbe5ea4b42fb994a1f30ecdd5e0f826ec512676e1d3e1d85f2b8ea5f6c6baa373b272c156e947e6 + languageName: node + linkType: hard + +"@zag-js/color-picker@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/color-picker@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/color-utils": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dismissable": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/form-utils": "npm:0.71.0" + "@zag-js/popper": "npm:0.71.0" + "@zag-js/text-selection": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/d8ff9278d30622fde9c6e0bc74793a4f0b3171c2856664da1bba6410f14d6d7021925a0afe8903fb89ab1f4f74e58892de9ec8c41dd238e6b874f8a453168ce9 + languageName: node + linkType: hard + +"@zag-js/color-utils@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/color-utils@npm:0.71.0" + dependencies: + "@zag-js/numeric-range": "npm:0.71.0" + checksum: 10c0/f1647cb9480c5e078f460eb48b63da770981df65c5247172f03b6685af669d8f26f35457e58e0a9cbfe65e2dcbd25d7d2986a115a21cf7a2de761a3dd7eeaa41 + languageName: node + linkType: hard + +"@zag-js/combobox@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/combobox@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/aria-hidden": "npm:0.71.0" + "@zag-js/collection": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dismissable": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/popper": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/8d33695c2e8a76b8348deadeb6376d55bf7a7266d274c13b007c1421bcb9466fc045a6b12da1e18fe30481a3cb34e175cbf162197b4db758212eb853245d3f89 + languageName: node + linkType: hard + +"@zag-js/core@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/core@npm:0.71.0" + dependencies: + "@zag-js/store": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + klona: "npm:2.0.6" + checksum: 10c0/15e372efe45bb8dba6738964796d411a24a23e7870ee58e1efd9e82dfd70668a87a255a67629fbeee1306e2c5e28751f418dcac70997ad978d4343628902d3ca + languageName: node + linkType: hard + +"@zag-js/date-picker@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/date-picker@npm:0.71.0" + dependencies: + "@internationalized/date": "npm:3.5.5" + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/date-utils": "npm:0.71.0" + "@zag-js/dismissable": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/form-utils": "npm:0.71.0" + "@zag-js/live-region": "npm:0.71.0" + "@zag-js/popper": "npm:0.71.0" + "@zag-js/text-selection": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/0b8a4aef104d26a9a3e22e2c86fbde30d61e653d250ac76c25738f8dbc0072b6d186c2425a61f9cde8bf0c887947c505d5f983ed9302ff708748862457139456 + languageName: node + linkType: hard + +"@zag-js/date-utils@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/date-utils@npm:0.71.0" + peerDependencies: + "@internationalized/date": ">=3.0.0" + checksum: 10c0/3cbe414dc0f8195d95c4f6dacba2046c46f0ec947f9d003476e443374a6267dcded1a0a1207e7e07ee2102d04c57ab3fff16d6dd4375983a826f39559963687b + languageName: node + linkType: hard + +"@zag-js/dialog@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/dialog@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/aria-hidden": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dismissable": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/remove-scroll": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + focus-trap: "npm:7.6.0" + checksum: 10c0/72e74b027008995bccdbd70eb5bc65418da0cd9d404776930b8d23c9a02ac7486c85341286f6888e0ce03de4dc45982e699f44bfdd01d18d6298bcdd0a38884c + languageName: node + linkType: hard + +"@zag-js/dismissable@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/dismissable@npm:0.71.0" + dependencies: + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/interact-outside": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/964e3a306b1572bd6aff98fe04d4320a33f14cc3fdb2c5aec856bf43eee96c7118d5d2aefd5bc00c744e04ec1dafb46d9c90ecd6defeb56d75320c7ad0be2673 + languageName: node + linkType: hard + +"@zag-js/dom-event@npm:0.71.0, @zag-js/dom-event@npm:^0.71.0": + version: 0.71.0 + resolution: "@zag-js/dom-event@npm:0.71.0" + dependencies: + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/text-selection": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + checksum: 10c0/c82b8224cc05a64d2f7bbed9edc11ea089b733f1202f841d59abfd0642ea4ebf1fce67b7fc6d0105dbc372b4e223c96721f1860f7fb5a75bc03749f7c9c3445c + languageName: node + linkType: hard + +"@zag-js/dom-query@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/dom-query@npm:0.71.0" + checksum: 10c0/6bb8407e141b1b58a419fe3241959e4a2d3e8353cf618584fec080f05629b6f26f8a1af29b32cda9cac9047ebc7591676ec1e8ffd135c63e2b5277f6cf56c66e + languageName: node + linkType: hard + +"@zag-js/editable@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/editable@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/form-utils": "npm:0.71.0" + "@zag-js/interact-outside": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/95f568fde1a5f2d7930e5a17d2450df643751af2e55fdef117d0ab81997f5e0ad9986001f8d17b882a93de672d3389f54cd2ac2af0e4085899ed42e75222a9b9 + languageName: node + linkType: hard + +"@zag-js/element-rect@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/element-rect@npm:0.71.0" + checksum: 10c0/5437f3fd965fe4773b720d8c707e96a7e87dc9cf4e572ecb5b83991bcea27afdfb35f2fbbb0ea82988a32c0b41c70b647cfa34807d97ed4163252f6ac46541f8 + languageName: node + linkType: hard + +"@zag-js/element-size@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/element-size@npm:0.71.0" + checksum: 10c0/12cd8e2f184596fc502b665af7b539355e08af3982b27e8f98e531008cc8bebd882cbb39d3edcfc4e8e228e785589c562f69a4b7a6324da1b4c5130d6747c362 + languageName: node + linkType: hard + +"@zag-js/file-upload@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/file-upload@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/file-utils": "npm:0.71.0" + "@zag-js/i18n-utils": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/00327458e2ce9f0448805855b0e6145d0008177a9ce432dadcae720bf797c07661827f153c14ca3e7b4e8c430648706d163ccfe60c522552d5178a71cb419a3f + languageName: node + linkType: hard + +"@zag-js/file-utils@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/file-utils@npm:0.71.0" + dependencies: + "@zag-js/i18n-utils": "npm:0.71.0" + checksum: 10c0/93c2d63d12106c265b3a01c339ed4cb10cfcd68ead720cffccaef39bde17a222ba0899ffbc275f17388a3d5ea5857bea013ffc3a476487b84c0cf124eb2f9879 + languageName: node + linkType: hard + +"@zag-js/focus-visible@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/focus-visible@npm:0.71.0" + dependencies: + "@zag-js/dom-query": "npm:0.71.0" + checksum: 10c0/36987ffb658b79ad97d09e89af96d05f6233f03ae9d6eb7a033ff584d66eebde303f30a67915d6efc8aec9dd7b146011103b3a504cdc1bed4569ca4ddee3e288 + languageName: node + linkType: hard + +"@zag-js/form-utils@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/form-utils@npm:0.71.0" + checksum: 10c0/12dad5522a12599c844fd946721f865e5f255f1c681839955c6327f046cbb9efacf4b17c8e55ddbf8dd574540ba4ebe66ffc48e81f43586a8d2d12fbee86f9eb + languageName: node + linkType: hard + +"@zag-js/highlight-word@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/highlight-word@npm:0.71.0" + checksum: 10c0/b312cf30386e5b046191bb511555e8b7ac1655807cf907e281d14b4bc36ae90286d857c99b57e78429d1ccab5ba2544eda9451ce96eac513a3a5b8bc157f4c98 + languageName: node + linkType: hard + +"@zag-js/hover-card@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/hover-card@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dismissable": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/popper": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/62eca4c5442ec4a8c33cbc4d19f3eee98ec5ce83c791082facd8337214a80f71933e2d06d05e33ab2ee5f7367562ff6a53d54790ebfb95c115cbacac1b53770d + languageName: node + linkType: hard + +"@zag-js/i18n-utils@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/i18n-utils@npm:0.71.0" + dependencies: + "@zag-js/dom-query": "npm:0.71.0" + checksum: 10c0/4398f207c76818a640cc371b3891eb207444f7c3b5ff9f518d42a405ba8dfe05946edcb8063b3a069da34e0ce05b99a46a4222eced5fe9a1c62cc5a0e40f5e1b + languageName: node + linkType: hard + +"@zag-js/interact-outside@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/interact-outside@npm:0.71.0" + dependencies: + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/6c8280bb5b11d8c2ab5daf5bc76e91427c757f611966324e89904099a1e34db88b5e2674414dcccc0f7a83b99d50dabf286447b443714c273d920760730b5093 + languageName: node + linkType: hard + +"@zag-js/live-region@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/live-region@npm:0.71.0" + checksum: 10c0/0a7b0b32949834994a4e557f7fc6e1af7e1c8a7acddcdb575bcbffbe9044c33dae26fe99e8dfb428493e5510dd1917736aaeac8622e2cbe0cb10f00724473603 + languageName: node + linkType: hard + +"@zag-js/menu@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/menu@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dismissable": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/popper": "npm:0.71.0" + "@zag-js/rect-utils": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/9786eb6c68d5f572a3468947974722ddc635e15b2f0e61d1f54b517055782be6a8294f71a6b235d3d453c8bb64be43e8c45bfb25d930c1aa82e90344822a6cbe + languageName: node + linkType: hard + +"@zag-js/number-input@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/number-input@npm:0.71.0" + dependencies: + "@internationalized/number": "npm:3.5.3" + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/form-utils": "npm:0.71.0" + "@zag-js/number-utils": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/f230901b4d221d47b17b59701ae14bdda1ba3ac0858ce32b03710b472dde41fae594d7fcedee4ca9d14f6d72905b7ae3ad0a4ea647aea9f8ba8d9ddff35969c4 + languageName: node + linkType: hard + +"@zag-js/number-utils@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/number-utils@npm:0.71.0" + checksum: 10c0/aec8127ded305d9e6d3c6d934339a561991f7d54ed6da0c8c65dc0c77b5fd848ac106973e73d007f8fcedb699be8f6a9f092bb5845758fb95f9496730cbab8df + languageName: node + linkType: hard + +"@zag-js/numeric-range@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/numeric-range@npm:0.71.0" + checksum: 10c0/0458b999d63636202646da304c3eb0282dd6dbe0bb81c030009c397ee525771dd851f473329c18160dd9879f5fe372d147d934cc9d213a086b3990cf18bc01a5 + languageName: node + linkType: hard + +"@zag-js/pagination@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/pagination@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/530fd600472f546f08f725dfc01b9314ec7e66a39943d8ae1d48bbd32c6f2178e7b148dce5a704a05bfb9e60a4265c7236f7c2ca6e0acbe5c52165bad7e62cf0 + languageName: node + linkType: hard + +"@zag-js/pin-input@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/pin-input@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/form-utils": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/3065677d80cae036bc2ec5080fe3bed1df9858e2b001bfea2f91d8b3800d7b63b285fc152f8860cd98e8e0e7bca1a3a2a9c6be631e4cbd4ef166e8da424ac9f9 + languageName: node + linkType: hard + +"@zag-js/popover@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/popover@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/aria-hidden": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dismissable": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/popper": "npm:0.71.0" + "@zag-js/remove-scroll": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + focus-trap: "npm:7.6.0" + checksum: 10c0/7c5bae7d192cc3b5b7859ce6b7a81d6dd0e247c0e4c66666c5802cc07888db742551d7643fe1654a0cbe3e7ff2deb79107a673b2003ac45a3f44bb444828a990 + languageName: node + linkType: hard + +"@zag-js/popper@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/popper@npm:0.71.0" + dependencies: + "@floating-ui/dom": "npm:1.6.11" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/0f4d78523090da9873162a289070dc010ac310a1b98009ee15d595d67fbbd9e81b96f4376c14a8dcb48373608e3976e65aa642cc1800a90ef3b0f6fe2335d314 + languageName: node + linkType: hard + +"@zag-js/presence@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/presence@npm:0.71.0" + dependencies: + "@zag-js/core": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + checksum: 10c0/f7486d89f1152ad263ee4eddfa88e6c3d51f32e01d02fad467b6c54b3234b2e394903a0762c9a3b8eb99c8680f206eabd7e1df189eacabe0a4033bdebda0ecab + languageName: node + linkType: hard + +"@zag-js/progress@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/progress@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/bf6eb191d1a8447c789764a010d5fdcb5be6217790b1268d7672d845cd68ca032709198117505099237c56d3709aaf17c2ce2b015fdfd1a07c55c71920059563 + languageName: node + linkType: hard + +"@zag-js/qr-code@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/qr-code@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + proxy-memoize: "npm:3.0.1" + uqr: "npm:0.1.2" + checksum: 10c0/bcc22371ed9eb8a81e7aa93ab571a382745eead1670b1ab50e0a7731208eac43cad28c63575f82f56d88b39348894662860ec52b3edde7251ee6c4b1d2b72f8c + languageName: node + linkType: hard + +"@zag-js/radio-group@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/radio-group@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/element-rect": "npm:0.71.0" + "@zag-js/focus-visible": "npm:0.71.0" + "@zag-js/form-utils": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/8f25535f7b2d2b00f83b8404fdd137f5877c200d92ff04f6e250189131bef6bdb11dc366ea56812f40c0fbe550937c02b3727afd0aa113204836e7c8fc594fba + languageName: node + linkType: hard + +"@zag-js/rating-group@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/rating-group@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/form-utils": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/e11ab431ce991c5fca331349b88eb9c12b7f3eeaa0c53edfc985a66137a20785e50eb073c152abff40687154f2312e6b3a8cd6f911c21c067b164e016a2b2f7a + languageName: node + linkType: hard + +"@zag-js/rect-utils@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/rect-utils@npm:0.71.0" + checksum: 10c0/9667f286edd0ecd86dd66a8e5cb947dcd8065d0aace5f5c2b42025a9a1da29f7edfc84f07fe23655b6d352998d4706cfef83ddc49c0fd08323c6341b9089fdca + languageName: node + linkType: hard + +"@zag-js/remove-scroll@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/remove-scroll@npm:0.71.0" + dependencies: + "@zag-js/dom-query": "npm:0.71.0" + checksum: 10c0/6f35ba74291579374eda570cfa2a6f6665d1a23236dacfcf888be4f35dd26a1f886327a463871b44e644b26cf1385e9db637c43fd0df0d1974dca2a95d93e513 + languageName: node + linkType: hard + +"@zag-js/select@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/select@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/collection": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dismissable": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/form-utils": "npm:0.71.0" + "@zag-js/popper": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/0316f6a0c42ef5a1a98e12bcc8a4f77e2f61e93b6c9a49c679d294e747043330122df181a5e6498b88ce3f95b788ea9427415b84588b6b43a14f2e8c0f46c090 + languageName: node + linkType: hard + +"@zag-js/signature-pad@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/signature-pad@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + perfect-freehand: "npm:^1.2.2" + checksum: 10c0/c6a5fa5a20b146f4e1f5c1ac8dec56830f8776c004540bc922faf82b80c70bd64aab30d60c9be02b0d9cfe68e4b5b8b454ff7ee88e959e0f3580d165634f6647 + languageName: node + linkType: hard + +"@zag-js/slider@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/slider@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/element-size": "npm:0.71.0" + "@zag-js/form-utils": "npm:0.71.0" + "@zag-js/numeric-range": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/2e905e800ed6abedeccdfefc6d19f2daafeece0bb84b6562a1e68cda70b321c94dd17228a6719c62c93b927de9f861970245aade168b646acd01006bdca4577b + languageName: node + linkType: hard + +"@zag-js/solid@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/solid@npm:0.71.0" + dependencies: + "@zag-js/core": "npm:0.71.0" + "@zag-js/store": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + peerDependencies: + solid-js: ">=1.1.3" + checksum: 10c0/96c0a0f9c949e1a1e667214d2346673e6ae17d8414f28406d975a017450c8db7d2f26658cc93a481b2fc714092d3dd8719d66349f96c59398b241b51fb578b07 + languageName: node + linkType: hard + +"@zag-js/splitter@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/splitter@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/number-utils": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/a74f30256949b6b367d0ec7e4473fd4cda167aba3abc0838f01640eae6575de0679f8ca8a671256bac4c513d6aaa4d1dc0931bf3959fbd93c7e99ce8da71219e + languageName: node + linkType: hard + +"@zag-js/steps@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/steps@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/6d7f088cc8652c071e28167e3265610f07e52bb41ec569bf761100793bd2177e69858fb83183b49fd74276ac56c38b41cab2d65f0037df9e16db6157394a39ef + languageName: node + linkType: hard + +"@zag-js/store@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/store@npm:0.71.0" + dependencies: + proxy-compare: "npm:3.0.0" + checksum: 10c0/328c49cdcf49471a9e2d62cd0284596d28ec6a0b063b4bb0ea8d97c00a3197f6125dabc65582d6ed8d11f1e69a9f8c52889b3e5e23c0e371668b6e2bf8555ee6 + languageName: node + linkType: hard + +"@zag-js/switch@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/switch@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/focus-visible": "npm:0.71.0" + "@zag-js/form-utils": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/4ea23c98f0e684db92fb7e1c410038899f6ff90f1051d0e69a081ed60f1102cb2df34785987859a0df84599204fb256d74ae52e3265a831548d1636514db1419 + languageName: node + linkType: hard + +"@zag-js/tabs@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/tabs@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/element-rect": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/2145cd40c86a795ee3e45cc66d0a2d749a73d4876cf5ad80f75193f27b29f1d21ba1a7a7c1ac39844d60bdca5cfbfcd8444c413833bf2fe91b76e4a86a84a8ba + languageName: node + linkType: hard + +"@zag-js/tags-input@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/tags-input@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/auto-resize": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/form-utils": "npm:0.71.0" + "@zag-js/interact-outside": "npm:0.71.0" + "@zag-js/live-region": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/5671425f00b71822fefe6e94b05d19b576419defbbb223e4afe201f663d017b97343440511f85656490c96aacfed5ee87a5fc9130aa1eefb709e33b6ae756b45 + languageName: node + linkType: hard + +"@zag-js/text-selection@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/text-selection@npm:0.71.0" + dependencies: + "@zag-js/dom-query": "npm:0.71.0" + checksum: 10c0/ab27485cf3aa2c4943826c60af240165d3a0981ea064d69462f10fc714548d555d6d544bf8a9afaaf32009cefd85b9ada7762ccb7d6d5b9031378c5fa19486f3 + languageName: node + linkType: hard + +"@zag-js/time-picker@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/time-picker@npm:0.71.0" + dependencies: + "@internationalized/date": "npm:3.5.5" + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dismissable": "npm:0.71.0" + "@zag-js/dom-event": "npm:^0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/popper": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/5f6e113d5aff88855f8e36385cc8273a5024408d8852520569f89ae8f85932e8297d377ca29a1bd9a3a2458b0d1d58e297918ce4e10e06aa207d226b0996d1ae + languageName: node + linkType: hard + +"@zag-js/timer@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/timer@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/24ca64e05c2c93f0d2619f4a00faf8d6488a2476b5cc253fd0a2bfedf30e234436f4791436c07e73b486bc14bc17f9d1afd51780cb7f065e1e8cfcdb2d9ef8e7 + languageName: node + linkType: hard + +"@zag-js/toast@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/toast@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dismissable": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/b82df2211fd95fa13451d04643e02ac11fe850adef4b1c4e244664ff9bbb2d108163dd2c282bdfdf9dcb44211849a97293d26c07e5d45802d1b0b825db97541a + languageName: node + linkType: hard + +"@zag-js/toggle-group@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/toggle-group@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/ee17c69190710272add5e5b5e80706cd208a702dc19917d6141dc26f6044a2d1ebe01d9e5614e8bb6c4f8a6d6b6c1bd8fd306790181474eb2dc5b88b8b8e8e16 + languageName: node + linkType: hard + +"@zag-js/tooltip@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/tooltip@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/focus-visible": "npm:0.71.0" + "@zag-js/popper": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/3b14a264cd78ab3c51c39aa5660ec667c68b4e13127e70f6ab5731bdb4feb27d58b867ed4d53651dd4ff6e2c23e5d0da9d78155ba841bbc1810b4dc13f30a242 + languageName: node + linkType: hard + +"@zag-js/tree-view@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/tree-view@npm:0.71.0" + dependencies: + "@zag-js/anatomy": "npm:0.71.0" + "@zag-js/core": "npm:0.71.0" + "@zag-js/dom-event": "npm:0.71.0" + "@zag-js/dom-query": "npm:0.71.0" + "@zag-js/types": "npm:0.71.0" + "@zag-js/utils": "npm:0.71.0" + checksum: 10c0/9f705d15452c80037527690682faa29f190d9b0b88821190246d7a4b3f641d83878a699315045cccc171c20ed4661e9598a10149228eae0397c7321db764ba02 + languageName: node + linkType: hard + +"@zag-js/types@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/types@npm:0.71.0" + dependencies: + csstype: "npm:3.1.3" + checksum: 10c0/68ddddbc8b9679cbe86124e625d417ef52999c807bfadc5e412b5355423be74ed1d0886c2120b361b3861198e0be5bd5c4e12e56579b3c4bc833159a118eb273 + languageName: node + linkType: hard + +"@zag-js/utils@npm:0.71.0": + version: 0.71.0 + resolution: "@zag-js/utils@npm:0.71.0" + checksum: 10c0/3b60280dea909023c7af791d09009ffd3ccb5ae0b84b2b98fb9872d04a38b4894a92e6872fa62509b2ebe53108c0b52c22f28673d83cee22515f9f5a5440e38d + languageName: node + linkType: hard + +"abbrev@npm:^2.0.0": + version: 2.0.0 + resolution: "abbrev@npm:2.0.0" + checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.0.0": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard + +"acorn@npm:^8.0.0, acorn@npm:^8.12.1": + version: 8.12.1 + resolution: "acorn@npm:8.12.1" + bin: + acorn: bin/acorn + checksum: 10c0/51fb26cd678f914e13287e886da2d7021f8c2bc0ccc95e03d3e0447ee278dd3b40b9c57dc222acd5881adcf26f3edc40901a4953403232129e3876793cd17386 + languageName: node + linkType: hard + +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": + version: 7.1.1 + resolution: "agent-base@npm:7.1.1" + dependencies: + debug: "npm:^4.3.4" + checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: "npm:^2.0.0" + indent-string: "npm:^4.0.0" + checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 + languageName: node + linkType: hard + +"ajv@npm:^8.11.0": + version: 8.17.1 + resolution: "ajv@npm:8.17.1" + dependencies: + fast-deep-equal: "npm:^3.1.3" + fast-uri: "npm:^3.0.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + checksum: 10c0/ec3ba10a573c6b60f94639ffc53526275917a2df6810e4ab5a6b959d87459f9ef3f00d5e7865b82677cb7d21590355b34da14d1d0b9c32d75f95a187e76fff35 + languageName: node + linkType: hard + +"ansi-align@npm:^3.0.1": + version: 3.0.1 + resolution: "ansi-align@npm:3.0.1" + dependencies: + string-width: "npm:^4.1.0" + checksum: 10c0/ad8b755a253a1bc8234eb341e0cec68a857ab18bf97ba2bda529e86f6e30460416523e0ec58c32e5c21f0ca470d779503244892873a5895dbd0c39c788e82467 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: "npm:^1.9.0" + checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + +"anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: "npm:~1.0.2" + checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"aria-hidden@npm:1.2.4": + version: 1.2.4 + resolution: "aria-hidden@npm:1.2.4" + dependencies: + tslib: "npm:^2.0.0" + checksum: 10c0/8abcab2e1432efc4db415e97cb3959649ddf52c8fc815d7384f43f3d3abf56f1c12852575d00df9a8927f421d7e0712652dd5f8db244ea57634344e29ecfc74a + languageName: node + linkType: hard + +"aria-query@npm:^5.3.0": + version: 5.3.2 + resolution: "aria-query@npm:5.3.2" + checksum: 10c0/003c7e3e2cff5540bf7a7893775fc614de82b0c5dde8ae823d47b7a28a9d4da1f7ed85f340bdb93d5649caa927755f0e31ecc7ab63edfdfc00c8ef07e505e03e + languageName: node + linkType: hard + +"array-iterate@npm:^2.0.0": + version: 2.0.1 + resolution: "array-iterate@npm:2.0.1" + checksum: 10c0/756c08334f95e290f03ab2141b034514af1311ef7b62f15b0f5ea6f8f3033ee9cc6a8f1c3e9ff4803d4d723cf992aa61460acf5fce884936972db966b1da287d + languageName: node + linkType: hard + +"astring@npm:^1.8.0": + version: 1.8.6 + resolution: "astring@npm:1.8.6" + bin: + astring: bin/astring + checksum: 10c0/31f09144597048c11072417959a412f208f8f95ba8dce408dfbc3367acb929f31fbcc00ed5eb61ccbf7c2f1173b9ac8bfcaaa37134a9455050c669b2b036ed88 + languageName: node + linkType: hard + +"astro-breadcrumbs@npm:^2.3.1": + version: 2.3.1 + resolution: "astro-breadcrumbs@npm:2.3.1" + peerDependencies: + astro: ^2.0.0-beta.0 || ^3.0.0 || ^4.0.0 + checksum: 10c0/5381f28a3ab457c36d84e4c65aa821463847c625efddb28bb3d3d30a2417c8a6dd8708c8b7d72d0f90e7090dde6d235e0cc618dd1fdf5d71242bb2fbb9f12f0b + languageName: node + linkType: hard + +"astro-pagefind@npm:^1.6.0": + version: 1.6.0 + resolution: "astro-pagefind@npm:1.6.0" + dependencies: + "@pagefind/default-ui": "npm:^1.0.3" + pagefind: "npm:^1.0.3" + sirv: "npm:^2.0.3" + peerDependencies: + astro: ^2.0.4 || ^3.0.0 || ^4.0.0 + checksum: 10c0/4ee30b5fdb229351a496a9bc21995b459dfd82091efd9f6e0281695f795fa47689253fefde46695af785d2dd278ba90b3e2b261a3a2ede49f7e27ee7d5070650 + languageName: node + linkType: hard + +"astro@npm:^4.14.5": + version: 4.14.5 + resolution: "astro@npm:4.14.5" + dependencies: + "@astrojs/compiler": "npm:^2.10.3" + "@astrojs/internal-helpers": "npm:0.4.1" + "@astrojs/markdown-remark": "npm:5.2.0" + "@astrojs/telemetry": "npm:3.1.0" + "@babel/core": "npm:^7.25.2" + "@babel/generator": "npm:^7.25.0" + "@babel/parser": "npm:^7.25.3" + "@babel/plugin-transform-react-jsx": "npm:^7.25.2" + "@babel/traverse": "npm:^7.25.3" + "@babel/types": "npm:^7.25.2" + "@oslojs/encoding": "npm:^0.4.1" + "@rollup/pluginutils": "npm:^5.1.0" + "@types/babel__core": "npm:^7.20.5" + "@types/cookie": "npm:^0.6.0" + acorn: "npm:^8.12.1" + aria-query: "npm:^5.3.0" + axobject-query: "npm:^4.1.0" + boxen: "npm:7.1.1" + ci-info: "npm:^4.0.0" + clsx: "npm:^2.1.1" + common-ancestor-path: "npm:^1.0.1" + cookie: "npm:^0.6.0" + cssesc: "npm:^3.0.0" + debug: "npm:^4.3.6" + deterministic-object-hash: "npm:^2.0.2" + devalue: "npm:^5.0.0" + diff: "npm:^5.2.0" + dlv: "npm:^1.1.3" + dset: "npm:^3.1.3" + es-module-lexer: "npm:^1.5.4" + esbuild: "npm:^0.21.5" + estree-walker: "npm:^3.0.3" + execa: "npm:^8.0.1" + fast-glob: "npm:^3.3.2" + flattie: "npm:^1.1.1" + github-slugger: "npm:^2.0.0" + gray-matter: "npm:^4.0.3" + html-escaper: "npm:^3.0.3" + http-cache-semantics: "npm:^4.1.1" + js-yaml: "npm:^4.1.0" + kleur: "npm:^4.1.5" + magic-string: "npm:^0.30.11" + micromatch: "npm:^4.0.7" + mrmime: "npm:^2.0.0" + neotraverse: "npm:^0.6.18" + ora: "npm:^8.0.1" + p-limit: "npm:^6.1.0" + p-queue: "npm:^8.0.1" + path-to-regexp: "npm:^6.2.2" + preferred-pm: "npm:^4.0.0" + prompts: "npm:^2.4.2" + rehype: "npm:^13.0.1" + semver: "npm:^7.6.3" + sharp: "npm:^0.33.3" + shiki: "npm:^1.14.1" + string-width: "npm:^7.2.0" + strip-ansi: "npm:^7.1.0" + tsconfck: "npm:^3.1.1" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.2" + vite: "npm:^5.4.1" + vitefu: "npm:^0.2.5" + which-pm: "npm:^3.0.0" + xxhash-wasm: "npm:^1.0.2" + yargs-parser: "npm:^21.1.1" + zod: "npm:^3.23.8" + zod-to-json-schema: "npm:^3.23.2" + zod-to-ts: "npm:^1.2.0" + dependenciesMeta: + sharp: + optional: true + bin: + astro: astro.js + checksum: 10c0/ede0b3d38bdb2135066e67c0830edac2f1737a3f34a707f17d12395f74d61e90b3fcaf70dfd31abb91c12c9d02fde748a28c7c4ca4038c2e7d5ad1bb5acb6a02 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d + languageName: node + linkType: hard + +"axobject-query@npm:^4.1.0": + version: 4.1.0 + resolution: "axobject-query@npm:4.1.0" + checksum: 10c0/c470e4f95008f232eadd755b018cb55f16c03ccf39c027b941cd8820ac6b68707ce5d7368a46756db4256fbc91bb4ead368f84f7fb034b2b7932f082f6dc0775 + languageName: node + linkType: hard + +"babel-plugin-jsx-dom-expressions@npm:^0.39.0": + version: 0.39.0 + resolution: "babel-plugin-jsx-dom-expressions@npm:0.39.0" + dependencies: + "@babel/helper-module-imports": "npm:7.18.6" + "@babel/plugin-syntax-jsx": "npm:^7.18.6" + "@babel/types": "npm:^7.20.7" + html-entities: "npm:2.3.3" + jest-diff: "npm:^29.7.0" + jsdom: "npm:^25.0.0" + validate-html-nesting: "npm:^1.2.1" + peerDependencies: + "@babel/core": ^7.20.12 + checksum: 10c0/52bc71239bba38f90dde464a60b304b4fcdcccfc0b169838346bbac0067bad23d5b190a09eaa5e69252da675b6ef525489dc6d6ca1d00695657b6936b93e1950 + languageName: node + linkType: hard + +"babel-preset-solid@npm:^1.8.4": + version: 1.9.0 + resolution: "babel-preset-solid@npm:1.9.0" + dependencies: + babel-plugin-jsx-dom-expressions: "npm:^0.39.0" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/7e209372b7006b73b758bcdcfe40ec6db38bda54b183650d8d061b6a10a6d0ca3f4bf051cd39a307aef5638c75c88da68a17e9f100ca25428a02c2cdcfe39c3d + languageName: node + linkType: hard + +"bail@npm:^2.0.0": + version: 2.0.2 + resolution: "bail@npm:2.0.2" + checksum: 10c0/25cbea309ef6a1f56214187004e8f34014eb015713ea01fa5b9b7e9e776ca88d0fdffd64143ac42dc91966c915a4b7b683411b56e14929fad16153fc026ffb8b + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"base-64@npm:^1.0.0": + version: 1.0.0 + resolution: "base-64@npm:1.0.0" + checksum: 10c0/d886cb3236cee0bed9f7075675748b59b32fad623ddb8ce1793c790306aa0f76a03238cad4b3fb398abda6527ce08a5588388533a4ccade0b97e82b9da660e28 + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.3.0 + resolution: "binary-extensions@npm:2.3.0" + checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 + languageName: node + linkType: hard + +"boxen@npm:7.1.1": + version: 7.1.1 + resolution: "boxen@npm:7.1.1" + dependencies: + ansi-align: "npm:^3.0.1" + camelcase: "npm:^7.0.1" + chalk: "npm:^5.2.0" + cli-boxes: "npm:^3.0.0" + string-width: "npm:^5.1.2" + type-fest: "npm:^2.13.0" + widest-line: "npm:^4.0.1" + wrap-ansi: "npm:^8.1.0" + checksum: 10c0/3a9891dc98ac40d582c9879e8165628258e2c70420c919e70fff0a53ccc7b42825e73cda6298199b2fbc1f41f5d5b93b492490ad2ae27623bed3897ddb4267f8 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:^3.0.3, braces@npm:~3.0.2": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"browserslist@npm:^4.23.1": + version: 4.23.3 + resolution: "browserslist@npm:4.23.3" + dependencies: + caniuse-lite: "npm:^1.0.30001646" + electron-to-chromium: "npm:^1.5.4" + node-releases: "npm:^2.0.18" + update-browserslist-db: "npm:^1.1.0" + bin: + browserslist: cli.js + checksum: 10c0/3063bfdf812815346447f4796c8f04601bf5d62003374305fd323c2a463e42776475bcc5309264e39bcf9a8605851e53560695991a623be988138b3ff8c66642 + languageName: node + linkType: hard + +"cacache@npm:^18.0.0": + version: 18.0.4 + resolution: "cacache@npm:18.0.4" + dependencies: + "@npmcli/fs": "npm:^3.1.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^4.0.0" + ssri: "npm:^10.0.0" + tar: "npm:^6.1.11" + unique-filename: "npm:^3.0.0" + checksum: 10c0/6c055bafed9de4f3dcc64ac3dc7dd24e863210902b7c470eb9ce55a806309b3efff78033e3d8b4f7dcc5d467f2db43c6a2857aaaf26f0094b8a351d44c42179f + languageName: node + linkType: hard + +"camelcase@npm:^7.0.1": + version: 7.0.1 + resolution: "camelcase@npm:7.0.1" + checksum: 10c0/3adfc9a0e96d51b3a2f4efe90a84dad3e206aaa81dfc664f1bd568270e1bf3b010aad31f01db16345b4ffe1910e16ab411c7273a19a859addd1b98ef7cf4cfbd + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001646": + version: 1.0.30001653 + resolution: "caniuse-lite@npm:1.0.30001653" + checksum: 10c0/7aedf037541c93744148f599daea93d46d1f93ab4347997189efa2d1f003af8eadd7e1e05347ef09261ac1dc635ce375b8c6c00796245fffb4120a124824a14f + languageName: node + linkType: hard + +"ccount@npm:^2.0.0": + version: 2.0.1 + resolution: "ccount@npm:2.0.1" + checksum: 10c0/3939b1664390174484322bc3f45b798462e6c07ee6384cb3d645e0aa2f318502d174845198c1561930e1d431087f74cf1fe291ae9a4722821a9f4ba67e574350 + languageName: node + linkType: hard + +"chalk@npm:^2.4.2": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: "npm:^3.2.1" + escape-string-regexp: "npm:^1.0.5" + supports-color: "npm:^5.3.0" + checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"chalk@npm:^5.2.0, chalk@npm:^5.3.0": + version: 5.3.0 + resolution: "chalk@npm:5.3.0" + checksum: 10c0/8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09 + languageName: node + linkType: hard + +"character-entities-html4@npm:^2.0.0": + version: 2.1.0 + resolution: "character-entities-html4@npm:2.1.0" + checksum: 10c0/fe61b553f083400c20c0b0fd65095df30a0b445d960f3bbf271536ae6c3ba676f39cb7af0b4bf2755812f08ab9b88f2feed68f9aebb73bb153f7a115fe5c6e40 + languageName: node + linkType: hard + +"character-entities-legacy@npm:^3.0.0": + version: 3.0.0 + resolution: "character-entities-legacy@npm:3.0.0" + checksum: 10c0/ec4b430af873661aa754a896a2b55af089b4e938d3d010fad5219299a6b6d32ab175142699ee250640678cd64bdecd6db3c9af0b8759ab7b155d970d84c4c7d1 + languageName: node + linkType: hard + +"character-entities@npm:^2.0.0": + version: 2.0.2 + resolution: "character-entities@npm:2.0.2" + checksum: 10c0/b0c645a45bcc90ff24f0e0140f4875a8436b8ef13b6bcd31ec02cfb2ca502b680362aa95386f7815bdc04b6464d48cf191210b3840d7c04241a149ede591a308 + languageName: node + linkType: hard + +"character-reference-invalid@npm:^2.0.0": + version: 2.0.1 + resolution: "character-reference-invalid@npm:2.0.1" + checksum: 10c0/2ae0dec770cd8659d7e8b0ce24392d83b4c2f0eb4a3395c955dce5528edd4cc030a794cfa06600fcdd700b3f2de2f9b8e40e309c0011c4180e3be64a0b42e6a1 + languageName: node + linkType: hard + +"chokidar@npm:^3.5.3": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 + languageName: node + linkType: hard + +"ci-info@npm:^4.0.0": + version: 4.0.0 + resolution: "ci-info@npm:4.0.0" + checksum: 10c0/ecc003e5b60580bd081d83dd61d398ddb8607537f916313e40af4667f9c92a1243bd8e8a591a5aa78e418afec245dbe8e90a0e26e39ca0825129a99b978dd3f9 + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 + languageName: node + linkType: hard + +"cli-boxes@npm:^3.0.0": + version: 3.0.0 + resolution: "cli-boxes@npm:3.0.0" + checksum: 10c0/4db3e8fbfaf1aac4fb3a6cbe5a2d3fa048bee741a45371b906439b9ffc821c6e626b0f108bdcd3ddf126a4a319409aedcf39a0730573ff050fdd7b6731e99fb9 + languageName: node + linkType: hard + +"cli-cursor@npm:^5.0.0": + version: 5.0.0 + resolution: "cli-cursor@npm:5.0.0" + dependencies: + restore-cursor: "npm:^5.0.0" + checksum: 10c0/7ec62f69b79f6734ab209a3e4dbdc8af7422d44d360a7cb1efa8a0887bbe466a6e625650c466fe4359aee44dbe2dc0b6994b583d40a05d0808a5cb193641d220 + languageName: node + linkType: hard + +"cli-spinners@npm:^2.9.2": + version: 2.9.2 + resolution: "cli-spinners@npm:2.9.2" + checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 + languageName: node + linkType: hard + +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 + languageName: node + linkType: hard + +"clsx@npm:^2.1.1": + version: 2.1.1 + resolution: "clsx@npm:2.1.1" + checksum: 10c0/c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839 + languageName: node + linkType: hard + +"collapse-white-space@npm:^2.0.0": + version: 2.1.0 + resolution: "collapse-white-space@npm:2.1.0" + checksum: 10c0/b2e2800f4ab261e62eb27a1fbe853378296e3a726d6695117ed033e82d61fb6abeae4ffc1465d5454499e237005de9cfc52c9562dc7ca4ac759b9a222ef14453 + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: "npm:1.1.3" + checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 + languageName: node + linkType: hard + +"color-name@npm:^1.0.0, color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"color-string@npm:^1.9.0": + version: 1.9.1 + resolution: "color-string@npm:1.9.1" + dependencies: + color-name: "npm:^1.0.0" + simple-swizzle: "npm:^0.2.2" + checksum: 10c0/b0bfd74c03b1f837f543898b512f5ea353f71630ccdd0d66f83028d1f0924a7d4272deb278b9aef376cacf1289b522ac3fb175e99895283645a2dc3a33af2404 + languageName: node + linkType: hard + +"color@npm:^4.2.3": + version: 4.2.3 + resolution: "color@npm:4.2.3" + dependencies: + color-convert: "npm:^2.0.1" + color-string: "npm:^1.9.0" + checksum: 10c0/7fbe7cfb811054c808349de19fb380252e5e34e61d7d168ec3353e9e9aacb1802674bddc657682e4e9730c2786592a4de6f8283e7e0d3870b829bb0b7b2f6118 + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + +"comma-separated-tokens@npm:^2.0.0": + version: 2.0.3 + resolution: "comma-separated-tokens@npm:2.0.3" + checksum: 10c0/91f90f1aae320f1755d6957ef0b864fe4f54737f3313bd95e0802686ee2ca38bff1dd381964d00ae5db42912dd1f4ae5c2709644e82706ffc6f6842a813cdd67 + languageName: node + linkType: hard + +"common-ancestor-path@npm:^1.0.1": + version: 1.0.1 + resolution: "common-ancestor-path@npm:1.0.1" + checksum: 10c0/390c08d2a67a7a106d39499c002d827d2874966d938012453fd7ca34cd306881e2b9d604f657fa7a8e6e4896d67f39ebc09bf1bfd8da8ff318e0fb7a8752c534 + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"cookie@npm:^0.6.0": + version: 0.6.0 + resolution: "cookie@npm:0.6.0" + checksum: 10c0/f2318b31af7a31b4ddb4a678d024514df5e705f9be5909a192d7f116cfb6d45cbacf96a473fa733faa95050e7cff26e7832bb3ef94751592f1387b71c8956686 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 + languageName: node + linkType: hard + +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: 10c0/6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 + languageName: node + linkType: hard + +"cssstyle@npm:^4.1.0": + version: 4.1.0 + resolution: "cssstyle@npm:4.1.0" + dependencies: + rrweb-cssom: "npm:^0.7.1" + checksum: 10c0/05c6597e5d3e0ec6b15221f2c0ce9a0443a46cc50a6089a3ba9ee1ac27f83ff86a445a8f95435137dadd859f091fc61b6d342abaf396d3c910471b5b33cfcbfa + languageName: node + linkType: hard + +"csstype@npm:3.1.3, csstype@npm:^3.1.0": + version: 3.1.3 + resolution: "csstype@npm:3.1.3" + checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 + languageName: node + linkType: hard + +"data-urls@npm:^5.0.0": + version: 5.0.0 + resolution: "data-urls@npm:5.0.0" + dependencies: + whatwg-mimetype: "npm:^4.0.0" + whatwg-url: "npm:^14.0.0" + checksum: 10c0/1b894d7d41c861f3a4ed2ae9b1c3f0909d4575ada02e36d3d3bc584bdd84278e20709070c79c3b3bff7ac98598cb191eb3e86a89a79ea4ee1ef360e1694f92ad + languageName: node + linkType: hard + +"debug@npm:4": + version: 4.3.7 + resolution: "debug@npm:4.3.7" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b + languageName: node + linkType: hard + +"debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.4, debug@npm:^4.3.6": + version: 4.3.6 + resolution: "debug@npm:4.3.6" + dependencies: + ms: "npm:2.1.2" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/3293416bff072389c101697d4611c402a6bacd1900ac20c0492f61a9cdd6b3b29750fc7f5e299f8058469ef60ff8fb79b86395a30374fbd2490113c1c7112285 + languageName: node + linkType: hard + +"decimal.js@npm:^10.4.3": + version: 10.4.3 + resolution: "decimal.js@npm:10.4.3" + checksum: 10c0/6d60206689ff0911f0ce968d40f163304a6c1bc739927758e6efc7921cfa630130388966f16bf6ef6b838cb33679fbe8e7a78a2f3c478afce841fd55ac8fb8ee + languageName: node + linkType: hard + +"decode-named-character-reference@npm:^1.0.0": + version: 1.0.2 + resolution: "decode-named-character-reference@npm:1.0.2" + dependencies: + character-entities: "npm:^2.0.0" + checksum: 10c0/66a9fc5d9b5385a2b3675c69ba0d8e893393d64057f7dbbb585265bb4fc05ec513d76943b8e5aac7d8016d20eea4499322cbf4cd6d54b466976b78f3a7587a4c + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 + languageName: node + linkType: hard + +"dequal@npm:^2.0.0": + version: 2.0.3 + resolution: "dequal@npm:2.0.3" + checksum: 10c0/f98860cdf58b64991ae10205137c0e97d384c3a4edc7f807603887b7c4b850af1224a33d88012009f150861cbee4fa2d322c4cc04b9313bee312e47f6ecaa888 + languageName: node + linkType: hard + +"detect-libc@npm:^2.0.3": + version: 2.0.3 + resolution: "detect-libc@npm:2.0.3" + checksum: 10c0/88095bda8f90220c95f162bf92cad70bd0e424913e655c20578600e35b91edc261af27531cf160a331e185c0ced93944bc7e09939143225f56312d7fd800fdb7 + languageName: node + linkType: hard + +"deterministic-object-hash@npm:^2.0.2": + version: 2.0.2 + resolution: "deterministic-object-hash@npm:2.0.2" + dependencies: + base-64: "npm:^1.0.0" + checksum: 10c0/072010ec12981ba8d6018a6bc540aa66aceb35f922fd5c394d021b76f4489ffc447579dd29ce0f01186c3acb26d0655f3b8c81e302fccae8f2c47f393c7a4294 + languageName: node + linkType: hard + +"devalue@npm:^5.0.0": + version: 5.1.1 + resolution: "devalue@npm:5.1.1" + checksum: 10c0/f6717a856fd54216959abd341cb189e47a9b37d72d8419e055ae77567ff4ed0fb683b1ffb6a71067f645adae5991bffabe6468a3e2385937bff49273e71c1f51 + languageName: node + linkType: hard + +"devlop@npm:^1.0.0, devlop@npm:^1.1.0": + version: 1.1.0 + resolution: "devlop@npm:1.1.0" + dependencies: + dequal: "npm:^2.0.0" + checksum: 10c0/e0928ab8f94c59417a2b8389c45c55ce0a02d9ac7fd74ef62d01ba48060129e1d594501b77de01f3eeafc7cb00773819b0df74d96251cf20b31c5b3071f45c0e + languageName: node + linkType: hard + +"diff-sequences@npm:^29.6.3": + version: 29.6.3 + resolution: "diff-sequences@npm:29.6.3" + checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 + languageName: node + linkType: hard + +"diff@npm:^5.2.0": + version: 5.2.0 + resolution: "diff@npm:5.2.0" + checksum: 10c0/aed0941f206fe261ecb258dc8d0ceea8abbde3ace5827518ff8d302f0fc9cc81ce116c4d8f379151171336caf0516b79e01abdc1ed1201b6440d895a66689eb4 + languageName: node + linkType: hard + +"dlv@npm:^1.1.3": + version: 1.1.3 + resolution: "dlv@npm:1.1.3" + checksum: 10c0/03eb4e769f19a027fd5b43b59e8a05e3fd2100ac239ebb0bf9a745de35d449e2f25cfaf3aa3934664551d72856f4ae8b7822016ce5c42c2d27c18ae79429ec42 + languageName: node + linkType: hard + +"dset@npm:^3.1.3": + version: 3.1.4 + resolution: "dset@npm:3.1.4" + checksum: 10c0/b67bbd28dd8a539e90c15ffb61100eb64ef995c5270a124d4f99bbb53f4d82f55a051b731ba81f3215dd9dce2b4c8d69927dc20b3be1c5fc88bab159467aa438 + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.5.4": + version: 1.5.13 + resolution: "electron-to-chromium@npm:1.5.13" + checksum: 10c0/1d88ac39447e1d718c4296f92fe89836df4688daf2d362d6c49108136795f05a56dd9c950f1c6715e0395fa037c3b5f5ea686c543fdc90e6d74a005877c45022 + languageName: node + linkType: hard + +"emmet@npm:^2.4.3": + version: 2.4.7 + resolution: "emmet@npm:2.4.7" + dependencies: + "@emmetio/abbreviation": "npm:^2.3.3" + "@emmetio/css-abbreviation": "npm:^2.1.8" + checksum: 10c0/d68b2f988f6568555c47f80c9cae0f5e0bcb001cc9c044b4e2e0713f411cb58327d4819720290c67930b692a9b610406968eb04df2164e2a239c881464c04cdd + languageName: node + linkType: hard + +"emoji-regex@npm:^10.3.0": + version: 10.4.0 + resolution: "emoji-regex@npm:10.4.0" + checksum: 10c0/a3fcedfc58bfcce21a05a5f36a529d81e88d602100145fcca3dc6f795e3c8acc4fc18fe773fbf9b6d6e9371205edb3afa2668ec3473fa2aa7fd47d2a9d46482d + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"entities@npm:^4.4.0": + version: 4.5.0 + resolution: "entities@npm:4.5.0" + checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"es-module-lexer@npm:^1.5.4": + version: 1.5.4 + resolution: "es-module-lexer@npm:1.5.4" + checksum: 10c0/300a469488c2f22081df1e4c8398c78db92358496e639b0df7f89ac6455462aaf5d8893939087c1a1cbcbf20eed4610c70e0bcb8f3e4b0d80a5d2611c539408c + languageName: node + linkType: hard + +"esbuild@npm:^0.21.3, esbuild@npm:^0.21.5": + version: 0.21.5 + resolution: "esbuild@npm:0.21.5" + dependencies: + "@esbuild/aix-ppc64": "npm:0.21.5" + "@esbuild/android-arm": "npm:0.21.5" + "@esbuild/android-arm64": "npm:0.21.5" + "@esbuild/android-x64": "npm:0.21.5" + "@esbuild/darwin-arm64": "npm:0.21.5" + "@esbuild/darwin-x64": "npm:0.21.5" + "@esbuild/freebsd-arm64": "npm:0.21.5" + "@esbuild/freebsd-x64": "npm:0.21.5" + "@esbuild/linux-arm": "npm:0.21.5" + "@esbuild/linux-arm64": "npm:0.21.5" + "@esbuild/linux-ia32": "npm:0.21.5" + "@esbuild/linux-loong64": "npm:0.21.5" + "@esbuild/linux-mips64el": "npm:0.21.5" + "@esbuild/linux-ppc64": "npm:0.21.5" + "@esbuild/linux-riscv64": "npm:0.21.5" + "@esbuild/linux-s390x": "npm:0.21.5" + "@esbuild/linux-x64": "npm:0.21.5" + "@esbuild/netbsd-x64": "npm:0.21.5" + "@esbuild/openbsd-x64": "npm:0.21.5" + "@esbuild/sunos-x64": "npm:0.21.5" + "@esbuild/win32-arm64": "npm:0.21.5" + "@esbuild/win32-ia32": "npm:0.21.5" + "@esbuild/win32-x64": "npm:0.21.5" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/fa08508adf683c3f399e8a014a6382a6b65542213431e26206c0720e536b31c09b50798747c2a105a4bbba1d9767b8d3615a74c2f7bf1ddf6d836cd11eb672de + languageName: node + linkType: hard + +"escalade@npm:^3.1.1, escalade@npm:^3.1.2": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^5.0.0": + version: 5.0.0 + resolution: "escape-string-regexp@npm:5.0.0" + checksum: 10c0/6366f474c6f37a802800a435232395e04e9885919873e382b157ab7e8f0feb8fed71497f84a6f6a81a49aab41815522f5839112bd38026d203aea0c91622df95 + languageName: node + linkType: hard + +"esprima@npm:^4.0.0": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + +"estree-util-attach-comments@npm:^3.0.0": + version: 3.0.0 + resolution: "estree-util-attach-comments@npm:3.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/ee69bb5c45e2ad074725b90ed181c1c934b29d81bce4b0c7761431e83c4c6ab1b223a6a3d6a4fbeb92128bc5d5ee201d5dd36cf1770aa5e16a40b0cf36e8a1f1 + languageName: node + linkType: hard + +"estree-util-build-jsx@npm:^3.0.0": + version: 3.0.1 + resolution: "estree-util-build-jsx@npm:3.0.1" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + estree-walker: "npm:^3.0.0" + checksum: 10c0/274c119817b8e7caa14a9778f1e497fea56cdd2b01df1a1ed037f843178992d3afe85e0d364d485e1e2e239255763553d1b647b15e4a7ba50851bcb43dc6bf80 + languageName: node + linkType: hard + +"estree-util-is-identifier-name@npm:^3.0.0": + version: 3.0.0 + resolution: "estree-util-is-identifier-name@npm:3.0.0" + checksum: 10c0/d1881c6ed14bd588ebd508fc90bf2a541811dbb9ca04dec2f39d27dcaa635f85b5ed9bbbe7fc6fb1ddfca68744a5f7c70456b4b7108b6c4c52780631cc787c5b + languageName: node + linkType: hard + +"estree-util-to-js@npm:^2.0.0": + version: 2.0.0 + resolution: "estree-util-to-js@npm:2.0.0" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + astring: "npm:^1.8.0" + source-map: "npm:^0.7.0" + checksum: 10c0/ac88cb831401ef99e365f92f4af903755d56ae1ce0e0f0fb8ff66e678141f3d529194f0fb15f6c78cd7554c16fda36854df851d58f9e05cfab15bddf7a97cea0 + languageName: node + linkType: hard + +"estree-util-visit@npm:^2.0.0": + version: 2.0.0 + resolution: "estree-util-visit@npm:2.0.0" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + "@types/unist": "npm:^3.0.0" + checksum: 10c0/acda8b03cc8f890d79c7c7361f6c95331ba84b7ccc0c32b49f447fc30206b20002b37ffdfc97b6ad16e6fe065c63ecbae1622492e2b6b4775c15966606217f39 + languageName: node + linkType: hard + +"estree-walker@npm:^2.0.2": + version: 2.0.2 + resolution: "estree-walker@npm:2.0.2" + checksum: 10c0/53a6c54e2019b8c914dc395890153ffdc2322781acf4bd7d1a32d7aedc1710807bdcd866ac133903d5629ec601fbb50abe8c2e5553c7f5a0afdd9b6af6c945af + languageName: node + linkType: hard + +"estree-walker@npm:^3.0.0, estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d + languageName: node + linkType: hard + +"eventemitter3@npm:^5.0.1": + version: 5.0.1 + resolution: "eventemitter3@npm:5.0.1" + checksum: 10c0/4ba5c00c506e6c786b4d6262cfbce90ddc14c10d4667e5c83ae993c9de88aa856033994dd2b35b83e8dc1170e224e66a319fa80adc4c32adcd2379bbc75da814 + languageName: node + linkType: hard + +"execa@npm:^8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^8.0.1" + human-signals: "npm:^5.0.0" + is-stream: "npm:^3.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^5.1.0" + onetime: "npm:^6.0.0" + signal-exit: "npm:^4.1.0" + strip-final-newline: "npm:^3.0.0" + checksum: 10c0/2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 + languageName: node + linkType: hard + +"extend-shallow@npm:^2.0.1": + version: 2.0.1 + resolution: "extend-shallow@npm:2.0.1" + dependencies: + is-extendable: "npm:^0.1.0" + checksum: 10c0/ee1cb0a18c9faddb42d791b2d64867bd6cfd0f3affb711782eb6e894dd193e2934a7f529426aac7c8ddb31ac5d38000a00aa2caf08aa3dfc3e1c8ff6ba340bd9 + languageName: node + linkType: hard + +"extend@npm:^3.0.0": + version: 3.0.2 + resolution: "extend@npm:3.0.2" + checksum: 10c0/73bf6e27406e80aa3e85b0d1c4fd987261e628064e170ca781125c0b635a3dabad5e05adbf07595ea0cf1e6c5396cacb214af933da7cbaf24fe75ff14818e8f9 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.12, fast-glob@npm:^3.3.1, fast-glob@npm:^3.3.2": + version: 3.3.2 + resolution: "fast-glob@npm:3.3.2" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.4" + checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + languageName: node + linkType: hard + +"fast-uri@npm:^3.0.1": + version: 3.0.1 + resolution: "fast-uri@npm:3.0.1" + checksum: 10c0/3cd46d6006083b14ca61ffe9a05b8eef75ef87e9574b6f68f2e17ecf4daa7aaadeff44e3f0f7a0ef4e0f7e7c20fc07beec49ff14dc72d0b500f00386592f2d10 + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.17.1 + resolution: "fastq@npm:1.17.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/1095f16cea45fb3beff558bb3afa74ca7a9250f5a670b65db7ed585f92b4b48381445cd328b3d87323da81e43232b5d5978a8201bde84e0cd514310f1ea6da34 + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"find-up-simple@npm:^1.0.0": + version: 1.0.0 + resolution: "find-up-simple@npm:1.0.0" + checksum: 10c0/de1ad5e55c8c162f5600fe3297bb55a3da5cd9cb8c6755e463ec1d52c4c15a84e312a68397fb5962d13263b3dbd4ea294668c465ccacc41291d7cc97588769f9 + languageName: node + linkType: hard + +"find-up@npm:^4.0.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" + dependencies: + locate-path: "npm:^5.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/0406ee89ebeefa2d507feb07ec366bebd8a6167ae74aa4e34fb4c4abd06cf782a3ce26ae4194d70706f72182841733f00551c209fe575cb00bd92104056e78c1 + languageName: node + linkType: hard + +"find-yarn-workspace-root2@npm:1.2.16": + version: 1.2.16 + resolution: "find-yarn-workspace-root2@npm:1.2.16" + dependencies: + micromatch: "npm:^4.0.2" + pkg-dir: "npm:^4.2.0" + checksum: 10c0/d576067c7823de517d71831eafb5f6dc60554335c2d14445708f2698551b234f89c976a7f259d9355a44e417c49e7a93b369d0474579af02bbe2498f780c92d3 + languageName: node + linkType: hard + +"flattie@npm:^1.1.1": + version: 1.1.1 + resolution: "flattie@npm:1.1.1" + checksum: 10c0/a8f8242c7af126cb2f1aa4a067af338fce609fc4c4df183c626fcc70a46c1878ce4aa88cd0dc8ef8f583ad4e7088a3b11ebeb6a62c9c97d75c0b1b0f08182ee3 + languageName: node + linkType: hard + +"focus-trap@npm:7.6.0": + version: 7.6.0 + resolution: "focus-trap@npm:7.6.0" + dependencies: + tabbable: "npm:^6.2.0" + checksum: 10c0/5d1cdefdc11ae97f2c7bcced5c0facfa9794e1ec7a9d8b6547f3f03b51de0423ab572666371f6632b2165613470ec8245daea836160319d52d7a6434e6847a23 + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.3.0 + resolution: "foreground-child@npm:3.3.0" + dependencies: + cross-spawn: "npm:^7.0.0" + signal-exit: "npm:^4.0.1" + checksum: 10c0/028f1d41000553fcfa6c4bb5c372963bf3d9bf0b1f25a87d1a6253014343fb69dfb1b42d9625d7cf44c8ba429940f3d0ff718b62105d4d4a4f6ef8ca0a53faa2 + languageName: node + linkType: hard + +"form-data@npm:^4.0.0": + version: 4.0.0 + resolution: "form-data@npm:4.0.0" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + mime-types: "npm:^2.1.12" + checksum: 10c0/cb6f3ac49180be03ff07ba3ff125f9eba2ff0b277fb33c7fc47569fc5e616882c5b1c69b9904c4c4187e97dd0419dd03b134174756f296dec62041e6527e2c6e + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde + languageName: node + linkType: hard + +"get-east-asian-width@npm:^1.0.0": + version: 1.2.0 + resolution: "get-east-asian-width@npm:1.2.0" + checksum: 10c0/914b1e217cf38436c24b4c60b4c45289e39a45bf9e65ef9fd343c2815a1a02b8a0215aeec8bf9c07c516089004b6e3826332481f40a09529fcadbf6e579f286b + languageName: node + linkType: hard + +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 + languageName: node + linkType: hard + +"github-slugger@npm:^2.0.0": + version: 2.0.0 + resolution: "github-slugger@npm:2.0.0" + checksum: 10c0/21b912b6b1e48f1e5a50b2292b48df0ff6abeeb0691b161b3d93d84f4ae6b1acd6ae23702e914af7ea5d441c096453cf0f621b72d57893946618d21dd1a1c486 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob@npm:^10.2.2, glob@npm:^10.3.10": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.5, graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"gray-matter@npm:^4.0.3": + version: 4.0.3 + resolution: "gray-matter@npm:4.0.3" + dependencies: + js-yaml: "npm:^3.13.1" + kind-of: "npm:^6.0.2" + section-matter: "npm:^1.0.0" + strip-bom-string: "npm:^1.0.0" + checksum: 10c0/e38489906dad4f162ca01e0dcbdbed96d1a53740cef446b9bf76d80bec66fa799af07776a18077aee642346c5e1365ed95e4c91854a12bf40ba0d4fb43a625a6 + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"hast-util-from-html@npm:^2.0.0, hast-util-from-html@npm:^2.0.1": + version: 2.0.3 + resolution: "hast-util-from-html@npm:2.0.3" + dependencies: + "@types/hast": "npm:^3.0.0" + devlop: "npm:^1.1.0" + hast-util-from-parse5: "npm:^8.0.0" + parse5: "npm:^7.0.0" + vfile: "npm:^6.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/993ef707c1a12474c8d4094fc9706a72826c660a7e308ea54c50ad893353d32e139b7cbc67510c2e82feac572b320e3b05aeb13d0f9c6302d61261f337b46764 + languageName: node + linkType: hard + +"hast-util-from-parse5@npm:^7.0.0": + version: 7.1.2 + resolution: "hast-util-from-parse5@npm:7.1.2" + dependencies: + "@types/hast": "npm:^2.0.0" + "@types/unist": "npm:^2.0.0" + hastscript: "npm:^7.0.0" + property-information: "npm:^6.0.0" + vfile: "npm:^5.0.0" + vfile-location: "npm:^4.0.0" + web-namespaces: "npm:^2.0.0" + checksum: 10c0/c1002816d0235ff0a1e888d71c191d3ecfbaba510aaef86eec00edcba8803a3e0ad901bb0e5430a9d2aee2d52c31aabacae8282394dc519c333017a46c68d1c8 + languageName: node + linkType: hard + +"hast-util-from-parse5@npm:^8.0.0": + version: 8.0.1 + resolution: "hast-util-from-parse5@npm:8.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + devlop: "npm:^1.0.0" + hastscript: "npm:^8.0.0" + property-information: "npm:^6.0.0" + vfile: "npm:^6.0.0" + vfile-location: "npm:^5.0.0" + web-namespaces: "npm:^2.0.0" + checksum: 10c0/4a30bb885cff1f0e023c429ae3ece73fe4b03386f07234bf23f5555ca087c2573ff4e551035b417ed7615bde559f394cdaf1db2b91c3b7f0575f3563cd238969 + languageName: node + linkType: hard + +"hast-util-heading-rank@npm:^2.1.1": + version: 2.1.1 + resolution: "hast-util-heading-rank@npm:2.1.1" + dependencies: + "@types/hast": "npm:^2.0.0" + checksum: 10c0/e1451ae71ea4b524aae1e772063dabb44c13d812de198d6a2841d5d5425c64414d0a81df745bde00f1393b4cbc6990b91b5614f4f895183120ee418fa50ed2c7 + languageName: node + linkType: hard + +"hast-util-heading@npm:^2.0.1": + version: 2.0.1 + resolution: "hast-util-heading@npm:2.0.1" + dependencies: + "@types/hast": "npm:^2.0.0" + hast-util-is-element: "npm:^2.0.0" + checksum: 10c0/dcbc57ce85caa47af95166a4d3d28413c88a016999c35d1b64b456e07cff6030afe9d0ad7f848978e486e6ce420e664e4d4dd33c3f64edbfaff6746841ae80b5 + languageName: node + linkType: hard + +"hast-util-is-element@npm:^2.0.0": + version: 2.1.3 + resolution: "hast-util-is-element@npm:2.1.3" + dependencies: + "@types/hast": "npm:^2.0.0" + "@types/unist": "npm:^2.0.0" + checksum: 10c0/a1f22d96a24aba39e85fc52b4f7248d66fd2fd60c0fcf9cdb0644aad92a315b22eeffe434f63791077a69196e30af629d80a04ddcedc344ca88c021bc8af19c7 + languageName: node + linkType: hard + +"hast-util-is-element@npm:^3.0.0": + version: 3.0.0 + resolution: "hast-util-is-element@npm:3.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/f5361e4c9859c587ca8eb0d8343492f3077ccaa0f58a44cd09f35d5038f94d65152288dcd0c19336ef2c9491ec4d4e45fde2176b05293437021570aa0bc3613b + languageName: node + linkType: hard + +"hast-util-parse-selector@npm:^3.0.0": + version: 3.1.1 + resolution: "hast-util-parse-selector@npm:3.1.1" + dependencies: + "@types/hast": "npm:^2.0.0" + checksum: 10c0/34ac1707a477fd9764e328087163f1f21857bdb0f8d425bf41f6def7baf840e50e4bca2eb03072e3da4e39856de28893c4b688dcba0cc305160d53afcece4df4 + languageName: node + linkType: hard + +"hast-util-parse-selector@npm:^4.0.0": + version: 4.0.0 + resolution: "hast-util-parse-selector@npm:4.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/5e98168cb44470dc274aabf1a28317e4feb09b1eaf7a48bbaa8c1de1b43a89cd195cb1284e535698e658e3ec26ad91bc5e52c9563c36feb75abbc68aaf68fb9f + languageName: node + linkType: hard + +"hast-util-raw@npm:^7.0.0": + version: 7.2.3 + resolution: "hast-util-raw@npm:7.2.3" + dependencies: + "@types/hast": "npm:^2.0.0" + "@types/parse5": "npm:^6.0.0" + hast-util-from-parse5: "npm:^7.0.0" + hast-util-to-parse5: "npm:^7.0.0" + html-void-elements: "npm:^2.0.0" + parse5: "npm:^6.0.0" + unist-util-position: "npm:^4.0.0" + unist-util-visit: "npm:^4.0.0" + vfile: "npm:^5.0.0" + web-namespaces: "npm:^2.0.0" + zwitch: "npm:^2.0.0" + checksum: 10c0/c7bf994938cbc1acaaeb337f99773773b51ad77695b559c6352cba5c35b26610e6de2936b5086ef8bc53b436dd8032a3860e7357f28b6bb0365f751919745398 + languageName: node + linkType: hard + +"hast-util-raw@npm:^9.0.0": + version: 9.0.4 + resolution: "hast-util-raw@npm:9.0.4" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + "@ungap/structured-clone": "npm:^1.0.0" + hast-util-from-parse5: "npm:^8.0.0" + hast-util-to-parse5: "npm:^8.0.0" + html-void-elements: "npm:^3.0.0" + mdast-util-to-hast: "npm:^13.0.0" + parse5: "npm:^7.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + web-namespaces: "npm:^2.0.0" + zwitch: "npm:^2.0.0" + checksum: 10c0/03d0fe7ba8bd75c9ce81f829650b19b78917bbe31db70d36bf6f136842496c3474e3bb1841f2d30dafe1f6b561a89a524185492b9a93d40b131000743c0d7998 + languageName: node + linkType: hard + +"hast-util-to-estree@npm:^3.0.0": + version: 3.1.0 + resolution: "hast-util-to-estree@npm:3.1.0" + dependencies: + "@types/estree": "npm:^1.0.0" + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + comma-separated-tokens: "npm:^2.0.0" + devlop: "npm:^1.0.0" + estree-util-attach-comments: "npm:^3.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + hast-util-whitespace: "npm:^3.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + property-information: "npm:^6.0.0" + space-separated-tokens: "npm:^2.0.0" + style-to-object: "npm:^0.4.0" + unist-util-position: "npm:^5.0.0" + zwitch: "npm:^2.0.0" + checksum: 10c0/9003a8bac26a4580d5fc9f2a271d17330dd653266425e9f5539feecd2f7538868d6630a18f70698b8b804bf14c306418a3f4ab3119bb4692aca78b0c08b1291e + languageName: node + linkType: hard + +"hast-util-to-html@npm:^8.0.0": + version: 8.0.4 + resolution: "hast-util-to-html@npm:8.0.4" + dependencies: + "@types/hast": "npm:^2.0.0" + "@types/unist": "npm:^2.0.0" + ccount: "npm:^2.0.0" + comma-separated-tokens: "npm:^2.0.0" + hast-util-raw: "npm:^7.0.0" + hast-util-whitespace: "npm:^2.0.0" + html-void-elements: "npm:^2.0.0" + property-information: "npm:^6.0.0" + space-separated-tokens: "npm:^2.0.0" + stringify-entities: "npm:^4.0.0" + zwitch: "npm:^2.0.4" + checksum: 10c0/a9dd87cdd710dcd151d144152ec6d2c6d20377b8258b31776e1387868fab8e3e0552d237c337d84dc94407b935a47e2e344b1cf8bd3ce16541c934004879c33f + languageName: node + linkType: hard + +"hast-util-to-html@npm:^9.0.0, hast-util-to-html@npm:^9.0.1": + version: 9.0.3 + resolution: "hast-util-to-html@npm:9.0.3" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + ccount: "npm:^2.0.0" + comma-separated-tokens: "npm:^2.0.0" + hast-util-whitespace: "npm:^3.0.0" + html-void-elements: "npm:^3.0.0" + mdast-util-to-hast: "npm:^13.0.0" + property-information: "npm:^6.0.0" + space-separated-tokens: "npm:^2.0.0" + stringify-entities: "npm:^4.0.0" + zwitch: "npm:^2.0.4" + checksum: 10c0/af938a03034727f6c944d3855732d72f71a3bcd920d36b9ba3e083df2217faf81713740934db64673aca69d76b60abe80052e47c0702323fd0bd5dce03b67b8d + languageName: node + linkType: hard + +"hast-util-to-jsx-runtime@npm:^2.0.0": + version: 2.3.0 + resolution: "hast-util-to-jsx-runtime@npm:2.3.0" + dependencies: + "@types/estree": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + comma-separated-tokens: "npm:^2.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + hast-util-whitespace: "npm:^3.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + property-information: "npm:^6.0.0" + space-separated-tokens: "npm:^2.0.0" + style-to-object: "npm:^1.0.0" + unist-util-position: "npm:^5.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/df7a36dcc792df7667a54438f044b721753d5e09692606d23bf7336bf4651670111fe7728eebbf9f0e4f96ab3346a05bb23037fa1b1d115482b3bc5bde8b6912 + languageName: node + linkType: hard + +"hast-util-to-parse5@npm:^7.0.0": + version: 7.1.0 + resolution: "hast-util-to-parse5@npm:7.1.0" + dependencies: + "@types/hast": "npm:^2.0.0" + comma-separated-tokens: "npm:^2.0.0" + property-information: "npm:^6.0.0" + space-separated-tokens: "npm:^2.0.0" + web-namespaces: "npm:^2.0.0" + zwitch: "npm:^2.0.0" + checksum: 10c0/2a96302b8f25fa2d5b657a94bb20a3d9a1a81e66c2f81582a242c5634dd850e3bd95313a7471eef8282b597f2129551fef5a1631f4ce14c41aab646281b339a0 + languageName: node + linkType: hard + +"hast-util-to-parse5@npm:^8.0.0": + version: 8.0.0 + resolution: "hast-util-to-parse5@npm:8.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + comma-separated-tokens: "npm:^2.0.0" + devlop: "npm:^1.0.0" + property-information: "npm:^6.0.0" + space-separated-tokens: "npm:^2.0.0" + web-namespaces: "npm:^2.0.0" + zwitch: "npm:^2.0.0" + checksum: 10c0/3c0c7fba026e0c4be4675daf7277f9ff22ae6da801435f1b7104f7740de5422576f1c025023c7b3df1d0a161e13a04c6ab8f98ada96eb50adb287b537849a2bd + languageName: node + linkType: hard + +"hast-util-to-text@npm:^4.0.2": + version: 4.0.2 + resolution: "hast-util-to-text@npm:4.0.2" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/unist": "npm:^3.0.0" + hast-util-is-element: "npm:^3.0.0" + unist-util-find-after: "npm:^5.0.0" + checksum: 10c0/93ecc10e68fe5391c6e634140eb330942e71dea2724c8e0c647c73ed74a8ec930a4b77043b5081284808c96f73f2bee64ee416038ece75a63a467e8d14f09946 + languageName: node + linkType: hard + +"hast-util-whitespace@npm:^2.0.0": + version: 2.0.1 + resolution: "hast-util-whitespace@npm:2.0.1" + checksum: 10c0/dcf6ebab091c802ffa7bb3112305c7631c15adb6c07a258f5528aefbddf82b4e162c8310ef426c48dc1dc623982cc33920e6dde5a50015d307f2778dcf6c2487 + languageName: node + linkType: hard + +"hast-util-whitespace@npm:^3.0.0": + version: 3.0.0 + resolution: "hast-util-whitespace@npm:3.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + checksum: 10c0/b898bc9fe27884b272580d15260b6bbdabe239973a147e97fa98c45fa0ffec967a481aaa42291ec34fb56530dc2d484d473d7e2bae79f39c83f3762307edfea8 + languageName: node + linkType: hard + +"hastscript@npm:^7.0.0": + version: 7.2.0 + resolution: "hastscript@npm:7.2.0" + dependencies: + "@types/hast": "npm:^2.0.0" + comma-separated-tokens: "npm:^2.0.0" + hast-util-parse-selector: "npm:^3.0.0" + property-information: "npm:^6.0.0" + space-separated-tokens: "npm:^2.0.0" + checksum: 10c0/579912b03ff4a5b19eb609df7403c6dba2505ef1a1e2bc47cbf467cbd7cffcd51df40e74d882de1ccdda40aaf18487f82619eb9cb9f2077cba778017e95e868e + languageName: node + linkType: hard + +"hastscript@npm:^8.0.0": + version: 8.0.0 + resolution: "hastscript@npm:8.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + comma-separated-tokens: "npm:^2.0.0" + hast-util-parse-selector: "npm:^4.0.0" + property-information: "npm:^6.0.0" + space-separated-tokens: "npm:^2.0.0" + checksum: 10c0/f0b54bbdd710854b71c0f044612db0fe1b5e4d74fa2001633dc8c535c26033269f04f536f9fd5b03f234de1111808f9e230e9d19493bf919432bb24d541719e0 + languageName: node + linkType: hard + +"html-encoding-sniffer@npm:^4.0.0": + version: 4.0.0 + resolution: "html-encoding-sniffer@npm:4.0.0" + dependencies: + whatwg-encoding: "npm:^3.1.1" + checksum: 10c0/523398055dc61ac9b34718a719cb4aa691e4166f29187e211e1607de63dc25ac7af52ca7c9aead0c4b3c0415ffecb17326396e1202e2e86ff4bca4c0ee4c6140 + languageName: node + linkType: hard + +"html-entities@npm:2.3.3": + version: 2.3.3 + resolution: "html-entities@npm:2.3.3" + checksum: 10c0/a76cbdbb276d9499dc7ef800d23f3964254e659f04db51c8d1ff6abfe21992c69b7217ecfd6e3c16ff0aa027ba4261d77f0dba71f55639c16a325bbdf69c535d + languageName: node + linkType: hard + +"html-escaper@npm:^3.0.3": + version: 3.0.3 + resolution: "html-escaper@npm:3.0.3" + checksum: 10c0/a042fa4139127ff7546513e90ea39cc9161a1938ce90122dbc4260d4b7252c9aa8452f4509c0c2889901b8ae9a8699179150f1f99d3f80bcf7317573c5f08f4e + languageName: node + linkType: hard + +"html-void-elements@npm:^2.0.0": + version: 2.0.1 + resolution: "html-void-elements@npm:2.0.1" + checksum: 10c0/1079c9e9fdb3b6a2481f2a282098a0183f3d45bf2b9d76c7dfc1671ee1857d7bacdd04fd8c6e2418f5ff550c30cabf97a010fe31ec402d0c89189807b48e6d79 + languageName: node + linkType: hard + +"html-void-elements@npm:^3.0.0": + version: 3.0.0 + resolution: "html-void-elements@npm:3.0.0" + checksum: 10c0/a8b9ec5db23b7c8053876dad73a0336183e6162bf6d2677376d8b38d654fdc59ba74fdd12f8812688f7db6fad451210c91b300e472afc0909224e0a44c8610d2 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.2": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5": + version: 7.0.5 + resolution: "https-proxy-agent@npm:7.0.5" + dependencies: + agent-base: "npm:^7.0.2" + debug: "npm:4" + checksum: 10c0/2490e3acec397abeb88807db52cac59102d5ed758feee6df6112ab3ccd8325e8a1ce8bce6f4b66e5470eca102d31e425ace904242e4fa28dbe0c59c4bafa7b2c + languageName: node + linkType: hard + +"human-signals@npm:^5.0.0": + version: 5.0.0 + resolution: "human-signals@npm:5.0.0" + checksum: 10c0/5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 + languageName: node + linkType: hard + +"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"import-meta-resolve@npm:^4.1.0": + version: 4.1.0 + resolution: "import-meta-resolve@npm:4.1.0" + checksum: 10c0/42f3284b0460635ddf105c4ad99c6716099c3ce76702602290ad5cbbcd295700cbc04e4bdf47bacf9e3f1a4cec2e1ff887dabc20458bef398f9de22ddff45ef5 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f + languageName: node + linkType: hard + +"inline-style-parser@npm:0.1.1": + version: 0.1.1 + resolution: "inline-style-parser@npm:0.1.1" + checksum: 10c0/08832a533f51a1e17619f2eabf2f5ec5e956d6dcba1896351285c65df022c9420de61d73256e1dca8015a52abf96cc84ddc3b73b898b22de6589d3962b5e501b + languageName: node + linkType: hard + +"inline-style-parser@npm:0.2.3": + version: 0.2.3 + resolution: "inline-style-parser@npm:0.2.3" + checksum: 10c0/21b46d39a39c8aeaa738346650469388e8a412dd276ab75aa3d85b1883311e89c86a1fdbb8c2f1958f4c979bae74067f6ba0385455b125faf4fa77e1dbb94799 + languageName: node + linkType: hard + +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc + languageName: node + linkType: hard + +"is-alphabetical@npm:^2.0.0": + version: 2.0.1 + resolution: "is-alphabetical@npm:2.0.1" + checksum: 10c0/932367456f17237533fd1fc9fe179df77957271020b83ea31da50e5cc472d35ef6b5fb8147453274ffd251134472ce24eb6f8d8398d96dee98237cdb81a6c9a7 + languageName: node + linkType: hard + +"is-alphanumerical@npm:^2.0.0": + version: 2.0.1 + resolution: "is-alphanumerical@npm:2.0.1" + dependencies: + is-alphabetical: "npm:^2.0.0" + is-decimal: "npm:^2.0.0" + checksum: 10c0/4b35c42b18e40d41378293f82a3ecd9de77049b476f748db5697c297f686e1e05b072a6aaae2d16f54d2a57f85b00cbbe755c75f6d583d1c77d6657bd0feb5a2 + languageName: node + linkType: hard + +"is-arrayish@npm:^0.3.1": + version: 0.3.2 + resolution: "is-arrayish@npm:0.3.2" + checksum: 10c0/f59b43dc1d129edb6f0e282595e56477f98c40278a2acdc8b0a5c57097c9eff8fe55470493df5775478cf32a4dc8eaf6d3a749f07ceee5bc263a78b2434f6a54 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + +"is-buffer@npm:^2.0.0": + version: 2.0.5 + resolution: "is-buffer@npm:2.0.5" + checksum: 10c0/e603f6fced83cf94c53399cff3bda1a9f08e391b872b64a73793b0928be3e5f047f2bcece230edb7632eaea2acdbfcb56c23b33d8a20c820023b230f1485679a + languageName: node + linkType: hard + +"is-decimal@npm:^2.0.0": + version: 2.0.1 + resolution: "is-decimal@npm:2.0.1" + checksum: 10c0/8085dd66f7d82f9de818fba48b9e9c0429cb4291824e6c5f2622e96b9680b54a07a624cfc663b24148b8e853c62a1c987cfe8b0b5a13f5156991afaf6736e334 + languageName: node + linkType: hard + +"is-docker@npm:^3.0.0": + version: 3.0.0 + resolution: "is-docker@npm:3.0.0" + bin: + is-docker: cli.js + checksum: 10c0/d2c4f8e6d3e34df75a5defd44991b6068afad4835bb783b902fa12d13ebdb8f41b2a199dcb0b5ed2cb78bfee9e4c0bbdb69c2d9646f4106464674d3e697a5856 + languageName: node + linkType: hard + +"is-extendable@npm:^0.1.0": + version: 0.1.1 + resolution: "is-extendable@npm:0.1.1" + checksum: 10c0/dd5ca3994a28e1740d1e25192e66eed128e0b2ff161a7ea348e87ae4f616554b486854de423877a2a2c171d5f7cd6e8093b91f54533bc88a59ee1c9838c43879 + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-hexadecimal@npm:^2.0.0": + version: 2.0.1 + resolution: "is-hexadecimal@npm:2.0.1" + checksum: 10c0/3eb60fe2f1e2bbc760b927dcad4d51eaa0c60138cf7fc671803f66353ad90c301605b502c7ea4c6bb0548e1c7e79dfd37b73b632652e3b76030bba603a7e9626 + languageName: node + linkType: hard + +"is-inside-container@npm:^1.0.0": + version: 1.0.0 + resolution: "is-inside-container@npm:1.0.0" + dependencies: + is-docker: "npm:^3.0.0" + bin: + is-inside-container: cli.js + checksum: 10c0/a8efb0e84f6197e6ff5c64c52890fa9acb49b7b74fed4da7c95383965da6f0fa592b4dbd5e38a79f87fc108196937acdbcd758fcefc9b140e479b39ce1fcd1cd + languageName: node + linkType: hard + +"is-interactive@npm:^2.0.0": + version: 2.0.0 + resolution: "is-interactive@npm:2.0.0" + checksum: 10c0/801c8f6064f85199dc6bf99b5dd98db3282e930c3bc197b32f2c5b89313bb578a07d1b8a01365c4348c2927229234f3681eb861b9c2c92bee72ff397390fa600 + languageName: node + linkType: hard + +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-plain-obj@npm:^4.0.0": + version: 4.1.0 + resolution: "is-plain-obj@npm:4.1.0" + checksum: 10c0/32130d651d71d9564dc88ba7e6fda0e91a1010a3694648e9f4f47bb6080438140696d3e3e15c741411d712e47ac9edc1a8a9de1fe76f3487b0d90be06ac9975e + languageName: node + linkType: hard + +"is-potential-custom-element-name@npm:^1.0.1": + version: 1.0.1 + resolution: "is-potential-custom-element-name@npm:1.0.1" + checksum: 10c0/b73e2f22bc863b0939941d369486d308b43d7aef1f9439705e3582bfccaa4516406865e32c968a35f97a99396dac84e2624e67b0a16b0a15086a785e16ce7db9 + languageName: node + linkType: hard + +"is-reference@npm:^3.0.0": + version: 3.0.2 + resolution: "is-reference@npm:3.0.2" + dependencies: + "@types/estree": "npm:*" + checksum: 10c0/652d31b405e8e8269071cee78fe874b072745012eba202c6dc86880fd603a65ae043e3160990ab4a0a4b33567cbf662eecf3bc6b3c2c1550e6c2b6cf885ce5aa + languageName: node + linkType: hard + +"is-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "is-stream@npm:3.0.0" + checksum: 10c0/eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8 + languageName: node + linkType: hard + +"is-unicode-supported@npm:^1.3.0": + version: 1.3.0 + resolution: "is-unicode-supported@npm:1.3.0" + checksum: 10c0/b8674ea95d869f6faabddc6a484767207058b91aea0250803cbf1221345cb0c56f466d4ecea375dc77f6633d248d33c47bd296fb8f4cdba0b4edba8917e83d8a + languageName: node + linkType: hard + +"is-unicode-supported@npm:^2.0.0": + version: 2.1.0 + resolution: "is-unicode-supported@npm:2.1.0" + checksum: 10c0/a0f53e9a7c1fdbcf2d2ef6e40d4736fdffff1c9f8944c75e15425118ff3610172c87bf7bc6c34d3903b04be59790bb2212ddbe21ee65b5a97030fc50370545a5 + languageName: node + linkType: hard + +"is-what@npm:^4.1.8": + version: 4.1.16 + resolution: "is-what@npm:4.1.16" + checksum: 10c0/611f1947776826dcf85b57cfb7bd3b3ea6f4b94a9c2f551d4a53f653cf0cb9d1e6518846648256d46ee6c91d114b6d09d2ac8a07306f7430c5900f87466aae5b + languageName: node + linkType: hard + +"is-wsl@npm:^3.0.0": + version: 3.1.0 + resolution: "is-wsl@npm:3.1.0" + dependencies: + is-inside-container: "npm:^1.0.0" + checksum: 10c0/d3317c11995690a32c362100225e22ba793678fe8732660c6de511ae71a0ff05b06980cf21f98a6bf40d7be0e9e9506f859abe00a1118287d63e53d0a3d06947 + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + languageName: node + linkType: hard + +"jest-diff@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-diff@npm:29.7.0" + dependencies: + chalk: "npm:^4.0.0" + diff-sequences: "npm:^29.6.3" + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10c0/89a4a7f182590f56f526443dde69acefb1f2f0c9e59253c61d319569856c4931eae66b8a3790c443f529267a0ddba5ba80431c585deed81827032b2b2a1fc999 + languageName: node + linkType: hard + +"jest-get-type@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-get-type@npm:29.6.3" + checksum: 10c0/552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b + languageName: node + linkType: hard + +"js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"js-yaml@npm:^3.13.0, js-yaml@npm:^3.13.1": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" + dependencies: + argparse: "npm:^1.0.7" + esprima: "npm:^4.0.0" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + languageName: node + linkType: hard + +"jsdom@npm:^25.0.0": + version: 25.0.1 + resolution: "jsdom@npm:25.0.1" + dependencies: + cssstyle: "npm:^4.1.0" + data-urls: "npm:^5.0.0" + decimal.js: "npm:^10.4.3" + form-data: "npm:^4.0.0" + html-encoding-sniffer: "npm:^4.0.0" + http-proxy-agent: "npm:^7.0.2" + https-proxy-agent: "npm:^7.0.5" + is-potential-custom-element-name: "npm:^1.0.1" + nwsapi: "npm:^2.2.12" + parse5: "npm:^7.1.2" + rrweb-cssom: "npm:^0.7.1" + saxes: "npm:^6.0.0" + symbol-tree: "npm:^3.2.4" + tough-cookie: "npm:^5.0.0" + w3c-xmlserializer: "npm:^5.0.0" + webidl-conversions: "npm:^7.0.0" + whatwg-encoding: "npm:^3.1.1" + whatwg-mimetype: "npm:^4.0.0" + whatwg-url: "npm:^14.0.0" + ws: "npm:^8.18.0" + xml-name-validator: "npm:^5.0.0" + peerDependencies: + canvas: ^2.11.2 + peerDependenciesMeta: + canvas: + optional: true + checksum: 10c0/6bda32a6dfe4e37a30568bf51136bdb3ba9c0b72aadd6356280404275a34c9e097c8c25b5eb3c742e602623741e172da977ff456684befd77c9042ed9bf8c2b4 + languageName: node + linkType: hard + +"jsesc@npm:^2.5.1": + version: 2.5.2 + resolution: "jsesc@npm:2.5.2" + bin: + jsesc: bin/jsesc + checksum: 10c0/dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 + languageName: node + linkType: hard + +"json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"jsonc-parser@npm:^2.3.0": + version: 2.3.1 + resolution: "jsonc-parser@npm:2.3.1" + checksum: 10c0/b5e823612f6518a4d35e65d3c642e87b994c52a71b6d83d306d59f9b57003a1f6c64659808f0f1c3448991c28916d56faca45222f31ddb1a32effecdef0f0485 + languageName: node + linkType: hard + +"jsonc-parser@npm:^3.0.0": + version: 3.3.1 + resolution: "jsonc-parser@npm:3.3.1" + checksum: 10c0/269c3ae0a0e4f907a914bf334306c384aabb9929bd8c99f909275ebd5c2d3bc70b9bcd119ad794f339dec9f24b6a4ee9cd5a8ab2e6435e730ad4075388fc2ab6 + languageName: node + linkType: hard + +"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2": + version: 6.0.3 + resolution: "kind-of@npm:6.0.3" + checksum: 10c0/61cdff9623dabf3568b6445e93e31376bee1cdb93f8ba7033d86022c2a9b1791a1d9510e026e6465ebd701a6dd2f7b0808483ad8838341ac52f003f512e0b4c4 + languageName: node + linkType: hard + +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b + languageName: node + linkType: hard + +"kleur@npm:^4.1.5": + version: 4.1.5 + resolution: "kleur@npm:4.1.5" + checksum: 10c0/e9de6cb49657b6fa70ba2d1448fd3d691a5c4370d8f7bbf1c2f64c24d461270f2117e1b0afe8cb3114f13bbd8e51de158c2a224953960331904e636a5e4c0f2a + languageName: node + linkType: hard + +"klona@npm:2.0.6": + version: 2.0.6 + resolution: "klona@npm:2.0.6" + checksum: 10c0/94eed2c6c2ce99f409df9186a96340558897b3e62a85afdc1ee39103954d2ebe1c1c4e9fe2b0952771771fa96d70055ede8b27962a7021406374fdb695fd4d01 + languageName: node + linkType: hard + +"load-yaml-file@npm:^0.2.0": + version: 0.2.0 + resolution: "load-yaml-file@npm:0.2.0" + dependencies: + graceful-fs: "npm:^4.1.5" + js-yaml: "npm:^3.13.0" + pify: "npm:^4.0.1" + strip-bom: "npm:^3.0.0" + checksum: 10c0/e00ed43048c0648dfef7639129b6d7e5c2272bc36d2a50dd983dd495f3341a02cd2c40765afa01345f798d0d894e5ba53212449933e72ddfa4d3f7a48f822d2f + languageName: node + linkType: hard + +"locate-path@npm:^5.0.0": + version: 5.0.0 + resolution: "locate-path@npm:5.0.0" + dependencies: + p-locate: "npm:^4.1.0" + checksum: 10c0/33a1c5247e87e022f9713e6213a744557a3e9ec32c5d0b5efb10aa3a38177615bf90221a5592674857039c1a0fd2063b82f285702d37b792d973e9e72ace6c59 + languageName: node + linkType: hard + +"lodash@npm:4.17.21": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c + languageName: node + linkType: hard + +"log-symbols@npm:^6.0.0": + version: 6.0.0 + resolution: "log-symbols@npm:6.0.0" + dependencies: + chalk: "npm:^5.3.0" + is-unicode-supported: "npm:^1.3.0" + checksum: 10c0/36636cacedba8f067d2deb4aad44e91a89d9efb3ead27e1846e7b82c9a10ea2e3a7bd6ce28a7ca616bebc60954ff25c67b0f92d20a6a746bb3cc52c3701891f6 + languageName: node + linkType: hard + +"longest-streak@npm:^3.0.0": + version: 3.1.0 + resolution: "longest-streak@npm:3.1.0" + checksum: 10c0/7c2f02d0454b52834d1bcedef79c557bd295ee71fdabb02d041ff3aa9da48a90b5df7c0409156dedbc4df9b65da18742652aaea4759d6ece01f08971af6a7eaa + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 + languageName: node + linkType: hard + +"magic-string@npm:^0.30.11": + version: 0.30.11 + resolution: "magic-string@npm:0.30.11" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + checksum: 10c0/b9eb370773d0bd90ca11a848753409d8e5309b1ad56d2a1aa49d6649da710a6d2fe7237ad1a643c5a5d3800de2b9946ed9690acdfc00e6cc1aeafff3ab1752c4 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^13.0.0": + version: 13.0.1 + resolution: "make-fetch-happen@npm:13.0.1" + dependencies: + "@npmcli/agent": "npm:^2.0.0" + cacache: "npm:^18.0.0" + http-cache-semantics: "npm:^4.1.1" + is-lambda: "npm:^1.0.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^3.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^0.6.3" + proc-log: "npm:^4.2.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^10.0.0" + checksum: 10c0/df5f4dbb6d98153b751bccf4dc4cc500de85a96a9331db9805596c46aa9f99d9555983954e6c1266d9f981ae37a9e4647f42b9a4bb5466f867f4012e582c9e7e + languageName: node + linkType: hard + +"markdown-extensions@npm:^2.0.0": + version: 2.0.0 + resolution: "markdown-extensions@npm:2.0.0" + checksum: 10c0/406139da2aa0d5ebad86195c8e8c02412f873c452b4c087ae7bc767af37956141be449998223bb379eea179b5fd38dfa610602b6f29c22ddab5d51e627a7e41d + languageName: node + linkType: hard + +"markdown-table@npm:^3.0.0": + version: 3.0.3 + resolution: "markdown-table@npm:3.0.3" + checksum: 10c0/47433a3f31e4637a184e38e873ab1d2fadfb0106a683d466fec329e99a2d8dfa09f091fa42202c6f13ec94aef0199f449a684b28042c636f2edbc1b7e1811dcd + languageName: node + linkType: hard + +"marked-alert@npm:^2.0.2": + version: 2.1.0 + resolution: "marked-alert@npm:2.1.0" + peerDependencies: + marked: ">=7.0.0" + checksum: 10c0/36f684c30672f39c819dd7c225dc9841635da1df94cf0724ae84c468044fec1c9d06d55e6f6bb565992331e5ce1fd8dcf119c3ed7897b927fac4f4e884d51816 + languageName: node + linkType: hard + +"marked@npm:^14.1.0": + version: 14.1.2 + resolution: "marked@npm:14.1.2" + bin: + marked: bin/marked.js + checksum: 10c0/fb636a97a2f11acf4cca092836020281ff3bc573f3295b4f4639135a6188e4815b910ec8572eb5686e25580c9c383daf605b4a00fcb5e5626e5c65914755e4bd + languageName: node + linkType: hard + +"mdast-util-definitions@npm:^6.0.0": + version: 6.0.0 + resolution: "mdast-util-definitions@npm:6.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + unist-util-visit: "npm:^5.0.0" + checksum: 10c0/a2e0e51122a3eff4f35379de2c50ee3d8a89bea58488a390b1b40ada95727eb769f87d4bc885e5935d61820d19e0567bc047876db302a2139f3a29668b612b80 + languageName: node + linkType: hard + +"mdast-util-find-and-replace@npm:^3.0.0": + version: 3.0.1 + resolution: "mdast-util-find-and-replace@npm:3.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + escape-string-regexp: "npm:^5.0.0" + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/1faca98c4ee10a919f23b8cc6d818e5bb6953216a71dfd35f51066ed5d51ef86e5063b43dcfdc6061cd946e016a9f0d44a1dccadd58452cf4ed14e39377f00cb + languageName: node + linkType: hard + +"mdast-util-from-markdown@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-from-markdown@npm:2.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + decode-named-character-reference: "npm:^1.0.0" + devlop: "npm:^1.0.0" + mdast-util-to-string: "npm:^4.0.0" + micromark: "npm:^4.0.0" + micromark-util-decode-numeric-character-reference: "npm:^2.0.0" + micromark-util-decode-string: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-stringify-position: "npm:^4.0.0" + checksum: 10c0/496596bc6419200ff6258531a0ebcaee576a5c169695f5aa296a79a85f2a221bb9247d565827c709a7c2acfb56ae3c3754bf483d86206617bd299a9658c8121c + languageName: node + linkType: hard + +"mdast-util-gfm-autolink-literal@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-gfm-autolink-literal@npm:2.0.1" + dependencies: + "@types/mdast": "npm:^4.0.0" + ccount: "npm:^2.0.0" + devlop: "npm:^1.0.0" + mdast-util-find-and-replace: "npm:^3.0.0" + micromark-util-character: "npm:^2.0.0" + checksum: 10c0/963cd22bd42aebdec7bdd0a527c9494d024d1ad0739c43dc040fee35bdfb5e29c22564330a7418a72b5eab51d47a6eff32bc0255ef3ccb5cebfe8970e91b81b6 + languageName: node + linkType: hard + +"mdast-util-gfm-footnote@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-footnote@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.1.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + checksum: 10c0/c673b22bea24740235e74cfd66765b41a2fa540334f7043fa934b94938b06b7d3c93f2d3b33671910c5492b922c0cc98be833be3b04cfed540e0679650a6d2de + languageName: node + linkType: hard + +"mdast-util-gfm-strikethrough@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-strikethrough@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/b053e93d62c7545019bd914271ea9e5667ad3b3b57d16dbf68e56fea39a7e19b4a345e781312714eb3d43fdd069ff7ee22a3ca7f6149dfa774554f19ce3ac056 + languageName: node + linkType: hard + +"mdast-util-gfm-table@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-table@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + markdown-table: "npm:^3.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/128af47c503a53bd1c79f20642561e54a510ad5e2db1e418d28fefaf1294ab839e6c838e341aef5d7e404f9170b9ca3d1d89605f234efafde93ee51174a6e31e + languageName: node + linkType: hard + +"mdast-util-gfm-task-list-item@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-gfm-task-list-item@npm:2.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/258d725288482b636c0a376c296431390c14b4f29588675297cb6580a8598ed311fc73ebc312acfca12cc8546f07a3a285a53a3b082712e2cbf5c190d677d834 + languageName: node + linkType: hard + +"mdast-util-gfm@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-gfm@npm:3.0.0" + dependencies: + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-gfm-autolink-literal: "npm:^2.0.0" + mdast-util-gfm-footnote: "npm:^2.0.0" + mdast-util-gfm-strikethrough: "npm:^2.0.0" + mdast-util-gfm-table: "npm:^2.0.0" + mdast-util-gfm-task-list-item: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/91596fe9bf3e4a0c546d0c57f88106c17956d9afbe88ceb08308e4da2388aff64489d649ddad599caecfdf755fc3ae4c9b82c219b85281bc0586b67599881fca + languageName: node + linkType: hard + +"mdast-util-mdx-expression@npm:^2.0.0": + version: 2.0.0 + resolution: "mdast-util-mdx-expression@npm:2.0.0" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/512848cbc44b9dc7cffc1bb3f95f7e67f0d6562870e56a67d25647f475d411e136b915ba417c8069fb36eac1839d0209fb05fb323d377f35626a82fcb0879363 + languageName: node + linkType: hard + +"mdast-util-mdx-jsx@npm:^3.0.0": + version: 3.1.2 + resolution: "mdast-util-mdx-jsx@npm:3.1.2" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + ccount: "npm:^2.0.0" + devlop: "npm:^1.1.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + parse-entities: "npm:^4.0.0" + stringify-entities: "npm:^4.0.0" + unist-util-remove-position: "npm:^5.0.0" + unist-util-stringify-position: "npm:^4.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/855b60c3db9bde2fe142bd366597f7bd5892fc288428ba054e26ffcffc07bfe5648c0792d614ba6e08b1eab9784ffc3c1267cf29dfc6db92b419d68b5bcd487d + languageName: node + linkType: hard + +"mdast-util-mdx@npm:^3.0.0": + version: 3.0.0 + resolution: "mdast-util-mdx@npm:3.0.0" + dependencies: + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-mdx-expression: "npm:^2.0.0" + mdast-util-mdx-jsx: "npm:^3.0.0" + mdast-util-mdxjs-esm: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/4faea13f77d6bc9aa64ee41a5e4779110b73444a17fda363df6ebe880ecfa58b321155b71f8801c3faa6d70d6222a32a00cbd6dbf5fad8db417f4688bc9c74e1 + languageName: node + linkType: hard + +"mdast-util-mdxjs-esm@npm:^2.0.0": + version: 2.0.1 + resolution: "mdast-util-mdxjs-esm@npm:2.0.1" + dependencies: + "@types/estree-jsx": "npm:^1.0.0" + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + devlop: "npm:^1.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + checksum: 10c0/5bda92fc154141705af2b804a534d891f28dac6273186edf1a4c5e3f045d5b01dbcac7400d27aaf91b7e76e8dce007c7b2fdf136c11ea78206ad00bdf9db46bc + languageName: node + linkType: hard + +"mdast-util-phrasing@npm:^4.0.0": + version: 4.1.0 + resolution: "mdast-util-phrasing@npm:4.1.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10c0/bf6c31d51349aa3d74603d5e5a312f59f3f65662ed16c58017169a5fb0f84ca98578f626c5ee9e4aa3e0a81c996db8717096705521bddb4a0185f98c12c9b42f + languageName: node + linkType: hard + +"mdast-util-to-hast@npm:^13.0.0": + version: 13.2.0 + resolution: "mdast-util-to-hast@npm:13.2.0" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + "@ungap/structured-clone": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + trim-lines: "npm:^3.0.0" + unist-util-position: "npm:^5.0.0" + unist-util-visit: "npm:^5.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/9ee58def9287df8350cbb6f83ced90f9c088d72d4153780ad37854f87144cadc6f27b20347073b285173b1649b0723ddf0b9c78158608a804dcacb6bda6e1816 + languageName: node + linkType: hard + +"mdast-util-to-markdown@npm:^2.0.0": + version: 2.1.0 + resolution: "mdast-util-to-markdown@npm:2.1.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + "@types/unist": "npm:^3.0.0" + longest-streak: "npm:^3.0.0" + mdast-util-phrasing: "npm:^4.0.0" + mdast-util-to-string: "npm:^4.0.0" + micromark-util-decode-string: "npm:^2.0.0" + unist-util-visit: "npm:^5.0.0" + zwitch: "npm:^2.0.0" + checksum: 10c0/8bd37a9627a438ef6418d6642661904d0cc03c5c732b8b018a8e238ef5cc82fe8aef1940b19c6f563245e58b9659f35e527209bd3fe145f3c723ba14d18fc3e6 + languageName: node + linkType: hard + +"mdast-util-to-string@npm:^4.0.0": + version: 4.0.0 + resolution: "mdast-util-to-string@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + checksum: 10c0/2d3c1af29bf3fe9c20f552ee9685af308002488f3b04b12fa66652c9718f66f41a32f8362aa2d770c3ff464c034860b41715902ada2306bb0a055146cef064d7 + languageName: node + linkType: hard + +"merge-anything@npm:^5.1.7": + version: 5.1.7 + resolution: "merge-anything@npm:5.1.7" + dependencies: + is-what: "npm:^4.1.8" + checksum: 10c0/1820c8dfa5da65de1829b5e9adb65d1685ec4bc5d358927cacd20a9917eff9448f383f937695f4dbd2162b152faf41ce24187a931621839ee8a8b3c306a65136 + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"micromark-core-commonmark@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-core-commonmark@npm:2.0.1" + dependencies: + decode-named-character-reference: "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-factory-destination: "npm:^2.0.0" + micromark-factory-label: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-factory-title: "npm:^2.0.0" + micromark-factory-whitespace: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-classify-character: "npm:^2.0.0" + micromark-util-html-tag-name: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-subtokenize: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/a0b280b1b6132f600518e72cb29a4dd1b2175b85f5ed5b25d2c5695e42b876b045971370daacbcfc6b4ce8cf7acbf78dd3a0284528fb422b450144f4b3bebe19 + languageName: node + linkType: hard + +"micromark-extension-gfm-autolink-literal@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-autolink-literal@npm:2.1.0" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/84e6fbb84ea7c161dfa179665dc90d51116de4c28f3e958260c0423e5a745372b7dcbc87d3cde98213b532e6812f847eef5ae561c9397d7f7da1e59872ef3efe + languageName: node + linkType: hard + +"micromark-extension-gfm-footnote@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-footnote@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/d172e4218968b7371b9321af5cde8c77423f73b233b2b0fcf3ff6fd6f61d2e0d52c49123a9b7910612478bf1f0d5e88c75a3990dd68f70f3933fe812b9f77edc + languageName: node + linkType: hard + +"micromark-extension-gfm-strikethrough@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-strikethrough@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-classify-character: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/ef4f248b865bdda71303b494671b7487808a340b25552b11ca6814dff3fcfaab9be8d294643060bbdb50f79313e4a686ab18b99cbe4d3ee8a4170fcd134234fb + languageName: node + linkType: hard + +"micromark-extension-gfm-table@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-table@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/c1b564ab68576406046d825b9574f5b4dbedbb5c44bede49b5babc4db92f015d9057dd79d8e0530f2fecc8970a695c40ac2e5e1d4435ccf3ef161038d0d1463b + languageName: node + linkType: hard + +"micromark-extension-gfm-tagfilter@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-gfm-tagfilter@npm:2.0.0" + dependencies: + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/995558843fff137ae4e46aecb878d8a4691cdf23527dcf1e2f0157d66786be9f7bea0109c52a8ef70e68e3f930af811828ba912239438e31a9cfb9981f44d34d + languageName: node + linkType: hard + +"micromark-extension-gfm-task-list-item@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-extension-gfm-task-list-item@npm:2.1.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/78aa537d929e9309f076ba41e5edc99f78d6decd754b6734519ccbbfca8abd52e1c62df68d41a6ae64d2a3fc1646cea955893c79680b0b4385ced4c52296181f + languageName: node + linkType: hard + +"micromark-extension-gfm@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-gfm@npm:3.0.0" + dependencies: + micromark-extension-gfm-autolink-literal: "npm:^2.0.0" + micromark-extension-gfm-footnote: "npm:^2.0.0" + micromark-extension-gfm-strikethrough: "npm:^2.0.0" + micromark-extension-gfm-table: "npm:^2.0.0" + micromark-extension-gfm-tagfilter: "npm:^2.0.0" + micromark-extension-gfm-task-list-item: "npm:^2.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/970e28df6ebdd7c7249f52a0dda56e0566fbfa9ae56c8eeeb2445d77b6b89d44096880cd57a1c01e7821b1f4e31009109fbaca4e89731bff7b83b8519690e5d9 + languageName: node + linkType: hard + +"micromark-extension-mdx-expression@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdx-expression@npm:3.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-factory-mdx-expression: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/fa799c594d8ff9ecbbd28e226959c4928590cfcddb60a926d9d859d00fc7acd25684b6f78dbe6a7f0830879a402b4a3628efd40bb9df1f5846e6d2b7332715f7 + languageName: node + linkType: hard + +"micromark-extension-mdx-jsx@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdx-jsx@npm:3.0.0" + dependencies: + "@types/acorn": "npm:^4.0.0" + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + estree-util-is-identifier-name: "npm:^3.0.0" + micromark-factory-mdx-expression: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/18a81c8def7f3a2088dc435bba19e649c19f679464b1a01e2c680f9518820e70fb0974b8403c790aee8f44205833a280b56ba157fe5a5b2903b476c5de5ba353 + languageName: node + linkType: hard + +"micromark-extension-mdx-md@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-extension-mdx-md@npm:2.0.0" + dependencies: + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/bae91c61273de0e5ba80a980c03470e6cd9d7924aa936f46fbda15d780704d9386e945b99eda200e087b96254fbb4271a9545d5ce02676cd6ae67886a8bf82df + languageName: node + linkType: hard + +"micromark-extension-mdxjs-esm@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdxjs-esm@npm:3.0.0" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/13e3f726495a960650cdedcba39198ace5bdc953ccb12c14d71fc9ed9bb88e40cc3ba9231e973f6984da3b3573e7ddb23ce409f7c16f52a8d57b608bf46c748d + languageName: node + linkType: hard + +"micromark-extension-mdxjs@npm:^3.0.0": + version: 3.0.0 + resolution: "micromark-extension-mdxjs@npm:3.0.0" + dependencies: + acorn: "npm:^8.0.0" + acorn-jsx: "npm:^5.0.0" + micromark-extension-mdx-expression: "npm:^3.0.0" + micromark-extension-mdx-jsx: "npm:^3.0.0" + micromark-extension-mdx-md: "npm:^2.0.0" + micromark-extension-mdxjs-esm: "npm:^3.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/fd84f036ddad0aabbc12e7f1b3e9dcfe31573bbc413c5ae903779ef0366d7a4c08193547e7ba75718c9f45654e45f52e575cfc2f23a5f89205a8a70d9a506aea + languageName: node + linkType: hard + +"micromark-factory-destination@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-factory-destination@npm:2.0.0" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/b73492f687d41a6a379159c2f3acbf813042346bcea523d9041d0cc6124e6715f0779dbb2a0b3422719e9764c3b09f9707880aa159557e3cb4aeb03b9d274915 + languageName: node + linkType: hard + +"micromark-factory-label@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-factory-label@npm:2.0.0" + dependencies: + devlop: "npm:^1.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/8ffad00487a7891941b1d1f51d53a33c7a659dcf48617edb7a4008dad7aff67ec316baa16d55ca98ae3d75ce1d81628dbf72fedc7c6f108f740dec0d5d21c8ee + languageName: node + linkType: hard + +"micromark-factory-mdx-expression@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-factory-mdx-expression@npm:2.0.1" + dependencies: + "@types/estree": "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-events-to-acorn: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unist-util-position-from-estree: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/d9cf475a73a7fbfa09aba0d057e033d57e45b7adff78692be9efb4405c4a1717ece4594a632f92a4302e4f8f2ae96355785b616e3f5b2fe8599ec24cfdeee12d + languageName: node + linkType: hard + +"micromark-factory-space@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-factory-space@npm:2.0.0" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/103ca954dade963d4ff1d2f27d397833fe855ddc72590205022832ef68b775acdea67949000cee221708e376530b1de78c745267b0bf8366740840783eb37122 + languageName: node + linkType: hard + +"micromark-factory-title@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-factory-title@npm:2.0.0" + dependencies: + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/2b2188e7a011b1b001faf8c860286d246d5c3485ef8819270c60a5808f4c7613e49d4e481dbdff62600ef7acdba0f5100be2d125cbd2a15e236c26b3668a8ebd + languageName: node + linkType: hard + +"micromark-factory-whitespace@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-factory-whitespace@npm:2.0.0" + dependencies: + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/4e91baab0cc71873095134bd0e225d01d9786cde352701402d71b72d317973954754e8f9f1849901f165530e6421202209f4d97c460a27bb0808ec5a3fc3148c + languageName: node + linkType: hard + +"micromark-util-character@npm:^2.0.0": + version: 2.1.0 + resolution: "micromark-util-character@npm:2.1.0" + dependencies: + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/fc37a76aaa5a5138191ba2bef1ac50c36b3bcb476522e98b1a42304ab4ec76f5b036a746ddf795d3de3e7004b2c09f21dd1bad42d161f39b8cfc0acd067e6373 + languageName: node + linkType: hard + +"micromark-util-chunked@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-chunked@npm:2.0.0" + dependencies: + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/043b5f2abc8c13a1e2e4c378ead191d1a47ed9e0cd6d0fa5a0a430b2df9e17ada9d5de5a20688a000bbc5932507e746144acec60a9589d9a79fa60918e029203 + languageName: node + linkType: hard + +"micromark-util-classify-character@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-classify-character@npm:2.0.0" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/2bf5fa5050faa9b69f6c7e51dbaaf02329ab70fabad8229984381b356afbbf69db90f4617bec36d814a7d285fb7cad8e3c4e38d1daf4387dc9e240aa7f9a292a + languageName: node + linkType: hard + +"micromark-util-combine-extensions@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-combine-extensions@npm:2.0.0" + dependencies: + micromark-util-chunked: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/cd4c8d1a85255527facb419ff3b3cc3d7b7f27005c5ef5fa7ef2c4d0e57a9129534fc292a188ec2d467c2c458642d369c5f894bc8a9e142aed6696cc7989d3ea + languageName: node + linkType: hard + +"micromark-util-decode-numeric-character-reference@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-decode-numeric-character-reference@npm:2.0.1" + dependencies: + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/3f6d684ee8f317c67806e19b3e761956256cb936a2e0533aad6d49ac5604c6536b2041769c6febdd387ab7175b7b7e551851bf2c1f78da943e7a3671ca7635ac + languageName: node + linkType: hard + +"micromark-util-decode-string@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-decode-string@npm:2.0.0" + dependencies: + decode-named-character-reference: "npm:^1.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-decode-numeric-character-reference: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/f5413bebb21bdb686cfa1bcfa7e9c93093a523d1b42443ead303b062d2d680a94e5e8424549f57b8ba9d786a758e5a26a97f56068991bbdbca5d1885b3aa7227 + languageName: node + linkType: hard + +"micromark-util-encode@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-encode@npm:2.0.0" + checksum: 10c0/ebdaafff23100bbf4c74e63b4b1612a9ddf94cd7211d6a076bc6fb0bc32c1b48d6fb615aa0953e607c62c97d849f97f1042260d3eb135259d63d372f401bbbb2 + languageName: node + linkType: hard + +"micromark-util-events-to-acorn@npm:^2.0.0": + version: 2.0.2 + resolution: "micromark-util-events-to-acorn@npm:2.0.2" + dependencies: + "@types/acorn": "npm:^4.0.0" + "@types/estree": "npm:^1.0.0" + "@types/unist": "npm:^3.0.0" + devlop: "npm:^1.0.0" + estree-util-visit: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/2bd2660a49efddb625e6adcabdc3384ae4c50c7a04270737270f4aab53d09e8253e6d2607cd947c4c77f8a9900278915babb240e61fd143dc5bab51d9fd50709 + languageName: node + linkType: hard + +"micromark-util-html-tag-name@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-html-tag-name@npm:2.0.0" + checksum: 10c0/988aa26367449bd345b627ae32cf605076daabe2dc1db71b578a8a511a47123e14af466bcd6dcbdacec60142f07bc2723ec5f7a0eed0f5319ce83b5e04825429 + languageName: node + linkType: hard + +"micromark-util-normalize-identifier@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-normalize-identifier@npm:2.0.0" + dependencies: + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/93bf8789b8449538f22cf82ac9b196363a5f3b2f26efd98aef87c4c1b1f8c05be3ef6391ff38316ff9b03c1a6fd077342567598019ddd12b9bd923dacc556333 + languageName: node + linkType: hard + +"micromark-util-resolve-all@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-resolve-all@npm:2.0.0" + dependencies: + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/3b912e88453dcefe728a9080c8934a75ac4732056d6576ceecbcaf97f42c5d6fa2df66db8abdc8427eb167c5ffddefe26713728cfe500bc0e314ed260d6e2746 + languageName: node + linkType: hard + +"micromark-util-sanitize-uri@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-sanitize-uri@npm:2.0.0" + dependencies: + micromark-util-character: "npm:^2.0.0" + micromark-util-encode: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + checksum: 10c0/74763ca1c927dd520d3ab8fd9856a19740acf76fc091f0a1f5d4e99c8cd5f1b81c5a0be3efb564941a071fb6d85fd951103f2760eb6cff77b5ab3abe08341309 + languageName: node + linkType: hard + +"micromark-util-subtokenize@npm:^2.0.0": + version: 2.0.1 + resolution: "micromark-util-subtokenize@npm:2.0.1" + dependencies: + devlop: "npm:^1.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/000cefde827db129f4ed92b8fbdeb4866c5f9c93068c0115485564b0426abcb9058080aa257df9035e12ca7fa92259d66623ea750b9eb3bcdd8325d3fb6fc237 + languageName: node + linkType: hard + +"micromark-util-symbol@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-symbol@npm:2.0.0" + checksum: 10c0/4e76186c185ce4cefb9cea8584213d9ffacd77099d1da30c0beb09fa21f46f66f6de4c84c781d7e34ff763fe3a06b530e132fa9004882afab9e825238d0aa8b3 + languageName: node + linkType: hard + +"micromark-util-types@npm:^2.0.0": + version: 2.0.0 + resolution: "micromark-util-types@npm:2.0.0" + checksum: 10c0/d74e913b9b61268e0d6939f4209e3abe9dada640d1ee782419b04fd153711112cfaaa3c4d5f37225c9aee1e23c3bb91a1f5223e1e33ba92d33e83956a53e61de + languageName: node + linkType: hard + +"micromark@npm:^4.0.0": + version: 4.0.0 + resolution: "micromark@npm:4.0.0" + dependencies: + "@types/debug": "npm:^4.0.0" + debug: "npm:^4.0.0" + decode-named-character-reference: "npm:^1.0.0" + devlop: "npm:^1.0.0" + micromark-core-commonmark: "npm:^2.0.0" + micromark-factory-space: "npm:^2.0.0" + micromark-util-character: "npm:^2.0.0" + micromark-util-chunked: "npm:^2.0.0" + micromark-util-combine-extensions: "npm:^2.0.0" + micromark-util-decode-numeric-character-reference: "npm:^2.0.0" + micromark-util-encode: "npm:^2.0.0" + micromark-util-normalize-identifier: "npm:^2.0.0" + micromark-util-resolve-all: "npm:^2.0.0" + micromark-util-sanitize-uri: "npm:^2.0.0" + micromark-util-subtokenize: "npm:^2.0.0" + micromark-util-symbol: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + checksum: 10c0/7e91c8d19ff27bc52964100853f1b3b32bb5b2ece57470a34ba1b2f09f4e2a183d90106c4ae585c9f2046969ee088576fed79b2f7061cba60d16652ccc2c64fd + languageName: node + linkType: hard + +"micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.7": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"mimic-fn@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-fn@npm:4.0.0" + checksum: 10c0/de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf + languageName: node + linkType: hard + +"mimic-function@npm:^5.0.0": + version: 5.0.1 + resolution: "mimic-function@npm:5.0.1" + checksum: 10c0/f3d9464dd1816ecf6bdf2aec6ba32c0728022039d992f178237d8e289b48764fee4131319e72eedd4f7f094e22ded0af836c3187a7edc4595d28dd74368fd81d + languageName: node + linkType: hard + +"minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^3.0.0": + version: 3.0.5 + resolution: "minipass-fetch@npm:3.0.5" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^2.1.2" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/9d702d57f556274286fdd97e406fc38a2f5c8d15e158b498d7393b1105974b21249289ec571fa2b51e038a4872bfc82710111cf75fae98c662f3d6f95e72152b + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 + languageName: node + linkType: hard + +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: "npm:^3.0.0" + yallist: "npm:^4.0.0" + checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf + languageName: node + linkType: hard + +"mrmime@npm:^2.0.0": + version: 2.0.0 + resolution: "mrmime@npm:2.0.0" + checksum: 10c0/312b35ed288986aec90955410b21ed7427fd1e4ee318cb5fc18765c8d029eeded9444faa46589e5b1ed6b35fb2054a802ac8dcb917ddf6b3e189cb3bf11a965c + languageName: node + linkType: hard + +"ms@npm:2.1.2": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc + languageName: node + linkType: hard + +"ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"muggle-string@npm:^0.4.1": + version: 0.4.1 + resolution: "muggle-string@npm:0.4.1" + checksum: 10c0/e914b63e24cd23f97e18376ec47e4ba3aa24365e4776212b666add2e47bb158003212980d732c49abf3719568900af7861873844a6e2d3a7ca7e86952c0e99e9 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.7": + version: 3.3.7 + resolution: "nanoid@npm:3.3.7" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/e3fb661aa083454f40500473bb69eedb85dc160e763150b9a2c567c7e9ff560ce028a9f833123b618a6ea742e311138b591910e795614a629029e86e180660f3 + languageName: node + linkType: hard + +"negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 + languageName: node + linkType: hard + +"neotraverse@npm:^0.6.18": + version: 0.6.18 + resolution: "neotraverse@npm:0.6.18" + checksum: 10c0/46f4c53cbbdc53671150916b544a9f46e27781f8003985237507542190173bec131168d89b846535f9c34c0a2a7debb1ab3a4f7a93d08218e2c194a363708ffa + languageName: node + linkType: hard + +"nlcst-to-string@npm:^4.0.0": + version: 4.0.0 + resolution: "nlcst-to-string@npm:4.0.0" + dependencies: + "@types/nlcst": "npm:^2.0.0" + checksum: 10c0/a192c8b3365a7c076812004e72ae5b4a1734e582be2a6f3c062f3beecf18868a9fe2d1bad870bfead320fb39830f2c4f3752e5ae6574c4e59157126fd1ddba70 + languageName: node + linkType: hard + +"node-bin-setup@npm:^1.0.0": + version: 1.1.3 + resolution: "node-bin-setup@npm:1.1.3" + checksum: 10c0/7de7d17aff7baa4e424f2b94ba14626b177620998d7bbe5bb28841a4e078d9c198a96edefb88f00e80a724f3d56907cdfb4be8af1c45e46b0f1476c26d828910 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 10.2.0 + resolution: "node-gyp@npm:10.2.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + glob: "npm:^10.3.10" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^13.0.0" + nopt: "npm:^7.0.0" + proc-log: "npm:^4.1.0" + semver: "npm:^7.3.5" + tar: "npm:^6.2.1" + which: "npm:^4.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/00630d67dbd09a45aee0a5d55c05e3916ca9e6d427ee4f7bc392d2d3dc5fad7449b21fc098dd38260a53d9dcc9c879b36704a1994235d4707e7271af7e9a835b + languageName: node + linkType: hard + +"node-releases@npm:^2.0.18": + version: 2.0.18 + resolution: "node-releases@npm:2.0.18" + checksum: 10c0/786ac9db9d7226339e1dc84bbb42007cb054a346bd9257e6aa154d294f01bc6a6cddb1348fa099f079be6580acbb470e3c048effd5f719325abd0179e566fd27 + languageName: node + linkType: hard + +"node@npm:22.7.0": + version: 22.7.0 + resolution: "node@npm:22.7.0" + dependencies: + node-bin-setup: "npm:^1.0.0" + bin: + node: bin/node + checksum: 10c0/62430677f3915b689dadaa5fc482cba1758e6e56f33a4aab2b505001a41e079734a5d053851435a0c98865fbbcd2cc25287032dc8099aefd6aa41a3c84b56374 + languageName: node + linkType: hard + +"nopt@npm:^7.0.0": + version: 7.2.1 + resolution: "nopt@npm:7.2.1" + dependencies: + abbrev: "npm:^2.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/a069c7c736767121242037a22a788863accfa932ab285a1eb569eb8cd534b09d17206f68c37f096ae785647435e0c5a5a0a67b42ec743e481a455e5ae6a6df81 + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"npm-run-path@npm:^5.1.0": + version: 5.3.0 + resolution: "npm-run-path@npm:5.3.0" + dependencies: + path-key: "npm:^4.0.0" + checksum: 10c0/124df74820c40c2eb9a8612a254ea1d557ddfab1581c3e751f825e3e366d9f00b0d76a3c94ecd8398e7f3eee193018622677e95816e8491f0797b21e30b2deba + languageName: node + linkType: hard + +"nwsapi@npm:^2.2.12": + version: 2.2.12 + resolution: "nwsapi@npm:2.2.12" + checksum: 10c0/95e9623d63df111405503df8c5d800e26f71675d319e2c9c70cddfa31e5ace1d3f8b6d98d354544fc156a1506d920ec291e303fab761e4f99296868e199a466e + languageName: node + linkType: hard + +"onetime@npm:^6.0.0": + version: 6.0.0 + resolution: "onetime@npm:6.0.0" + dependencies: + mimic-fn: "npm:^4.0.0" + checksum: 10c0/4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c + languageName: node + linkType: hard + +"onetime@npm:^7.0.0": + version: 7.0.0 + resolution: "onetime@npm:7.0.0" + dependencies: + mimic-function: "npm:^5.0.0" + checksum: 10c0/5cb9179d74b63f52a196a2e7037ba2b9a893245a5532d3f44360012005c9cadb60851d56716ebff18a6f47129dab7168022445df47c2aff3b276d92585ed1221 + languageName: node + linkType: hard + +"ora@npm:^8.0.1": + version: 8.1.0 + resolution: "ora@npm:8.1.0" + dependencies: + chalk: "npm:^5.3.0" + cli-cursor: "npm:^5.0.0" + cli-spinners: "npm:^2.9.2" + is-interactive: "npm:^2.0.0" + is-unicode-supported: "npm:^2.0.0" + log-symbols: "npm:^6.0.0" + stdin-discarder: "npm:^0.2.2" + string-width: "npm:^7.2.0" + strip-ansi: "npm:^7.1.0" + checksum: 10c0/4ac9a6dd7fe915a354680f33ced21ee96d13d3c5ab0dc00b3c3ba9e3695ed141b1d045222990f5a71a9a91f801042a0b0d32e58dfc5509ff9b81efdd3fcf6339 + languageName: node + linkType: hard + +"p-limit@npm:^2.2.0": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: "npm:^2.0.0" + checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 + languageName: node + linkType: hard + +"p-limit@npm:^6.1.0": + version: 6.1.0 + resolution: "p-limit@npm:6.1.0" + dependencies: + yocto-queue: "npm:^1.1.1" + checksum: 10c0/40af29461206185a81bdc971ed499d97ceb344114fd21420db95debd9c979b6c02d66a41c321246d09245a51e68410e13df92622cc8c0130f87c6bd81a15d777 + languageName: node + linkType: hard + +"p-locate@npm:^4.1.0": + version: 4.1.0 + resolution: "p-locate@npm:4.1.0" + dependencies: + p-limit: "npm:^2.2.0" + checksum: 10c0/1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 + languageName: node + linkType: hard + +"p-queue@npm:^8.0.1": + version: 8.0.1 + resolution: "p-queue@npm:8.0.1" + dependencies: + eventemitter3: "npm:^5.0.1" + p-timeout: "npm:^6.1.2" + checksum: 10c0/fe185bc8bbd32d17a5f6dba090077b1bb326b008b4ec9b0646c57a32a6984035aa8ece909a6d0de7f6c4640296dc288197f430e7394cdc76a26d862339494616 + languageName: node + linkType: hard + +"p-timeout@npm:^6.1.2": + version: 6.1.2 + resolution: "p-timeout@npm:6.1.2" + checksum: 10c0/d46b90a9a5fb7c650a5c56dd5cf7102ea9ab6ce998defa2b3d4672789aaec4e2f45b3b0b5a4a3e17a0fb94301ad5dd26da7d8728402e48db2022ad1847594d19 + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b + languageName: node + linkType: hard + +"pagefind@npm:^1.0.3": + version: 1.1.1 + resolution: "pagefind@npm:1.1.1" + dependencies: + "@pagefind/darwin-arm64": "npm:1.1.1" + "@pagefind/darwin-x64": "npm:1.1.1" + "@pagefind/linux-arm64": "npm:1.1.1" + "@pagefind/linux-x64": "npm:1.1.1" + "@pagefind/windows-x64": "npm:1.1.1" + dependenciesMeta: + "@pagefind/darwin-arm64": + optional: true + "@pagefind/darwin-x64": + optional: true + "@pagefind/linux-arm64": + optional: true + "@pagefind/linux-x64": + optional: true + "@pagefind/windows-x64": + optional: true + bin: + pagefind: lib/runner/bin.cjs + checksum: 10c0/60545c2a56294251fc92e2e5e90d9d11f3bc99087bea8e31930c4c848f6d965ee509d3c01c2f25d0a2f8df62901a5ab5e1a23cc9c8c32a01ff3e27bf09a7c62e + languageName: node + linkType: hard + +"parse-entities@npm:^4.0.0": + version: 4.0.1 + resolution: "parse-entities@npm:4.0.1" + dependencies: + "@types/unist": "npm:^2.0.0" + character-entities: "npm:^2.0.0" + character-entities-legacy: "npm:^3.0.0" + character-reference-invalid: "npm:^2.0.0" + decode-named-character-reference: "npm:^1.0.0" + is-alphanumerical: "npm:^2.0.0" + is-decimal: "npm:^2.0.0" + is-hexadecimal: "npm:^2.0.0" + checksum: 10c0/9dfa3b0dc43a913c2558c4bd625b1abcc2d6c6b38aa5724b141ed988471977248f7ad234eed57e1bc70b694dd15b0d710a04f66c2f7c096e35abd91962b7d926 + languageName: node + linkType: hard + +"parse-latin@npm:^7.0.0": + version: 7.0.0 + resolution: "parse-latin@npm:7.0.0" + dependencies: + "@types/nlcst": "npm:^2.0.0" + "@types/unist": "npm:^3.0.0" + nlcst-to-string: "npm:^4.0.0" + unist-util-modify-children: "npm:^4.0.0" + unist-util-visit-children: "npm:^3.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/4232a464f98c41c6680575c54bc2c9b21ac4b82a1f796a871bfef5efa6eddaab9bccf734b08cde6b0a5504ef46a0a14041ddd0bc5d9cc70f73a507f93f610596 + languageName: node + linkType: hard + +"parse5@npm:^6.0.0": + version: 6.0.1 + resolution: "parse5@npm:6.0.1" + checksum: 10c0/595821edc094ecbcfb9ddcb46a3e1fe3a718540f8320eff08b8cf6742a5114cce2d46d45f95c26191c11b184dcaf4e2960abcd9c5ed9eb9393ac9a37efcfdecb + languageName: node + linkType: hard + +"parse5@npm:^7.0.0, parse5@npm:^7.1.2": + version: 7.1.2 + resolution: "parse5@npm:7.1.2" + dependencies: + entities: "npm:^4.4.0" + checksum: 10c0/297d7af8224f4b5cb7f6617ecdae98eeaed7f8cbd78956c42785e230505d5a4f07cef352af10d3006fa5c1544b76b57784d3a22d861ae071bbc460c649482bf4 + languageName: node + linkType: hard + +"path-browserify@npm:^1.0.1": + version: 1.0.1 + resolution: "path-browserify@npm:1.0.1" + checksum: 10c0/8b8c3fd5c66bd340272180590ae4ff139769e9ab79522e2eb82e3d571a89b8117c04147f65ad066dccfb42fcad902e5b7d794b3d35e0fd840491a8ddbedf8c66 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-key@npm:^4.0.0": + version: 4.0.0 + resolution: "path-key@npm:4.0.0" + checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3 + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + languageName: node + linkType: hard + +"path-to-regexp@npm:^6.2.2": + version: 6.3.0 + resolution: "path-to-regexp@npm:6.3.0" + checksum: 10c0/73b67f4638b41cde56254e6354e46ae3a2ebc08279583f6af3d96fe4664fc75788f74ed0d18ca44fa4a98491b69434f9eee73b97bb5314bd1b5adb700f5c18d6 + languageName: node + linkType: hard + +"perfect-freehand@npm:^1.2.2": + version: 1.2.2 + resolution: "perfect-freehand@npm:1.2.2" + checksum: 10c0/8f7ae1cd24bdd91b51b06eb8a02bee1b4ecef361df9e3ef9a56aa942e14f59820cccff919eb33831493e12af2a6b7f8617cbdc59bf0b11723f4ffdc8fe325f1a + languageName: node + linkType: hard + +"periscopic@npm:^3.0.0": + version: 3.1.0 + resolution: "periscopic@npm:3.1.0" + dependencies: + "@types/estree": "npm:^1.0.0" + estree-walker: "npm:^3.0.0" + is-reference: "npm:^3.0.0" + checksum: 10c0/fb5ce7cd810c49254cdf1cd3892811e6dd1a1dfbdf5f10a0a33fb7141baac36443c4cad4f0e2b30abd4eac613f6ab845c2bc1b7ce66ae9694c7321e6ada5bd96 + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1": + version: 1.1.0 + resolution: "picocolors@npm:1.1.0" + checksum: 10c0/86946f6032148801ef09c051c6fb13b5cf942eaf147e30ea79edb91dd32d700934edebe782a1078ff859fb2b816792e97ef4dab03d7f0b804f6b01a0df35e023 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"pify@npm:^4.0.1": + version: 4.0.1 + resolution: "pify@npm:4.0.1" + checksum: 10c0/6f9d404b0d47a965437403c9b90eca8bb2536407f03de165940e62e72c8c8b75adda5516c6b9b23675a5877cc0bcac6bdfb0ef0e39414cd2476d5495da40e7cf + languageName: node + linkType: hard + +"pkg-dir@npm:^4.2.0": + version: 4.2.0 + resolution: "pkg-dir@npm:4.2.0" + dependencies: + find-up: "npm:^4.0.0" + checksum: 10c0/c56bda7769e04907a88423feb320babaed0711af8c436ce3e56763ab1021ba107c7b0cafb11cde7529f669cfc22bffcaebffb573645cbd63842ea9fb17cd7728 + languageName: node + linkType: hard + +"postcss@npm:^8.4.41": + version: 8.4.41 + resolution: "postcss@npm:8.4.41" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.0.1" + source-map-js: "npm:^1.2.0" + checksum: 10c0/c1828fc59e7ec1a3bf52b3a42f615dba53c67960ed82a81df6441b485fe43c20aba7f4e7c55425762fd99c594ecabbaaba8cf5b30fd79dfec5b52a9f63a2d690 + languageName: node + linkType: hard + +"preferred-pm@npm:^4.0.0": + version: 4.0.0 + resolution: "preferred-pm@npm:4.0.0" + dependencies: + find-up-simple: "npm:^1.0.0" + find-yarn-workspace-root2: "npm:1.2.16" + which-pm: "npm:^3.0.0" + checksum: 10c0/66477a0df1b54889a562475291eb438048502d946ec65cb67801a02e21d16299d9ed3d664f77c553da6d4ab27688bec52627e91a6bcedc8b6e07a437d1ba3517 + languageName: node + linkType: hard + +"prettier@npm:2.8.7": + version: 2.8.7 + resolution: "prettier@npm:2.8.7" + bin: + prettier: bin-prettier.js + checksum: 10c0/84c5b62f7d4909ae5b18b1a4cee67f6a30a548244c8919e67158dee1453f4fa4ff4d291c6f2e41e21d443a0c405f03ec27690502d4ad90c3a7c59bcaf38b51ba + languageName: node + linkType: hard + +"pretty-format@npm:^29.7.0": + version: 29.7.0 + resolution: "pretty-format@npm:29.7.0" + dependencies: + "@jest/schemas": "npm:^29.6.3" + ansi-styles: "npm:^5.0.0" + react-is: "npm:^18.0.0" + checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f + languageName: node + linkType: hard + +"prismjs@npm:^1.29.0": + version: 1.29.0 + resolution: "prismjs@npm:1.29.0" + checksum: 10c0/d906c4c4d01b446db549b4f57f72d5d7e6ccaca04ecc670fb85cea4d4b1acc1283e945a9cbc3d81819084a699b382f970e02f9d1378e14af9808d366d9ed7ec6 + languageName: node + linkType: hard + +"proc-log@npm:^4.1.0, proc-log@npm:^4.2.0": + version: 4.2.0 + resolution: "proc-log@npm:4.2.0" + checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"prompts@npm:^2.4.2": + version: 2.4.2 + resolution: "prompts@npm:2.4.2" + dependencies: + kleur: "npm:^3.0.3" + sisteransi: "npm:^1.0.5" + checksum: 10c0/16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4 + languageName: node + linkType: hard + +"property-information@npm:^6.0.0": + version: 6.5.0 + resolution: "property-information@npm:6.5.0" + checksum: 10c0/981e0f9cc2e5acdb414a6fd48a99dd0fd3a4079e7a91ab41cf97a8534cf43e0e0bc1ffada6602a1b3d047a33db8b5fc2ef46d863507eda712d5ceedac443f0ef + languageName: node + linkType: hard + +"proxy-compare@npm:3.0.0, proxy-compare@npm:^3.0.0": + version: 3.0.0 + resolution: "proxy-compare@npm:3.0.0" + checksum: 10c0/9740af3709496b16ba18ebc337df5ca4c103f345436a8c0ec2e09217b7a06e119c145bedfe7fc4ad50b77b30fa804efaa6a7fe147eafb61aaf7ef44e387710f5 + languageName: node + linkType: hard + +"proxy-memoize@npm:3.0.1": + version: 3.0.1 + resolution: "proxy-memoize@npm:3.0.1" + dependencies: + proxy-compare: "npm:^3.0.0" + checksum: 10c0/cfdd442365fb7081dcba427ded75a8a9b68af17e72eef8098aa2e6d625914ac4152021832c631f071660d2f61ec18aaaa07ec77142abaa50b12dcaa845de8e4c + languageName: node + linkType: hard + +"punycode@npm:^2.3.1": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"quickshell-docs@workspace:.": + version: 0.0.0-use.local + resolution: "quickshell-docs@workspace:." + dependencies: + "@ark-ui/solid": "npm:^3.5.0" + "@astrojs/check": "npm:^0.9.3" + "@astrojs/mdx": "npm:^3.1.4" + "@astrojs/solid-js": "npm:^4.4.1" + "@astrojs/ts-plugin": "npm:^1.10.1" + "@biomejs/biome": "npm:^1.8.3" + "@hbsnow/rehype-sectionize": "npm:^1.0.7" + "@types/node": "npm:^20.14.11" + astro: "npm:^4.14.5" + astro-breadcrumbs: "npm:^2.3.1" + astro-pagefind: "npm:^1.6.0" + marked: "npm:^14.1.0" + marked-alert: "npm:^2.0.2" + node: "npm:22.7.0" + remark-github-blockquote-alert: "npm:^1.2.1" + remark-parse: "npm:^11.0.0" + shiki: "npm:^1.11.0" + solid-devtools: "npm:^0.30.1" + solid-js: "npm:^1.8.18" + typescript: "npm:^5.5.3" + languageName: unknown + linkType: soft + +"react-is@npm:^18.0.0": + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + +"rehype-parse@npm:^8.0.0": + version: 8.0.5 + resolution: "rehype-parse@npm:8.0.5" + dependencies: + "@types/hast": "npm:^2.0.0" + hast-util-from-parse5: "npm:^7.0.0" + parse5: "npm:^6.0.0" + unified: "npm:^10.0.0" + checksum: 10c0/6ab741830d74d381ae46849a61edb9539b16667ed03c4cf74d4aa6003947e14d35398f745649dd2b83cc1c6de8db1f9dbd46cbb76048c22bbb3d1200967ac1e3 + languageName: node + linkType: hard + +"rehype-parse@npm:^9.0.0": + version: 9.0.0 + resolution: "rehype-parse@npm:9.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-from-html: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/c38d07b8bfb5eb3ad6ce8ebdc65ecb31b4c68e440fb020178a34937fa28753d63c70f51146890bf32f840ef6102efdf31e03eb937fc100bc9efa4f4f808a50d2 + languageName: node + linkType: hard + +"rehype-raw@npm:^7.0.0": + version: 7.0.0 + resolution: "rehype-raw@npm:7.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-raw: "npm:^9.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/1435b4b6640a5bc3abe3b2133885c4dbff5ef2190ef9cfe09d6a63f74dd7d7ffd0cede70603278560ccf1acbfb9da9faae4b68065a28bc5aa88ad18e40f32d52 + languageName: node + linkType: hard + +"rehype-stringify@npm:^10.0.0": + version: 10.0.0 + resolution: "rehype-stringify@npm:10.0.0" + dependencies: + "@types/hast": "npm:^3.0.0" + hast-util-to-html: "npm:^9.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/6a5f763cfc51cefbcfe504c9661da39b2f28e49c6caea085ff7ad97457b9574289076471f6eeca7af6479f1f90fd1bf1e8d176640b66da262372b76a1f1b3147 + languageName: node + linkType: hard + +"rehype-stringify@npm:^9.0.0": + version: 9.0.4 + resolution: "rehype-stringify@npm:9.0.4" + dependencies: + "@types/hast": "npm:^2.0.0" + hast-util-to-html: "npm:^8.0.0" + unified: "npm:^10.0.0" + checksum: 10c0/8c8bc118c3e3242a6126456c35af5f902a168ec8daab7b97f6bfeafa5ced2c23fbe2807776908ecec8ed17a9ef67c6f6d473ff54c28c1d6a711624505a551078 + languageName: node + linkType: hard + +"rehype@npm:^12.0.1": + version: 12.0.1 + resolution: "rehype@npm:12.0.1" + dependencies: + "@types/hast": "npm:^2.0.0" + rehype-parse: "npm:^8.0.0" + rehype-stringify: "npm:^9.0.0" + unified: "npm:^10.0.0" + checksum: 10c0/9a0a2cccc80f302c2ed1c4fd2d8a23779696fc7ebab8149c23c6f551a26371bfb4a80736c1a98bc1e04115e6cb9e1ef0badb11f41fb9f624bdb07f5226272ed9 + languageName: node + linkType: hard + +"rehype@npm:^13.0.1": + version: 13.0.1 + resolution: "rehype@npm:13.0.1" + dependencies: + "@types/hast": "npm:^3.0.0" + rehype-parse: "npm:^9.0.0" + rehype-stringify: "npm:^10.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/9f35e07483376c5ccc49a6889ec74cbee22ca23fe2ed7b60588ab106d31d0b779d3fce10c38f889c9e34d5e9d9f5c2275b6c014f75467ec4af6c1423579556a6 + languageName: node + linkType: hard + +"remark-gfm@npm:^4.0.0": + version: 4.0.0 + resolution: "remark-gfm@npm:4.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-gfm: "npm:^3.0.0" + micromark-extension-gfm: "npm:^3.0.0" + remark-parse: "npm:^11.0.0" + remark-stringify: "npm:^11.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/db0aa85ab718d475c2596e27c95be9255d3b0fc730a4eda9af076b919f7dd812f7be3ac020611a8dbe5253fd29671d7b12750b56e529fdc32dfebad6dbf77403 + languageName: node + linkType: hard + +"remark-github-blockquote-alert@npm:^1.2.1": + version: 1.2.1 + resolution: "remark-github-blockquote-alert@npm:1.2.1" + dependencies: + unist-util-visit: "npm:^5.0.0" + checksum: 10c0/48f70a56347ba6d2649ec647f9b126fe2e22ee4efcbc4962e1645967ac0994859a930a1af3a8b75c2989d55ed5b7ce2df6fc86a4b0f2c0aa39d5ed2162c857ca + languageName: node + linkType: hard + +"remark-mdx@npm:^3.0.0": + version: 3.0.1 + resolution: "remark-mdx@npm:3.0.1" + dependencies: + mdast-util-mdx: "npm:^3.0.0" + micromark-extension-mdxjs: "npm:^3.0.0" + checksum: 10c0/9e16cd5ff3b30620bd25351a2dd1701627fa5555785b35ee5fe07bd1e6793a9c825cc1f6af9e54a44351f74879f8b5ea2bce8e5a21379aeab58935e76a4d69ce + languageName: node + linkType: hard + +"remark-parse@npm:^11.0.0": + version: 11.0.0 + resolution: "remark-parse@npm:11.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-from-markdown: "npm:^2.0.0" + micromark-util-types: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/6eed15ddb8680eca93e04fcb2d1b8db65a743dcc0023f5007265dda558b09db595a087f622062ccad2630953cd5cddc1055ce491d25a81f3317c858348a8dd38 + languageName: node + linkType: hard + +"remark-rehype@npm:^11.0.0, remark-rehype@npm:^11.1.0": + version: 11.1.1 + resolution: "remark-rehype@npm:11.1.1" + dependencies: + "@types/hast": "npm:^3.0.0" + "@types/mdast": "npm:^4.0.0" + mdast-util-to-hast: "npm:^13.0.0" + unified: "npm:^11.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/68f986e8ee758d415e93babda2a0d89477c15b7c200edc23b8b1d914dd6e963c5fc151a11cbbbcfa7dd237367ff3ef86e302be90f31f37a17b0748668bd8c65b + languageName: node + linkType: hard + +"remark-smartypants@npm:^3.0.2": + version: 3.0.2 + resolution: "remark-smartypants@npm:3.0.2" + dependencies: + retext: "npm:^9.0.0" + retext-smartypants: "npm:^6.0.0" + unified: "npm:^11.0.4" + unist-util-visit: "npm:^5.0.0" + checksum: 10c0/661129f6258feb4531c896d0d7013d0cd7835599f7d9c46947ff0cda19c717e2d5a7da28fc72a9d454dd5a5b6308403f0d7a7ec58338865a28c9242a77739b40 + languageName: node + linkType: hard + +"remark-stringify@npm:^11.0.0": + version: 11.0.0 + resolution: "remark-stringify@npm:11.0.0" + dependencies: + "@types/mdast": "npm:^4.0.0" + mdast-util-to-markdown: "npm:^2.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/0cdb37ce1217578f6f847c7ec9f50cbab35df5b9e3903d543e74b405404e67c07defcb23cd260a567b41b769400f6de03c2c3d9cd6ae7a6707d5c8d89ead489f + languageName: node + linkType: hard + +"request-light@npm:^0.5.7": + version: 0.5.8 + resolution: "request-light@npm:0.5.8" + checksum: 10c0/65d47f79cbe13c46c10eecb9264ad06ea5f76ea64855766448937c0fe888a70b9c854bf9dc4c2dc1949ea5400030b55bea7d4ba0807fae0202004cee796ea819 + languageName: node + linkType: hard + +"request-light@npm:^0.7.0": + version: 0.7.0 + resolution: "request-light@npm:0.7.0" + checksum: 10c0/1c98f0d74b8a28a6fecb96d4b30c255a27b402f5e10b2696b67ede7257389a7533fba9e8ea122ccec9a7c6f06db36eab5d0b563bd5ff27b15aaa9d3910e31894 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 + languageName: node + linkType: hard + +"restore-cursor@npm:^5.0.0": + version: 5.1.0 + resolution: "restore-cursor@npm:5.1.0" + dependencies: + onetime: "npm:^7.0.0" + signal-exit: "npm:^4.1.0" + checksum: 10c0/c2ba89131eea791d1b25205bdfdc86699767e2b88dee2a590b1a6caa51737deac8bad0260a5ded2f7c074b7db2f3a626bcf1fcf3cdf35974cbeea5e2e6764f60 + languageName: node + linkType: hard + +"retext-latin@npm:^4.0.0": + version: 4.0.0 + resolution: "retext-latin@npm:4.0.0" + dependencies: + "@types/nlcst": "npm:^2.0.0" + parse-latin: "npm:^7.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/51530be66db9ef6ab8e9cda5dd0598377ff4321481d6a941bf70dac16fa6e9123ff7d8ff093a05c30a3e00e282e37094b845b6130a8005a3cb7186a961ab99cb + languageName: node + linkType: hard + +"retext-smartypants@npm:^6.0.0": + version: 6.1.1 + resolution: "retext-smartypants@npm:6.1.1" + dependencies: + "@types/nlcst": "npm:^2.0.0" + nlcst-to-string: "npm:^4.0.0" + unist-util-visit: "npm:^5.0.0" + checksum: 10c0/46c8bb97291cbf501bfde0069e48ce4a299efd0b07b71e7863339d7bcb9f955a0629d1b98fb2b4beef563e0a8b3c9698d36063c05a6b3bb012474b9adcafb044 + languageName: node + linkType: hard + +"retext-stringify@npm:^4.0.0": + version: 4.0.0 + resolution: "retext-stringify@npm:4.0.0" + dependencies: + "@types/nlcst": "npm:^2.0.0" + nlcst-to-string: "npm:^4.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/eb2930356c85999a8978092a5d6ba3695fea859c71f221dcdc485704552922641bc17e50fea2ae0599d665192eaad002e98bb4236ecac94a570b73581b99004d + languageName: node + linkType: hard + +"retext@npm:^9.0.0": + version: 9.0.0 + resolution: "retext@npm:9.0.0" + dependencies: + "@types/nlcst": "npm:^2.0.0" + retext-latin: "npm:^4.0.0" + retext-stringify: "npm:^4.0.0" + unified: "npm:^11.0.0" + checksum: 10c0/eee9f66ff6fae5670a5eeccc0b5e2639112f868475273ce307d3079cfe7deb9d1b0f2b8fa28b4ab30abaf8538345185a44908f461a27bbf43c4f94feda90ecac + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 + languageName: node + linkType: hard + +"rollup@npm:^4.20.0": + version: 4.21.0 + resolution: "rollup@npm:4.21.0" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.21.0" + "@rollup/rollup-android-arm64": "npm:4.21.0" + "@rollup/rollup-darwin-arm64": "npm:4.21.0" + "@rollup/rollup-darwin-x64": "npm:4.21.0" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.21.0" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.21.0" + "@rollup/rollup-linux-arm64-gnu": "npm:4.21.0" + "@rollup/rollup-linux-arm64-musl": "npm:4.21.0" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.21.0" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.21.0" + "@rollup/rollup-linux-s390x-gnu": "npm:4.21.0" + "@rollup/rollup-linux-x64-gnu": "npm:4.21.0" + "@rollup/rollup-linux-x64-musl": "npm:4.21.0" + "@rollup/rollup-win32-arm64-msvc": "npm:4.21.0" + "@rollup/rollup-win32-ia32-msvc": "npm:4.21.0" + "@rollup/rollup-win32-x64-msvc": "npm:4.21.0" + "@types/estree": "npm:1.0.5" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-powerpc64le-gnu": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10c0/984beb858da245c5e3a9027d6d87e67ad6443f1b46eab07685b861d9e49da5856693265c62a6f8262c36d11c9092713a96a9124f43e6de6698eb84d77118496a + languageName: node + linkType: hard + +"rrweb-cssom@npm:^0.7.1": + version: 0.7.1 + resolution: "rrweb-cssom@npm:0.7.1" + checksum: 10c0/127b8ca6c8aac45e2755abbae6138d4a813b1bedc2caabf79466ae83ab3cfc84b5bfab513b7033f0aa4561c7753edf787d0dd01163ceacdee2e8eb1b6bf7237e + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"saxes@npm:^6.0.0": + version: 6.0.0 + resolution: "saxes@npm:6.0.0" + dependencies: + xmlchars: "npm:^2.2.0" + checksum: 10c0/3847b839f060ef3476eb8623d099aa502ad658f5c40fd60c105ebce86d244389b0d76fcae30f4d0c728d7705ceb2f7e9b34bb54717b6a7dbedaf5dad2d9a4b74 + languageName: node + linkType: hard + +"section-matter@npm:^1.0.0": + version: 1.0.0 + resolution: "section-matter@npm:1.0.0" + dependencies: + extend-shallow: "npm:^2.0.1" + kind-of: "npm:^6.0.0" + checksum: 10c0/8007f91780adc5aaa781a848eaae50b0f680bbf4043b90cf8a96778195b8fab690c87fe7a989e02394ce69890e330811ec8dab22397d384673ce59f7d750641d + languageName: node + linkType: hard + +"semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.3.5, semver@npm:^7.3.8, semver@npm:^7.6.2, semver@npm:^7.6.3": + version: 7.6.3 + resolution: "semver@npm:7.6.3" + bin: + semver: bin/semver.js + checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf + languageName: node + linkType: hard + +"seroval-plugins@npm:^1.1.0": + version: 1.1.1 + resolution: "seroval-plugins@npm:1.1.1" + peerDependencies: + seroval: ^1.0 + checksum: 10c0/69ef623f014643b709beac56a3ab018098d43ac5533a89d1435e5aa17461a1b669fbc7f34916d905454c12372a6ace3c6933fb2bf41e720638522abbfb5774e2 + languageName: node + linkType: hard + +"seroval@npm:^1.1.0": + version: 1.1.1 + resolution: "seroval@npm:1.1.1" + checksum: 10c0/bde54883a05150d63606ca9f95f72999fcec4ad2345ab45e7fe22bd9bcda98f4c36c6a1660d59b2d7e47389881aad4b1a93b6c0adbfa64bf67acd4bf7e304651 + languageName: node + linkType: hard + +"sharp@npm:^0.33.3": + version: 0.33.5 + resolution: "sharp@npm:0.33.5" + dependencies: + "@img/sharp-darwin-arm64": "npm:0.33.5" + "@img/sharp-darwin-x64": "npm:0.33.5" + "@img/sharp-libvips-darwin-arm64": "npm:1.0.4" + "@img/sharp-libvips-darwin-x64": "npm:1.0.4" + "@img/sharp-libvips-linux-arm": "npm:1.0.5" + "@img/sharp-libvips-linux-arm64": "npm:1.0.4" + "@img/sharp-libvips-linux-s390x": "npm:1.0.4" + "@img/sharp-libvips-linux-x64": "npm:1.0.4" + "@img/sharp-libvips-linuxmusl-arm64": "npm:1.0.4" + "@img/sharp-libvips-linuxmusl-x64": "npm:1.0.4" + "@img/sharp-linux-arm": "npm:0.33.5" + "@img/sharp-linux-arm64": "npm:0.33.5" + "@img/sharp-linux-s390x": "npm:0.33.5" + "@img/sharp-linux-x64": "npm:0.33.5" + "@img/sharp-linuxmusl-arm64": "npm:0.33.5" + "@img/sharp-linuxmusl-x64": "npm:0.33.5" + "@img/sharp-wasm32": "npm:0.33.5" + "@img/sharp-win32-ia32": "npm:0.33.5" + "@img/sharp-win32-x64": "npm:0.33.5" + color: "npm:^4.2.3" + detect-libc: "npm:^2.0.3" + semver: "npm:^7.6.3" + dependenciesMeta: + "@img/sharp-darwin-arm64": + optional: true + "@img/sharp-darwin-x64": + optional: true + "@img/sharp-libvips-darwin-arm64": + optional: true + "@img/sharp-libvips-darwin-x64": + optional: true + "@img/sharp-libvips-linux-arm": + optional: true + "@img/sharp-libvips-linux-arm64": + optional: true + "@img/sharp-libvips-linux-s390x": + optional: true + "@img/sharp-libvips-linux-x64": + optional: true + "@img/sharp-libvips-linuxmusl-arm64": + optional: true + "@img/sharp-libvips-linuxmusl-x64": + optional: true + "@img/sharp-linux-arm": + optional: true + "@img/sharp-linux-arm64": + optional: true + "@img/sharp-linux-s390x": + optional: true + "@img/sharp-linux-x64": + optional: true + "@img/sharp-linuxmusl-arm64": + optional: true + "@img/sharp-linuxmusl-x64": + optional: true + "@img/sharp-wasm32": + optional: true + "@img/sharp-win32-ia32": + optional: true + "@img/sharp-win32-x64": + optional: true + checksum: 10c0/6b81421ddfe6ee524d8d77e325c5e147fef22884e1c7b1656dfd89a88d7025894115da02d5f984261bf2e6daa16f98cadd1721c4ba408b4212b1d2a60f233484 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"shiki@npm:^1.10.3, shiki@npm:^1.11.0, shiki@npm:^1.14.1": + version: 1.14.1 + resolution: "shiki@npm:1.14.1" + dependencies: + "@shikijs/core": "npm:1.14.1" + "@types/hast": "npm:^3.0.4" + checksum: 10c0/756f45917f281e158eef114b985b9a4cae9f0470f955e2f96f4473a3aed327dc1d653b9bd6280eb28398bd0da6d533caa4fce61b716c1263c5d85df53964ade2 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"simple-swizzle@npm:^0.2.2": + version: 0.2.2 + resolution: "simple-swizzle@npm:0.2.2" + dependencies: + is-arrayish: "npm:^0.3.1" + checksum: 10c0/df5e4662a8c750bdba69af4e8263c5d96fe4cd0f9fe4bdfa3cbdeb45d2e869dff640beaaeb1ef0e99db4d8d2ec92f85508c269f50c972174851bc1ae5bd64308 + languageName: node + linkType: hard + +"sirv@npm:^2.0.3": + version: 2.0.4 + resolution: "sirv@npm:2.0.4" + dependencies: + "@polka/url": "npm:^1.0.0-next.24" + mrmime: "npm:^2.0.0" + totalist: "npm:^3.0.0" + checksum: 10c0/68f8ee857f6a9415e9c07a1f31c7c561df8d5f1b1ba79bee3de583fa37da8718def5309f6b1c6e2c3ef77de45d74f5e49efc7959214443aa92d42e9c99180a4e + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.5": + version: 1.0.5 + resolution: "sisteransi@npm:1.0.5" + checksum: 10c0/230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46 + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.4 + resolution: "socks-proxy-agent@npm:8.0.4" + dependencies: + agent-base: "npm:^7.1.1" + debug: "npm:^4.3.4" + socks: "npm:^2.8.3" + checksum: 10c0/345593bb21b95b0508e63e703c84da11549f0a2657d6b4e3ee3612c312cb3a907eac10e53b23ede3557c6601d63252103494caa306b66560f43af7b98f53957a + languageName: node + linkType: hard + +"socks@npm:^2.8.3": + version: 2.8.3 + resolution: "socks@npm:2.8.3" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/d54a52bf9325165770b674a67241143a3d8b4e4c8884560c4e0e078aace2a728dffc7f70150660f51b85797c4e1a3b82f9b7aa25e0a0ceae1a243365da5c51a7 + languageName: node + linkType: hard + +"solid-devtools@npm:^0.30.1": + version: 0.30.1 + resolution: "solid-devtools@npm:0.30.1" + dependencies: + "@babel/core": "npm:^7.23.3" + "@babel/plugin-syntax-typescript": "npm:^7.23.3" + "@babel/types": "npm:^7.23.3" + "@solid-devtools/debugger": "npm:^0.23.4" + "@solid-devtools/shared": "npm:^0.13.2" + peerDependencies: + solid-js: ^1.8.0 + solid-start: ^0.3.0 + vite: ^2.2.3 || ^3.0.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + solid-start: + optional: true + vite: + optional: true + checksum: 10c0/b8d6545fdb841b16b5d70e6248c7c1eb0980bf12f8fccb46254b74b26a1507404bac98f40b26f48a2e88d35f7b6ce09e61732a857c0dcd835de951891c5d9176 + languageName: node + linkType: hard + +"solid-js@npm:^1.8.18": + version: 1.9.1 + resolution: "solid-js@npm:1.9.1" + dependencies: + csstype: "npm:^3.1.0" + seroval: "npm:^1.1.0" + seroval-plugins: "npm:^1.1.0" + checksum: 10c0/32209babd637980eae2be6163d788093e43a27b24b11fc590be69696c5ada7b0ec00904a998c09da991e22f116e36b2c2916ce2b0e1bd629cfdcb4d160dd1b77 + languageName: node + linkType: hard + +"solid-refresh@npm:^0.6.3": + version: 0.6.3 + resolution: "solid-refresh@npm:0.6.3" + dependencies: + "@babel/generator": "npm:^7.23.6" + "@babel/helper-module-imports": "npm:^7.22.15" + "@babel/types": "npm:^7.23.6" + peerDependencies: + solid-js: ^1.3 + checksum: 10c0/04f474704fe60e28835ece852bb6a5ce60106d1d360c2d9ed0f5740751b60672705591b5ae57a35202fd6c13c8cf4eb0e17897e954317e204c2e2bda46b8bb17 + languageName: node + linkType: hard + +"source-map-js@npm:^1.2.0": + version: 1.2.0 + resolution: "source-map-js@npm:1.2.0" + checksum: 10c0/7e5f896ac10a3a50fe2898e5009c58ff0dc102dcb056ed27a354623a0ece8954d4b2649e1a1b2b52ef2e161d26f8859c7710350930751640e71e374fe2d321a4 + languageName: node + linkType: hard + +"source-map@npm:^0.7.0, source-map@npm:^0.7.4": + version: 0.7.4 + resolution: "source-map@npm:0.7.4" + checksum: 10c0/dc0cf3768fe23c345ea8760487f8c97ef6fca8a73c83cd7c9bf2fde8bc2c34adb9c0824d6feb14bc4f9e37fb522e18af621543f1289038a66ac7586da29aa7dc + languageName: node + linkType: hard + +"space-separated-tokens@npm:^2.0.0": + version: 2.0.2 + resolution: "space-separated-tokens@npm:2.0.2" + checksum: 10c0/6173e1d903dca41dcab6a2deed8b4caf61bd13b6d7af8374713500570aa929ff9414ae09a0519f4f8772df993300305a395d4871f35bc4ca72b6db57e1f30af8 + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb + languageName: node + linkType: hard + +"ssri@npm:^10.0.0": + version: 10.0.6 + resolution: "ssri@npm:10.0.6" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/e5a1e23a4057a86a97971465418f22ea89bd439ac36ade88812dd920e4e61873e8abd6a9b72a03a67ef50faa00a2daf1ab745c5a15b46d03e0544a0296354227 + languageName: node + linkType: hard + +"stdin-discarder@npm:^0.2.2": + version: 0.2.2 + resolution: "stdin-discarder@npm:0.2.2" + checksum: 10c0/c78375e82e956d7a64be6e63c809c7f058f5303efcaf62ea48350af072bacdb99c06cba39209b45a071c1acbd49116af30df1df9abb448df78a6005b72f10537 + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"string-width@npm:^7.2.0": + version: 7.2.0 + resolution: "string-width@npm:7.2.0" + dependencies: + emoji-regex: "npm:^10.3.0" + get-east-asian-width: "npm:^1.0.0" + strip-ansi: "npm:^7.1.0" + checksum: 10c0/eb0430dd43f3199c7a46dcbf7a0b34539c76fe3aa62763d0b0655acdcbdf360b3f66f3d58ca25ba0205f42ea3491fa00f09426d3b7d3040e506878fc7664c9b9 + languageName: node + linkType: hard + +"stringify-entities@npm:^4.0.0": + version: 4.0.4 + resolution: "stringify-entities@npm:4.0.4" + dependencies: + character-entities-html4: "npm:^2.0.0" + character-entities-legacy: "npm:^3.0.0" + checksum: 10c0/537c7e656354192406bdd08157d759cd615724e9d0873602d2c9b2f6a5c0a8d0b1d73a0a08677848105c5eebac6db037b57c0b3a4ec86331117fa7319ed50448 + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + languageName: node + linkType: hard + +"strip-bom-string@npm:^1.0.0": + version: 1.0.0 + resolution: "strip-bom-string@npm:1.0.0" + checksum: 10c0/5c5717e2643225aa6a6d659d34176ab2657037f1fe2423ac6fcdb488f135e14fef1022030e426d8b4d0989e09adbd5c3288d5d3b9c632abeefd2358dfc512bca + languageName: node + linkType: hard + +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 + languageName: node + linkType: hard + +"strip-final-newline@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-final-newline@npm:3.0.0" + checksum: 10c0/a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce + languageName: node + linkType: hard + +"style-to-object@npm:^0.4.0": + version: 0.4.4 + resolution: "style-to-object@npm:0.4.4" + dependencies: + inline-style-parser: "npm:0.1.1" + checksum: 10c0/3a733080da66952881175b17d65f92985cf94c1ca358a92cf21b114b1260d49b94a404ed79476047fb95698d64c7e366ca7443f0225939e2fb34c38bbc9c7639 + languageName: node + linkType: hard + +"style-to-object@npm:^1.0.0": + version: 1.0.6 + resolution: "style-to-object@npm:1.0.6" + dependencies: + inline-style-parser: "npm:0.2.3" + checksum: 10c0/be5e8e3f0e35c0338de4112b9d861db576a52ebbd97f2501f1fb2c900d05c8fc42c5114407fa3a7f8b39301146cd8ca03a661bf52212394125a9629d5b771aba + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: "npm:^3.0.0" + checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"symbol-tree@npm:^3.2.4": + version: 3.2.4 + resolution: "symbol-tree@npm:3.2.4" + checksum: 10c0/dfbe201ae09ac6053d163578778c53aa860a784147ecf95705de0cd23f42c851e1be7889241495e95c37cabb058edb1052f141387bef68f705afc8f9dd358509 + languageName: node + linkType: hard + +"tabbable@npm:^6.2.0": + version: 6.2.0 + resolution: "tabbable@npm:6.2.0" + checksum: 10c0/ced8b38f05f2de62cd46836d77c2646c42b8c9713f5bd265daf0e78ff5ac73d3ba48a7ca45f348bafeef29b23da7187c72250742d37627883ef89cbd7fa76898 + languageName: node + linkType: hard + +"tar@npm:^6.1.11, tar@npm:^6.2.1": + version: 6.2.1 + resolution: "tar@npm:6.2.1" + dependencies: + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.0.0" + minipass: "npm:^5.0.0" + minizlib: "npm:^2.1.1" + mkdirp: "npm:^1.0.3" + yallist: "npm:^4.0.0" + checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 + languageName: node + linkType: hard + +"tldts-core@npm:^6.1.47": + version: 6.1.47 + resolution: "tldts-core@npm:6.1.47" + checksum: 10c0/538372072aea7153e842646a9e22d0d9335acf7fd877d10ee374cf78dceff79a2ccebadf7d25e0dbddd7b7b60bafe1c885aac3e3b1d5bec7806963c89b163ee7 + languageName: node + linkType: hard + +"tldts@npm:^6.1.32": + version: 6.1.47 + resolution: "tldts@npm:6.1.47" + dependencies: + tldts-core: "npm:^6.1.47" + bin: + tldts: bin/cli.js + checksum: 10c0/42c999ab24ce3ab221cfefe77488d145d16d9523524913badaa4af4f1f0d65e0a92a678659b22b7d26d1c62796540c95158049220c9ff243090b93470f236302 + languageName: node + linkType: hard + +"to-fast-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "to-fast-properties@npm:2.0.0" + checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"totalist@npm:^3.0.0": + version: 3.0.1 + resolution: "totalist@npm:3.0.1" + checksum: 10c0/4bb1fadb69c3edbef91c73ebef9d25b33bbf69afe1e37ce544d5f7d13854cda15e47132f3e0dc4cafe300ddb8578c77c50a65004d8b6e97e77934a69aa924863 + languageName: node + linkType: hard + +"tough-cookie@npm:^5.0.0": + version: 5.0.0 + resolution: "tough-cookie@npm:5.0.0" + dependencies: + tldts: "npm:^6.1.32" + checksum: 10c0/4a69c885bf6f45c5a64e60262af99e8c0d58a33bd3d0ce5da62121eeb9c00996d0128a72df8fc4614cbde59cc8b70aa3e21e4c3c98c2bbde137d7aba7fa00124 + languageName: node + linkType: hard + +"tr46@npm:^5.0.0": + version: 5.0.0 + resolution: "tr46@npm:5.0.0" + dependencies: + punycode: "npm:^2.3.1" + checksum: 10c0/1521b6e7bbc8adc825c4561480f9fe48eb2276c81335eed9fa610aa4c44a48a3221f78b10e5f18b875769eb3413e30efbf209ed556a17a42aa8d690df44b7bee + languageName: node + linkType: hard + +"trim-lines@npm:^3.0.0": + version: 3.0.1 + resolution: "trim-lines@npm:3.0.1" + checksum: 10c0/3a1611fa9e52aa56a94c69951a9ea15b8aaad760eaa26c56a65330dc8adf99cb282fc07cc9d94968b7d4d88003beba220a7278bbe2063328eb23fb56f9509e94 + languageName: node + linkType: hard + +"trough@npm:^2.0.0": + version: 2.2.0 + resolution: "trough@npm:2.2.0" + checksum: 10c0/58b671fc970e7867a48514168894396dd94e6d9d6456aca427cc299c004fe67f35ed7172a36449086b2edde10e78a71a284ec0076809add6834fb8f857ccb9b0 + languageName: node + linkType: hard + +"tsconfck@npm:^3.1.1": + version: 3.1.3 + resolution: "tsconfck@npm:3.1.3" + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + bin: + tsconfck: bin/tsconfck.js + checksum: 10c0/64f7a8ed0a6d36b0902dfc0075e791d2242f7634644f124343ec0dec4f3f70092f929c5a9f59496d51883aa81bb1e595deb92a219593575d2e75b849064713d1 + languageName: node + linkType: hard + +"tslib@npm:^2.0.0, tslib@npm:^2.4.0": + version: 2.7.0 + resolution: "tslib@npm:2.7.0" + checksum: 10c0/469e1d5bf1af585742128827000711efa61010b699cb040ab1800bcd3ccdd37f63ec30642c9e07c4439c1db6e46345582614275daca3e0f4abae29b0083f04a6 + languageName: node + linkType: hard + +"type-fest@npm:^2.13.0": + version: 2.19.0 + resolution: "type-fest@npm:2.19.0" + checksum: 10c0/a5a7ecf2e654251613218c215c7493574594951c08e52ab9881c9df6a6da0aeca7528c213c622bc374b4e0cb5c443aa3ab758da4e3c959783ce884c3194e12cb + languageName: node + linkType: hard + +"typesafe-path@npm:^0.2.2": + version: 0.2.2 + resolution: "typesafe-path@npm:0.2.2" + checksum: 10c0/05027ea6a52a1e879da39c53fae7f5059e50cf578d586cc6c7741c3eca0b37ee2da4ef16d35ecf9f60cd0e8ca5aca98ea47902672907a19470f2260e8769b933 + languageName: node + linkType: hard + +"typescript-auto-import-cache@npm:^0.3.3": + version: 0.3.3 + resolution: "typescript-auto-import-cache@npm:0.3.3" + dependencies: + semver: "npm:^7.3.8" + checksum: 10c0/d189f61729204553bfd290d4870b37af4edeb00c426b705ef3102d8ef477d5e2c242a0387a24d48016ee5b4ebed1ca40438d993f779cc58eaa5c08667c3f45b3 + languageName: node + linkType: hard + +"typescript@npm:^5.5.3": + version: 5.6.2 + resolution: "typescript@npm:5.6.2" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/3ed8297a8c7c56b7fec282532503d1ac795239d06e7c4966b42d4330c6cf433a170b53bcf93a130a7f14ccc5235de5560df4f1045eb7f3550b46ebed16d3c5e5 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5.5.3#optional!builtin": + version: 5.6.2 + resolution: "typescript@patch:typescript@npm%3A5.6.2#optional!builtin::version=5.6.2&hash=8c6c40" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/94eb47e130d3edd964b76da85975601dcb3604b0c848a36f63ac448d0104e93819d94c8bdf6b07c00120f2ce9c05256b8b6092d23cf5cf1c6fa911159e4d572f + languageName: node + linkType: hard + +"undici-types@npm:~6.19.2": + version: 6.19.8 + resolution: "undici-types@npm:6.19.8" + checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 + languageName: node + linkType: hard + +"unified@npm:^10.0.0": + version: 10.1.2 + resolution: "unified@npm:10.1.2" + dependencies: + "@types/unist": "npm:^2.0.0" + bail: "npm:^2.0.0" + extend: "npm:^3.0.0" + is-buffer: "npm:^2.0.0" + is-plain-obj: "npm:^4.0.0" + trough: "npm:^2.0.0" + vfile: "npm:^5.0.0" + checksum: 10c0/da9195e3375a74ab861a65e1d7b0454225d17a61646697911eb6b3e97de41091930ed3d167eb11881d4097c51deac407091d39ddd1ee8bf1fde3f946844a17a7 + languageName: node + linkType: hard + +"unified@npm:^11.0.0, unified@npm:^11.0.4, unified@npm:^11.0.5": + version: 11.0.5 + resolution: "unified@npm:11.0.5" + dependencies: + "@types/unist": "npm:^3.0.0" + bail: "npm:^2.0.0" + devlop: "npm:^1.0.0" + extend: "npm:^3.0.0" + is-plain-obj: "npm:^4.0.0" + trough: "npm:^2.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/53c8e685f56d11d9d458a43e0e74328a4d6386af51c8ac37a3dcabec74ce5026da21250590d4aff6733ccd7dc203116aae2b0769abc18cdf9639a54ae528dfc9 + languageName: node + linkType: hard + +"unique-filename@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-filename@npm:3.0.0" + dependencies: + unique-slug: "npm:^4.0.0" + checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f + languageName: node + linkType: hard + +"unique-slug@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-slug@npm:4.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 + languageName: node + linkType: hard + +"unist-util-find-after@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-find-after@npm:5.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10c0/a7cea473c4384df8de867c456b797ff1221b20f822e1af673ff5812ed505358b36f47f3b084ac14c3622cb879ed833b71b288e8aa71025352a2aab4c2925a6eb + languageName: node + linkType: hard + +"unist-util-is@npm:^5.0.0": + version: 5.2.1 + resolution: "unist-util-is@npm:5.2.1" + dependencies: + "@types/unist": "npm:^2.0.0" + checksum: 10c0/a2376910b832bb10653d2167c3cd85b3610a5fd53f5169834c08b3c3a720fae9043d75ad32d727eedfc611491966c26a9501d428ec62467edc17f270feb5410b + languageName: node + linkType: hard + +"unist-util-is@npm:^6.0.0": + version: 6.0.0 + resolution: "unist-util-is@npm:6.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10c0/9419352181eaa1da35eca9490634a6df70d2217815bb5938a04af3a662c12c5607a2f1014197ec9c426fbef18834f6371bfdb6f033040fa8aa3e965300d70e7e + languageName: node + linkType: hard + +"unist-util-modify-children@npm:^4.0.0": + version: 4.0.0 + resolution: "unist-util-modify-children@npm:4.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + array-iterate: "npm:^2.0.0" + checksum: 10c0/63d44b09a2e4c674c72816d4328d668972e68cc965ea719fef1c642b66a3ebe3b102e284a3213b4920ebccff05e0f689b4eaae8a0e5c3dafcad117d1577496da + languageName: node + linkType: hard + +"unist-util-position-from-estree@npm:^2.0.0": + version: 2.0.0 + resolution: "unist-util-position-from-estree@npm:2.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10c0/39127bf5f0594e0a76d9241dec4f7aa26323517120ce1edd5ed91c8c1b9df7d6fb18af556e4b6250f1c7368825720ed892e2b6923be5cdc08a9bb16536dc37b3 + languageName: node + linkType: hard + +"unist-util-position@npm:^4.0.0": + version: 4.0.4 + resolution: "unist-util-position@npm:4.0.4" + dependencies: + "@types/unist": "npm:^2.0.0" + checksum: 10c0/e506d702e25a0fb47a64502054f709a6ff5db98993bf139eec868cd11eb7de34392b781c6c2002e2c24d97aa398c14b32a47076129f36e4b894a2c1351200888 + languageName: node + linkType: hard + +"unist-util-position@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-position@npm:5.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10c0/dde3b31e314c98f12b4dc6402f9722b2bf35e96a4f2d463233dd90d7cde2d4928074a7a11eff0a5eb1f4e200f27fc1557e0a64a7e8e4da6558542f251b1b7400 + languageName: node + linkType: hard + +"unist-util-remove-position@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-remove-position@npm:5.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-visit: "npm:^5.0.0" + checksum: 10c0/e8c76da4399446b3da2d1c84a97c607b37d03d1d92561e14838cbe4fdcb485bfc06c06cfadbb808ccb72105a80643976d0660d1fe222ca372203075be9d71105 + languageName: node + linkType: hard + +"unist-util-stringify-position@npm:^3.0.0": + version: 3.0.3 + resolution: "unist-util-stringify-position@npm:3.0.3" + dependencies: + "@types/unist": "npm:^2.0.0" + checksum: 10c0/14550027825230528f6437dad7f2579a841780318569851291be6c8a970bae6f65a7feb24dabbcfce0e5e68cacae85bf12cbda3f360f7c873b4db602bdf7bb21 + languageName: node + linkType: hard + +"unist-util-stringify-position@npm:^4.0.0": + version: 4.0.0 + resolution: "unist-util-stringify-position@npm:4.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10c0/dfe1dbe79ba31f589108cb35e523f14029b6675d741a79dea7e5f3d098785045d556d5650ec6a8338af11e9e78d2a30df12b1ee86529cded1098da3f17ee999e + languageName: node + linkType: hard + +"unist-util-visit-children@npm:^3.0.0": + version: 3.0.0 + resolution: "unist-util-visit-children@npm:3.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + checksum: 10c0/51e95f54fbf11d414952c011c761c3960864948ad3fd2abe3989eb18b18d96b8f48e7ea5ab6f23264d1a3f4f5a1ff76312dd8f2196c78b762098403505c3abb9 + languageName: node + linkType: hard + +"unist-util-visit-parents@npm:^5.1.1": + version: 5.1.3 + resolution: "unist-util-visit-parents@npm:5.1.3" + dependencies: + "@types/unist": "npm:^2.0.0" + unist-util-is: "npm:^5.0.0" + checksum: 10c0/f6829bfd8f2eddf63a32e2c302cd50978ef0c194b792c6fe60c2b71dfd7232415a3c5941903972543e9d34e6a8ea69dee9ccd95811f4a795495ed2ae855d28d0 + languageName: node + linkType: hard + +"unist-util-visit-parents@npm:^6.0.0, unist-util-visit-parents@npm:^6.0.1": + version: 6.0.1 + resolution: "unist-util-visit-parents@npm:6.0.1" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + checksum: 10c0/51b1a5b0aa23c97d3e03e7288f0cdf136974df2217d0999d3de573c05001ef04cccd246f51d2ebdfb9e8b0ed2704451ad90ba85ae3f3177cf9772cef67f56206 + languageName: node + linkType: hard + +"unist-util-visit@npm:^4.0.0": + version: 4.1.2 + resolution: "unist-util-visit@npm:4.1.2" + dependencies: + "@types/unist": "npm:^2.0.0" + unist-util-is: "npm:^5.0.0" + unist-util-visit-parents: "npm:^5.1.1" + checksum: 10c0/56a1f49a4d8e321e75b3c7821d540a45165a031dd06324bb0e8c75e7737bc8d73bdddbf0b0ca82000f9708a4c36861c6ebe88d01f7cf00e925f5d75f13a3a017 + languageName: node + linkType: hard + +"unist-util-visit@npm:^5.0.0": + version: 5.0.0 + resolution: "unist-util-visit@npm:5.0.0" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-is: "npm:^6.0.0" + unist-util-visit-parents: "npm:^6.0.0" + checksum: 10c0/51434a1d80252c1540cce6271a90fd1a106dbe624997c09ed8879279667fb0b2d3a685e02e92bf66598dcbe6cdffa7a5f5fb363af8fdf90dda6c855449ae39a5 + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.1.0": + version: 1.1.0 + resolution: "update-browserslist-db@npm:1.1.0" + dependencies: + escalade: "npm:^3.1.2" + picocolors: "npm:^1.0.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/a7452de47785842736fb71547651c5bbe5b4dc1e3722ccf48a704b7b34e4dcf633991eaa8e4a6a517ffb738b3252eede3773bef673ef9021baa26b056d63a5b9 + languageName: node + linkType: hard + +"uqr@npm:0.1.2": + version: 0.1.2 + resolution: "uqr@npm:0.1.2" + checksum: 10c0/40cd81b4c13f1764d52ec28da2d58e60816e6fae54d4eb75b32fbf3137937f438eff16c766139fb0faec5d248a5314591f5a0dbd694e569d419eed6f3bd80242 + languageName: node + linkType: hard + +"validate-html-nesting@npm:^1.2.1": + version: 1.2.2 + resolution: "validate-html-nesting@npm:1.2.2" + checksum: 10c0/4321ed3cae99a611b8d8e9b8dd7c06bd937102192b1639af362de1f5b74f199bfff5287490d31fd361a915d584efa544644edf028bcc8ac5f0993c0167531089 + languageName: node + linkType: hard + +"vfile-location@npm:^4.0.0": + version: 4.1.0 + resolution: "vfile-location@npm:4.1.0" + dependencies: + "@types/unist": "npm:^2.0.0" + vfile: "npm:^5.0.0" + checksum: 10c0/77097e819579214d3346aaa2b06e4d23e2413221ac4914679d312cf64973011b76f0e2424fa8f18987befcd6ed60f4f6c4c6ebd5d5326062173a95f6b4445a96 + languageName: node + linkType: hard + +"vfile-location@npm:^5.0.0": + version: 5.0.3 + resolution: "vfile-location@npm:5.0.3" + dependencies: + "@types/unist": "npm:^3.0.0" + vfile: "npm:^6.0.0" + checksum: 10c0/1711f67802a5bc175ea69750d59863343ed43d1b1bb25c0a9063e4c70595e673e53e2ed5cdbb6dcdc370059b31605144d95e8c061b9361bcc2b036b8f63a4966 + languageName: node + linkType: hard + +"vfile-message@npm:^3.0.0": + version: 3.1.4 + resolution: "vfile-message@npm:3.1.4" + dependencies: + "@types/unist": "npm:^2.0.0" + unist-util-stringify-position: "npm:^3.0.0" + checksum: 10c0/c4ccf9c0ced92d657846fd067fefcf91c5832cdbe2ecc431bb67886e8c959bf7fc05a9dbbca5551bc34c9c87a0a73854b4249f65c64ddfebc4d59ea24a18b996 + languageName: node + linkType: hard + +"vfile-message@npm:^4.0.0": + version: 4.0.2 + resolution: "vfile-message@npm:4.0.2" + dependencies: + "@types/unist": "npm:^3.0.0" + unist-util-stringify-position: "npm:^4.0.0" + checksum: 10c0/07671d239a075f888b78f318bc1d54de02799db4e9dce322474e67c35d75ac4a5ac0aaf37b18801d91c9f8152974ea39678aa72d7198758b07f3ba04fb7d7514 + languageName: node + linkType: hard + +"vfile@npm:^5.0.0": + version: 5.3.7 + resolution: "vfile@npm:5.3.7" + dependencies: + "@types/unist": "npm:^2.0.0" + is-buffer: "npm:^2.0.0" + unist-util-stringify-position: "npm:^3.0.0" + vfile-message: "npm:^3.0.0" + checksum: 10c0/c36bd4c3f16ec0c6cbad0711ca99200316bbf849d6b07aa4cb5d9062cc18ae89249fe62af9521926e9659c0e6bc5c2c1da0fe26b41fb71e757438297e1a41da4 + languageName: node + linkType: hard + +"vfile@npm:^6.0.0, vfile@npm:^6.0.2": + version: 6.0.3 + resolution: "vfile@npm:6.0.3" + dependencies: + "@types/unist": "npm:^3.0.0" + vfile-message: "npm:^4.0.0" + checksum: 10c0/e5d9eb4810623f23758cfc2205323e33552fb5972e5c2e6587babe08fe4d24859866277404fb9e2a20afb71013860d96ec806cb257536ae463c87d70022ab9ef + languageName: node + linkType: hard + +"vite-plugin-solid@npm:^2.10.2": + version: 2.10.2 + resolution: "vite-plugin-solid@npm:2.10.2" + dependencies: + "@babel/core": "npm:^7.23.3" + "@types/babel__core": "npm:^7.20.4" + babel-preset-solid: "npm:^1.8.4" + merge-anything: "npm:^5.1.7" + solid-refresh: "npm:^0.6.3" + vitefu: "npm:^0.2.5" + peerDependencies: + "@testing-library/jest-dom": ^5.16.6 || ^5.17.0 || ^6.* + solid-js: ^1.7.2 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + "@testing-library/jest-dom": + optional: true + checksum: 10c0/872a9d63d9d1ada29921de37f7420b0636ae7bc4c596072da0f098d03d932dee38b9e5f6ce88b42b4d3b19c9f06ceffcb86a335d2752784da18ca2827bf8ee56 + languageName: node + linkType: hard + +"vite@npm:^5.4.1": + version: 5.4.2 + resolution: "vite@npm:5.4.2" + dependencies: + esbuild: "npm:^0.21.3" + fsevents: "npm:~2.3.3" + postcss: "npm:^8.4.41" + rollup: "npm:^4.20.0" + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + sass-embedded: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: 10c0/23e347ca8aa6f0a774227e4eb7abae228f12c6806a727b046aa75e7ee37ffc2d68cff74360e12a42c347f79adc294e2363bc723b957bf4b382b5a8fb39e4df9d + languageName: node + linkType: hard + +"vitefu@npm:^0.2.5": + version: 0.2.5 + resolution: "vitefu@npm:0.2.5" + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + vite: + optional: true + checksum: 10c0/5781ece3025b6be0eb87ee7d97760a7721b1c6c5ad60ede5f37c86393ece3c8fce4245472f62368eb192448034086e25bdcadf098eefc271277176ab9a430204 + languageName: node + linkType: hard + +"volar-service-css@npm:0.0.61": + version: 0.0.61 + resolution: "volar-service-css@npm:0.0.61" + dependencies: + vscode-css-languageservice: "npm:^6.3.0" + vscode-languageserver-textdocument: "npm:^1.0.11" + vscode-uri: "npm:^3.0.8" + peerDependencies: + "@volar/language-service": ~2.4.0 + peerDependenciesMeta: + "@volar/language-service": + optional: true + checksum: 10c0/6e1fe8e2178f8d85c6f1e4e9ad5b39ac1b085a68c216454f0f388394b40c88d12e9c3481f4a21ef95bd70e06684c87ae57b96eb025870a60d66cc85035fa0f42 + languageName: node + linkType: hard + +"volar-service-emmet@npm:0.0.61": + version: 0.0.61 + resolution: "volar-service-emmet@npm:0.0.61" + dependencies: + "@emmetio/css-parser": "npm:^0.4.0" + "@emmetio/html-matcher": "npm:^1.3.0" + "@vscode/emmet-helper": "npm:^2.9.3" + vscode-uri: "npm:^3.0.8" + peerDependencies: + "@volar/language-service": ~2.4.0 + peerDependenciesMeta: + "@volar/language-service": + optional: true + checksum: 10c0/8fc608896014caae22ab59b7c4d16474e0b1daa9e0792f84ff1a0ff4691017b9e776cf9b3fc6def88c1e8e29b5fa9f9c62d91f62f2fc896eb855d929d1b7add3 + languageName: node + linkType: hard + +"volar-service-html@npm:0.0.61": + version: 0.0.61 + resolution: "volar-service-html@npm:0.0.61" + dependencies: + vscode-html-languageservice: "npm:^5.3.0" + vscode-languageserver-textdocument: "npm:^1.0.11" + vscode-uri: "npm:^3.0.8" + peerDependencies: + "@volar/language-service": ~2.4.0 + peerDependenciesMeta: + "@volar/language-service": + optional: true + checksum: 10c0/16f253d7580811102c2eef9a606ae81792bd461d8917a02886370d36e3555916805bb9dfe79cf5b52365a04124efb8c06822429185aee5f747e9327d03fdc556 + languageName: node + linkType: hard + +"volar-service-prettier@npm:0.0.61": + version: 0.0.61 + resolution: "volar-service-prettier@npm:0.0.61" + dependencies: + vscode-uri: "npm:^3.0.8" + peerDependencies: + "@volar/language-service": ~2.4.0 + prettier: ^2.2 || ^3.0 + peerDependenciesMeta: + "@volar/language-service": + optional: true + prettier: + optional: true + checksum: 10c0/c4d2c7a60f41a546cbf6359979f92d284283ab50545a7cdc0be698ec9296105e575ea3271c724c99fe8179046574eb12e423e4b3f5765cc23523ceef6c309e7b + languageName: node + linkType: hard + +"volar-service-typescript-twoslash-queries@npm:0.0.61": + version: 0.0.61 + resolution: "volar-service-typescript-twoslash-queries@npm:0.0.61" + dependencies: + vscode-uri: "npm:^3.0.8" + peerDependencies: + "@volar/language-service": ~2.4.0 + peerDependenciesMeta: + "@volar/language-service": + optional: true + checksum: 10c0/1c55d6f0745d0f6077fcc773bfaca56c92090dc1e5a6e6ce2aa437bfe0d8649dd412b67045b5d3f7aec52e8fbb6cde9291088e1ecb7cfe942953a249b4537d28 + languageName: node + linkType: hard + +"volar-service-typescript@npm:0.0.61": + version: 0.0.61 + resolution: "volar-service-typescript@npm:0.0.61" + dependencies: + path-browserify: "npm:^1.0.1" + semver: "npm:^7.6.2" + typescript-auto-import-cache: "npm:^0.3.3" + vscode-languageserver-textdocument: "npm:^1.0.11" + vscode-nls: "npm:^5.2.0" + vscode-uri: "npm:^3.0.8" + peerDependencies: + "@volar/language-service": ~2.4.0 + peerDependenciesMeta: + "@volar/language-service": + optional: true + checksum: 10c0/c27a884c0f7cb43d456c46e9c09504e51b76d6d3bee75621a50bd10f6b771433d76640bdb8fc4ade00073f16de2d5e7ed6e88fa0994fe9ab5c0ba6fa907f461e + languageName: node + linkType: hard + +"volar-service-yaml@npm:0.0.61": + version: 0.0.61 + resolution: "volar-service-yaml@npm:0.0.61" + dependencies: + vscode-uri: "npm:^3.0.8" + yaml-language-server: "npm:~1.15.0" + peerDependencies: + "@volar/language-service": ~2.4.0 + peerDependenciesMeta: + "@volar/language-service": + optional: true + checksum: 10c0/be067b82b2389523d5e290dea3087674d3d44a1cd837e0a94794a8c81488b2f509a4115653213e05afd854d860accf653a68b2d392f6a6f83e1a99a409a61faa + languageName: node + linkType: hard + +"vscode-css-languageservice@npm:^6.3.0": + version: 6.3.0 + resolution: "vscode-css-languageservice@npm:6.3.0" + dependencies: + "@vscode/l10n": "npm:^0.0.18" + vscode-languageserver-textdocument: "npm:^1.0.11" + vscode-languageserver-types: "npm:3.17.5" + vscode-uri: "npm:^3.0.8" + checksum: 10c0/3afca42c36936583880ba99c1d5236a8bc8e410b2ccc3be49580dc1c448d78e7098701fc0ea12d76eecdf0a282630a3bd96ce6dfd867051f0c1c365276287ad3 + languageName: node + linkType: hard + +"vscode-html-languageservice@npm:^5.2.0, vscode-html-languageservice@npm:^5.3.0": + version: 5.3.0 + resolution: "vscode-html-languageservice@npm:5.3.0" + dependencies: + "@vscode/l10n": "npm:^0.0.18" + vscode-languageserver-textdocument: "npm:^1.0.11" + vscode-languageserver-types: "npm:^3.17.5" + vscode-uri: "npm:^3.0.8" + checksum: 10c0/2db5703568a654b6cad9f20b5374ef73ec058aac86efd886edce441eecb41d21204818c76b2784bb5f57c6127f44d5a2c8809da4b90e257981e6a20943ae31b5 + languageName: node + linkType: hard + +"vscode-json-languageservice@npm:4.1.8": + version: 4.1.8 + resolution: "vscode-json-languageservice@npm:4.1.8" + dependencies: + jsonc-parser: "npm:^3.0.0" + vscode-languageserver-textdocument: "npm:^1.0.1" + vscode-languageserver-types: "npm:^3.16.0" + vscode-nls: "npm:^5.0.0" + vscode-uri: "npm:^3.0.2" + checksum: 10c0/9165703884e5eef52d4bf52294051df6623461cc7a3d458ef1f4fa3f98ac93c3a79efc8c4a15fda6ddf6e43d155c207c3c13534dcac3fe7982ddf1926dbf22a7 + languageName: node + linkType: hard + +"vscode-jsonrpc@npm:6.0.0": + version: 6.0.0 + resolution: "vscode-jsonrpc@npm:6.0.0" + checksum: 10c0/22c35873155a62e71c454ad71165683536361eaabc1f07af41cbfd83c4c3bbfe3b36b58faba2b059d8f20da61b645a8c687bdf449407196e0bdb0a080257ca69 + languageName: node + linkType: hard + +"vscode-jsonrpc@npm:8.2.0": + version: 8.2.0 + resolution: "vscode-jsonrpc@npm:8.2.0" + checksum: 10c0/0789c227057a844f5ead55c84679206227a639b9fb76e881185053abc4e9848aa487245966cc2393fcb342c4541241b015a1a2559fddd20ac1e68945c95344e6 + languageName: node + linkType: hard + +"vscode-languageserver-protocol@npm:3.16.0": + version: 3.16.0 + resolution: "vscode-languageserver-protocol@npm:3.16.0" + dependencies: + vscode-jsonrpc: "npm:6.0.0" + vscode-languageserver-types: "npm:3.16.0" + checksum: 10c0/6a1ca737d826a710271b36d72c0833dfc8f78c68416725173892195d04b358ee8eb1095d5edfb7a62c7ea01128c762b9463ee8b6b1949efe060a43fe621ea62a + languageName: node + linkType: hard + +"vscode-languageserver-protocol@npm:3.17.5, vscode-languageserver-protocol@npm:^3.17.5": + version: 3.17.5 + resolution: "vscode-languageserver-protocol@npm:3.17.5" + dependencies: + vscode-jsonrpc: "npm:8.2.0" + vscode-languageserver-types: "npm:3.17.5" + checksum: 10c0/5f38fd80da9868d706eaa4a025f4aff9c3faad34646bcde1426f915cbd8d7e8b6c3755ce3fef6eebd256ba3145426af1085305f8a76e34276d2e95aaf339a90b + languageName: node + linkType: hard + +"vscode-languageserver-textdocument@npm:^1.0.1, vscode-languageserver-textdocument@npm:^1.0.11": + version: 1.0.12 + resolution: "vscode-languageserver-textdocument@npm:1.0.12" + checksum: 10c0/534349894b059602c4d97615a1147b6c4c031141c2093e59657f54e38570f5989c21b376836f13b9375419869242e9efb4066643208b21ab1e1dee111a0f00fb + languageName: node + linkType: hard + +"vscode-languageserver-types@npm:3.16.0": + version: 3.16.0 + resolution: "vscode-languageserver-types@npm:3.16.0" + checksum: 10c0/cc1bd68a7fe94152849e434cfc6fd8471f5c17198057fc6c95814d4b1655ab2b76d577b5fcd0f1f2a5df0285f054c96b9698e6d33e8183846f152d6e7d3ecc97 + languageName: node + linkType: hard + +"vscode-languageserver-types@npm:3.17.5, vscode-languageserver-types@npm:^3.15.1, vscode-languageserver-types@npm:^3.16.0, vscode-languageserver-types@npm:^3.17.5": + version: 3.17.5 + resolution: "vscode-languageserver-types@npm:3.17.5" + checksum: 10c0/1e1260de79a2cc8de3e46f2e0182cdc94a7eddab487db5a3bd4ee716f67728e685852707d72c059721ce500447be9a46764a04f0611e94e4321ffa088eef36f8 + languageName: node + linkType: hard + +"vscode-languageserver@npm:^7.0.0": + version: 7.0.0 + resolution: "vscode-languageserver@npm:7.0.0" + dependencies: + vscode-languageserver-protocol: "npm:3.16.0" + bin: + installServerIntoExtension: bin/installServerIntoExtension + checksum: 10c0/a36f66ab2f43ff3a754ccca5030ac3ec73cf373ab3d4d65c1de59895198b3abb3760691ada71fd7837e7dbda1eb14526420b4b91fe562facabfc568a2e58a88a + languageName: node + linkType: hard + +"vscode-languageserver@npm:^9.0.1": + version: 9.0.1 + resolution: "vscode-languageserver@npm:9.0.1" + dependencies: + vscode-languageserver-protocol: "npm:3.17.5" + bin: + installServerIntoExtension: bin/installServerIntoExtension + checksum: 10c0/8a0838d77c98a211c76e54bd3a6249fc877e4e1a73322673fb0e921168d8e91de4f170f1d4ff7e8b6289d0698207afc6aba6662d4c1cd8e4bd7cae96afd6b0c2 + languageName: node + linkType: hard + +"vscode-nls@npm:^5.0.0, vscode-nls@npm:^5.2.0": + version: 5.2.0 + resolution: "vscode-nls@npm:5.2.0" + checksum: 10c0/dc9e48f58ebbc807f435d351008813a2ea0c9432d51e778bcac9163c0642f929ddb518411ad654e775ce31e24d6acfa8fb7db8893c05b42c2019894e08b050f9 + languageName: node + linkType: hard + +"vscode-uri@npm:^2.1.2": + version: 2.1.2 + resolution: "vscode-uri@npm:2.1.2" + checksum: 10c0/4ed01e79f8caee5518d7dce567280001a00c87ff75c29421ac3693c735834f17950e79f818981c591e58c6efe681e13928470037b6ae75c948bec9b398e4c8db + languageName: node + linkType: hard + +"vscode-uri@npm:^3.0.2, vscode-uri@npm:^3.0.8": + version: 3.0.8 + resolution: "vscode-uri@npm:3.0.8" + checksum: 10c0/f7f217f526bf109589969fe6e66b71e70b937de1385a1d7bb577ca3ee7c5e820d3856a86e9ff2fa9b7a0bc56a3dd8c3a9a557d3fedd7df414bc618d5e6b567f9 + languageName: node + linkType: hard + +"w3c-xmlserializer@npm:^5.0.0": + version: 5.0.0 + resolution: "w3c-xmlserializer@npm:5.0.0" + dependencies: + xml-name-validator: "npm:^5.0.0" + checksum: 10c0/8712774c1aeb62dec22928bf1cdfd11426c2c9383a1a63f2bcae18db87ca574165a0fbe96b312b73652149167ac6c7f4cf5409f2eb101d9c805efe0e4bae798b + languageName: node + linkType: hard + +"web-namespaces@npm:^2.0.0": + version: 2.0.1 + resolution: "web-namespaces@npm:2.0.1" + checksum: 10c0/df245f466ad83bd5cd80bfffc1674c7f64b7b84d1de0e4d2c0934fb0782e0a599164e7197a4bce310ee3342fd61817b8047ff04f076a1ce12dd470584142a4bd + languageName: node + linkType: hard + +"webidl-conversions@npm:^7.0.0": + version: 7.0.0 + resolution: "webidl-conversions@npm:7.0.0" + checksum: 10c0/228d8cb6d270c23b0720cb2d95c579202db3aaf8f633b4e9dd94ec2000a04e7e6e43b76a94509cdb30479bd00ae253ab2371a2da9f81446cc313f89a4213a2c4 + languageName: node + linkType: hard + +"whatwg-encoding@npm:^3.1.1": + version: 3.1.1 + resolution: "whatwg-encoding@npm:3.1.1" + dependencies: + iconv-lite: "npm:0.6.3" + checksum: 10c0/273b5f441c2f7fda3368a496c3009edbaa5e43b71b09728f90425e7f487e5cef9eb2b846a31bd760dd8077739c26faf6b5ca43a5f24033172b003b72cf61a93e + languageName: node + linkType: hard + +"whatwg-mimetype@npm:^4.0.0": + version: 4.0.0 + resolution: "whatwg-mimetype@npm:4.0.0" + checksum: 10c0/a773cdc8126b514d790bdae7052e8bf242970cebd84af62fb2f35a33411e78e981f6c0ab9ed1fe6ec5071b09d5340ac9178e05b52d35a9c4bcf558ba1b1551df + languageName: node + linkType: hard + +"whatwg-url@npm:^14.0.0": + version: 14.0.0 + resolution: "whatwg-url@npm:14.0.0" + dependencies: + tr46: "npm:^5.0.0" + webidl-conversions: "npm:^7.0.0" + checksum: 10c0/ac32e9ba9d08744605519bbe9e1371174d36229689ecc099157b6ba102d4251a95e81d81f3d80271eb8da182eccfa65653f07f0ab43ea66a6934e643fd091ba9 + languageName: node + linkType: hard + +"which-pm-runs@npm:^1.1.0": + version: 1.1.0 + resolution: "which-pm-runs@npm:1.1.0" + checksum: 10c0/b8f2f230aa49babe21cb93f169f5da13937f940b8cc7a47d2078d9d200950c0dba5ac5659bc01bdbe401e6db3adec6a97b6115215a4ca8e87fd714aebd0cabc6 + languageName: node + linkType: hard + +"which-pm@npm:^3.0.0": + version: 3.0.0 + resolution: "which-pm@npm:3.0.0" + dependencies: + load-yaml-file: "npm:^0.2.0" + checksum: 10c0/42be608abc9012b1456b99a1f3354119eb2500908e48532f873aa9d8c705d235d1b4ade62a2b28e35e90ecac1e0750a69cd6a079e3cf3e11d6bc1b601dbfda44 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^4.0.0": + version: 4.0.0 + resolution: "which@npm:4.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a + languageName: node + linkType: hard + +"widest-line@npm:^4.0.1": + version: 4.0.1 + resolution: "widest-line@npm:4.0.1" + dependencies: + string-width: "npm:^5.0.1" + checksum: 10c0/7da9525ba45eaf3e4ed1a20f3dcb9b85bd9443962450694dae950f4bdd752839747bbc14713522b0b93080007de8e8af677a61a8c2114aa553ad52bde72d0f9c + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"ws@npm:^8.18.0": + version: 8.18.0 + resolution: "ws@npm:8.18.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/25eb33aff17edcb90721ed6b0eb250976328533ad3cd1a28a274bd263682e7296a6591ff1436d6cbc50fa67463158b062f9d1122013b361cec99a05f84680e06 + languageName: node + linkType: hard + +"xml-name-validator@npm:^5.0.0": + version: 5.0.0 + resolution: "xml-name-validator@npm:5.0.0" + checksum: 10c0/3fcf44e7b73fb18be917fdd4ccffff3639373c7cb83f8fc35df6001fecba7942f1dbead29d91ebb8315e2f2ff786b508f0c9dc0215b6353f9983c6b7d62cb1f5 + languageName: node + linkType: hard + +"xmlchars@npm:^2.2.0": + version: 2.2.0 + resolution: "xmlchars@npm:2.2.0" + checksum: 10c0/b64b535861a6f310c5d9bfa10834cf49127c71922c297da9d4d1b45eeaae40bf9b4363275876088fbe2667e5db028d2cd4f8ee72eed9bede840a67d57dab7593 + languageName: node + linkType: hard + +"xxhash-wasm@npm:^1.0.2": + version: 1.0.2 + resolution: "xxhash-wasm@npm:1.0.2" + checksum: 10c0/5ba899d9216d9897de2d61a5331b16c99226e75ce47895fc8c730bac5cb00e6e50856dd8f489c12b3012f0fc81b6894806b2e44d2eb3cc7843919793485a30d1 + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yaml-language-server@npm:~1.15.0": + version: 1.15.0 + resolution: "yaml-language-server@npm:1.15.0" + dependencies: + ajv: "npm:^8.11.0" + lodash: "npm:4.17.21" + prettier: "npm:2.8.7" + request-light: "npm:^0.5.7" + vscode-json-languageservice: "npm:4.1.8" + vscode-languageserver: "npm:^7.0.0" + vscode-languageserver-textdocument: "npm:^1.0.1" + vscode-languageserver-types: "npm:^3.16.0" + vscode-nls: "npm:^5.0.0" + vscode-uri: "npm:^3.0.2" + yaml: "npm:2.2.2" + dependenciesMeta: + prettier: + optional: true + bin: + yaml-language-server: bin/yaml-language-server + checksum: 10c0/0f01cb9503ebde941b4f9d1efc3c2df3132781f977079626d8d7b816073f4a1b4ed9a3bacfb020d39dacdf484847804045b87d5e4baadbc379c9f4194b4a06b4 + languageName: node + linkType: hard + +"yaml@npm:2.2.2": + version: 2.2.2 + resolution: "yaml@npm:2.2.2" + checksum: 10c0/a95bed9205a1f1cac11b315cb3f7ddf6b9979b85a478a18c86abf3066fd8d32c88f8de128c1ea97c2ac5f05de3268ff64e8286c241fd956851f1308044a50a9d + languageName: node + linkType: hard + +"yaml@npm:^2.5.0": + version: 2.5.0 + resolution: "yaml@npm:2.5.0" + bin: + yaml: bin.mjs + checksum: 10c0/771a1df083c8217cf04ef49f87244ae2dd7d7457094425e793b8f056159f167602ce172aa32d6bca21f787d24ec724aee3cecde938f6643564117bd151452631 + languageName: node + linkType: hard + +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 + languageName: node + linkType: hard + +"yargs@npm:^17.7.2": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" + dependencies: + cliui: "npm:^8.0.1" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.1.1" + checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05 + languageName: node + linkType: hard + +"yocto-queue@npm:^1.1.1": + version: 1.1.1 + resolution: "yocto-queue@npm:1.1.1" + checksum: 10c0/cb287fe5e6acfa82690acb43c283de34e945c571a78a939774f6eaba7c285bacdf6c90fbc16ce530060863984c906d2b4c6ceb069c94d1e0a06d5f2b458e2a92 + languageName: node + linkType: hard + +"zod-to-json-schema@npm:^3.23.2": + version: 3.23.2 + resolution: "zod-to-json-schema@npm:3.23.2" + peerDependencies: + zod: ^3.23.3 + checksum: 10c0/7c9a4756a5eba231d2c354528eb8338a96489a2f804d1a8619e1baa10dde4178fc9f1b4f369e965d858b19a226dcb3375e5b38b5e822c52e2d7ad529d2a6912d + languageName: node + linkType: hard + +"zod-to-ts@npm:^1.2.0": + version: 1.2.0 + resolution: "zod-to-ts@npm:1.2.0" + peerDependencies: + typescript: ^4.9.4 || ^5.0.2 + zod: ^3 + checksum: 10c0/69375a29b04ac93fcfb7df286984a287c06219b51a0a70f15088baa662378d2078f4f96730f0090713df9172f02fe84ba9767cd2e1fbbc55f7d48b2190d9b0d9 + languageName: node + linkType: hard + +"zod@npm:^3.23.8": + version: 3.23.8 + resolution: "zod@npm:3.23.8" + checksum: 10c0/8f14c87d6b1b53c944c25ce7a28616896319d95bc46a9660fe441adc0ed0a81253b02b5abdaeffedbeb23bdd25a0bf1c29d2c12dd919aef6447652dd295e3e69 + languageName: node + linkType: hard + +"zwitch@npm:^2.0.0, zwitch@npm:^2.0.4": + version: 2.0.4 + resolution: "zwitch@npm:2.0.4" + checksum: 10c0/3c7830cdd3378667e058ffdb4cf2bb78ac5711214e2725900873accb23f3dfe5f9e7e5a06dcdc5f29605da976fc45c26d9a13ca334d6eea2245a15e77b8fc06e + languageName: node + linkType: hard