diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 4b56aec7..00000000
--- a/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2024 NODE-TEC
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/README.md b/README.md
index 4b9f5613..b6266598 100644
--- a/README.md
+++ b/README.md
@@ -1,37 +1,67 @@
-
+Comet is a desktop app for taking and publishing notes for nostr.
-
+## Development
-[Comet Notes](https://comet.md/ "Comet Notes") is a note-taking app with [Nostr](https://nostr.com/ "Nostr") integration.
+### Keep go modules up to date
-## Download
+```sh
+go mod tidy
+```
-You can download the app from the [Comet Notes](https://comet.md/ "Comet Notes") website.
+## Getting Started
-You can also download Comet Notes by navigating to the [Releases](https://github.com/nodetec/comet/releases "Releases") page and clicking on the release you want to download.
+1. Navigate to your project directory in the terminal.
-## Contribute
+2. To run your application in development mode, use the following command:
-To install the dependencies and start the app in development mode, run the following command:
+ ```
+ wails3 dev
+ ```
-```bash
-wails3 dev
-```
+ This will start your application and enable hot-reloading for both frontend and backend changes.
+
+3. To build your application for production, use:
+
+ ```
+ wails3 build
+ ```
+
+ This will create a production-ready executable in the `build` directory.
+
+## Exploring Wails3 Features
+
+Now that you have your project set up, it's time to explore the features that Wails3 offers:
+
+1. **Check out the examples**: The best way to learn is by example. Visit the `examples` directory in the `v3/examples` directory to see various sample applications.
+
+2. **Run an example**: To run any of the examples, navigate to the example's directory and use:
+
+ ```
+ go run .
+ ```
+
+ Note: Some examples may be under development during the alpha phase.
+
+3. **Explore the documentation**: Visit the [Wails3 documentation](https://v3alpha.wails.io/) for in-depth guides and API references.
+
+4. **Join the community**: Have questions or want to share your progress? Join the [Wails Discord](https://discord.gg/JDdSxwjhGf) or visit the [Wails discussions on GitHub](https://github.com/wailsapp/wails/discussions).
+
+## Project Structure
+
+Take a moment to familiarize yourself with your project structure:
+
+- `frontend/`: Contains your frontend code (HTML, CSS, JavaScript/TypeScript)
+- `main.go`: The entry point of your Go backend
+- `app.go`: Define your application structure and methods here
+- `wails.json`: Configuration file for your Wails project
+
+## Next Steps
+
+1. Modify the frontend in the `frontend/` directory to create your desired UI.
+2. Add backend functionality in `main.go`.
+3. Use `wails3 dev` to see your changes in real-time.
+4. When ready, build your application with `wails3 build`.
+
+Happy coding with Wails3! If you encounter any issues or have questions, don't hesitate to consult the documentation or reach out to the Wails community.
diff --git a/Taskfile.yml b/Taskfile.yml
index 646db22c..35bfda8c 100644
--- a/Taskfile.yml
+++ b/Taskfile.yml
@@ -1,13 +1,13 @@
version: '3'
includes:
- common: ./build/Taskfile.yml
- windows: ./build/windows/Taskfile.yml
- darwin: ./build/darwin/Taskfile.yml
- linux: ./build/linux/Taskfile.yml
+ common: ./build/Taskfile.common.yml
+ windows: ./build/Taskfile.windows.yml
+ darwin: ./build/Taskfile.darwin.yml
+ linux: ./build/Taskfile.linux.yml
vars:
- APP_NAME: "asdf"
+ APP_NAME: "comet"
BIN_DIR: "bin"
VITE_PORT: '{{.WAILS_VITE_PORT | default 9245}}'
@@ -32,3 +32,23 @@ tasks:
cmds:
- wails3 dev -config ./build/config.yml -port {{.VITE_PORT}}
+ darwin:build:universal:
+ summary: Builds darwin universal binary (arm64 + amd64)
+ cmds:
+ - task: darwin:build
+ vars:
+ ARCH: amd64
+ - mv {{.BIN_DIR}}/{{.APP_NAME}} {{.BIN_DIR}}/{{.APP_NAME}}-amd64
+ - task: darwin:build
+ vars:
+ ARCH: arm64
+ - mv {{.BIN_DIR}}/{{.APP_NAME}} {{.BIN_DIR}}/{{.APP_NAME}}-arm64
+ - lipo -create -output {{.BIN_DIR}}/{{.APP_NAME}} {{.BIN_DIR}}/{{.APP_NAME}}-amd64 {{.BIN_DIR}}/{{.APP_NAME}}-arm64
+ - rm {{.BIN_DIR}}/{{.APP_NAME}}-amd64 {{.BIN_DIR}}/{{.APP_NAME}}-arm64
+
+ darwin:package:universal:
+ summary: Packages darwin universal binary (arm64 + amd64)
+ deps:
+ - darwin:build:universal
+ cmds:
+ - task: darwin:create:app:bundle
diff --git a/backend/db/init.go b/backend/db/init.go
new file mode 100644
index 00000000..013f93f8
--- /dev/null
+++ b/backend/db/init.go
@@ -0,0 +1,85 @@
+package db
+
+import (
+ "log"
+ "path/filepath"
+
+ "comet/backend/db/schemas"
+
+ "embed"
+
+ "github.com/adrg/xdg"
+ "github.com/jmoiron/sqlx"
+ _ "github.com/mattn/go-sqlite3"
+ "github.com/pressly/goose/v3"
+)
+
+// Database instance
+var DB *sqlx.DB
+
+// Init initializes the SQLite database and creates tables
+func Init(embedMigrations embed.FS) {
+ var err error
+
+ // Get the data home directory
+ dbPath := filepath.Join(xdg.DataHome, "comet", "comet.db")
+
+ // Set PRAGMAs in the connection string
+ dbConn, err := sqlx.Open("sqlite3", dbPath+"?_foreign_keys=on&_journal_mode=WAL&_synchronous=NORMAL&_temp_store=MEMORY&_cache_size=-2000")
+ if err != nil {
+ log.Fatalf("Failed to connect to database: %v", err)
+ }
+ DB = dbConn
+
+ goose.SetBaseFS(embedMigrations)
+
+ if err := goose.SetDialect("sqlite3"); err != nil {
+ panic(err)
+ }
+
+ // Perform migrations
+ if err := goose.Up(DB.DB, "migrations"); err != nil {
+ log.Fatalf("Failed to apply migrations: %v", err)
+ }
+
+ // List of table schemas
+ tableSchemas := []string{
+ schemas.NotesTableSchema,
+ schemas.TagsTableSchema,
+ schemas.NotebooksTableSchema,
+ schemas.NotesTagsTableSchema,
+ schemas.NotebookTagsTableSchema,
+ schemas.RelaysTableSchema,
+ schemas.UsersTableSchema,
+ schemas.SettingsTableSchema,
+ }
+
+ // Create tables
+ for _, schema := range tableSchemas {
+ _, err := DB.Exec(schema)
+ if err != nil {
+ log.Fatalf("Failed to execute schema: %v", err)
+ }
+ }
+
+ // List of triggers
+ triggers := []string{
+ schemas.UpdateNotesModifiedAtTrigger,
+ schemas.UpdateTagsModifiedAtTrigger,
+ schemas.UpdateNotebooksModifiedAtTrigger,
+ schemas.UpdateRelaysModifiedAtTrigger,
+ schemas.UpdateUsersModifiedAtTrigger,
+ schemas.UpdateSettingsModifiedAtTrigger,
+ schemas.EnsureOnlyOneActiveNoteTrigger,
+ }
+
+ // Create triggers
+ for _, trigger := range triggers {
+ _, err := DB.Exec(trigger)
+ if err != nil {
+ log.Fatalf("Failed to execute trigger: %v", err)
+ }
+ }
+
+ log.Println("All tables created or already exist.")
+}
diff --git a/backend/db/schemas/notebook_tags.go b/backend/db/schemas/notebook_tags.go
new file mode 100644
index 00000000..3fc2a49d
--- /dev/null
+++ b/backend/db/schemas/notebook_tags.go
@@ -0,0 +1,22 @@
+package schemas
+
+// NotebookTagsTableSchema defines the schema for the notebook_tags junction table
+const NotebookTagsTableSchema = `
+CREATE TABLE IF NOT EXISTS notebook_tags (
+ notebook_id INTEGER NOT NULL,
+ tag_id INTEGER NOT NULL,
+ PRIMARY KEY (notebook_id, tag_id),
+ FOREIGN KEY (notebook_id) REFERENCES notebooks(id) ON DELETE CASCADE,
+ FOREIGN KEY (tag_id) REFERENCES tags(id) ON DELETE CASCADE,
+ CHECK (notebook_id > 0),
+ CHECK (tag_id > 0)
+);
+
+CREATE INDEX IF NOT EXISTS idx_notebook_id ON notebook_tags(notebook_id);
+CREATE INDEX IF NOT EXISTS idx_tag_id ON notebook_tags(tag_id);`
+
+// NotebookTag represents a junction between a notebook and a tag
+type NotebookTag struct {
+ NotebookID int `db:"notebook_id"`
+ TagID int `db:"tag_id"`
+}
diff --git a/backend/db/schemas/notebooks.go b/backend/db/schemas/notebooks.go
new file mode 100644
index 00000000..e7c2aeb6
--- /dev/null
+++ b/backend/db/schemas/notebooks.go
@@ -0,0 +1,36 @@
+package schemas
+
+// NotebooksTableSchema defines the schema for the notebooks table
+const NotebooksTableSchema = `
+CREATE TABLE IF NOT EXISTS notebooks (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ name TEXT NOT NULL,
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ modified_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ pinned BOOLEAN NOT NULL DEFAULT 1,
+ active BOOLEAN NOT NULL DEFAULT 0,
+ UNIQUE (name),
+ CHECK (name <> '')
+);
+
+CREATE INDEX IF NOT EXISTS idx_name ON notebooks(name);
+CREATE INDEX IF NOT EXISTS idx_created_at ON notebooks(created_at);`
+
+// UpdateNotebooksModifiedAtTrigger defines the trigger for updating modified_at on update
+const UpdateNotebooksModifiedAtTrigger = `
+CREATE TRIGGER IF NOT EXISTS update_notebooks_modified_at
+AFTER UPDATE ON notebooks
+FOR EACH ROW
+BEGIN
+ UPDATE notebooks SET modified_at = CURRENT_TIMESTAMP WHERE id = OLD.id;
+END;`
+
+// Notebook represents a notebook in the application
+type Notebook struct {
+ ID int `db:"id"`
+ Name string `db:"name"`
+ CreatedAt string `db:"created_at"`
+ ModifiedAt string `db:"modified_at"`
+ Pinned bool `db:"pinned"`
+ Active bool `db:"active"`
+}
diff --git a/backend/db/schemas/notes.go b/backend/db/schemas/notes.go
new file mode 100644
index 00000000..b91cab40
--- /dev/null
+++ b/backend/db/schemas/notes.go
@@ -0,0 +1,83 @@
+package schemas
+
+// Note represents a note in the application
+type Note struct {
+ ID int `db:"id"`
+ NotebookID *int `db:"notebook_id"`
+ Content string `db:"content"`
+ Title string `db:"title"`
+ CreatedAt string `db:"created_at"`
+ ModifiedAt string `db:"modified_at"`
+ PublishedAt *string `db:"published_at"`
+ EventAddress *string `db:"event_address"`
+ Identifier *string `db:"identifier"`
+ Pinned bool `db:"pinned"`
+ TrashedAt *string `db:"trashed_at"`
+ ArchivedAt *string `db:"archived_at"`
+ Active bool `db:"active"`
+ Author *string `db:"author"`
+}
+
+// NotesTableSchema defines the schema for the notes table
+const NotesTableSchema = `
+CREATE TABLE IF NOT EXISTS notes (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ notebook_id INTEGER,
+ content TEXT NOT NULL,
+ title TEXT NOT NULL,
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ modified_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ published_at TEXT,
+ event_address TEXT,
+ identifier TEXT,
+ pinned BOOLEAN NOT NULL DEFAULT FALSE,
+ trashed_at TEXT,
+ archived_at TEXT,
+ active BOOLEAN NOT NULL DEFAULT TRUE,
+ author TEXT,
+ FOREIGN KEY (notebook_id) REFERENCES notebooks(id) ON DELETE SET NULL,
+ CHECK (pinned IN (0, 1)),
+ CHECK (active IN (0, 1))
+);
+
+CREATE VIRTUAL TABLE IF NOT EXISTS notes_fts USING fts5(content);
+
+CREATE TRIGGER IF NOT EXISTS notes_fts_insert AFTER INSERT ON notes BEGIN
+ INSERT INTO notes_fts(rowid, content) VALUES (new.id, new.content);
+END;
+
+CREATE TRIGGER IF NOT EXISTS notes_fts_delete AFTER DELETE ON notes BEGIN
+ DELETE FROM notes_fts WHERE rowid = old.id;
+END;
+
+CREATE TRIGGER IF NOT EXISTS notes_fts_update AFTER UPDATE ON notes BEGIN
+ DELETE FROM notes_fts WHERE rowid = old.id;
+ INSERT INTO notes_fts(rowid, content) VALUES (new.id, new.content);
+END;
+
+CREATE INDEX IF NOT EXISTS idx_notebook_id ON notes(notebook_id);
+CREATE INDEX IF NOT EXISTS idx_created_at ON notes(created_at);
+CREATE INDEX IF NOT EXISTS idx_modified_at ON notes(modified_at);
+CREATE INDEX IF NOT EXISTS idx_pinned ON notes(pinned);
+CREATE INDEX IF NOT EXISTS idx_trashed_at ON notes(trashed_at);
+CREATE INDEX IF NOT EXISTS idx_archived_at ON notes(archived_at);
+CREATE INDEX IF NOT EXISTS idx_active ON notes(active);`
+
+// UpdateNotesModifiedAtTrigger defines the trigger for updating modified_at on update
+const UpdateNotesModifiedAtTrigger = `
+CREATE TRIGGER IF NOT EXISTS update_notes_modified_at
+AFTER UPDATE OF content ON notes
+FOR EACH ROW
+BEGIN
+ UPDATE notes SET modified_at = CURRENT_TIMESTAMP WHERE id = OLD.id;
+END;`
+
+// EnsureOnlyOneActiveNoteTrigger defines the trigger to ensure only one active note
+const EnsureOnlyOneActiveNoteTrigger = `
+CREATE TRIGGER IF NOT EXISTS ensure_only_one_active_note
+BEFORE UPDATE OF active ON notes
+FOR EACH ROW
+WHEN NEW.active = TRUE
+BEGIN
+ UPDATE notes SET active = FALSE WHERE active = TRUE AND id != NEW.id;
+END;`
diff --git a/backend/db/schemas/notes_tags.go b/backend/db/schemas/notes_tags.go
new file mode 100644
index 00000000..9eff748b
--- /dev/null
+++ b/backend/db/schemas/notes_tags.go
@@ -0,0 +1,22 @@
+package schemas
+
+// NotesTagsTableSchema defines the schema for the notes_tags junction table
+const NotesTagsTableSchema = `
+CREATE TABLE IF NOT EXISTS notes_tags (
+ note_id INTEGER NOT NULL,
+ tag_id INTEGER NOT NULL,
+ PRIMARY KEY (note_id, tag_id),
+ FOREIGN KEY (note_id) REFERENCES notes(id) ON DELETE CASCADE,
+ FOREIGN KEY (tag_id) REFERENCES tags(id) ON DELETE CASCADE,
+ CHECK (note_id > 0),
+ CHECK (tag_id > 0)
+);
+
+CREATE INDEX IF NOT EXISTS idx_note_id ON notes_tags(note_id);
+CREATE INDEX IF NOT EXISTS idx_tag_id ON notes_tags(tag_id);`
+
+// NoteTag represents a junction between a note and a tag
+type NoteTag struct {
+ NoteID int `db:"note_id"`
+ TagID int `db:"tag_id"`
+}
diff --git a/backend/db/schemas/relays.go b/backend/db/schemas/relays.go
new file mode 100644
index 00000000..db6db464
--- /dev/null
+++ b/backend/db/schemas/relays.go
@@ -0,0 +1,43 @@
+package schemas
+
+// Relay represents a row in the relays table
+type Relay struct {
+ ID int `db:"id"`
+ URL string `db:"url"`
+ Read bool `db:"read"`
+ Write bool `db:"write"`
+ Sync bool `db:"sync"`
+ CreatedAt string `db:"created_at"`
+ ModifiedAt string `db:"modified_at"`
+}
+
+// RelaysTableSchema defines the schema for the relays table
+const RelaysTableSchema = `
+CREATE TABLE IF NOT EXISTS relays (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ url TEXT NOT NULL,
+ read BOOLEAN NOT NULL DEFAULT FALSE,
+ write BOOLEAN NOT NULL DEFAULT TRUE,
+ sync BOOLEAN NOT NULL DEFAULT FALSE,
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ modified_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ CHECK (read IN (0, 1)),
+ CHECK (write IN (0, 1)),
+ CHECK (sync IN (0, 1))
+);
+
+CREATE INDEX IF NOT EXISTS idx_url ON relays(url);
+CREATE INDEX IF NOT EXISTS idx_created_at ON relays(created_at);
+
+INSERT INTO relays (url, read, write, sync, created_at, modified_at)
+SELECT 'wss://relay.notestack.com', 1, 1, 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
+WHERE NOT EXISTS (SELECT 1 FROM relays);`
+
+// UpdateRelaysModifiedAtTrigger defines the trigger for updating modified_at on update
+const UpdateRelaysModifiedAtTrigger = `
+CREATE TRIGGER IF NOT EXISTS update_relays_modified_at
+AFTER UPDATE ON relays
+FOR EACH ROW
+BEGIN
+ UPDATE relays SET modified_at = CURRENT_TIMESTAMP WHERE id = OLD.id;
+END;`
diff --git a/backend/db/schemas/settings.go b/backend/db/schemas/settings.go
new file mode 100644
index 00000000..07e32457
--- /dev/null
+++ b/backend/db/schemas/settings.go
@@ -0,0 +1,24 @@
+package schemas
+
+// SettingsTableSchema defines the schema for the settings table
+const SettingsTableSchema = `
+CREATE TABLE IF NOT EXISTS settings (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ key TEXT NOT NULL,
+ value TEXT NOT NULL,
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ modified_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ UNIQUE (key)
+);
+
+CREATE INDEX IF NOT EXISTS idx_key ON settings(key);
+CREATE INDEX IF NOT EXISTS idx_created_at ON settings(created_at);`
+
+// UpdateSettingsModifiedAtTrigger defines the trigger for updating modified_at on update
+const UpdateSettingsModifiedAtTrigger = `
+CREATE TRIGGER IF NOT EXISTS update_settings_modified_at
+AFTER UPDATE ON settings
+FOR EACH ROW
+BEGIN
+ UPDATE settings SET modified_at = CURRENT_TIMESTAMP WHERE id = OLD.id;
+END;`
diff --git a/backend/db/schemas/tags.go b/backend/db/schemas/tags.go
new file mode 100644
index 00000000..8bcea45f
--- /dev/null
+++ b/backend/db/schemas/tags.go
@@ -0,0 +1,42 @@
+package schemas
+
+// Tag represents a tag in the application
+type Tag struct {
+ ID int `db:"id"`
+ Name string `db:"name"`
+ Color *string `db:"color"`
+ Icon *string `db:"icon"`
+ Active bool `db:"active"`
+ Inactive bool `db:"inactive"`
+ CreatedAt string `db:"created_at"`
+ ModifiedAt string `db:"modified_at"`
+}
+
+// TagsTableSchema defines the schema for the tags table
+const TagsTableSchema = `
+CREATE TABLE IF NOT EXISTS tags (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ name TEXT NOT NULL,
+ color TEXT NULL,
+ icon TEXT NULL,
+ active BOOLEAN NOT NULL DEFAULT 0,
+ inactive BOOLEAN NOT NULL DEFAULT 0,
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ modified_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ UNIQUE (name),
+ CHECK (name <> ''),
+ CHECK (active + inactive <= 1)
+);
+
+CREATE INDEX IF NOT EXISTS idx_name ON tags(name);
+CREATE INDEX IF NOT EXISTS idx_created_at ON tags(created_at);
+CREATE INDEX IF NOT EXISTS idx_active ON tags(active);`
+
+// UpdateTagsModifiedAtTrigger defines the trigger for updating modified_at on update
+const UpdateTagsModifiedAtTrigger = `
+CREATE TRIGGER IF NOT EXISTS update_tags_modified_at
+AFTER UPDATE ON tags
+FOR EACH ROW
+BEGIN
+ UPDATE tags SET modified_at = CURRENT_TIMESTAMP WHERE id = OLD.id;
+END;`
diff --git a/backend/db/schemas/users.go b/backend/db/schemas/users.go
new file mode 100644
index 00000000..5789297b
--- /dev/null
+++ b/backend/db/schemas/users.go
@@ -0,0 +1,63 @@
+package schemas
+
+// User represents a row in the users table
+type User struct {
+ ID int `db:"id"`
+ Nsec string `db:"nsec"`
+ Npub string `db:"npub"`
+ Active bool `db:"active"`
+ CreatedAt string `db:"created_at"`
+ ModifiedAt string `db:"modified_at"`
+ Name string `db:"name"`
+ About string `db:"about"`
+ Picture string `db:"picture"`
+ Nip05 string `db:"nip05"`
+ Website string `db:"website"`
+ Lud16 string `db:"lud16"`
+}
+
+// UsersTableSchema defines the schema for the users table
+const UsersTableSchema = `
+CREATE TABLE IF NOT EXISTS users (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ nsec TEXT NOT NULL,
+ npub TEXT NOT NULL,
+ active BOOLEAN NOT NULL,
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ modified_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ name TEXT,
+ username TEXT,
+ about TEXT,
+ picture TEXT,
+ nip05 TEXT,
+ website TEXT,
+ banner TEXT,
+ lud16 TEXT,
+ display_name TEXT,
+ UNIQUE (nsec),
+ UNIQUE (npub),
+ CHECK (active IN (0, 1))
+);
+
+CREATE INDEX IF NOT EXISTS idx_nsec ON users(nsec);
+CREATE INDEX IF NOT EXISTS idx_npub ON users(npub);
+CREATE INDEX IF NOT EXISTS idx_active ON users(active);`
+
+// UpdateUsersModifiedAtTrigger defines the trigger for updating modified_at on update
+const UpdateUsersModifiedAtTrigger = `
+CREATE TRIGGER IF NOT EXISTS update_users_modified_at
+AFTER UPDATE ON users
+FOR EACH ROW
+BEGIN
+ UPDATE users SET modified_at = CURRENT_TIMESTAMP WHERE id = OLD.id;
+END;`
+
+// EnforceSingleActiveUserTrigger defines the trigger to enforce only one active user
+const EnforceSingleActiveUserTrigger = `
+CREATE TRIGGER IF NOT EXISTS enforce_single_active_user
+BEFORE UPDATE OF active ON users
+FOR EACH ROW
+WHEN NEW.active = 1
+BEGIN
+ UPDATE users SET active = 0 WHERE active = 1;
+END;`
diff --git a/backend/menus/note_card_context_menu.go b/backend/menus/note_card_context_menu.go
new file mode 100644
index 00000000..522f0c73
--- /dev/null
+++ b/backend/menus/note_card_context_menu.go
@@ -0,0 +1,41 @@
+package menus
+
+import (
+ "comet/backend/db/schemas"
+ "comet/backend/service/notes"
+ "encoding/json"
+
+ "github.com/wailsapp/wails/v3/pkg/application"
+)
+
+func CreateNoteCardContextMenu(app *application.App) *application.Menu {
+ contextMenu := app.NewMenu()
+ contextMenu.Add("Trash").OnClick(func(data *application.Context) {
+ contextMenuData := data.ContextMenuData()
+ app.Logger.Info("Context menu data", "data", contextMenuData)
+ if contextMenuData == nil {
+ app.Logger.Error("Context menu data is nil")
+ return
+ }
+ contextMenuDataStr, ok := contextMenuData.(string)
+ if !ok {
+ app.Logger.Error("Failed to assert context menu data to string")
+ return
+ }
+ contextMenuDataBytes := []byte(contextMenuDataStr)
+ var note schemas.Note
+ err := json.Unmarshal(contextMenuDataBytes, ¬e)
+ if err != nil {
+ app.Logger.Error("Failed to unmarshal context menu data", "error", err)
+ return
+ }
+ err = notes.TrashNote(note.ID)
+ if err != nil {
+ app.Logger.Error("Failed to trash note", "error", err)
+ return
+ }
+ app.EmitEvent("note_trashed", note.ID)
+ app.Logger.Info("Note trashed", "note", note)
+ })
+ return contextMenu
+}
diff --git a/backend/menus/notebook_context_menu.go b/backend/menus/notebook_context_menu.go
new file mode 100644
index 00000000..1adef2b6
--- /dev/null
+++ b/backend/menus/notebook_context_menu.go
@@ -0,0 +1,45 @@
+package menus
+
+import (
+ "comet/backend/db/schemas"
+ "comet/backend/service/notebooks"
+ "encoding/json"
+
+ "github.com/wailsapp/wails/v3/pkg/application"
+)
+
+func CreateNotebookContextMenu(app *application.App) *application.Menu {
+ contextMenu := app.NewMenu()
+ contextMenu.Add("Delete").OnClick(func(data *application.Context) {
+ contextMenuData := data.ContextMenuData()
+ app.Logger.Info("Context menu data", "data", contextMenuData)
+ if contextMenuData == nil {
+ app.Logger.Error("Context menu data is nil")
+ return
+ }
+ contextMenuDataStr, ok := contextMenuData.(string)
+ if !ok {
+ app.Logger.Error("Failed to assert context menu data to string")
+ return
+ }
+ contextMenuDataBytes := []byte(contextMenuDataStr)
+ var notebook schemas.Notebook
+ err := json.Unmarshal(contextMenuDataBytes, ¬ebook)
+ if err != nil {
+ app.Logger.Error("Failed to unmarshal context menu data", "error", err)
+ return
+ }
+ err = notebooks.DeleteNotebook(notebook.ID)
+ if err != nil {
+ app.Logger.Error("Failed to restore notebook", "error", err)
+ return
+ }
+ if notebook.Active {
+ app.EmitEvent("active_notebook_deleted", notebook.ID)
+ } else {
+ app.EmitEvent("notebook_deleted", notebook.ID)
+ }
+ app.Logger.Info("Notebook deleted", "notebook", notebook)
+ })
+ return contextMenu
+}
diff --git a/backend/menus/trashnote_card_context_menu.go b/backend/menus/trashnote_card_context_menu.go
new file mode 100644
index 00000000..2e814637
--- /dev/null
+++ b/backend/menus/trashnote_card_context_menu.go
@@ -0,0 +1,71 @@
+package menus
+
+import (
+ "comet/backend/db/schemas"
+ "comet/backend/service/notes"
+ "encoding/json"
+
+ "github.com/wailsapp/wails/v3/pkg/application"
+)
+
+func CreateTrashNoteCardContextMenu(app *application.App) *application.Menu {
+ contextMenu := app.NewMenu()
+
+ contextMenu.Add("Restore").OnClick(func(data *application.Context) {
+ contextMenuData := data.ContextMenuData()
+ app.Logger.Info("Context menu data", "data", contextMenuData)
+ if contextMenuData == nil {
+ app.Logger.Error("Context menu data is nil")
+ return
+ }
+ contextMenuDataStr, ok := contextMenuData.(string)
+ if !ok {
+ app.Logger.Error("Failed to assert context menu data to string")
+ return
+ }
+ contextMenuDataBytes := []byte(contextMenuDataStr)
+ var note schemas.Note
+ err := json.Unmarshal(contextMenuDataBytes, ¬e)
+ if err != nil {
+ app.Logger.Error("Failed to unmarshal context menu data", "error", err)
+ return
+ }
+ err = notes.RestoreNote(note.ID)
+ if err != nil {
+ app.Logger.Error("Failed to restore note", "error", err)
+ return
+ }
+ app.EmitEvent("note_restored", note.ID)
+ app.Logger.Info("Note restored", "note", note)
+ })
+
+ contextMenu.Add("Delete").OnClick(func(data *application.Context) {
+ contextMenuData := data.ContextMenuData()
+ app.Logger.Info("Context menu data", "data", contextMenuData)
+ if contextMenuData == nil {
+ app.Logger.Error("Context menu data is nil")
+ return
+ }
+ contextMenuDataStr, ok := contextMenuData.(string)
+ if !ok {
+ app.Logger.Error("Failed to assert context menu data to string")
+ return
+ }
+ contextMenuDataBytes := []byte(contextMenuDataStr)
+ var note schemas.Note
+ err := json.Unmarshal(contextMenuDataBytes, ¬e)
+ if err != nil {
+ app.Logger.Error("Failed to unmarshal context menu data", "error", err)
+ return
+ }
+ err = notes.DeleteNote(note.ID)
+ if err != nil {
+ app.Logger.Error("Failed to delete note", "error", err)
+ return
+ }
+ app.EmitEvent("note_deleted", note.ID)
+ app.Logger.Info("Note deleted", "note", note)
+ })
+
+ return contextMenu
+}
diff --git a/backend/service/app_service.go b/backend/service/app_service.go
new file mode 100644
index 00000000..e5cf4304
--- /dev/null
+++ b/backend/service/app_service.go
@@ -0,0 +1,267 @@
+package service
+
+import (
+ "comet/backend/db/schemas"
+ "comet/backend/service/notebooks" // Import the notebooks package
+ "comet/backend/service/notes" // Import the notes package
+ "comet/backend/service/relays" // Import the relays package
+ "comet/backend/service/tags" // Import the tags package
+ "comet/backend/service/users" // Import the users package
+)
+
+type AppService struct{}
+
+// CreateNote inserts a new note into the database and returns the created note
+func (s *AppService) CreateNote(title, content string) (*schemas.Note, error) {
+ return notes.CreateNote(title, content) // Use notes package
+}
+
+// GetNotes retrieves all notes from the database with specified ordering, limit, offset, search, and trashed filter
+func (s *AppService) GetNotes(orderBy string, orderDirection string, limit int, offset int, search string, showTrashed bool) ([]schemas.Note, error) {
+ return notes.GetNotes(orderBy, orderDirection, limit, offset, search, showTrashed) // Use notes package
+}
+
+// UpdateNote updates the content and title of an existing note
+func (s *AppService) UpdateNote(note schemas.Note) error {
+ return notes.UpdateNote(note) // Use notes package
+}
+
+// DeleteNote deletes a note by its ID
+func (s *AppService) DeleteNote(id int) error {
+ return notes.DeleteNote(id) // Use notes package
+}
+
+// GetNoteByID retrieves a single note by its ID
+func (s *AppService) GetNoteByID(id int) (*schemas.Note, error) {
+ return notes.GetNoteByID(id) // Use notes package
+}
+
+// PinNote pins a note by its ID
+func (s *AppService) PinNote(id int) error {
+ return notes.PinNote(id) // Use notes package
+}
+
+// UnpinNote unpins a note by its ID
+func (s *AppService) UnpinNote(id int) error {
+ return notes.UnpinNote(id) // Use notes package
+}
+
+// TrashNote moves a note to the trash by its ID
+func (s *AppService) TrashNote(id int) error {
+ return notes.TrashNote(id) // Use notes package
+}
+
+// RestoreNote restores a note from the trash by its ID
+func (s *AppService) RestoreNote(id int) error {
+ return notes.RestoreNote(id) // Use notes package
+}
+
+// SearchNotes searches for notes by content
+func (s *AppService) SearchNotes(query string) ([]schemas.Note, error) {
+ return notes.SearchNotes(query) // Use notes package
+}
+
+// GetPinnedNotes retrieves all pinned notes from the database
+func (s *AppService) GetPinnedNotes() ([]schemas.Note, error) {
+ return notes.GetPinnedNotes() // Use notes package
+}
+
+// GetTrashedNotes retrieves all trashed notes from the database
+func (s *AppService) GetTrashedNotes() ([]schemas.Note, error) {
+ return notes.GetTrashedNotes() // Use notes package
+}
+
+// ArchiveNote archives a note by its ID
+func (s *AppService) ArchiveNote(id int) error {
+ return notes.ArchiveNote(id) // Use notes package
+}
+
+// UnarchiveNote unarchives a note by its ID
+func (s *AppService) UnarchiveNote(id int) error {
+ return notes.UnarchiveNote(id) // Use notes package
+}
+
+// GetArchivedNotes retrieves all archived notes from the database
+func (s *AppService) GetArchivedNotes() ([]schemas.Note, error) {
+ return notes.GetArchivedNotes() // Use notes package
+}
+
+// GetNotesByNotebookID retrieves all notes by a specific notebook ID
+func (s *AppService) GetNotesByNotebookID(notebookID int) ([]schemas.Note, error) {
+ return notes.GetNotesByNotebookID(notebookID) // Use notes package
+}
+
+// SetActiveNote sets the specified note as active and deactivates all other notes
+func (s *AppService) SetActiveNote(noteID int) error {
+ return notes.SetActiveNote(noteID) // Use notes package
+}
+
+// ClearActiveNote deactivates all active notes
+func (s *AppService) ClearActiveNote() error {
+ return notes.ClearActiveNote() // Use notes package
+}
+
+// GetActiveNote retrieves the active note from the database
+func (s *AppService) GetActiveNote() (*schemas.Note, error) {
+ return notes.GetActiveNote() // Use notes package
+}
+
+// SetPublishDetails updates the author, identifier, and published_at fields of a note
+func (s *AppService) SetPublishDetails(noteID int, author, identifier, publishedAt string) error {
+ return notes.SetPublishDetails(noteID, author, identifier, publishedAt) // Use notes package
+}
+
+// RemoveNoteTags removes all tag associations for a given note ID
+func (s *AppService) RemoveNoteTags(noteID int) error {
+ return tags.RemoveNoteTags(noteID) // Use tags package
+}
+
+// CreateTag inserts a new tag into the database
+func (s *AppService) CreateTag(name, color, icon string, active bool, inactive bool) error {
+ return tags.CreateTag(name, color, icon, active, inactive) // Use tags package
+}
+
+// CreateTags inserts multiple tags into the database
+func (s *AppService) CreateTags(noteId int, tagList []string) error {
+ return tags.CreateTags(noteId, tagList) // Use tags package
+}
+
+// GetTags retrieves all tags from the database
+func (s *AppService) GetTags() ([]schemas.Tag, error) {
+ return tags.GetTags() // Use tags package
+}
+
+// UpdateTag updates the details of an existing tag
+func (s *AppService) UpdateTag(id int, name, color, icon string) error {
+ return tags.UpdateTag(id, name, color, icon) // Use tags package
+}
+
+// DeleteTag deletes a tag by its ID
+func (s *AppService) DeleteTag(id int) error {
+ return tags.DeleteTag(id) // Use tags package
+}
+
+// GetTagByID retrieves a single tag by its ID
+func (s *AppService) GetTagByID(id int) (*schemas.Tag, error) {
+ return tags.GetTagByID(id) // Use tags package
+}
+
+// SetTagActive sets the active status of a tag to true
+func (s *AppService) SetTagActive(tagID int, active bool) error {
+ return tags.SetTagActive(tagID, active) // Use tags package
+}
+
+// SetTagInactive sets the active status of a tag to false
+func (s *AppService) SetTagInactive(tagID int) error {
+ return tags.SetTagInactive(tagID) // Use tags package
+}
+
+// ClearActiveTags sets the active status of all tags to false
+func (s *AppService) ClearActiveTags() error {
+ return tags.ClearActiveTags() // Use tags package
+}
+
+// GetTagsByNoteID retrieves all tags associated with a specific note ID
+func (s *AppService) GetTagsByNoteID(noteID int) ([]schemas.Tag, error) {
+ return tags.GetTagsByNoteID(noteID) // Use tags package
+}
+
+// CreateNotebook inserts a new notebook into the database
+func (s *AppService) CreateNotebook(name string, pinned bool) error {
+ return notebooks.CreateNotebook(name, pinned) // Use notebooks package
+}
+
+// GetNotebooks retrieves all notebooks from the database
+func (s *AppService) GetNotebooks(pinned bool) ([]schemas.Notebook, error) {
+ return notebooks.GetNotebooks(pinned) // Use notebooks package
+}
+
+// UpdateNotebook updates the details of an existing notebook
+func (s *AppService) UpdateNotebook(id int, name string) error {
+ return notebooks.UpdateNotebook(id, name) // Use notebooks package
+}
+
+// DeleteNotebook deletes a notebook by its ID
+func (s *AppService) DeleteNotebook(id int) error {
+ return notebooks.DeleteNotebook(id) // Use notebooks package
+}
+
+// GetNotebookByID retrieves a single notebook by its ID
+func (s *AppService) GetNotebookByID(id int) (*schemas.Notebook, error) {
+ return notebooks.GetNotebookByID(id) // Use notebooks package
+}
+
+// CheckNotebookExists checks if a notebook with the given name already exists in the database
+func (s *AppService) CheckNotebookExists(name string) (bool, error) {
+ return notebooks.CheckNotebookExists(name) // Use notebooks package
+}
+
+// SetNotebookActive sets a notebook to active by its ID
+func (s *AppService) SetNotebookActive(id int) error {
+ return notebooks.SetNotebookActive(id) // Use notebooks package
+}
+
+// ClearActiveNotebooks sets all notebooks to not active
+func (s *AppService) ClearActiveNotebooks() error {
+ return notebooks.ClearActiveNotebooks() // Use notebooks package
+}
+
+// GetActiveNotebook retrieves the active notebook from the database
+func (s *AppService) GetActiveNotebook() (*schemas.Notebook, error) {
+ return notebooks.GetActiveNotebook() // Use notebooks package
+}
+
+// CreateUser inserts a new user into the database
+func (s *AppService) CreateUser(nsec, npub string, active bool) (*schemas.User, error) {
+ return users.CreateUser(nsec, npub, active) // Use users package
+}
+
+// GetUserByID retrieves a single user by its ID
+func (s *AppService) GetUserByID(id int) (*schemas.User, error) {
+ return users.GetUserByID(id) // Use users package
+}
+
+// UpdateUser updates the details of an existing user
+func (s *AppService) UpdateUser(user schemas.User) error {
+ return users.UpdateUser(user) // Use users package
+}
+
+// DeleteUser deletes a user by its ID
+func (s *AppService) DeleteUser(id int) error {
+ return users.DeleteUser(id) // Use users package
+}
+
+// GetActiveUser retrieves the active user from the database
+func (s *AppService) GetActiveUser() (*schemas.User, error) {
+ return users.GetActiveUser() // Use users package
+}
+
+// CreateRelay inserts a new relay into the database and returns the created relay
+func (s *AppService) CreateRelay(url string, read, write, sync bool) (*schemas.Relay, error) {
+ return relays.CreateRelay(url, read, write, sync) // Use relays package
+}
+
+// GetRelayByID retrieves a relay by its ID
+func (s *AppService) GetRelayByID(id int) (*schemas.Relay, error) {
+ return relays.GetRelayByID(id) // Use relays package
+}
+
+// UpdateRelay updates an existing relay in the database
+func (s *AppService) UpdateRelay(relay schemas.Relay) error {
+ return relays.UpdateRelay(relay) // Use relays package
+}
+
+// DeleteRelay deletes a relay by its ID
+func (s *AppService) DeleteRelay(id int) error {
+ return relays.DeleteRelay(id) // Use relays package
+}
+
+// GetAllRelays retrieves all relays from the database
+func (s *AppService) GetAllRelays() ([]*schemas.Relay, error) {
+ return relays.GetAllRelays() // Use relays package
+}
+
+// ReplaceRelays removes all existing relays and inserts the new list of relays into the database
+func (s *AppService) ReplaceRelays(relayData []relays.RelayData) ([]*schemas.Relay, error) {
+ return relays.ReplaceRelays(relayData) // Use relays package
+}
diff --git a/backend/service/notebooks/check_notebook_exists.go b/backend/service/notebooks/check_notebook_exists.go
new file mode 100644
index 00000000..770bdbc3
--- /dev/null
+++ b/backend/service/notebooks/check_notebook_exists.go
@@ -0,0 +1,17 @@
+package notebooks
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// CheckNotebookExists checks if a notebook with the given name already exists in the database
+func CheckNotebookExists(name string) (bool, error) {
+ var exists bool
+ err := db.DB.QueryRow("SELECT EXISTS(SELECT 1 FROM notebooks WHERE name = ?)", name).Scan(&exists)
+ if err != nil {
+ log.Printf("Failed to check if notebook exists: %v", err)
+ return false, err
+ }
+ return exists, nil
+}
diff --git a/backend/service/notebooks/clear_active_notebooks.go b/backend/service/notebooks/clear_active_notebooks.go
new file mode 100644
index 00000000..512dae5b
--- /dev/null
+++ b/backend/service/notebooks/clear_active_notebooks.go
@@ -0,0 +1,16 @@
+package notebooks
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// ClearActiveNotebooks sets all notebooks to not active
+func ClearActiveNotebooks() error {
+ _, err := db.DB.Exec("UPDATE notebooks SET active = false")
+ if err != nil {
+ log.Printf("Failed to clear active notebooks: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/notebooks/create_notebook.go b/backend/service/notebooks/create_notebook.go
new file mode 100644
index 00000000..1911c51f
--- /dev/null
+++ b/backend/service/notebooks/create_notebook.go
@@ -0,0 +1,16 @@
+package notebooks
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// CreateNotebook inserts a new notebook into the database
+func CreateNotebook(name string, pinned bool) error {
+ _, err := db.DB.Exec("INSERT INTO notebooks (name, pinned) VALUES (?, ?)", name, pinned)
+ if err != nil {
+ log.Printf("Failed to create notebook: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/notebooks/delete_notebook.go b/backend/service/notebooks/delete_notebook.go
new file mode 100644
index 00000000..f612f806
--- /dev/null
+++ b/backend/service/notebooks/delete_notebook.go
@@ -0,0 +1,16 @@
+package notebooks
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// DeleteNotebook deletes a notebook by its ID
+func DeleteNotebook(id int) error {
+ _, err := db.DB.Exec("DELETE FROM notebooks WHERE id = ?", id)
+ if err != nil {
+ log.Printf("Failed to delete notebook: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/notebooks/get_active_notebook.go b/backend/service/notebooks/get_active_notebook.go
new file mode 100644
index 00000000..a3a1c111
--- /dev/null
+++ b/backend/service/notebooks/get_active_notebook.go
@@ -0,0 +1,18 @@
+package notebooks
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "log"
+)
+
+// GetActiveNotebook retrieves the active notebook from the database
+func GetActiveNotebook() (*schemas.Notebook, error) {
+ var notebook schemas.Notebook
+ err := db.DB.Get(¬ebook, "SELECT id, name, created_at, modified_at, pinned, active FROM notebooks WHERE active = true LIMIT 1")
+ if err != nil {
+ log.Printf("Failed to get active notebook: %v", err)
+ return nil, err
+ }
+ return ¬ebook, nil
+}
diff --git a/backend/service/notebooks/get_notebook_by_id.go b/backend/service/notebooks/get_notebook_by_id.go
new file mode 100644
index 00000000..25ccb5bb
--- /dev/null
+++ b/backend/service/notebooks/get_notebook_by_id.go
@@ -0,0 +1,22 @@
+package notebooks
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "database/sql"
+ "log"
+)
+
+// GetNotebookByID retrieves a single notebook by its ID
+func GetNotebookByID(id int) (*schemas.Notebook, error) {
+ var notebook schemas.Notebook
+ err := db.DB.QueryRow("SELECT id, name, created_at, modified_at, active FROM notebooks WHERE id = ?", id).Scan(¬ebook.ID, ¬ebook.Name, ¬ebook.CreatedAt, ¬ebook.ModifiedAt, ¬ebook.Active)
+ if err != nil {
+ if err == sql.ErrNoRows {
+ return nil, nil
+ }
+ log.Printf("Failed to get notebook by ID: %v", err)
+ return nil, err
+ }
+ return ¬ebook, nil
+}
diff --git a/backend/service/notebooks/get_notebooks.go b/backend/service/notebooks/get_notebooks.go
new file mode 100644
index 00000000..4cf4668a
--- /dev/null
+++ b/backend/service/notebooks/get_notebooks.go
@@ -0,0 +1,33 @@
+package notebooks
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "log"
+)
+
+// GetNotebooks retrieves all notebooks from the database
+func GetNotebooks(pinned bool) ([]schemas.Notebook, error) {
+ query := "SELECT id, name, created_at, modified_at, pinned, active FROM notebooks"
+ if pinned {
+ query += " WHERE pinned = true"
+ }
+
+ rows, err := db.DB.Query(query)
+ if err != nil {
+ log.Printf("Failed to get notebooks: %v", err)
+ return nil, err
+ }
+ defer rows.Close()
+
+ var notebooks []schemas.Notebook
+ for rows.Next() {
+ var notebook schemas.Notebook
+ if err := rows.Scan(¬ebook.ID, ¬ebook.Name, ¬ebook.CreatedAt, ¬ebook.ModifiedAt, ¬ebook.Pinned, ¬ebook.Active); err != nil {
+ log.Printf("Failed to scan notebook: %v", err)
+ return nil, err
+ }
+ notebooks = append(notebooks, notebook)
+ }
+ return notebooks, nil
+}
diff --git a/backend/service/notebooks/set_notebook_active.go b/backend/service/notebooks/set_notebook_active.go
new file mode 100644
index 00000000..d952d5bd
--- /dev/null
+++ b/backend/service/notebooks/set_notebook_active.go
@@ -0,0 +1,37 @@
+package notebooks
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// SetNotebookActive sets a notebook to active by its ID and sets all other notebooks to not active
+func SetNotebookActive(id int) error {
+ tx, err := db.DB.Begin()
+ if err != nil {
+ log.Printf("Failed to begin transaction: %v", err)
+ return err
+ }
+
+ _, err = tx.Exec("UPDATE notebooks SET active = false WHERE id != ?", id)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to set other notebooks to not active: %v", err)
+ return err
+ }
+
+ _, err = tx.Exec("UPDATE notebooks SET active = true WHERE id = ?", id)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to set notebook to active: %v", err)
+ return err
+ }
+
+ err = tx.Commit()
+ if err != nil {
+ log.Printf("Failed to commit transaction: %v", err)
+ return err
+ }
+
+ return nil
+}
diff --git a/backend/service/notebooks/update_notebook.go b/backend/service/notebooks/update_notebook.go
new file mode 100644
index 00000000..ef2fb661
--- /dev/null
+++ b/backend/service/notebooks/update_notebook.go
@@ -0,0 +1,16 @@
+package notebooks
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// UpdateNotebook updates the details of an existing notebook
+func UpdateNotebook(id int, name string) error {
+ _, err := db.DB.Exec("UPDATE notebooks SET name = ?, modified_at = CURRENT_TIMESTAMP WHERE id = ?", name, id)
+ if err != nil {
+ log.Printf("Failed to update notebook: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/notes/archive_note.go b/backend/service/notes/archive_note.go
new file mode 100644
index 00000000..6fad8e64
--- /dev/null
+++ b/backend/service/notes/archive_note.go
@@ -0,0 +1,16 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// ArchiveNote archives a note by its ID
+func ArchiveNote(id int) error {
+ _, err := db.DB.Exec("UPDATE notes SET archived_at = CURRENT_TIMESTAMP WHERE id = ?", id)
+ if err != nil {
+ log.Printf("Failed to archive note: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/notes/clear_active_note.go b/backend/service/notes/clear_active_note.go
new file mode 100644
index 00000000..a732588f
--- /dev/null
+++ b/backend/service/notes/clear_active_note.go
@@ -0,0 +1,18 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// ClearActiveNote deactivates all active notes
+func ClearActiveNote() error {
+ // Deactivate all notes
+ _, err := db.DB.Exec("UPDATE notes SET active = FALSE WHERE active = TRUE")
+ if err != nil {
+ log.Printf("Failed to clear active notes: %v", err)
+ return err
+ }
+
+ return nil
+}
diff --git a/backend/service/notes/create_note.go b/backend/service/notes/create_note.go
new file mode 100644
index 00000000..2619ccd0
--- /dev/null
+++ b/backend/service/notes/create_note.go
@@ -0,0 +1,88 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "database/sql"
+ "log"
+ "strings"
+)
+
+// CreateNote inserts a new note into the database and returns the created note
+func CreateNote(title, content string) (*schemas.Note, error) {
+ // Directly clear all active notes
+ _, err := db.DB.Exec("UPDATE notes SET active = FALSE WHERE active = TRUE")
+ if err != nil {
+ log.Printf("Failed to clear active notes: %v", err)
+ return nil, err
+ }
+
+ var notebookID *int
+ err = db.DB.Get(¬ebookID, "SELECT id FROM notebooks WHERE active = true LIMIT 1")
+ if err != nil && err != sql.ErrNoRows {
+ log.Printf("Failed to get active notebook: %v", err)
+ return nil, err
+ }
+
+ // Check if there are any active tags
+ var activeTags []schemas.Tag
+ err = db.DB.Select(&activeTags, "SELECT * FROM tags WHERE active = 1")
+ if err != nil {
+ log.Printf("Failed to retrieve active tags: %v", err)
+ return nil, err
+ }
+
+ // If there are active tags, modify the content to include them on the second line
+ if len(activeTags) > 0 {
+ var tags []string
+ for _, tag := range activeTags {
+ tags = append(tags, "#"+tag.Name)
+ }
+ tagsLine := strings.Join(tags, " ")
+ content = content + "\n" + tagsLine
+ }
+
+ var result sql.Result
+ if notebookID != nil {
+ result, err = db.DB.Exec("INSERT INTO notes (title, content, notebook_id) VALUES (?, ?, ?)", title, content, notebookID)
+ } else {
+ result, err = db.DB.Exec("INSERT INTO notes (title, content) VALUES (?, ?)", title, content)
+ }
+ if err != nil {
+ log.Printf("Failed to create note: %v", err)
+ return nil, err
+ }
+
+ id, err := result.LastInsertId()
+ if err != nil {
+ log.Printf("Failed to retrieve last insert ID: %v", err)
+ return nil, err
+ }
+
+ var note schemas.Note
+ err = db.DB.Get(¬e, "SELECT * FROM notes WHERE id = ?", id)
+ if err != nil {
+ log.Printf("Failed to retrieve created note: %v", err)
+ return nil, err
+ }
+
+ // Associate the note with active tags
+ if len(activeTags) > 0 {
+ stmtNoteTag, err := db.DB.Prepare("INSERT OR IGNORE INTO notes_tags (note_id, tag_id) VALUES (?, ?)")
+ if err != nil {
+ log.Printf("Failed to prepare note-tag association statement: %v", err)
+ return nil, err
+ }
+ defer stmtNoteTag.Close()
+
+ for _, tag := range activeTags {
+ _, err = stmtNoteTag.Exec(id, tag.ID)
+ if err != nil {
+ log.Printf("Failed to associate tag with note: %v", err)
+ return nil, err
+ }
+ }
+ }
+
+ return ¬e, nil
+}
diff --git a/backend/service/notes/delete_note.go b/backend/service/notes/delete_note.go
new file mode 100644
index 00000000..94c30579
--- /dev/null
+++ b/backend/service/notes/delete_note.go
@@ -0,0 +1,16 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// DeleteNote deletes a note by its ID
+func DeleteNote(id int) error {
+ _, err := db.DB.Exec("DELETE FROM notes WHERE id = ?", id)
+ if err != nil {
+ log.Printf("Failed to delete note: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/notes/get_active_note.go b/backend/service/notes/get_active_note.go
new file mode 100644
index 00000000..1e66c8cb
--- /dev/null
+++ b/backend/service/notes/get_active_note.go
@@ -0,0 +1,18 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "log"
+)
+
+// GetActiveNote retrieves the active note from the database
+func GetActiveNote() (*schemas.Note, error) {
+ var note schemas.Note
+ err := db.DB.Get(¬e, "SELECT * FROM notes WHERE active = TRUE LIMIT 1")
+ if err != nil {
+ log.Printf("Failed to retrieve active note: %v", err)
+ return nil, err
+ }
+ return ¬e, nil
+}
diff --git a/backend/service/notes/get_archived_notes.go b/backend/service/notes/get_archived_notes.go
new file mode 100644
index 00000000..62a378f9
--- /dev/null
+++ b/backend/service/notes/get_archived_notes.go
@@ -0,0 +1,18 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas" // Correct import path to schemas
+ "log"
+)
+
+// GetArchivedNotes retrieves all archived notes from the database
+func GetArchivedNotes() ([]schemas.Note, error) { // Use schemas.Note to refer to the imported struct
+ var notes []schemas.Note
+ err := db.DB.Select(¬es, "SELECT * FROM notes WHERE archived_at IS NOT NULL ORDER BY archived_at DESC")
+ if err != nil {
+ log.Printf("Failed to retrieve archived notes: %v", err)
+ return nil, err
+ }
+ return notes, nil
+}
diff --git a/backend/service/notes/get_note_by_id.go b/backend/service/notes/get_note_by_id.go
new file mode 100644
index 00000000..440cf6c4
--- /dev/null
+++ b/backend/service/notes/get_note_by_id.go
@@ -0,0 +1,18 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas" // Correct import path to schemas
+ "log"
+)
+
+// GetNoteByID retrieves a single note by its ID
+func GetNoteByID(id int) (*schemas.Note, error) { // Use schemas.Note to refer to the imported struct
+ var note schemas.Note
+ err := db.DB.Get(¬e, "SELECT * FROM notes WHERE id = ?", id)
+ if err != nil {
+ log.Printf("Failed to retrieve note: %v", err)
+ return nil, err
+ }
+ return ¬e, nil
+}
diff --git a/backend/service/notes/get_notes.go b/backend/service/notes/get_notes.go
new file mode 100644
index 00000000..0f6a0523
--- /dev/null
+++ b/backend/service/notes/get_notes.go
@@ -0,0 +1,76 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "database/sql"
+ "fmt"
+ "log"
+)
+
+// GetNotes retrieves all notes from the database with specified ordering, limit, offset, search, and trashed filter
+func GetNotes(orderBy string, orderDirection string, limit int, offset int, search string, showTrashed bool) ([]schemas.Note, error) {
+ var notes []schemas.Note
+ var activeTags []schemas.Tag
+ var activeNotebookID *int
+
+ // Check if there are any active tags
+ activeTagsQuery := "SELECT * FROM tags WHERE active = 1"
+ err := db.DB.Select(&activeTags, activeTagsQuery)
+ if err != nil {
+ log.Printf("Failed to retrieve active tags: %v", err)
+ return nil, err
+ }
+
+ // Check if there is an active notebook
+ err = db.DB.Get(&activeNotebookID, "SELECT id FROM notebooks WHERE active = true LIMIT 1")
+ if err != nil && err != sql.ErrNoRows {
+ log.Printf("Failed to get active notebook: %v", err)
+ return nil, err
+ }
+
+ // If there are active tags, filter and only show notes associated with those active tags
+ if len(activeTags) > 0 {
+ log.Printf("Active tags found, filtering notes by active tags")
+ query := fmt.Sprintf(`
+ SELECT DISTINCT notes.*, notes.active FROM notes
+ JOIN notes_tags ON notes.id = notes_tags.note_id
+ JOIN tags ON notes_tags.tag_id = tags.id
+ WHERE tags.active = 1 AND notes.content LIKE '%%%s%%'`, search)
+ if activeNotebookID != nil {
+ query += fmt.Sprintf(" AND notes.notebook_id = %d", *activeNotebookID)
+ }
+ if showTrashed {
+ query += " AND notes.trashed_at IS NOT NULL"
+ } else {
+ query += " AND notes.trashed_at IS NULL"
+ }
+ query += fmt.Sprintf(" ORDER BY %s %s LIMIT %d OFFSET %d", orderBy, orderDirection, limit, offset)
+ err = db.DB.Select(¬es, query)
+ if err != nil {
+ log.Printf("Failed to retrieve notes: %v", err)
+ return nil, err
+ }
+ } else {
+ // If there are no active tags, retrieve all notes
+ query := fmt.Sprintf("SELECT *, active FROM notes WHERE content LIKE '%%%s%%'", search)
+ if activeNotebookID != nil {
+ query += fmt.Sprintf(" AND notebook_id = %d", *activeNotebookID)
+ }
+ if showTrashed {
+ query += " AND trashed_at IS NOT NULL"
+ } else {
+ query += " AND trashed_at IS NULL"
+ }
+ query += fmt.Sprintf(" ORDER BY %s %s LIMIT %d OFFSET %d", orderBy, orderDirection, limit, offset)
+ err = db.DB.Select(¬es, query)
+ if err != nil {
+ log.Printf("Failed to retrieve notes: %v", err)
+ return nil, err
+ }
+ }
+
+ log.Printf("Retrieved %d notes", len(notes))
+
+ return notes, nil
+}
diff --git a/backend/service/notes/get_notes_by_notebook_id.go b/backend/service/notes/get_notes_by_notebook_id.go
new file mode 100644
index 00000000..b3abca59
--- /dev/null
+++ b/backend/service/notes/get_notes_by_notebook_id.go
@@ -0,0 +1,18 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas" // Correct import path to schemas
+ "log"
+)
+
+// GetNotesByNotebookID retrieves all notes by a specific notebook ID
+func GetNotesByNotebookID(notebookID int) ([]schemas.Note, error) { // Use schemas.Note to refer to the imported struct
+ var notes []schemas.Note
+ err := db.DB.Select(¬es, "SELECT * FROM notes WHERE notebook_id = ? ORDER BY created_at DESC", notebookID)
+ if err != nil {
+ log.Printf("Failed to retrieve notes by notebook ID: %v", err)
+ return nil, err
+ }
+ return notes, nil
+}
diff --git a/backend/service/notes/get_pinned_notes.go b/backend/service/notes/get_pinned_notes.go
new file mode 100644
index 00000000..c3fe8d1b
--- /dev/null
+++ b/backend/service/notes/get_pinned_notes.go
@@ -0,0 +1,18 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas" // Correct import path to schemas
+ "log"
+)
+
+// GetPinnedNotes retrieves all pinned notes from the database
+func GetPinnedNotes() ([]schemas.Note, error) { // Use schemas.Note to refer to the imported struct
+ var notes []schemas.Note
+ err := db.DB.Select(¬es, "SELECT * FROM notes WHERE pinned = 1 ORDER BY created_at DESC")
+ if err != nil {
+ log.Printf("Failed to retrieve pinned notes: %v", err)
+ return nil, err
+ }
+ return notes, nil
+}
diff --git a/backend/service/notes/get_trashed_notes.go b/backend/service/notes/get_trashed_notes.go
new file mode 100644
index 00000000..683e76db
--- /dev/null
+++ b/backend/service/notes/get_trashed_notes.go
@@ -0,0 +1,18 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas" // Correct import path to schemas
+ "log"
+)
+
+// GetTrashedNotes retrieves all trashed notes from the database
+func GetTrashedNotes() ([]schemas.Note, error) { // Use schemas.Note to refer to the imported struct
+ var notes []schemas.Note
+ err := db.DB.Select(¬es, "SELECT * FROM notes WHERE trashed_at IS NOT NULL ORDER BY trashed_at DESC")
+ if err != nil {
+ log.Printf("Failed to retrieve trashed notes: %v", err)
+ return nil, err
+ }
+ return notes, nil
+}
diff --git a/backend/service/notes/pin_note.go b/backend/service/notes/pin_note.go
new file mode 100644
index 00000000..ba76a22e
--- /dev/null
+++ b/backend/service/notes/pin_note.go
@@ -0,0 +1,16 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// PinNote pins a note by its ID
+func PinNote(id int) error {
+ _, err := db.DB.Exec("UPDATE notes SET pinned = 1 WHERE id = ?", id)
+ if err != nil {
+ log.Printf("Failed to pin note: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/notes/restore_note.go b/backend/service/notes/restore_note.go
new file mode 100644
index 00000000..9e7c7eca
--- /dev/null
+++ b/backend/service/notes/restore_note.go
@@ -0,0 +1,109 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "log"
+ "regexp"
+)
+
+// RestoreNote restores a note from the trash by its ID
+func RestoreNote(id int) error {
+ tx, err := db.DB.Begin()
+ if err != nil {
+ log.Printf("Failed to begin transaction: %v", err)
+ return err
+ }
+
+ // Restore the note
+ _, err = tx.Exec("UPDATE notes SET trashed_at = NULL WHERE id = ?", id)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to restore note: %v", err)
+ return err
+ }
+
+ // Get the note content and notebook ID
+ var note schemas.Note
+ err = tx.QueryRow("SELECT content, notebook_id FROM notes WHERE id = ?", id).Scan(¬e.Content, ¬e.NotebookID)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to retrieve note content: %v", err)
+ return err
+ }
+
+ // Extract tags from the content
+ re := regexp.MustCompile(`#(\w+)`)
+ matches := re.FindAllStringSubmatch(note.Content, -1)
+ tags := make(map[string]bool)
+ for _, match := range matches {
+ tags[match[1]] = true
+ }
+
+ // Prepare statements for tag and association operations
+ stmtTag, err := tx.Prepare("INSERT OR IGNORE INTO tags (name) VALUES (?)")
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to prepare tag statement: %v", err)
+ return err
+ }
+ defer stmtTag.Close()
+
+ stmtNoteTag, err := tx.Prepare("INSERT OR IGNORE INTO notes_tags (note_id, tag_id) VALUES (?, ?)")
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to prepare note-tag association statement: %v", err)
+ return err
+ }
+ defer stmtNoteTag.Close()
+
+ stmtNotebookTag, err := tx.Prepare("INSERT OR IGNORE INTO notebook_tags (notebook_id, tag_id) VALUES (?, ?)")
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to prepare notebook-tag association statement: %v", err)
+ return err
+ }
+ defer stmtNotebookTag.Close()
+
+ // Process each tag
+ for tag := range tags {
+ _, err := stmtTag.Exec(tag)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to insert tag: %v", err)
+ return err
+ }
+
+ var tagID int
+ err = tx.QueryRow("SELECT id FROM tags WHERE name = ?", tag).Scan(&tagID)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to retrieve tag ID: %v", err)
+ return err
+ }
+
+ _, err = stmtNoteTag.Exec(id, tagID)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to associate tag with note: %v", err)
+ return err
+ }
+
+ if note.NotebookID != nil {
+ _, err = stmtNotebookTag.Exec(*note.NotebookID, tagID)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to associate tag with notebook: %v", err)
+ return err
+ }
+ }
+ }
+
+ err = tx.Commit()
+ if err != nil {
+ log.Printf("Failed to commit transaction: %v", err)
+ return err
+ }
+
+ return nil
+}
diff --git a/backend/service/notes/search_notes.go b/backend/service/notes/search_notes.go
new file mode 100644
index 00000000..fa5bf289
--- /dev/null
+++ b/backend/service/notes/search_notes.go
@@ -0,0 +1,18 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas" // Correct import path to schemas
+ "log"
+)
+
+// SearchNotes searches for notes by content
+func SearchNotes(query string) ([]schemas.Note, error) { // Use schemas.Note to refer to the imported struct
+ var notes []schemas.Note
+ err := db.DB.Select(¬es, "SELECT * FROM notes WHERE content LIKE ? ORDER BY created_at DESC", "%"+query+"%")
+ if err != nil {
+ log.Printf("Failed to search notes: %v", err)
+ return nil, err
+ }
+ return notes, nil
+}
diff --git a/backend/service/notes/set_active_note.go b/backend/service/notes/set_active_note.go
new file mode 100644
index 00000000..0d3b0adb
--- /dev/null
+++ b/backend/service/notes/set_active_note.go
@@ -0,0 +1,41 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// SetActiveNote sets the specified note as active and deactivates all other notes
+func SetActiveNote(noteID int) error {
+ // Begin a transaction
+ tx, err := db.DB.Begin()
+ if err != nil {
+ log.Printf("Failed to begin transaction: %v", err)
+ return err
+ }
+
+ // Deactivate all other notes
+ _, err = tx.Exec("UPDATE notes SET active = FALSE WHERE active = TRUE AND id != ?", noteID)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to deactivate other notes: %v", err)
+ return err
+ }
+
+ // Activate the specified note
+ _, err = tx.Exec("UPDATE notes SET active = TRUE WHERE id = ?", noteID)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to activate the specified note: %v", err)
+ return err
+ }
+
+ // Commit the transaction
+ err = tx.Commit()
+ if err != nil {
+ log.Printf("Failed to commit transaction: %v", err)
+ return err
+ }
+
+ return nil
+}
diff --git a/backend/service/notes/set_publish_details.go b/backend/service/notes/set_publish_details.go
new file mode 100644
index 00000000..100dc306
--- /dev/null
+++ b/backend/service/notes/set_publish_details.go
@@ -0,0 +1,19 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// SetPublishDetails updates the author, identifier, and published_at fields of a note
+func SetPublishDetails(noteID int, author, identifier, publishedAt string) error {
+ if publishedAt == "" {
+ publishedAt = "CURRENT_TIMESTAMP"
+ }
+ _, err := db.DB.Exec("UPDATE notes SET author = ?, identifier = ?, published_at = ? WHERE id = ?", author, identifier, publishedAt, noteID)
+ if err != nil {
+ log.Printf("Failed to set publish details for note %d: %v", noteID, err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/notes/trash_note.go b/backend/service/notes/trash_note.go
new file mode 100644
index 00000000..bc7ea04f
--- /dev/null
+++ b/backend/service/notes/trash_note.go
@@ -0,0 +1,105 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "database/sql"
+ "log"
+)
+
+// TrashNote moves a note to the trash by its ID, removes its tag associations, and sets it as inactive
+func TrashNote(id int) error {
+ tx, err := db.DB.Begin()
+ if err != nil {
+ log.Printf("Failed to begin transaction: %v", err)
+ return err
+ }
+
+ _, err = tx.Exec("UPDATE notes SET trashed_at = CURRENT_TIMESTAMP, active = false WHERE id = ?", id)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to trash note: %v", err)
+ return err
+ }
+
+ // Get all tag IDs associated with the note
+ rows, err := tx.Query("SELECT tag_id FROM notes_tags WHERE note_id = ?", id)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to retrieve tag associations for note ID %d: %v", id, err)
+ return err
+ }
+ defer rows.Close()
+
+ var tagIDs []int
+ for rows.Next() {
+ var tagID int
+ if err := rows.Scan(&tagID); err != nil {
+ tx.Rollback()
+ log.Printf("Failed to scan tag ID: %v", err)
+ return err
+ }
+ tagIDs = append(tagIDs, tagID)
+ }
+
+ // Remove all tag associations for the note
+ _, err = tx.Exec("DELETE FROM notes_tags WHERE note_id = ?", id)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to remove tag associations for note ID %d: %v", id, err)
+ return err
+ }
+
+ // Get the notebook ID associated with the note
+ var notebookID *int
+ err = tx.QueryRow("SELECT notebook_id FROM notes WHERE id = ?", id).Scan(¬ebookID)
+ if err != nil && err != sql.ErrNoRows {
+ tx.Rollback()
+ log.Printf("Failed to retrieve notebook ID for note ID %d: %v", id, err)
+ return err
+ }
+
+ // Check for remaining associations and remove tags with no remaining associations
+ for _, tagID := range tagIDs {
+ var count int
+ err = tx.QueryRow("SELECT COUNT(*) FROM notes_tags WHERE tag_id = ?", tagID).Scan(&count)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to count remaining associations for tag ID %d: %v", tagID, err)
+ return err
+ }
+ if count == 0 {
+ _, err = tx.Exec("DELETE FROM tags WHERE id = ?", tagID)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to delete tag ID %d: %v", tagID, err)
+ return err
+ }
+ }
+
+ // If the note has a notebook, check if any other notes in the notebook have the tag
+ if notebookID != nil {
+ err = tx.QueryRow("SELECT COUNT(*) FROM notes_tags nt JOIN notes n ON nt.note_id = n.id WHERE nt.tag_id = ? AND n.notebook_id = ?", tagID, *notebookID).Scan(&count)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to count remaining notebook associations for tag ID %d: %v", tagID, err)
+ return err
+ }
+ if count == 0 {
+ _, err = tx.Exec("DELETE FROM notebook_tags WHERE notebook_id = ? AND tag_id = ?", *notebookID, tagID)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to delete notebook tag association for notebook ID %d and tag ID %d: %v", *notebookID, tagID, err)
+ return err
+ }
+ }
+ }
+ }
+
+ err = tx.Commit()
+ if err != nil {
+ log.Printf("Failed to commit transaction: %v", err)
+ return err
+ }
+
+ return nil
+}
diff --git a/backend/service/notes/unarchive_note.go b/backend/service/notes/unarchive_note.go
new file mode 100644
index 00000000..4f09d4d2
--- /dev/null
+++ b/backend/service/notes/unarchive_note.go
@@ -0,0 +1,16 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// UnarchiveNote unarchives a note by its ID
+func UnarchiveNote(id int) error {
+ _, err := db.DB.Exec("UPDATE notes SET archived_at = NULL WHERE id = ?", id)
+ if err != nil {
+ log.Printf("Failed to unarchive note: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/notes/unpin_note.go b/backend/service/notes/unpin_note.go
new file mode 100644
index 00000000..0183e8a3
--- /dev/null
+++ b/backend/service/notes/unpin_note.go
@@ -0,0 +1,16 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// UnpinNote unpins a note by its ID
+func UnpinNote(id int) error {
+ _, err := db.DB.Exec("UPDATE notes SET pinned = 0 WHERE id = ?", id)
+ if err != nil {
+ log.Printf("Failed to unpin note: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/notes/update_note.go b/backend/service/notes/update_note.go
new file mode 100644
index 00000000..9c722da1
--- /dev/null
+++ b/backend/service/notes/update_note.go
@@ -0,0 +1,17 @@
+package notes
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "log"
+)
+
+// UpdateNote updates the content and title of an existing note
+func UpdateNote(note schemas.Note) error {
+ _, err := db.DB.Exec("UPDATE notes SET title = ?, content = ?, modified_at = CURRENT_TIMESTAMP WHERE id = ?", note.Title, note.Content, note.ID)
+ if err != nil {
+ log.Printf("Failed to update note: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/relays/create_relay.go b/backend/service/relays/create_relay.go
new file mode 100644
index 00000000..119eb974
--- /dev/null
+++ b/backend/service/relays/create_relay.go
@@ -0,0 +1,24 @@
+package relays
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "log"
+)
+
+// CreateRelay inserts a new relay into the database and returns the created relay
+func CreateRelay(url string, read, write, sync bool) (*schemas.Relay, error) {
+ result, err := db.DB.Exec("INSERT INTO relays (url, read, write, sync) VALUES (?, ?, ?, ?)", url, read, write, sync)
+ if err != nil {
+ log.Printf("Failed to create relay: %v", err)
+ return nil, err
+ }
+
+ id, err := result.LastInsertId()
+ if err != nil {
+ log.Printf("Failed to get last insert ID: %v", err)
+ return nil, err
+ }
+
+ return GetRelayByID(int(id))
+}
diff --git a/backend/service/relays/delete_relay.go b/backend/service/relays/delete_relay.go
new file mode 100644
index 00000000..629a6c17
--- /dev/null
+++ b/backend/service/relays/delete_relay.go
@@ -0,0 +1,16 @@
+package relays
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// DeleteRelay deletes a relay by its ID
+func DeleteRelay(id int) error {
+ _, err := db.DB.Exec("DELETE FROM relays WHERE id = ?", id)
+ if err != nil {
+ log.Printf("Failed to delete relay: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/relays/get_all_relays.go b/backend/service/relays/get_all_relays.go
new file mode 100644
index 00000000..e7e16d54
--- /dev/null
+++ b/backend/service/relays/get_all_relays.go
@@ -0,0 +1,38 @@
+package relays
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "log"
+)
+
+// GetAllRelays retrieves all relays from the database
+func GetAllRelays() ([]*schemas.Relay, error) {
+ rows, err := db.DB.Query("SELECT id, url, read, write, sync FROM relays")
+ if err != nil {
+ log.Printf("Failed to retrieve relays: %v", err)
+ return nil, err
+ }
+ defer rows.Close()
+
+ var relays []*schemas.Relay
+ for rows.Next() {
+ var relay schemas.Relay
+ if err := rows.Scan(&relay.ID, &relay.URL, &relay.Read, &relay.Write, &relay.Sync); err != nil {
+ log.Printf("Failed to scan relay: %v", err)
+ return nil, err
+ }
+ relays = append(relays, &relay)
+ }
+
+ if err := rows.Err(); err != nil {
+ log.Printf("Rows error: %v", err)
+ return nil, err
+ }
+
+ if len(relays) == 0 {
+ return nil, nil
+ }
+
+ return relays, nil
+}
diff --git a/backend/service/relays/get_relay_by_id.go b/backend/service/relays/get_relay_by_id.go
new file mode 100644
index 00000000..c9c9396d
--- /dev/null
+++ b/backend/service/relays/get_relay_by_id.go
@@ -0,0 +1,19 @@
+package relays
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "log"
+)
+
+// GetRelayByID retrieves a relay by its ID
+func GetRelayByID(id int) (*schemas.Relay, error) {
+ var relay schemas.Relay
+ err := db.DB.QueryRow("SELECT id, url, read, write, sync, created_at, modified_at FROM relays WHERE id = ?", id).Scan(
+ &relay.ID, &relay.URL, &relay.Read, &relay.Write, &relay.Sync, &relay.CreatedAt, &relay.ModifiedAt)
+ if err != nil {
+ log.Printf("Failed to get relay by ID: %v", err)
+ return nil, err
+ }
+ return &relay, nil
+}
diff --git a/backend/service/relays/replace_relays.go b/backend/service/relays/replace_relays.go
new file mode 100644
index 00000000..7ff1609c
--- /dev/null
+++ b/backend/service/relays/replace_relays.go
@@ -0,0 +1,64 @@
+package relays
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "log"
+)
+
+// RelayData represents the data needed to create a relay
+type RelayData struct {
+ URL string
+ Read bool
+ Write bool
+ Sync bool
+}
+
+// ReplaceRelays removes all existing relays and inserts the new list of relays into the database
+func ReplaceRelays(relayData []RelayData) ([]*schemas.Relay, error) {
+ tx, err := db.DB.Begin()
+ if err != nil {
+ log.Printf("Failed to begin transaction: %v", err)
+ return nil, err
+ }
+
+ _, err = tx.Exec("DELETE FROM relays")
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to delete existing relays: %v", err)
+ return nil, err
+ }
+
+ createdRelays := []*schemas.Relay{}
+ for _, data := range relayData {
+ result, err := tx.Exec("INSERT INTO relays (url, read, write, sync) VALUES (?, ?, ?, ?)", data.URL, data.Read, data.Write, data.Sync)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to create relay: %v", err)
+ return nil, err
+ }
+
+ id, err := result.LastInsertId()
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to get last insert ID: %v", err)
+ return nil, err
+ }
+
+ createdRelay := &schemas.Relay{
+ ID: int(id),
+ URL: data.URL,
+ Read: data.Read,
+ Write: data.Write,
+ Sync: data.Sync,
+ }
+ createdRelays = append(createdRelays, createdRelay)
+ }
+
+ if err := tx.Commit(); err != nil {
+ log.Printf("Failed to commit transaction: %v", err)
+ return nil, err
+ }
+
+ return createdRelays, nil
+}
diff --git a/backend/service/relays/update_relay.go b/backend/service/relays/update_relay.go
new file mode 100644
index 00000000..752f15e8
--- /dev/null
+++ b/backend/service/relays/update_relay.go
@@ -0,0 +1,17 @@
+package relays
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "log"
+)
+
+// UpdateRelay updates an existing relay in the database
+func UpdateRelay(relay schemas.Relay) error {
+ _, err := db.DB.Exec("UPDATE relays SET url = ?, read = ?, write = ?, sync = ? WHERE id = ?", relay.URL, relay.Read, relay.Write, relay.Sync, relay.ID)
+ if err != nil {
+ log.Printf("Failed to update relay: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/tags/clear_active_tags.go b/backend/service/tags/clear_active_tags.go
new file mode 100644
index 00000000..a3f5b89b
--- /dev/null
+++ b/backend/service/tags/clear_active_tags.go
@@ -0,0 +1,16 @@
+package tags
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// SetAllTagsInactive sets the active status of all tags to false
+func ClearActiveTags() error {
+ _, err := db.DB.Exec("UPDATE tags SET active = 0")
+ if err != nil {
+ log.Printf("Failed to set all tags inactive: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/tags/create_tag.go b/backend/service/tags/create_tag.go
new file mode 100644
index 00000000..6ebce6a9
--- /dev/null
+++ b/backend/service/tags/create_tag.go
@@ -0,0 +1,16 @@
+package tags
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// CreateTag inserts a new tag into the database
+func CreateTag(name, color, icon string, active, inactive bool) error {
+ _, err := db.DB.Exec("INSERT INTO tags (name, color, icon, active, inactive) VALUES (?, ?, ?, ?, ?)", name, color, icon, active, inactive)
+ if err != nil {
+ log.Printf("Failed to create tag: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/tags/create_tags.go b/backend/service/tags/create_tags.go
new file mode 100644
index 00000000..29f4ddbf
--- /dev/null
+++ b/backend/service/tags/create_tags.go
@@ -0,0 +1,125 @@
+package tags
+
+import (
+ "comet/backend/db"
+ "database/sql"
+ "log"
+)
+
+// CreateTags inserts multiple tags into the database and associates them with a note ID
+func CreateTags(noteID int, tags []string) error {
+ tx, err := db.DB.Begin()
+ if err != nil {
+ log.Printf("Failed to begin transaction: %v", err)
+ return err
+ }
+
+ // Remove all existing associations for the note
+ _, err = tx.Exec("DELETE FROM notes_tags WHERE note_id = ?", noteID)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to remove existing associations: %v", err)
+ return err
+ }
+
+ // Get the notebook ID associated with the note
+ var notebookID sql.NullInt64
+ err = tx.QueryRow("SELECT notebook_id FROM notes WHERE id = ?", noteID).Scan(¬ebookID)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to retrieve notebook ID: %v", err)
+ return err
+ }
+
+ // If the notebook ID is valid, proceed with notebook-related operations
+ if notebookID.Valid {
+ // Remove all associations with the notebook in the notebook_tags junction table
+ _, err = tx.Exec("DELETE FROM notebook_tags WHERE notebook_id = ?", notebookID.Int64)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to remove associations with notebook: %v", err)
+ return err
+ }
+ }
+
+ stmt, err := tx.Prepare("INSERT OR IGNORE INTO tags (name) VALUES (?)")
+ if err != nil {
+ log.Printf("Failed to prepare statement: %v", err)
+ return err
+ }
+ defer stmt.Close()
+
+ for _, tag := range tags {
+ _, err := stmt.Exec(tag)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to execute statement: %v", err)
+ return err
+ }
+
+ // Get the tag ID
+ var tagID int
+ err = tx.QueryRow("SELECT id FROM tags WHERE name = ?", tag).Scan(&tagID)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to retrieve tag ID: %v", err)
+ return err
+ }
+
+ // Associate the tag with the note if not already associated
+ _, err = tx.Exec("INSERT OR IGNORE INTO notes_tags (note_id, tag_id) VALUES (?, ?)", noteID, tagID)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to associate tag with note: %v", err)
+ return err
+ }
+ }
+
+ // Delete tags with no associated notes
+ _, err = tx.Exec("DELETE FROM tags WHERE id NOT IN (SELECT DISTINCT tag_id FROM notes_tags)")
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to delete unused tags: %v", err)
+ return err
+ }
+
+ // If the notebook ID is valid, proceed with notebook-related operations
+ if notebookID.Valid {
+ // Look up all notes for the notebook and their associated tags
+ rows, err := tx.Query(`
+ SELECT nt.tag_id
+ FROM notes_tags nt
+ JOIN notes n ON nt.note_id = n.id
+ WHERE n.notebook_id = ?`, notebookID.Int64)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to retrieve tags for notebook: %v", err)
+ return err
+ }
+ defer rows.Close()
+
+ // Add those tags to the notebook_tags table
+ for rows.Next() {
+ var tagID int
+ if err := rows.Scan(&tagID); err != nil {
+ tx.Rollback()
+ log.Printf("Failed to scan tag ID: %v", err)
+ return err
+ }
+ _, err = tx.Exec("INSERT OR IGNORE INTO notebook_tags (notebook_id, tag_id) VALUES (?, ?)", notebookID.Int64, tagID)
+ if err != nil {
+ tx.Rollback()
+ log.Printf("Failed to insert tag into notebook_tags: %v", err)
+ return err
+ }
+ }
+ }
+
+ err = tx.Commit()
+ if err != nil {
+ log.Printf("Failed to commit transaction: %v", err)
+ return err
+ }
+
+ return nil
+}
diff --git a/backend/service/tags/delete_tag.go b/backend/service/tags/delete_tag.go
new file mode 100644
index 00000000..0fc5f510
--- /dev/null
+++ b/backend/service/tags/delete_tag.go
@@ -0,0 +1,16 @@
+package tags
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// DeleteTag deletes a tag by its ID
+func DeleteTag(id int) error {
+ _, err := db.DB.Exec("DELETE FROM tags WHERE id = ?", id)
+ if err != nil {
+ log.Printf("Failed to delete tag: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/tags/get_tag_by_id.go b/backend/service/tags/get_tag_by_id.go
new file mode 100644
index 00000000..f6c05120
--- /dev/null
+++ b/backend/service/tags/get_tag_by_id.go
@@ -0,0 +1,22 @@
+package tags
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "database/sql"
+ "log"
+)
+
+// GetTagByID retrieves a single tag by its ID
+func GetTagByID(id int) (*schemas.Tag, error) {
+ var tag schemas.Tag
+ err := db.DB.QueryRow("SELECT id, name, color, icon, created_at, modified_at FROM tags WHERE id = ?", id).Scan(&tag.ID, &tag.Name, &tag.Color, &tag.Icon, &tag.CreatedAt, &tag.ModifiedAt)
+ if err != nil {
+ if err == sql.ErrNoRows {
+ return nil, nil
+ }
+ log.Printf("Failed to get tag by ID: %v", err)
+ return nil, err
+ }
+ return &tag, nil
+}
diff --git a/backend/service/tags/get_tags.go b/backend/service/tags/get_tags.go
new file mode 100644
index 00000000..2bdbac41
--- /dev/null
+++ b/backend/service/tags/get_tags.go
@@ -0,0 +1,52 @@
+package tags
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "database/sql"
+ "log"
+)
+
+// GetTags retrieves all tags from the database
+func GetTags() ([]schemas.Tag, error) {
+ var tags []schemas.Tag
+ var activeNotebookID *int
+
+ // Check if there is an active notebook
+ err := db.DB.Get(&activeNotebookID, "SELECT id FROM notebooks WHERE active = true LIMIT 1")
+ if err != nil && err != sql.ErrNoRows {
+ log.Printf("Failed to get active notebook: %v", err)
+ return nil, err
+ }
+
+ var rows *sql.Rows
+ if activeNotebookID != nil {
+ // Retrieve tags associated with the active notebook
+ query := `
+ SELECT tags.id, tags.name, tags.color, tags.icon, tags.active, tags.inactive, tags.created_at, tags.modified_at
+ FROM tags
+ JOIN notebook_tags ON tags.id = notebook_tags.tag_id
+ WHERE notebook_tags.notebook_id = ?
+ ORDER BY tags.name ASC`
+ rows, err = db.DB.Query(query, *activeNotebookID)
+ } else {
+ // Retrieve all tags
+ query := "SELECT id, name, color, icon, active, inactive, created_at, modified_at FROM tags ORDER BY name ASC"
+ rows, err = db.DB.Query(query)
+ }
+ if err != nil {
+ log.Printf("Failed to get tags: %v", err)
+ return nil, err
+ }
+ defer rows.Close()
+
+ for rows.Next() {
+ var tag schemas.Tag
+ if err := rows.Scan(&tag.ID, &tag.Name, &tag.Color, &tag.Icon, &tag.Active, &tag.Inactive, &tag.CreatedAt, &tag.ModifiedAt); err != nil {
+ log.Printf("Failed to scan tag: %v", err)
+ return nil, err
+ }
+ tags = append(tags, tag)
+ }
+ return tags, nil
+}
diff --git a/backend/service/tags/get_tags_by_note_id.go b/backend/service/tags/get_tags_by_note_id.go
new file mode 100644
index 00000000..3369df38
--- /dev/null
+++ b/backend/service/tags/get_tags_by_note_id.go
@@ -0,0 +1,23 @@
+package tags
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "log"
+)
+
+// GetTagsByNoteID retrieves all tags associated with a specific note ID
+func GetTagsByNoteID(noteID int) ([]schemas.Tag, error) {
+ var tags []schemas.Tag
+ query := `
+ SELECT tags.* FROM tags
+ JOIN notes_tags ON tags.id = notes_tags.tag_id
+ WHERE notes_tags.note_id = ?
+ ORDER BY tags.name ASC`
+ err := db.DB.Select(&tags, query, noteID)
+ if err != nil {
+ log.Printf("Failed to retrieve tags for note ID %d: %v", noteID, err)
+ return nil, err
+ }
+ return tags, nil
+}
diff --git a/backend/service/tags/remove_note_tags.go b/backend/service/tags/remove_note_tags.go
new file mode 100644
index 00000000..370535c8
--- /dev/null
+++ b/backend/service/tags/remove_note_tags.go
@@ -0,0 +1,43 @@
+package tags
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// RemoveNoteTags removes all tag associations for a given note ID and deletes tags with no remaining associations
+func RemoveNoteTags(noteID int) error {
+ // Get all tag IDs associated with the note
+ var tagIDs []int
+ err := db.DB.Select(&tagIDs, "SELECT tag_id FROM notes_tags WHERE note_id = ?", noteID)
+ if err != nil {
+ log.Printf("Failed to retrieve tag associations for note ID %d: %v", noteID, err)
+ return err
+ }
+
+ // Remove all tag associations for the note
+ _, err = db.DB.Exec("DELETE FROM notes_tags WHERE note_id = ?", noteID)
+ if err != nil {
+ log.Printf("Failed to remove tag associations for note ID %d: %v", noteID, err)
+ return err
+ }
+
+ // Check for remaining associations and remove tags with no remaining associations
+ for _, tagID := range tagIDs {
+ var count int
+ err = db.DB.Get(&count, "SELECT COUNT(*) FROM notes_tags WHERE tag_id = ?", tagID)
+ if err != nil {
+ log.Printf("Failed to count remaining associations for tag ID %d: %v", tagID, err)
+ return err
+ }
+ if count == 0 {
+ _, err = db.DB.Exec("DELETE FROM tags WHERE id = ?", tagID)
+ if err != nil {
+ log.Printf("Failed to delete tag ID %d: %v", tagID, err)
+ return err
+ }
+ }
+ }
+
+ return nil
+}
diff --git a/backend/service/tags/set_tag_active.go b/backend/service/tags/set_tag_active.go
new file mode 100644
index 00000000..6f080869
--- /dev/null
+++ b/backend/service/tags/set_tag_active.go
@@ -0,0 +1,16 @@
+package tags
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// SetTagActive sets the active status of a tag
+func SetTagActive(tagID int, active bool) error {
+ _, err := db.DB.Exec("UPDATE tags SET active = ? WHERE id = ?", active, tagID)
+ if err != nil {
+ log.Printf("Failed to set tag active status: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/tags/set_tag_inactive.go b/backend/service/tags/set_tag_inactive.go
new file mode 100644
index 00000000..321c09dd
--- /dev/null
+++ b/backend/service/tags/set_tag_inactive.go
@@ -0,0 +1,16 @@
+package tags
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// SetTagInactive sets the active status of a tag to false
+func SetTagInactive(tagID int) error {
+ _, err := db.DB.Exec("UPDATE tags SET active = 0 WHERE id = ?", tagID)
+ if err != nil {
+ log.Printf("Failed to set tag inactive: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/tags/update_tag.go b/backend/service/tags/update_tag.go
new file mode 100644
index 00000000..ecc6e441
--- /dev/null
+++ b/backend/service/tags/update_tag.go
@@ -0,0 +1,16 @@
+package tags
+
+import (
+ "comet/backend/db"
+ "log"
+)
+
+// UpdateTag updates the details of an existing tag
+func UpdateTag(id int, name, color, icon string) error {
+ _, err := db.DB.Exec("UPDATE tags SET name = ?, color = ?, icon = ?, modified_at = CURRENT_TIMESTAMP WHERE id = ?", name, color, icon, id)
+ if err != nil {
+ log.Printf("Failed to update tag: %v", err)
+ return err
+ }
+ return nil
+}
diff --git a/backend/service/users/create_user.go b/backend/service/users/create_user.go
new file mode 100644
index 00000000..b9ca48f9
--- /dev/null
+++ b/backend/service/users/create_user.go
@@ -0,0 +1,30 @@
+package users
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "log"
+)
+
+func CreateUser(nsec, npub string, active bool) (*schemas.User, error) {
+ user := &schemas.User{
+ Nsec: nsec,
+ Npub: npub,
+ Active: active,
+ }
+
+ query := `INSERT INTO users (nsec, npub, active) VALUES (?, ?, ?)`
+ result, err := db.DB.Exec(query, user.Nsec, user.Npub, user.Active)
+ if err != nil {
+ log.Printf("Failed to create user: %v", err)
+ return nil, err
+ }
+
+ id, err := result.LastInsertId()
+ if err != nil {
+ return nil, err
+ }
+ user.ID = int(id)
+
+ return user, nil
+}
diff --git a/backend/service/users/delete_user.go b/backend/service/users/delete_user.go
new file mode 100644
index 00000000..ef4a7835
--- /dev/null
+++ b/backend/service/users/delete_user.go
@@ -0,0 +1,15 @@
+package users
+
+import (
+ "comet/backend/db"
+)
+
+func DeleteUser(id int) error {
+ query := `DELETE FROM users WHERE id = ?`
+ _, err := db.DB.Exec(query, id)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
diff --git a/backend/service/users/get_active_user.go b/backend/service/users/get_active_user.go
new file mode 100644
index 00000000..1f87b251
--- /dev/null
+++ b/backend/service/users/get_active_user.go
@@ -0,0 +1,19 @@
+package users
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+)
+
+func GetActiveUser() (*schemas.User, error) {
+ query := `SELECT id, nsec, npub, active, created_at, modified_at FROM users WHERE active = 1 LIMIT 1`
+ row := db.DB.QueryRow(query)
+
+ var user schemas.User
+ err := row.Scan(&user.ID, &user.Nsec, &user.Npub, &user.Active, &user.CreatedAt, &user.ModifiedAt)
+ if err != nil {
+ return nil, err
+ }
+
+ return &user, nil
+}
diff --git a/backend/service/users/get_user_by_id.go b/backend/service/users/get_user_by_id.go
new file mode 100644
index 00000000..dc1c1e8b
--- /dev/null
+++ b/backend/service/users/get_user_by_id.go
@@ -0,0 +1,22 @@
+package users
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+ "database/sql"
+ "errors"
+)
+
+func GetUserByID(id int) (*schemas.User, error) {
+ user := &schemas.User{}
+ query := `SELECT id, nsec, npub, active, created_at, modified_at FROM users WHERE id = ?`
+ err := db.DB.QueryRow(query, id).Scan(&user.ID, &user.Nsec, &user.Npub, &user.Active, &user.CreatedAt, &user.ModifiedAt)
+ if err != nil {
+ if err == sql.ErrNoRows {
+ return nil, errors.New("user not found")
+ }
+ return nil, err
+ }
+
+ return user, nil
+}
diff --git a/backend/service/users/update_user.go b/backend/service/users/update_user.go
new file mode 100644
index 00000000..e948e8ae
--- /dev/null
+++ b/backend/service/users/update_user.go
@@ -0,0 +1,16 @@
+package users
+
+import (
+ "comet/backend/db"
+ "comet/backend/db/schemas"
+)
+
+func UpdateUser(user schemas.User) error {
+ query := `UPDATE users SET nsec = ?, npub = ?, active = ? WHERE id = ?`
+ _, err := db.DB.Exec(query, user.Nsec, user.Npub, user.Active, user.ID)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
diff --git a/build/darwin/Info.dev.plist b/build/Info.dev.plist
similarity index 93%
rename from build/darwin/Info.dev.plist
rename to build/Info.dev.plist
index a3ddfdc1..f654a6d7 100644
--- a/build/darwin/Info.dev.plist
+++ b/build/Info.dev.plist
@@ -6,9 +6,9 @@
CFBundleName
My Product
CFBundleExecutable
- asdf
+ comet
CFBundleIdentifier
- com.wails.asdf
+ com.wails.comet
CFBundleVersion
0.1.0
CFBundleGetInfoString
diff --git a/build/darwin/Info.plist b/build/Info.plist
similarity index 92%
rename from build/darwin/Info.plist
rename to build/Info.plist
index ec6553a0..e42dac47 100644
--- a/build/darwin/Info.plist
+++ b/build/Info.plist
@@ -6,9 +6,9 @@
CFBundleName
My Product
CFBundleExecutable
- asdf
+ comet
CFBundleIdentifier
- com.wails.asdf
+ com.wails.comet
CFBundleVersion
0.1.0
CFBundleGetInfoString
diff --git a/build/Taskfile.yml b/build/Taskfile.common.yml
similarity index 87%
rename from build/Taskfile.yml
rename to build/Taskfile.common.yml
index ee88d272..42f77b57 100644
--- a/build/Taskfile.yml
+++ b/build/Taskfile.common.yml
@@ -23,7 +23,7 @@ tasks:
- sh: npm version
msg: "Looks like npm isn't installed. Npm is part of the Node installer: https://nodejs.org/en/download/"
cmds:
- - npm install
+ - npm install --force
build:frontend:
summary: Build the frontend project
@@ -47,7 +47,7 @@ tasks:
generates:
- "frontend/bindings/**/*"
cmds:
- - wails3 generate bindings -f '{{.BUILD_FLAGS}}'{{if .UseTypescript}} -ts{{end}}
+ - wails3 generate bindings -f '{{.BUILD_FLAGS}}' -ts
generate:icons:
summary: Generates Windows `.ico` and Mac `.icns` files from an image
@@ -58,7 +58,7 @@ tasks:
- "icons.icns"
- "icons.ico"
cmds:
- - wails3 generate icons -input appicon.png -macfilename darwin/icons.icns -windowsfilename windows/icons.ico
+ - wails3 generate icons -input appicon.png
dev:frontend:
summary: Runs the frontend in development mode
diff --git a/build/darwin/Taskfile.yml b/build/Taskfile.darwin.yml
similarity index 52%
rename from build/darwin/Taskfile.yml
rename to build/Taskfile.darwin.yml
index c7d5ce8b..59769769 100644
--- a/build/darwin/Taskfile.yml
+++ b/build/Taskfile.darwin.yml
@@ -1,7 +1,7 @@
version: '3'
includes:
- common: ../Taskfile.yml
+ common: Taskfile.common.yml
tasks:
build:
@@ -11,11 +11,9 @@ tasks:
- task: common:build:frontend
- task: common:generate:icons
cmds:
- - go build {{.BUILD_FLAGS}} -o {{.OUTPUT}}
+ - go build {{.BUILD_FLAGS}} -o {{.BIN_DIR}}/{{.APP_NAME}}
vars:
BUILD_FLAGS: '{{if eq .PRODUCTION "true"}}-tags production,fts5 -trimpath -ldflags="-w -s"{{else}}-tags fts5 -gcflags=all="-N -l"{{end}}'
- DEFAULT_OUTPUT: '{{.BIN_DIR}}/{{.APP_NAME}}'
- OUTPUT: '{{ .OUTPUT | default .DEFAULT_OUTPUT }}'
env:
GOOS: darwin
CGO_ENABLED: 1
@@ -25,21 +23,6 @@ tasks:
MACOSX_DEPLOYMENT_TARGET: "10.15"
PRODUCTION: '{{.PRODUCTION | default "false"}}'
- build:universal:
- summary: Builds darwin universal binary (arm64 + amd64)
- deps:
- - task: build
- vars:
- ARCH: amd64
- OUTPUT: "{{.BIN_DIR}}/{{.APP_NAME}}-amd64"
- - task: build
- vars:
- ARCH: arm64
- OUTPUT: "{{.BIN_DIR}}/{{.APP_NAME}}-arm64"
- cmds:
- - lipo -create -output "{{.BIN_DIR}}/{{.APP_NAME}}" "{{.BIN_DIR}}/{{.APP_NAME}}-amd64" "{{.BIN_DIR}}/{{.APP_NAME}}-arm64"
- - rm "{{.BIN_DIR}}/{{.APP_NAME}}-amd64" "{{.BIN_DIR}}/{{.APP_NAME}}-arm64"
-
package:
summary: Packages a production build of the application into a `.app` bundle
deps:
@@ -49,21 +32,13 @@ tasks:
cmds:
- task: create:app:bundle
- package:universal:
- summary: Packages darwin universal binary (arm64 + amd64)
- deps:
- - task: build:universal
- cmds:
- - task: create:app:bundle
-
-
create:app:bundle:
summary: Creates an `.app` bundle
cmds:
- mkdir -p {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents/{MacOS,Resources}
- - cp build/darwin/icons.icns {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents/Resources
+ - cp build/icons.icns {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents/Resources
- cp {{.BIN_DIR}}/{{.APP_NAME}} {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents/MacOS
- - cp build/darwin/Info.plist {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents
+ - cp build/Info.plist {{.BIN_DIR}}/{{.APP_NAME}}.app/Contents
run:
cmds:
diff --git a/build/linux/Taskfile.yml b/build/Taskfile.linux.yml
similarity index 74%
rename from build/linux/Taskfile.yml
rename to build/Taskfile.linux.yml
index 971ab5f1..2d686b5b 100644
--- a/build/linux/Taskfile.yml
+++ b/build/Taskfile.linux.yml
@@ -1,7 +1,7 @@
version: '3'
includes:
- common: ../Taskfile.yml
+ common: Taskfile.common.yml
tasks:
build:
@@ -13,7 +13,7 @@ tasks:
cmds:
- go build {{.BUILD_FLAGS}} -o {{.BIN_DIR}}/{{.APP_NAME}}
vars:
- BUILD_FLAGS: '{{if eq .PRODUCTION "true"}}-tags production -trimpath -ldflags="-w -s"{{else}}-gcflags=all="-l"{{end}}'
+ BUILD_FLAGS: '{{if eq .PRODUCTION "true"}}-tags production,fts5 -trimpath -ldflags="-w -s"{{else}}-tags fts5 -gcflags=all="-N -l"{{end}}'
env:
GOOS: linux
CGO_ENABLED: 1
@@ -34,7 +34,7 @@ tasks:
create:appimage:
summary: Creates an AppImage
- dir: build/linux/appimage
+ dir: build/appimage
deps:
- task: build
vars:
@@ -42,14 +42,14 @@ tasks:
- task: generate:dotdesktop
cmds:
- cp {{.APP_BINARY}} {{.APP_NAME}}
- - cp ../../appicon.png appicon.png
- - wails3 generate appimage -binary {{.APP_NAME}} -icon {{.ICON}} -desktopfile {{.DESKTOP_FILE}} -outputdir {{.OUTPUT_DIR}} -builddir {{.ROOT_DIR}}/build/linux/appimage/build
+ - cp ../appicon.png appicon.png
+ - wails3 generate appimage -binary {{.APP_NAME}} -icon {{.ICON}} -desktopfile {{.DESKTOP_FILE}} -outputdir {{.OUTPUT_DIR}} -builddir {{.ROOT_DIR}}/build/appimage
vars:
APP_NAME: '{{.APP_NAME}}'
- APP_BINARY: '../../../bin/{{.APP_NAME}}'
- ICON: '../../appicon.png'
- DESKTOP_FILE: '../{{.APP_NAME}}.desktop'
- OUTPUT_DIR: '../../../bin'
+ APP_BINARY: '../../bin/{{.APP_NAME}}'
+ ICON: '../appicon.png'
+ DESKTOP_FILE: '{{.APP_NAME}}.desktop'
+ OUTPUT_DIR: '../../bin'
create:deb:
summary: Creates a deb package
@@ -84,30 +84,30 @@ tasks:
generate:deb:
summary: Creates a deb package
cmds:
- - wails3 tool package -name {{.APP_NAME}} -format deb -config ./build/linux/nfpm/nfpm.yaml -out {{.ROOT_DIR}}/bin
+ - wails3 tool package -name {{.APP_NAME}} -format deb -config ./build/nfpm/nfpm.yaml
generate:rpm:
summary: Creates a rpm package
cmds:
- - wails3 tool package -name {{.APP_NAME}} -format rpm -config ./build/linux/nfpm/nfpm.yaml -out {{.ROOT_DIR}}/bin
+ - wails3 tool package -name {{.APP_NAME}} -format rpm -config ./build/nfpm/nfpm.yaml
generate:aur:
summary: Creates a arch linux packager package
cmds:
- - wails3 tool package -name {{.APP_NAME}} -format archlinux -config ./build/linux/nfpm/nfpm.yaml -out {{.ROOT_DIR}}/bin
+ - wails3 tool package -name {{.APP_NAME}} -format arch -config ./build/nfpm/nfpm.yaml
generate:dotdesktop:
summary: Generates a `.desktop` file
dir: build
cmds:
- - mkdir -p {{.ROOT_DIR}}/build/linux/appimage
- - wails3 generate .desktop -name "{{.APP_NAME}}" -exec "{{.EXEC}}" -icon "{{.ICON}}" -outputfile {{.ROOT_DIR}}/build/linux/{{.APP_NAME}}.desktop -categories "{{.CATEGORIES}}"
+ - mkdir -p {{.ROOT_DIR}}/build/appimage
+ - wails3 generate .desktop -name "{{.APP_NAME}}" -exec "{{.EXEC}}" -icon "{{.ICON}}" -outputfile {{.ROOT_DIR}}/build/appimage/{{.APP_NAME}}.desktop -categories "{{.CATEGORIES}}"
vars:
APP_NAME: '{{.APP_NAME}}'
EXEC: '{{.APP_NAME}}'
ICON: 'appicon'
CATEGORIES: 'Development;'
- OUTPUTFILE: '{{.ROOT_DIR}}/build/linux/{{.APP_NAME}}.desktop'
+ OUTPUTFILE: '{{.ROOT_DIR}}/build/appimage/{{.APP_NAME}}.desktop'
run:
cmds:
diff --git a/build/windows/Taskfile.yml b/build/Taskfile.windows.yml
similarity index 82%
rename from build/windows/Taskfile.yml
rename to build/Taskfile.windows.yml
index fd4c6d2f..260c2dbb 100644
--- a/build/windows/Taskfile.yml
+++ b/build/Taskfile.windows.yml
@@ -1,7 +1,7 @@
version: '3'
includes:
- common: ../Taskfile.yml
+ common: Taskfile.common.yml
tasks:
build:
@@ -10,15 +10,15 @@ tasks:
- task: common:go:mod:tidy
- task: common:build:frontend
- task: common:generate:icons
- cmds:
- task: generate:syso
+ cmds:
- go build {{.BUILD_FLAGS}} -o {{.BIN_DIR}}/{{.APP_NAME}}.exe
- cmd: powershell Remove-item *.syso
platforms: [windows]
- cmd: rm -f *.syso
platforms: [linux, darwin]
vars:
- BUILD_FLAGS: '{{if eq .PRODUCTION "true"}}-tags production -trimpath -ldflags="-w -s -H windowsgui"{{else}}-gcflags=all="-l"{{end}}'
+ BUILD_FLAGS: '{{if eq .PRODUCTION "true"}}-tags production,fts5 -trimpath -ldflags="-w -s -H windowsgui"{{else}} fts5 -gcflags=all="-l"{{end}}'
env:
GOOS: windows
CGO_ENABLED: 0
@@ -34,13 +34,13 @@ tasks:
summary: Generates Windows `.syso` file
dir: build
cmds:
- - wails3 generate syso -arch {{.ARCH}} -icon windows/icon.ico -manifest windows/wails.exe.manifest -info windows/info.json -out ../wails_windows_{{.ARCH}}.syso
+ - wails3 generate syso -arch {{.ARCH}} -icon icon.ico -manifest wails.exe.manifest -info info.json -out ../wails_windows_{{.ARCH}}.syso
vars:
ARCH: '{{.ARCH | default ARCH}}'
create:nsis:installer:
summary: Creates an NSIS installer
- dir: build/windows/nsis
+ dir: build/nsis
deps:
- task: build
vars:
diff --git a/build/linux/appimage/build.sh b/build/appimage/build.sh
similarity index 100%
rename from build/linux/appimage/build.sh
rename to build/appimage/build.sh
diff --git a/build/windows/icon.ico b/build/icon.ico
similarity index 100%
rename from build/windows/icon.ico
rename to build/icon.ico
diff --git a/build/darwin/icons.icns b/build/icons.icns
similarity index 100%
rename from build/darwin/icons.icns
rename to build/icons.icns
diff --git a/build/windows/info.json b/build/info.json
similarity index 100%
rename from build/windows/info.json
rename to build/info.json
diff --git a/build/linux/nfpm/nfpm.yaml b/build/nfpm/nfpm.yaml
similarity index 63%
rename from build/linux/nfpm/nfpm.yaml
rename to build/nfpm/nfpm.yaml
index c40836bf..787eaff8 100644
--- a/build/linux/nfpm/nfpm.yaml
+++ b/build/nfpm/nfpm.yaml
@@ -3,7 +3,7 @@
#
# The lines below are called `modelines`. See `:help modeline`
-name: "asdf"
+name: "comet"
arch: ${GOARCH}
platform: "linux"
version: "0.1.0"
@@ -17,12 +17,12 @@ license: "MIT"
release: "1"
contents:
- - src: "./bin/asdf"
- dst: "/usr/local/bin/asdf"
+ - src: "./bin/comet"
+ dst: "/usr/local/bin/comet"
- src: "./build/appicon.png"
- dst: "/usr/share/icons/hicolor/128x128/apps/asdf.png"
- - src: "./build/linux/asdf.desktop"
- dst: "/usr/share/applications/asdf.desktop"
+ dst: "/usr/share/icons/hicolor/128x128/apps/comet.png"
+ - src: "./build/comet.desktop"
+ dst: "/usr/share/applications/comet.desktop"
depends:
- gtk3
@@ -44,7 +44,7 @@ depends:
# - not-bar
# changelog: "changelog.yaml"
# scripts:
-# preinstall: ./build/linux/nfpm/scripts/preinstall.sh
-# postinstall: ./build/linux/nfpm/scripts/postinstall.sh
-# preremove: ./build/linux/nfpm/scripts/preremove.sh
-# postremove: ./build/linux/nfpm/scripts/postremove.sh
+# preinstall: ./build/nfpm/scripts/preinstall.sh
+# postinstall: ./build/nfpm/scripts/postinstall.sh
+# preremove: ./build/nfpm/scripts/preremove.sh
+# postremove: ./build/nfpm/scripts/postremove.sh
diff --git a/build/linux/nfpm/scripts/postinstall.sh b/build/nfpm/scripts/postinstall.sh
similarity index 100%
rename from build/linux/nfpm/scripts/postinstall.sh
rename to build/nfpm/scripts/postinstall.sh
diff --git a/build/linux/nfpm/scripts/postremove.sh b/build/nfpm/scripts/postremove.sh
similarity index 100%
rename from build/linux/nfpm/scripts/postremove.sh
rename to build/nfpm/scripts/postremove.sh
diff --git a/build/linux/nfpm/scripts/preinstall.sh b/build/nfpm/scripts/preinstall.sh
similarity index 100%
rename from build/linux/nfpm/scripts/preinstall.sh
rename to build/nfpm/scripts/preinstall.sh
diff --git a/build/linux/nfpm/scripts/preremove.sh b/build/nfpm/scripts/preremove.sh
similarity index 100%
rename from build/linux/nfpm/scripts/preremove.sh
rename to build/nfpm/scripts/preremove.sh
diff --git a/build/windows/nsis/project.nsi b/build/nsis/project.nsi
similarity index 96%
rename from build/windows/nsis/project.nsi
rename to build/nsis/project.nsi
index 98b232fa..71667057 100644
--- a/build/windows/nsis/project.nsi
+++ b/build/nsis/project.nsi
@@ -19,7 +19,7 @@ Unicode true
####
## The following information is taken from the wails_tools.nsh file, but they can be overwritten here.
####
-## !define INFO_PROJECTNAME "my-project" # Default "asdf"
+## !define INFO_PROJECTNAME "my-project" # Default "comet"
## !define INFO_COMPANYNAME "My Company" # Default "My Company"
## !define INFO_PRODUCTNAME "My Product Name" # Default "My Product"
## !define INFO_PRODUCTVERSION "1.0.0" # Default "0.1.0"
@@ -71,7 +71,7 @@ ManifestDPIAware true
#!finalize 'signtool --file "%1"'
Name "${INFO_PRODUCTNAME}"
-OutFile "..\..\..\bin\${INFO_PROJECTNAME}-${ARCH}-installer.exe" # Name of the installer's file.
+OutFile "..\..\bin\${INFO_PROJECTNAME}-${ARCH}-installer.exe" # Name of the installer's file.
InstallDir "$PROGRAMFILES64\${INFO_COMPANYNAME}\${INFO_PRODUCTNAME}" # Default installing folder ($PROGRAMFILES is Program Files folder).
ShowInstDetails show # This will always show the installation details.
diff --git a/build/windows/nsis/wails_tools.nsh b/build/nsis/wails_tools.nsh
similarity index 99%
rename from build/windows/nsis/wails_tools.nsh
rename to build/nsis/wails_tools.nsh
index 39da55ad..f64237b4 100644
--- a/build/windows/nsis/wails_tools.nsh
+++ b/build/nsis/wails_tools.nsh
@@ -5,7 +5,7 @@
!include "FileFunc.nsh"
!ifndef INFO_PROJECTNAME
- !define INFO_PROJECTNAME "asdf"
+ !define INFO_PROJECTNAME "comet"
!endif
!ifndef INFO_COMPANYNAME
!define INFO_COMPANYNAME "My Company"
diff --git a/build/windows/wails.exe.manifest b/build/wails.exe.manifest
similarity index 89%
rename from build/windows/wails.exe.manifest
rename to build/wails.exe.manifest
index c1310aa1..625c3ef6 100644
--- a/build/windows/wails.exe.manifest
+++ b/build/wails.exe.manifest
@@ -1,6 +1,6 @@
-
+
diff --git a/build/windows/icons.ico b/build/windows/icons.ico
deleted file mode 100644
index bfa0690b..00000000
Binary files a/build/windows/icons.ico and /dev/null differ
diff --git a/contextmenu/notecontextmenu.go b/contextmenu/notecontextmenu.go
deleted file mode 100644
index 6cd6cb40..00000000
--- a/contextmenu/notecontextmenu.go
+++ /dev/null
@@ -1,72 +0,0 @@
-package contextmenu
-
-import (
- "context"
- "strconv"
-
- "github.com/nodetec/comet/service"
- "github.com/wailsapp/wails/v3/pkg/application"
-)
-
-func CreateNoteMenu(app *application.App, mainWindow application.Window, ctx context.Context, noteService *service.NoteService, noteTagService *service.NoteTagService) {
- noteMenu := app.NewMenu()
-
- noteMenu.Add("Move to trash").OnClick(func(data *application.Context) {
- contextData, ok := data.ContextMenuData().(string)
- if !ok {
- app.Logger.Error("Invalid context menu data type")
- return
- }
-
- noteID, err := strconv.ParseInt(contextData, 10, 64)
- if err != nil {
- app.Logger.Error("Error converting context data to int64", "error", err)
- return
- }
-
- // Call your service method to delete the note
- note, err := noteService.GetNote(ctx, noteID)
- if err != nil {
- app.Logger.Error("Error getting note", "error", err)
- }
- tags, err := noteTagService.GetTagsForNote(ctx, noteID)
- if err != nil {
- app.Logger.Error("Error getting tags for note", "error", err)
- }
- err = noteService.AddNoteToTrash(ctx, note, tags)
- if err != nil {
- app.Logger.Error("Error moving note to trash", "error", err)
- }
- err = noteService.DeleteNote(ctx, noteID)
-
- if err != nil {
- app.Logger.Error("Error deleting note", "error", err)
- return
- }
-
- app.EmitEvent("noteDeleted", noteID)
- })
-
- noteMenu.Add("Move to Notebook").OnClick(func(data *application.Context) {
- contextData, ok := data.ContextMenuData().(string)
- if !ok {
- app.Logger.Error("Invalid context menu data type")
- return
- }
-
- noteID, err := strconv.ParseInt(contextData, 10, 64)
- if err != nil {
- app.Logger.Error("Error converting context data to int64", "error", err)
- return
- }
-
- note, err := noteService.GetNote(ctx, noteID)
- if err != nil {
- app.Logger.Error("Error getting note", "error", err)
- }
-
- app.EmitEvent("noteBookModal", note)
- })
-
- mainWindow.RegisterContextMenu("noteMenu", noteMenu)
-}
diff --git a/contextmenu/notetagcontextmenu.go b/contextmenu/notetagcontextmenu.go
deleted file mode 100644
index 5222bc9e..00000000
--- a/contextmenu/notetagcontextmenu.go
+++ /dev/null
@@ -1,57 +0,0 @@
-package contextmenu
-
-import (
- "context"
- "fmt"
- "strconv"
- "strings"
-
- "github.com/nodetec/comet/service"
- "github.com/wailsapp/wails/v3/pkg/application"
-)
-
-func CreateNoteTagMenu(app *application.App, mainWindow application.Window, ctx context.Context, noteTagService *service.NoteTagService) {
- noteTagMenu := app.NewMenu()
-
- noteTagMenu.Add("Remove").OnClick(func(data *application.Context) {
- contextData, ok := data.ContextMenuData().(string)
- fmt.Println("Context data!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:", contextData)
- if !ok {
- app.Logger.Error("Invalid context menu data type")
- return
- }
- fmt.Println("Context data:", contextData)
-
- // parse {noteID}-{tagID}
- noteTagData := contextData
- noteTagDataSplit := strings.Split(noteTagData, ":")
- if len(noteTagDataSplit) != 2 {
- app.Logger.Error("Invalid context menu data format")
- return
- }
-
- noteID, err := strconv.Atoi(noteTagDataSplit[0])
- if err != nil {
- app.Logger.Error("Invalid note ID", "error", err)
- return
- }
-
- tagID, err := strconv.Atoi(noteTagDataSplit[1])
- if err != nil {
- app.Logger.Error("Invalid tag ID", "error", err)
- return
- }
-
- // Call your service method to delete the tag
- err = noteTagService.RemoveTagFromNote(ctx, int64(noteID), int64(tagID))
- if err != nil {
- app.Logger.Error("Error deleting tag", "error", err)
- return
- }
-
- // Emit an event to notify about tag deletion
- app.EmitEvent("noteTagRemoved", tagID)
- })
-
- mainWindow.RegisterContextMenu("noteTagMenu", noteTagMenu)
-}
diff --git a/contextmenu/tagcontextmenu.go b/contextmenu/tagcontextmenu.go
deleted file mode 100644
index baa65866..00000000
--- a/contextmenu/tagcontextmenu.go
+++ /dev/null
@@ -1,39 +0,0 @@
-package contextmenu
-
-import (
- "context"
- "strconv"
-
- "github.com/nodetec/comet/service"
- "github.com/wailsapp/wails/v3/pkg/application"
-)
-
-func CreateTagMenu(app *application.App, mainWindow application.Window, ctx context.Context, tagService *service.TagService) {
- tagMenu := app.NewMenu()
-
- tagMenu.Add("Delete").OnClick(func(data *application.Context) {
- contextData, ok := data.ContextMenuData().(string)
- if !ok {
- app.Logger.Error("Invalid context menu data type")
- return
- }
-
- tagID, err := strconv.ParseInt(contextData, 10, 64)
- if err != nil {
- app.Logger.Error("Error converting context data to int64", "error", err)
- return
- }
-
- // Call your service method to delete the tag
- err = tagService.DeleteTag(ctx, tagID)
- if err != nil {
- app.Logger.Error("Error deleting tag", "error", err)
- return
- }
-
- // Emit an event to notify about tag deletion
- app.EmitEvent("tagDeleted", tagID)
- })
-
- mainWindow.RegisterContextMenu("tagMenu", tagMenu)
-}
diff --git a/contextmenu/trashnotecontextmenu.go b/contextmenu/trashnotecontextmenu.go
deleted file mode 100644
index 9bc97cef..00000000
--- a/contextmenu/trashnotecontextmenu.go
+++ /dev/null
@@ -1,100 +0,0 @@
-package contextmenu
-
-import (
- "context"
- "database/sql"
- "strconv"
- "strings"
-
- "github.com/nodetec/comet/service"
- "github.com/wailsapp/wails/v3/pkg/application"
-)
-
-func CreateTrashNoteMenu(app *application.App, mainWindow application.Window, ctx context.Context, noteService *service.NoteService, noteTagService *service.NoteTagService, tagService *service.TagService) {
- trashNoteMenu := app.NewMenu()
-
- trashNoteMenu.Add("Restore from trash").OnClick(func(data *application.Context) {
- contextData, ok := data.ContextMenuData().(string)
- if !ok {
- app.Logger.Error("Invalid context menu data type")
- return
- }
-
- trashNoteID, err := strconv.ParseInt(contextData, 10, 64)
- if err != nil {
- app.Logger.Error("Error converting context data to int64", "error", err)
- return
- }
-
- trashNote, err := noteService.GetNoteFromTrash(ctx, trashNoteID)
- if err != nil {
- app.Logger.Error("Error getting note from trash", "error", err)
- }
- var noteId = trashNote.NoteID
- var tagNamesArray []string
- if trashNote.Tags.Valid {
- tagNamesArray = strings.Split(trashNote.Tags.String, ",")
- }
-
- tags, err := tagService.GetTagsByNames(ctx, tagNamesArray)
- if err != nil {
- app.Logger.Error("Error getting tags for note restore", "error", err)
- }
- var tagIds []int64
-
- // Iterate through the slice of tags and extract IDs
- for _, tag := range tags {
- tagIds = append(tagIds, tag.ID)
- }
-
- noteId, content, title, createdAt, modifiedAt, notebookId, publishedAt, eventId, noteType, fileType := trashNote.NoteID, trashNote.Content, trashNote.Title, trashNote.CreatedAt, trashNote.ModifiedAt, trashNote.NotebookID, trashNote.PublishedAt, trashNote.EventID, trashNote.Notetype, trashNote.Filetype
- var statusId sql.NullInt64
- statusId.Valid = false
- note, err := noteService.RestoreNoteFromTrash(ctx, noteId, title, content, notebookId, statusId, createdAt, modifiedAt, publishedAt, eventId, noteType, fileType, tagIds)
- if err != nil {
- app.Logger.Error("Error moving note to trash", "error", err)
- app.Logger.Error("Note Id", "error", note.ID)
- }
-
- err = noteService.DeleteNoteFromTrash(ctx, trashNoteID)
-
- if err != nil {
- app.Logger.Error("Error deleting note from trash", "error", err)
- return
- }
-
- // Emit an event to notify about note restoration
- app.EmitEvent("noteRestored", trashNoteID)
- })
-
- trashNoteMenu.Add("Delete").OnClick(func(data *application.Context) {
- contextData, ok := data.ContextMenuData().(string)
- if !ok {
- app.Logger.Error("Invalid context menu data type")
- return
- }
-
- trashNoteID, err := strconv.ParseInt(contextData, 10, 64)
- if err != nil {
- app.Logger.Error("Error converting context data to int64", "error", err)
- return
- }
-
- err = noteService.DeleteNoteFromTrash(ctx, trashNoteID)
-
- if err != nil {
- app.Logger.Error("Error deleting note", "error", err)
- return
- }
-
- // Emit an event to notify about note deletion
- // app.Events.Emit(&application.WailsEvent{
- // Name: "trashNoteDeleted",
- // Data: trashNoteID,
- // })
- app.EmitEvent("trashNoteDeleted", trashNoteID)
-
- })
-
- mainWindow.RegisterContextMenu("trashNoteMenu", trashNoteMenu)
-}
diff --git a/db/custom_all_notes.go b/db/custom_all_notes.go
deleted file mode 100644
index bb2d0429..00000000
--- a/db/custom_all_notes.go
+++ /dev/null
@@ -1,75 +0,0 @@
-package db
-
-import (
- "context"
- "fmt"
-)
-
-func (q *Queries) ListAllNotes(ctx context.Context, limit, offset int64, orderBy, sortDirection string) ([]Note, error) {
- orderClause := "modified_at DESC"
- switch orderBy {
- case "modified_at":
- orderClause = fmt.Sprintf("modified_at %s", sortDirection)
- case "created_at":
- orderClause = fmt.Sprintf("created_at %s", sortDirection)
- case "title":
- orderClause = fmt.Sprintf("title %s", sortDirection)
- default:
- orderClause = fmt.Sprintf("modified_at %s", sortDirection)
- }
-
- query := fmt.Sprintf(`
- SELECT
- id,
- status_id,
- notebook_id,
- content,
- title,
- created_at,
- modified_at,
- published_at,
- event_id,
- pinned,
- notetype,
- filetype
- FROM
- notes
- ORDER BY
- %s
- LIMIT
- ?
- OFFSET
- ?;`, orderClause)
-
- rows, err := q.db.QueryContext(ctx, query, limit, offset)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
-
- var notes []Note
- for rows.Next() {
- var note Note
- if err := rows.Scan(
- ¬e.ID,
- ¬e.StatusID,
- ¬e.NotebookID,
- ¬e.Content,
- ¬e.Title,
- ¬e.CreatedAt,
- ¬e.ModifiedAt,
- ¬e.PublishedAt,
- ¬e.EventID,
- ¬e.Pinned,
- ¬e.Notetype,
- ¬e.Filetype,
- ); err != nil {
- return nil, err
- }
- notes = append(notes, note)
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return notes, nil
-}
diff --git a/db/custom_all_notes_tag.go b/db/custom_all_notes_tag.go
deleted file mode 100644
index 6ca681a6..00000000
--- a/db/custom_all_notes_tag.go
+++ /dev/null
@@ -1,78 +0,0 @@
-package db
-
-import (
- "context"
- "fmt"
-)
-
-func (q *Queries) GetNotesForTag(ctx context.Context, tagID, limit, offset int64, orderBy, sortDirection string) ([]Note, error) {
- orderClause := "n.modified_at DESC"
- switch orderBy {
- case "modified_at":
- orderClause = fmt.Sprintf("n.modified_at %s", sortDirection)
- case "created_at":
- orderClause = fmt.Sprintf("n.created_at %s", sortDirection)
- case "title":
- orderClause = fmt.Sprintf("n.title %s", sortDirection)
- default:
- orderClause = fmt.Sprintf("n.modified_at %s", sortDirection)
- }
-
- query := fmt.Sprintf(`
- SELECT
- n.id,
- n.status_id,
- n.notebook_id,
- n.content,
- n.title,
- n.created_at,
- n.modified_at,
- n.published_at,
- n.event_id,
- n.pinned,
- n.notetype,
- n.filetype
- FROM
- notes n
- JOIN note_tags nt ON n.id = nt.note_id
- WHERE
- nt.tag_id = ?
- ORDER BY
- %s
- LIMIT
- ?
- OFFSET
- ?;`, orderClause)
-
- rows, err := q.db.QueryContext(ctx, query, tagID, limit, offset)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
-
- var notes []Note
- for rows.Next() {
- var note Note
- if err := rows.Scan(
- ¬e.ID,
- ¬e.StatusID,
- ¬e.NotebookID,
- ¬e.Content,
- ¬e.Title,
- ¬e.CreatedAt,
- ¬e.ModifiedAt,
- ¬e.PublishedAt,
- ¬e.EventID,
- ¬e.Pinned,
- ¬e.Notetype,
- ¬e.Filetype,
- ); err != nil {
- return nil, err
- }
- notes = append(notes, note)
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return notes, nil
-}
diff --git a/db/custom_notebook_notes.go b/db/custom_notebook_notes.go
deleted file mode 100644
index 3c0710a0..00000000
--- a/db/custom_notebook_notes.go
+++ /dev/null
@@ -1,77 +0,0 @@
-package db
-
-import (
- "context"
- "fmt"
-)
-
-func (q *Queries) ListNotesByNotebook(ctx context.Context, notebookID int64, limit, offset int64, orderBy, sortDirection string) ([]Note, error) {
- orderClause := "modified_at DESC"
- switch orderBy {
- case "modified_at":
- orderClause = fmt.Sprintf("modified_at %s", sortDirection)
- case "created_at":
- orderClause = fmt.Sprintf("created_at %s", sortDirection)
- case "title":
- orderClause = fmt.Sprintf("title %s", sortDirection)
- default:
- orderClause = fmt.Sprintf("modified_at %s", sortDirection)
- }
-
- query := fmt.Sprintf(`
- SELECT
- id,
- status_id,
- notebook_id,
- content,
- title,
- created_at,
- modified_at,
- published_at,
- event_id,
- pinned,
- notetype,
- filetype
- FROM
- notes
- WHERE
- (notebook_id = ?)
- ORDER BY
- %s
- LIMIT
- ?
- OFFSET
- ?;`, orderClause)
-
- rows, err := q.db.QueryContext(ctx, query, notebookID, limit, offset)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
-
- var notes []Note
- for rows.Next() {
- var note Note
- if err := rows.Scan(
- ¬e.ID,
- ¬e.StatusID,
- ¬e.NotebookID,
- ¬e.Content,
- ¬e.Title,
- ¬e.CreatedAt,
- ¬e.ModifiedAt,
- ¬e.PublishedAt,
- ¬e.EventID,
- ¬e.Pinned,
- ¬e.Notetype,
- ¬e.Filetype,
- ); err != nil {
- return nil, err
- }
- notes = append(notes, note)
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return notes, nil
-}
diff --git a/db/custom_notebook_notes_tag.go b/db/custom_notebook_notes_tag.go
deleted file mode 100644
index 8234aa99..00000000
--- a/db/custom_notebook_notes_tag.go
+++ /dev/null
@@ -1,85 +0,0 @@
-package db
-
-import (
- "context"
- "fmt"
-)
-
-func (q *Queries) ListNotesByNotebookAndTag(ctx context.Context, notebookID, tagID, limit, offset int64, orderBy, sortDirection string) ([]Note, error) {
- orderClause := "modified_at DESC"
- switch orderBy {
- case "modified_at":
- orderClause = fmt.Sprintf("modified_at %s", sortDirection)
- case "created_at":
- orderClause = fmt.Sprintf("created_at %s", sortDirection)
- case "title":
- orderClause = fmt.Sprintf("title %s", sortDirection)
- default:
- orderClause = fmt.Sprintf("modified_at %s", sortDirection)
- }
-
- query := fmt.Sprintf(`
- SELECT
- id,
- status_id,
- notebook_id,
- content,
- title,
- created_at,
- modified_at,
- published_at,
- event_id,
- pinned,
- notetype,
- filetype
- FROM
- notes
- WHERE
- notebook_id = ?
- AND id IN (
- SELECT
- note_id
- FROM
- note_tags
- WHERE
- tag_id = ?
- )
- ORDER BY
- %s
- LIMIT
- ?
- OFFSET
- ?;`, orderClause)
-
- rows, err := q.db.QueryContext(ctx, query, notebookID, tagID, limit, offset)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
-
- var notes []Note
- for rows.Next() {
- var note Note
- if err := rows.Scan(
- ¬e.ID,
- ¬e.StatusID,
- ¬e.NotebookID,
- ¬e.Content,
- ¬e.Title,
- ¬e.CreatedAt,
- ¬e.ModifiedAt,
- ¬e.PublishedAt,
- ¬e.EventID,
- ¬e.Pinned,
- ¬e.Notetype,
- ¬e.Filetype,
- ); err != nil {
- return nil, err
- }
- notes = append(notes, note)
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return notes, nil
-}
diff --git a/db/custom_search_notes.go b/db/custom_search_notes.go
deleted file mode 100644
index e83fc24c..00000000
--- a/db/custom_search_notes.go
+++ /dev/null
@@ -1,65 +0,0 @@
-package db
-
-import (
- "context"
- "fmt"
-)
-
-func (q *Queries) SearchNotes(ctx context.Context, searchTerm string, notebookID, tagID, limit, offset int64, orderBy, sortDirection string) ([]Note, error) {
- orderClause := "notes.id DESC"
- switch orderBy {
- case "modified_at":
- orderClause = fmt.Sprintf("notes.modified_at %s", sortDirection)
- case "created_at":
- orderClause = fmt.Sprintf("notes.created_at %s", sortDirection)
- case "title":
- orderClause = fmt.Sprintf("notes.title %s", sortDirection)
- default:
- orderClause = fmt.Sprintf("notes.id %s", sortDirection)
- }
-
- customSearchQuery := fmt.Sprintf(`
- SELECT DISTINCT notes.*
- FROM notes
- JOIN notes_fts ON notes.id = notes_fts.rowid
- LEFT JOIN note_tags ON notes.id = note_tags.note_id
- LEFT JOIN tags ON note_tags.tag_id = tags.id
- WHERE notes_fts MATCH ? || '*'
- AND (CASE WHEN ? != 0 THEN notes.notebook_id = ? ELSE 1 END)
- AND (CASE WHEN ? != 0 THEN tags.id = ? ELSE 1 END)
- ORDER BY %s
- LIMIT ? OFFSET ?;
- `, orderClause)
-
- rows, err := q.db.QueryContext(ctx, customSearchQuery, searchTerm, notebookID, notebookID, tagID, tagID, limit, offset)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
-
- var notes []Note
- for rows.Next() {
- var note Note
- if err := rows.Scan(
- ¬e.ID,
- ¬e.StatusID,
- ¬e.NotebookID,
- ¬e.Content,
- ¬e.Title,
- ¬e.CreatedAt,
- ¬e.ModifiedAt,
- ¬e.PublishedAt,
- ¬e.EventID,
- ¬e.Pinned,
- ¬e.Notetype,
- ¬e.Filetype,
- ); err != nil {
- return nil, err
- }
- notes = append(notes, note)
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return notes, nil
-}
diff --git a/db/custom_search_trash.go b/db/custom_search_trash.go
deleted file mode 100644
index 98231c1c..00000000
--- a/db/custom_search_trash.go
+++ /dev/null
@@ -1,64 +0,0 @@
-package db
-
-import (
- "context"
- "fmt"
-)
-
-func (q *Queries) SearchTrash(ctx context.Context, searchTerm string, limit, offset int64, orderBy, sortDirection string) ([]Trash, error) {
- orderClause := "trash.id DESC"
- switch orderBy {
- case "modified_at":
- orderClause = fmt.Sprintf("trash.modified_at %s", sortDirection)
- case "created_at":
- orderClause = fmt.Sprintf("trash.created_at %s", sortDirection)
- case "title":
- orderClause = fmt.Sprintf("trash.title %s", sortDirection)
- default:
- orderClause = fmt.Sprintf("trash.id %s", sortDirection)
- }
-
- customSearchQuery := fmt.Sprintf(`
- SELECT DISTINCT trash.*
- FROM trash
- JOIN trash_fts ON trash.id = trash_fts.rowid
- WHERE trash_fts MATCH ? || '*'
- ORDER BY %s
- LIMIT ? OFFSET ?;
- `, orderClause)
-
- rows, err := q.db.QueryContext(ctx, customSearchQuery, searchTerm, limit, offset)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
-
- // id INTEGER PRIMARY KEY AUTOINCREMENT,
- // note_id INTEGER NOT NULL,
- // content TEXT NOT NULL,
- // title TEXT NOT NULL,
- // created_at TEXT NOT NULL,
- // modified_at TEXT NOT NULL,
- // tags TEXT, -- Field to store tags
-
- var notes []Trash
- for rows.Next() {
- var note Trash
- if err := rows.Scan(
- ¬e.ID,
- ¬e.NoteID,
- ¬e.Content,
- ¬e.Title,
- ¬e.CreatedAt,
- ¬e.ModifiedAt,
- ¬e.Tags,
- ); err != nil {
- return nil, err
- }
- notes = append(notes, note)
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return notes, nil
-}
diff --git a/db/custom_trash_notes.go b/db/custom_trash_notes.go
deleted file mode 100644
index 14c7347d..00000000
--- a/db/custom_trash_notes.go
+++ /dev/null
@@ -1,65 +0,0 @@
-package db
-
-import (
- "context"
- "fmt"
-)
-
-func (q *Queries) ListNotesFromTrash(ctx context.Context, limit, offset int64, orderBy, sortDirection string) ([]Trash, error) {
- orderClause := "id DESC"
- switch orderBy {
- case "modified_at":
- orderClause = fmt.Sprintf("modified_at %s", sortDirection)
- case "created_at":
- orderClause = fmt.Sprintf("created_at %s", sortDirection)
- case "title":
- orderClause = fmt.Sprintf("title %s", sortDirection)
- default:
- orderClause = fmt.Sprintf("id %s", sortDirection)
- }
-
- query := fmt.Sprintf(`
- SELECT
- id,
- note_id,
- content,
- title,
- created_at,
- modified_at,
- tags
- FROM
- trash
- ORDER BY
- %s
- LIMIT
- ?
- OFFSET
- ?;`, orderClause)
-
- rows, err := q.db.QueryContext(ctx, query, limit, offset)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
-
- var notes []Trash
- for rows.Next() {
- var note Trash
- if err := rows.Scan(
- ¬e.ID,
- ¬e.NoteID,
- ¬e.Content,
- ¬e.Title,
- ¬e.CreatedAt,
- ¬e.ModifiedAt,
- ¬e.Tags,
- ); err != nil {
- return nil, err
- }
- notes = append(notes, note)
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return notes, nil
-}
diff --git a/db/db.go b/db/db.go
deleted file mode 100644
index 41b7a343..00000000
--- a/db/db.go
+++ /dev/null
@@ -1,31 +0,0 @@
-// Code generated by sqlc. DO NOT EDIT.
-// versions:
-// sqlc v1.27.0
-
-package db
-
-import (
- "context"
- "database/sql"
-)
-
-type DBTX interface {
- ExecContext(context.Context, string, ...interface{}) (sql.Result, error)
- PrepareContext(context.Context, string) (*sql.Stmt, error)
- QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error)
- QueryRowContext(context.Context, string, ...interface{}) *sql.Row
-}
-
-func New(db DBTX) *Queries {
- return &Queries{db: db}
-}
-
-type Queries struct {
- db DBTX
-}
-
-func (q *Queries) WithTx(tx *sql.Tx) *Queries {
- return &Queries{
- db: tx,
- }
-}
diff --git a/db/models.go b/db/models.go
deleted file mode 100644
index 5da4e4e6..00000000
--- a/db/models.go
+++ /dev/null
@@ -1,95 +0,0 @@
-// Code generated by sqlc. DO NOT EDIT.
-// versions:
-// sqlc v1.27.0
-
-package db
-
-import (
- "database/sql"
-)
-
-type NostrKey struct {
- ID int64
- Nsec string
- Npub string
- Active bool
- CreatedAt string
- ModifiedAt string
-}
-
-type Note struct {
- ID int64
- StatusID sql.NullInt64
- NotebookID int64
- Content string
- Title string
- CreatedAt string
- ModifiedAt string
- PublishedAt sql.NullString
- EventID sql.NullString
- Pinned bool
- Notetype string
- Filetype string
-}
-
-type NoteTag struct {
- NoteID sql.NullInt64
- TagID sql.NullInt64
-}
-
-type Notebook struct {
- ID int64
- Name string
- CreatedAt string
-}
-
-type NotebookTag struct {
- NotebookID sql.NullInt64
- TagID sql.NullInt64
-}
-
-type NotesFt struct {
- Content string
-}
-
-type Relay struct {
- ID int64
- Url string
- Read bool
- Write bool
- Sync bool
- CreatedAt string
- ModifiedAt string
-}
-
-type Setting struct {
- Key string
- Value string
-}
-
-type Tag struct {
- ID int64
- Name string
- Color sql.NullString
- Icon sql.NullString
- CreatedAt string
-}
-
-type Trash struct {
- ID int64
- NoteID int64
- NotebookID int64
- Content string
- Title string
- CreatedAt string
- ModifiedAt string
- Tags sql.NullString
- PublishedAt sql.NullString
- EventID sql.NullString
- Notetype string
- Filetype string
-}
-
-type TrashFt struct {
- Content string
-}
diff --git a/db/nostr_keys.sql.go b/db/nostr_keys.sql.go
deleted file mode 100644
index b3776bed..00000000
--- a/db/nostr_keys.sql.go
+++ /dev/null
@@ -1,137 +0,0 @@
-// Code generated by sqlc. DO NOT EDIT.
-// versions:
-// sqlc v1.27.0
-// source: nostr_keys.sql
-
-package db
-
-import (
- "context"
-)
-
-const createNostrKey = `-- name: CreateNostrKey :one
-INSERT INTO
- nostr_keys (nsec, npub, active, created_at, modified_at)
-VALUES
- (?, ?, ?, ?, ?) RETURNING id,
- nsec,
- npub,
- active,
- created_at,
- modified_at
-`
-
-type CreateNostrKeyParams struct {
- Nsec string
- Npub string
- Active bool
- CreatedAt string
- ModifiedAt string
-}
-
-// NostrKey Queries
-func (q *Queries) CreateNostrKey(ctx context.Context, arg CreateNostrKeyParams) (NostrKey, error) {
- row := q.db.QueryRowContext(ctx, createNostrKey,
- arg.Nsec,
- arg.Npub,
- arg.Active,
- arg.CreatedAt,
- arg.ModifiedAt,
- )
- var i NostrKey
- err := row.Scan(
- &i.ID,
- &i.Nsec,
- &i.Npub,
- &i.Active,
- &i.CreatedAt,
- &i.ModifiedAt,
- )
- return i, err
-}
-
-const deleteNostrKey = `-- name: DeleteNostrKey :exec
-DELETE FROM nostr_keys WHERE id = ?
-`
-
-func (q *Queries) DeleteNostrKey(ctx context.Context, id int64) error {
- _, err := q.db.ExecContext(ctx, deleteNostrKey, id)
- return err
-}
-
-const getNostrKey = `-- name: GetNostrKey :one
-SELECT id, nsec, npub, active, created_at, modified_at FROM nostr_keys WHERE id = ?
-`
-
-func (q *Queries) GetNostrKey(ctx context.Context, id int64) (NostrKey, error) {
- row := q.db.QueryRowContext(ctx, getNostrKey, id)
- var i NostrKey
- err := row.Scan(
- &i.ID,
- &i.Nsec,
- &i.Npub,
- &i.Active,
- &i.CreatedAt,
- &i.ModifiedAt,
- )
- return i, err
-}
-
-const listNostrKeys = `-- name: ListNostrKeys :many
-SELECT id, nsec, npub, active, created_at, modified_at FROM nostr_keys
-`
-
-func (q *Queries) ListNostrKeys(ctx context.Context) ([]NostrKey, error) {
- rows, err := q.db.QueryContext(ctx, listNostrKeys)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
- var items []NostrKey
- for rows.Next() {
- var i NostrKey
- if err := rows.Scan(
- &i.ID,
- &i.Nsec,
- &i.Npub,
- &i.Active,
- &i.CreatedAt,
- &i.ModifiedAt,
- ); err != nil {
- return nil, err
- }
- items = append(items, i)
- }
- if err := rows.Close(); err != nil {
- return nil, err
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return items, nil
-}
-
-const updateNostrKey = `-- name: UpdateNostrKey :exec
-UPDATE nostr_keys SET nsec = ?, npub = ?, active = ?, created_at = ?, modified_at = ? WHERE id = ?
-`
-
-type UpdateNostrKeyParams struct {
- Nsec string
- Npub string
- Active bool
- CreatedAt string
- ModifiedAt string
- ID int64
-}
-
-func (q *Queries) UpdateNostrKey(ctx context.Context, arg UpdateNostrKeyParams) error {
- _, err := q.db.ExecContext(ctx, updateNostrKey,
- arg.Nsec,
- arg.Npub,
- arg.Active,
- arg.CreatedAt,
- arg.ModifiedAt,
- arg.ID,
- )
- return err
-}
diff --git a/db/note_tags.sql.go b/db/note_tags.sql.go
deleted file mode 100644
index 70f8bbc3..00000000
--- a/db/note_tags.sql.go
+++ /dev/null
@@ -1,152 +0,0 @@
-// Code generated by sqlc. DO NOT EDIT.
-// versions:
-// sqlc v1.27.0
-// source: note_tags.sql
-
-package db
-
-import (
- "context"
- "database/sql"
-)
-
-const addTagToNote = `-- name: AddTagToNote :exec
-INSERT INTO
- note_tags (note_id, tag_id)
-VALUES
- (?, ?)
-`
-
-type AddTagToNoteParams struct {
- NoteID sql.NullInt64
- TagID sql.NullInt64
-}
-
-// Note-Tag Junction Table Queries
-func (q *Queries) AddTagToNote(ctx context.Context, arg AddTagToNoteParams) error {
- _, err := q.db.ExecContext(ctx, addTagToNote, arg.NoteID, arg.TagID)
- return err
-}
-
-const checkTagForNote = `-- name: CheckTagForNote :one
-SELECT
- COUNT(*) > 0 AS is_associated
-FROM
- note_tags
-WHERE
- note_id = ?
- AND tag_id = ?
-`
-
-type CheckTagForNoteParams struct {
- NoteID sql.NullInt64
- TagID sql.NullInt64
-}
-
-func (q *Queries) CheckTagForNote(ctx context.Context, arg CheckTagForNoteParams) (bool, error) {
- row := q.db.QueryRowContext(ctx, checkTagForNote, arg.NoteID, arg.TagID)
- var is_associated bool
- err := row.Scan(&is_associated)
- return is_associated, err
-}
-
-const getTagsForNote = `-- name: GetTagsForNote :many
-SELECT
- t.id,
- t.name,
- t.color,
- t.icon,
- t.created_at
-FROM
- tags t
- JOIN note_tags nt ON t.id = nt.tag_id
-WHERE
- nt.note_id = ?
-`
-
-func (q *Queries) GetTagsForNote(ctx context.Context, noteID sql.NullInt64) ([]Tag, error) {
- rows, err := q.db.QueryContext(ctx, getTagsForNote, noteID)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
- var items []Tag
- for rows.Next() {
- var i Tag
- if err := rows.Scan(
- &i.ID,
- &i.Name,
- &i.Color,
- &i.Icon,
- &i.CreatedAt,
- ); err != nil {
- return nil, err
- }
- items = append(items, i)
- }
- if err := rows.Close(); err != nil {
- return nil, err
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return items, nil
-}
-
-const removeAllTagsFromNote = `-- name: RemoveAllTagsFromNote :exec
-DELETE FROM note_tags
-WHERE
- note_id = ?
-`
-
-func (q *Queries) RemoveAllTagsFromNote(ctx context.Context, noteID sql.NullInt64) error {
- _, err := q.db.ExecContext(ctx, removeAllTagsFromNote, noteID)
- return err
-}
-
-const removeTagFromNote = `-- name: RemoveTagFromNote :exec
-
-DELETE FROM note_tags
-WHERE
- note_id = ?
- AND tag_id = ?
-`
-
-type RemoveTagFromNoteParams struct {
- NoteID sql.NullInt64
- TagID sql.NullInt64
-}
-
-// -- name: GetNotesForTag :many
-// SELECT
-//
-// n.id,
-// n.status_id,
-// n.notebook_id,
-// n.content,
-// n.title,
-// n.created_at,
-// n.modified_at,
-// n.published_at,
-// n.event_id
-//
-// FROM
-//
-// notes n
-// JOIN note_tags nt ON n.id = nt.note_id
-//
-// WHERE
-//
-// nt.tag_id = ?
-//
-// LIMIT
-//
-// ?
-//
-// OFFSET
-//
-// ?;
-func (q *Queries) RemoveTagFromNote(ctx context.Context, arg RemoveTagFromNoteParams) error {
- _, err := q.db.ExecContext(ctx, removeTagFromNote, arg.NoteID, arg.TagID)
- return err
-}
diff --git a/db/notebook_tags.sql.go b/db/notebook_tags.sql.go
deleted file mode 100644
index 22fa47ec..00000000
--- a/db/notebook_tags.sql.go
+++ /dev/null
@@ -1,122 +0,0 @@
-// Code generated by sqlc. DO NOT EDIT.
-// versions:
-// sqlc v1.27.0
-// source: notebook_tags.sql
-
-package db
-
-import (
- "context"
- "database/sql"
-)
-
-const addTagToNotebook = `-- name: AddTagToNotebook :exec
-INSERT INTO
- notebook_tags (notebook_id, tag_id)
-VALUES
- (?, ?)
-`
-
-type AddTagToNotebookParams struct {
- NotebookID sql.NullInt64
- TagID sql.NullInt64
-}
-
-// Notebook-Tag Junction Table Queries
-func (q *Queries) AddTagToNotebook(ctx context.Context, arg AddTagToNotebookParams) error {
- _, err := q.db.ExecContext(ctx, addTagToNotebook, arg.NotebookID, arg.TagID)
- return err
-}
-
-const checkTagForNotebook = `-- name: CheckTagForNotebook :one
-SELECT
- COUNT(*) > 0 AS is_associated
-FROM
- notebook_tags
-WHERE
- notebook_id = ?
- AND tag_id = ?
-`
-
-type CheckTagForNotebookParams struct {
- NotebookID sql.NullInt64
- TagID sql.NullInt64
-}
-
-func (q *Queries) CheckTagForNotebook(ctx context.Context, arg CheckTagForNotebookParams) (bool, error) {
- row := q.db.QueryRowContext(ctx, checkTagForNotebook, arg.NotebookID, arg.TagID)
- var is_associated bool
- err := row.Scan(&is_associated)
- return is_associated, err
-}
-
-const getTagsForNotebook = `-- name: GetTagsForNotebook :many
-SELECT
- t.id,
- t.name,
- t.color,
- t.icon,
- t.created_at
-FROM
- tags t
- JOIN notebook_tags nt ON t.id = nt.tag_id
-WHERE
- nt.notebook_id = ?
-`
-
-func (q *Queries) GetTagsForNotebook(ctx context.Context, notebookID sql.NullInt64) ([]Tag, error) {
- rows, err := q.db.QueryContext(ctx, getTagsForNotebook, notebookID)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
- var items []Tag
- for rows.Next() {
- var i Tag
- if err := rows.Scan(
- &i.ID,
- &i.Name,
- &i.Color,
- &i.Icon,
- &i.CreatedAt,
- ); err != nil {
- return nil, err
- }
- items = append(items, i)
- }
- if err := rows.Close(); err != nil {
- return nil, err
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return items, nil
-}
-
-const removeAllTagsFromNotebook = `-- name: RemoveAllTagsFromNotebook :exec
-DELETE FROM notebook_tags
-WHERE
- notebook_id = ?
-`
-
-func (q *Queries) RemoveAllTagsFromNotebook(ctx context.Context, notebookID sql.NullInt64) error {
- _, err := q.db.ExecContext(ctx, removeAllTagsFromNotebook, notebookID)
- return err
-}
-
-const removeTagFromNotebook = `-- name: RemoveTagFromNotebook :exec
-DELETE FROM notebook_tags
-WHERE
- notebook_id = ?
- AND tag_id = ?
-`
-
-type RemoveTagFromNotebookParams struct {
- NotebookID sql.NullInt64
- TagID sql.NullInt64
-}
-
-func (q *Queries) RemoveTagFromNotebook(ctx context.Context, arg RemoveTagFromNotebookParams) error {
- _, err := q.db.ExecContext(ctx, removeTagFromNotebook, arg.NotebookID, arg.TagID)
- return err
-}
diff --git a/db/notebooks.sql.go b/db/notebooks.sql.go
deleted file mode 100644
index 0a337727..00000000
--- a/db/notebooks.sql.go
+++ /dev/null
@@ -1,113 +0,0 @@
-// Code generated by sqlc. DO NOT EDIT.
-// versions:
-// sqlc v1.27.0
-// source: notebooks.sql
-
-package db
-
-import (
- "context"
-)
-
-const createNotebook = `-- name: CreateNotebook :one
-INSERT INTO
- notebooks (name, created_at)
-VALUES
- (?, ?) RETURNING id,
- name,
- created_at
-`
-
-type CreateNotebookParams struct {
- Name string
- CreatedAt string
-}
-
-// Notebook Queries
-func (q *Queries) CreateNotebook(ctx context.Context, arg CreateNotebookParams) (Notebook, error) {
- row := q.db.QueryRowContext(ctx, createNotebook, arg.Name, arg.CreatedAt)
- var i Notebook
- err := row.Scan(&i.ID, &i.Name, &i.CreatedAt)
- return i, err
-}
-
-const deleteNotebook = `-- name: DeleteNotebook :exec
-DELETE FROM notebooks
-WHERE
- id = ?
-`
-
-func (q *Queries) DeleteNotebook(ctx context.Context, id int64) error {
- _, err := q.db.ExecContext(ctx, deleteNotebook, id)
- return err
-}
-
-const getNotebook = `-- name: GetNotebook :one
-SELECT
- id,
- name,
- created_at
-FROM
- notebooks
-WHERE
- id = ?
-`
-
-func (q *Queries) GetNotebook(ctx context.Context, id int64) (Notebook, error) {
- row := q.db.QueryRowContext(ctx, getNotebook, id)
- var i Notebook
- err := row.Scan(&i.ID, &i.Name, &i.CreatedAt)
- return i, err
-}
-
-const listNotebooks = `-- name: ListNotebooks :many
-SELECT
- id,
- name,
- created_at
-FROM
- notebooks
-`
-
-func (q *Queries) ListNotebooks(ctx context.Context) ([]Notebook, error) {
- rows, err := q.db.QueryContext(ctx, listNotebooks)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
- var items []Notebook
- for rows.Next() {
- var i Notebook
- if err := rows.Scan(&i.ID, &i.Name, &i.CreatedAt); err != nil {
- return nil, err
- }
- items = append(items, i)
- }
- if err := rows.Close(); err != nil {
- return nil, err
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return items, nil
-}
-
-const updateNotebook = `-- name: UpdateNotebook :exec
-UPDATE notebooks
-SET
- name = ?,
- created_at = ?
-WHERE
- id = ?
-`
-
-type UpdateNotebookParams struct {
- Name string
- CreatedAt string
- ID int64
-}
-
-func (q *Queries) UpdateNotebook(ctx context.Context, arg UpdateNotebookParams) error {
- _, err := q.db.ExecContext(ctx, updateNotebook, arg.Name, arg.CreatedAt, arg.ID)
- return err
-}
diff --git a/db/notes.sql.go b/db/notes.sql.go
deleted file mode 100644
index ffa15840..00000000
--- a/db/notes.sql.go
+++ /dev/null
@@ -1,284 +0,0 @@
-// Code generated by sqlc. DO NOT EDIT.
-// versions:
-// sqlc v1.27.0
-// source: notes.sql
-
-package db
-
-import (
- "context"
- "database/sql"
-)
-
-const createNote = `-- name: CreateNote :one
-INSERT INTO
- notes (
- status_id,
- notebook_id,
- content,
- title,
- created_at,
- modified_at,
- published_at,
- event_id,
- pinned,
- notetype,
- filetype
- )
-VALUES
- (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING id,
- status_id,
- notebook_id,
- content,
- title,
- created_at,
- modified_at,
- published_at,
- event_id,
- pinned,
- notetype,
- filetype
-`
-
-type CreateNoteParams struct {
- StatusID sql.NullInt64
- NotebookID int64
- Content string
- Title string
- CreatedAt string
- ModifiedAt string
- PublishedAt sql.NullString
- EventID sql.NullString
- Pinned bool
- Notetype string
- Filetype string
-}
-
-// Note Queries
-func (q *Queries) CreateNote(ctx context.Context, arg CreateNoteParams) (Note, error) {
- row := q.db.QueryRowContext(ctx, createNote,
- arg.StatusID,
- arg.NotebookID,
- arg.Content,
- arg.Title,
- arg.CreatedAt,
- arg.ModifiedAt,
- arg.PublishedAt,
- arg.EventID,
- arg.Pinned,
- arg.Notetype,
- arg.Filetype,
- )
- var i Note
- err := row.Scan(
- &i.ID,
- &i.StatusID,
- &i.NotebookID,
- &i.Content,
- &i.Title,
- &i.CreatedAt,
- &i.ModifiedAt,
- &i.PublishedAt,
- &i.EventID,
- &i.Pinned,
- &i.Notetype,
- &i.Filetype,
- )
- return i, err
-}
-
-const createNoteFromTrash = `-- name: CreateNoteFromTrash :one
-INSERT INTO
- notes (
- id,
- status_id,
- notebook_id,
- content,
- title,
- created_at,
- modified_at,
- published_at,
- event_id,
- pinned,
- notetype,
- filetype
- )
-VALUES
- (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING id,
- id,
- status_id,
- notebook_id,
- content,
- title,
- created_at,
- modified_at,
- published_at,
- event_id,
- pinned,
- notetype,
- filetype
-`
-
-type CreateNoteFromTrashParams struct {
- ID int64
- StatusID sql.NullInt64
- NotebookID int64
- Content string
- Title string
- CreatedAt string
- ModifiedAt string
- PublishedAt sql.NullString
- EventID sql.NullString
- Pinned bool
- Notetype string
- Filetype string
-}
-
-type CreateNoteFromTrashRow struct {
- ID int64
- ID_2 int64
- StatusID sql.NullInt64
- NotebookID int64
- Content string
- Title string
- CreatedAt string
- ModifiedAt string
- PublishedAt sql.NullString
- EventID sql.NullString
- Pinned bool
- Notetype string
- Filetype string
-}
-
-func (q *Queries) CreateNoteFromTrash(ctx context.Context, arg CreateNoteFromTrashParams) (CreateNoteFromTrashRow, error) {
- row := q.db.QueryRowContext(ctx, createNoteFromTrash,
- arg.ID,
- arg.StatusID,
- arg.NotebookID,
- arg.Content,
- arg.Title,
- arg.CreatedAt,
- arg.ModifiedAt,
- arg.PublishedAt,
- arg.EventID,
- arg.Pinned,
- arg.Notetype,
- arg.Filetype,
- )
- var i CreateNoteFromTrashRow
- err := row.Scan(
- &i.ID,
- &i.ID_2,
- &i.StatusID,
- &i.NotebookID,
- &i.Content,
- &i.Title,
- &i.CreatedAt,
- &i.ModifiedAt,
- &i.PublishedAt,
- &i.EventID,
- &i.Pinned,
- &i.Notetype,
- &i.Filetype,
- )
- return i, err
-}
-
-const deleteNote = `-- name: DeleteNote :exec
-DELETE FROM notes
-WHERE
- id = ?
-`
-
-func (q *Queries) DeleteNote(ctx context.Context, id int64) error {
- _, err := q.db.ExecContext(ctx, deleteNote, id)
- return err
-}
-
-const getNote = `-- name: GetNote :one
-SELECT
- id,
- status_id,
- notebook_id,
- content,
- title,
- created_at,
- modified_at,
- published_at,
- event_id,
- pinned,
- notetype,
- filetype
-FROM
- notes
-WHERE
- id = ?
-`
-
-func (q *Queries) GetNote(ctx context.Context, id int64) (Note, error) {
- row := q.db.QueryRowContext(ctx, getNote, id)
- var i Note
- err := row.Scan(
- &i.ID,
- &i.StatusID,
- &i.NotebookID,
- &i.Content,
- &i.Title,
- &i.CreatedAt,
- &i.ModifiedAt,
- &i.PublishedAt,
- &i.EventID,
- &i.Pinned,
- &i.Notetype,
- &i.Filetype,
- )
- return i, err
-}
-
-const updateNote = `-- name: UpdateNote :exec
-UPDATE notes
-SET
- status_id = ?,
- notebook_id = ?,
- content = ?,
- title = ?,
- modified_at = ?,
- published_at = ?,
- event_id = ?,
- pinned = ?,
- notetype = ?,
- filetype = ?
-WHERE
- id = ?
-`
-
-type UpdateNoteParams struct {
- StatusID sql.NullInt64
- NotebookID int64
- Content string
- Title string
- ModifiedAt string
- PublishedAt sql.NullString
- EventID sql.NullString
- Pinned bool
- Notetype string
- Filetype string
- ID int64
-}
-
-func (q *Queries) UpdateNote(ctx context.Context, arg UpdateNoteParams) error {
- _, err := q.db.ExecContext(ctx, updateNote,
- arg.StatusID,
- arg.NotebookID,
- arg.Content,
- arg.Title,
- arg.ModifiedAt,
- arg.PublishedAt,
- arg.EventID,
- arg.Pinned,
- arg.Notetype,
- arg.Filetype,
- arg.ID,
- )
- return err
-}
diff --git a/db/relay.sql.go b/db/relay.sql.go
deleted file mode 100644
index 064f87be..00000000
--- a/db/relay.sql.go
+++ /dev/null
@@ -1,145 +0,0 @@
-// Code generated by sqlc. DO NOT EDIT.
-// versions:
-// sqlc v1.27.0
-// source: relay.sql
-
-package db
-
-import (
- "context"
-)
-
-const createRelay = `-- name: CreateRelay :one
-INSERT INTO
- relay (url, read, write, sync, created_at, modified_at)
-VALUES
- (?, ?, ?, ?, ?, ?) RETURNING id,
- url,
- read,
- write,
- sync,
- created_at,
- modified_at
-`
-
-type CreateRelayParams struct {
- Url string
- Read bool
- Write bool
- Sync bool
- CreatedAt string
- ModifiedAt string
-}
-
-// Relay Queries
-func (q *Queries) CreateRelay(ctx context.Context, arg CreateRelayParams) (Relay, error) {
- row := q.db.QueryRowContext(ctx, createRelay,
- arg.Url,
- arg.Read,
- arg.Write,
- arg.Sync,
- arg.CreatedAt,
- arg.ModifiedAt,
- )
- var i Relay
- err := row.Scan(
- &i.ID,
- &i.Url,
- &i.Read,
- &i.Write,
- &i.Sync,
- &i.CreatedAt,
- &i.ModifiedAt,
- )
- return i, err
-}
-
-const deleteRelays = `-- name: DeleteRelays :exec
-DELETE FROM relay
-`
-
-func (q *Queries) DeleteRelays(ctx context.Context) error {
- _, err := q.db.ExecContext(ctx, deleteRelays)
- return err
-}
-
-const getRelay = `-- name: GetRelay :one
-SELECT id, url, read, write, sync, created_at, modified_at FROM relay WHERE id = ?
-`
-
-func (q *Queries) GetRelay(ctx context.Context, id int64) (Relay, error) {
- row := q.db.QueryRowContext(ctx, getRelay, id)
- var i Relay
- err := row.Scan(
- &i.ID,
- &i.Url,
- &i.Read,
- &i.Write,
- &i.Sync,
- &i.CreatedAt,
- &i.ModifiedAt,
- )
- return i, err
-}
-
-const listRelays = `-- name: ListRelays :many
-SELECT id, url, read, write, sync, created_at, modified_at FROM relay
-`
-
-func (q *Queries) ListRelays(ctx context.Context) ([]Relay, error) {
- rows, err := q.db.QueryContext(ctx, listRelays)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
- var items []Relay
- for rows.Next() {
- var i Relay
- if err := rows.Scan(
- &i.ID,
- &i.Url,
- &i.Read,
- &i.Write,
- &i.Sync,
- &i.CreatedAt,
- &i.ModifiedAt,
- ); err != nil {
- return nil, err
- }
- items = append(items, i)
- }
- if err := rows.Close(); err != nil {
- return nil, err
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return items, nil
-}
-
-const updateRelay = `-- name: UpdateRelay :exec
-UPDATE relay SET url = ?, read = ?, write = ?, sync = ?, created_at = ?, modified_at = ? WHERE id = ?
-`
-
-type UpdateRelayParams struct {
- Url string
- Read bool
- Write bool
- Sync bool
- CreatedAt string
- ModifiedAt string
- ID int64
-}
-
-func (q *Queries) UpdateRelay(ctx context.Context, arg UpdateRelayParams) error {
- _, err := q.db.ExecContext(ctx, updateRelay,
- arg.Url,
- arg.Read,
- arg.Write,
- arg.Sync,
- arg.CreatedAt,
- arg.ModifiedAt,
- arg.ID,
- )
- return err
-}
diff --git a/db/settings.sql.go b/db/settings.sql.go
deleted file mode 100644
index efee42ef..00000000
--- a/db/settings.sql.go
+++ /dev/null
@@ -1,77 +0,0 @@
-// Code generated by sqlc. DO NOT EDIT.
-// versions:
-// sqlc v1.27.0
-// source: settings.sql
-
-package db
-
-import (
- "context"
-)
-
-const getAllSettings = `-- name: GetAllSettings :many
-SELECT
- key,
- value
-FROM
- settings
-`
-
-func (q *Queries) GetAllSettings(ctx context.Context) ([]Setting, error) {
- rows, err := q.db.QueryContext(ctx, getAllSettings)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
- var items []Setting
- for rows.Next() {
- var i Setting
- if err := rows.Scan(&i.Key, &i.Value); err != nil {
- return nil, err
- }
- items = append(items, i)
- }
- if err := rows.Close(); err != nil {
- return nil, err
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return items, nil
-}
-
-const getSetting = `-- name: GetSetting :one
-SELECT
- key,
- value
-FROM
- settings
-WHERE
- key = ?
-`
-
-// Settings Queries
-func (q *Queries) GetSetting(ctx context.Context, key string) (Setting, error) {
- row := q.db.QueryRowContext(ctx, getSetting, key)
- var i Setting
- err := row.Scan(&i.Key, &i.Value)
- return i, err
-}
-
-const updateSetting = `-- name: UpdateSetting :exec
-UPDATE settings
-SET
- value = ?
-WHERE
- key = ?
-`
-
-type UpdateSettingParams struct {
- Value string
- Key string
-}
-
-func (q *Queries) UpdateSetting(ctx context.Context, arg UpdateSettingParams) error {
- _, err := q.db.ExecContext(ctx, updateSetting, arg.Value, arg.Key)
- return err
-}
diff --git a/db/tags.sql.go b/db/tags.sql.go
deleted file mode 100644
index 952944c8..00000000
--- a/db/tags.sql.go
+++ /dev/null
@@ -1,233 +0,0 @@
-// Code generated by sqlc. DO NOT EDIT.
-// versions:
-// sqlc v1.27.0
-// source: tags.sql
-
-package db
-
-import (
- "context"
- "database/sql"
- "strings"
-)
-
-const createTag = `-- name: CreateTag :one
-INSERT INTO
- tags (name, color, icon, created_at)
-VALUES
- (?, ?, ?, ?) RETURNING id,
- name,
- color,
- icon,
- created_at
-`
-
-type CreateTagParams struct {
- Name string
- Color sql.NullString
- Icon sql.NullString
- CreatedAt string
-}
-
-// Tag Queries
-func (q *Queries) CreateTag(ctx context.Context, arg CreateTagParams) (Tag, error) {
- row := q.db.QueryRowContext(ctx, createTag,
- arg.Name,
- arg.Color,
- arg.Icon,
- arg.CreatedAt,
- )
- var i Tag
- err := row.Scan(
- &i.ID,
- &i.Name,
- &i.Color,
- &i.Icon,
- &i.CreatedAt,
- )
- return i, err
-}
-
-const deleteTag = `-- name: DeleteTag :exec
-DELETE FROM tags
-WHERE
- id = ?
-`
-
-func (q *Queries) DeleteTag(ctx context.Context, id int64) error {
- _, err := q.db.ExecContext(ctx, deleteTag, id)
- return err
-}
-
-const getTag = `-- name: GetTag :one
-SELECT
- id,
- name,
- color,
- icon,
- created_at
-FROM
- tags
-WHERE
- id = ?
-`
-
-func (q *Queries) GetTag(ctx context.Context, id int64) (Tag, error) {
- row := q.db.QueryRowContext(ctx, getTag, id)
- var i Tag
- err := row.Scan(
- &i.ID,
- &i.Name,
- &i.Color,
- &i.Icon,
- &i.CreatedAt,
- )
- return i, err
-}
-
-const getTagByName = `-- name: GetTagByName :one
-SELECT
- id,
- name,
- color,
- icon,
- created_at
-FROM
- tags
-WHERE
- name = ?
-`
-
-func (q *Queries) GetTagByName(ctx context.Context, name string) (Tag, error) {
- row := q.db.QueryRowContext(ctx, getTagByName, name)
- var i Tag
- err := row.Scan(
- &i.ID,
- &i.Name,
- &i.Color,
- &i.Icon,
- &i.CreatedAt,
- )
- return i, err
-}
-
-const getTagsByNames = `-- name: GetTagsByNames :many
-SELECT
- id,
- name,
- color,
- icon,
- created_at
-FROM
- tags
-WHERE name IN (/*SLICE:names*/?)
-`
-
-func (q *Queries) GetTagsByNames(ctx context.Context, names []string) ([]Tag, error) {
- query := getTagsByNames
- var queryParams []interface{}
- if len(names) > 0 {
- for _, v := range names {
- queryParams = append(queryParams, v)
- }
- query = strings.Replace(query, "/*SLICE:names*/?", strings.Repeat(",?", len(names))[1:], 1)
- } else {
- query = strings.Replace(query, "/*SLICE:names*/?", "NULL", 1)
- }
- rows, err := q.db.QueryContext(ctx, query, queryParams...)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
- var items []Tag
- for rows.Next() {
- var i Tag
- if err := rows.Scan(
- &i.ID,
- &i.Name,
- &i.Color,
- &i.Icon,
- &i.CreatedAt,
- ); err != nil {
- return nil, err
- }
- items = append(items, i)
- }
- if err := rows.Close(); err != nil {
- return nil, err
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return items, nil
-}
-
-const listTags = `-- name: ListTags :many
-SELECT
- id,
- name,
- color,
- icon,
- created_at
-FROM
- tags
-`
-
-func (q *Queries) ListTags(ctx context.Context) ([]Tag, error) {
- rows, err := q.db.QueryContext(ctx, listTags)
- if err != nil {
- return nil, err
- }
- defer rows.Close()
- var items []Tag
- for rows.Next() {
- var i Tag
- if err := rows.Scan(
- &i.ID,
- &i.Name,
- &i.Color,
- &i.Icon,
- &i.CreatedAt,
- ); err != nil {
- return nil, err
- }
- items = append(items, i)
- }
- if err := rows.Close(); err != nil {
- return nil, err
- }
- if err := rows.Err(); err != nil {
- return nil, err
- }
- return items, nil
-}
-
-const updateTag = `-- name: UpdateTag :exec
-UPDATE tags
-SET
- name = ?,
- color = ?,
- icon = ?,
- created_at = ?
-WHERE
- id = ?
-`
-
-type UpdateTagParams struct {
- Name string
- Color sql.NullString
- Icon sql.NullString
- CreatedAt string
- ID int64
-}
-
-func (q *Queries) UpdateTag(ctx context.Context, arg UpdateTagParams) error {
- _, err := q.db.ExecContext(ctx, updateTag,
- arg.Name,
- arg.Color,
- arg.Icon,
- arg.CreatedAt,
- arg.ID,
- )
- return err
-}
diff --git a/db/trash.sql.go b/db/trash.sql.go
deleted file mode 100644
index f7dc6c0f..00000000
--- a/db/trash.sql.go
+++ /dev/null
@@ -1,169 +0,0 @@
-// Code generated by sqlc. DO NOT EDIT.
-// versions:
-// sqlc v1.27.0
-// source: trash.sql
-
-package db
-
-import (
- "context"
- "database/sql"
-)
-
-const addNoteToTrash = `-- name: AddNoteToTrash :one
-INSERT INTO
- trash (
- note_id,
- content,
- title,
- created_at,
- modified_at,
- tags,
- notebook_id,
- published_at,
- event_id,
- notetype,
- filetype
- )
-VALUES
- (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING id,
- note_id,
- content,
- title,
- created_at,
- modified_at,
- tags,
- notebook_id,
- published_at,
- event_id,
- notetype,
- filetype
-`
-
-type AddNoteToTrashParams struct {
- NoteID int64
- Content string
- Title string
- CreatedAt string
- ModifiedAt string
- Tags sql.NullString
- NotebookID int64
- PublishedAt sql.NullString
- EventID sql.NullString
- Notetype string
- Filetype string
-}
-
-type AddNoteToTrashRow struct {
- ID int64
- NoteID int64
- Content string
- Title string
- CreatedAt string
- ModifiedAt string
- Tags sql.NullString
- NotebookID int64
- PublishedAt sql.NullString
- EventID sql.NullString
- Notetype string
- Filetype string
-}
-
-// Trashed Note Queries
-func (q *Queries) AddNoteToTrash(ctx context.Context, arg AddNoteToTrashParams) (AddNoteToTrashRow, error) {
- row := q.db.QueryRowContext(ctx, addNoteToTrash,
- arg.NoteID,
- arg.Content,
- arg.Title,
- arg.CreatedAt,
- arg.ModifiedAt,
- arg.Tags,
- arg.NotebookID,
- arg.PublishedAt,
- arg.EventID,
- arg.Notetype,
- arg.Filetype,
- )
- var i AddNoteToTrashRow
- err := row.Scan(
- &i.ID,
- &i.NoteID,
- &i.Content,
- &i.Title,
- &i.CreatedAt,
- &i.ModifiedAt,
- &i.Tags,
- &i.NotebookID,
- &i.PublishedAt,
- &i.EventID,
- &i.Notetype,
- &i.Filetype,
- )
- return i, err
-}
-
-const deleteNoteFromTrash = `-- name: DeleteNoteFromTrash :exec
-DELETE FROM trash
-WHERE
- id = ?
-`
-
-func (q *Queries) DeleteNoteFromTrash(ctx context.Context, id int64) error {
- _, err := q.db.ExecContext(ctx, deleteNoteFromTrash, id)
- return err
-}
-
-const getNoteFromTrash = `-- name: GetNoteFromTrash :one
-SELECT
- id,
- note_id,
- content,
- title,
- created_at,
- modified_at,
- tags,
- notebook_id,
- published_at,
- event_id,
- notetype,
- filetype
-FROM
- trash
-WHERE
- id = ?
-`
-
-type GetNoteFromTrashRow struct {
- ID int64
- NoteID int64
- Content string
- Title string
- CreatedAt string
- ModifiedAt string
- Tags sql.NullString
- NotebookID int64
- PublishedAt sql.NullString
- EventID sql.NullString
- Notetype string
- Filetype string
-}
-
-func (q *Queries) GetNoteFromTrash(ctx context.Context, id int64) (GetNoteFromTrashRow, error) {
- row := q.db.QueryRowContext(ctx, getNoteFromTrash, id)
- var i GetNoteFromTrashRow
- err := row.Scan(
- &i.ID,
- &i.NoteID,
- &i.Content,
- &i.Title,
- &i.CreatedAt,
- &i.ModifiedAt,
- &i.Tags,
- &i.NotebookID,
- &i.PublishedAt,
- &i.EventID,
- &i.Notetype,
- &i.Filetype,
- )
- return i, err
-}
diff --git a/frontend/.eslintrc.cjs b/frontend/.eslintrc.cjs
new file mode 100644
index 00000000..775bb657
--- /dev/null
+++ b/frontend/.eslintrc.cjs
@@ -0,0 +1,44 @@
+/** @type {import("eslint").Linter.Config} */
+const config = {
+ parser: "@typescript-eslint/parser",
+ parserOptions: {
+ project: "./frontend/tsconfig.json", // Update this line
+ },
+ plugins: ["@typescript-eslint", "react-hooks"],
+ extends: [
+ "plugin:@typescript-eslint/recommended-type-checked",
+ "plugin:@typescript-eslint/stylistic-type-checked",
+ "plugin:react-hooks/recommended",
+ ],
+ ignorePatterns: ["bindings/"],
+ rules: {
+ // These opinionated rules are enabled in stylistic-type-checked above.
+ // Feel free to reconfigure them to your own preference.
+ "@typescript-eslint/no-empty-object-type": "off",
+ "@typescript-eslint/array-type": "off",
+ "@typescript-eslint/consistent-type-definitions": "off",
+ "@typescript-eslint/prefer-nullish-coalescing": "warn",
+ "@typescript-eslint/no-empty-function": "off",
+ "@typescript-eslint/no-empty-interface": "off",
+ // "@typescript-eslint/ban-ts-comment": "off",
+
+ "@typescript-eslint/consistent-type-imports": [
+ "warn",
+ {
+ prefer: "type-imports",
+ fixStyle: "inline-type-imports",
+ },
+ ],
+ "@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_" }],
+ "@typescript-eslint/require-await": "off",
+ "@typescript-eslint/no-misused-promises": [
+ "error",
+ {
+ checksVoidReturn: { attributes: false },
+ },
+ ],
+ },
+};
+
+// eslint-disable-next-line
+module.exports = config;
diff --git a/frontend/bindings/changeme/greetservice.ts b/frontend/bindings/changeme/greetservice.ts
deleted file mode 100644
index 27eef2be..00000000
--- a/frontend/bindings/changeme/greetservice.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-export function Greet(name: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1411160069, name) as any;
- return $resultPromise;
-}
diff --git a/frontend/bindings/database/sql/index.ts b/frontend/bindings/comet/backend/db/schemas/index.ts
similarity index 100%
rename from frontend/bindings/database/sql/index.ts
rename to frontend/bindings/comet/backend/db/schemas/index.ts
diff --git a/frontend/bindings/comet/backend/db/schemas/models.ts b/frontend/bindings/comet/backend/db/schemas/models.ts
new file mode 100644
index 00000000..153f2dea
--- /dev/null
+++ b/frontend/bindings/comet/backend/db/schemas/models.ts
@@ -0,0 +1,294 @@
+// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
+// This file is automatically generated. DO NOT EDIT
+
+// eslint-disable-next-line @typescript-eslint/ban-ts-comment
+// @ts-ignore: Unused imports
+import {Create as $Create} from "@wailsio/runtime";
+
+/**
+ * Note represents a note in the application
+ */
+export class Note {
+ "ID": number;
+ "NotebookID": number | null;
+ "Content": string;
+ "Title": string;
+ "CreatedAt": string;
+ "ModifiedAt": string;
+ "PublishedAt": string | null;
+ "EventAddress": string | null;
+ "Identifier": string | null;
+ "Pinned": boolean;
+ "TrashedAt": string | null;
+ "ArchivedAt": string | null;
+ "Active": boolean;
+ "Author": string | null;
+
+ /** Creates a new Note instance. */
+ constructor($$source: Partial = {}) {
+ if (!("ID" in $$source)) {
+ this["ID"] = 0;
+ }
+ if (!("NotebookID" in $$source)) {
+ this["NotebookID"] = null;
+ }
+ if (!("Content" in $$source)) {
+ this["Content"] = "";
+ }
+ if (!("Title" in $$source)) {
+ this["Title"] = "";
+ }
+ if (!("CreatedAt" in $$source)) {
+ this["CreatedAt"] = "";
+ }
+ if (!("ModifiedAt" in $$source)) {
+ this["ModifiedAt"] = "";
+ }
+ if (!("PublishedAt" in $$source)) {
+ this["PublishedAt"] = null;
+ }
+ if (!("EventAddress" in $$source)) {
+ this["EventAddress"] = null;
+ }
+ if (!("Identifier" in $$source)) {
+ this["Identifier"] = null;
+ }
+ if (!("Pinned" in $$source)) {
+ this["Pinned"] = false;
+ }
+ if (!("TrashedAt" in $$source)) {
+ this["TrashedAt"] = null;
+ }
+ if (!("ArchivedAt" in $$source)) {
+ this["ArchivedAt"] = null;
+ }
+ if (!("Active" in $$source)) {
+ this["Active"] = false;
+ }
+ if (!("Author" in $$source)) {
+ this["Author"] = null;
+ }
+
+ Object.assign(this, $$source);
+ }
+
+ /**
+ * Creates a new Note instance from a string or object.
+ */
+ static createFrom($$source: any = {}): Note {
+ let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
+ return new Note($$parsedSource as Partial);
+ }
+}
+
+/**
+ * Notebook represents a notebook in the application
+ */
+export class Notebook {
+ "ID": number;
+ "Name": string;
+ "CreatedAt": string;
+ "ModifiedAt": string;
+ "Pinned": boolean;
+ "Active": boolean;
+
+ /** Creates a new Notebook instance. */
+ constructor($$source: Partial = {}) {
+ if (!("ID" in $$source)) {
+ this["ID"] = 0;
+ }
+ if (!("Name" in $$source)) {
+ this["Name"] = "";
+ }
+ if (!("CreatedAt" in $$source)) {
+ this["CreatedAt"] = "";
+ }
+ if (!("ModifiedAt" in $$source)) {
+ this["ModifiedAt"] = "";
+ }
+ if (!("Pinned" in $$source)) {
+ this["Pinned"] = false;
+ }
+ if (!("Active" in $$source)) {
+ this["Active"] = false;
+ }
+
+ Object.assign(this, $$source);
+ }
+
+ /**
+ * Creates a new Notebook instance from a string or object.
+ */
+ static createFrom($$source: any = {}): Notebook {
+ let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
+ return new Notebook($$parsedSource as Partial);
+ }
+}
+
+/**
+ * Relay represents a row in the relays table
+ */
+export class Relay {
+ "ID": number;
+ "URL": string;
+ "Read": boolean;
+ "Write": boolean;
+ "Sync": boolean;
+ "CreatedAt": string;
+ "ModifiedAt": string;
+
+ /** Creates a new Relay instance. */
+ constructor($$source: Partial = {}) {
+ if (!("ID" in $$source)) {
+ this["ID"] = 0;
+ }
+ if (!("URL" in $$source)) {
+ this["URL"] = "";
+ }
+ if (!("Read" in $$source)) {
+ this["Read"] = false;
+ }
+ if (!("Write" in $$source)) {
+ this["Write"] = false;
+ }
+ if (!("Sync" in $$source)) {
+ this["Sync"] = false;
+ }
+ if (!("CreatedAt" in $$source)) {
+ this["CreatedAt"] = "";
+ }
+ if (!("ModifiedAt" in $$source)) {
+ this["ModifiedAt"] = "";
+ }
+
+ Object.assign(this, $$source);
+ }
+
+ /**
+ * Creates a new Relay instance from a string or object.
+ */
+ static createFrom($$source: any = {}): Relay {
+ let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
+ return new Relay($$parsedSource as Partial);
+ }
+}
+
+/**
+ * Tag represents a tag in the application
+ */
+export class Tag {
+ "ID": number;
+ "Name": string;
+ "Color": string | null;
+ "Icon": string | null;
+ "Active": boolean;
+ "Inactive": boolean;
+ "CreatedAt": string;
+ "ModifiedAt": string;
+
+ /** Creates a new Tag instance. */
+ constructor($$source: Partial = {}) {
+ if (!("ID" in $$source)) {
+ this["ID"] = 0;
+ }
+ if (!("Name" in $$source)) {
+ this["Name"] = "";
+ }
+ if (!("Color" in $$source)) {
+ this["Color"] = null;
+ }
+ if (!("Icon" in $$source)) {
+ this["Icon"] = null;
+ }
+ if (!("Active" in $$source)) {
+ this["Active"] = false;
+ }
+ if (!("Inactive" in $$source)) {
+ this["Inactive"] = false;
+ }
+ if (!("CreatedAt" in $$source)) {
+ this["CreatedAt"] = "";
+ }
+ if (!("ModifiedAt" in $$source)) {
+ this["ModifiedAt"] = "";
+ }
+
+ Object.assign(this, $$source);
+ }
+
+ /**
+ * Creates a new Tag instance from a string or object.
+ */
+ static createFrom($$source: any = {}): Tag {
+ let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
+ return new Tag($$parsedSource as Partial);
+ }
+}
+
+/**
+ * User represents a row in the users table
+ */
+export class User {
+ "ID": number;
+ "Nsec": string;
+ "Npub": string;
+ "Active": boolean;
+ "CreatedAt": string;
+ "ModifiedAt": string;
+ "Name": string;
+ "About": string;
+ "Picture": string;
+ "Nip05": string;
+ "Website": string;
+ "Lud16": string;
+
+ /** Creates a new User instance. */
+ constructor($$source: Partial = {}) {
+ if (!("ID" in $$source)) {
+ this["ID"] = 0;
+ }
+ if (!("Nsec" in $$source)) {
+ this["Nsec"] = "";
+ }
+ if (!("Npub" in $$source)) {
+ this["Npub"] = "";
+ }
+ if (!("Active" in $$source)) {
+ this["Active"] = false;
+ }
+ if (!("CreatedAt" in $$source)) {
+ this["CreatedAt"] = "";
+ }
+ if (!("ModifiedAt" in $$source)) {
+ this["ModifiedAt"] = "";
+ }
+ if (!("Name" in $$source)) {
+ this["Name"] = "";
+ }
+ if (!("About" in $$source)) {
+ this["About"] = "";
+ }
+ if (!("Picture" in $$source)) {
+ this["Picture"] = "";
+ }
+ if (!("Nip05" in $$source)) {
+ this["Nip05"] = "";
+ }
+ if (!("Website" in $$source)) {
+ this["Website"] = "";
+ }
+ if (!("Lud16" in $$source)) {
+ this["Lud16"] = "";
+ }
+
+ Object.assign(this, $$source);
+ }
+
+ /**
+ * Creates a new User instance from a string or object.
+ */
+ static createFrom($$source: any = {}): User {
+ let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
+ return new User($$parsedSource as Partial);
+ }
+}
diff --git a/frontend/bindings/comet/backend/service/appservice.ts b/frontend/bindings/comet/backend/service/appservice.ts
new file mode 100644
index 00000000..2c90b3c6
--- /dev/null
+++ b/frontend/bindings/comet/backend/service/appservice.ts
@@ -0,0 +1,525 @@
+// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
+// This file is automatically generated. DO NOT EDIT
+
+// eslint-disable-next-line @typescript-eslint/ban-ts-comment
+// @ts-ignore: Unused imports
+import {Call as $Call, Create as $Create} from "@wailsio/runtime";
+
+// eslint-disable-next-line @typescript-eslint/ban-ts-comment
+// @ts-ignore: Unused imports
+import * as schemas$0 from "../db/schemas/models.js";
+// eslint-disable-next-line @typescript-eslint/ban-ts-comment
+// @ts-ignore: Unused imports
+import * as relays$0 from "./relays/models.js";
+
+/**
+ * ArchiveNote archives a note by its ID
+ */
+export function ArchiveNote(id: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(902761560, id) as any;
+ return $resultPromise;
+}
+
+/**
+ * CheckNotebookExists checks if a notebook with the given name already exists in the database
+ */
+export function CheckNotebookExists(name: string): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(268777487, name) as any;
+ return $resultPromise;
+}
+
+/**
+ * ClearActiveNote deactivates all active notes
+ */
+export function ClearActiveNote(): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(2004080249) as any;
+ return $resultPromise;
+}
+
+/**
+ * ClearActiveNotebooks sets all notebooks to not active
+ */
+export function ClearActiveNotebooks(): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(3795418685) as any;
+ return $resultPromise;
+}
+
+/**
+ * ClearActiveTags sets the active status of all tags to false
+ */
+export function ClearActiveTags(): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(687238284) as any;
+ return $resultPromise;
+}
+
+/**
+ * CreateNote inserts a new note into the database and returns the created note
+ */
+export function CreateNote(title: string, content: string): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(3783994422, title, content) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType1($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * CreateNotebook inserts a new notebook into the database
+ */
+export function CreateNotebook(name: string, pinned: boolean): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(882431131, name, pinned) as any;
+ return $resultPromise;
+}
+
+/**
+ * CreateRelay inserts a new relay into the database and returns the created relay
+ */
+export function CreateRelay(url: string, read: boolean, write: boolean, sync: boolean): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(2667641403, url, read, write, sync) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType3($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * CreateTag inserts a new tag into the database
+ */
+export function CreateTag(name: string, color: string, icon: string, active: boolean, inactive: boolean): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(2492870674, name, color, icon, active, inactive) as any;
+ return $resultPromise;
+}
+
+/**
+ * CreateTags inserts multiple tags into the database
+ */
+export function CreateTags(noteId: number, tagList: string[]): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(1231956147, noteId, tagList) as any;
+ return $resultPromise;
+}
+
+/**
+ * CreateUser inserts a new user into the database
+ */
+export function CreateUser(nsec: string, npub: string, active: boolean): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(2530128525, nsec, npub, active) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType5($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * DeleteNote deletes a note by its ID
+ */
+export function DeleteNote(id: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(1337121777, id) as any;
+ return $resultPromise;
+}
+
+/**
+ * DeleteNotebook deletes a notebook by its ID
+ */
+export function DeleteNotebook(id: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(790888740, id) as any;
+ return $resultPromise;
+}
+
+/**
+ * DeleteRelay deletes a relay by its ID
+ */
+export function DeleteRelay(id: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(3660646350, id) as any;
+ return $resultPromise;
+}
+
+/**
+ * DeleteTag deletes a tag by its ID
+ */
+export function DeleteTag(id: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(1279528063, id) as any;
+ return $resultPromise;
+}
+
+/**
+ * DeleteUser deletes a user by its ID
+ */
+export function DeleteUser(id: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(3387249414, id) as any;
+ return $resultPromise;
+}
+
+/**
+ * GetActiveNote retrieves the active note from the database
+ */
+export function GetActiveNote(): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(2175076152) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType1($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * GetActiveNotebook retrieves the active notebook from the database
+ */
+export function GetActiveNotebook(): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(2283957325) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType7($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * GetActiveUser retrieves the active user from the database
+ */
+export function GetActiveUser(): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(2477491471) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType5($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * GetAllRelays retrieves all relays from the database
+ */
+export function GetAllRelays(): Promise<(schemas$0.Relay | null)[]> & { cancel(): void } {
+ let $resultPromise = $Call.ByID(2242042095) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType8($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * GetArchivedNotes retrieves all archived notes from the database
+ */
+export function GetArchivedNotes(): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(3503187217) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType9($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * GetNoteByID retrieves a single note by its ID
+ */
+export function GetNoteByID(id: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(2859106818, id) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType1($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * GetNotebookByID retrieves a single notebook by its ID
+ */
+export function GetNotebookByID(id: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(1987921963, id) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType7($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * GetNotebooks retrieves all notebooks from the database
+ */
+export function GetNotebooks(pinned: boolean): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(763701224, pinned) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType10($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * GetNotes retrieves all notes from the database with specified ordering, limit, offset, search, and trashed filter
+ */
+export function GetNotes(orderBy: string, orderDirection: string, limit: number, offset: number, search: string, showTrashed: boolean): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(961141263, orderBy, orderDirection, limit, offset, search, showTrashed) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType9($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * GetNotesByNotebookID retrieves all notes by a specific notebook ID
+ */
+export function GetNotesByNotebookID(notebookID: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(10554070, notebookID) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType9($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * GetPinnedNotes retrieves all pinned notes from the database
+ */
+export function GetPinnedNotes(): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(3277905433) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType9($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * GetRelayByID retrieves a relay by its ID
+ */
+export function GetRelayByID(id: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(1106514443, id) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType3($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * GetTagByID retrieves a single tag by its ID
+ */
+export function GetTagByID(id: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(2723008278, id) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType12($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * GetTags retrieves all tags from the database
+ */
+export function GetTags(): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(3835819395) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType13($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * GetTagsByNoteID retrieves all tags associated with a specific note ID
+ */
+export function GetTagsByNoteID(noteID: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(3922355959, noteID) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType13($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * GetTrashedNotes retrieves all trashed notes from the database
+ */
+export function GetTrashedNotes(): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(2170508510) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType9($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * GetUserByID retrieves a single user by its ID
+ */
+export function GetUserByID(id: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(2716774129, id) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType5($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * PinNote pins a note by its ID
+ */
+export function PinNote(id: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(1626400925, id) as any;
+ return $resultPromise;
+}
+
+/**
+ * RemoveNoteTags removes all tag associations for a given note ID
+ */
+export function RemoveNoteTags(noteID: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(1625995215, noteID) as any;
+ return $resultPromise;
+}
+
+/**
+ * ReplaceRelays removes all existing relays and inserts the new list of relays into the database
+ */
+export function ReplaceRelays(relayData: relays$0.RelayData[]): Promise<(schemas$0.Relay | null)[]> & { cancel(): void } {
+ let $resultPromise = $Call.ByID(2472126696, relayData) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType8($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * RestoreNote restores a note from the trash by its ID
+ */
+export function RestoreNote(id: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(543428744, id) as any;
+ return $resultPromise;
+}
+
+/**
+ * SearchNotes searches for notes by content
+ */
+export function SearchNotes(query: string): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(2567554219, query) as any;
+ let $typingPromise = $resultPromise.then(($result) => {
+ return $$createType9($result);
+ }) as any;
+ $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
+ return $typingPromise;
+}
+
+/**
+ * SetActiveNote sets the specified note as active and deactivates all other notes
+ */
+export function SetActiveNote(noteID: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(3110951196, noteID) as any;
+ return $resultPromise;
+}
+
+/**
+ * SetNotebookActive sets a notebook to active by its ID
+ */
+export function SetNotebookActive(id: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(455909673, id) as any;
+ return $resultPromise;
+}
+
+/**
+ * SetPublishDetails updates the author, identifier, and published_at fields of a note
+ */
+export function SetPublishDetails(noteID: number, author: string, identifier: string, publishedAt: string): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(1835734245, noteID, author, identifier, publishedAt) as any;
+ return $resultPromise;
+}
+
+/**
+ * SetTagActive sets the active status of a tag to true
+ */
+export function SetTagActive(tagID: number, active: boolean): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(3115775920, tagID, active) as any;
+ return $resultPromise;
+}
+
+/**
+ * SetTagInactive sets the active status of a tag to false
+ */
+export function SetTagInactive(tagID: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(2142607883, tagID) as any;
+ return $resultPromise;
+}
+
+/**
+ * TrashNote moves a note to the trash by its ID
+ */
+export function TrashNote(id: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(1322424416, id) as any;
+ return $resultPromise;
+}
+
+/**
+ * UnarchiveNote unarchives a note by its ID
+ */
+export function UnarchiveNote(id: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(3018250821, id) as any;
+ return $resultPromise;
+}
+
+/**
+ * UnpinNote unpins a note by its ID
+ */
+export function UnpinNote(id: number): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(365380808, id) as any;
+ return $resultPromise;
+}
+
+/**
+ * UpdateNote updates the content and title of an existing note
+ */
+export function UpdateNote(note: schemas$0.Note): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(1594419559, note) as any;
+ return $resultPromise;
+}
+
+/**
+ * UpdateNotebook updates the details of an existing notebook
+ */
+export function UpdateNotebook(id: number, name: string): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(2776840946, id, name) as any;
+ return $resultPromise;
+}
+
+/**
+ * UpdateRelay updates an existing relay in the database
+ */
+export function UpdateRelay(relay: schemas$0.Relay): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(3000693652, relay) as any;
+ return $resultPromise;
+}
+
+/**
+ * UpdateTag updates the details of an existing tag
+ */
+export function UpdateTag(id: number, name: string, color: string, icon: string): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(193443197, id, name, color, icon) as any;
+ return $resultPromise;
+}
+
+/**
+ * UpdateUser updates the details of an existing user
+ */
+export function UpdateUser(user: schemas$0.User): Promise & { cancel(): void } {
+ let $resultPromise = $Call.ByID(1224790596, user) as any;
+ return $resultPromise;
+}
+
+// Private type creation functions
+const $$createType0 = schemas$0.Note.createFrom;
+const $$createType1 = $Create.Nullable($$createType0);
+const $$createType2 = schemas$0.Relay.createFrom;
+const $$createType3 = $Create.Nullable($$createType2);
+const $$createType4 = schemas$0.User.createFrom;
+const $$createType5 = $Create.Nullable($$createType4);
+const $$createType6 = schemas$0.Notebook.createFrom;
+const $$createType7 = $Create.Nullable($$createType6);
+const $$createType8 = $Create.Array($$createType3);
+const $$createType9 = $Create.Array($$createType0);
+const $$createType10 = $Create.Array($$createType6);
+const $$createType11 = schemas$0.Tag.createFrom;
+const $$createType12 = $Create.Nullable($$createType11);
+const $$createType13 = $Create.Array($$createType11);
diff --git a/frontend/bindings/changeme/index.ts b/frontend/bindings/comet/backend/service/index.ts
similarity index 64%
rename from frontend/bindings/changeme/index.ts
rename to frontend/bindings/comet/backend/service/index.ts
index 50e3f043..a5a4b857 100644
--- a/frontend/bindings/changeme/index.ts
+++ b/frontend/bindings/comet/backend/service/index.ts
@@ -1,7 +1,7 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
-import * as GreetService from "./greetservice.js";
+import * as AppService from "./appservice.js";
export {
- GreetService
+ AppService
};
diff --git a/frontend/bindings/github.com/nodetec/captains-log/db/index.ts b/frontend/bindings/comet/backend/service/relays/index.ts
similarity index 100%
rename from frontend/bindings/github.com/nodetec/captains-log/db/index.ts
rename to frontend/bindings/comet/backend/service/relays/index.ts
diff --git a/frontend/bindings/comet/backend/service/relays/models.ts b/frontend/bindings/comet/backend/service/relays/models.ts
new file mode 100644
index 00000000..b9a0f4da
--- /dev/null
+++ b/frontend/bindings/comet/backend/service/relays/models.ts
@@ -0,0 +1,42 @@
+// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
+// This file is automatically generated. DO NOT EDIT
+
+// eslint-disable-next-line @typescript-eslint/ban-ts-comment
+// @ts-ignore: Unused imports
+import {Create as $Create} from "@wailsio/runtime";
+
+/**
+ * RelayData represents the data needed to create a relay
+ */
+export class RelayData {
+ "URL": string;
+ "Read": boolean;
+ "Write": boolean;
+ "Sync": boolean;
+
+ /** Creates a new RelayData instance. */
+ constructor($$source: Partial = {}) {
+ if (!("URL" in $$source)) {
+ this["URL"] = "";
+ }
+ if (!("Read" in $$source)) {
+ this["Read"] = false;
+ }
+ if (!("Write" in $$source)) {
+ this["Write"] = false;
+ }
+ if (!("Sync" in $$source)) {
+ this["Sync"] = false;
+ }
+
+ Object.assign(this, $$source);
+ }
+
+ /**
+ * Creates a new RelayData instance from a string or object.
+ */
+ static createFrom($$source: any = {}): RelayData {
+ let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
+ return new RelayData($$parsedSource as Partial);
+ }
+}
diff --git a/frontend/bindings/database/sql/index.js b/frontend/bindings/database/sql/index.js
deleted file mode 100644
index 580fb67a..00000000
--- a/frontend/bindings/database/sql/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// @ts-check
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-export * from "./models.js";
diff --git a/frontend/bindings/database/sql/models.js b/frontend/bindings/database/sql/models.js
deleted file mode 100644
index 02ff7f8b..00000000
--- a/frontend/bindings/database/sql/models.js
+++ /dev/null
@@ -1,98 +0,0 @@
-// @ts-check
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Create as $Create} from "@wailsio/runtime";
-
-/**
- * NullInt64 represents an int64 that may be null.
- * NullInt64 implements the [Scanner] interface so
- * it can be used as a scan destination, similar to [NullString].
- */
-export class NullInt64 {
- /**
- * Creates a new NullInt64 instance.
- * @param {Partial} [$$source = {}] - The source object to create the NullInt64.
- */
- constructor($$source = {}) {
- if (!("Int64" in $$source)) {
- /**
- * @member
- * @type {number}
- */
- this["Int64"] = 0;
- }
- if (!("Valid" in $$source)) {
- /**
- * Valid is true if Int64 is not NULL
- * @member
- * @type {boolean}
- */
- this["Valid"] = false;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new NullInt64 instance from a string or object.
- * @param {any} [$$source = {}]
- * @returns {NullInt64}
- */
- static createFrom($$source = {}) {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new NullInt64(/** @type {Partial} */($$parsedSource));
- }
-}
-
-/**
- * NullString represents a string that may be null.
- * NullString implements the [Scanner] interface so
- * it can be used as a scan destination:
- *
- * var s NullString
- * err := db.QueryRow("SELECT name FROM foo WHERE id=?", id).Scan(&s)
- * ...
- * if s.Valid {
- * // use s.String
- * } else {
- * // NULL value
- * }
- */
-export class NullString {
- /**
- * Creates a new NullString instance.
- * @param {Partial} [$$source = {}] - The source object to create the NullString.
- */
- constructor($$source = {}) {
- if (!("String" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["String"] = "";
- }
- if (!("Valid" in $$source)) {
- /**
- * Valid is true if String is not NULL
- * @member
- * @type {boolean}
- */
- this["Valid"] = false;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new NullString instance from a string or object.
- * @param {any} [$$source = {}]
- * @returns {NullString}
- */
- static createFrom($$source = {}) {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new NullString(/** @type {Partial} */($$parsedSource));
- }
-}
diff --git a/frontend/bindings/database/sql/models.ts b/frontend/bindings/database/sql/models.ts
deleted file mode 100644
index bc5a9c97..00000000
--- a/frontend/bindings/database/sql/models.ts
+++ /dev/null
@@ -1,83 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Create as $Create} from "@wailsio/runtime";
-
-/**
- * NullInt64 represents an int64 that may be null.
- * NullInt64 implements the [Scanner] interface so
- * it can be used as a scan destination, similar to [NullString].
- */
-export class NullInt64 {
- "Int64": number;
-
- /**
- * Valid is true if Int64 is not NULL
- */
- "Valid": boolean;
-
- /** Creates a new NullInt64 instance. */
- constructor($$source: Partial = {}) {
- if (!("Int64" in $$source)) {
- this["Int64"] = 0;
- }
- if (!("Valid" in $$source)) {
- this["Valid"] = false;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new NullInt64 instance from a string or object.
- */
- static createFrom($$source: any = {}): NullInt64 {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new NullInt64($$parsedSource as Partial);
- }
-}
-
-/**
- * NullString represents a string that may be null.
- * NullString implements the [Scanner] interface so
- * it can be used as a scan destination:
- *
- * var s NullString
- * err := db.QueryRow("SELECT name FROM foo WHERE id=?", id).Scan(&s)
- * ...
- * if s.Valid {
- * // use s.String
- * } else {
- * // NULL value
- * }
- */
-export class NullString {
- "String": string;
-
- /**
- * Valid is true if String is not NULL
- */
- "Valid": boolean;
-
- /** Creates a new NullString instance. */
- constructor($$source: Partial = {}) {
- if (!("String" in $$source)) {
- this["String"] = "";
- }
- if (!("Valid" in $$source)) {
- this["Valid"] = false;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new NullString instance from a string or object.
- */
- static createFrom($$source: any = {}): NullString {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new NullString($$parsedSource as Partial);
- }
-}
diff --git a/frontend/bindings/github.com/nodetec/captains-log/db/models.ts b/frontend/bindings/github.com/nodetec/captains-log/db/models.ts
deleted file mode 100644
index e2a46ea0..00000000
--- a/frontend/bindings/github.com/nodetec/captains-log/db/models.ts
+++ /dev/null
@@ -1,400 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as sql$0 from "../../../../database/sql/models.js";
-
-export class CreateNoteFromTrashRow {
- "ID": number;
- "ID_2": number;
- "StatusID": sql$0.NullInt64;
- "NotebookID": number;
- "Content": string;
- "Title": string;
- "CreatedAt": string;
- "ModifiedAt": string;
- "PublishedAt": sql$0.NullString;
- "EventID": sql$0.NullString;
- "Pinned": boolean;
- "Notetype": string;
- "Filetype": string;
-
- /** Creates a new CreateNoteFromTrashRow instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("ID_2" in $$source)) {
- this["ID_2"] = 0;
- }
- if (!("StatusID" in $$source)) {
- this["StatusID"] = (new sql$0.NullInt64());
- }
- if (!("NotebookID" in $$source)) {
- this["NotebookID"] = 0;
- }
- if (!("Content" in $$source)) {
- this["Content"] = "";
- }
- if (!("Title" in $$source)) {
- this["Title"] = "";
- }
- if (!("CreatedAt" in $$source)) {
- this["CreatedAt"] = "";
- }
- if (!("ModifiedAt" in $$source)) {
- this["ModifiedAt"] = "";
- }
- if (!("PublishedAt" in $$source)) {
- this["PublishedAt"] = (new sql$0.NullString());
- }
- if (!("EventID" in $$source)) {
- this["EventID"] = (new sql$0.NullString());
- }
- if (!("Pinned" in $$source)) {
- this["Pinned"] = false;
- }
- if (!("Notetype" in $$source)) {
- this["Notetype"] = "";
- }
- if (!("Filetype" in $$source)) {
- this["Filetype"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new CreateNoteFromTrashRow instance from a string or object.
- */
- static createFrom($$source: any = {}): CreateNoteFromTrashRow {
- const $$createField2_0 = $$createType0;
- const $$createField8_0 = $$createType1;
- const $$createField9_0 = $$createType1;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("StatusID" in $$parsedSource) {
- $$parsedSource["StatusID"] = $$createField2_0($$parsedSource["StatusID"]);
- }
- if ("PublishedAt" in $$parsedSource) {
- $$parsedSource["PublishedAt"] = $$createField8_0($$parsedSource["PublishedAt"]);
- }
- if ("EventID" in $$parsedSource) {
- $$parsedSource["EventID"] = $$createField9_0($$parsedSource["EventID"]);
- }
- return new CreateNoteFromTrashRow($$parsedSource as Partial);
- }
-}
-
-export class GetNoteFromTrashRow {
- "ID": number;
- "NoteID": number;
- "Content": string;
- "Title": string;
- "CreatedAt": string;
- "ModifiedAt": string;
- "Tags": sql$0.NullString;
- "NotebookID": number;
- "PublishedAt": sql$0.NullString;
- "EventID": sql$0.NullString;
- "Notetype": string;
- "Filetype": string;
-
- /** Creates a new GetNoteFromTrashRow instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("NoteID" in $$source)) {
- this["NoteID"] = 0;
- }
- if (!("Content" in $$source)) {
- this["Content"] = "";
- }
- if (!("Title" in $$source)) {
- this["Title"] = "";
- }
- if (!("CreatedAt" in $$source)) {
- this["CreatedAt"] = "";
- }
- if (!("ModifiedAt" in $$source)) {
- this["ModifiedAt"] = "";
- }
- if (!("Tags" in $$source)) {
- this["Tags"] = (new sql$0.NullString());
- }
- if (!("NotebookID" in $$source)) {
- this["NotebookID"] = 0;
- }
- if (!("PublishedAt" in $$source)) {
- this["PublishedAt"] = (new sql$0.NullString());
- }
- if (!("EventID" in $$source)) {
- this["EventID"] = (new sql$0.NullString());
- }
- if (!("Notetype" in $$source)) {
- this["Notetype"] = "";
- }
- if (!("Filetype" in $$source)) {
- this["Filetype"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new GetNoteFromTrashRow instance from a string or object.
- */
- static createFrom($$source: any = {}): GetNoteFromTrashRow {
- const $$createField6_0 = $$createType1;
- const $$createField8_0 = $$createType1;
- const $$createField9_0 = $$createType1;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("Tags" in $$parsedSource) {
- $$parsedSource["Tags"] = $$createField6_0($$parsedSource["Tags"]);
- }
- if ("PublishedAt" in $$parsedSource) {
- $$parsedSource["PublishedAt"] = $$createField8_0($$parsedSource["PublishedAt"]);
- }
- if ("EventID" in $$parsedSource) {
- $$parsedSource["EventID"] = $$createField9_0($$parsedSource["EventID"]);
- }
- return new GetNoteFromTrashRow($$parsedSource as Partial);
- }
-}
-
-export class Note {
- "ID": number;
- "StatusID": sql$0.NullInt64;
- "NotebookID": number;
- "Content": string;
- "Title": string;
- "CreatedAt": string;
- "ModifiedAt": string;
- "PublishedAt": sql$0.NullString;
- "EventID": sql$0.NullString;
- "Pinned": boolean;
- "Notetype": string;
- "Filetype": string;
-
- /** Creates a new Note instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("StatusID" in $$source)) {
- this["StatusID"] = (new sql$0.NullInt64());
- }
- if (!("NotebookID" in $$source)) {
- this["NotebookID"] = 0;
- }
- if (!("Content" in $$source)) {
- this["Content"] = "";
- }
- if (!("Title" in $$source)) {
- this["Title"] = "";
- }
- if (!("CreatedAt" in $$source)) {
- this["CreatedAt"] = "";
- }
- if (!("ModifiedAt" in $$source)) {
- this["ModifiedAt"] = "";
- }
- if (!("PublishedAt" in $$source)) {
- this["PublishedAt"] = (new sql$0.NullString());
- }
- if (!("EventID" in $$source)) {
- this["EventID"] = (new sql$0.NullString());
- }
- if (!("Pinned" in $$source)) {
- this["Pinned"] = false;
- }
- if (!("Notetype" in $$source)) {
- this["Notetype"] = "";
- }
- if (!("Filetype" in $$source)) {
- this["Filetype"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Note instance from a string or object.
- */
- static createFrom($$source: any = {}): Note {
- const $$createField1_0 = $$createType0;
- const $$createField7_0 = $$createType1;
- const $$createField8_0 = $$createType1;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("StatusID" in $$parsedSource) {
- $$parsedSource["StatusID"] = $$createField1_0($$parsedSource["StatusID"]);
- }
- if ("PublishedAt" in $$parsedSource) {
- $$parsedSource["PublishedAt"] = $$createField7_0($$parsedSource["PublishedAt"]);
- }
- if ("EventID" in $$parsedSource) {
- $$parsedSource["EventID"] = $$createField8_0($$parsedSource["EventID"]);
- }
- return new Note($$parsedSource as Partial);
- }
-}
-
-export class Notebook {
- "ID": number;
- "Name": string;
- "CreatedAt": string;
-
- /** Creates a new Notebook instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("Name" in $$source)) {
- this["Name"] = "";
- }
- if (!("CreatedAt" in $$source)) {
- this["CreatedAt"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Notebook instance from a string or object.
- */
- static createFrom($$source: any = {}): Notebook {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new Notebook($$parsedSource as Partial);
- }
-}
-
-export class Tag {
- "ID": number;
- "Name": string;
- "Color": sql$0.NullString;
- "Icon": sql$0.NullString;
- "CreatedAt": string;
-
- /** Creates a new Tag instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("Name" in $$source)) {
- this["Name"] = "";
- }
- if (!("Color" in $$source)) {
- this["Color"] = (new sql$0.NullString());
- }
- if (!("Icon" in $$source)) {
- this["Icon"] = (new sql$0.NullString());
- }
- if (!("CreatedAt" in $$source)) {
- this["CreatedAt"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Tag instance from a string or object.
- */
- static createFrom($$source: any = {}): Tag {
- const $$createField2_0 = $$createType1;
- const $$createField3_0 = $$createType1;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("Color" in $$parsedSource) {
- $$parsedSource["Color"] = $$createField2_0($$parsedSource["Color"]);
- }
- if ("Icon" in $$parsedSource) {
- $$parsedSource["Icon"] = $$createField3_0($$parsedSource["Icon"]);
- }
- return new Tag($$parsedSource as Partial);
- }
-}
-
-export class Trash {
- "ID": number;
- "NoteID": number;
- "NotebookID": number;
- "Content": string;
- "Title": string;
- "CreatedAt": string;
- "ModifiedAt": string;
- "Tags": sql$0.NullString;
- "PublishedAt": sql$0.NullString;
- "EventID": sql$0.NullString;
- "Notetype": string;
- "Filetype": string;
-
- /** Creates a new Trash instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("NoteID" in $$source)) {
- this["NoteID"] = 0;
- }
- if (!("NotebookID" in $$source)) {
- this["NotebookID"] = 0;
- }
- if (!("Content" in $$source)) {
- this["Content"] = "";
- }
- if (!("Title" in $$source)) {
- this["Title"] = "";
- }
- if (!("CreatedAt" in $$source)) {
- this["CreatedAt"] = "";
- }
- if (!("ModifiedAt" in $$source)) {
- this["ModifiedAt"] = "";
- }
- if (!("Tags" in $$source)) {
- this["Tags"] = (new sql$0.NullString());
- }
- if (!("PublishedAt" in $$source)) {
- this["PublishedAt"] = (new sql$0.NullString());
- }
- if (!("EventID" in $$source)) {
- this["EventID"] = (new sql$0.NullString());
- }
- if (!("Notetype" in $$source)) {
- this["Notetype"] = "";
- }
- if (!("Filetype" in $$source)) {
- this["Filetype"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Trash instance from a string or object.
- */
- static createFrom($$source: any = {}): Trash {
- const $$createField7_0 = $$createType1;
- const $$createField8_0 = $$createType1;
- const $$createField9_0 = $$createType1;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("Tags" in $$parsedSource) {
- $$parsedSource["Tags"] = $$createField7_0($$parsedSource["Tags"]);
- }
- if ("PublishedAt" in $$parsedSource) {
- $$parsedSource["PublishedAt"] = $$createField8_0($$parsedSource["PublishedAt"]);
- }
- if ("EventID" in $$parsedSource) {
- $$parsedSource["EventID"] = $$createField9_0($$parsedSource["EventID"]);
- }
- return new Trash($$parsedSource as Partial);
- }
-}
-
-// Private type creation functions
-const $$createType0 = sql$0.NullInt64.createFrom;
-const $$createType1 = sql$0.NullString.createFrom;
diff --git a/frontend/bindings/github.com/nodetec/captains-log/service/index.ts b/frontend/bindings/github.com/nodetec/captains-log/service/index.ts
deleted file mode 100644
index 0b82bfa5..00000000
--- a/frontend/bindings/github.com/nodetec/captains-log/service/index.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-import * as NostrKeyService from "./nostrkeyservice.js";
-import * as NoteService from "./noteservice.js";
-import * as NoteTagService from "./notetagservice.js";
-import * as NotebookService from "./notebookservice.js";
-import * as RelayService from "./relayservice.js";
-import * as SettingService from "./settingservice.js";
-import * as TagService from "./tagservice.js";
-export {
- NostrKeyService,
- NoteService,
- NoteTagService,
- NotebookService,
- RelayService,
- SettingService,
- TagService
-};
-
-export * from "./models.js";
diff --git a/frontend/bindings/github.com/nodetec/captains-log/service/models.ts b/frontend/bindings/github.com/nodetec/captains-log/service/models.ts
deleted file mode 100644
index c2ebc7d5..00000000
--- a/frontend/bindings/github.com/nodetec/captains-log/service/models.ts
+++ /dev/null
@@ -1,208 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as sql$0 from "../../../../database/sql/models.js";
-
-export class NostrKey {
- "ID": number;
- "Nsec": string;
- "Npub": string;
- "Active": boolean;
-
- /** Creates a new NostrKey instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("Nsec" in $$source)) {
- this["Nsec"] = "";
- }
- if (!("Npub" in $$source)) {
- this["Npub"] = "";
- }
- if (!("Active" in $$source)) {
- this["Active"] = false;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new NostrKey instance from a string or object.
- */
- static createFrom($$source: any = {}): NostrKey {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new NostrKey($$parsedSource as Partial);
- }
-}
-
-export class Relay {
- "ID": number;
- "Url": string;
- "Read": boolean;
- "Write": boolean;
- "Sync": boolean;
-
- /** Creates a new Relay instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("Url" in $$source)) {
- this["Url"] = "";
- }
- if (!("Read" in $$source)) {
- this["Read"] = false;
- }
- if (!("Write" in $$source)) {
- this["Write"] = false;
- }
- if (!("Sync" in $$source)) {
- this["Sync"] = false;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Relay instance from a string or object.
- */
- static createFrom($$source: any = {}): Relay {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new Relay($$parsedSource as Partial);
- }
-}
-
-export class Settings {
- /**
- * theme
- */
- "Theme": string;
-
- /**
- * editor
- */
- "Vim": string;
- "LineNumbers": string;
- "HighlightActiveLine": string;
- "LineWrapping": string;
- "IndentSpaces": string;
- "FontSize": string;
- "FontFamily": string;
- "LineHeight": string;
-
- /**
- * profile
- */
- "Npub": string;
- "Nsec": string;
-
- /**
- * relays
- */
- "Relays": string;
-
- /** Creates a new Settings instance. */
- constructor($$source: Partial = {}) {
- if (!("Theme" in $$source)) {
- this["Theme"] = "";
- }
- if (!("Vim" in $$source)) {
- this["Vim"] = "";
- }
- if (!("LineNumbers" in $$source)) {
- this["LineNumbers"] = "";
- }
- if (!("HighlightActiveLine" in $$source)) {
- this["HighlightActiveLine"] = "";
- }
- if (!("LineWrapping" in $$source)) {
- this["LineWrapping"] = "";
- }
- if (!("IndentSpaces" in $$source)) {
- this["IndentSpaces"] = "";
- }
- if (!("FontSize" in $$source)) {
- this["FontSize"] = "";
- }
- if (!("FontFamily" in $$source)) {
- this["FontFamily"] = "";
- }
- if (!("LineHeight" in $$source)) {
- this["LineHeight"] = "";
- }
- if (!("Npub" in $$source)) {
- this["Npub"] = "";
- }
- if (!("Nsec" in $$source)) {
- this["Nsec"] = "";
- }
- if (!("Relays" in $$source)) {
- this["Relays"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Settings instance from a string or object.
- */
- static createFrom($$source: any = {}): Settings {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new Settings($$parsedSource as Partial);
- }
-}
-
-export class Tag {
- "ID": number;
- "Name": string;
- "Color": sql$0.NullString;
- "Icon": sql$0.NullString;
- "CreatedAt": string;
-
- /** Creates a new Tag instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("Name" in $$source)) {
- this["Name"] = "";
- }
- if (!("Color" in $$source)) {
- this["Color"] = (new sql$0.NullString());
- }
- if (!("Icon" in $$source)) {
- this["Icon"] = (new sql$0.NullString());
- }
- if (!("CreatedAt" in $$source)) {
- this["CreatedAt"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Tag instance from a string or object.
- */
- static createFrom($$source: any = {}): Tag {
- const $$createField2_0 = $$createType0;
- const $$createField3_0 = $$createType0;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("Color" in $$parsedSource) {
- $$parsedSource["Color"] = $$createField2_0($$parsedSource["Color"]);
- }
- if ("Icon" in $$parsedSource) {
- $$parsedSource["Icon"] = $$createField3_0($$parsedSource["Icon"]);
- }
- return new Tag($$parsedSource as Partial);
- }
-}
-
-// Private type creation functions
-const $$createType0 = sql$0.NullString.createFrom;
diff --git a/frontend/bindings/github.com/nodetec/captains-log/service/nostrkeyservice.ts b/frontend/bindings/github.com/nodetec/captains-log/service/nostrkeyservice.ts
deleted file mode 100644
index d0baa748..00000000
--- a/frontend/bindings/github.com/nodetec/captains-log/service/nostrkeyservice.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as $models from "./models.js";
-
-export function CreateNostrKey(nsec: string, npub: string, active: boolean): Promise<$models.NostrKey> & { cancel(): void } {
- let $resultPromise = $Call.ByID(1139917670, nsec, npub, active) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function DeleteNostrKey(id: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(2873522469, id) as any;
- return $resultPromise;
-}
-
-export function GetNostrKey(id: number): Promise<$models.NostrKey> & { cancel(): void } {
- let $resultPromise = $Call.ByID(1862764116, id) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function ListNostrKeys(): Promise<$models.NostrKey[]> & { cancel(): void } {
- let $resultPromise = $Call.ByID(3075221463) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType1($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function UpdateNostrKey(id: number, nsec: string, npub: string, active: boolean): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(3672862547, id, nsec, npub, active) as any;
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = $models.NostrKey.createFrom;
-const $$createType1 = $Create.Array($$createType0);
diff --git a/frontend/bindings/github.com/nodetec/captains-log/service/notebookservice.ts b/frontend/bindings/github.com/nodetec/captains-log/service/notebookservice.ts
deleted file mode 100644
index 231512f8..00000000
--- a/frontend/bindings/github.com/nodetec/captains-log/service/notebookservice.ts
+++ /dev/null
@@ -1,82 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as db$0 from "../db/models.js";
-
-export function AddTagToNotebook(notebookID: number, tagID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(413074938, notebookID, tagID) as any;
- return $resultPromise;
-}
-
-export function CheckTagForNotebook(notebookID: number, tagID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1014327243, notebookID, tagID) as any;
- return $resultPromise;
-}
-
-export function CreateNotebook(name: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1869216282, name) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function DeleteNotebook(id: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(2925036805, id) as any;
- return $resultPromise;
-}
-
-export function GetNotebook(id: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(542902412, id) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function GetTagsForNotebook(notebookID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1296614222, notebookID) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType2($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function ListNotebooks(): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(3041603755) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType3($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function RemoveAllTagsFromNotebook(notebookID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(3020598822, notebookID) as any;
- return $resultPromise;
-}
-
-export function RemoveTagFromNotebook(notebookID: number, tagID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1292342828, notebookID, tagID) as any;
- return $resultPromise;
-}
-
-export function UpdateNotebook(id: number, name: string, createdAt: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1472371799, id, name, createdAt) as any;
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = db$0.Notebook.createFrom;
-const $$createType1 = db$0.Tag.createFrom;
-const $$createType2 = $Create.Array($$createType1);
-const $$createType3 = $Create.Array($$createType0);
diff --git a/frontend/bindings/github.com/nodetec/captains-log/service/noteservice.ts b/frontend/bindings/github.com/nodetec/captains-log/service/noteservice.ts
deleted file mode 100644
index eb8d1d61..00000000
--- a/frontend/bindings/github.com/nodetec/captains-log/service/noteservice.ts
+++ /dev/null
@@ -1,113 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as sql$0 from "../../../../database/sql/models.js";
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as db$0 from "../db/models.js";
-
-export function AddNoteToTrash(note: db$0.Note, tags: db$0.Tag[]): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(3629355206, note, tags) as any;
- return $resultPromise;
-}
-
-export function CreateNote(title: string, content: string, notebookID: number, statusID: sql$0.NullInt64, publishedAt: sql$0.NullString, eventId: sql$0.NullString, notetype: string, filetype: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(718095870, title, content, notebookID, statusID, publishedAt, eventId, notetype, filetype) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function DeleteNote(id: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(2694105033, id) as any;
- return $resultPromise;
-}
-
-export function DeleteNoteFromTrash(id: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(3062769697, id) as any;
- return $resultPromise;
-}
-
-export function GetNote(id: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1682701374, id) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function GetNoteFromTrash(id: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(2404583840, id) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType1($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function ListNotes(notebookId: number, tagId: number, limit: number, pageParam: number, orderBy: string, sortDirection: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(3066540231, notebookId, tagId, limit, pageParam, orderBy, sortDirection) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType2($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function ListNotesFromTrash(limit: number, pageParam: number, orderBy: string, sortDirection: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(3687280279, limit, pageParam, orderBy, sortDirection) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType4($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function RestoreNoteFromTrash(noteId: number, title: string, content: string, notebookID: number, statusID: sql$0.NullInt64, createdAt: string, modifiedAt: string, publishedAt: sql$0.NullString, eventId: sql$0.NullString, notetype: string, filetype: string, tagIds: number[]): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1566556202, noteId, title, content, notebookID, statusID, createdAt, modifiedAt, publishedAt, eventId, notetype, filetype, tagIds) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType5($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function SearchNotes(searchTerm: string, notebookID: number, tagID: number, limit: number, pageParam: number, orderBy: string, sortDirection: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(769326515, searchTerm, notebookID, tagID, limit, pageParam, orderBy, sortDirection) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType2($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function SearchTrash(searchTerm: string, limit: number, pageParam: number, orderBy: string, sortDirection: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1243198908, searchTerm, limit, pageParam, orderBy, sortDirection) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType4($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function UpdateNote(id: number, title: string, content: string, notebookID: number, statusID: sql$0.NullInt64, published: boolean, eventId: sql$0.NullString, pinned: boolean, notetype: string, filetype: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(3047331695, id, title, content, notebookID, statusID, published, eventId, pinned, notetype, filetype) as any;
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = db$0.Note.createFrom;
-const $$createType1 = db$0.GetNoteFromTrashRow.createFrom;
-const $$createType2 = $Create.Array($$createType0);
-const $$createType3 = db$0.Trash.createFrom;
-const $$createType4 = $Create.Array($$createType3);
-const $$createType5 = db$0.CreateNoteFromTrashRow.createFrom;
diff --git a/frontend/bindings/github.com/nodetec/captains-log/service/notetagservice.ts b/frontend/bindings/github.com/nodetec/captains-log/service/notetagservice.ts
deleted file mode 100644
index 342140d6..00000000
--- a/frontend/bindings/github.com/nodetec/captains-log/service/notetagservice.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as db$0 from "../db/models.js";
-
-export function AddTagToNote(noteID: number, tagID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(674475180, noteID, tagID) as any;
- return $resultPromise;
-}
-
-export function CheckTagForNote(noteID: number, tagID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(2860258327, noteID, tagID) as any;
- return $resultPromise;
-}
-
-export function GetTagsForNote(noteID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(385519868, noteID) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType1($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function RemoveTagFromNote(noteID: number, tagID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1414310996, noteID, tagID) as any;
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = db$0.Tag.createFrom;
-const $$createType1 = $Create.Array($$createType0);
diff --git a/frontend/bindings/github.com/nodetec/captains-log/service/relayservice.ts b/frontend/bindings/github.com/nodetec/captains-log/service/relayservice.ts
deleted file mode 100644
index de26b257..00000000
--- a/frontend/bindings/github.com/nodetec/captains-log/service/relayservice.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as $models from "./models.js";
-
-export function CreateRelay(url: string, read: boolean, write: boolean, sync: boolean): Promise<$models.Relay> & { cancel(): void } {
- let $resultPromise = $Call.ByID(2092870154, url, read, write, sync) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function DeleteRelays(): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1994699448) as any;
- return $resultPromise;
-}
-
-export function GetRelay(id: number): Promise<$models.Relay> & { cancel(): void } {
- let $resultPromise = $Call.ByID(22572148, id) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function ListRelays(): Promise<$models.Relay[]> & { cancel(): void } {
- let $resultPromise = $Call.ByID(2174753327) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType1($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function UpdateRelay(id: number, url: string, read: boolean, write: boolean, sync: boolean): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(3330694229, id, url, read, write, sync) as any;
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = $models.Relay.createFrom;
-const $$createType1 = $Create.Array($$createType0);
diff --git a/frontend/bindings/github.com/nodetec/captains-log/service/settingservice.ts b/frontend/bindings/github.com/nodetec/captains-log/service/settingservice.ts
deleted file mode 100644
index 76698f7a..00000000
--- a/frontend/bindings/github.com/nodetec/captains-log/service/settingservice.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as $models from "./models.js";
-
-export function GetAllSettings(): Promise<$models.Settings> & { cancel(): void } {
- let $resultPromise = $Call.ByID(1009539482) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function GetSetting(key: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1457156808, key) as any;
- return $resultPromise;
-}
-
-export function UpdateSetting(key: string, value: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(136830423, key, value) as any;
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = $models.Settings.createFrom;
diff --git a/frontend/bindings/github.com/nodetec/captains-log/service/tagservice.ts b/frontend/bindings/github.com/nodetec/captains-log/service/tagservice.ts
deleted file mode 100644
index fa60c945..00000000
--- a/frontend/bindings/github.com/nodetec/captains-log/service/tagservice.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as sql$0 from "../../../../database/sql/models.js";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as $models from "./models.js";
-
-export function CreateTag(name: string, color: sql$0.NullString, icon: sql$0.NullString, createdAt: string): Promise<$models.Tag> & { cancel(): void } {
- let $resultPromise = $Call.ByID(1673117124, name, color, icon, createdAt) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function DeleteTag(id: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1066084529, id) as any;
- return $resultPromise;
-}
-
-export function GetTag(id: number): Promise<$models.Tag> & { cancel(): void } {
- let $resultPromise = $Call.ByID(2058995772, id) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function GetTagByName(name: string): Promise<$models.Tag> & { cancel(): void } {
- let $resultPromise = $Call.ByID(2689542354, name) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function GetTagsByNames(names: string[]): Promise<$models.Tag[]> & { cancel(): void } {
- let $resultPromise = $Call.ByID(1187259212, names) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType1($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function ListTags(): Promise<$models.Tag[]> & { cancel(): void } {
- let $resultPromise = $Call.ByID(3082273913) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType1($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function UpdateTag(id: number, name: string, color: sql$0.NullString, icon: sql$0.NullString, createdAt: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(156168943, id, name, color, icon, createdAt) as any;
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = $models.Tag.createFrom;
-const $$createType1 = $Create.Array($$createType0);
diff --git a/frontend/bindings/github.com/nodetec/comet/db/index.js b/frontend/bindings/github.com/nodetec/comet/db/index.js
deleted file mode 100644
index 580fb67a..00000000
--- a/frontend/bindings/github.com/nodetec/comet/db/index.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// @ts-check
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-export * from "./models.js";
diff --git a/frontend/bindings/github.com/nodetec/comet/db/index.ts b/frontend/bindings/github.com/nodetec/comet/db/index.ts
deleted file mode 100644
index c9d993ab..00000000
--- a/frontend/bindings/github.com/nodetec/comet/db/index.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-export * from "./models.js";
diff --git a/frontend/bindings/github.com/nodetec/comet/db/models.js b/frontend/bindings/github.com/nodetec/comet/db/models.js
deleted file mode 100644
index 14b4f175..00000000
--- a/frontend/bindings/github.com/nodetec/comet/db/models.js
+++ /dev/null
@@ -1,596 +0,0 @@
-// @ts-check
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as sql$0 from "../../../../database/sql/models.js";
-
-export class CreateNoteFromTrashRow {
- /**
- * Creates a new CreateNoteFromTrashRow instance.
- * @param {Partial} [$$source = {}] - The source object to create the CreateNoteFromTrashRow.
- */
- constructor($$source = {}) {
- if (!("ID" in $$source)) {
- /**
- * @member
- * @type {number}
- */
- this["ID"] = 0;
- }
- if (!("ID_2" in $$source)) {
- /**
- * @member
- * @type {number}
- */
- this["ID_2"] = 0;
- }
- if (!("StatusID" in $$source)) {
- /**
- * @member
- * @type {sql$0.NullInt64}
- */
- this["StatusID"] = (new sql$0.NullInt64());
- }
- if (!("NotebookID" in $$source)) {
- /**
- * @member
- * @type {number}
- */
- this["NotebookID"] = 0;
- }
- if (!("Content" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Content"] = "";
- }
- if (!("Title" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Title"] = "";
- }
- if (!("CreatedAt" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["CreatedAt"] = "";
- }
- if (!("ModifiedAt" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["ModifiedAt"] = "";
- }
- if (!("PublishedAt" in $$source)) {
- /**
- * @member
- * @type {sql$0.NullString}
- */
- this["PublishedAt"] = (new sql$0.NullString());
- }
- if (!("EventID" in $$source)) {
- /**
- * @member
- * @type {sql$0.NullString}
- */
- this["EventID"] = (new sql$0.NullString());
- }
- if (!("Pinned" in $$source)) {
- /**
- * @member
- * @type {boolean}
- */
- this["Pinned"] = false;
- }
- if (!("Notetype" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Notetype"] = "";
- }
- if (!("Filetype" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Filetype"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new CreateNoteFromTrashRow instance from a string or object.
- * @param {any} [$$source = {}]
- * @returns {CreateNoteFromTrashRow}
- */
- static createFrom($$source = {}) {
- const $$createField2_0 = $$createType0;
- const $$createField8_0 = $$createType1;
- const $$createField9_0 = $$createType1;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("StatusID" in $$parsedSource) {
- $$parsedSource["StatusID"] = $$createField2_0($$parsedSource["StatusID"]);
- }
- if ("PublishedAt" in $$parsedSource) {
- $$parsedSource["PublishedAt"] = $$createField8_0($$parsedSource["PublishedAt"]);
- }
- if ("EventID" in $$parsedSource) {
- $$parsedSource["EventID"] = $$createField9_0($$parsedSource["EventID"]);
- }
- return new CreateNoteFromTrashRow(/** @type {Partial} */($$parsedSource));
- }
-}
-
-export class GetNoteFromTrashRow {
- /**
- * Creates a new GetNoteFromTrashRow instance.
- * @param {Partial} [$$source = {}] - The source object to create the GetNoteFromTrashRow.
- */
- constructor($$source = {}) {
- if (!("ID" in $$source)) {
- /**
- * @member
- * @type {number}
- */
- this["ID"] = 0;
- }
- if (!("NoteID" in $$source)) {
- /**
- * @member
- * @type {number}
- */
- this["NoteID"] = 0;
- }
- if (!("Content" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Content"] = "";
- }
- if (!("Title" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Title"] = "";
- }
- if (!("CreatedAt" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["CreatedAt"] = "";
- }
- if (!("ModifiedAt" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["ModifiedAt"] = "";
- }
- if (!("Tags" in $$source)) {
- /**
- * @member
- * @type {sql$0.NullString}
- */
- this["Tags"] = (new sql$0.NullString());
- }
- if (!("NotebookID" in $$source)) {
- /**
- * @member
- * @type {number}
- */
- this["NotebookID"] = 0;
- }
- if (!("PublishedAt" in $$source)) {
- /**
- * @member
- * @type {sql$0.NullString}
- */
- this["PublishedAt"] = (new sql$0.NullString());
- }
- if (!("EventID" in $$source)) {
- /**
- * @member
- * @type {sql$0.NullString}
- */
- this["EventID"] = (new sql$0.NullString());
- }
- if (!("Notetype" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Notetype"] = "";
- }
- if (!("Filetype" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Filetype"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new GetNoteFromTrashRow instance from a string or object.
- * @param {any} [$$source = {}]
- * @returns {GetNoteFromTrashRow}
- */
- static createFrom($$source = {}) {
- const $$createField6_0 = $$createType1;
- const $$createField8_0 = $$createType1;
- const $$createField9_0 = $$createType1;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("Tags" in $$parsedSource) {
- $$parsedSource["Tags"] = $$createField6_0($$parsedSource["Tags"]);
- }
- if ("PublishedAt" in $$parsedSource) {
- $$parsedSource["PublishedAt"] = $$createField8_0($$parsedSource["PublishedAt"]);
- }
- if ("EventID" in $$parsedSource) {
- $$parsedSource["EventID"] = $$createField9_0($$parsedSource["EventID"]);
- }
- return new GetNoteFromTrashRow(/** @type {Partial} */($$parsedSource));
- }
-}
-
-export class Note {
- /**
- * Creates a new Note instance.
- * @param {Partial} [$$source = {}] - The source object to create the Note.
- */
- constructor($$source = {}) {
- if (!("ID" in $$source)) {
- /**
- * @member
- * @type {number}
- */
- this["ID"] = 0;
- }
- if (!("StatusID" in $$source)) {
- /**
- * @member
- * @type {sql$0.NullInt64}
- */
- this["StatusID"] = (new sql$0.NullInt64());
- }
- if (!("NotebookID" in $$source)) {
- /**
- * @member
- * @type {number}
- */
- this["NotebookID"] = 0;
- }
- if (!("Content" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Content"] = "";
- }
- if (!("Title" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Title"] = "";
- }
- if (!("CreatedAt" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["CreatedAt"] = "";
- }
- if (!("ModifiedAt" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["ModifiedAt"] = "";
- }
- if (!("PublishedAt" in $$source)) {
- /**
- * @member
- * @type {sql$0.NullString}
- */
- this["PublishedAt"] = (new sql$0.NullString());
- }
- if (!("EventID" in $$source)) {
- /**
- * @member
- * @type {sql$0.NullString}
- */
- this["EventID"] = (new sql$0.NullString());
- }
- if (!("Pinned" in $$source)) {
- /**
- * @member
- * @type {boolean}
- */
- this["Pinned"] = false;
- }
- if (!("Notetype" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Notetype"] = "";
- }
- if (!("Filetype" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Filetype"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Note instance from a string or object.
- * @param {any} [$$source = {}]
- * @returns {Note}
- */
- static createFrom($$source = {}) {
- const $$createField1_0 = $$createType0;
- const $$createField7_0 = $$createType1;
- const $$createField8_0 = $$createType1;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("StatusID" in $$parsedSource) {
- $$parsedSource["StatusID"] = $$createField1_0($$parsedSource["StatusID"]);
- }
- if ("PublishedAt" in $$parsedSource) {
- $$parsedSource["PublishedAt"] = $$createField7_0($$parsedSource["PublishedAt"]);
- }
- if ("EventID" in $$parsedSource) {
- $$parsedSource["EventID"] = $$createField8_0($$parsedSource["EventID"]);
- }
- return new Note(/** @type {Partial} */($$parsedSource));
- }
-}
-
-export class Notebook {
- /**
- * Creates a new Notebook instance.
- * @param {Partial} [$$source = {}] - The source object to create the Notebook.
- */
- constructor($$source = {}) {
- if (!("ID" in $$source)) {
- /**
- * @member
- * @type {number}
- */
- this["ID"] = 0;
- }
- if (!("Name" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Name"] = "";
- }
- if (!("CreatedAt" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["CreatedAt"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Notebook instance from a string or object.
- * @param {any} [$$source = {}]
- * @returns {Notebook}
- */
- static createFrom($$source = {}) {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new Notebook(/** @type {Partial} */($$parsedSource));
- }
-}
-
-export class Tag {
- /**
- * Creates a new Tag instance.
- * @param {Partial} [$$source = {}] - The source object to create the Tag.
- */
- constructor($$source = {}) {
- if (!("ID" in $$source)) {
- /**
- * @member
- * @type {number}
- */
- this["ID"] = 0;
- }
- if (!("Name" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Name"] = "";
- }
- if (!("Color" in $$source)) {
- /**
- * @member
- * @type {sql$0.NullString}
- */
- this["Color"] = (new sql$0.NullString());
- }
- if (!("Icon" in $$source)) {
- /**
- * @member
- * @type {sql$0.NullString}
- */
- this["Icon"] = (new sql$0.NullString());
- }
- if (!("CreatedAt" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["CreatedAt"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Tag instance from a string or object.
- * @param {any} [$$source = {}]
- * @returns {Tag}
- */
- static createFrom($$source = {}) {
- const $$createField2_0 = $$createType1;
- const $$createField3_0 = $$createType1;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("Color" in $$parsedSource) {
- $$parsedSource["Color"] = $$createField2_0($$parsedSource["Color"]);
- }
- if ("Icon" in $$parsedSource) {
- $$parsedSource["Icon"] = $$createField3_0($$parsedSource["Icon"]);
- }
- return new Tag(/** @type {Partial} */($$parsedSource));
- }
-}
-
-export class Trash {
- /**
- * Creates a new Trash instance.
- * @param {Partial} [$$source = {}] - The source object to create the Trash.
- */
- constructor($$source = {}) {
- if (!("ID" in $$source)) {
- /**
- * @member
- * @type {number}
- */
- this["ID"] = 0;
- }
- if (!("NoteID" in $$source)) {
- /**
- * @member
- * @type {number}
- */
- this["NoteID"] = 0;
- }
- if (!("NotebookID" in $$source)) {
- /**
- * @member
- * @type {number}
- */
- this["NotebookID"] = 0;
- }
- if (!("Content" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Content"] = "";
- }
- if (!("Title" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Title"] = "";
- }
- if (!("CreatedAt" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["CreatedAt"] = "";
- }
- if (!("ModifiedAt" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["ModifiedAt"] = "";
- }
- if (!("Tags" in $$source)) {
- /**
- * @member
- * @type {sql$0.NullString}
- */
- this["Tags"] = (new sql$0.NullString());
- }
- if (!("PublishedAt" in $$source)) {
- /**
- * @member
- * @type {sql$0.NullString}
- */
- this["PublishedAt"] = (new sql$0.NullString());
- }
- if (!("EventID" in $$source)) {
- /**
- * @member
- * @type {sql$0.NullString}
- */
- this["EventID"] = (new sql$0.NullString());
- }
- if (!("Notetype" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Notetype"] = "";
- }
- if (!("Filetype" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Filetype"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Trash instance from a string or object.
- * @param {any} [$$source = {}]
- * @returns {Trash}
- */
- static createFrom($$source = {}) {
- const $$createField7_0 = $$createType1;
- const $$createField8_0 = $$createType1;
- const $$createField9_0 = $$createType1;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("Tags" in $$parsedSource) {
- $$parsedSource["Tags"] = $$createField7_0($$parsedSource["Tags"]);
- }
- if ("PublishedAt" in $$parsedSource) {
- $$parsedSource["PublishedAt"] = $$createField8_0($$parsedSource["PublishedAt"]);
- }
- if ("EventID" in $$parsedSource) {
- $$parsedSource["EventID"] = $$createField9_0($$parsedSource["EventID"]);
- }
- return new Trash(/** @type {Partial} */($$parsedSource));
- }
-}
-
-// Private type creation functions
-const $$createType0 = sql$0.NullInt64.createFrom;
-const $$createType1 = sql$0.NullString.createFrom;
diff --git a/frontend/bindings/github.com/nodetec/comet/db/models.ts b/frontend/bindings/github.com/nodetec/comet/db/models.ts
deleted file mode 100644
index e2a46ea0..00000000
--- a/frontend/bindings/github.com/nodetec/comet/db/models.ts
+++ /dev/null
@@ -1,400 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as sql$0 from "../../../../database/sql/models.js";
-
-export class CreateNoteFromTrashRow {
- "ID": number;
- "ID_2": number;
- "StatusID": sql$0.NullInt64;
- "NotebookID": number;
- "Content": string;
- "Title": string;
- "CreatedAt": string;
- "ModifiedAt": string;
- "PublishedAt": sql$0.NullString;
- "EventID": sql$0.NullString;
- "Pinned": boolean;
- "Notetype": string;
- "Filetype": string;
-
- /** Creates a new CreateNoteFromTrashRow instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("ID_2" in $$source)) {
- this["ID_2"] = 0;
- }
- if (!("StatusID" in $$source)) {
- this["StatusID"] = (new sql$0.NullInt64());
- }
- if (!("NotebookID" in $$source)) {
- this["NotebookID"] = 0;
- }
- if (!("Content" in $$source)) {
- this["Content"] = "";
- }
- if (!("Title" in $$source)) {
- this["Title"] = "";
- }
- if (!("CreatedAt" in $$source)) {
- this["CreatedAt"] = "";
- }
- if (!("ModifiedAt" in $$source)) {
- this["ModifiedAt"] = "";
- }
- if (!("PublishedAt" in $$source)) {
- this["PublishedAt"] = (new sql$0.NullString());
- }
- if (!("EventID" in $$source)) {
- this["EventID"] = (new sql$0.NullString());
- }
- if (!("Pinned" in $$source)) {
- this["Pinned"] = false;
- }
- if (!("Notetype" in $$source)) {
- this["Notetype"] = "";
- }
- if (!("Filetype" in $$source)) {
- this["Filetype"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new CreateNoteFromTrashRow instance from a string or object.
- */
- static createFrom($$source: any = {}): CreateNoteFromTrashRow {
- const $$createField2_0 = $$createType0;
- const $$createField8_0 = $$createType1;
- const $$createField9_0 = $$createType1;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("StatusID" in $$parsedSource) {
- $$parsedSource["StatusID"] = $$createField2_0($$parsedSource["StatusID"]);
- }
- if ("PublishedAt" in $$parsedSource) {
- $$parsedSource["PublishedAt"] = $$createField8_0($$parsedSource["PublishedAt"]);
- }
- if ("EventID" in $$parsedSource) {
- $$parsedSource["EventID"] = $$createField9_0($$parsedSource["EventID"]);
- }
- return new CreateNoteFromTrashRow($$parsedSource as Partial);
- }
-}
-
-export class GetNoteFromTrashRow {
- "ID": number;
- "NoteID": number;
- "Content": string;
- "Title": string;
- "CreatedAt": string;
- "ModifiedAt": string;
- "Tags": sql$0.NullString;
- "NotebookID": number;
- "PublishedAt": sql$0.NullString;
- "EventID": sql$0.NullString;
- "Notetype": string;
- "Filetype": string;
-
- /** Creates a new GetNoteFromTrashRow instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("NoteID" in $$source)) {
- this["NoteID"] = 0;
- }
- if (!("Content" in $$source)) {
- this["Content"] = "";
- }
- if (!("Title" in $$source)) {
- this["Title"] = "";
- }
- if (!("CreatedAt" in $$source)) {
- this["CreatedAt"] = "";
- }
- if (!("ModifiedAt" in $$source)) {
- this["ModifiedAt"] = "";
- }
- if (!("Tags" in $$source)) {
- this["Tags"] = (new sql$0.NullString());
- }
- if (!("NotebookID" in $$source)) {
- this["NotebookID"] = 0;
- }
- if (!("PublishedAt" in $$source)) {
- this["PublishedAt"] = (new sql$0.NullString());
- }
- if (!("EventID" in $$source)) {
- this["EventID"] = (new sql$0.NullString());
- }
- if (!("Notetype" in $$source)) {
- this["Notetype"] = "";
- }
- if (!("Filetype" in $$source)) {
- this["Filetype"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new GetNoteFromTrashRow instance from a string or object.
- */
- static createFrom($$source: any = {}): GetNoteFromTrashRow {
- const $$createField6_0 = $$createType1;
- const $$createField8_0 = $$createType1;
- const $$createField9_0 = $$createType1;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("Tags" in $$parsedSource) {
- $$parsedSource["Tags"] = $$createField6_0($$parsedSource["Tags"]);
- }
- if ("PublishedAt" in $$parsedSource) {
- $$parsedSource["PublishedAt"] = $$createField8_0($$parsedSource["PublishedAt"]);
- }
- if ("EventID" in $$parsedSource) {
- $$parsedSource["EventID"] = $$createField9_0($$parsedSource["EventID"]);
- }
- return new GetNoteFromTrashRow($$parsedSource as Partial);
- }
-}
-
-export class Note {
- "ID": number;
- "StatusID": sql$0.NullInt64;
- "NotebookID": number;
- "Content": string;
- "Title": string;
- "CreatedAt": string;
- "ModifiedAt": string;
- "PublishedAt": sql$0.NullString;
- "EventID": sql$0.NullString;
- "Pinned": boolean;
- "Notetype": string;
- "Filetype": string;
-
- /** Creates a new Note instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("StatusID" in $$source)) {
- this["StatusID"] = (new sql$0.NullInt64());
- }
- if (!("NotebookID" in $$source)) {
- this["NotebookID"] = 0;
- }
- if (!("Content" in $$source)) {
- this["Content"] = "";
- }
- if (!("Title" in $$source)) {
- this["Title"] = "";
- }
- if (!("CreatedAt" in $$source)) {
- this["CreatedAt"] = "";
- }
- if (!("ModifiedAt" in $$source)) {
- this["ModifiedAt"] = "";
- }
- if (!("PublishedAt" in $$source)) {
- this["PublishedAt"] = (new sql$0.NullString());
- }
- if (!("EventID" in $$source)) {
- this["EventID"] = (new sql$0.NullString());
- }
- if (!("Pinned" in $$source)) {
- this["Pinned"] = false;
- }
- if (!("Notetype" in $$source)) {
- this["Notetype"] = "";
- }
- if (!("Filetype" in $$source)) {
- this["Filetype"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Note instance from a string or object.
- */
- static createFrom($$source: any = {}): Note {
- const $$createField1_0 = $$createType0;
- const $$createField7_0 = $$createType1;
- const $$createField8_0 = $$createType1;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("StatusID" in $$parsedSource) {
- $$parsedSource["StatusID"] = $$createField1_0($$parsedSource["StatusID"]);
- }
- if ("PublishedAt" in $$parsedSource) {
- $$parsedSource["PublishedAt"] = $$createField7_0($$parsedSource["PublishedAt"]);
- }
- if ("EventID" in $$parsedSource) {
- $$parsedSource["EventID"] = $$createField8_0($$parsedSource["EventID"]);
- }
- return new Note($$parsedSource as Partial);
- }
-}
-
-export class Notebook {
- "ID": number;
- "Name": string;
- "CreatedAt": string;
-
- /** Creates a new Notebook instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("Name" in $$source)) {
- this["Name"] = "";
- }
- if (!("CreatedAt" in $$source)) {
- this["CreatedAt"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Notebook instance from a string or object.
- */
- static createFrom($$source: any = {}): Notebook {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new Notebook($$parsedSource as Partial);
- }
-}
-
-export class Tag {
- "ID": number;
- "Name": string;
- "Color": sql$0.NullString;
- "Icon": sql$0.NullString;
- "CreatedAt": string;
-
- /** Creates a new Tag instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("Name" in $$source)) {
- this["Name"] = "";
- }
- if (!("Color" in $$source)) {
- this["Color"] = (new sql$0.NullString());
- }
- if (!("Icon" in $$source)) {
- this["Icon"] = (new sql$0.NullString());
- }
- if (!("CreatedAt" in $$source)) {
- this["CreatedAt"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Tag instance from a string or object.
- */
- static createFrom($$source: any = {}): Tag {
- const $$createField2_0 = $$createType1;
- const $$createField3_0 = $$createType1;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("Color" in $$parsedSource) {
- $$parsedSource["Color"] = $$createField2_0($$parsedSource["Color"]);
- }
- if ("Icon" in $$parsedSource) {
- $$parsedSource["Icon"] = $$createField3_0($$parsedSource["Icon"]);
- }
- return new Tag($$parsedSource as Partial);
- }
-}
-
-export class Trash {
- "ID": number;
- "NoteID": number;
- "NotebookID": number;
- "Content": string;
- "Title": string;
- "CreatedAt": string;
- "ModifiedAt": string;
- "Tags": sql$0.NullString;
- "PublishedAt": sql$0.NullString;
- "EventID": sql$0.NullString;
- "Notetype": string;
- "Filetype": string;
-
- /** Creates a new Trash instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("NoteID" in $$source)) {
- this["NoteID"] = 0;
- }
- if (!("NotebookID" in $$source)) {
- this["NotebookID"] = 0;
- }
- if (!("Content" in $$source)) {
- this["Content"] = "";
- }
- if (!("Title" in $$source)) {
- this["Title"] = "";
- }
- if (!("CreatedAt" in $$source)) {
- this["CreatedAt"] = "";
- }
- if (!("ModifiedAt" in $$source)) {
- this["ModifiedAt"] = "";
- }
- if (!("Tags" in $$source)) {
- this["Tags"] = (new sql$0.NullString());
- }
- if (!("PublishedAt" in $$source)) {
- this["PublishedAt"] = (new sql$0.NullString());
- }
- if (!("EventID" in $$source)) {
- this["EventID"] = (new sql$0.NullString());
- }
- if (!("Notetype" in $$source)) {
- this["Notetype"] = "";
- }
- if (!("Filetype" in $$source)) {
- this["Filetype"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Trash instance from a string or object.
- */
- static createFrom($$source: any = {}): Trash {
- const $$createField7_0 = $$createType1;
- const $$createField8_0 = $$createType1;
- const $$createField9_0 = $$createType1;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("Tags" in $$parsedSource) {
- $$parsedSource["Tags"] = $$createField7_0($$parsedSource["Tags"]);
- }
- if ("PublishedAt" in $$parsedSource) {
- $$parsedSource["PublishedAt"] = $$createField8_0($$parsedSource["PublishedAt"]);
- }
- if ("EventID" in $$parsedSource) {
- $$parsedSource["EventID"] = $$createField9_0($$parsedSource["EventID"]);
- }
- return new Trash($$parsedSource as Partial);
- }
-}
-
-// Private type creation functions
-const $$createType0 = sql$0.NullInt64.createFrom;
-const $$createType1 = sql$0.NullString.createFrom;
diff --git a/frontend/bindings/github.com/nodetec/comet/service/index.js b/frontend/bindings/github.com/nodetec/comet/service/index.js
deleted file mode 100644
index a6295320..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/index.js
+++ /dev/null
@@ -1,22 +0,0 @@
-// @ts-check
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-import * as NostrKeyService from "./nostrkeyservice.js";
-import * as NoteService from "./noteservice.js";
-import * as NoteTagService from "./notetagservice.js";
-import * as NotebookService from "./notebookservice.js";
-import * as RelayService from "./relayservice.js";
-import * as SettingService from "./settingservice.js";
-import * as TagService from "./tagservice.js";
-export {
- NostrKeyService,
- NoteService,
- NoteTagService,
- NotebookService,
- RelayService,
- SettingService,
- TagService
-};
-
-export * from "./models.js";
diff --git a/frontend/bindings/github.com/nodetec/comet/service/index.ts b/frontend/bindings/github.com/nodetec/comet/service/index.ts
deleted file mode 100644
index 0b82bfa5..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/index.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-import * as NostrKeyService from "./nostrkeyservice.js";
-import * as NoteService from "./noteservice.js";
-import * as NoteTagService from "./notetagservice.js";
-import * as NotebookService from "./notebookservice.js";
-import * as RelayService from "./relayservice.js";
-import * as SettingService from "./settingservice.js";
-import * as TagService from "./tagservice.js";
-export {
- NostrKeyService,
- NoteService,
- NoteTagService,
- NotebookService,
- RelayService,
- SettingService,
- TagService
-};
-
-export * from "./models.js";
diff --git a/frontend/bindings/github.com/nodetec/comet/service/models.js b/frontend/bindings/github.com/nodetec/comet/service/models.js
deleted file mode 100644
index 7de58111..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/models.js
+++ /dev/null
@@ -1,292 +0,0 @@
-// @ts-check
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as sql$0 from "../../../../database/sql/models.js";
-
-export class NostrKey {
- /**
- * Creates a new NostrKey instance.
- * @param {Partial} [$$source = {}] - The source object to create the NostrKey.
- */
- constructor($$source = {}) {
- if (!("ID" in $$source)) {
- /**
- * @member
- * @type {number}
- */
- this["ID"] = 0;
- }
- if (!("Nsec" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Nsec"] = "";
- }
- if (!("Npub" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Npub"] = "";
- }
- if (!("Active" in $$source)) {
- /**
- * @member
- * @type {boolean}
- */
- this["Active"] = false;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new NostrKey instance from a string or object.
- * @param {any} [$$source = {}]
- * @returns {NostrKey}
- */
- static createFrom($$source = {}) {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new NostrKey(/** @type {Partial} */($$parsedSource));
- }
-}
-
-export class Relay {
- /**
- * Creates a new Relay instance.
- * @param {Partial} [$$source = {}] - The source object to create the Relay.
- */
- constructor($$source = {}) {
- if (!("ID" in $$source)) {
- /**
- * @member
- * @type {number}
- */
- this["ID"] = 0;
- }
- if (!("Url" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Url"] = "";
- }
- if (!("Read" in $$source)) {
- /**
- * @member
- * @type {boolean}
- */
- this["Read"] = false;
- }
- if (!("Write" in $$source)) {
- /**
- * @member
- * @type {boolean}
- */
- this["Write"] = false;
- }
- if (!("Sync" in $$source)) {
- /**
- * @member
- * @type {boolean}
- */
- this["Sync"] = false;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Relay instance from a string or object.
- * @param {any} [$$source = {}]
- * @returns {Relay}
- */
- static createFrom($$source = {}) {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new Relay(/** @type {Partial} */($$parsedSource));
- }
-}
-
-export class Settings {
- /**
- * Creates a new Settings instance.
- * @param {Partial} [$$source = {}] - The source object to create the Settings.
- */
- constructor($$source = {}) {
- if (!("Theme" in $$source)) {
- /**
- * theme
- * @member
- * @type {string}
- */
- this["Theme"] = "";
- }
- if (!("Vim" in $$source)) {
- /**
- * editor
- * @member
- * @type {string}
- */
- this["Vim"] = "";
- }
- if (!("LineNumbers" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["LineNumbers"] = "";
- }
- if (!("HighlightActiveLine" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["HighlightActiveLine"] = "";
- }
- if (!("LineWrapping" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["LineWrapping"] = "";
- }
- if (!("IndentSpaces" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["IndentSpaces"] = "";
- }
- if (!("FontSize" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["FontSize"] = "";
- }
- if (!("FontFamily" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["FontFamily"] = "";
- }
- if (!("LineHeight" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["LineHeight"] = "";
- }
- if (!("Npub" in $$source)) {
- /**
- * profile
- * @member
- * @type {string}
- */
- this["Npub"] = "";
- }
- if (!("Nsec" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Nsec"] = "";
- }
- if (!("Relays" in $$source)) {
- /**
- * relays
- * @member
- * @type {string}
- */
- this["Relays"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Settings instance from a string or object.
- * @param {any} [$$source = {}]
- * @returns {Settings}
- */
- static createFrom($$source = {}) {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new Settings(/** @type {Partial} */($$parsedSource));
- }
-}
-
-export class Tag {
- /**
- * Creates a new Tag instance.
- * @param {Partial} [$$source = {}] - The source object to create the Tag.
- */
- constructor($$source = {}) {
- if (!("ID" in $$source)) {
- /**
- * @member
- * @type {number}
- */
- this["ID"] = 0;
- }
- if (!("Name" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["Name"] = "";
- }
- if (!("Color" in $$source)) {
- /**
- * @member
- * @type {sql$0.NullString}
- */
- this["Color"] = (new sql$0.NullString());
- }
- if (!("Icon" in $$source)) {
- /**
- * @member
- * @type {sql$0.NullString}
- */
- this["Icon"] = (new sql$0.NullString());
- }
- if (!("CreatedAt" in $$source)) {
- /**
- * @member
- * @type {string}
- */
- this["CreatedAt"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Tag instance from a string or object.
- * @param {any} [$$source = {}]
- * @returns {Tag}
- */
- static createFrom($$source = {}) {
- const $$createField2_0 = $$createType0;
- const $$createField3_0 = $$createType0;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("Color" in $$parsedSource) {
- $$parsedSource["Color"] = $$createField2_0($$parsedSource["Color"]);
- }
- if ("Icon" in $$parsedSource) {
- $$parsedSource["Icon"] = $$createField3_0($$parsedSource["Icon"]);
- }
- return new Tag(/** @type {Partial} */($$parsedSource));
- }
-}
-
-// Private type creation functions
-const $$createType0 = sql$0.NullString.createFrom;
diff --git a/frontend/bindings/github.com/nodetec/comet/service/models.ts b/frontend/bindings/github.com/nodetec/comet/service/models.ts
deleted file mode 100644
index c2ebc7d5..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/models.ts
+++ /dev/null
@@ -1,208 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as sql$0 from "../../../../database/sql/models.js";
-
-export class NostrKey {
- "ID": number;
- "Nsec": string;
- "Npub": string;
- "Active": boolean;
-
- /** Creates a new NostrKey instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("Nsec" in $$source)) {
- this["Nsec"] = "";
- }
- if (!("Npub" in $$source)) {
- this["Npub"] = "";
- }
- if (!("Active" in $$source)) {
- this["Active"] = false;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new NostrKey instance from a string or object.
- */
- static createFrom($$source: any = {}): NostrKey {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new NostrKey($$parsedSource as Partial);
- }
-}
-
-export class Relay {
- "ID": number;
- "Url": string;
- "Read": boolean;
- "Write": boolean;
- "Sync": boolean;
-
- /** Creates a new Relay instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("Url" in $$source)) {
- this["Url"] = "";
- }
- if (!("Read" in $$source)) {
- this["Read"] = false;
- }
- if (!("Write" in $$source)) {
- this["Write"] = false;
- }
- if (!("Sync" in $$source)) {
- this["Sync"] = false;
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Relay instance from a string or object.
- */
- static createFrom($$source: any = {}): Relay {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new Relay($$parsedSource as Partial);
- }
-}
-
-export class Settings {
- /**
- * theme
- */
- "Theme": string;
-
- /**
- * editor
- */
- "Vim": string;
- "LineNumbers": string;
- "HighlightActiveLine": string;
- "LineWrapping": string;
- "IndentSpaces": string;
- "FontSize": string;
- "FontFamily": string;
- "LineHeight": string;
-
- /**
- * profile
- */
- "Npub": string;
- "Nsec": string;
-
- /**
- * relays
- */
- "Relays": string;
-
- /** Creates a new Settings instance. */
- constructor($$source: Partial = {}) {
- if (!("Theme" in $$source)) {
- this["Theme"] = "";
- }
- if (!("Vim" in $$source)) {
- this["Vim"] = "";
- }
- if (!("LineNumbers" in $$source)) {
- this["LineNumbers"] = "";
- }
- if (!("HighlightActiveLine" in $$source)) {
- this["HighlightActiveLine"] = "";
- }
- if (!("LineWrapping" in $$source)) {
- this["LineWrapping"] = "";
- }
- if (!("IndentSpaces" in $$source)) {
- this["IndentSpaces"] = "";
- }
- if (!("FontSize" in $$source)) {
- this["FontSize"] = "";
- }
- if (!("FontFamily" in $$source)) {
- this["FontFamily"] = "";
- }
- if (!("LineHeight" in $$source)) {
- this["LineHeight"] = "";
- }
- if (!("Npub" in $$source)) {
- this["Npub"] = "";
- }
- if (!("Nsec" in $$source)) {
- this["Nsec"] = "";
- }
- if (!("Relays" in $$source)) {
- this["Relays"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Settings instance from a string or object.
- */
- static createFrom($$source: any = {}): Settings {
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- return new Settings($$parsedSource as Partial);
- }
-}
-
-export class Tag {
- "ID": number;
- "Name": string;
- "Color": sql$0.NullString;
- "Icon": sql$0.NullString;
- "CreatedAt": string;
-
- /** Creates a new Tag instance. */
- constructor($$source: Partial = {}) {
- if (!("ID" in $$source)) {
- this["ID"] = 0;
- }
- if (!("Name" in $$source)) {
- this["Name"] = "";
- }
- if (!("Color" in $$source)) {
- this["Color"] = (new sql$0.NullString());
- }
- if (!("Icon" in $$source)) {
- this["Icon"] = (new sql$0.NullString());
- }
- if (!("CreatedAt" in $$source)) {
- this["CreatedAt"] = "";
- }
-
- Object.assign(this, $$source);
- }
-
- /**
- * Creates a new Tag instance from a string or object.
- */
- static createFrom($$source: any = {}): Tag {
- const $$createField2_0 = $$createType0;
- const $$createField3_0 = $$createType0;
- let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
- if ("Color" in $$parsedSource) {
- $$parsedSource["Color"] = $$createField2_0($$parsedSource["Color"]);
- }
- if ("Icon" in $$parsedSource) {
- $$parsedSource["Icon"] = $$createField3_0($$parsedSource["Icon"]);
- }
- return new Tag($$parsedSource as Partial);
- }
-}
-
-// Private type creation functions
-const $$createType0 = sql$0.NullString.createFrom;
diff --git a/frontend/bindings/github.com/nodetec/comet/service/nostrkeyservice.js b/frontend/bindings/github.com/nodetec/comet/service/nostrkeyservice.js
deleted file mode 100644
index 85623c14..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/nostrkeyservice.js
+++ /dev/null
@@ -1,76 +0,0 @@
-// @ts-check
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as $models from "./models.js";
-
-/**
- * @param {string} nsec
- * @param {string} npub
- * @param {boolean} active
- * @returns {Promise<$models.NostrKey> & { cancel(): void }}
- */
-export function CreateNostrKey(nsec, npub, active) {
- let $resultPromise = /** @type {any} */($Call.ByID(450605574, nsec, npub, active));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType0($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {number} id
- * @returns {Promise & { cancel(): void }}
- */
-export function DeleteNostrKey(id) {
- let $resultPromise = /** @type {any} */($Call.ByID(907990853, id));
- return $resultPromise;
-}
-
-/**
- * @param {number} id
- * @returns {Promise<$models.NostrKey> & { cancel(): void }}
- */
-export function GetNostrKey(id) {
- let $resultPromise = /** @type {any} */($Call.ByID(3016819188, id));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType0($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @returns {Promise<$models.NostrKey[]> & { cancel(): void }}
- */
-export function ListNostrKeys() {
- let $resultPromise = /** @type {any} */($Call.ByID(2591303287));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType1($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {number} id
- * @param {string} nsec
- * @param {string} npub
- * @param {boolean} active
- * @returns {Promise & { cancel(): void }}
- */
-export function UpdateNostrKey(id, nsec, npub, active) {
- let $resultPromise = /** @type {any} */($Call.ByID(3751870067, id, nsec, npub, active));
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = $models.NostrKey.createFrom;
-const $$createType1 = $Create.Array($$createType0);
diff --git a/frontend/bindings/github.com/nodetec/comet/service/nostrkeyservice.ts b/frontend/bindings/github.com/nodetec/comet/service/nostrkeyservice.ts
deleted file mode 100644
index d1142c67..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/nostrkeyservice.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as $models from "./models.js";
-
-export function CreateNostrKey(nsec: string, npub: string, active: boolean): Promise<$models.NostrKey> & { cancel(): void } {
- let $resultPromise = $Call.ByID(450605574, nsec, npub, active) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function DeleteNostrKey(id: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(907990853, id) as any;
- return $resultPromise;
-}
-
-export function GetNostrKey(id: number): Promise<$models.NostrKey> & { cancel(): void } {
- let $resultPromise = $Call.ByID(3016819188, id) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function ListNostrKeys(): Promise<$models.NostrKey[]> & { cancel(): void } {
- let $resultPromise = $Call.ByID(2591303287) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType1($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function UpdateNostrKey(id: number, nsec: string, npub: string, active: boolean): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(3751870067, id, nsec, npub, active) as any;
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = $models.NostrKey.createFrom;
-const $$createType1 = $Create.Array($$createType0);
diff --git a/frontend/bindings/github.com/nodetec/comet/service/notebookservice.js b/frontend/bindings/github.com/nodetec/comet/service/notebookservice.js
deleted file mode 100644
index e7a6bc0f..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/notebookservice.js
+++ /dev/null
@@ -1,127 +0,0 @@
-// @ts-check
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as db$0 from "../db/models.js";
-
-/**
- * @param {number} notebookID
- * @param {number} tagID
- * @returns {Promise & { cancel(): void }}
- */
-export function AddTagToNotebook(notebookID, tagID) {
- let $resultPromise = /** @type {any} */($Call.ByID(2083083162, notebookID, tagID));
- return $resultPromise;
-}
-
-/**
- * @param {number} notebookID
- * @param {number} tagID
- * @returns {Promise & { cancel(): void }}
- */
-export function CheckTagForNotebook(notebookID, tagID) {
- let $resultPromise = /** @type {any} */($Call.ByID(1901298027, notebookID, tagID));
- return $resultPromise;
-}
-
-/**
- * @param {string} name
- * @returns {Promise & { cancel(): void }}
- */
-export function CreateNotebook(name) {
- let $resultPromise = /** @type {any} */($Call.ByID(4169347514, name));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType0($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {number} id
- * @returns {Promise & { cancel(): void }}
- */
-export function DeleteNotebook(id) {
- let $resultPromise = /** @type {any} */($Call.ByID(588830629, id));
- return $resultPromise;
-}
-
-/**
- * @param {number} id
- * @returns {Promise & { cancel(): void }}
- */
-export function GetNotebook(id) {
- let $resultPromise = /** @type {any} */($Call.ByID(2651103660, id));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType0($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {number} notebookID
- * @returns {Promise & { cancel(): void }}
- */
-export function GetTagsForNotebook(notebookID) {
- let $resultPromise = /** @type {any} */($Call.ByID(1666855918, notebookID));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType2($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @returns {Promise & { cancel(): void }}
- */
-export function ListNotebooks() {
- let $resultPromise = /** @type {any} */($Call.ByID(595334731));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType3($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {number} notebookID
- * @returns {Promise & { cancel(): void }}
- */
-export function RemoveAllTagsFromNotebook(notebookID) {
- let $resultPromise = /** @type {any} */($Call.ByID(2397072902, notebookID));
- return $resultPromise;
-}
-
-/**
- * @param {number} notebookID
- * @param {number} tagID
- * @returns {Promise & { cancel(): void }}
- */
-export function RemoveTagFromNotebook(notebookID, tagID) {
- let $resultPromise = /** @type {any} */($Call.ByID(2184813900, notebookID, tagID));
- return $resultPromise;
-}
-
-/**
- * @param {number} id
- * @param {string} name
- * @param {string} createdAt
- * @returns {Promise & { cancel(): void }}
- */
-export function UpdateNotebook(id, name, createdAt) {
- let $resultPromise = /** @type {any} */($Call.ByID(1306217847, id, name, createdAt));
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = db$0.Notebook.createFrom;
-const $$createType1 = db$0.Tag.createFrom;
-const $$createType2 = $Create.Array($$createType1);
-const $$createType3 = $Create.Array($$createType0);
diff --git a/frontend/bindings/github.com/nodetec/comet/service/notebookservice.ts b/frontend/bindings/github.com/nodetec/comet/service/notebookservice.ts
deleted file mode 100644
index c184b348..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/notebookservice.ts
+++ /dev/null
@@ -1,82 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as db$0 from "../db/models.js";
-
-export function AddTagToNotebook(notebookID: number, tagID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(2083083162, notebookID, tagID) as any;
- return $resultPromise;
-}
-
-export function CheckTagForNotebook(notebookID: number, tagID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1901298027, notebookID, tagID) as any;
- return $resultPromise;
-}
-
-export function CreateNotebook(name: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(4169347514, name) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function DeleteNotebook(id: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(588830629, id) as any;
- return $resultPromise;
-}
-
-export function GetNotebook(id: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(2651103660, id) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function GetTagsForNotebook(notebookID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1666855918, notebookID) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType2($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function ListNotebooks(): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(595334731) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType3($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function RemoveAllTagsFromNotebook(notebookID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(2397072902, notebookID) as any;
- return $resultPromise;
-}
-
-export function RemoveTagFromNotebook(notebookID: number, tagID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(2184813900, notebookID, tagID) as any;
- return $resultPromise;
-}
-
-export function UpdateNotebook(id: number, name: string, createdAt: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1306217847, id, name, createdAt) as any;
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = db$0.Notebook.createFrom;
-const $$createType1 = db$0.Tag.createFrom;
-const $$createType2 = $Create.Array($$createType1);
-const $$createType3 = $Create.Array($$createType0);
diff --git a/frontend/bindings/github.com/nodetec/comet/service/noteservice.js b/frontend/bindings/github.com/nodetec/comet/service/noteservice.js
deleted file mode 100644
index 13b3496e..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/noteservice.js
+++ /dev/null
@@ -1,208 +0,0 @@
-// @ts-check
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as sql$0 from "../../../../database/sql/models.js";
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as db$0 from "../db/models.js";
-
-/**
- * @param {db$0.Note} note
- * @param {db$0.Tag[]} tags
- * @returns {Promise & { cancel(): void }}
- */
-export function AddNoteToTrash(note, tags) {
- let $resultPromise = /** @type {any} */($Call.ByID(36748134, note, tags));
- return $resultPromise;
-}
-
-/**
- * @param {string} title
- * @param {string} content
- * @param {number} notebookID
- * @param {sql$0.NullInt64} statusID
- * @param {sql$0.NullString} publishedAt
- * @param {sql$0.NullString} eventId
- * @param {string} notetype
- * @param {string} filetype
- * @returns {Promise & { cancel(): void }}
- */
-export function CreateNote(title, content, notebookID, statusID, publishedAt, eventId, notetype, filetype) {
- let $resultPromise = /** @type {any} */($Call.ByID(3651584158, title, content, notebookID, statusID, publishedAt, eventId, notetype, filetype));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType0($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {number} id
- * @returns {Promise & { cancel(): void }}
- */
-export function DeleteNote(id) {
- let $resultPromise = /** @type {any} */($Call.ByID(1854972521, id));
- return $resultPromise;
-}
-
-/**
- * @param {number} id
- * @returns {Promise & { cancel(): void }}
- */
-export function DeleteNoteFromTrash(id) {
- let $resultPromise = /** @type {any} */($Call.ByID(1832826689, id));
- return $resultPromise;
-}
-
-/**
- * @param {number} id
- * @returns {Promise & { cancel(): void }}
- */
-export function GetNote(id) {
- let $resultPromise = /** @type {any} */($Call.ByID(1230348126, id));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType0($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {number} id
- * @returns {Promise & { cancel(): void }}
- */
-export function GetNoteFromTrash(id) {
- let $resultPromise = /** @type {any} */($Call.ByID(1889602112, id));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType1($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {number} notebookId
- * @param {number} tagId
- * @param {number} limit
- * @param {number} pageParam
- * @param {string} orderBy
- * @param {string} sortDirection
- * @returns {Promise & { cancel(): void }}
- */
-export function ListNotes(notebookId, tagId, limit, pageParam, orderBy, sortDirection) {
- let $resultPromise = /** @type {any} */($Call.ByID(1572240871, notebookId, tagId, limit, pageParam, orderBy, sortDirection));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType2($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {number} limit
- * @param {number} pageParam
- * @param {string} orderBy
- * @param {string} sortDirection
- * @returns {Promise & { cancel(): void }}
- */
-export function ListNotesFromTrash(limit, pageParam, orderBy, sortDirection) {
- let $resultPromise = /** @type {any} */($Call.ByID(3661159223, limit, pageParam, orderBy, sortDirection));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType4($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {number} noteId
- * @param {string} title
- * @param {string} content
- * @param {number} notebookID
- * @param {sql$0.NullInt64} statusID
- * @param {string} createdAt
- * @param {string} modifiedAt
- * @param {sql$0.NullString} publishedAt
- * @param {sql$0.NullString} eventId
- * @param {string} notetype
- * @param {string} filetype
- * @param {number[]} tagIds
- * @returns {Promise & { cancel(): void }}
- */
-export function RestoreNoteFromTrash(noteId, title, content, notebookID, statusID, createdAt, modifiedAt, publishedAt, eventId, notetype, filetype, tagIds) {
- let $resultPromise = /** @type {any} */($Call.ByID(3762311242, noteId, title, content, notebookID, statusID, createdAt, modifiedAt, publishedAt, eventId, notetype, filetype, tagIds));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType5($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {string} searchTerm
- * @param {number} notebookID
- * @param {number} tagID
- * @param {number} limit
- * @param {number} pageParam
- * @param {string} orderBy
- * @param {string} sortDirection
- * @returns {Promise & { cancel(): void }}
- */
-export function SearchNotes(searchTerm, notebookID, tagID, limit, pageParam, orderBy, sortDirection) {
- let $resultPromise = /** @type {any} */($Call.ByID(2746264403, searchTerm, notebookID, tagID, limit, pageParam, orderBy, sortDirection));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType2($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {string} searchTerm
- * @param {number} limit
- * @param {number} pageParam
- * @param {string} orderBy
- * @param {string} sortDirection
- * @returns {Promise & { cancel(): void }}
- */
-export function SearchTrash(searchTerm, limit, pageParam, orderBy, sortDirection) {
- let $resultPromise = /** @type {any} */($Call.ByID(3538009948, searchTerm, limit, pageParam, orderBy, sortDirection));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType4($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {number} id
- * @param {string} title
- * @param {string} content
- * @param {number} notebookID
- * @param {sql$0.NullInt64} statusID
- * @param {boolean} published
- * @param {sql$0.NullString} eventId
- * @param {boolean} pinned
- * @param {string} notetype
- * @param {string} filetype
- * @returns {Promise & { cancel(): void }}
- */
-export function UpdateNote(id, title, content, notebookID, statusID, published, eventId, pinned, notetype, filetype) {
- let $resultPromise = /** @type {any} */($Call.ByID(518540175, id, title, content, notebookID, statusID, published, eventId, pinned, notetype, filetype));
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = db$0.Note.createFrom;
-const $$createType1 = db$0.GetNoteFromTrashRow.createFrom;
-const $$createType2 = $Create.Array($$createType0);
-const $$createType3 = db$0.Trash.createFrom;
-const $$createType4 = $Create.Array($$createType3);
-const $$createType5 = db$0.CreateNoteFromTrashRow.createFrom;
diff --git a/frontend/bindings/github.com/nodetec/comet/service/noteservice.ts b/frontend/bindings/github.com/nodetec/comet/service/noteservice.ts
deleted file mode 100644
index 663216a5..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/noteservice.ts
+++ /dev/null
@@ -1,113 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as sql$0 from "../../../../database/sql/models.js";
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as db$0 from "../db/models.js";
-
-export function AddNoteToTrash(note: db$0.Note, tags: db$0.Tag[]): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(36748134, note, tags) as any;
- return $resultPromise;
-}
-
-export function CreateNote(title: string, content: string, notebookID: number, statusID: sql$0.NullInt64, publishedAt: sql$0.NullString, eventId: sql$0.NullString, notetype: string, filetype: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(3651584158, title, content, notebookID, statusID, publishedAt, eventId, notetype, filetype) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function DeleteNote(id: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1854972521, id) as any;
- return $resultPromise;
-}
-
-export function DeleteNoteFromTrash(id: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1832826689, id) as any;
- return $resultPromise;
-}
-
-export function GetNote(id: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1230348126, id) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function GetNoteFromTrash(id: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1889602112, id) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType1($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function ListNotes(notebookId: number, tagId: number, limit: number, pageParam: number, orderBy: string, sortDirection: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1572240871, notebookId, tagId, limit, pageParam, orderBy, sortDirection) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType2($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function ListNotesFromTrash(limit: number, pageParam: number, orderBy: string, sortDirection: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(3661159223, limit, pageParam, orderBy, sortDirection) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType4($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function RestoreNoteFromTrash(noteId: number, title: string, content: string, notebookID: number, statusID: sql$0.NullInt64, createdAt: string, modifiedAt: string, publishedAt: sql$0.NullString, eventId: sql$0.NullString, notetype: string, filetype: string, tagIds: number[]): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(3762311242, noteId, title, content, notebookID, statusID, createdAt, modifiedAt, publishedAt, eventId, notetype, filetype, tagIds) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType5($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function SearchNotes(searchTerm: string, notebookID: number, tagID: number, limit: number, pageParam: number, orderBy: string, sortDirection: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(2746264403, searchTerm, notebookID, tagID, limit, pageParam, orderBy, sortDirection) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType2($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function SearchTrash(searchTerm: string, limit: number, pageParam: number, orderBy: string, sortDirection: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(3538009948, searchTerm, limit, pageParam, orderBy, sortDirection) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType4($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function UpdateNote(id: number, title: string, content: string, notebookID: number, statusID: sql$0.NullInt64, published: boolean, eventId: sql$0.NullString, pinned: boolean, notetype: string, filetype: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(518540175, id, title, content, notebookID, statusID, published, eventId, pinned, notetype, filetype) as any;
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = db$0.Note.createFrom;
-const $$createType1 = db$0.GetNoteFromTrashRow.createFrom;
-const $$createType2 = $Create.Array($$createType0);
-const $$createType3 = db$0.Trash.createFrom;
-const $$createType4 = $Create.Array($$createType3);
-const $$createType5 = db$0.CreateNoteFromTrashRow.createFrom;
diff --git a/frontend/bindings/github.com/nodetec/comet/service/notetagservice.js b/frontend/bindings/github.com/nodetec/comet/service/notetagservice.js
deleted file mode 100644
index 5acea8ce..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/notetagservice.js
+++ /dev/null
@@ -1,58 +0,0 @@
-// @ts-check
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as db$0 from "../db/models.js";
-
-/**
- * @param {number} noteID
- * @param {number} tagID
- * @returns {Promise & { cancel(): void }}
- */
-export function AddTagToNote(noteID, tagID) {
- let $resultPromise = /** @type {any} */($Call.ByID(2643393932, noteID, tagID));
- return $resultPromise;
-}
-
-/**
- * @param {number} noteID
- * @param {number} tagID
- * @returns {Promise & { cancel(): void }}
- */
-export function CheckTagForNote(noteID, tagID) {
- let $resultPromise = /** @type {any} */($Call.ByID(1794760311, noteID, tagID));
- return $resultPromise;
-}
-
-/**
- * @param {number} noteID
- * @returns {Promise & { cancel(): void }}
- */
-export function GetTagsForNote(noteID) {
- let $resultPromise = /** @type {any} */($Call.ByID(2728210140, noteID));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType1($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {number} noteID
- * @param {number} tagID
- * @returns {Promise & { cancel(): void }}
- */
-export function RemoveTagFromNote(noteID, tagID) {
- let $resultPromise = /** @type {any} */($Call.ByID(3246519988, noteID, tagID));
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = db$0.Tag.createFrom;
-const $$createType1 = $Create.Array($$createType0);
diff --git a/frontend/bindings/github.com/nodetec/comet/service/notetagservice.ts b/frontend/bindings/github.com/nodetec/comet/service/notetagservice.ts
deleted file mode 100644
index 26abc760..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/notetagservice.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as db$0 from "../db/models.js";
-
-export function AddTagToNote(noteID: number, tagID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(2643393932, noteID, tagID) as any;
- return $resultPromise;
-}
-
-export function CheckTagForNote(noteID: number, tagID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1794760311, noteID, tagID) as any;
- return $resultPromise;
-}
-
-export function GetTagsForNote(noteID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(2728210140, noteID) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType1($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function RemoveTagFromNote(noteID: number, tagID: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(3246519988, noteID, tagID) as any;
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = db$0.Tag.createFrom;
-const $$createType1 = $Create.Array($$createType0);
diff --git a/frontend/bindings/github.com/nodetec/comet/service/relayservice.js b/frontend/bindings/github.com/nodetec/comet/service/relayservice.js
deleted file mode 100644
index dcd576fb..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/relayservice.js
+++ /dev/null
@@ -1,77 +0,0 @@
-// @ts-check
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as $models from "./models.js";
-
-/**
- * @param {string} url
- * @param {boolean} read
- * @param {boolean} write
- * @param {boolean} sync
- * @returns {Promise<$models.Relay> & { cancel(): void }}
- */
-export function CreateRelay(url, read, write, sync) {
- let $resultPromise = /** @type {any} */($Call.ByID(2564037930, url, read, write, sync));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType0($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @returns {Promise & { cancel(): void }}
- */
-export function DeleteRelays() {
- let $resultPromise = /** @type {any} */($Call.ByID(4014153816));
- return $resultPromise;
-}
-
-/**
- * @param {number} id
- * @returns {Promise<$models.Relay> & { cancel(): void }}
- */
-export function GetRelay(id) {
- let $resultPromise = /** @type {any} */($Call.ByID(2570438932, id));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType0($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @returns {Promise<$models.Relay[]> & { cancel(): void }}
- */
-export function ListRelays() {
- let $resultPromise = /** @type {any} */($Call.ByID(377038031));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType1($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {number} id
- * @param {string} url
- * @param {boolean} read
- * @param {boolean} write
- * @param {boolean} sync
- * @returns {Promise & { cancel(): void }}
- */
-export function UpdateRelay(id, url, read, write, sync) {
- let $resultPromise = /** @type {any} */($Call.ByID(1832504309, id, url, read, write, sync));
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = $models.Relay.createFrom;
-const $$createType1 = $Create.Array($$createType0);
diff --git a/frontend/bindings/github.com/nodetec/comet/service/relayservice.ts b/frontend/bindings/github.com/nodetec/comet/service/relayservice.ts
deleted file mode 100644
index 4589369f..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/relayservice.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as $models from "./models.js";
-
-export function CreateRelay(url: string, read: boolean, write: boolean, sync: boolean): Promise<$models.Relay> & { cancel(): void } {
- let $resultPromise = $Call.ByID(2564037930, url, read, write, sync) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function DeleteRelays(): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(4014153816) as any;
- return $resultPromise;
-}
-
-export function GetRelay(id: number): Promise<$models.Relay> & { cancel(): void } {
- let $resultPromise = $Call.ByID(2570438932, id) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function ListRelays(): Promise<$models.Relay[]> & { cancel(): void } {
- let $resultPromise = $Call.ByID(377038031) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType1($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function UpdateRelay(id: number, url: string, read: boolean, write: boolean, sync: boolean): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1832504309, id, url, read, write, sync) as any;
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = $models.Relay.createFrom;
-const $$createType1 = $Create.Array($$createType0);
diff --git a/frontend/bindings/github.com/nodetec/comet/service/settingservice.js b/frontend/bindings/github.com/nodetec/comet/service/settingservice.js
deleted file mode 100644
index 1eb447e2..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/settingservice.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// @ts-check
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as $models from "./models.js";
-
-/**
- * @returns {Promise<$models.Settings> & { cancel(): void }}
- */
-export function GetAllSettings() {
- let $resultPromise = /** @type {any} */($Call.ByID(1346639610));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType0($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {string} key
- * @returns {Promise & { cancel(): void }}
- */
-export function GetSetting(key) {
- let $resultPromise = /** @type {any} */($Call.ByID(1317242856, key));
- return $resultPromise;
-}
-
-/**
- * @param {string} key
- * @param {string} value
- * @returns {Promise & { cancel(): void }}
- */
-export function UpdateSetting(key, value) {
- let $resultPromise = /** @type {any} */($Call.ByID(2612065271, key, value));
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = $models.Settings.createFrom;
diff --git a/frontend/bindings/github.com/nodetec/comet/service/settingservice.ts b/frontend/bindings/github.com/nodetec/comet/service/settingservice.ts
deleted file mode 100644
index 4572aa48..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/settingservice.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as $models from "./models.js";
-
-export function GetAllSettings(): Promise<$models.Settings> & { cancel(): void } {
- let $resultPromise = $Call.ByID(1346639610) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function GetSetting(key: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1317242856, key) as any;
- return $resultPromise;
-}
-
-export function UpdateSetting(key: string, value: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(2612065271, key, value) as any;
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = $models.Settings.createFrom;
diff --git a/frontend/bindings/github.com/nodetec/comet/service/tagservice.js b/frontend/bindings/github.com/nodetec/comet/service/tagservice.js
deleted file mode 100644
index 56c0a2e6..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/tagservice.js
+++ /dev/null
@@ -1,108 +0,0 @@
-// @ts-check
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as sql$0 from "../../../../database/sql/models.js";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as $models from "./models.js";
-
-/**
- * @param {string} name
- * @param {sql$0.NullString} color
- * @param {sql$0.NullString} icon
- * @param {string} createdAt
- * @returns {Promise<$models.Tag> & { cancel(): void }}
- */
-export function CreateTag(name, color, icon, createdAt) {
- let $resultPromise = /** @type {any} */($Call.ByID(4191103332, name, color, icon, createdAt));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType0($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {number} id
- * @returns {Promise & { cancel(): void }}
- */
-export function DeleteTag(id) {
- let $resultPromise = /** @type {any} */($Call.ByID(1411090129, id));
- return $resultPromise;
-}
-
-/**
- * @param {number} id
- * @returns {Promise<$models.Tag> & { cancel(): void }}
- */
-export function GetTag(id) {
- let $resultPromise = /** @type {any} */($Call.ByID(2029176156, id));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType0($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {string} name
- * @returns {Promise<$models.Tag> & { cancel(): void }}
- */
-export function GetTagByName(name) {
- let $resultPromise = /** @type {any} */($Call.ByID(1160743666, name));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType0($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {string[]} names
- * @returns {Promise<$models.Tag[]> & { cancel(): void }}
- */
-export function GetTagsByNames(names) {
- let $resultPromise = /** @type {any} */($Call.ByID(1226187244, names));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType1($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @returns {Promise<$models.Tag[]> & { cancel(): void }}
- */
-export function ListTags() {
- let $resultPromise = /** @type {any} */($Call.ByID(342385689));
- let $typingPromise = /** @type {any} */($resultPromise.then(($result) => {
- return $$createType1($result);
- }));
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-/**
- * @param {number} id
- * @param {string} name
- * @param {sql$0.NullString} color
- * @param {sql$0.NullString} icon
- * @param {string} createdAt
- * @returns {Promise & { cancel(): void }}
- */
-export function UpdateTag(id, name, color, icon, createdAt) {
- let $resultPromise = /** @type {any} */($Call.ByID(3312250639, id, name, color, icon, createdAt));
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = $models.Tag.createFrom;
-const $$createType1 = $Create.Array($$createType0);
diff --git a/frontend/bindings/github.com/nodetec/comet/service/tagservice.ts b/frontend/bindings/github.com/nodetec/comet/service/tagservice.ts
deleted file mode 100644
index b4c7f4de..00000000
--- a/frontend/bindings/github.com/nodetec/comet/service/tagservice.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
-// This file is automatically generated. DO NOT EDIT
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import {Call as $Call, Create as $Create} from "@wailsio/runtime";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as sql$0 from "../../../../database/sql/models.js";
-
-// eslint-disable-next-line @typescript-eslint/ban-ts-comment
-// @ts-ignore: Unused imports
-import * as $models from "./models.js";
-
-export function CreateTag(name: string, color: sql$0.NullString, icon: sql$0.NullString, createdAt: string): Promise<$models.Tag> & { cancel(): void } {
- let $resultPromise = $Call.ByID(4191103332, name, color, icon, createdAt) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function DeleteTag(id: number): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(1411090129, id) as any;
- return $resultPromise;
-}
-
-export function GetTag(id: number): Promise<$models.Tag> & { cancel(): void } {
- let $resultPromise = $Call.ByID(2029176156, id) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function GetTagByName(name: string): Promise<$models.Tag> & { cancel(): void } {
- let $resultPromise = $Call.ByID(1160743666, name) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType0($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function GetTagsByNames(names: string[]): Promise<$models.Tag[]> & { cancel(): void } {
- let $resultPromise = $Call.ByID(1226187244, names) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType1($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function ListTags(): Promise<$models.Tag[]> & { cancel(): void } {
- let $resultPromise = $Call.ByID(342385689) as any;
- let $typingPromise = $resultPromise.then(($result) => {
- return $$createType1($result);
- }) as any;
- $typingPromise.cancel = $resultPromise.cancel.bind($resultPromise);
- return $typingPromise;
-}
-
-export function UpdateTag(id: number, name: string, color: sql$0.NullString, icon: sql$0.NullString, createdAt: string): Promise & { cancel(): void } {
- let $resultPromise = $Call.ByID(3312250639, id, name, color, icon, createdAt) as any;
- return $resultPromise;
-}
-
-// Private type creation functions
-const $$createType0 = $models.Tag.createFrom;
-const $$createType1 = $Create.Array($$createType0);
diff --git a/frontend/components.json b/frontend/components.json
index 2844d716..02271c82 100644
--- a/frontend/components.json
+++ b/frontend/components.json
@@ -5,13 +5,17 @@
"tsx": true,
"tailwind": {
"config": "tailwind.config.js",
- "css": "src/styles/globals.css",
+ "css": "src/index.css",
"baseColor": "neutral",
"cssVariables": true,
"prefix": ""
},
"aliases": {
"components": "~/components",
- "utils": "~/lib/utils"
- }
-}
+ "utils": "~/lib/utils",
+ "ui": "~/components/ui",
+ "lib": "~/lib",
+ "hooks": "~/hooks"
+ },
+ "iconLibrary": "lucide"
+}
\ No newline at end of file
diff --git a/frontend/index.html b/frontend/index.html
index f8158db4..3cfb5f44 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -1,16 +1,13 @@
-
-
-
-
-
-
-
- Wails + React + TS
-
-
-
-
-
-
-
+
+
+
+
+
+
+ Wails + React + TS
+
+
+
+
+
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 1619761b..bb935c3b 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -8,84 +8,85 @@
"name": "react-ts-latest",
"version": "0.0.0",
"dependencies": {
- "@codemirror/commands": "^6.6.0",
- "@codemirror/lang-markdown": "^6.3.0",
- "@codemirror/language-data": "^6.5.1",
- "@codemirror/lint": "^6.8.1",
- "@codemirror/state": "^6.4.1",
- "@codemirror/view": "^6.28.2",
- "@hookform/resolvers": "^3.6.0",
- "@markdoc/markdoc": "^0.4.0",
- "@radix-ui/react-accordion": "^1.2.0",
- "@radix-ui/react-dialog": "^1.1.1",
- "@radix-ui/react-dropdown-menu": "^2.1.1",
- "@radix-ui/react-icons": "^1.3.0",
- "@radix-ui/react-label": "^2.1.0",
- "@radix-ui/react-popover": "^1.1.1",
- "@radix-ui/react-scroll-area": "^1.1.0",
- "@radix-ui/react-select": "^2.1.1",
- "@radix-ui/react-separator": "^1.1.0",
- "@radix-ui/react-slot": "^1.1.0",
- "@radix-ui/react-switch": "^1.1.0",
- "@radix-ui/react-tabs": "^1.1.0",
- "@replit/codemirror-vim": "^6.2.1",
- "@tanstack/react-query": "^5.56.2",
- "@tanstack/react-query-devtools": "^5.58.0",
- "class-variance-authority": "^0.7.0",
+ "@hookform/resolvers": "^3.9.1",
+ "@lexical/list": "^0.22.0",
+ "@lexical/markdown": "^0.22.0",
+ "@lexical/react": "^0.22.0",
+ "@lexical/rich-text": "^0.22.0",
+ "@radix-ui/react-accordion": "^1.2.2",
+ "@radix-ui/react-avatar": "^1.1.2",
+ "@radix-ui/react-checkbox": "^1.1.3",
+ "@radix-ui/react-dialog": "^1.1.4",
+ "@radix-ui/react-dropdown-menu": "^2.1.4",
+ "@radix-ui/react-label": "^2.1.1",
+ "@radix-ui/react-popover": "^1.1.4",
+ "@radix-ui/react-scroll-area": "^1.2.2",
+ "@radix-ui/react-separator": "^1.1.1",
+ "@radix-ui/react-slot": "^1.1.1",
+ "@radix-ui/react-tooltip": "^1.1.6",
+ "@tanstack/react-query": "^5.62.10",
+ "@tanstack/react-query-devtools": "^5.62.10",
+ "@uidotdev/usehooks": "^2.4.1",
+ "class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
- "cmdk": "^1.0.0",
- "codemirror": "^6.0.1",
+ "cmdk": "^1.0.4",
"dayjs": "^1.11.13",
- "embla-carousel-react": "^8.3.0",
- "lucide-react": "^0.446.0",
- "next-themes": "^0.3.0",
- "nostr-tools": "^2.7.2",
- "react": "^18.2.0",
+ "lexical": "^0.22.0",
+ "lucide-react": "^0.469.0",
+ "next-themes": "^0.4.4",
+ "nostr-tools": "^2.10.4",
+ "react": "19.0.0",
"react-copy-to-clipboard": "^5.1.0",
- "react-dom": "^18.2.0",
- "react-hook-form": "^7.53.0",
- "react-intersection-observer": "^9.13.1",
- "react-resizable-panels": "^2.1.4",
+ "react-dom": "^19.0.0",
+ "react-hook-form": "^7.54.2",
+ "react-intersection-observer": "^9.14.0",
+ "react-resizable-panels": "^2.1.7",
"rehype-external-links": "^3.0.0",
"rehype-sanitize": "^6.0.0",
"rehype-stringify": "^10.0.1",
"remark-html": "^16.0.1",
"remark-parse": "^11.0.0",
"remark-youtube": "^1.3.2",
- "sonner": "^1.5.0",
- "tailwind-merge": "^2.5.2",
+ "sonner": "^1.7.1",
+ "tailwind-merge": "^2.6.0",
"tailwindcss-animate": "^1.0.7",
- "zod": "^3.23.8",
- "zustand": "^4.5.4"
+ "vite-plugin-babel": "^1.3.0",
+ "zod": "^3.24.1",
+ "zustand": "^5.0.2"
},
"devDependencies": {
- "@ianvs/prettier-plugin-sort-imports": "^4.3.1",
- "@tailwindcss/typography": "^0.5.15",
- "@tanstack/eslint-plugin-query": "^5.58.1",
- "@types/node": "^20.14.9",
- "@types/react": "^18.3.10",
- "@types/react-copy-to-clipboard": "^5.0.7",
- "@types/react-dom": "^18.2.17",
- "@typescript-eslint/eslint-plugin": "^6.14.0",
- "@typescript-eslint/parser": "^6.14.0",
- "@vitejs/plugin-react": "^4.3.2",
- "@wailsio/runtime": "^3.0.0-alpha.27",
+ "@eslint/js": "^9.17.0",
+ "@ianvs/prettier-plugin-sort-imports": "^4.4.0",
+ "@tanstack/eslint-plugin-query": "^5.62.9",
+ "@types/node": "^22.10.2",
+ "@types/react": "^19.0.2",
+ "@types/react-dom": "^19.0.2",
+ "@typescript-eslint/eslint-plugin": "^8.18.2",
+ "@typescript-eslint/parser": "^8.18.2",
+ "@vitejs/plugin-react": "^4.2.1",
+ "@wailsio/runtime": "latest",
"autoprefixer": "^10.4.20",
- "eslint": "^8.55.0",
- "eslint-plugin-react-hooks": "^4.6.0",
- "eslint-plugin-react-refresh": "^0.4.12",
- "postcss": "^8.4.47",
- "prettier": "^3.3.3",
- "prettier-plugin-tailwindcss": "^0.6.8",
- "tailwindcss": "^3.4.13",
- "typescript": "^5.6.2",
- "vite": "^5.4.8"
+ "babel-plugin-react-compiler": "^19.0.0-beta-201e55d-20241215",
+ "eslint": "^8.57.0",
+ "eslint-plugin-prettier": "^5.2.1",
+ "eslint-plugin-react": "^7.37.3",
+ "eslint-plugin-react-compiler": "^19.0.0-beta-201e55d-20241215",
+ "eslint-plugin-react-hooks": "^5.1.0",
+ "eslint-plugin-react-refresh": "^0.4.5",
+ "globals": "^15.14.0",
+ "postcss": "^8.4.49",
+ "prettier-plugin-tailwindcss": "^0.6.9",
+ "tailwindcss": "^3.4.17",
+ "typescript": "^5.2.2",
+ "typescript-eslint": "^8.18.2",
+ "vite": "^6.0.6"
}
},
"node_modules/@alloc/quick-lru": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
"integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -97,7 +98,7 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
"integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
- "dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.24"
@@ -107,12 +108,13 @@
}
},
"node_modules/@babel/code-frame": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
- "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
- "dev": true,
+ "version": "7.26.2",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
+ "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
+ "license": "MIT",
"dependencies": {
- "@babel/highlight": "^7.24.7",
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "js-tokens": "^4.0.0",
"picocolors": "^1.0.0"
},
"engines": {
@@ -120,32 +122,30 @@
}
},
"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==",
- "dev": true,
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz",
+ "integrity": "sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==",
"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==",
- "dev": true,
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz",
+ "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==",
"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",
+ "@babel/code-frame": "^7.26.0",
+ "@babel/generator": "^7.26.0",
+ "@babel/helper-compilation-targets": "^7.25.9",
+ "@babel/helper-module-transforms": "^7.26.0",
+ "@babel/helpers": "^7.26.0",
+ "@babel/parser": "^7.26.0",
+ "@babel/template": "^7.25.9",
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.26.0",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -164,37 +164,49 @@
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
}
},
"node_modules/@babel/generator": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz",
- "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==",
- "dev": true,
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz",
+ "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==",
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.25.6",
+ "@babel/parser": "^7.26.3",
+ "@babel/types": "^7.26.3",
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.25",
- "jsesc": "^2.5.1"
+ "jsesc": "^3.0.2"
},
"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==",
+ "node_modules/@babel/helper-annotate-as-pure": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz",
+ "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.25.2",
- "@babel/helper-validator-option": "^7.24.8",
- "browserslist": "^4.23.1",
+ "@babel/types": "^7.25.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz",
+ "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.25.9",
+ "@babel/helper-validator-option": "^7.25.9",
+ "browserslist": "^4.24.0",
"lru-cache": "^5.1.1",
"semver": "^6.3.1"
},
@@ -203,6 +215,37 @@
}
},
"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-create-class-features-plugin": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz",
+ "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.25.9",
+ "@babel/helper-member-expression-to-functions": "^7.25.9",
+ "@babel/helper-optimise-call-expression": "^7.25.9",
+ "@babel/helper-replace-supers": "^7.25.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9",
+ "@babel/traverse": "^7.25.9",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
@@ -212,31 +255,42 @@
"semver": "bin/semver.js"
}
},
- "node_modules/@babel/helper-module-imports": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
- "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
+ "node_modules/@babel/helper-member-expression-to-functions": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz",
+ "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
+ "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"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==",
- "dev": true,
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
+ "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
"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"
+ "@babel/helper-module-imports": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -245,95 +299,108 @@
"@babel/core": "^7.0.0"
}
},
+ "node_modules/@babel/helper-optimise-call-expression": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz",
+ "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.25.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz",
- "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz",
+ "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==",
"dev": true,
+ "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==",
+ "node_modules/@babel/helper-replace-supers": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz",
+ "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
+ "@babel/helper-member-expression-to-functions": "^7.25.9",
+ "@babel/helper-optimise-call-expression": "^7.25.9",
+ "@babel/traverse": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/helper-string-parser": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
- "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
+ "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz",
+ "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.25.9"
+ },
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
- "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
- "dev": true,
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
+ "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
+ "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==",
- "dev": true,
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
+ "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/helpers": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz",
- "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==",
- "dev": true,
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
+ "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==",
"license": "MIT",
- "dependencies": {
- "@babel/template": "^7.25.0",
- "@babel/types": "^7.25.6"
- },
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/highlight": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
- "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
- "dev": true,
+ "node_modules/@babel/helpers": {
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz",
+ "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==",
+ "license": "MIT",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.24.7",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0",
- "picocolors": "^1.0.0"
+ "@babel/template": "^7.25.9",
+ "@babel/types": "^7.26.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/parser": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz",
- "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==",
- "dev": true,
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz",
+ "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==",
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.25.6"
+ "@babel/types": "^7.26.3"
},
"bin": {
"parser": "bin/babel-parser.js"
@@ -342,13 +409,32 @@
"node": ">=6.0.0"
}
},
+ "node_modules/@babel/plugin-proposal-private-methods": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz",
+ "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==",
+ "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
"node_modules/@babel/plugin-transform-react-jsx-self": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz",
- "integrity": "sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz",
+ "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -358,12 +444,13 @@
}
},
"node_modules/@babel/plugin-transform-react-jsx-source": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz",
- "integrity": "sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==",
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz",
+ "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
+ "@babel/helper-plugin-utils": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
@@ -373,9 +460,10 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz",
- "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==",
+ "version": "7.26.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz",
+ "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==",
+ "license": "MIT",
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
@@ -384,32 +472,30 @@
}
},
"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==",
- "dev": true,
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz",
+ "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==",
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.24.7",
- "@babel/parser": "^7.25.0",
- "@babel/types": "^7.25.0"
+ "@babel/code-frame": "^7.25.9",
+ "@babel/parser": "^7.25.9",
+ "@babel/types": "^7.25.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz",
- "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==",
- "dev": true,
+ "version": "7.26.4",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz",
+ "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==",
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.24.7",
- "@babel/generator": "^7.25.6",
- "@babel/parser": "^7.25.6",
- "@babel/template": "^7.25.0",
- "@babel/types": "^7.25.6",
+ "@babel/code-frame": "^7.26.2",
+ "@babel/generator": "^7.26.3",
+ "@babel/parser": "^7.26.3",
+ "@babel/template": "^7.25.9",
+ "@babel/types": "^7.26.3",
"debug": "^4.3.1",
"globals": "^11.1.0"
},
@@ -417,787 +503,453 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/types": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz",
- "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==",
- "dev": true,
+ "node_modules/@babel/traverse/node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
"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/@codemirror/autocomplete": {
- "version": "6.16.3",
- "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.16.3.tgz",
- "integrity": "sha512-Vl/tIeRVVUCRDuOG48lttBasNQu8usGgXQawBXI7WJAiUDSFOfzflmEsZFZo48mAvAaa4FZ/4/yLLxFtdJaKYA==",
- "dependencies": {
- "@codemirror/language": "^6.0.0",
- "@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.17.0",
- "@lezer/common": "^1.0.0"
- },
- "peerDependencies": {
- "@codemirror/language": "^6.0.0",
- "@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.0.0",
- "@lezer/common": "^1.0.0"
- }
- },
- "node_modules/@codemirror/commands": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.6.0.tgz",
- "integrity": "sha512-qnY+b7j1UNcTS31Eenuc/5YJB6gQOzkUoNmJQc0rznwqSRpeaWWpjkWy2C/MPTcePpsKJEM26hXrOXl1+nceXg==",
- "dependencies": {
- "@codemirror/language": "^6.0.0",
- "@codemirror/state": "^6.4.0",
- "@codemirror/view": "^6.27.0",
- "@lezer/common": "^1.1.0"
- }
- },
- "node_modules/@codemirror/lang-angular": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-angular/-/lang-angular-0.1.3.tgz",
- "integrity": "sha512-xgeWGJQQl1LyStvndWtruUvb4SnBZDAu/gvFH/ZU+c0W25tQR8e5hq7WTwiIY2dNxnf+49mRiGI/9yxIwB6f5w==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/lang-html": "^6.0.0",
- "@codemirror/lang-javascript": "^6.1.2",
- "@codemirror/language": "^6.0.0",
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.3.3"
- }
- },
- "node_modules/@codemirror/lang-cpp": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-cpp/-/lang-cpp-6.0.2.tgz",
- "integrity": "sha512-6oYEYUKHvrnacXxWxYa6t4puTlbN3dgV662BDfSH8+MfjQjVmP697/KYTDOqpxgerkvoNm7q5wlFMBeX8ZMocg==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/language": "^6.0.0",
- "@lezer/cpp": "^1.0.0"
- }
- },
- "node_modules/@codemirror/lang-css": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.3.0.tgz",
- "integrity": "sha512-CyR4rUNG9OYcXDZwMPvJdtb6PHbBDKUc/6Na2BIwZ6dKab1JQqKa4di+RNRY9Myn7JB81vayKwJeQ7jEdmNVDA==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/autocomplete": "^6.0.0",
- "@codemirror/language": "^6.0.0",
- "@codemirror/state": "^6.0.0",
- "@lezer/common": "^1.0.2",
- "@lezer/css": "^1.1.7"
- }
- },
- "node_modules/@codemirror/lang-go": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-go/-/lang-go-6.0.1.tgz",
- "integrity": "sha512-7fNvbyNylvqCphW9HD6WFnRpcDjr+KXX/FgqXy5H5ZS0eC5edDljukm/yNgYkwTsgp2busdod50AOTIy6Jikfg==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/autocomplete": "^6.0.0",
- "@codemirror/language": "^6.6.0",
- "@codemirror/state": "^6.0.0",
- "@lezer/common": "^1.0.0",
- "@lezer/go": "^1.0.0"
- }
- },
- "node_modules/@codemirror/lang-html": {
- "version": "6.4.9",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.4.9.tgz",
- "integrity": "sha512-aQv37pIMSlueybId/2PVSP6NPnmurFDVmZwzc7jszd2KAF8qd4VBbvNYPXWQq90WIARjsdVkPbw29pszmHws3Q==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/autocomplete": "^6.0.0",
- "@codemirror/lang-css": "^6.0.0",
- "@codemirror/lang-javascript": "^6.0.0",
- "@codemirror/language": "^6.4.0",
- "@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.17.0",
- "@lezer/common": "^1.0.0",
- "@lezer/css": "^1.1.0",
- "@lezer/html": "^1.3.0"
- }
- },
- "node_modules/@codemirror/lang-java": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-java/-/lang-java-6.0.1.tgz",
- "integrity": "sha512-OOnmhH67h97jHzCuFaIEspbmsT98fNdhVhmA3zCxW0cn7l8rChDhZtwiwJ/JOKXgfm4J+ELxQihxaI7bj7mJRg==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/language": "^6.0.0",
- "@lezer/java": "^1.0.0"
- }
- },
- "node_modules/@codemirror/lang-javascript": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.2.2.tgz",
- "integrity": "sha512-VGQfY+FCc285AhWuwjYxQyUQcYurWlxdKYT4bqwr3Twnd5wP5WSeu52t4tvvuWmljT4EmgEgZCqSieokhtY8hg==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/autocomplete": "^6.0.0",
- "@codemirror/language": "^6.6.0",
- "@codemirror/lint": "^6.0.0",
- "@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.17.0",
- "@lezer/common": "^1.0.0",
- "@lezer/javascript": "^1.0.0"
- }
- },
- "node_modules/@codemirror/lang-json": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-json/-/lang-json-6.0.1.tgz",
- "integrity": "sha512-+T1flHdgpqDDlJZ2Lkil/rLiRy684WMLc74xUnjJH48GQdfJo/pudlTRreZmKwzP8/tGdKf83wlbAdOCzlJOGQ==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/language": "^6.0.0",
- "@lezer/json": "^1.0.0"
- }
- },
- "node_modules/@codemirror/lang-less": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-less/-/lang-less-6.0.2.tgz",
- "integrity": "sha512-EYdQTG22V+KUUk8Qq582g7FMnCZeEHsyuOJisHRft/mQ+ZSZ2w51NupvDUHiqtsOy7It5cHLPGfHQLpMh9bqpQ==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/lang-css": "^6.2.0",
- "@codemirror/language": "^6.0.0",
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.0.0"
- }
- },
- "node_modules/@codemirror/lang-liquid": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-liquid/-/lang-liquid-6.2.1.tgz",
- "integrity": "sha512-J1Mratcm6JLNEiX+U2OlCDTysGuwbHD76XwuL5o5bo9soJtSbz2g6RU3vGHFyS5DC8rgVmFSzi7i6oBftm7tnA==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/autocomplete": "^6.0.0",
- "@codemirror/lang-html": "^6.0.0",
- "@codemirror/language": "^6.0.0",
- "@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.0.0",
- "@lezer/common": "^1.0.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.3.1"
- }
- },
- "node_modules/@codemirror/lang-markdown": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-markdown/-/lang-markdown-6.3.0.tgz",
- "integrity": "sha512-lYrI8SdL/vhd0w0aHIEvIRLRecLF7MiiRfzXFZY94dFwHqC9HtgxgagJ8fyYNBldijGatf9wkms60d8SrAj6Nw==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/autocomplete": "^6.7.1",
- "@codemirror/lang-html": "^6.0.0",
- "@codemirror/language": "^6.3.0",
- "@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.0.0",
- "@lezer/common": "^1.2.1",
- "@lezer/markdown": "^1.0.0"
- }
- },
- "node_modules/@codemirror/lang-php": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-php/-/lang-php-6.0.1.tgz",
- "integrity": "sha512-ublojMdw/PNWa7qdN5TMsjmqkNuTBD3k6ndZ4Z0S25SBAiweFGyY68AS3xNcIOlb6DDFDvKlinLQ40vSLqf8xA==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/lang-html": "^6.0.0",
- "@codemirror/language": "^6.0.0",
- "@codemirror/state": "^6.0.0",
- "@lezer/common": "^1.0.0",
- "@lezer/php": "^1.0.0"
- }
- },
- "node_modules/@codemirror/lang-python": {
- "version": "6.1.6",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-python/-/lang-python-6.1.6.tgz",
- "integrity": "sha512-ai+01WfZhWqM92UqjnvorkxosZ2aq2u28kHvr+N3gu012XqY2CThD67JPMHnGceRfXPDBmn1HnyqowdpF57bNg==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/autocomplete": "^6.3.2",
- "@codemirror/language": "^6.8.0",
- "@codemirror/state": "^6.0.0",
- "@lezer/common": "^1.2.1",
- "@lezer/python": "^1.1.4"
- }
- },
- "node_modules/@codemirror/lang-rust": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-rust/-/lang-rust-6.0.1.tgz",
- "integrity": "sha512-344EMWFBzWArHWdZn/NcgkwMvZIWUR1GEBdwG8FEp++6o6vT6KL9V7vGs2ONsKxxFUPXKI0SPcWhyYyl2zPYxQ==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/language": "^6.0.0",
- "@lezer/rust": "^1.0.0"
- }
- },
- "node_modules/@codemirror/lang-sass": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-sass/-/lang-sass-6.0.2.tgz",
- "integrity": "sha512-l/bdzIABvnTo1nzdY6U+kPAC51czYQcOErfzQ9zSm9D8GmNPD0WTW8st/CJwBTPLO8jlrbyvlSEcN20dc4iL0Q==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/lang-css": "^6.2.0",
- "@codemirror/language": "^6.0.0",
- "@codemirror/state": "^6.0.0",
- "@lezer/common": "^1.0.2",
- "@lezer/sass": "^1.0.0"
- }
- },
- "node_modules/@codemirror/lang-sql": {
- "version": "6.8.0",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-sql/-/lang-sql-6.8.0.tgz",
- "integrity": "sha512-aGLmY4OwGqN3TdSx3h6QeA1NrvaYtF7kkoWR/+W7/JzB0gQtJ+VJxewlnE3+VImhA4WVlhmkJr109PefOOhjLg==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/autocomplete": "^6.0.0",
- "@codemirror/language": "^6.0.0",
- "@codemirror/state": "^6.0.0",
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.0.0"
- }
- },
- "node_modules/@codemirror/lang-vue": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-vue/-/lang-vue-0.1.3.tgz",
- "integrity": "sha512-QSKdtYTDRhEHCfo5zOShzxCmqKJvgGrZwDQSdbvCRJ5pRLWBS7pD/8e/tH44aVQT6FKm0t6RVNoSUWHOI5vNug==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/lang-html": "^6.0.0",
- "@codemirror/lang-javascript": "^6.1.2",
- "@codemirror/language": "^6.0.0",
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.3.1"
- }
- },
- "node_modules/@codemirror/lang-wast": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-wast/-/lang-wast-6.0.2.tgz",
- "integrity": "sha512-Imi2KTpVGm7TKuUkqyJ5NRmeFWF7aMpNiwHnLQe0x9kmrxElndyH0K6H/gXtWwY6UshMRAhpENsgfpSwsgmC6Q==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/language": "^6.0.0",
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.0.0"
- }
- },
- "node_modules/@codemirror/lang-xml": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-xml/-/lang-xml-6.1.0.tgz",
- "integrity": "sha512-3z0blhicHLfwi2UgkZYRPioSgVTo9PV5GP5ducFH6FaHy0IAJRg+ixj5gTR1gnT/glAIC8xv4w2VL1LoZfs+Jg==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/autocomplete": "^6.0.0",
- "@codemirror/language": "^6.4.0",
- "@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.0.0",
- "@lezer/common": "^1.0.0",
- "@lezer/xml": "^1.0.0"
- }
- },
- "node_modules/@codemirror/lang-yaml": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/@codemirror/lang-yaml/-/lang-yaml-6.1.1.tgz",
- "integrity": "sha512-HV2NzbK9bbVnjWxwObuZh5FuPCowx51mEfoFT9y3y+M37fA3+pbxx4I7uePuygFzDsAmCTwQSc/kXh/flab4uw==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/autocomplete": "^6.0.0",
- "@codemirror/language": "^6.0.0",
- "@codemirror/state": "^6.0.0",
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.2.0",
- "@lezer/yaml": "^1.0.0"
- }
- },
- "node_modules/@codemirror/language": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.10.2.tgz",
- "integrity": "sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA==",
- "dependencies": {
- "@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.23.0",
- "@lezer/common": "^1.1.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.0.0",
- "style-mod": "^4.0.0"
- }
- },
- "node_modules/@codemirror/language-data": {
- "version": "6.5.1",
- "resolved": "https://registry.npmjs.org/@codemirror/language-data/-/language-data-6.5.1.tgz",
- "integrity": "sha512-0sWxeUSNlBr6OmkqybUTImADFUP0M3P0IiSde4nc24bz/6jIYzqYSgkOSLS+CBIoW1vU8Q9KUWXscBXeoMVC9w==",
- "license": "MIT",
- "dependencies": {
- "@codemirror/lang-angular": "^0.1.0",
- "@codemirror/lang-cpp": "^6.0.0",
- "@codemirror/lang-css": "^6.0.0",
- "@codemirror/lang-go": "^6.0.0",
- "@codemirror/lang-html": "^6.0.0",
- "@codemirror/lang-java": "^6.0.0",
- "@codemirror/lang-javascript": "^6.0.0",
- "@codemirror/lang-json": "^6.0.0",
- "@codemirror/lang-less": "^6.0.0",
- "@codemirror/lang-liquid": "^6.0.0",
- "@codemirror/lang-markdown": "^6.0.0",
- "@codemirror/lang-php": "^6.0.0",
- "@codemirror/lang-python": "^6.0.0",
- "@codemirror/lang-rust": "^6.0.0",
- "@codemirror/lang-sass": "^6.0.0",
- "@codemirror/lang-sql": "^6.0.0",
- "@codemirror/lang-vue": "^0.1.1",
- "@codemirror/lang-wast": "^6.0.0",
- "@codemirror/lang-xml": "^6.0.0",
- "@codemirror/lang-yaml": "^6.0.0",
- "@codemirror/language": "^6.0.0",
- "@codemirror/legacy-modes": "^6.4.0"
+ "node": ">=4"
}
},
- "node_modules/@codemirror/legacy-modes": {
- "version": "6.4.1",
- "resolved": "https://registry.npmjs.org/@codemirror/legacy-modes/-/legacy-modes-6.4.1.tgz",
- "integrity": "sha512-vdg3XY7OAs5uLDx2Iw+cGfnwtd7kM+Et/eMsqAGTfT/JKiVBQZXosTzjEbWAi/FrY6DcQIz8mQjBozFHZEUWQA==",
+ "node_modules/@babel/types": {
+ "version": "7.26.3",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz",
+ "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==",
"license": "MIT",
"dependencies": {
- "@codemirror/language": "^6.0.0"
- }
- },
- "node_modules/@codemirror/lint": {
- "version": "6.8.1",
- "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.8.1.tgz",
- "integrity": "sha512-IZ0Y7S4/bpaunwggW2jYqwLuHj0QtESf5xcROewY6+lDNwZ/NzvR4t+vpYgg9m7V8UXLPYqG+lu3DF470E5Oxg==",
- "dependencies": {
- "@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.0.0",
- "crelt": "^1.0.5"
- }
- },
- "node_modules/@codemirror/search": {
- "version": "6.5.6",
- "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.6.tgz",
- "integrity": "sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==",
- "dependencies": {
- "@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.0.0",
- "crelt": "^1.0.5"
- }
- },
- "node_modules/@codemirror/state": {
- "version": "6.4.1",
- "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.4.1.tgz",
- "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A=="
- },
- "node_modules/@codemirror/view": {
- "version": "6.28.2",
- "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.28.2.tgz",
- "integrity": "sha512-A3DmyVfjgPsGIjiJqM/zvODUAPQdQl3ci0ghehYNnbt5x+o76xq+dL5+mMBuysDXnI3kapgOkoeJ0sbtL/3qPw==",
- "dependencies": {
- "@codemirror/state": "^6.4.0",
- "style-mod": "^4.1.0",
- "w3c-keyname": "^2.2.4"
+ "@babel/helper-string-parser": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@esbuild/aix-ppc64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
- "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz",
+ "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==",
"cpu": [
"ppc64"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"aix"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/android-arm": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
- "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz",
+ "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==",
"cpu": [
"arm"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"android"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/android-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
- "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz",
+ "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==",
"cpu": [
"arm64"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"android"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/android-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
- "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz",
+ "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==",
"cpu": [
"x64"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"android"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/darwin-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
- "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz",
+ "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==",
"cpu": [
"arm64"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/darwin-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
- "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz",
+ "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==",
"cpu": [
"x64"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"darwin"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/freebsd-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
- "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz",
+ "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==",
"cpu": [
"arm64"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"freebsd"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/freebsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
- "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz",
+ "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==",
"cpu": [
"x64"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"freebsd"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-arm": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
- "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz",
+ "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==",
"cpu": [
"arm"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
- "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz",
+ "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==",
"cpu": [
"arm64"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-ia32": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
- "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz",
+ "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==",
"cpu": [
"ia32"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-loong64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
- "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz",
+ "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==",
"cpu": [
"loong64"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-mips64el": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
- "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz",
+ "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==",
"cpu": [
"mips64el"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-ppc64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
- "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz",
+ "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==",
"cpu": [
"ppc64"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-riscv64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
- "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz",
+ "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==",
"cpu": [
"riscv64"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-s390x": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
- "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz",
+ "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==",
"cpu": [
"s390x"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/linux-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
- "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz",
+ "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==",
"cpu": [
"x64"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"linux"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz",
+ "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
"node_modules/@esbuild/netbsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
- "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz",
+ "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==",
"cpu": [
"x64"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"netbsd"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz",
+ "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
"node_modules/@esbuild/openbsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
- "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz",
+ "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==",
"cpu": [
"x64"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"openbsd"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/sunos-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
- "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz",
+ "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==",
"cpu": [
"x64"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"sunos"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/win32-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
- "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz",
+ "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==",
"cpu": [
"arm64"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"win32"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/win32-ia32": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
- "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz",
+ "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==",
"cpu": [
"ia32"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"win32"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@esbuild/win32-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
- "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz",
+ "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==",
"cpu": [
"x64"
],
- "dev": true,
+ "license": "MIT",
"optional": true,
"os": [
"win32"
],
"engines": {
- "node": ">=12"
+ "node": ">=18"
}
},
"node_modules/@eslint-community/eslint-utils": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
- "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz",
+ "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "eslint-visitor-keys": "^3.3.0"
+ "eslint-visitor-keys": "^3.4.3"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ },
"peerDependencies": {
"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
}
},
"node_modules/@eslint-community/regexpp": {
- "version": "4.11.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
- "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
+ "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
}
@@ -1207,6 +959,7 @@
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
"integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
@@ -1230,6 +983,7 @@
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -1240,6 +994,7 @@
"resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
"integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"type-fest": "^0.20.2"
},
@@ -1255,6 +1010,7 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -1263,35 +1019,39 @@
}
},
"node_modules/@eslint/js": {
- "version": "8.57.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
- "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
+ "version": "9.17.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz",
+ "integrity": "sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
"node_modules/@floating-ui/core": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.3.tgz",
- "integrity": "sha512-1ZpCvYf788/ZXOhRQGFxnYQOVgeU+pi0i+d0Ow34La7qjIXETi6RNswGVKkA6KcDO8/+Ysu2E/CeUmmeEBDvTg==",
+ "version": "1.6.8",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.8.tgz",
+ "integrity": "sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==",
+ "license": "MIT",
"dependencies": {
- "@floating-ui/utils": "^0.2.3"
+ "@floating-ui/utils": "^0.2.8"
}
},
"node_modules/@floating-ui/dom": {
- "version": "1.6.6",
- "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.6.tgz",
- "integrity": "sha512-qiTYajAnh3P+38kECeffMSQgbvXty2VB6rS+42iWR4FPIlZjLK84E9qtLnMTLIpPz2znD/TaFqaiavMUrS+Hcw==",
+ "version": "1.6.12",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.12.tgz",
+ "integrity": "sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==",
+ "license": "MIT",
"dependencies": {
- "@floating-ui/core": "^1.0.0",
- "@floating-ui/utils": "^0.2.3"
+ "@floating-ui/core": "^1.6.0",
+ "@floating-ui/utils": "^0.2.8"
}
},
"node_modules/@floating-ui/react-dom": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.1.tgz",
- "integrity": "sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.2.tgz",
+ "integrity": "sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==",
+ "license": "MIT",
"dependencies": {
"@floating-ui/dom": "^1.0.0"
},
@@ -1301,26 +1061,29 @@
}
},
"node_modules/@floating-ui/utils": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.3.tgz",
- "integrity": "sha512-XGndio0l5/Gvd6CLIABvsav9HHezgDFFhDfHk1bvLfr9ni8dojqLSvBbotJEjmIwNHL7vK4QzBJTdBRoB+c1ww=="
+ "version": "0.2.8",
+ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.8.tgz",
+ "integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==",
+ "license": "MIT"
},
"node_modules/@hookform/resolvers": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.6.0.tgz",
- "integrity": "sha512-UBcpyOX3+RR+dNnqBd0lchXpoL8p4xC21XP8H6Meb8uve5Br1GCnmg0PcBoKKqPKgGu9GHQ/oygcmPrQhetwqw==",
+ "version": "3.9.1",
+ "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.9.1.tgz",
+ "integrity": "sha512-ud2HqmGBM0P0IABqoskKWI6PEf6ZDDBZkFqe2Vnl+mTHCEHzr3ISjjZyCwTjC/qpL25JC9aIDkloQejvMeq0ug==",
+ "license": "MIT",
"peerDependencies": {
"react-hook-form": "^7.0.0"
}
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.11.14",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
- "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz",
+ "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==",
"deprecated": "Use @eslint/config-array instead",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
- "@humanwhocodes/object-schema": "^2.0.2",
+ "@humanwhocodes/object-schema": "^2.0.3",
"debug": "^4.3.1",
"minimatch": "^3.0.5"
},
@@ -1333,6 +1096,7 @@
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -1343,6 +1107,7 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -1355,6 +1120,7 @@
"resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
"integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": ">=12.22"
},
@@ -1368,20 +1134,20 @@
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
"integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
"deprecated": "Use @eslint/object-schema instead",
- "dev": true
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/@ianvs/prettier-plugin-sort-imports": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/@ianvs/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.3.1.tgz",
- "integrity": "sha512-ZHwbyjkANZOjaBm3ZosADD2OUYGFzQGxfy67HmGZU94mHqe7g1LCMA7YYKB1Cq+UTPCBqlAYapY0KXAjKEw8Sg==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@ianvs/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.4.0.tgz",
+ "integrity": "sha512-f4/e+/ANGk3tHuwRW0uh2YuBR50I4h1ZjGQ+5uD8sWfinHTivQsnieR5cz24t8M6Vx4rYvZ5v/IEKZhYpzQm9Q==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@babel/core": "^7.24.0",
- "@babel/generator": "^7.23.6",
- "@babel/parser": "^7.24.0",
- "@babel/traverse": "^7.24.0",
- "@babel/types": "^7.24.0",
+ "@babel/generator": "^7.26.2",
+ "@babel/parser": "^7.26.2",
+ "@babel/traverse": "^7.25.9",
+ "@babel/types": "^7.26.0",
"semver": "^7.5.2"
},
"peerDependencies": {
@@ -1398,6 +1164,7 @@
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
"integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "license": "ISC",
"dependencies": {
"string-width": "^5.1.2",
"string-width-cjs": "npm:string-width@^4.2.0",
@@ -1411,9 +1178,10 @@
}
},
"node_modules/@isaacs/cliui/node_modules/ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -1425,6 +1193,7 @@
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
},
@@ -1436,9 +1205,10 @@
}
},
"node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
- "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
+ "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
+ "license": "MIT",
"dependencies": {
"@jridgewell/set-array": "^1.2.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
@@ -1452,6 +1222,7 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "license": "MIT",
"engines": {
"node": ">=6.0.0"
}
@@ -1460,225 +1231,288 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+ "license": "MIT",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+ "license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.25",
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
- "node_modules/@lezer/common": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz",
- "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ=="
+ "node_modules/@lexical/clipboard": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/clipboard/-/clipboard-0.22.0.tgz",
+ "integrity": "sha512-nG3MX7MYmaf4f4Ia0YaYaJIS1QriuUxNaLHYeAqOPqYZLH1CUnXslCiak6OyQ4dt/QozKKvGM5vpZN2QWvs0Xw==",
+ "license": "MIT",
+ "dependencies": {
+ "@lexical/html": "0.22.0",
+ "@lexical/list": "0.22.0",
+ "@lexical/selection": "0.22.0",
+ "@lexical/utils": "0.22.0",
+ "lexical": "0.22.0"
+ }
},
- "node_modules/@lezer/cpp": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@lezer/cpp/-/cpp-1.1.2.tgz",
- "integrity": "sha512-macwKtyeUO0EW86r3xWQCzOV9/CF8imJLpJlPv3sDY57cPGeUZ8gXWOWNlJr52TVByMV3PayFQCA5SHEERDmVQ==",
+ "node_modules/@lexical/code": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/code/-/code-0.22.0.tgz",
+ "integrity": "sha512-5HQGcv+R7+uOxFGGqGxE5Mj2LcYwxniHejri7s3OJTSeFrGxAXwP2Kxb+5FSvWsyg265snuxZlNNfKVozgJPhA==",
"license": "MIT",
"dependencies": {
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.0.0"
+ "@lexical/utils": "0.22.0",
+ "lexical": "0.22.0",
+ "prismjs": "^1.27.0"
}
},
- "node_modules/@lezer/css": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/@lezer/css/-/css-1.1.9.tgz",
- "integrity": "sha512-TYwgljcDv+YrV0MZFFvYFQHCfGgbPMR6nuqLabBdmZoFH3EP1gvw8t0vae326Ne3PszQkbXfVBjCnf3ZVCr0bA==",
+ "node_modules/@lexical/devtools-core": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/devtools-core/-/devtools-core-0.22.0.tgz",
+ "integrity": "sha512-PFdaN2c+O/eLqNcWzuLBz0AaiLPHs9+iMHUZDQMgAWcKS6uiEBA61VS+ZNZn8zj8RZZvUtxgmZ9wQFFURklfww==",
"license": "MIT",
"dependencies": {
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.0.0"
+ "@lexical/html": "0.22.0",
+ "@lexical/link": "0.22.0",
+ "@lexical/mark": "0.22.0",
+ "@lexical/table": "0.22.0",
+ "@lexical/utils": "0.22.0",
+ "lexical": "0.22.0"
+ },
+ "peerDependencies": {
+ "react": ">=17.x",
+ "react-dom": ">=17.x"
}
},
- "node_modules/@lezer/go": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@lezer/go/-/go-1.0.0.tgz",
- "integrity": "sha512-co9JfT3QqX1YkrMmourYw2Z8meGC50Ko4d54QEcQbEYpvdUvN4yb0NBZdn/9ertgvjsySxHsKzH3lbm3vqJ4Jw==",
+ "node_modules/@lexical/dragon": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/dragon/-/dragon-0.22.0.tgz",
+ "integrity": "sha512-68b1EiFbYRqPEhbrFPhfTNe/hSTCFtwBmcIP5cGgEef+lL5XqCxc6NK2g2DK4Dx26DSGwXxTuRG8NuuxFN+CiA==",
"license": "MIT",
"dependencies": {
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.0.0"
+ "lexical": "0.22.0"
}
},
- "node_modules/@lezer/highlight": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.0.tgz",
- "integrity": "sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==",
+ "node_modules/@lexical/hashtag": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/hashtag/-/hashtag-0.22.0.tgz",
+ "integrity": "sha512-W6Wrz0+ClezZQavjCjYso+LzRP/rWNUIM6cLwnf7oFXsmIXeaLHXecIbRwZ+SChnj4eUlSlnlknMVi3bJKaOjw==",
+ "license": "MIT",
"dependencies": {
- "@lezer/common": "^1.0.0"
+ "@lexical/utils": "0.22.0",
+ "lexical": "0.22.0"
}
},
- "node_modules/@lezer/html": {
- "version": "1.3.10",
- "resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.3.10.tgz",
- "integrity": "sha512-dqpT8nISx/p9Do3AchvYGV3qYc4/rKr3IBZxlHmpIKam56P47RSHkSF5f13Vu9hebS1jM0HmtJIwLbWz1VIY6w==",
+ "node_modules/@lexical/history": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/history/-/history-0.22.0.tgz",
+ "integrity": "sha512-4e/xL7CtYvsv8X4iGH1tPL8J6jthDpzh0a1WWZfL9ipeOYN9Btctq6o1Obdth5DfbMR7ELq7PSN2FK6+jZ4EQQ==",
"license": "MIT",
"dependencies": {
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.0.0"
+ "@lexical/utils": "0.22.0",
+ "lexical": "0.22.0"
}
},
- "node_modules/@lezer/java": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@lezer/java/-/java-1.1.3.tgz",
- "integrity": "sha512-yHquUfujwg6Yu4Fd1GNHCvidIvJwi/1Xu2DaKl/pfWIA2c1oXkVvawH3NyXhCaFx4OdlYBVX5wvz2f7Aoa/4Xw==",
+ "node_modules/@lexical/html": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/html/-/html-0.22.0.tgz",
+ "integrity": "sha512-ED2Xik95a4kPg9vbU5pT/sA5hvEyGnuVxg0XvMx/6Gaa7OIhYDiZvSD4DCE+eVfn0xZMnIbX94Ygf4//71kCYw==",
"license": "MIT",
"dependencies": {
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.0.0"
+ "@lexical/selection": "0.22.0",
+ "@lexical/utils": "0.22.0",
+ "lexical": "0.22.0"
}
},
- "node_modules/@lezer/javascript": {
- "version": "1.4.19",
- "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.19.tgz",
- "integrity": "sha512-j44kbR1QL26l6dMunZ1uhKBFteVGLVCBGNUD2sUaMnic+rbTviVuoK0CD1l9FTW31EueWvFFswCKMH7Z+M3JRA==",
+ "node_modules/@lexical/link": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/link/-/link-0.22.0.tgz",
+ "integrity": "sha512-mtlsOYW6sgbgvv1ecPt6/9CdlgP0MhVyrF8iu16JpngphVXu/Lz2BSh7TCfY0xho/H2OIu++9lUGn87cK1Zplw==",
"license": "MIT",
"dependencies": {
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.1.3",
- "@lezer/lr": "^1.3.0"
+ "@lexical/utils": "0.22.0",
+ "lexical": "0.22.0"
}
},
- "node_modules/@lezer/json": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@lezer/json/-/json-1.0.2.tgz",
- "integrity": "sha512-xHT2P4S5eeCYECyKNPhr4cbEL9tc8w83SPwRC373o9uEdrvGKTZoJVAGxpOsZckMlEh9W23Pc72ew918RWQOBQ==",
+ "node_modules/@lexical/list": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/list/-/list-0.22.0.tgz",
+ "integrity": "sha512-DZLzMg1/H+nclV8BNqZe2qk/bz1ogCr7Huzwab5o8jTjpsDJaqyUZasj8wRgBzyLu9jxMQngkarL47nnk+zrbA==",
"license": "MIT",
"dependencies": {
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.0.0"
+ "@lexical/utils": "0.22.0",
+ "lexical": "0.22.0"
}
},
- "node_modules/@lezer/lr": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.1.tgz",
- "integrity": "sha512-CHsKq8DMKBf9b3yXPDIU4DbH+ZJd/sJdYOW2llbW/HudP5u0VS6Bfq1hLYfgU7uAYGFIyGGQIsSOXGPEErZiJw==",
+ "node_modules/@lexical/mark": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/mark/-/mark-0.22.0.tgz",
+ "integrity": "sha512-d8Jb9xqhHwUrN2uBs0aIjvA/NgeAZCI5Zorynqq5ihBVSytrol09JyRt4t7SXRH4sCpDMDLMWfTjm820RQFq8g==",
+ "license": "MIT",
"dependencies": {
- "@lezer/common": "^1.0.0"
+ "@lexical/utils": "0.22.0",
+ "lexical": "0.22.0"
}
},
- "node_modules/@lezer/markdown": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@lezer/markdown/-/markdown-1.3.2.tgz",
- "integrity": "sha512-Wu7B6VnrKTbBEohqa63h5vxXjiC4pO5ZQJ/TDbhJxPQaaIoRD/6UVDhSDtVsCwVZV12vvN9KxuLL3ATMnlG0oQ==",
+ "node_modules/@lexical/markdown": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/markdown/-/markdown-0.22.0.tgz",
+ "integrity": "sha512-FJNfegbgry4dFwyzjdK6sasYHsVgiYy2WrVmVKYR/EDBxa0MARnVO7lRRXA37WcqMKi5N8dE/dABmjlmzuYzHA==",
"license": "MIT",
"dependencies": {
- "@lezer/common": "^1.0.0",
- "@lezer/highlight": "^1.0.0"
+ "@lexical/code": "0.22.0",
+ "@lexical/link": "0.22.0",
+ "@lexical/list": "0.22.0",
+ "@lexical/rich-text": "0.22.0",
+ "@lexical/text": "0.22.0",
+ "@lexical/utils": "0.22.0",
+ "lexical": "0.22.0"
}
},
- "node_modules/@lezer/php": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@lezer/php/-/php-1.0.2.tgz",
- "integrity": "sha512-GN7BnqtGRpFyeoKSEqxvGvhJQiI4zkgmYnDk/JIyc7H7Ifc1tkPnUn/R2R8meH3h/aBf5rzjvU8ZQoyiNDtDrA==",
+ "node_modules/@lexical/offset": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/offset/-/offset-0.22.0.tgz",
+ "integrity": "sha512-DgfO0q1+PzLzmMgRxTC7+y4whL6btlNSfv7f47TBAMBoj5tKdkGyMrru0xjoeYHVsMiSNgqMY2HTXU5YokKUOg==",
"license": "MIT",
"dependencies": {
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.1.0"
+ "lexical": "0.22.0"
}
},
- "node_modules/@lezer/python": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/@lezer/python/-/python-1.1.14.tgz",
- "integrity": "sha512-ykDOb2Ti24n76PJsSa4ZoDF0zH12BSw1LGfQXCYJhJyOGiFTfGaX0Du66Ze72R+u/P35U+O6I9m8TFXov1JzsA==",
+ "node_modules/@lexical/overflow": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/overflow/-/overflow-0.22.0.tgz",
+ "integrity": "sha512-LPj27ChVsOUW7Gv28z9m7NfpPQs7e3OooYL1WzU3R8NYDj/U32YxQXpUDcxHKwBPo8j8NVEna2d3UAG1txz6BA==",
"license": "MIT",
"dependencies": {
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.0.0"
+ "lexical": "0.22.0"
}
},
- "node_modules/@lezer/rust": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@lezer/rust/-/rust-1.0.2.tgz",
- "integrity": "sha512-Lz5sIPBdF2FUXcWeCu1//ojFAZqzTQNRga0aYv6dYXqJqPfMdCAI0NzajWUd4Xijj1IKJLtjoXRPMvTKWBcqKg==",
+ "node_modules/@lexical/plain-text": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/plain-text/-/plain-text-0.22.0.tgz",
+ "integrity": "sha512-MBlX4PfLN6I/As8uuRnL/17B+lIjmtNSIH90NjykRwBC8dtWr4gzSjm9OGTee6HctxnbQNb1BGLM7W1hLtiKAw==",
"license": "MIT",
"dependencies": {
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.0.0"
+ "@lexical/clipboard": "0.22.0",
+ "@lexical/selection": "0.22.0",
+ "@lexical/utils": "0.22.0",
+ "lexical": "0.22.0"
}
},
- "node_modules/@lezer/sass": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/@lezer/sass/-/sass-1.0.7.tgz",
- "integrity": "sha512-8HLlOkuX/SMHOggI2DAsXUw38TuURe+3eQ5hiuk9QmYOUyC55B1dYEIMkav5A4IELVaW4e1T4P9WRiI5ka4mdw==",
+ "node_modules/@lexical/react": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/react/-/react-0.22.0.tgz",
+ "integrity": "sha512-kHeAX6QFsDcdih2kBQVnIATOQsDzpMp2VLYlSxatF8JvCTaMQ3quH/CGHLnUAauZDxM2LC/eV+Z4nrUOP3Alyg==",
"license": "MIT",
"dependencies": {
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.0.0"
+ "@lexical/clipboard": "0.22.0",
+ "@lexical/code": "0.22.0",
+ "@lexical/devtools-core": "0.22.0",
+ "@lexical/dragon": "0.22.0",
+ "@lexical/hashtag": "0.22.0",
+ "@lexical/history": "0.22.0",
+ "@lexical/link": "0.22.0",
+ "@lexical/list": "0.22.0",
+ "@lexical/mark": "0.22.0",
+ "@lexical/markdown": "0.22.0",
+ "@lexical/overflow": "0.22.0",
+ "@lexical/plain-text": "0.22.0",
+ "@lexical/rich-text": "0.22.0",
+ "@lexical/selection": "0.22.0",
+ "@lexical/table": "0.22.0",
+ "@lexical/text": "0.22.0",
+ "@lexical/utils": "0.22.0",
+ "@lexical/yjs": "0.22.0",
+ "lexical": "0.22.0",
+ "react-error-boundary": "^3.1.4"
+ },
+ "peerDependencies": {
+ "react": ">=17.x",
+ "react-dom": ">=17.x"
}
},
- "node_modules/@lezer/xml": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@lezer/xml/-/xml-1.0.5.tgz",
- "integrity": "sha512-VFouqOzmUWfIg+tfmpcdV33ewtK+NSwd4ngSe1aG7HFb4BN0ExyY1b8msp+ndFrnlG4V4iC8yXacjFtrwERnaw==",
+ "node_modules/@lexical/rich-text": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/rich-text/-/rich-text-0.22.0.tgz",
+ "integrity": "sha512-ILN/tht6emxbVK12Hp86y50fk0MGHMHg6Ivt/5OncoDPXfLMicuJRgLgLxLl5dCf7UVQOfa7z8eKEWnE83M5Mg==",
"license": "MIT",
"dependencies": {
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.0.0"
+ "@lexical/clipboard": "0.22.0",
+ "@lexical/selection": "0.22.0",
+ "@lexical/utils": "0.22.0",
+ "lexical": "0.22.0"
}
},
- "node_modules/@lezer/yaml": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@lezer/yaml/-/yaml-1.0.3.tgz",
- "integrity": "sha512-GuBLekbw9jDBDhGur82nuwkxKQ+a3W5H0GfaAthDXcAu+XdpS43VlnxA9E9hllkpSP5ellRDKjLLj7Lu9Wr6xA==",
+ "node_modules/@lexical/selection": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/selection/-/selection-0.22.0.tgz",
+ "integrity": "sha512-DdRh8bHijQGV1OxeaywulaLRxgYtn1B7miS0I4pP04KkRXVxrlWRP5dGzQoMDghTh+W1QD9GiUSAyz4L9R3zxQ==",
"license": "MIT",
"dependencies": {
- "@lezer/common": "^1.2.0",
- "@lezer/highlight": "^1.0.0",
- "@lezer/lr": "^1.4.0"
+ "lexical": "0.22.0"
}
},
- "node_modules/@markdoc/markdoc": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/@markdoc/markdoc/-/markdoc-0.4.0.tgz",
- "integrity": "sha512-fSh4P3Y4E7oaKYc2oNzSIJVPDto7SMzAuQN1Iyx53UxzleA6QzRdNWRxmiPqtVDaDi5dELd2yICoG91csrGrAw==",
- "engines": {
- "node": ">=14.7.0"
- },
- "optionalDependencies": {
- "@types/markdown-it": "12.2.3"
+ "node_modules/@lexical/table": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/table/-/table-0.22.0.tgz",
+ "integrity": "sha512-Kx4N4kgYKTpcYtYYbp3hfG6We6ss3vWlhJ/f/QuUo18+w8c0a7aaCo4wTjNNUnSuXSFc1E02JlaTTVoI1pVfDw==",
+ "license": "MIT",
+ "dependencies": {
+ "@lexical/clipboard": "0.22.0",
+ "@lexical/utils": "0.22.0",
+ "lexical": "0.22.0"
+ }
+ },
+ "node_modules/@lexical/text": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/text/-/text-0.22.0.tgz",
+ "integrity": "sha512-eLQTH11FmTW8VBOcb3hKc6H4S4A2cXFDOXHE3lCA+ErLXOnwlj7tKm52eWyddPTlkNmZ3C8mIvfVPcS4Jxw20Q==",
+ "license": "MIT",
+ "dependencies": {
+ "lexical": "0.22.0"
+ }
+ },
+ "node_modules/@lexical/utils": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/utils/-/utils-0.22.0.tgz",
+ "integrity": "sha512-mQoNS4e0+lqkj3lPKE2u5vdQmdtgsqcLhzNJMhpCmFvJ896l5zKXOFQoFmF8BFz/v7w92FT7dpT5gd0lcIryyg==",
+ "license": "MIT",
+ "dependencies": {
+ "@lexical/list": "0.22.0",
+ "@lexical/selection": "0.22.0",
+ "@lexical/table": "0.22.0",
+ "lexical": "0.22.0"
+ }
+ },
+ "node_modules/@lexical/yjs": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/@lexical/yjs/-/yjs-0.22.0.tgz",
+ "integrity": "sha512-JrQO03HIIfOURpCpSZgZoTH8WBFumhvl9ysP1ZAqh9f2bLZp7qxi/jFgwOorz0NdM11Qb1dJprNNPaqNnS4BKA==",
+ "license": "MIT",
+ "dependencies": {
+ "@lexical/offset": "0.22.0",
+ "@lexical/selection": "0.22.0",
+ "lexical": "0.22.0"
},
"peerDependencies": {
- "@types/react": "*",
- "react": "*"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "react": {
- "optional": true
- }
+ "yjs": ">=13.5.22"
}
},
"node_modules/@noble/ciphers": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-0.5.3.tgz",
"integrity": "sha512-B0+6IIHiqEs3BPMT0hcRmHvEj2QHOLu+uwt+tqDDeVd0oyVzh7BPrDcPjRnV1PV/5LaknXJJQvOuRGR0zQJz+w==",
+ "license": "MIT",
"funding": {
"url": "https://paulmillr.com/funding/"
}
@@ -1687,6 +1521,7 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz",
"integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==",
+ "license": "MIT",
"dependencies": {
"@noble/hashes": "1.3.2"
},
@@ -1698,6 +1533,7 @@
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz",
"integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==",
+ "license": "MIT",
"engines": {
"node": ">= 16"
},
@@ -1709,6 +1545,7 @@
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz",
"integrity": "sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==",
+ "license": "MIT",
"engines": {
"node": ">= 16"
},
@@ -1720,6 +1557,7 @@
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
@@ -1732,6 +1570,7 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "license": "MIT",
"engines": {
"node": ">= 8"
}
@@ -1740,6 +1579,7 @@
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
@@ -1752,34 +1592,51 @@
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
"integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "license": "MIT",
"optional": true,
"engines": {
"node": ">=14"
}
},
+ "node_modules/@pkgr/core": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz",
+ "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/unts"
+ }
+ },
"node_modules/@radix-ui/number": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.0.tgz",
- "integrity": "sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ=="
+ "integrity": "sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==",
+ "license": "MIT"
},
"node_modules/@radix-ui/primitive": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.0.tgz",
- "integrity": "sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA=="
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.1.tgz",
+ "integrity": "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==",
+ "license": "MIT"
},
"node_modules/@radix-ui/react-accordion": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.0.tgz",
- "integrity": "sha512-HJOzSX8dQqtsp/3jVxCU3CXEONF7/2jlGAB28oX8TTw1Dz8JYbEI1UcL8355PuLBE41/IRRMvCw7VkiK/jcUOQ==",
- "dependencies": {
- "@radix-ui/primitive": "1.1.0",
- "@radix-ui/react-collapsible": "1.1.0",
- "@radix-ui/react-collection": "1.1.0",
- "@radix-ui/react-compose-refs": "1.1.0",
- "@radix-ui/react-context": "1.1.0",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.2.tgz",
+ "integrity": "sha512-b1oh54x4DMCdGsB4/7ahiSrViXxaBwRPotiZNnYXjLha9vfuURSAZErki6qjDoSIV0eXx5v57XnTGVtGwnfp2g==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.1",
+ "@radix-ui/react-collapsible": "1.1.2",
+ "@radix-ui/react-collection": "1.1.1",
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-context": "1.1.1",
"@radix-ui/react-direction": "1.1.0",
"@radix-ui/react-id": "1.1.0",
- "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-primitive": "2.0.1",
"@radix-ui/react-use-controllable-state": "1.1.0"
},
"peerDependencies": {
@@ -1798,11 +1655,68 @@
}
},
"node_modules/@radix-ui/react-arrow": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.0.tgz",
- "integrity": "sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.1.tgz",
+ "integrity": "sha512-NaVpZfmv8SKeZbn4ijN2V3jlHA9ngBG16VnIIm22nUR0Yk8KUALyBxT3KYEUnNuch9sTE8UTsS3whzBgKOL30w==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-primitive": "2.0.1"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-avatar": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.1.2.tgz",
+ "integrity": "sha512-GaC7bXQZ5VgZvVvsJ5mu/AEbjYLnhhkoidOboC50Z6FFlLA03wG2ianUoH+zgDQ31/9gCF59bE4+2bBgTyMiig==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/react-context": "1.1.1",
+ "@radix-ui/react-primitive": "2.0.1",
+ "@radix-ui/react-use-callback-ref": "1.1.0",
+ "@radix-ui/react-use-layout-effect": "1.1.0"
+ },
+ "peerDependencies": {
+ "@types/react": "*",
+ "@types/react-dom": "*",
+ "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "@types/react-dom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@radix-ui/react-checkbox": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.1.3.tgz",
+ "integrity": "sha512-HD7/ocp8f1B3e6OHygH0n7ZKjONkhciy1Nh0yuBgObqThc3oyx+vuMfFHKAknXRHHWVE9XvXStxJFyjUmB8PIw==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/react-primitive": "2.0.0"
+ "@radix-ui/primitive": "1.1.1",
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-context": "1.1.1",
+ "@radix-ui/react-presence": "1.1.2",
+ "@radix-ui/react-primitive": "2.0.1",
+ "@radix-ui/react-use-controllable-state": "1.1.0",
+ "@radix-ui/react-use-previous": "1.1.0",
+ "@radix-ui/react-use-size": "1.1.0"
},
"peerDependencies": {
"@types/react": "*",
@@ -1820,16 +1734,17 @@
}
},
"node_modules/@radix-ui/react-collapsible": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.0.tgz",
- "integrity": "sha512-zQY7Epa8sTL0mq4ajSJpjgn2YmCgyrG7RsQgLp3C0LQVkG7+Tf6Pv1CeNWZLyqMjhdPkBa5Lx7wYBeSu7uCSTA==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.2.tgz",
+ "integrity": "sha512-PliMB63vxz7vggcyq0IxNYk8vGDrLXVWw4+W4B8YnwI1s18x7YZYqlG9PLX7XxAJUi0g2DxP4XKJMFHh/iVh9A==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/primitive": "1.1.0",
- "@radix-ui/react-compose-refs": "1.1.0",
- "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/primitive": "1.1.1",
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-context": "1.1.1",
"@radix-ui/react-id": "1.1.0",
- "@radix-ui/react-presence": "1.1.0",
- "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-presence": "1.1.2",
+ "@radix-ui/react-primitive": "2.0.1",
"@radix-ui/react-use-controllable-state": "1.1.0",
"@radix-ui/react-use-layout-effect": "1.1.0"
},
@@ -1849,14 +1764,15 @@
}
},
"node_modules/@radix-ui/react-collection": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.0.tgz",
- "integrity": "sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.1.tgz",
+ "integrity": "sha512-LwT3pSho9Dljg+wY2KN2mrrh6y3qELfftINERIzBUO9e0N+t0oMTyn3k9iv+ZqgrwGkRnLpNJrsMv9BZlt2yuA==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/react-compose-refs": "1.1.0",
- "@radix-ui/react-context": "1.1.0",
- "@radix-ui/react-primitive": "2.0.0",
- "@radix-ui/react-slot": "1.1.0"
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-context": "1.1.1",
+ "@radix-ui/react-primitive": "2.0.1",
+ "@radix-ui/react-slot": "1.1.1"
},
"peerDependencies": {
"@types/react": "*",
@@ -1874,9 +1790,10 @@
}
},
"node_modules/@radix-ui/react-compose-refs": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz",
- "integrity": "sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz",
+ "integrity": "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==",
+ "license": "MIT",
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
@@ -1888,9 +1805,10 @@
}
},
"node_modules/@radix-ui/react-context": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz",
- "integrity": "sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.1.tgz",
+ "integrity": "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==",
+ "license": "MIT",
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
@@ -1902,24 +1820,25 @@
}
},
"node_modules/@radix-ui/react-dialog": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.1.tgz",
- "integrity": "sha512-zysS+iU4YP3STKNS6USvFVqI4qqx8EpiwmT5TuCApVEBca+eRCbONi4EgzfNSuVnOXvC5UPHHMjs8RXO6DH9Bg==",
- "dependencies": {
- "@radix-ui/primitive": "1.1.0",
- "@radix-ui/react-compose-refs": "1.1.0",
- "@radix-ui/react-context": "1.1.0",
- "@radix-ui/react-dismissable-layer": "1.1.0",
- "@radix-ui/react-focus-guards": "1.1.0",
- "@radix-ui/react-focus-scope": "1.1.0",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.4.tgz",
+ "integrity": "sha512-Ur7EV1IwQGCyaAuyDRiOLA5JIUZxELJljF+MbM/2NC0BYwfuRrbpS30BiQBJrVruscgUkieKkqXYDOoByaxIoA==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.1",
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-context": "1.1.1",
+ "@radix-ui/react-dismissable-layer": "1.1.3",
+ "@radix-ui/react-focus-guards": "1.1.1",
+ "@radix-ui/react-focus-scope": "1.1.1",
"@radix-ui/react-id": "1.1.0",
- "@radix-ui/react-portal": "1.1.1",
- "@radix-ui/react-presence": "1.1.0",
- "@radix-ui/react-primitive": "2.0.0",
- "@radix-ui/react-slot": "1.1.0",
+ "@radix-ui/react-portal": "1.1.3",
+ "@radix-ui/react-presence": "1.1.2",
+ "@radix-ui/react-primitive": "2.0.1",
+ "@radix-ui/react-slot": "1.1.1",
"@radix-ui/react-use-controllable-state": "1.1.0",
"aria-hidden": "^1.1.1",
- "react-remove-scroll": "2.5.7"
+ "react-remove-scroll": "^2.6.1"
},
"peerDependencies": {
"@types/react": "*",
@@ -1940,6 +1859,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.0.tgz",
"integrity": "sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==",
+ "license": "MIT",
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
@@ -1951,13 +1871,14 @@
}
},
"node_modules/@radix-ui/react-dismissable-layer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.0.tgz",
- "integrity": "sha512-/UovfmmXGptwGcBQawLzvn2jOfM0t4z3/uKffoBlj724+n3FvBbZ7M0aaBOmkp6pqFYpO4yx8tSVJjx3Fl2jig==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.3.tgz",
+ "integrity": "sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/primitive": "1.1.0",
- "@radix-ui/react-compose-refs": "1.1.0",
- "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/primitive": "1.1.1",
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-primitive": "2.0.1",
"@radix-ui/react-use-callback-ref": "1.1.0",
"@radix-ui/react-use-escape-keydown": "1.1.0"
},
@@ -1977,16 +1898,17 @@
}
},
"node_modules/@radix-ui/react-dropdown-menu": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.1.tgz",
- "integrity": "sha512-y8E+x9fBq9qvteD2Zwa4397pUVhYsh9iq44b5RD5qu1GMJWBCBuVg1hMyItbc6+zH00TxGRqd9Iot4wzf3OoBQ==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.4.tgz",
+ "integrity": "sha512-iXU1Ab5ecM+yEepGAWK8ZhMyKX4ubFdCNtol4sT9D0OVErG9PNElfx3TQhjw7n7BC5nFVz68/5//clWy+8TXzA==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/primitive": "1.1.0",
- "@radix-ui/react-compose-refs": "1.1.0",
- "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/primitive": "1.1.1",
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-context": "1.1.1",
"@radix-ui/react-id": "1.1.0",
- "@radix-ui/react-menu": "2.1.1",
- "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-menu": "2.1.4",
+ "@radix-ui/react-primitive": "2.0.1",
"@radix-ui/react-use-controllable-state": "1.1.0"
},
"peerDependencies": {
@@ -2005,9 +1927,10 @@
}
},
"node_modules/@radix-ui/react-focus-guards": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.0.tgz",
- "integrity": "sha512-w6XZNUPVv6xCpZUqb/yN9DL6auvpGX3C/ee6Hdi16v2UUy25HV2Q5bcflsiDyT/g5RwbPQ/GIT1vLkeRb+ITBw==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.1.tgz",
+ "integrity": "sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==",
+ "license": "MIT",
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
@@ -2019,12 +1942,13 @@
}
},
"node_modules/@radix-ui/react-focus-scope": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.0.tgz",
- "integrity": "sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.1.tgz",
+ "integrity": "sha512-01omzJAYRxXdG2/he/+xy+c8a8gCydoQ1yOxnWNcRhrrBW5W+RQJ22EK1SaO8tb3WoUsuEw7mJjBozPzihDFjA==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/react-compose-refs": "1.1.0",
- "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-primitive": "2.0.1",
"@radix-ui/react-use-callback-ref": "1.1.0"
},
"peerDependencies": {
@@ -2042,18 +1966,11 @@
}
}
},
- "node_modules/@radix-ui/react-icons": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-icons/-/react-icons-1.3.0.tgz",
- "integrity": "sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==",
- "peerDependencies": {
- "react": "^16.x || ^17.x || ^18.x"
- }
- },
"node_modules/@radix-ui/react-id": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.0.tgz",
"integrity": "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==",
+ "license": "MIT",
"dependencies": {
"@radix-ui/react-use-layout-effect": "1.1.0"
},
@@ -2068,11 +1985,12 @@
}
},
"node_modules/@radix-ui/react-label": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.0.tgz",
- "integrity": "sha512-peLblDlFw/ngk3UWq0VnYaOLy6agTZZ+MUO/WhVfm14vJGML+xH4FAl2XQGLqdefjNb7ApRg6Yn7U42ZhmYXdw==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.1.tgz",
+ "integrity": "sha512-UUw5E4e/2+4kFMH7+YxORXGWggtY6sM8WIwh5RZchhLuUg2H1hc98Py+pr8HMz6rdaYrK2t296ZEjYLOCO5uUw==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/react-primitive": "2.0.0"
+ "@radix-ui/react-primitive": "2.0.1"
},
"peerDependencies": {
"@types/react": "*",
@@ -2090,28 +2008,29 @@
}
},
"node_modules/@radix-ui/react-menu": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.1.tgz",
- "integrity": "sha512-oa3mXRRVjHi6DZu/ghuzdylyjaMXLymx83irM7hTxutQbD+7IhPKdMdRHD26Rm+kHRrWcrUkkRPv5pd47a2xFQ==",
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.4.tgz",
+ "integrity": "sha512-BnOgVoL6YYdHAG6DtXONaR29Eq4nvbi8rutrV/xlr3RQCMMb3yqP85Qiw/3NReozrSW+4dfLkK+rc1hb4wPU/A==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/primitive": "1.1.0",
- "@radix-ui/react-collection": "1.1.0",
- "@radix-ui/react-compose-refs": "1.1.0",
- "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/primitive": "1.1.1",
+ "@radix-ui/react-collection": "1.1.1",
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-context": "1.1.1",
"@radix-ui/react-direction": "1.1.0",
- "@radix-ui/react-dismissable-layer": "1.1.0",
- "@radix-ui/react-focus-guards": "1.1.0",
- "@radix-ui/react-focus-scope": "1.1.0",
+ "@radix-ui/react-dismissable-layer": "1.1.3",
+ "@radix-ui/react-focus-guards": "1.1.1",
+ "@radix-ui/react-focus-scope": "1.1.1",
"@radix-ui/react-id": "1.1.0",
- "@radix-ui/react-popper": "1.2.0",
- "@radix-ui/react-portal": "1.1.1",
- "@radix-ui/react-presence": "1.1.0",
- "@radix-ui/react-primitive": "2.0.0",
- "@radix-ui/react-roving-focus": "1.1.0",
- "@radix-ui/react-slot": "1.1.0",
+ "@radix-ui/react-popper": "1.2.1",
+ "@radix-ui/react-portal": "1.1.3",
+ "@radix-ui/react-presence": "1.1.2",
+ "@radix-ui/react-primitive": "2.0.1",
+ "@radix-ui/react-roving-focus": "1.1.1",
+ "@radix-ui/react-slot": "1.1.1",
"@radix-ui/react-use-callback-ref": "1.1.0",
"aria-hidden": "^1.1.1",
- "react-remove-scroll": "2.5.7"
+ "react-remove-scroll": "^2.6.1"
},
"peerDependencies": {
"@types/react": "*",
@@ -2129,25 +2048,26 @@
}
},
"node_modules/@radix-ui/react-popover": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.1.tgz",
- "integrity": "sha512-3y1A3isulwnWhvTTwmIreiB8CF4L+qRjZnK1wYLO7pplddzXKby/GnZ2M7OZY3qgnl6p9AodUIHRYGXNah8Y7g==",
- "dependencies": {
- "@radix-ui/primitive": "1.1.0",
- "@radix-ui/react-compose-refs": "1.1.0",
- "@radix-ui/react-context": "1.1.0",
- "@radix-ui/react-dismissable-layer": "1.1.0",
- "@radix-ui/react-focus-guards": "1.1.0",
- "@radix-ui/react-focus-scope": "1.1.0",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.4.tgz",
+ "integrity": "sha512-aUACAkXx8LaFymDma+HQVji7WhvEhpFJ7+qPz17Nf4lLZqtreGOFRiNQWQmhzp7kEWg9cOyyQJpdIMUMPc/CPw==",
+ "license": "MIT",
+ "dependencies": {
+ "@radix-ui/primitive": "1.1.1",
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-context": "1.1.1",
+ "@radix-ui/react-dismissable-layer": "1.1.3",
+ "@radix-ui/react-focus-guards": "1.1.1",
+ "@radix-ui/react-focus-scope": "1.1.1",
"@radix-ui/react-id": "1.1.0",
- "@radix-ui/react-popper": "1.2.0",
- "@radix-ui/react-portal": "1.1.1",
- "@radix-ui/react-presence": "1.1.0",
- "@radix-ui/react-primitive": "2.0.0",
- "@radix-ui/react-slot": "1.1.0",
+ "@radix-ui/react-popper": "1.2.1",
+ "@radix-ui/react-portal": "1.1.3",
+ "@radix-ui/react-presence": "1.1.2",
+ "@radix-ui/react-primitive": "2.0.1",
+ "@radix-ui/react-slot": "1.1.1",
"@radix-ui/react-use-controllable-state": "1.1.0",
"aria-hidden": "^1.1.1",
- "react-remove-scroll": "2.5.7"
+ "react-remove-scroll": "^2.6.1"
},
"peerDependencies": {
"@types/react": "*",
@@ -2165,15 +2085,16 @@
}
},
"node_modules/@radix-ui/react-popper": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.0.tgz",
- "integrity": "sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.1.tgz",
+ "integrity": "sha512-3kn5Me69L+jv82EKRuQCXdYyf1DqHwD2U/sxoNgBGCB7K9TRc3bQamQ+5EPM9EvyPdli0W41sROd+ZU1dTCztw==",
+ "license": "MIT",
"dependencies": {
"@floating-ui/react-dom": "^2.0.0",
- "@radix-ui/react-arrow": "1.1.0",
- "@radix-ui/react-compose-refs": "1.1.0",
- "@radix-ui/react-context": "1.1.0",
- "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-arrow": "1.1.1",
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-context": "1.1.1",
+ "@radix-ui/react-primitive": "2.0.1",
"@radix-ui/react-use-callback-ref": "1.1.0",
"@radix-ui/react-use-layout-effect": "1.1.0",
"@radix-ui/react-use-rect": "1.1.0",
@@ -2196,11 +2117,12 @@
}
},
"node_modules/@radix-ui/react-portal": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.1.tgz",
- "integrity": "sha512-A3UtLk85UtqhzFqtoC8Q0KvR2GbXF3mtPgACSazajqq6A41mEQgo53iPzY4i6BwDxlIFqWIhiQ2G729n+2aw/g==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.3.tgz",
+ "integrity": "sha512-NciRqhXnGojhT93RPyDaMPfLH3ZSl4jjIFbZQ1b/vxvZEdHsBZ49wP9w8L3HzUQwep01LcWtkUvm0OVB5JAHTw==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-primitive": "2.0.1",
"@radix-ui/react-use-layout-effect": "1.1.0"
},
"peerDependencies": {
@@ -2219,11 +2141,12 @@
}
},
"node_modules/@radix-ui/react-presence": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.0.tgz",
- "integrity": "sha512-Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.2.tgz",
+ "integrity": "sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/react-compose-refs": "1.1.0",
+ "@radix-ui/react-compose-refs": "1.1.1",
"@radix-ui/react-use-layout-effect": "1.1.0"
},
"peerDependencies": {
@@ -2242,11 +2165,12 @@
}
},
"node_modules/@radix-ui/react-primitive": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz",
- "integrity": "sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.1.tgz",
+ "integrity": "sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/react-slot": "1.1.0"
+ "@radix-ui/react-slot": "1.1.1"
},
"peerDependencies": {
"@types/react": "*",
@@ -2264,17 +2188,18 @@
}
},
"node_modules/@radix-ui/react-roving-focus": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.0.tgz",
- "integrity": "sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.1.tgz",
+ "integrity": "sha512-QE1RoxPGJ/Nm8Qmk0PxP8ojmoaS67i0s7hVssS7KuI2FQoc/uzVlZsqKfQvxPE6D8hICCPHJ4D88zNhT3OOmkw==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/primitive": "1.1.0",
- "@radix-ui/react-collection": "1.1.0",
- "@radix-ui/react-compose-refs": "1.1.0",
- "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/primitive": "1.1.1",
+ "@radix-ui/react-collection": "1.1.1",
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-context": "1.1.1",
"@radix-ui/react-direction": "1.1.0",
"@radix-ui/react-id": "1.1.0",
- "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-primitive": "2.0.1",
"@radix-ui/react-use-callback-ref": "1.1.0",
"@radix-ui/react-use-controllable-state": "1.1.0"
},
@@ -2294,17 +2219,18 @@
}
},
"node_modules/@radix-ui/react-scroll-area": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.1.0.tgz",
- "integrity": "sha512-9ArIZ9HWhsrfqS765h+GZuLoxaRHD/j0ZWOWilsCvYTpYJp8XwCqNG7Dt9Nu/TItKOdgLGkOPCodQvDc+UMwYg==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.2.2.tgz",
+ "integrity": "sha512-EFI1N/S3YxZEW/lJ/H1jY3njlvTd8tBmgKEn4GHi51+aMm94i6NmAJstsm5cu3yJwYqYc93gpCPm21FeAbFk6g==",
+ "license": "MIT",
"dependencies": {
"@radix-ui/number": "1.1.0",
- "@radix-ui/primitive": "1.1.0",
- "@radix-ui/react-compose-refs": "1.1.0",
- "@radix-ui/react-context": "1.1.0",
+ "@radix-ui/primitive": "1.1.1",
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-context": "1.1.1",
"@radix-ui/react-direction": "1.1.0",
- "@radix-ui/react-presence": "1.1.0",
- "@radix-ui/react-primitive": "2.0.0",
+ "@radix-ui/react-presence": "1.1.2",
+ "@radix-ui/react-primitive": "2.0.1",
"@radix-ui/react-use-callback-ref": "1.1.0",
"@radix-ui/react-use-layout-effect": "1.1.0"
},
@@ -2323,54 +2249,13 @@
}
}
},
- "node_modules/@radix-ui/react-select": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.1.1.tgz",
- "integrity": "sha512-8iRDfyLtzxlprOo9IicnzvpsO1wNCkuwzzCM+Z5Rb5tNOpCdMvcc2AkzX0Fz+Tz9v6NJ5B/7EEgyZveo4FBRfQ==",
- "dependencies": {
- "@radix-ui/number": "1.1.0",
- "@radix-ui/primitive": "1.1.0",
- "@radix-ui/react-collection": "1.1.0",
- "@radix-ui/react-compose-refs": "1.1.0",
- "@radix-ui/react-context": "1.1.0",
- "@radix-ui/react-direction": "1.1.0",
- "@radix-ui/react-dismissable-layer": "1.1.0",
- "@radix-ui/react-focus-guards": "1.1.0",
- "@radix-ui/react-focus-scope": "1.1.0",
- "@radix-ui/react-id": "1.1.0",
- "@radix-ui/react-popper": "1.2.0",
- "@radix-ui/react-portal": "1.1.1",
- "@radix-ui/react-primitive": "2.0.0",
- "@radix-ui/react-slot": "1.1.0",
- "@radix-ui/react-use-callback-ref": "1.1.0",
- "@radix-ui/react-use-controllable-state": "1.1.0",
- "@radix-ui/react-use-layout-effect": "1.1.0",
- "@radix-ui/react-use-previous": "1.1.0",
- "@radix-ui/react-visually-hidden": "1.1.0",
- "aria-hidden": "^1.1.1",
- "react-remove-scroll": "2.5.7"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
- "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
"node_modules/@radix-ui/react-separator": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.0.tgz",
- "integrity": "sha512-3uBAs+egzvJBDZAzvb/n4NxxOYpnspmWxO2u5NbZ8Y6FM/NdrGSF9bop3Cf6F6C71z1rTSn8KV0Fo2ZVd79lGA==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.1.tgz",
+ "integrity": "sha512-RRiNRSrD8iUiXriq/Y5n4/3iE8HzqgLHsusUSg5jVpU2+3tqcUFPJXHDymwEypunc2sWxDUS3UC+rkZRlHedsw==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/react-primitive": "2.0.0"
+ "@radix-ui/react-primitive": "2.0.1"
},
"peerDependencies": {
"@types/react": "*",
@@ -2388,11 +2273,12 @@
}
},
"node_modules/@radix-ui/react-slot": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.0.tgz",
- "integrity": "sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.1.tgz",
+ "integrity": "sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/react-compose-refs": "1.1.0"
+ "@radix-ui/react-compose-refs": "1.1.1"
},
"peerDependencies": {
"@types/react": "*",
@@ -2404,47 +2290,24 @@
}
}
},
- "node_modules/@radix-ui/react-switch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.1.0.tgz",
- "integrity": "sha512-OBzy5WAj641k0AOSpKQtreDMe+isX0MQJ1IVyF03ucdF3DunOnROVrjWs8zsXUxC3zfZ6JL9HFVCUlMghz9dJw==",
- "dependencies": {
- "@radix-ui/primitive": "1.1.0",
- "@radix-ui/react-compose-refs": "1.1.0",
- "@radix-ui/react-context": "1.1.0",
- "@radix-ui/react-primitive": "2.0.0",
- "@radix-ui/react-use-controllable-state": "1.1.0",
- "@radix-ui/react-use-previous": "1.1.0",
- "@radix-ui/react-use-size": "1.1.0"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
- "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
- "node_modules/@radix-ui/react-tabs": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.0.tgz",
- "integrity": "sha512-bZgOKB/LtZIij75FSuPzyEti/XBhJH52ExgtdVqjCIh+Nx/FW+LhnbXtbCzIi34ccyMsyOja8T0thCzoHFXNKA==",
+ "node_modules/@radix-ui/react-tooltip": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.1.6.tgz",
+ "integrity": "sha512-TLB5D8QLExS1uDn7+wH/bjEmRurNMTzNrtq7IjaS4kjion9NtzsTGkvR5+i7yc9q01Pi2KMM2cN3f8UG4IvvXA==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/primitive": "1.1.0",
- "@radix-ui/react-context": "1.1.0",
- "@radix-ui/react-direction": "1.1.0",
+ "@radix-ui/primitive": "1.1.1",
+ "@radix-ui/react-compose-refs": "1.1.1",
+ "@radix-ui/react-context": "1.1.1",
+ "@radix-ui/react-dismissable-layer": "1.1.3",
"@radix-ui/react-id": "1.1.0",
- "@radix-ui/react-presence": "1.1.0",
- "@radix-ui/react-primitive": "2.0.0",
- "@radix-ui/react-roving-focus": "1.1.0",
- "@radix-ui/react-use-controllable-state": "1.1.0"
+ "@radix-ui/react-popper": "1.2.1",
+ "@radix-ui/react-portal": "1.1.3",
+ "@radix-ui/react-presence": "1.1.2",
+ "@radix-ui/react-primitive": "2.0.1",
+ "@radix-ui/react-slot": "1.1.1",
+ "@radix-ui/react-use-controllable-state": "1.1.0",
+ "@radix-ui/react-visually-hidden": "1.1.1"
},
"peerDependencies": {
"@types/react": "*",
@@ -2465,6 +2328,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz",
"integrity": "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==",
+ "license": "MIT",
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
@@ -2479,6 +2343,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz",
"integrity": "sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==",
+ "license": "MIT",
"dependencies": {
"@radix-ui/react-use-callback-ref": "1.1.0"
},
@@ -2496,6 +2361,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.0.tgz",
"integrity": "sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==",
+ "license": "MIT",
"dependencies": {
"@radix-ui/react-use-callback-ref": "1.1.0"
},
@@ -2513,6 +2379,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz",
"integrity": "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==",
+ "license": "MIT",
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
@@ -2527,6 +2394,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.0.tgz",
"integrity": "sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==",
+ "license": "MIT",
"peerDependencies": {
"@types/react": "*",
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
@@ -2541,6 +2409,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.0.tgz",
"integrity": "sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==",
+ "license": "MIT",
"dependencies": {
"@radix-ui/rect": "1.1.0"
},
@@ -2558,6 +2427,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.0.tgz",
"integrity": "sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==",
+ "license": "MIT",
"dependencies": {
"@radix-ui/react-use-layout-effect": "1.1.0"
},
@@ -2572,11 +2442,12 @@
}
},
"node_modules/@radix-ui/react-visually-hidden": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.0.tgz",
- "integrity": "sha512-N8MDZqtgCgG5S3aV60INAB475osJousYpZ4cTJ2cFbMpdHS5Y6loLTH8LPtkj2QN0x93J30HT/M3qJXM0+lyeQ==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.1.tgz",
+ "integrity": "sha512-vVfA2IZ9q/J+gEamvj761Oq1FpWgCDaNOOIfbPVp2MVPLEomUr5+Vf7kJGwQ24YxZSlQVar7Bes8kyTo5Dshpg==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/react-primitive": "2.0.0"
+ "@radix-ui/react-primitive": "2.0.1"
},
"peerDependencies": {
"@types/react": "*",
@@ -2596,28 +2467,16 @@
"node_modules/@radix-ui/rect": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.0.tgz",
- "integrity": "sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg=="
- },
- "node_modules/@replit/codemirror-vim": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/@replit/codemirror-vim/-/codemirror-vim-6.2.1.tgz",
- "integrity": "sha512-qDAcGSHBYU5RrdO//qCmD8K9t6vbP327iCj/iqrkVnjbrpFhrjOt92weGXGHmTNRh16cUtkUZ7Xq7rZf+8HVow==",
- "peerDependencies": {
- "@codemirror/commands": "^6.0.0",
- "@codemirror/language": "^6.1.0",
- "@codemirror/search": "^6.2.0",
- "@codemirror/state": "^6.0.1",
- "@codemirror/view": "^6.0.3"
- }
+ "integrity": "sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==",
+ "license": "MIT"
},
"node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.22.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.5.tgz",
- "integrity": "sha512-SU5cvamg0Eyu/F+kLeMXS7GoahL+OoizlclVFX3l5Ql6yNlywJJ0OuqTzUx0v+aHhPHEB/56CT06GQrRrGNYww==",
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.28.1.tgz",
+ "integrity": "sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==",
"cpu": [
"arm"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2625,13 +2484,12 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
- "version": "4.22.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.5.tgz",
- "integrity": "sha512-S4pit5BP6E5R5C8S6tgU/drvgjtYW76FBuG6+ibG3tMvlD1h9LHVF9KmlmaUBQ8Obou7hEyS+0w+IR/VtxwNMQ==",
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.28.1.tgz",
+ "integrity": "sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==",
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2639,13 +2497,12 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.22.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.5.tgz",
- "integrity": "sha512-250ZGg4ipTL0TGvLlfACkIxS9+KLtIbn7BCZjsZj88zSg2Lvu3Xdw6dhAhfe/FjjXPVNCtcSp+WZjVsD3a/Zlw==",
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.28.1.tgz",
+ "integrity": "sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==",
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2653,27 +2510,51 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.22.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.5.tgz",
- "integrity": "sha512-D8brJEFg5D+QxFcW6jYANu+Rr9SlKtTenmsX5hOSzNYVrK5oLAEMTUgKWYJP+wdKyCdeSwnapLsn+OVRFycuQg==",
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.28.1.tgz",
+ "integrity": "sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==",
"cpu": [
"x64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
]
},
+ "node_modules/@rollup/rollup-freebsd-arm64": {
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.28.1.tgz",
+ "integrity": "sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-x64": {
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.28.1.tgz",
+ "integrity": "sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.22.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.5.tgz",
- "integrity": "sha512-PNqXYmdNFyWNg0ma5LdY8wP+eQfdvyaBAojAXgO7/gs0Q/6TQJVXAXe8gwW9URjbS0YAammur0fynYGiWsKlXw==",
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.28.1.tgz",
+ "integrity": "sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==",
"cpu": [
"arm"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2681,13 +2562,12 @@
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.22.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.5.tgz",
- "integrity": "sha512-kSSCZOKz3HqlrEuwKd9TYv7vxPYD77vHSUvM2y0YaTGnFc8AdI5TTQRrM1yIp3tXCKrSL9A7JLoILjtad5t8pQ==",
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.28.1.tgz",
+ "integrity": "sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==",
"cpu": [
"arm"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2695,13 +2575,12 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.22.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.5.tgz",
- "integrity": "sha512-oTXQeJHRbOnwRnRffb6bmqmUugz0glXaPyspp4gbQOPVApdpRrY/j7KP3lr7M8kTfQTyrBUzFjj5EuHAhqH4/w==",
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.28.1.tgz",
+ "integrity": "sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==",
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2709,13 +2588,25 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.22.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.5.tgz",
- "integrity": "sha512-qnOTIIs6tIGFKCHdhYitgC2XQ2X25InIbZFor5wh+mALH84qnFHvc+vmWUpyX97B0hNvwNUL4B+MB8vJvH65Fw==",
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.28.1.tgz",
+ "integrity": "sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==",
"cpu": [
"arm64"
],
- "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.28.1.tgz",
+ "integrity": "sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==",
+ "cpu": [
+ "loong64"
+ ],
"license": "MIT",
"optional": true,
"os": [
@@ -2723,13 +2614,12 @@
]
},
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
- "version": "4.22.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.5.tgz",
- "integrity": "sha512-TMYu+DUdNlgBXING13rHSfUc3Ky5nLPbWs4bFnT+R6Vu3OvXkTkixvvBKk8uO4MT5Ab6lC3U7x8S8El2q5o56w==",
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.28.1.tgz",
+ "integrity": "sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==",
"cpu": [
"ppc64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2737,13 +2627,12 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.22.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.5.tgz",
- "integrity": "sha512-PTQq1Kz22ZRvuhr3uURH+U/Q/a0pbxJoICGSprNLAoBEkyD3Sh9qP5I0Asn0y0wejXQBbsVMRZRxlbGFD9OK4A==",
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.28.1.tgz",
+ "integrity": "sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==",
"cpu": [
"riscv64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2751,13 +2640,12 @@
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.22.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.5.tgz",
- "integrity": "sha512-bR5nCojtpuMss6TDEmf/jnBnzlo+6n1UhgwqUvRoe4VIotC7FG1IKkyJbwsT7JDsF2jxR+NTnuOwiGv0hLyDoQ==",
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.28.1.tgz",
+ "integrity": "sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==",
"cpu": [
"s390x"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2765,13 +2653,12 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.22.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.5.tgz",
- "integrity": "sha512-N0jPPhHjGShcB9/XXZQWuWBKZQnC1F36Ce3sDqWpujsGjDz/CQtOL9LgTrJ+rJC8MJeesMWrMWVLKKNR/tMOCA==",
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.28.1.tgz",
+ "integrity": "sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==",
"cpu": [
"x64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2779,13 +2666,12 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.22.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.5.tgz",
- "integrity": "sha512-uBa2e28ohzNNwjr6Uxm4XyaA1M/8aTgfF2T7UIlElLaeXkgpmIJ2EitVNQxjO9xLLLy60YqAgKn/AqSpCUkE9g==",
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.28.1.tgz",
+ "integrity": "sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==",
"cpu": [
"x64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2793,13 +2679,12 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.22.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.5.tgz",
- "integrity": "sha512-RXT8S1HP8AFN/Kr3tg4fuYrNxZ/pZf1HemC5Tsddc6HzgGnJm0+Lh5rAHJkDuW3StI0ynNXukidROMXYl6ew8w==",
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.28.1.tgz",
+ "integrity": "sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==",
"cpu": [
"arm64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2807,13 +2692,12 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.22.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.5.tgz",
- "integrity": "sha512-ElTYOh50InL8kzyUD6XsnPit7jYCKrphmddKAe1/Ytt74apOxDq5YEcbsiKs0fR3vff3jEneMM+3I7jbqaMyBg==",
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.28.1.tgz",
+ "integrity": "sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==",
"cpu": [
"ia32"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2821,13 +2705,12 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.22.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.5.tgz",
- "integrity": "sha512-+lvL/4mQxSV8MukpkKyyvfwhH266COcWlXE/1qxwN08ajovta3459zrjLghYMgDerlzNwLAcFpvU+WWE5y6nAQ==",
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.28.1.tgz",
+ "integrity": "sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==",
"cpu": [
"x64"
],
- "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -2843,12 +2726,14 @@
"type": "individual",
"url": "https://paulmillr.com/funding/"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/@scure/bip32": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.1.tgz",
"integrity": "sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==",
+ "license": "MIT",
"dependencies": {
"@noble/curves": "~1.1.0",
"@noble/hashes": "~1.3.1",
@@ -2862,6 +2747,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.1.0.tgz",
"integrity": "sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA==",
+ "license": "MIT",
"dependencies": {
"@noble/hashes": "1.3.1"
},
@@ -2873,6 +2759,7 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.1.tgz",
"integrity": "sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==",
+ "license": "MIT",
"dependencies": {
"@noble/hashes": "~1.3.0",
"@scure/base": "~1.1.0"
@@ -2881,30 +2768,14 @@
"url": "https://paulmillr.com/funding/"
}
},
- "node_modules/@tailwindcss/typography": {
- "version": "0.5.15",
- "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.15.tgz",
- "integrity": "sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "lodash.castarray": "^4.4.0",
- "lodash.isplainobject": "^4.0.6",
- "lodash.merge": "^4.6.2",
- "postcss-selector-parser": "6.0.10"
- },
- "peerDependencies": {
- "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20"
- }
- },
"node_modules/@tanstack/eslint-plugin-query": {
- "version": "5.58.1",
- "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.58.1.tgz",
- "integrity": "sha512-hJR3N5ilK60gCgDWr7pWHV/vDiDVczT95F8AGIcg1gf9117aLPK+LDu+xP2JuEWpWKpsQ6OpWdVMim9kKlMybw==",
+ "version": "5.62.9",
+ "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.62.9.tgz",
+ "integrity": "sha512-F3onhTcpBj7zQDo0NVtZwZQKRFx8BwpSabMJybl9no3+dFHUurvNMrH5M/6KNpkdDCf3zyHWadruZL6636B8Fw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/utils": "^8.3.0"
+ "@typescript-eslint/utils": "^8.18.1"
},
"funding": {
"type": "github",
@@ -2915,9 +2786,9 @@
}
},
"node_modules/@tanstack/query-core": {
- "version": "5.56.2",
- "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.56.2.tgz",
- "integrity": "sha512-gor0RI3/R5rVV3gXfddh1MM+hgl0Z4G7tj6Xxpq6p2I03NGPaJ8dITY9Gz05zYYb/EJq9vPas/T4wn9EaDPd4Q==",
+ "version": "5.62.9",
+ "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.62.9.tgz",
+ "integrity": "sha512-lwePd8hNYhyQ4nM/iRQ+Wz2cDtspGeZZHFZmCzHJ7mfKXt+9S301fULiY2IR2byJYY6Z03T427E5PoVfMexHjw==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2925,9 +2796,9 @@
}
},
"node_modules/@tanstack/query-devtools": {
- "version": "5.58.0",
- "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.58.0.tgz",
- "integrity": "sha512-iFdQEFXaYYxqgrv63ots+65FGI+tNp5ZS5PdMU1DWisxk3fez5HG3FyVlbUva+RdYS5hSLbxZ9aw3yEs97GNTw==",
+ "version": "5.62.9",
+ "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.62.9.tgz",
+ "integrity": "sha512-b1NZzDLVf6laJsB1Cfm3ieuYzM+WqoO8qpm9v+3Etwd+Ph4zkhUMiT+wcWj5AhEPsXiRodKYiiW048VDNdBxNg==",
"license": "MIT",
"funding": {
"type": "github",
@@ -2935,12 +2806,12 @@
}
},
"node_modules/@tanstack/react-query": {
- "version": "5.56.2",
- "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.56.2.tgz",
- "integrity": "sha512-SR0GzHVo6yzhN72pnRhkEFRAHMsUo5ZPzAxfTMvUxFIDVS6W9LYUp6nXW3fcHVdg0ZJl8opSH85jqahvm6DSVg==",
+ "version": "5.62.10",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.62.10.tgz",
+ "integrity": "sha512-1e1WpHM5oGf27nWM/NWLY62/X9pbMBWa6ErWYmeuK0OqB9/g9UzA59ogiWbxCmS2wtAFQRhOdHhfSofrkhPl2g==",
"license": "MIT",
"dependencies": {
- "@tanstack/query-core": "5.56.2"
+ "@tanstack/query-core": "5.62.9"
},
"funding": {
"type": "github",
@@ -2951,19 +2822,19 @@
}
},
"node_modules/@tanstack/react-query-devtools": {
- "version": "5.58.0",
- "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.58.0.tgz",
- "integrity": "sha512-qF0xCyBeVuNLygTO1sAl1X4Gv52w52SeaDdbjYQmtTOooUJ3aAVlBEtiRJFfJblWQ9p/UQG8NIcC/65RjX8Jkw==",
+ "version": "5.62.10",
+ "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.62.10.tgz",
+ "integrity": "sha512-TnFcvfEnOvH9j8iYKRl8Qn/U2P0NijdQ6nilhHobpdAcF4DLUwlKKufJZAlc759+1HBZ/jEvCqWo2g3mO9Ttvg==",
"license": "MIT",
"dependencies": {
- "@tanstack/query-devtools": "5.58.0"
+ "@tanstack/query-devtools": "5.62.9"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/tannerlinsley"
},
"peerDependencies": {
- "@tanstack/react-query": "^5.56.2",
+ "@tanstack/react-query": "^5.62.10",
"react": "^18 || ^19"
}
},
@@ -2972,6 +2843,7 @@
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
"integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/parser": "^7.20.7",
"@babel/types": "^7.20.7",
@@ -2985,6 +2857,7 @@
"resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz",
"integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.0.0"
}
@@ -2994,6 +2867,7 @@
"resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
"integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/parser": "^7.1.0",
"@babel/types": "^7.0.0"
@@ -3004,6 +2878,7 @@
"resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz",
"integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/types": "^7.20.7"
}
@@ -3021,53 +2896,26 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
"integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
- "dev": true,
"license": "MIT"
},
"node_modules/@types/hast": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
"integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "*"
}
},
- "node_modules/@types/json-schema": {
- "version": "7.0.15",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
- "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
- "dev": true
- },
- "node_modules/@types/linkify-it": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz",
- "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==",
- "optional": true
- },
- "node_modules/@types/markdown-it": {
- "version": "12.2.3",
- "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz",
- "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==",
- "optional": true,
- "dependencies": {
- "@types/linkify-it": "*",
- "@types/mdurl": "*"
- }
- },
"node_modules/@types/mdast": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
"integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "*"
}
},
- "node_modules/@types/mdurl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz",
- "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==",
- "optional": true
- },
"node_modules/@types/ms": {
"version": "0.7.34",
"resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz",
@@ -3075,160 +2923,108 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "20.14.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz",
- "integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==",
- "dev": true,
+ "version": "22.10.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz",
+ "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==",
+ "devOptional": true,
+ "license": "MIT",
"dependencies": {
- "undici-types": "~5.26.4"
+ "undici-types": "~6.20.0"
}
},
- "node_modules/@types/prop-types": {
- "version": "15.7.12",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz",
- "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==",
- "devOptional": true
- },
"node_modules/@types/react": {
- "version": "18.3.10",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.10.tgz",
- "integrity": "sha512-02sAAlBnP39JgXwkAq3PeU9DVaaGpZyF3MGcC0MKgQVkZor5IiiDAipVaxQHtDJAmO4GIy/rVBy/LzVj76Cyqg==",
+ "version": "19.0.2",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.2.tgz",
+ "integrity": "sha512-USU8ZI/xyKJwFTpjSVIrSeHBVAGagkHQKPNbxeWwql/vDmnTIBgx+TJnhFnj1NXgz8XfprU0egV2dROLGpsBEg==",
"devOptional": true,
"license": "MIT",
"dependencies": {
- "@types/prop-types": "*",
"csstype": "^3.0.2"
}
},
- "node_modules/@types/react-copy-to-clipboard": {
- "version": "5.0.7",
- "resolved": "https://registry.npmjs.org/@types/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.7.tgz",
- "integrity": "sha512-Gft19D+as4M+9Whq1oglhmK49vqPhcLzk8WfvfLvaYMIPYanyfLy0+CwFucMJfdKoSFyySPmkkWn8/E6voQXjQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/react": "*"
- }
- },
"node_modules/@types/react-dom": {
- "version": "18.3.0",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz",
- "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==",
+ "version": "19.0.2",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.0.2.tgz",
+ "integrity": "sha512-c1s+7TKFaDRRxr1TxccIX2u7sfCnc3RxkVyBIUA2lCpyqCF+QoAwQ/CBg7bsMdVwP120HEH143VQezKtef5nCg==",
"devOptional": true,
- "dependencies": {
- "@types/react": "*"
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "^19.0.0"
}
},
- "node_modules/@types/semver": {
- "version": "7.5.8",
- "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
- "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
- "dev": true
- },
"node_modules/@types/unist": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz",
- "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ=="
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
+ "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
+ "license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz",
- "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==",
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.18.2.tgz",
+ "integrity": "sha512-adig4SzPLjeQ0Tm+jvsozSGiCliI2ajeURDGHjZ2llnA+A67HihCQ+a3amtPhUakd1GlwHxSRvzOZktbEvhPPg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@eslint-community/regexpp": "^4.5.1",
- "@typescript-eslint/scope-manager": "6.21.0",
- "@typescript-eslint/type-utils": "6.21.0",
- "@typescript-eslint/utils": "6.21.0",
- "@typescript-eslint/visitor-keys": "6.21.0",
- "debug": "^4.3.4",
+ "@eslint-community/regexpp": "^4.10.0",
+ "@typescript-eslint/scope-manager": "8.18.2",
+ "@typescript-eslint/type-utils": "8.18.2",
+ "@typescript-eslint/utils": "8.18.2",
+ "@typescript-eslint/visitor-keys": "8.18.2",
"graphemer": "^1.4.0",
- "ignore": "^5.2.4",
+ "ignore": "^5.3.1",
"natural-compare": "^1.4.0",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz",
- "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==",
- "dev": true,
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@types/json-schema": "^7.0.12",
- "@types/semver": "^7.5.0",
- "@typescript-eslint/scope-manager": "6.21.0",
- "@typescript-eslint/types": "6.21.0",
- "@typescript-eslint/typescript-estree": "6.21.0",
- "semver": "^7.5.4"
+ "ts-api-utils": "^1.3.0"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
+ "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0",
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <5.8.0"
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz",
- "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==",
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.18.2.tgz",
+ "integrity": "sha512-y7tcq4StgxQD4mDr9+Jb26dZ+HTZ/SkfqpXSiqeUXZHxOUyjWDKsmwKhJ0/tApR08DgOhrFAoAhyB80/p3ViuA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/scope-manager": "6.21.0",
- "@typescript-eslint/types": "6.21.0",
- "@typescript-eslint/typescript-estree": "6.21.0",
- "@typescript-eslint/visitor-keys": "6.21.0",
+ "@typescript-eslint/scope-manager": "8.18.2",
+ "@typescript-eslint/types": "8.18.2",
+ "@typescript-eslint/typescript-estree": "8.18.2",
+ "@typescript-eslint/visitor-keys": "8.18.2",
"debug": "^4.3.4"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <5.8.0"
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz",
- "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==",
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.18.2.tgz",
+ "integrity": "sha512-YJFSfbd0CJjy14r/EvWapYgV4R5CHzptssoag2M7y3Ra7XNta6GPAJPPP5KGB9j14viYXyrzRO5GkX7CRfo8/g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "6.21.0",
- "@typescript-eslint/visitor-keys": "6.21.0"
+ "@typescript-eslint/types": "8.18.2",
+ "@typescript-eslint/visitor-keys": "8.18.2"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
@@ -3236,64 +3032,37 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz",
- "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==",
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.18.2.tgz",
+ "integrity": "sha512-AB/Wr1Lz31bzHfGm/jgbFR0VB0SML/hd2P1yxzKDM48YmP7vbyJNHRExUE/wZsQj2wUCvbWH8poNHFuxLqCTnA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "6.21.0",
- "@typescript-eslint/utils": "6.21.0",
+ "@typescript-eslint/typescript-estree": "8.18.2",
+ "@typescript-eslint/utils": "8.18.2",
"debug": "^4.3.4",
- "ts-api-utils": "^1.0.1"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz",
- "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==",
- "dev": true,
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@types/json-schema": "^7.0.12",
- "@types/semver": "^7.5.0",
- "@typescript-eslint/scope-manager": "6.21.0",
- "@typescript-eslint/types": "6.21.0",
- "@typescript-eslint/typescript-estree": "6.21.0",
- "semver": "^7.5.4"
+ "ts-api-utils": "^1.3.0"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <5.8.0"
}
},
"node_modules/@typescript-eslint/types": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz",
- "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==",
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.18.2.tgz",
+ "integrity": "sha512-Z/zblEPp8cIvmEn6+tPDIHUbRu/0z5lqZ+NvolL5SvXWT5rQy7+Nch83M0++XzO0XrWRFWECgOAyE8bsJTl1GQ==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
@@ -3301,44 +3070,43 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz",
- "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==",
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.18.2.tgz",
+ "integrity": "sha512-WXAVt595HjpmlfH4crSdM/1bcsqh+1weFRWIa9XMTx/XHZ9TCKMcr725tLYqWOgzKdeDrqVHxFotrvWcEsk2Tg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "6.21.0",
- "@typescript-eslint/visitor-keys": "6.21.0",
+ "@typescript-eslint/types": "8.18.2",
+ "@typescript-eslint/visitor-keys": "8.18.2",
"debug": "^4.3.4",
- "globby": "^11.1.0",
+ "fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
- "minimatch": "9.0.3",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
+ "minimatch": "^9.0.4",
+ "semver": "^7.6.0",
+ "ts-api-utils": "^1.3.0"
},
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <5.8.0"
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.7.0.tgz",
- "integrity": "sha512-ZbdUdwsl2X/s3CiyAu3gOlfQzpbuG3nTWKPoIvAu1pu5r8viiJvv2NPN2AqArL35NCYtw/lrPPfM4gxrMLNLPw==",
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.18.2.tgz",
+ "integrity": "sha512-Cr4A0H7DtVIPkauj4sTSXVl+VBWewE9/o40KcF3TV9aqDEOWoXF3/+oRXNby3DYzZeCATvbdksYsGZzplwnK/Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.7.0",
- "@typescript-eslint/types": "8.7.0",
- "@typescript-eslint/typescript-estree": "8.7.0"
+ "@typescript-eslint/scope-manager": "8.18.2",
+ "@typescript-eslint/types": "8.18.2",
+ "@typescript-eslint/typescript-estree": "8.18.2"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -3348,33 +3116,20 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0"
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <5.8.0"
}
},
- "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.7.0.tgz",
- "integrity": "sha512-87rC0k3ZlDOuz82zzXRtQ7Akv3GKhHs0ti4YcbAJtaomllXoSO8hi7Ix3ccEvCd824dy9aIX+j3d2UMAfCtVpg==",
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.18.2.tgz",
+ "integrity": "sha512-zORcwn4C3trOWiCqFQP1x6G3xTRyZ1LYydnj51cRnJ6hxBlr/cKPckk+PKPUw/fXmvfKTcw7bwY3w9izgx5jZw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.7.0",
- "@typescript-eslint/visitor-keys": "8.7.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ "@typescript-eslint/types": "8.18.2",
+ "eslint-visitor-keys": "^4.2.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.7.0.tgz",
- "integrity": "sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w==",
- "dev": true,
- "license": "MIT",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
@@ -3383,101 +3138,48 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.7.0.tgz",
- "integrity": "sha512-MC8nmcGHsmfAKxwnluTQpNqceniT8SteVwd2voYlmiSWGOtjvGXdPl17dYu2797GVscK30Z04WRM28CrKS9WOg==",
+ "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
+ "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
"dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@typescript-eslint/types": "8.7.0",
- "@typescript-eslint/visitor-keys": "8.7.0",
- "debug": "^4.3.4",
- "fast-glob": "^3.3.2",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
- "ts-api-utils": "^1.3.0"
- },
+ "license": "Apache-2.0",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "url": "https://opencollective.com/eslint"
}
},
- "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.7.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.7.0.tgz",
- "integrity": "sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ==",
- "dev": true,
+ "node_modules/@uidotdev/usehooks": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/@uidotdev/usehooks/-/usehooks-2.4.1.tgz",
+ "integrity": "sha512-1I+RwWyS+kdv3Mv0Vmc+p0dPYH0DTRAo04HLyXReYBL9AeseDWUJyi4THuksBJcu9F0Pih69Ak150VDnqbVnXg==",
"license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "8.7.0",
- "eslint-visitor-keys": "^3.4.3"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/utils/node_modules/minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "6.21.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz",
- "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "6.21.0",
- "eslint-visitor-keys": "^3.4.1"
- },
"engines": {
- "node": "^16.0.0 || >=18.0.0"
+ "node": ">=16"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "peerDependencies": {
+ "react": ">=18.0.0",
+ "react-dom": ">=18.0.0"
}
},
"node_modules/@ungap/structured-clone": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
- "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ=="
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.1.tgz",
+ "integrity": "sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==",
+ "license": "ISC"
},
"node_modules/@vitejs/plugin-react": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.2.tgz",
- "integrity": "sha512-hieu+o05v4glEBucTcKMK3dlES0OeJlD9YVOAPraVMOInBCwzumaIFiUjr4bHK7NPgnAHgiskUoceKercrN8vg==",
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz",
+ "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/core": "^7.25.2",
- "@babel/plugin-transform-react-jsx-self": "^7.24.7",
- "@babel/plugin-transform-react-jsx-source": "^7.24.7",
+ "@babel/core": "^7.26.0",
+ "@babel/plugin-transform-react-jsx-self": "^7.25.9",
+ "@babel/plugin-transform-react-jsx-source": "^7.25.9",
"@types/babel__core": "^7.20.5",
"react-refresh": "^0.14.2"
},
@@ -3485,13 +3187,13 @@
"node": "^14.18.0 || >=16.0.0"
},
"peerDependencies": {
- "vite": "^4.2.0 || ^5.0.0"
+ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0"
}
},
"node_modules/@wailsio/runtime": {
- "version": "3.0.0-alpha.27",
- "resolved": "https://registry.npmjs.org/@wailsio/runtime/-/runtime-3.0.0-alpha.27.tgz",
- "integrity": "sha512-uhUm0XbpKytoVdSQMu7uGsxdtXEPEkLBlTtppeGYvw2P7dISJK9SczmOUGGyAHyyzdNMf5wIKkGr9ipCk/6fwA==",
+ "version": "3.0.0-alpha.29",
+ "resolved": "https://registry.npmjs.org/@wailsio/runtime/-/runtime-3.0.0-alpha.29.tgz",
+ "integrity": "sha512-gap5qxcw3fgDBYBN75X65XZoo3vEPyJ9L+cqRd8I133Bf0kPT6XVVchm8Gc693eDqH7djyhXmCB7zJfosVH0fA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3499,10 +3201,11 @@
}
},
"node_modules/acorn": {
- "version": "8.12.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz",
- "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==",
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
+ "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
"dev": true,
+ "license": "MIT",
"bin": {
"acorn": "bin/acorn"
},
@@ -3515,6 +3218,7 @@
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
"dev": true,
+ "license": "MIT",
"peerDependencies": {
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
@@ -3524,6 +3228,7 @@
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -3539,31 +3244,37 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "license": "MIT",
"dependencies": {
- "color-convert": "^1.9.0"
+ "color-convert": "^2.0.1"
},
"engines": {
- "node": ">=4"
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/any-promise": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
- "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="
+ "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
+ "license": "MIT"
},
"node_modules/anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "license": "ISC",
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
@@ -3575,18 +3286,21 @@
"node_modules/arg": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
- "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
+ "license": "MIT"
},
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
+ "dev": true,
+ "license": "Python-2.0"
},
"node_modules/aria-hidden": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz",
"integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==",
+ "license": "MIT",
"dependencies": {
"tslib": "^2.0.0"
},
@@ -3594,13 +3308,140 @@
"node": ">=10"
}
},
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "node_modules/array-buffer-byte-length": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz",
+ "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "is-array-buffer": "^3.0.5"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array-includes": {
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz",
+ "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==",
"dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
+ "is-string": "^1.0.7"
+ },
"engines": {
- "node": ">=8"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.findlast": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz",
+ "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.flat": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz",
+ "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.flatmap": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz",
+ "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array.prototype.tosorted": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz",
+ "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.3",
+ "es-errors": "^1.3.0",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/arraybuffer.prototype.slice": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz",
+ "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.1",
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "is-array-buffer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/autoprefixer": {
@@ -3641,10 +3482,37 @@
"postcss": "^8.1.0"
}
},
+ "node_modules/available-typed-arrays": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+ "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "possible-typed-array-names": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/babel-plugin-react-compiler": {
+ "version": "19.0.0-beta-201e55d-20241215",
+ "resolved": "https://registry.npmjs.org/babel-plugin-react-compiler/-/babel-plugin-react-compiler-19.0.0-beta-201e55d-20241215.tgz",
+ "integrity": "sha512-c7YAJNlA8kSoIFx2Buq/CeGmC3MbZYznD3H7Q3cdaRyKtwDSSxbM3VJxEhv7lEo64g48aWSBSiCI3XcRw0y/Jw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.19.0"
+ }
+ },
"node_modules/bail": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
"integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -3653,12 +3521,14 @@
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "license": "MIT"
},
"node_modules/binary-extensions": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "license": "MIT",
"engines": {
"node": ">=8"
},
@@ -3670,6 +3540,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
@@ -3678,6 +3549,7 @@
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "license": "MIT",
"dependencies": {
"fill-range": "^7.1.1"
},
@@ -3686,10 +3558,9 @@
}
},
"node_modules/browserslist": {
- "version": "4.24.0",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz",
- "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==",
- "dev": true,
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.3.tgz",
+ "integrity": "sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==",
"funding": [
{
"type": "opencollective",
@@ -3706,10 +3577,10 @@
],
"license": "MIT",
"dependencies": {
- "caniuse-lite": "^1.0.30001663",
- "electron-to-chromium": "^1.5.28",
- "node-releases": "^2.0.18",
- "update-browserslist-db": "^1.1.0"
+ "caniuse-lite": "^1.0.30001688",
+ "electron-to-chromium": "^1.5.73",
+ "node-releases": "^2.0.19",
+ "update-browserslist-db": "^1.1.1"
},
"bin": {
"browserslist": "cli.js"
@@ -3718,11 +3589,62 @@
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
+ "node_modules/call-bind": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
+ "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.0",
+ "es-define-property": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz",
+ "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/call-bound": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz",
+ "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "get-intrinsic": "^1.2.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/callsites": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -3731,15 +3653,15 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
"integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
+ "license": "MIT",
"engines": {
"node": ">= 6"
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001664",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001664.tgz",
- "integrity": "sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==",
- "dev": true,
+ "version": "1.0.30001689",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001689.tgz",
+ "integrity": "sha512-CmeR2VBycfa+5/jOfnp/NpWPGd06nf1XYiefUvhXFfZE4GkRc9jv+eGPS4nT558WS/8lYCzV8SlANCIPvbWP1g==",
"funding": [
{
"type": "opencollective",
@@ -3760,23 +3682,27 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
"integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/character-entities": {
@@ -3793,6 +3719,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
"integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -3802,6 +3729,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
"integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -3811,6 +3739,7 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "license": "MIT",
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -3834,6 +3763,7 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -3842,425 +3772,65 @@
}
},
"node_modules/class-variance-authority": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz",
- "integrity": "sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz",
+ "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==",
+ "license": "Apache-2.0",
"dependencies": {
- "clsx": "2.0.0"
+ "clsx": "^2.1.1"
},
"funding": {
- "url": "https://joebell.co.uk"
- }
- },
- "node_modules/class-variance-authority/node_modules/clsx": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz",
- "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==",
- "engines": {
- "node": ">=6"
+ "url": "https://polar.sh/cva"
}
},
"node_modules/clsx": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
"integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/cmdk": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/cmdk/-/cmdk-1.0.0.tgz",
- "integrity": "sha512-gDzVf0a09TvoJ5jnuPvygTB77+XdOSwEmJ88L6XPFPlv7T3RxbP9jgenfylrAMD0+Le1aO0nVjQUzl2g+vjz5Q==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/cmdk/-/cmdk-1.0.4.tgz",
+ "integrity": "sha512-AnsjfHyHpQ/EFeAnG216WY7A5LiYCoZzCSygiLvfXC3H3LFGCprErteUcszaVluGOhuOTbJS3jWHrSDYPBBygg==",
+ "license": "MIT",
"dependencies": {
- "@radix-ui/react-dialog": "1.0.5",
- "@radix-ui/react-primitive": "1.0.3"
+ "@radix-ui/react-dialog": "^1.1.2",
+ "@radix-ui/react-id": "^1.1.0",
+ "@radix-ui/react-primitive": "^2.0.0",
+ "use-sync-external-store": "^1.2.2"
},
"peerDependencies": {
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
- }
- },
- "node_modules/cmdk/node_modules/@radix-ui/primitive": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz",
- "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==",
- "dependencies": {
- "@babel/runtime": "^7.13.10"
+ "react": "^18 || ^19 || ^19.0.0-rc",
+ "react-dom": "^18 || ^19 || ^19.0.0-rc"
}
},
- "node_modules/cmdk/node_modules/@radix-ui/react-compose-refs": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz",
- "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==",
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- },
- "peerDependencies": {
- "@types/react": "*",
- "react": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/cmdk/node_modules/@radix-ui/react-context": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz",
- "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==",
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- },
- "peerDependencies": {
- "@types/react": "*",
- "react": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/cmdk/node_modules/@radix-ui/react-dialog": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.5.tgz",
- "integrity": "sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/primitive": "1.0.1",
- "@radix-ui/react-compose-refs": "1.0.1",
- "@radix-ui/react-context": "1.0.1",
- "@radix-ui/react-dismissable-layer": "1.0.5",
- "@radix-ui/react-focus-guards": "1.0.1",
- "@radix-ui/react-focus-scope": "1.0.4",
- "@radix-ui/react-id": "1.0.1",
- "@radix-ui/react-portal": "1.0.4",
- "@radix-ui/react-presence": "1.0.1",
- "@radix-ui/react-primitive": "1.0.3",
- "@radix-ui/react-slot": "1.0.2",
- "@radix-ui/react-use-controllable-state": "1.0.1",
- "aria-hidden": "^1.1.1",
- "react-remove-scroll": "2.5.5"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
- "node_modules/cmdk/node_modules/@radix-ui/react-dismissable-layer": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz",
- "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/primitive": "1.0.1",
- "@radix-ui/react-compose-refs": "1.0.1",
- "@radix-ui/react-primitive": "1.0.3",
- "@radix-ui/react-use-callback-ref": "1.0.1",
- "@radix-ui/react-use-escape-keydown": "1.0.3"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
- "node_modules/cmdk/node_modules/@radix-ui/react-focus-guards": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz",
- "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==",
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- },
- "peerDependencies": {
- "@types/react": "*",
- "react": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/cmdk/node_modules/@radix-ui/react-focus-scope": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz",
- "integrity": "sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-compose-refs": "1.0.1",
- "@radix-ui/react-primitive": "1.0.3",
- "@radix-ui/react-use-callback-ref": "1.0.1"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
- "node_modules/cmdk/node_modules/@radix-ui/react-id": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz",
- "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-use-layout-effect": "1.0.1"
- },
- "peerDependencies": {
- "@types/react": "*",
- "react": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/cmdk/node_modules/@radix-ui/react-portal": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz",
- "integrity": "sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-primitive": "1.0.3"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
- "node_modules/cmdk/node_modules/@radix-ui/react-presence": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz",
- "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-compose-refs": "1.0.1",
- "@radix-ui/react-use-layout-effect": "1.0.1"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
- "node_modules/cmdk/node_modules/@radix-ui/react-primitive": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz",
- "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-slot": "1.0.2"
- },
- "peerDependencies": {
- "@types/react": "*",
- "@types/react-dom": "*",
- "react": "^16.8 || ^17.0 || ^18.0",
- "react-dom": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- },
- "@types/react-dom": {
- "optional": true
- }
- }
- },
- "node_modules/cmdk/node_modules/@radix-ui/react-slot": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz",
- "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-compose-refs": "1.0.1"
- },
- "peerDependencies": {
- "@types/react": "*",
- "react": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/cmdk/node_modules/@radix-ui/react-use-callback-ref": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz",
- "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==",
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- },
- "peerDependencies": {
- "@types/react": "*",
- "react": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/cmdk/node_modules/@radix-ui/react-use-controllable-state": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz",
- "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-use-callback-ref": "1.0.1"
- },
- "peerDependencies": {
- "@types/react": "*",
- "react": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/cmdk/node_modules/@radix-ui/react-use-escape-keydown": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz",
- "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==",
- "dependencies": {
- "@babel/runtime": "^7.13.10",
- "@radix-ui/react-use-callback-ref": "1.0.1"
- },
- "peerDependencies": {
- "@types/react": "*",
- "react": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/cmdk/node_modules/@radix-ui/react-use-layout-effect": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz",
- "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==",
- "dependencies": {
- "@babel/runtime": "^7.13.10"
- },
- "peerDependencies": {
- "@types/react": "*",
- "react": "^16.8 || ^17.0 || ^18.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/cmdk/node_modules/react-remove-scroll": {
- "version": "2.5.5",
- "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz",
- "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==",
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "license": "MIT",
"dependencies": {
- "react-remove-scroll-bar": "^2.3.3",
- "react-style-singleton": "^2.2.1",
- "tslib": "^2.1.0",
- "use-callback-ref": "^1.3.0",
- "use-sidecar": "^1.1.2"
+ "color-name": "~1.1.4"
},
"engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
- },
- "peerDependenciesMeta": {
- "@types/react": {
- "optional": true
- }
- }
- },
- "node_modules/codemirror": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.1.tgz",
- "integrity": "sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==",
- "dependencies": {
- "@codemirror/autocomplete": "^6.0.0",
- "@codemirror/commands": "^6.0.0",
- "@codemirror/language": "^6.0.0",
- "@codemirror/lint": "^6.0.0",
- "@codemirror/search": "^6.0.0",
- "@codemirror/state": "^6.0.0",
- "@codemirror/view": "^6.0.0"
- }
- },
- "node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "dependencies": {
- "color-name": "1.1.3"
+ "node": ">=7.0.0"
}
},
"node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "license": "MIT"
},
"node_modules/comma-separated-tokens": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
"integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -4270,6 +3840,7 @@
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
"integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+ "license": "MIT",
"engines": {
"node": ">= 6"
}
@@ -4278,31 +3849,29 @@
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/convert-source-map": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
- "dev": true
+ "license": "MIT"
},
"node_modules/copy-to-clipboard": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz",
"integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==",
+ "license": "MIT",
"dependencies": {
"toggle-selection": "^1.0.6"
}
},
- "node_modules/crelt": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz",
- "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g=="
- },
"node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
"shebang-command": "^2.0.0",
@@ -4316,6 +3885,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "license": "MIT",
"bin": {
"cssesc": "bin/cssesc"
},
@@ -4327,7 +3897,62 @@
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
- "devOptional": true
+ "devOptional": true,
+ "license": "MIT"
+ },
+ "node_modules/data-view-buffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz",
+ "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/data-view-byte-length": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz",
+ "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/inspect-js"
+ }
+ },
+ "node_modules/data-view-byte-offset": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz",
+ "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "is-data-view": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/dayjs": {
"version": "1.11.13",
@@ -4336,11 +3961,12 @@
"license": "MIT"
},
"node_modules/debug": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
- "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+ "license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -4368,12 +3994,50 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/define-properties": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/dequal": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -4381,12 +4045,14 @@
"node_modules/detect-node-es": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz",
- "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="
+ "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==",
+ "license": "MIT"
},
"node_modules/devlop": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
"integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
+ "license": "MIT",
"dependencies": {
"dequal": "^2.0.0"
},
@@ -4395,153 +4061,305 @@
"url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/didyoumean": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
- "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "node_modules/didyoumean": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/dlv": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
+ "license": "MIT"
+ },
+ "node_modules/doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "license": "MIT"
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.74",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.74.tgz",
+ "integrity": "sha512-ck3//9RC+6oss/1Bh9tiAVFy5vfSKbRHAFh7Z3/eTRkEqJeWgymloShB17Vg3Z4nmDNp35vAd1BZ6CMW4Wt6Iw==",
+ "license": "ISC"
+ },
+ "node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "license": "MIT"
+ },
+ "node_modules/es-abstract": {
+ "version": "1.23.7",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.7.tgz",
+ "integrity": "sha512-OygGC8kIcDhXX+6yAZRGLqwi2CmEXCbLQixeGUgYeR+Qwlppqmo7DIDr8XibtEBZp+fJcoYpoatp5qwLMEdcqQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.2",
+ "arraybuffer.prototype.slice": "^1.0.4",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "data-view-buffer": "^1.0.2",
+ "data-view-byte-length": "^1.0.2",
+ "data-view-byte-offset": "^1.0.1",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "es-set-tostringtag": "^2.0.3",
+ "es-to-primitive": "^1.3.0",
+ "function.prototype.name": "^1.1.8",
+ "get-intrinsic": "^1.2.6",
+ "get-symbol-description": "^1.1.0",
+ "globalthis": "^1.0.4",
+ "gopd": "^1.2.0",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "internal-slot": "^1.1.0",
+ "is-array-buffer": "^3.0.5",
+ "is-callable": "^1.2.7",
+ "is-data-view": "^1.0.2",
+ "is-regex": "^1.2.1",
+ "is-shared-array-buffer": "^1.0.4",
+ "is-string": "^1.1.1",
+ "is-typed-array": "^1.1.15",
+ "is-weakref": "^1.1.0",
+ "math-intrinsics": "^1.1.0",
+ "object-inspect": "^1.13.3",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.7",
+ "regexp.prototype.flags": "^1.5.3",
+ "safe-array-concat": "^1.1.3",
+ "safe-regex-test": "^1.1.0",
+ "string.prototype.trim": "^1.2.10",
+ "string.prototype.trimend": "^1.0.9",
+ "string.prototype.trimstart": "^1.0.8",
+ "typed-array-buffer": "^1.0.3",
+ "typed-array-byte-length": "^1.0.3",
+ "typed-array-byte-offset": "^1.0.4",
+ "typed-array-length": "^1.0.7",
+ "unbox-primitive": "^1.1.0",
+ "which-typed-array": "^1.1.18"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-define-property": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-iterator-helpers": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz",
+ "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "path-type": "^4.0.0"
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.6",
+ "es-errors": "^1.3.0",
+ "es-set-tostringtag": "^2.0.3",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.6",
+ "globalthis": "^1.0.4",
+ "gopd": "^1.2.0",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "internal-slot": "^1.1.0",
+ "iterator.prototype": "^1.1.4",
+ "safe-array-concat": "^1.1.3"
},
"engines": {
- "node": ">=8"
+ "node": ">= 0.4"
}
},
- "node_modules/dlv": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
- "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
- },
- "node_modules/doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "node_modules/es-object-atoms": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
+ "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "esutils": "^2.0.2"
+ "es-errors": "^1.3.0"
},
"engines": {
- "node": ">=6.0.0"
+ "node": ">= 0.4"
}
},
- "node_modules/eastasianwidth": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
- "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
- },
- "node_modules/electron-to-chromium": {
- "version": "1.5.29",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.29.tgz",
- "integrity": "sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw==",
+ "node_modules/es-set-tostringtag": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
+ "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
"dev": true,
- "license": "ISC"
- },
- "node_modules/embla-carousel": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/embla-carousel/-/embla-carousel-8.3.0.tgz",
- "integrity": "sha512-Ve8dhI4w28qBqR8J+aMtv7rLK89r1ZA5HocwFz6uMB/i5EiC7bGI7y+AM80yAVUJw3qqaZYK7clmZMUR8kM3UA==",
- "license": "MIT"
- },
- "node_modules/embla-carousel-react": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/embla-carousel-react/-/embla-carousel-react-8.3.0.tgz",
- "integrity": "sha512-P1FlinFDcIvggcErRjNuVqnUR8anyo8vLMIH8Rthgofw7Nj8qTguCa2QjFAbzxAUTQTPNNjNL7yt0BGGinVdFw==",
"license": "MIT",
"dependencies": {
- "embla-carousel": "8.3.0",
- "embla-carousel-reactive-utils": "8.3.0"
+ "get-intrinsic": "^1.2.4",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.1"
},
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.1 || ^18.0.0"
+ "engines": {
+ "node": ">= 0.4"
}
},
- "node_modules/embla-carousel-reactive-utils": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/embla-carousel-reactive-utils/-/embla-carousel-reactive-utils-8.3.0.tgz",
- "integrity": "sha512-EYdhhJ302SC4Lmkx8GRsp0sjUhEN4WyFXPOk0kGu9OXZSRMmcBlRgTvHcq8eKJE1bXWBsOi1T83B+BSSVZSmwQ==",
+ "node_modules/es-shim-unscopables": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz",
+ "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==",
+ "dev": true,
"license": "MIT",
- "peerDependencies": {
- "embla-carousel": "8.3.0"
+ "dependencies": {
+ "hasown": "^2.0.0"
}
},
- "node_modules/emoji-regex": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
+ "node_modules/es-to-primitive": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz",
+ "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-callable": "^1.2.7",
+ "is-date-object": "^1.0.5",
+ "is-symbol": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/esbuild": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
- "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
- "dev": true,
+ "version": "0.24.2",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz",
+ "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==",
"hasInstallScript": true,
+ "license": "MIT",
"bin": {
"esbuild": "bin/esbuild"
},
"engines": {
- "node": ">=12"
+ "node": ">=18"
},
"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"
+ "@esbuild/aix-ppc64": "0.24.2",
+ "@esbuild/android-arm": "0.24.2",
+ "@esbuild/android-arm64": "0.24.2",
+ "@esbuild/android-x64": "0.24.2",
+ "@esbuild/darwin-arm64": "0.24.2",
+ "@esbuild/darwin-x64": "0.24.2",
+ "@esbuild/freebsd-arm64": "0.24.2",
+ "@esbuild/freebsd-x64": "0.24.2",
+ "@esbuild/linux-arm": "0.24.2",
+ "@esbuild/linux-arm64": "0.24.2",
+ "@esbuild/linux-ia32": "0.24.2",
+ "@esbuild/linux-loong64": "0.24.2",
+ "@esbuild/linux-mips64el": "0.24.2",
+ "@esbuild/linux-ppc64": "0.24.2",
+ "@esbuild/linux-riscv64": "0.24.2",
+ "@esbuild/linux-s390x": "0.24.2",
+ "@esbuild/linux-x64": "0.24.2",
+ "@esbuild/netbsd-arm64": "0.24.2",
+ "@esbuild/netbsd-x64": "0.24.2",
+ "@esbuild/openbsd-arm64": "0.24.2",
+ "@esbuild/openbsd-x64": "0.24.2",
+ "@esbuild/sunos-x64": "0.24.2",
+ "@esbuild/win32-arm64": "0.24.2",
+ "@esbuild/win32-ia32": "0.24.2",
+ "@esbuild/win32-x64": "0.24.2"
}
},
"node_modules/escalade": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
"integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=0.8.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/eslint": {
- "version": "8.57.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
- "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
+ "version": "8.57.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz",
+ "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==",
+ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
"@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.57.0",
- "@humanwhocodes/config-array": "^0.11.14",
+ "@eslint/js": "8.57.1",
+ "@humanwhocodes/config-array": "^0.13.0",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
"@ungap/structured-clone": "^1.2.0",
@@ -4586,26 +4404,164 @@
"url": "https://opencollective.com/eslint"
}
},
+ "node_modules/eslint-plugin-prettier": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz",
+ "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prettier-linter-helpers": "^1.0.0",
+ "synckit": "^0.9.1"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint-plugin-prettier"
+ },
+ "peerDependencies": {
+ "@types/eslint": ">=8.0.0",
+ "eslint": ">=8.0.0",
+ "eslint-config-prettier": "*",
+ "prettier": ">=3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/eslint": {
+ "optional": true
+ },
+ "eslint-config-prettier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-plugin-react": {
+ "version": "7.37.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.3.tgz",
+ "integrity": "sha512-DomWuTQPFYZwF/7c9W2fkKkStqZmBd3uugfqBYLdkZ3Hii23WzZuOLUskGxB8qkSKqftxEeGL1TB2kMhrce0jA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-includes": "^3.1.8",
+ "array.prototype.findlast": "^1.2.5",
+ "array.prototype.flatmap": "^1.3.3",
+ "array.prototype.tosorted": "^1.1.4",
+ "doctrine": "^2.1.0",
+ "es-iterator-helpers": "^1.2.1",
+ "estraverse": "^5.3.0",
+ "hasown": "^2.0.2",
+ "jsx-ast-utils": "^2.4.1 || ^3.0.0",
+ "minimatch": "^3.1.2",
+ "object.entries": "^1.1.8",
+ "object.fromentries": "^2.0.8",
+ "object.values": "^1.2.1",
+ "prop-types": "^15.8.1",
+ "resolve": "^2.0.0-next.5",
+ "semver": "^6.3.1",
+ "string.prototype.matchall": "^4.0.12",
+ "string.prototype.repeat": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "peerDependencies": {
+ "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7"
+ }
+ },
+ "node_modules/eslint-plugin-react-compiler": {
+ "version": "19.0.0-beta-201e55d-20241215",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-compiler/-/eslint-plugin-react-compiler-19.0.0-beta-201e55d-20241215.tgz",
+ "integrity": "sha512-KTOMW6Z4Eg2r5BPT/BncbwPswfuVH9KPPDVszOTQFXGNlxhExL8IZoSE3blYxk4e0wFDbCcAwe4UlTauQ8lIww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.24.4",
+ "@babel/parser": "^7.24.4",
+ "@babel/plugin-proposal-private-methods": "^7.18.6",
+ "hermes-parser": "^0.25.1",
+ "zod": "^3.22.4",
+ "zod-validation-error": "^3.0.3"
+ },
+ "engines": {
+ "node": "^14.17.0 || ^16.0.0 || >= 18.0.0"
+ },
+ "peerDependencies": {
+ "eslint": ">=7"
+ }
+ },
"node_modules/eslint-plugin-react-hooks": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz",
- "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz",
+ "integrity": "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
"peerDependencies": {
- "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0"
+ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0"
}
},
"node_modules/eslint-plugin-react-refresh": {
- "version": "0.4.12",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.12.tgz",
- "integrity": "sha512-9neVjoGv20FwYtCP6CB1dzR1vr57ZDNOXst21wd2xJ/cTlM2xLq0GWVlSNTdMn/4BtP6cHYBMCSp1wFBJ9jBsg==",
+ "version": "0.4.16",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.16.tgz",
+ "integrity": "sha512-slterMlxAhov/DZO8NScf6mEeMBBXodFUolijDvrtTxyezyLoTQaa73FyYus/VbTdftd8wBgBxPMRk3poleXNQ==",
"dev": true,
"license": "MIT",
"peerDependencies": {
- "eslint": ">=7"
+ "eslint": ">=8.40"
+ }
+ },
+ "node_modules/eslint-plugin-react/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/eslint-plugin-react/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/eslint-plugin-react/node_modules/resolve": {
+ "version": "2.0.0-next.5",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz",
+ "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.13.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/eslint-plugin-react/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
}
},
"node_modules/eslint-scope": {
@@ -4613,6 +4569,7 @@
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
"integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"esrecurse": "^4.3.0",
"estraverse": "^5.2.0"
@@ -4629,6 +4586,7 @@
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
+ "license": "Apache-2.0",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
@@ -4636,19 +4594,14 @@
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/eslint/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "node_modules/eslint/node_modules/@eslint/js": {
+ "version": "8.57.1",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz",
+ "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==",
"dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
+ "license": "MIT",
"engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/eslint/node_modules/brace-expansion": {
@@ -4656,55 +4609,23 @@
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
- "node_modules/eslint/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/eslint/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "node_modules/eslint/node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
- "color-name": "~1.1.4"
+ "esutils": "^2.0.2"
},
"engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/eslint/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/eslint/node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=6.0.0"
}
},
"node_modules/eslint/node_modules/globals": {
@@ -4712,6 +4633,7 @@
"resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
"integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"type-fest": "^0.20.2"
},
@@ -4722,20 +4644,12 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/eslint/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/eslint/node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -4743,23 +4657,12 @@
"node": "*"
}
},
- "node_modules/eslint/node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/espree": {
"version": "9.6.1",
"resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
"integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"acorn": "^8.9.0",
"acorn-jsx": "^5.3.2",
@@ -4773,10 +4676,11 @@
}
},
"node_modules/esquery": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
- "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
+ "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
"dev": true,
+ "license": "BSD-3-Clause",
"dependencies": {
"estraverse": "^5.1.0"
},
@@ -4789,6 +4693,7 @@
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"estraverse": "^5.2.0"
},
@@ -4801,6 +4706,7 @@
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=4.0"
}
@@ -4810,6 +4716,7 @@
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
"dev": true,
+ "license": "BSD-2-Clause",
"engines": {
"node": ">=0.10.0"
}
@@ -4817,18 +4724,28 @@
"node_modules/extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "license": "MIT"
},
"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==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-diff": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
+ "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
+ "dev": true,
+ "license": "Apache-2.0"
},
"node_modules/fast-glob": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
"integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
@@ -4844,6 +4761,7 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
},
@@ -4855,18 +4773,21 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/fastq": {
"version": "1.17.1",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
"integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+ "license": "ISC",
"dependencies": {
"reusify": "^1.0.4"
}
@@ -4876,6 +4797,7 @@
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
"integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"flat-cache": "^3.0.4"
},
@@ -4887,6 +4809,7 @@
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
},
@@ -4899,6 +4822,7 @@
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
"integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"locate-path": "^6.0.0",
"path-exists": "^4.0.0"
@@ -4915,6 +4839,7 @@
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
"integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"flatted": "^3.2.9",
"keyv": "^4.5.3",
@@ -4925,15 +4850,27 @@
}
},
"node_modules/flatted": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
- "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
- "dev": true
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz",
+ "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/for-each": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
+ "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-callable": "^1.1.3"
+ }
},
"node_modules/foreground-child": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz",
- "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz",
+ "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==",
+ "license": "ISC",
"dependencies": {
"cross-spawn": "^7.0.0",
"signal-exit": "^4.0.1"
@@ -4950,6 +4887,7 @@
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
"integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "*"
},
@@ -4962,13 +4900,15 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"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"
@@ -4981,6 +4921,38 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/function.prototype.name": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz",
+ "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "functions-have-names": "^1.2.3",
+ "hasown": "^2.0.2",
+ "is-callable": "^1.2.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/functions-have-names": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
+ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
+ "dev": true,
+ "license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -4989,25 +4961,70 @@
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
+ "node_modules/get-intrinsic": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.6.tgz",
+ "integrity": "sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "dunder-proto": "^1.0.0",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "function-bind": "^1.1.2",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/get-nonce": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
"integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==",
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
+ "node_modules/get-symbol-description": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz",
+ "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/glob": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"deprecated": "Glob versions prior to v9 are no longer supported",
"dev": true,
+ "license": "ISC",
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -5027,6 +5044,7 @@
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "license": "ISC",
"dependencies": {
"is-glob": "^4.0.3"
},
@@ -5039,6 +5057,7 @@
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -5049,6 +5068,7 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
},
@@ -5057,53 +5077,141 @@
}
},
"node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "version": "15.14.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz",
+ "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=4"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "node_modules/globalthis": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
+ "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
+ "define-properties": "^1.2.1",
+ "gopd": "^1.0.1"
},
"engines": {
- "node": ">=10"
+ "node": ">= 0.4"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/graphemer": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
"integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/has-bigints": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz",
+ "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
+ "license": "MIT",
"engines": {
- "node": ">=4"
+ "node": ">=8"
+ }
+ },
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-define-property": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-proto": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz",
+ "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "dunder-proto": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-tostringtag": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/hasown": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "license": "MIT",
"dependencies": {
"function-bind": "^1.1.2"
},
@@ -5115,6 +5223,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz",
"integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0"
},
@@ -5124,12 +5233,13 @@
}
},
"node_modules/hast-util-sanitize": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-5.0.1.tgz",
- "integrity": "sha512-IGrgWLuip4O2nq5CugXy4GI2V8kx4sFVy5Hd4vF7AR2gxS0N9s7nEAVUyeMtZKZvzrxVsHt73XdTsno1tClIkQ==",
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-5.0.2.tgz",
+ "integrity": "sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
- "@ungap/structured-clone": "^1.2.0",
+ "@ungap/structured-clone": "^1.0.0",
"unist-util-position": "^5.0.0"
},
"funding": {
@@ -5138,9 +5248,9 @@
}
},
"node_modules/hast-util-to-html": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.3.tgz",
- "integrity": "sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==",
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.4.tgz",
+ "integrity": "sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==",
"license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
@@ -5164,6 +5274,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
"integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0"
},
@@ -5172,20 +5283,39 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/hermes-estree": {
+ "version": "0.25.1",
+ "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz",
+ "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/hermes-parser": {
+ "version": "0.25.1",
+ "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz",
+ "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hermes-estree": "0.25.1"
+ }
+ },
"node_modules/html-void-elements": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz",
"integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/ignore": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
- "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 4"
}
@@ -5195,6 +5325,7 @@
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
"integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"parent-module": "^1.0.0",
"resolve-from": "^4.0.0"
@@ -5211,6 +5342,7 @@
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.8.19"
}
@@ -5221,6 +5353,7 @@
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
"dev": true,
+ "license": "ISC",
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
@@ -5230,14 +5363,22 @@
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
- "node_modules/invariant": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "node_modules/internal-slot": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz",
+ "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "loose-envify": "^1.0.0"
+ "es-errors": "^1.3.0",
+ "hasown": "^2.0.2",
+ "side-channel": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/is-absolute-url": {
@@ -5246,29 +5387,146 @@
"integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==",
"license": "MIT",
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-array-buffer": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz",
+ "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "get-intrinsic": "^1.2.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-async-function": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz",
+ "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-bigint": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz",
+ "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-bigints": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "license": "MIT",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-boolean-object": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.1.tgz",
+ "integrity": "sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-callable": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.16.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.0.tgz",
+ "integrity": "sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==",
+ "license": "MIT",
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "node_modules/is-data-view": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz",
+ "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "binary-extensions": "^2.0.0"
+ "call-bound": "^1.0.2",
+ "get-intrinsic": "^1.2.6",
+ "is-typed-array": "^1.1.13"
},
"engines": {
- "node": ">=8"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-core-module": {
- "version": "2.14.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz",
- "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==",
+ "node_modules/is-date-object": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz",
+ "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "hasown": "^2.0.2"
+ "call-bound": "^1.0.2",
+ "has-tostringtag": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -5281,22 +5539,57 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
+ "node_modules/is-finalizationregistry": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz",
+ "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
+ "node_modules/is-generator-function": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
+ "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "license": "MIT",
"dependencies": {
"is-extglob": "^2.1.1"
},
@@ -5304,19 +5597,51 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-map": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
+ "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "license": "MIT",
"engines": {
"node": ">=0.12.0"
}
},
+ "node_modules/is-number-object": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz",
+ "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-path-inside": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
"integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -5325,6 +5650,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
"integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -5332,20 +5658,200 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/is-regex": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz",
+ "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-set": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
+ "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-shared-array-buffer": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz",
+ "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-string": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz",
+ "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-symbol": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz",
+ "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "has-symbols": "^1.1.0",
+ "safe-regex-test": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typed-array": {
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz",
+ "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "which-typed-array": "^1.1.16"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakmap": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
+ "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakref": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.0.tgz",
+ "integrity": "sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakset": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz",
+ "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "get-intrinsic": "^1.2.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "license": "ISC"
},
- "node_modules/jackspeak": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz",
- "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==",
+ "node_modules/isomorphic.js": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/isomorphic.js/-/isomorphic.js-0.2.5.tgz",
+ "integrity": "sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==",
+ "license": "MIT",
+ "peer": true,
+ "funding": {
+ "type": "GitHub Sponsors ❤",
+ "url": "https://github.com/sponsors/dmonad"
+ }
+ },
+ "node_modules/iterator.prototype": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.4.tgz",
+ "integrity": "sha512-x4WH0BWmrMmg4oHHl+duwubhrvczGlyuGAZu3nvrf0UXOfPu8IhZObFEr7DE/iv01YgVZrsOiRcqw2srkKEDIA==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "@isaacs/cliui": "^8.0.2"
+ "define-data-property": "^1.1.4",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.6",
+ "has-symbols": "^1.1.0",
+ "reflect.getprototypeof": "^1.0.8",
+ "set-function-name": "^2.0.2"
},
"engines": {
- "node": ">=14"
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/jackspeak": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
+ "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
@@ -5355,9 +5861,10 @@
}
},
"node_modules/jiti": {
- "version": "1.21.6",
- "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz",
- "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==",
+ "version": "1.21.7",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz",
+ "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
+ "license": "MIT",
"bin": {
"jiti": "bin/jiti.js"
}
@@ -5365,13 +5872,15 @@
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "license": "MIT"
},
"node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
},
@@ -5380,40 +5889,43 @@
}
},
"node_modules/jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true,
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "license": "MIT",
"bin": {
"jsesc": "bin/jsesc"
},
"engines": {
- "node": ">=4"
+ "node": ">=6"
}
},
"node_modules/json-buffer": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
"integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/json5": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "dev": true,
+ "license": "MIT",
"bin": {
"json5": "lib/cli.js"
},
@@ -5421,11 +5933,28 @@
"node": ">=6"
}
},
+ "node_modules/jsx-ast-utils": {
+ "version": "3.3.5",
+ "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz",
+ "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-includes": "^3.1.6",
+ "array.prototype.flat": "^1.3.1",
+ "object.assign": "^4.1.4",
+ "object.values": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
"node_modules/keyv": {
"version": "4.5.4",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
"integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"json-buffer": "3.0.1"
}
@@ -5435,6 +5964,7 @@
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
"integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"prelude-ls": "^1.2.1",
"type-check": "~0.4.0"
@@ -5443,24 +5973,58 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/lexical": {
+ "version": "0.22.0",
+ "resolved": "https://registry.npmjs.org/lexical/-/lexical-0.22.0.tgz",
+ "integrity": "sha512-EquENoJZdhwAzsZ+Dz8dGZprlpPY1zez6Gk9yhGkPzmIVPRIGY4aEAmfKQCep1dZgkUUQB8Flr0xK0+u5TrFhw==",
+ "license": "MIT"
+ },
+ "node_modules/lib0": {
+ "version": "0.2.99",
+ "resolved": "https://registry.npmjs.org/lib0/-/lib0-0.2.99.tgz",
+ "integrity": "sha512-vwztYuUf1uf/1zQxfzRfO5yzfNKhTtgOByCruuiQQxWQXnPb8Itaube5ylofcV0oM0aKal9Mv+S1s1Ky0UYP1w==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "isomorphic.js": "^0.2.4"
+ },
+ "bin": {
+ "0ecdsa-generate-keypair": "bin/0ecdsa-generate-keypair.js",
+ "0gentesthtml": "bin/gentesthtml.js",
+ "0serve": "bin/0serve.js"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "type": "GitHub Sponsors ❤",
+ "url": "https://github.com/sponsors/dmonad"
+ }
+ },
"node_modules/lilconfig": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
- "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
+ "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
+ "license": "MIT",
"engines": {
- "node": ">=10"
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antonk52"
}
},
"node_modules/lines-and-columns": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "license": "MIT"
},
"node_modules/locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
"integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-locate": "^5.0.0"
},
@@ -5471,28 +6035,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/lodash.castarray": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz",
- "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==",
- "dev": true
- },
- "node_modules/lodash.isplainobject": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
- "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
- "dev": true
- },
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "license": "MIT",
"dependencies": {
"js-tokens": "^3.0.0 || ^4.0.0"
},
@@ -5504,19 +6058,28 @@
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
- "dev": true,
"license": "ISC",
"dependencies": {
"yallist": "^3.0.2"
}
},
"node_modules/lucide-react": {
- "version": "0.446.0",
- "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.446.0.tgz",
- "integrity": "sha512-BU7gy8MfBMqvEdDPH79VhOXSEgyG8TSPOKWaExWGCQVqnGH7wGgDngPbofu+KdtVjPQBWbEmnfMTq90CTiiDRg==",
+ "version": "0.469.0",
+ "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.469.0.tgz",
+ "integrity": "sha512-28vvUnnKQ/dBwiCQtwJw7QauYnE7yd2Cyp4tTTJpvglX4EMpbflcdBgrgToX2j71B3YvugK/NH3BGUk+E/p/Fw==",
"license": "ISC",
"peerDependencies": {
- "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc"
+ "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/mdast-util-from-markdown": {
@@ -5547,6 +6110,7 @@
"version": "13.2.0",
"resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz",
"integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"@types/mdast": "^4.0.0",
@@ -5580,14 +6144,15 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "license": "MIT",
"engines": {
"node": ">= 8"
}
},
"node_modules/micromark": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz",
- "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz",
+ "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5620,9 +6185,9 @@
}
},
"node_modules/micromark-core-commonmark": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.1.tgz",
- "integrity": "sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.2.tgz",
+ "integrity": "sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5654,9 +6219,9 @@
}
},
"node_modules/micromark-factory-destination": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz",
- "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz",
+ "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5675,9 +6240,9 @@
}
},
"node_modules/micromark-factory-label": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz",
- "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz",
+ "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5697,9 +6262,9 @@
}
},
"node_modules/micromark-factory-space": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz",
- "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz",
+ "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5717,9 +6282,9 @@
}
},
"node_modules/micromark-factory-title": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz",
- "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz",
+ "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5739,9 +6304,9 @@
}
},
"node_modules/micromark-factory-whitespace": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz",
- "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz",
+ "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5761,9 +6326,9 @@
}
},
"node_modules/micromark-util-character": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz",
- "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz",
+ "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5774,15 +6339,16 @@
"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",
- "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz",
- "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz",
+ "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5799,9 +6365,9 @@
}
},
"node_modules/micromark-util-classify-character": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz",
- "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz",
+ "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5820,9 +6386,9 @@
}
},
"node_modules/micromark-util-combine-extensions": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz",
- "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz",
+ "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5840,9 +6406,9 @@
}
},
"node_modules/micromark-util-decode-numeric-character-reference": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz",
- "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz",
+ "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5859,9 +6425,9 @@
}
},
"node_modules/micromark-util-decode-string": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz",
- "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz",
+ "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5881,9 +6447,9 @@
}
},
"node_modules/micromark-util-encode": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz",
- "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz",
+ "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5893,12 +6459,13 @@
"type": "OpenCollective",
"url": "https://opencollective.com/unified"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/micromark-util-html-tag-name": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz",
- "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz",
+ "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5912,9 +6479,9 @@
"license": "MIT"
},
"node_modules/micromark-util-normalize-identifier": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz",
- "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz",
+ "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5931,9 +6498,9 @@
}
},
"node_modules/micromark-util-resolve-all": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz",
- "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz",
+ "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5950,9 +6517,9 @@
}
},
"node_modules/micromark-util-sanitize-uri": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz",
- "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz",
+ "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5963,6 +6530,7 @@
"url": "https://opencollective.com/unified"
}
],
+ "license": "MIT",
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-encode": "^2.0.0",
@@ -5970,9 +6538,9 @@
}
},
"node_modules/micromark-util-subtokenize": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.1.tgz",
- "integrity": "sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.3.tgz",
+ "integrity": "sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -5992,9 +6560,9 @@
}
},
"node_modules/micromark-util-symbol": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz",
- "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz",
+ "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -6004,12 +6572,13 @@
"type": "OpenCollective",
"url": "https://opencollective.com/unified"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/micromark-util-types": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz",
- "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.1.tgz",
+ "integrity": "sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==",
"funding": [
{
"type": "GitHub Sponsors",
@@ -6019,12 +6588,14 @@
"type": "OpenCollective",
"url": "https://opencollective.com/unified"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/micromatch": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
- "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "license": "MIT",
"dependencies": {
"braces": "^3.0.3",
"picomatch": "^2.3.1"
@@ -6034,10 +6605,10 @@
}
},
"node_modules/minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
- "dev": true,
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
@@ -6052,19 +6623,22 @@
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "license": "ISC",
"engines": {
"node": ">=16 || 14 >=14.17"
}
},
"node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "license": "MIT"
},
"node_modules/mz": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
"integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
+ "license": "MIT",
"dependencies": {
"any-promise": "^1.0.0",
"object-assign": "^4.0.1",
@@ -6072,9 +6646,9 @@
}
},
"node_modules/nanoid": {
- "version": "5.0.7",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.7.tgz",
- "integrity": "sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==",
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.9.tgz",
+ "integrity": "sha512-Aooyr6MXU6HpvvWXKoVoXwKMs/KyVakWwg7xQfv5/S/RIgJMy0Ifa45H9qqYy7pTCszrHzP21Uk4PZq2HpEM8Q==",
"dev": true,
"funding": [
{
@@ -6082,6 +6656,7 @@
"url": "https://github.com/sponsors/ai"
}
],
+ "license": "MIT",
"bin": {
"nanoid": "bin/nanoid.js"
},
@@ -6093,29 +6668,30 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/next-themes": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.3.0.tgz",
- "integrity": "sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==",
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.4.4.tgz",
+ "integrity": "sha512-LDQ2qIOJF0VnuVrrMSMLrWGjRMkq+0mpgl6e0juCLqdJ+oo8Q84JRWT6Wh11VDQKkMMe+dVzDKLWs5n87T+PkQ==",
"license": "MIT",
"peerDependencies": {
- "react": "^16.8 || ^17 || ^18",
- "react-dom": "^16.8 || ^17 || ^18"
+ "react": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc",
+ "react-dom": "^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc"
}
},
"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==",
- "dev": true,
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
+ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
"license": "MIT"
},
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -6125,14 +6701,15 @@
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
"integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/nostr-tools": {
- "version": "2.7.2",
- "resolved": "https://registry.npmjs.org/nostr-tools/-/nostr-tools-2.7.2.tgz",
- "integrity": "sha512-Bq3Ug0SZFtgtL1+0wCnAe8AJtI7yx/00/a2nUug9SkhfOwlKS92Tef12iCK9FdwXw+oFZWMtRnSwcLayQso+xA==",
+ "version": "2.10.4",
+ "resolved": "https://registry.npmjs.org/nostr-tools/-/nostr-tools-2.10.4.tgz",
+ "integrity": "sha512-biU7sk+jxHgVASfobg2T5ttxOGGSt69wEVBC51sHHOEaKAAdzHBLV/I2l9Rf61UzClhliZwNouYhqIso4a3HYg==",
"license": "Unlicense",
"dependencies": {
"@noble/ciphers": "^0.5.1",
@@ -6143,7 +6720,7 @@
"@scure/bip39": "1.2.1"
},
"optionalDependencies": {
- "nostr-wasm": "v0.1.0"
+ "nostr-wasm": "0.1.0"
},
"peerDependencies": {
"typescript": ">=5.0.0"
@@ -6158,12 +6735,14 @@
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/nostr-wasm/-/nostr-wasm-0.1.0.tgz",
"integrity": "sha512-78BTryCLcLYv96ONU8Ws3Q1JzjlAt+43pWQhIl86xZmWeegYCNLPml7yQ+gG3vR6V5h4XGj+TxO+SS5dsThQIA==",
+ "license": "MIT",
"optional": true
},
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -6172,15 +6751,114 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
"integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
+ "license": "MIT",
"engines": {
"node": ">= 6"
}
},
+ "node_modules/object-inspect": {
+ "version": "1.13.3",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz",
+ "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.assign": {
+ "version": "4.1.7",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz",
+ "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0",
+ "has-symbols": "^1.1.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.entries": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz",
+ "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.fromentries": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz",
+ "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object.values": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz",
+ "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"wrappy": "1"
}
@@ -6190,6 +6868,7 @@
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
"integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"deep-is": "^0.1.3",
"fast-levenshtein": "^2.0.6",
@@ -6207,6 +6886,7 @@
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"yocto-queue": "^0.1.0"
},
@@ -6222,6 +6902,7 @@
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"p-limit": "^3.0.2"
},
@@ -6233,15 +6914,17 @@
}
},
"node_modules/package-json-from-dist": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
- "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw=="
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
+ "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
+ "license": "BlueOak-1.0.0"
},
"node_modules/parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"callsites": "^3.0.0"
},
@@ -6254,6 +6937,7 @@
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -6263,6 +6947,7 @@
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -6271,6 +6956,7 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
@@ -6278,12 +6964,14 @@
"node_modules/path-parse": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "license": "MIT"
},
"node_modules/path-scurry": {
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
"integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
+ "license": "BlueOak-1.0.0",
"dependencies": {
"lru-cache": "^10.2.0",
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
@@ -6296,32 +6984,22 @@
}
},
"node_modules/path-scurry/node_modules/lru-cache": {
- "version": "10.3.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.3.0.tgz",
- "integrity": "sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==",
- "engines": {
- "node": "14 || >=16.14"
- }
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+ "license": "ISC"
},
"node_modules/picocolors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
- "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
"license": "ISC"
},
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "license": "MIT",
"engines": {
"node": ">=8.6"
},
@@ -6333,6 +7011,7 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -6341,14 +7020,25 @@
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz",
"integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
+ "license": "MIT",
"engines": {
"node": ">= 6"
}
},
+ "node_modules/possible-typed-array-names": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
+ "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/postcss": {
- "version": "8.4.47",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
- "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
+ "version": "8.4.49",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz",
+ "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==",
"funding": [
{
"type": "opencollective",
@@ -6366,7 +7056,7 @@
"license": "MIT",
"dependencies": {
"nanoid": "^3.3.7",
- "picocolors": "^1.1.0",
+ "picocolors": "^1.1.1",
"source-map-js": "^1.2.1"
},
"engines": {
@@ -6377,6 +7067,7 @@
"version": "15.1.0",
"resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
"integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
+ "license": "MIT",
"dependencies": {
"postcss-value-parser": "^4.0.0",
"read-cache": "^1.0.0",
@@ -6393,6 +7084,7 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
"integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
+ "license": "MIT",
"dependencies": {
"camelcase-css": "^2.0.1"
},
@@ -6421,6 +7113,7 @@
"url": "https://github.com/sponsors/ai"
}
],
+ "license": "MIT",
"dependencies": {
"lilconfig": "^3.0.0",
"yaml": "^2.3.4"
@@ -6441,52 +7134,36 @@
}
}
},
- "node_modules/postcss-load-config/node_modules/lilconfig": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz",
- "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==",
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/antonk52"
- }
- },
"node_modules/postcss-nested": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz",
- "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==",
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz",
+ "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
"dependencies": {
- "postcss-selector-parser": "^6.0.11"
+ "postcss-selector-parser": "^6.1.1"
},
"engines": {
"node": ">=12.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
"peerDependencies": {
"postcss": "^8.2.14"
}
},
- "node_modules/postcss-nested/node_modules/postcss-selector-parser": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz",
- "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==",
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/postcss-selector-parser": {
- "version": "6.0.10",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
- "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
- "dev": true,
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
+ "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
+ "license": "MIT",
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -6498,18 +7175,20 @@
"node_modules/postcss-value-parser": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+ "license": "MIT"
},
"node_modules/postcss/node_modules/nanoid": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
- "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "version": "3.3.8",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz",
+ "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
+ "license": "MIT",
"bin": {
"nanoid": "bin/nanoid.cjs"
},
@@ -6522,16 +7201,18 @@
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.8.0"
}
},
"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==",
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz",
+ "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==",
"dev": true,
"license": "MIT",
+ "peer": true,
"bin": {
"prettier": "bin/prettier.cjs"
},
@@ -6542,10 +7223,23 @@
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
+ "node_modules/prettier-linter-helpers": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
+ "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-diff": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/prettier-plugin-tailwindcss": {
- "version": "0.6.8",
- "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.8.tgz",
- "integrity": "sha512-dGu3kdm7SXPkiW4nzeWKCl3uoImdd5CTZEJGxyypEPL37Wj0HT2pLqjrvSei1nTeuQfO4PUfjeW5cTUNRLZ4sA==",
+ "version": "0.6.9",
+ "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.9.tgz",
+ "integrity": "sha512-r0i3uhaZAXYP0At5xGfJH876W3HHGHDp+LCRUJrs57PBeQ6mYHMwr25KH8NPX44F2yGTvdnH7OqCshlQx183Eg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6621,25 +7315,31 @@
}
}
},
+ "node_modules/prismjs": {
+ "version": "1.29.0",
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz",
+ "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/prop-types": {
"version": "15.8.1",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
"integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+ "license": "MIT",
"dependencies": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
"react-is": "^16.13.1"
}
},
- "node_modules/prop-types/node_modules/react-is": {
- "version": "16.13.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
- },
"node_modules/property-information": {
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz",
"integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -6650,6 +7350,7 @@
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -6671,15 +7372,14 @@
"type": "consulting",
"url": "https://feross.org/support"
}
- ]
+ ],
+ "license": "MIT"
},
"node_modules/react": {
- "version": "18.3.1",
- "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
- "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
- "dependencies": {
- "loose-envify": "^1.1.0"
- },
+ "version": "19.0.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz",
+ "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -6688,6 +7388,7 @@
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz",
"integrity": "sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==",
+ "license": "MIT",
"dependencies": {
"copy-to-clipboard": "^3.3.1",
"prop-types": "^15.8.1"
@@ -6696,22 +7397,38 @@
"react": "^15.3.0 || 16 || 17 || 18"
}
},
- "node_modules/react-dom": {
- "version": "18.3.1",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
- "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
+ "node_modules/react-dom": {
+ "version": "19.0.0",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz",
+ "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==",
+ "license": "MIT",
+ "dependencies": {
+ "scheduler": "^0.25.0"
+ },
+ "peerDependencies": {
+ "react": "^19.0.0"
+ }
+ },
+ "node_modules/react-error-boundary": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz",
+ "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==",
+ "license": "MIT",
"dependencies": {
- "loose-envify": "^1.1.0",
- "scheduler": "^0.23.2"
+ "@babel/runtime": "^7.12.5"
+ },
+ "engines": {
+ "node": ">=10",
+ "npm": ">=6"
},
"peerDependencies": {
- "react": "^18.3.1"
+ "react": ">=16.13.1"
}
},
"node_modules/react-hook-form": {
- "version": "7.53.0",
- "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.53.0.tgz",
- "integrity": "sha512-M1n3HhqCww6S2hxLxciEXy2oISPnAzxY7gvwVPrtlczTM/1dDadXgUxDpHMrMTblDOcm/AXtXxHwZ3jpg1mqKQ==",
+ "version": "7.54.2",
+ "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.54.2.tgz",
+ "integrity": "sha512-eHpAUgUjWbZocoQYUHposymRb4ZP6d0uwUnooL2uOybA9/3tPUvoAKqEWK1WaSiTxxOfTpffNZP7QwlnM3/gEg==",
"license": "MIT",
"engines": {
"node": ">=18.0.0"
@@ -6725,13 +7442,13 @@
}
},
"node_modules/react-intersection-observer": {
- "version": "9.13.1",
- "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.13.1.tgz",
- "integrity": "sha512-tSzDaTy0qwNPLJHg8XZhlyHTgGW6drFKTtvjdL+p6um12rcnp8Z5XstE+QNBJ7c64n5o0Lj4ilUleA41bmDoMw==",
+ "version": "9.14.0",
+ "resolved": "https://registry.npmjs.org/react-intersection-observer/-/react-intersection-observer-9.14.0.tgz",
+ "integrity": "sha512-AYqlmDZn85VUmlODwYym9y5OlqY2cFyIu41dkN0GJWvhdbd19Mh16mz5IH6fO1gp5V4FfQOO4m0zGc04Tj13rQ==",
"license": "MIT",
"peerDependencies": {
- "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
- "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
+ "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
},
"peerDependenciesMeta": {
"react-dom": {
@@ -6739,32 +7456,40 @@
}
}
},
+ "node_modules/react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
+ "license": "MIT"
+ },
"node_modules/react-refresh": {
"version": "0.14.2",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz",
"integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/react-remove-scroll": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.7.tgz",
- "integrity": "sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==",
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.2.tgz",
+ "integrity": "sha512-KmONPx5fnlXYJQqC62Q+lwIeAk64ws/cUw6omIumRzMRPqgnYqhSSti99nbj0Ry13bv7dF+BKn7NB+OqkdZGTw==",
+ "license": "MIT",
"dependencies": {
- "react-remove-scroll-bar": "^2.3.4",
+ "react-remove-scroll-bar": "^2.3.7",
"react-style-singleton": "^2.2.1",
"tslib": "^2.1.0",
- "use-callback-ref": "^1.3.0",
+ "use-callback-ref": "^1.3.3",
"use-sidecar": "^1.1.2"
},
"engines": {
"node": ">=10"
},
"peerDependencies": {
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
@@ -6773,19 +7498,20 @@
}
},
"node_modules/react-remove-scroll-bar": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz",
- "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==",
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz",
+ "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==",
+ "license": "MIT",
"dependencies": {
- "react-style-singleton": "^2.2.1",
+ "react-style-singleton": "^2.2.2",
"tslib": "^2.0.0"
},
"engines": {
"node": ">=10"
},
"peerDependencies": {
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
},
"peerDependenciesMeta": {
"@types/react": {
@@ -6794,30 +7520,30 @@
}
},
"node_modules/react-resizable-panels": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/react-resizable-panels/-/react-resizable-panels-2.1.4.tgz",
- "integrity": "sha512-kzue8lsoSBdyyd2IfXLQMMhNujOxRoGVus+63K95fQqleGxTfvgYLTzbwYMOODeAHqnkjb3WV/Ks7f5+gDYZuQ==",
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/react-resizable-panels/-/react-resizable-panels-2.1.7.tgz",
+ "integrity": "sha512-JtT6gI+nURzhMYQYsx8DKkx6bSoOGFp7A3CwMrOb8y5jFHFyqwo9m68UhmXRw57fRVJksFn1TSlm3ywEQ9vMgA==",
"license": "MIT",
"peerDependencies": {
- "react": "^16.14.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0"
+ "react": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc",
+ "react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
}
},
"node_modules/react-style-singleton": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz",
- "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==",
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz",
+ "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==",
+ "license": "MIT",
"dependencies": {
"get-nonce": "^1.0.0",
- "invariant": "^2.2.4",
"tslib": "^2.0.0"
},
"engines": {
"node": ">=10"
},
"peerDependencies": {
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
@@ -6829,6 +7555,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
"integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
+ "license": "MIT",
"dependencies": {
"pify": "^2.3.0"
}
@@ -6837,6 +7564,7 @@
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "license": "MIT",
"dependencies": {
"picomatch": "^2.2.1"
},
@@ -6844,10 +7572,53 @@
"node": ">=8.10.0"
}
},
+ "node_modules/reflect.getprototypeof": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.9.tgz",
+ "integrity": "sha512-r0Ay04Snci87djAsI4U+WNRcSw5S4pOH7qFjd/veA5gC7TbqESR3tcj28ia95L/fYUDw11JKP7uqUKUAfVvV5Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "define-properties": "^1.2.1",
+ "dunder-proto": "^1.0.1",
+ "es-abstract": "^1.23.6",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "gopd": "^1.2.0",
+ "which-builtin-type": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/regenerator-runtime": {
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
- "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
+ "license": "MIT"
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz",
+ "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "set-function-name": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/rehype-external-links": {
"version": "3.0.0",
@@ -6871,6 +7642,7 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/rehype-sanitize/-/rehype-sanitize-6.0.0.tgz",
"integrity": "sha512-CsnhKNsyI8Tub6L4sm5ZFsme4puGfc6pYylvXo1AeqaGbjOYyzNv3qZPwvs0oMJ39eryyeOdmxwUIo94IpEhqg==",
+ "license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"hast-util-sanitize": "^5.0.0"
@@ -6929,9 +7701,10 @@
}
},
"node_modules/remark-rehype": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz",
- "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==",
+ "version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.1.tgz",
+ "integrity": "sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==",
+ "license": "MIT",
"peer": true,
"dependencies": {
"@types/hast": "^3.0.0",
@@ -6961,17 +7734,21 @@
}
},
"node_modules/resolve": {
- "version": "1.22.8",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
- "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "version": "1.22.10",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
+ "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
+ "license": "MIT",
"dependencies": {
- "is-core-module": "^2.13.0",
+ "is-core-module": "^2.16.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
"bin": {
"resolve": "bin/resolve"
},
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -6981,6 +7758,7 @@
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
@@ -6989,6 +7767,7 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "license": "MIT",
"engines": {
"iojs": ">=1.0.0",
"node": ">=0.10.0"
@@ -7000,6 +7779,7 @@
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"deprecated": "Rimraf versions prior to v4 are no longer supported",
"dev": true,
+ "license": "ISC",
"dependencies": {
"glob": "^7.1.3"
},
@@ -7011,10 +7791,9 @@
}
},
"node_modules/rollup": {
- "version": "4.22.5",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.5.tgz",
- "integrity": "sha512-WoinX7GeQOFMGznEcWA1WrTQCd/tpEbMkc3nuMs9BT0CPjMdSjPMTVClwWd4pgSQwJdP65SK9mTCNvItlr5o7w==",
- "dev": true,
+ "version": "4.28.1",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.28.1.tgz",
+ "integrity": "sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==",
"license": "MIT",
"dependencies": {
"@types/estree": "1.0.6"
@@ -7027,22 +7806,25 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.22.5",
- "@rollup/rollup-android-arm64": "4.22.5",
- "@rollup/rollup-darwin-arm64": "4.22.5",
- "@rollup/rollup-darwin-x64": "4.22.5",
- "@rollup/rollup-linux-arm-gnueabihf": "4.22.5",
- "@rollup/rollup-linux-arm-musleabihf": "4.22.5",
- "@rollup/rollup-linux-arm64-gnu": "4.22.5",
- "@rollup/rollup-linux-arm64-musl": "4.22.5",
- "@rollup/rollup-linux-powerpc64le-gnu": "4.22.5",
- "@rollup/rollup-linux-riscv64-gnu": "4.22.5",
- "@rollup/rollup-linux-s390x-gnu": "4.22.5",
- "@rollup/rollup-linux-x64-gnu": "4.22.5",
- "@rollup/rollup-linux-x64-musl": "4.22.5",
- "@rollup/rollup-win32-arm64-msvc": "4.22.5",
- "@rollup/rollup-win32-ia32-msvc": "4.22.5",
- "@rollup/rollup-win32-x64-msvc": "4.22.5",
+ "@rollup/rollup-android-arm-eabi": "4.28.1",
+ "@rollup/rollup-android-arm64": "4.28.1",
+ "@rollup/rollup-darwin-arm64": "4.28.1",
+ "@rollup/rollup-darwin-x64": "4.28.1",
+ "@rollup/rollup-freebsd-arm64": "4.28.1",
+ "@rollup/rollup-freebsd-x64": "4.28.1",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.28.1",
+ "@rollup/rollup-linux-arm-musleabihf": "4.28.1",
+ "@rollup/rollup-linux-arm64-gnu": "4.28.1",
+ "@rollup/rollup-linux-arm64-musl": "4.28.1",
+ "@rollup/rollup-linux-loongarch64-gnu": "4.28.1",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.28.1",
+ "@rollup/rollup-linux-riscv64-gnu": "4.28.1",
+ "@rollup/rollup-linux-s390x-gnu": "4.28.1",
+ "@rollup/rollup-linux-x64-gnu": "4.28.1",
+ "@rollup/rollup-linux-x64-musl": "4.28.1",
+ "@rollup/rollup-win32-arm64-msvc": "4.28.1",
+ "@rollup/rollup-win32-ia32-msvc": "4.28.1",
+ "@rollup/rollup-win32-x64-msvc": "4.28.1",
"fsevents": "~2.3.2"
}
},
@@ -7064,23 +7846,61 @@
"url": "https://feross.org/support"
}
],
+ "license": "MIT",
"dependencies": {
"queue-microtask": "^1.2.2"
}
},
- "node_modules/scheduler": {
- "version": "0.23.2",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
- "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
+ "node_modules/safe-array-concat": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz",
+ "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "get-intrinsic": "^1.2.6",
+ "has-symbols": "^1.1.0",
+ "isarray": "^2.0.5"
+ },
+ "engines": {
+ "node": ">=0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/safe-regex-test": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz",
+ "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "loose-envify": "^1.1.0"
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "is-regex": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/scheduler": {
+ "version": "0.25.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz",
+ "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==",
+ "license": "MIT"
+ },
"node_modules/semver": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
- "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"dev": true,
+ "license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
@@ -7088,10 +7908,45 @@
"node": ">=10"
}
},
+ "node_modules/set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/set-function-name": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
+ "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "license": "MIT",
"dependencies": {
"shebang-regex": "^3.0.0"
},
@@ -7103,14 +7958,92 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "license": "MIT",
"engines": {
"node": ">=8"
}
},
+ "node_modules/side-channel": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+ "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3",
+ "side-channel-list": "^1.0.0",
+ "side-channel-map": "^1.0.1",
+ "side-channel-weakmap": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-list": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+ "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-map": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-weakmap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3",
+ "side-channel-map": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/signal-exit": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
"integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "license": "ISC",
"engines": {
"node": ">=14"
},
@@ -7118,23 +8051,14 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/sonner": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/sonner/-/sonner-1.5.0.tgz",
- "integrity": "sha512-FBjhG/gnnbN6FY0jaNnqZOMmB73R+5IiyYAw8yBj7L54ER7HB3fOSE5OFiQiE2iXWxeXKvg6fIP4LtVppHEdJA==",
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/sonner/-/sonner-1.7.1.tgz",
+ "integrity": "sha512-b6LHBfH32SoVasRFECrdY8p8s7hXPDn3OHUFbZZbiB1ctLS9Gdh6rpX2dVrpQA0kiL5jcRzDDldwwLkSKk3+QQ==",
"license": "MIT",
"peerDependencies": {
- "react": "^18.0.0",
- "react-dom": "^18.0.0"
+ "react": "^18.0.0 || ^19.0.0 || ^19.0.0-rc",
+ "react-dom": "^18.0.0 || ^19.0.0 || ^19.0.0-rc"
}
},
"node_modules/source-map-js": {
@@ -7150,6 +8074,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
"integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -7159,6 +8084,7 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "license": "MIT",
"dependencies": {
"eastasianwidth": "^0.2.0",
"emoji-regex": "^9.2.2",
@@ -7176,6 +8102,7 @@
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -7188,12 +8115,14 @@
"node_modules/string-width-cjs/node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "license": "MIT"
},
"node_modules/string-width/node_modules/ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -7205,6 +8134,7 @@
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
},
@@ -7215,10 +8145,109 @@
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
+ "node_modules/string.prototype.matchall": {
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz",
+ "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.6",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.6",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "internal-slot": "^1.1.0",
+ "regexp.prototype.flags": "^1.5.3",
+ "set-function-name": "^2.0.2",
+ "side-channel": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.repeat": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz",
+ "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
+ }
+ },
+ "node_modules/string.prototype.trim": {
+ "version": "1.2.10",
+ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz",
+ "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "define-data-property": "^1.1.4",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.5",
+ "es-object-atoms": "^1.0.0",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimend": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz",
+ "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.2",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimstart": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
+ "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/stringify-entities": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
"integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
+ "license": "MIT",
"dependencies": {
"character-entities-html4": "^2.0.0",
"character-entities-legacy": "^3.0.0"
@@ -7232,6 +8261,7 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -7244,6 +8274,7 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -7256,6 +8287,7 @@
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=8"
},
@@ -7263,15 +8295,11 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/style-mod": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz",
- "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw=="
- },
"node_modules/sucrase": {
"version": "3.35.0",
"resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
"integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
+ "license": "MIT",
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.2",
"commander": "^4.0.0",
@@ -7290,9 +8318,10 @@
}
},
"node_modules/sucrase/node_modules/glob": {
- "version": "10.4.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz",
- "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==",
+ "version": "10.4.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+ "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "license": "ISC",
"dependencies": {
"foreground-child": "^3.1.0",
"jackspeak": "^3.1.2",
@@ -7304,54 +8333,56 @@
"bin": {
"glob": "dist/esm/bin.mjs"
},
- "engines": {
- "node": ">=16 || 14 >=14.18"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/sucrase/node_modules/minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "has-flag": "^3.0.0"
+ "has-flag": "^4.0.0"
},
"engines": {
- "node": ">=4"
+ "node": ">=8"
}
},
"node_modules/supports-preserve-symlinks-flag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/synckit": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.2.tgz",
+ "integrity": "sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@pkgr/core": "^0.1.0",
+ "tslib": "^2.6.2"
+ },
"engines": {
- "node": ">= 0.4"
+ "node": "^14.18.0 || >=16.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "url": "https://opencollective.com/unts"
}
},
"node_modules/tailwind-merge": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.5.2.tgz",
- "integrity": "sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg==",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.6.0.tgz",
+ "integrity": "sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==",
"license": "MIT",
"funding": {
"type": "github",
@@ -7359,33 +8390,33 @@
}
},
"node_modules/tailwindcss": {
- "version": "3.4.13",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz",
- "integrity": "sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==",
+ "version": "3.4.17",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz",
+ "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==",
"license": "MIT",
"dependencies": {
"@alloc/quick-lru": "^5.2.0",
"arg": "^5.0.2",
- "chokidar": "^3.5.3",
+ "chokidar": "^3.6.0",
"didyoumean": "^1.2.2",
"dlv": "^1.1.3",
- "fast-glob": "^3.3.0",
+ "fast-glob": "^3.3.2",
"glob-parent": "^6.0.2",
"is-glob": "^4.0.3",
- "jiti": "^1.21.0",
- "lilconfig": "^2.1.0",
- "micromatch": "^4.0.5",
+ "jiti": "^1.21.6",
+ "lilconfig": "^3.1.3",
+ "micromatch": "^4.0.8",
"normalize-path": "^3.0.0",
"object-hash": "^3.0.0",
- "picocolors": "^1.0.0",
- "postcss": "^8.4.23",
+ "picocolors": "^1.1.1",
+ "postcss": "^8.4.47",
"postcss-import": "^15.1.0",
"postcss-js": "^4.0.1",
- "postcss-load-config": "^4.0.1",
- "postcss-nested": "^6.0.1",
- "postcss-selector-parser": "^6.0.11",
- "resolve": "^1.22.2",
- "sucrase": "^3.32.0"
+ "postcss-load-config": "^4.0.2",
+ "postcss-nested": "^6.2.0",
+ "postcss-selector-parser": "^6.1.2",
+ "resolve": "^1.22.8",
+ "sucrase": "^3.35.0"
},
"bin": {
"tailwind": "lib/cli.js",
@@ -7399,32 +8430,23 @@
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz",
"integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==",
+ "license": "MIT",
"peerDependencies": {
"tailwindcss": ">=3.0.0 || insiders"
}
},
- "node_modules/tailwindcss/node_modules/postcss-selector-parser": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz",
- "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==",
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/thenify": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
"integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
+ "license": "MIT",
"dependencies": {
"any-promise": "^1.0.0"
}
@@ -7433,6 +8455,7 @@
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
"integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
+ "license": "MIT",
"dependencies": {
"thenify": ">= 3.1.0 < 4"
},
@@ -7440,19 +8463,11 @@
"node": ">=0.8"
}
},
- "node_modules/to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "license": "MIT",
"dependencies": {
"is-number": "^7.0.0"
},
@@ -7463,12 +8478,14 @@
"node_modules/toggle-selection": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
- "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ=="
+ "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==",
+ "license": "MIT"
},
"node_modules/trim-lines": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
"integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
@@ -7478,16 +8495,18 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz",
"integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/ts-api-utils": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
- "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz",
+ "integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=16"
},
@@ -7498,18 +8517,21 @@
"node_modules/ts-interface-checker": {
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
- "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="
+ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
+ "license": "Apache-2.0"
},
"node_modules/tslib": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
- "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ=="
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
},
"node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
"integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"prelude-ls": "^1.2.1"
},
@@ -7522,6 +8544,7 @@
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
"dev": true,
+ "license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=10"
},
@@ -7529,10 +8552,88 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/typed-array-buffer": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz",
+ "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "es-errors": "^1.3.0",
+ "is-typed-array": "^1.1.14"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/typed-array-byte-length": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz",
+ "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.8",
+ "for-each": "^0.3.3",
+ "gopd": "^1.2.0",
+ "has-proto": "^1.2.0",
+ "is-typed-array": "^1.1.14"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-byte-offset": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz",
+ "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "for-each": "^0.3.3",
+ "gopd": "^1.2.0",
+ "has-proto": "^1.2.0",
+ "is-typed-array": "^1.1.15",
+ "reflect.getprototypeof": "^1.0.9"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-length": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz",
+ "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.7",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "is-typed-array": "^1.1.13",
+ "possible-typed-array-names": "^1.0.0",
+ "reflect.getprototypeof": "^1.0.6"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/typescript": {
- "version": "5.6.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz",
- "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==",
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz",
+ "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==",
"devOptional": true,
"license": "Apache-2.0",
"bin": {
@@ -7543,16 +8644,60 @@
"node": ">=14.17"
}
},
+ "node_modules/typescript-eslint": {
+ "version": "8.18.2",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.18.2.tgz",
+ "integrity": "sha512-KuXezG6jHkvC3MvizeXgupZzaG5wjhU3yE8E7e6viOvAvD9xAWYp8/vy0WULTGe9DYDWcQu7aW03YIV3mSitrQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/eslint-plugin": "8.18.2",
+ "@typescript-eslint/parser": "8.18.2",
+ "@typescript-eslint/utils": "8.18.2"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0",
+ "typescript": ">=4.8.4 <5.8.0"
+ }
+ },
+ "node_modules/unbox-primitive": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz",
+ "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.3",
+ "has-bigints": "^1.0.2",
+ "has-symbols": "^1.1.0",
+ "which-boxed-primitive": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/undici-types": {
- "version": "5.26.5",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
- "dev": true
+ "version": "6.20.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
+ "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
+ "devOptional": true,
+ "license": "MIT"
},
"node_modules/unified": {
"version": "11.0.5",
"resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz",
"integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"bail": "^2.0.0",
@@ -7571,6 +8716,7 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz",
"integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0"
},
@@ -7583,6 +8729,7 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz",
"integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0"
},
@@ -7595,6 +8742,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz",
"integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0"
},
@@ -7607,6 +8755,7 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz",
"integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"unist-util-is": "^6.0.0",
@@ -7621,6 +8770,7 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz",
"integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"unist-util-is": "^6.0.0"
@@ -7634,7 +8784,6 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz",
"integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==",
- "dev": true,
"funding": [
{
"type": "opencollective",
@@ -7666,14 +8815,16 @@
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
"punycode": "^2.1.0"
}
},
"node_modules/use-callback-ref": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz",
- "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz",
+ "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==",
+ "license": "MIT",
"dependencies": {
"tslib": "^2.0.0"
},
@@ -7681,8 +8832,8 @@
"node": ">=10"
},
"peerDependencies": {
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
@@ -7691,9 +8842,10 @@
}
},
"node_modules/use-sidecar": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz",
- "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz",
+ "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==",
+ "license": "MIT",
"dependencies": {
"detect-node-es": "^1.1.0",
"tslib": "^2.0.0"
@@ -7702,8 +8854,8 @@
"node": ">=10"
},
"peerDependencies": {
- "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "@types/react": "*",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc"
},
"peerDependenciesMeta": {
"@types/react": {
@@ -7712,25 +8864,27 @@
}
},
"node_modules/use-sync-external-store": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
- "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz",
+ "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==",
+ "license": "MIT",
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
}
},
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "license": "MIT"
},
"node_modules/vfile": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz",
- "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz",
+ "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
- "unist-util-stringify-position": "^4.0.0",
"vfile-message": "^4.0.0"
},
"funding": {
@@ -7742,6 +8896,7 @@
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz",
"integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==",
+ "license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"unist-util-stringify-position": "^4.0.0"
@@ -7752,21 +8907,20 @@
}
},
"node_modules/vite": {
- "version": "5.4.8",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz",
- "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==",
- "dev": true,
+ "version": "6.0.6",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.6.tgz",
+ "integrity": "sha512-NSjmUuckPmDU18bHz7QZ+bTYhRR0iA72cs2QAxCqDpafJ0S6qetco0LB3WW2OxlMHS0JmAv+yZ/R3uPmMyGTjQ==",
"license": "MIT",
"dependencies": {
- "esbuild": "^0.21.3",
- "postcss": "^8.4.43",
- "rollup": "^4.20.0"
+ "esbuild": "^0.24.2",
+ "postcss": "^8.4.49",
+ "rollup": "^4.23.0"
},
"bin": {
"vite": "bin/vite.js"
},
"engines": {
- "node": "^18.0.0 || >=20.0.0"
+ "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
},
"funding": {
"url": "https://github.com/vitejs/vite?sponsor=1"
@@ -7775,19 +8929,25 @@
"fsevents": "~2.3.3"
},
"peerDependencies": {
- "@types/node": "^18.0.0 || >=20.0.0",
+ "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
+ "jiti": ">=1.21.0",
"less": "*",
"lightningcss": "^1.21.0",
"sass": "*",
"sass-embedded": "*",
"stylus": "*",
"sugarss": "*",
- "terser": "^5.4.0"
+ "terser": "^5.16.0",
+ "tsx": "^4.8.1",
+ "yaml": "^2.4.2"
},
"peerDependenciesMeta": {
"@types/node": {
"optional": true
},
+ "jiti": {
+ "optional": true
+ },
"less": {
"optional": true
},
@@ -7808,18 +8968,30 @@
},
"terser": {
"optional": true
+ },
+ "tsx": {
+ "optional": true
+ },
+ "yaml": {
+ "optional": true
}
}
},
- "node_modules/w3c-keyname": {
- "version": "2.2.8",
- "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz",
- "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ=="
+ "node_modules/vite-plugin-babel": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/vite-plugin-babel/-/vite-plugin-babel-1.3.0.tgz",
+ "integrity": "sha512-C5WKX0UwvQKH8WD2GiyWUjI62UBfLbfUhiLexnIm4asLdENX5ymrRipFlBnGeVxoOaYgTL5dh5KW6YDGpWsR8A==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@babel/core": "^7.0.0",
+ "vite": "^2.7.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0"
+ }
},
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
},
@@ -7830,11 +9002,100 @@
"node": ">= 8"
}
},
+ "node_modules/which-boxed-primitive": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz",
+ "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-bigint": "^1.1.0",
+ "is-boolean-object": "^1.2.1",
+ "is-number-object": "^1.1.1",
+ "is-string": "^1.1.1",
+ "is-symbol": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-builtin-type": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz",
+ "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "function.prototype.name": "^1.1.6",
+ "has-tostringtag": "^1.0.2",
+ "is-async-function": "^2.0.0",
+ "is-date-object": "^1.1.0",
+ "is-finalizationregistry": "^1.1.0",
+ "is-generator-function": "^1.0.10",
+ "is-regex": "^1.2.1",
+ "is-weakref": "^1.0.2",
+ "isarray": "^2.0.5",
+ "which-boxed-primitive": "^1.1.0",
+ "which-collection": "^1.0.2",
+ "which-typed-array": "^1.1.16"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-collection": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
+ "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-map": "^2.0.3",
+ "is-set": "^2.0.3",
+ "is-weakmap": "^2.0.2",
+ "is-weakset": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-typed-array": {
+ "version": "1.1.18",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz",
+ "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.8",
+ "call-bound": "^1.0.3",
+ "for-each": "^0.3.3",
+ "gopd": "^1.2.0",
+ "has-tostringtag": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/word-wrap": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -7843,6 +9104,7 @@
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
"integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^6.1.0",
"string-width": "^5.0.1",
@@ -7860,6 +9122,7 @@
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -7872,45 +9135,17 @@
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/wrap-ansi-cjs/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/wrap-ansi-cjs/node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
- },
"node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "license": "MIT"
},
"node_modules/wrap-ansi-cjs/node_modules/string-width": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -7921,9 +9156,10 @@
}
},
"node_modules/wrap-ansi/node_modules/ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -7935,6 +9171,7 @@
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
"integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -7946,6 +9183,7 @@
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
},
@@ -7960,19 +9198,20 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true
+ "dev": true,
+ "license": "ISC"
},
"node_modules/yallist": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true,
"license": "ISC"
},
"node_modules/yaml": {
- "version": "2.4.5",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz",
- "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==",
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz",
+ "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==",
+ "license": "ISC",
"bin": {
"yaml": "bin.mjs"
},
@@ -7980,11 +9219,30 @@
"node": ">= 14"
}
},
+ "node_modules/yjs": {
+ "version": "13.6.21",
+ "resolved": "https://registry.npmjs.org/yjs/-/yjs-13.6.21.tgz",
+ "integrity": "sha512-/fzzyeCAfr3Qwx1D71zvumm64x+Q5MEFel6EhWlA1IBFxWPb7tei4J2a8CJyjpYHfVrRij5q3RJTK9W2Iqjouw==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "lib0": "^0.2.98"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=8.0.0"
+ },
+ "funding": {
+ "type": "GitHub Sponsors ❤",
+ "url": "https://github.com/sponsors/dmonad"
+ }
+ },
"node_modules/yocto-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=10"
},
@@ -7993,27 +9251,40 @@
}
},
"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==",
+ "version": "3.24.1",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz",
+ "integrity": "sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==",
+ "license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
- "node_modules/zustand": {
- "version": "4.5.4",
- "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.4.tgz",
- "integrity": "sha512-/BPMyLKJPtFEvVL0E9E9BTUM63MNyhPGlvxk1XjrfWTUlV+BR8jufjsovHzrtR6YNcBEcL7cMHovL1n9xHawEg==",
- "dependencies": {
- "use-sync-external-store": "1.2.0"
+ "node_modules/zod-validation-error": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-3.4.0.tgz",
+ "integrity": "sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.0.0"
},
+ "peerDependencies": {
+ "zod": "^3.18.0"
+ }
+ },
+ "node_modules/zustand": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.2.tgz",
+ "integrity": "sha512-8qNdnJVJlHlrKXi50LDqqUNmUbuBjoKLrYQBnoChIbVph7vni+sY+YpvdjXG9YLd/Bxr6scMcR+rm5H3aSqPaw==",
+ "license": "MIT",
"engines": {
- "node": ">=12.7.0"
+ "node": ">=12.20.0"
},
"peerDependencies": {
- "@types/react": ">=16.8",
+ "@types/react": ">=18.0.0",
"immer": ">=9.0.6",
- "react": ">=16.8"
+ "react": ">=18.0.0",
+ "use-sync-external-store": ">=1.2.0"
},
"peerDependenciesMeta": {
"@types/react": {
@@ -8024,6 +9295,9 @@
},
"react": {
"optional": true
+ },
+ "use-sync-external-store": {
+ "optional": true
}
}
},
@@ -8031,6 +9305,7 @@
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
"integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
+ "license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
diff --git a/frontend/package.json b/frontend/package.json
index f61adf89..a6c4d8d8 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -5,82 +5,82 @@
"type": "module",
"scripts": {
"dev": "vite",
- "build": "tsc && vite build",
+ "build": "tsc --noCheck && vite build",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"preview": "vite preview"
},
"dependencies": {
- "@codemirror/commands": "^6.6.0",
- "@codemirror/lang-markdown": "^6.3.0",
- "@codemirror/language-data": "^6.5.1",
- "@codemirror/lint": "^6.8.1",
- "@codemirror/state": "^6.4.1",
- "@codemirror/view": "^6.28.2",
- "@hookform/resolvers": "^3.6.0",
- "@markdoc/markdoc": "^0.4.0",
- "@radix-ui/react-accordion": "^1.2.0",
- "@radix-ui/react-dialog": "^1.1.1",
- "@radix-ui/react-dropdown-menu": "^2.1.1",
- "@radix-ui/react-icons": "^1.3.0",
- "@radix-ui/react-label": "^2.1.0",
- "@radix-ui/react-popover": "^1.1.1",
- "@radix-ui/react-scroll-area": "^1.1.0",
- "@radix-ui/react-select": "^2.1.1",
- "@radix-ui/react-separator": "^1.1.0",
- "@radix-ui/react-slot": "^1.1.0",
- "@radix-ui/react-switch": "^1.1.0",
- "@radix-ui/react-tabs": "^1.1.0",
- "@replit/codemirror-vim": "^6.2.1",
- "@tanstack/react-query": "^5.56.2",
- "@tanstack/react-query-devtools": "^5.58.0",
- "class-variance-authority": "^0.7.0",
+ "@hookform/resolvers": "^3.9.1",
+ "@lexical/list": "^0.22.0",
+ "@lexical/markdown": "^0.22.0",
+ "@lexical/react": "^0.22.0",
+ "@lexical/rich-text": "^0.22.0",
+ "@radix-ui/react-accordion": "^1.2.2",
+ "@radix-ui/react-avatar": "^1.1.2",
+ "@radix-ui/react-checkbox": "^1.1.3",
+ "@radix-ui/react-dialog": "^1.1.4",
+ "@radix-ui/react-dropdown-menu": "^2.1.4",
+ "@radix-ui/react-label": "^2.1.1",
+ "@radix-ui/react-popover": "^1.1.4",
+ "@radix-ui/react-scroll-area": "^1.2.2",
+ "@radix-ui/react-separator": "^1.1.1",
+ "@radix-ui/react-slot": "^1.1.1",
+ "@radix-ui/react-tooltip": "^1.1.6",
+ "@tanstack/react-query": "^5.62.10",
+ "@tanstack/react-query-devtools": "^5.62.10",
+ "@uidotdev/usehooks": "^2.4.1",
+ "class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
- "cmdk": "^1.0.0",
- "codemirror": "^6.0.1",
+ "cmdk": "^1.0.4",
"dayjs": "^1.11.13",
- "embla-carousel-react": "^8.3.0",
- "lucide-react": "^0.446.0",
- "next-themes": "^0.3.0",
- "nostr-tools": "^2.7.2",
- "react": "^18.2.0",
+ "lexical": "^0.22.0",
+ "lucide-react": "^0.469.0",
+ "next-themes": "^0.4.4",
+ "nostr-tools": "^2.10.4",
+ "react": "19.0.0",
"react-copy-to-clipboard": "^5.1.0",
- "react-dom": "^18.2.0",
- "react-hook-form": "^7.53.0",
- "react-intersection-observer": "^9.13.1",
- "react-resizable-panels": "^2.1.4",
+ "react-dom": "^19.0.0",
+ "react-hook-form": "^7.54.2",
+ "react-intersection-observer": "^9.14.0",
+ "react-resizable-panels": "^2.1.7",
"rehype-external-links": "^3.0.0",
"rehype-sanitize": "^6.0.0",
"rehype-stringify": "^10.0.1",
"remark-html": "^16.0.1",
"remark-parse": "^11.0.0",
"remark-youtube": "^1.3.2",
- "sonner": "^1.5.0",
- "tailwind-merge": "^2.5.2",
+ "sonner": "^1.7.1",
+ "tailwind-merge": "^2.6.0",
"tailwindcss-animate": "^1.0.7",
- "zod": "^3.23.8",
- "zustand": "^4.5.4"
+ "vite-plugin-babel": "^1.3.0",
+ "zod": "^3.24.1",
+ "zustand": "^5.0.2"
},
"devDependencies": {
- "@ianvs/prettier-plugin-sort-imports": "^4.3.1",
- "@tailwindcss/typography": "^0.5.15",
- "@tanstack/eslint-plugin-query": "^5.58.1",
- "@types/node": "^20.14.9",
- "@types/react": "^18.3.10",
- "@types/react-copy-to-clipboard": "^5.0.7",
- "@types/react-dom": "^18.2.17",
- "@typescript-eslint/eslint-plugin": "^6.14.0",
- "@typescript-eslint/parser": "^6.14.0",
- "@vitejs/plugin-react": "^4.3.2",
- "@wailsio/runtime": "^3.0.0-alpha.27",
+ "@eslint/js": "^9.17.0",
+ "@ianvs/prettier-plugin-sort-imports": "^4.4.0",
+ "@tanstack/eslint-plugin-query": "^5.62.9",
+ "@types/node": "^22.10.2",
+ "@types/react": "^19.0.2",
+ "@types/react-dom": "^19.0.2",
+ "@typescript-eslint/eslint-plugin": "^8.18.2",
+ "@typescript-eslint/parser": "^8.18.2",
+ "@vitejs/plugin-react": "^4.2.1",
+ "@wailsio/runtime": "latest",
"autoprefixer": "^10.4.20",
- "eslint": "^8.55.0",
- "eslint-plugin-react-hooks": "^4.6.0",
- "eslint-plugin-react-refresh": "^0.4.12",
- "postcss": "^8.4.47",
- "prettier": "^3.3.3",
- "prettier-plugin-tailwindcss": "^0.6.8",
- "tailwindcss": "^3.4.13",
- "typescript": "^5.6.2",
- "vite": "^5.4.8"
+ "babel-plugin-react-compiler": "^19.0.0-beta-201e55d-20241215",
+ "eslint": "^8.57.0",
+ "eslint-plugin-prettier": "^5.2.1",
+ "eslint-plugin-react": "^7.37.3",
+ "eslint-plugin-react-compiler": "^19.0.0-beta-201e55d-20241215",
+ "eslint-plugin-react-hooks": "^5.1.0",
+ "eslint-plugin-react-refresh": "^0.4.5",
+ "globals": "^15.14.0",
+ "postcss": "^8.4.49",
+ "prettier-plugin-tailwindcss": "^0.6.9",
+ "tailwindcss": "^3.4.17",
+ "typescript": "^5.2.2",
+ "typescript-eslint": "^8.18.2",
+ "vite": "^6.0.6"
}
}
diff --git a/frontend/prettier.config.cjs b/frontend/prettier.config.cjs
index 5a148c6e..24f75fbf 100644
--- a/frontend/prettier.config.cjs
+++ b/frontend/prettier.config.cjs
@@ -9,9 +9,6 @@ module.exports = {
"",
"",
"^[.]",
- // "",
- // "^(?!.*[.]css$)[./].*$",
- // ".css$",
],
importOrderParserPlugins: ["typescript", "jsx", "decorators-legacy"],
importOrderTypeScriptVersion: "5.0.0",
diff --git a/frontend/public/Inter-Medium.ttf b/frontend/public/Inter-Medium.ttf
new file mode 100644
index 00000000..a01f3777
Binary files /dev/null and b/frontend/public/Inter-Medium.ttf differ
diff --git a/frontend/public/react.svg b/frontend/public/react.svg
new file mode 100644
index 00000000..6c87de9b
--- /dev/null
+++ b/frontend/public/react.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/frontend/public/style.css b/frontend/public/style.css
new file mode 100644
index 00000000..a36cce4f
--- /dev/null
+++ b/frontend/public/style.css
@@ -0,0 +1,160 @@
+:root {
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto",
+ "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
+ sans-serif;
+ font-size: 16px;
+ line-height: 24px;
+ font-weight: 400;
+ color-scheme: light dark;
+ color: rgba(255, 255, 255, 0.87);
+ background-color: rgba(27, 38, 54, 1);
+ font-synthesis: none;
+ text-rendering: optimizeLegibility;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-text-size-adjust: 100%;
+}
+
+* {
+ user-select: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+}
+
+@font-face {
+ font-family: "Inter";
+ font-style: normal;
+ font-weight: 400;
+ src: local(""),
+ url("./Inter-Medium.ttf") format("truetype");
+}
+
+h3 {
+ font-size: 3em;
+ line-height: 1.1;
+}
+
+a {
+ font-weight: 500;
+ color: #646cff;
+ text-decoration: inherit;
+}
+
+a:hover {
+ color: #535bf2;
+}
+
+button {
+ width: 60px;
+ height: 30px;
+ line-height: 30px;
+ border-radius: 3px;
+ border: none;
+ margin: 0 0 0 20px;
+ padding: 0 8px;
+ cursor: pointer;
+}
+
+.result {
+ height: 20px;
+ line-height: 20px;
+}
+
+body {
+ margin: 0;
+ display: flex;
+ place-items: center;
+ place-content: center;
+ min-width: 320px;
+ min-height: 100vh;
+}
+
+.container {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+}
+
+h1 {
+ font-size: 3.2em;
+ line-height: 1.1;
+}
+
+#app {
+ max-width: 1280px;
+ margin: 0 auto;
+ padding: 2rem;
+ text-align: center;
+}
+
+.logo {
+ height: 6em;
+ padding: 1.5em;
+ will-change: filter;
+}
+
+.logo:hover {
+ filter: drop-shadow(0 0 2em #e80000aa);
+}
+
+.logo.react:hover {
+ filter: drop-shadow(0 0 2em #61dafbaa);
+}
+
+.result {
+ height: 20px;
+ line-height: 20px;
+ margin: 1.5rem auto;
+ text-align: center;
+}
+
+.footer {
+ margin-top: 1rem;
+ align-content: center;
+ text-align: center;
+}
+
+@media (prefers-color-scheme: light) {
+ :root {
+ color: #213547;
+ background-color: #ffffff;
+ }
+
+ a:hover {
+ color: #747bff;
+ }
+
+ button {
+ background-color: #f9f9f9;
+ }
+}
+
+
+.input-box .btn:hover {
+ background-image: linear-gradient(to top, #cfd9df 0%, #e2ebf0 100%);
+ color: #333333;
+}
+
+.input-box .input {
+ border: none;
+ border-radius: 3px;
+ outline: none;
+ height: 30px;
+ line-height: 30px;
+ padding: 0 10px;
+ color: black;
+ background-color: rgba(240, 240, 240, 1);
+ -webkit-font-smoothing: antialiased;
+}
+
+.input-box .input:hover {
+ border: none;
+ background-color: rgba(255, 255, 255, 1);
+}
+
+.input-box .input:focus {
+ border: none;
+ background-color: rgba(255, 255, 255, 1);
+}
diff --git a/frontend/public/wails.png b/frontend/public/wails.png
new file mode 100644
index 00000000..8bdf4248
Binary files /dev/null and b/frontend/public/wails.png differ
diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index 930be090..42e49309 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -3,51 +3,49 @@ import {
ResizablePanel,
ResizablePanelGroup,
} from "~/components/ui/resizable";
+import { EllipsisVerticalIcon } from "lucide-react";
-import { Editor } from "./features/editor";
-import { EditorDropdown } from "./features/editor-dropdown";
-import { Notes } from "./features/notes";
-import { SettingsBtn } from "./features/settings";
+import { Button } from "./components/ui/button";
+import { Editor, PublishDialog } from "./features/editor";
+import { NoteList, NotesHeader, SearchBox } from "./features/notes";
import { Sidebar } from "./features/sidebar";
-import useNoteMenu from "./hooks/useNoteMenu";
-import useNoteTagMenu from "./hooks/useNoteTagMenu";
-import useSettingsRefresh from "./hooks/useSettingsRefresh";
-import useTagMenu from "./hooks/useTagMenu";
-import useTrashNoteMenu from "./hooks/useTrashNoteMenu";
-import { useAppState } from "./store";
+import useNotebookEvents from "./hooks/useNotebookEvents";
+import useNoteEvents from "./hooks/useNoteEvents";
-export default function App() {
- useNoteMenu();
- useTagMenu();
- useNoteTagMenu();
- useTrashNoteMenu();
- useSettingsRefresh();
-
- const editorFullScreen = useAppState((state) => state.editorFullScreen);
+export default function ResizableLayout() {
+ useNoteEvents();
+ useNotebookEvents();
return (
diff --git a/frontend/src/components/theme/theme-provider.tsx b/frontend/src/components/theme/theme-provider.tsx
deleted file mode 100644
index e18440d7..00000000
--- a/frontend/src/components/theme/theme-provider.tsx
+++ /dev/null
@@ -1,73 +0,0 @@
-import { createContext, useContext, useEffect, useState } from "react";
-
-type Theme = "dark" | "light" | "system";
-
-type ThemeProviderProps = {
- children: React.ReactNode;
- defaultTheme?: Theme;
- storageKey?: string;
-};
-
-type ThemeProviderState = {
- theme: Theme;
- setTheme: (theme: Theme) => void;
-};
-
-const initialState: ThemeProviderState = {
- theme: "system",
- setTheme: () => null,
-};
-
-const ThemeProviderContext = createContext(initialState);
-
-export function ThemeProvider({
- children,
- defaultTheme = "system",
- storageKey = "vite-ui-theme",
- ...props
-}: ThemeProviderProps) {
- const [theme, setTheme] = useState(
- () => (localStorage.getItem(storageKey) as Theme) || defaultTheme,
- );
-
- useEffect(() => {
- const root = window.document.documentElement;
-
- root.classList.remove("light", "dark");
-
- if (theme === "system") {
- const systemTheme = window.matchMedia("(prefers-color-scheme: dark)")
- .matches
- ? "dark"
- : "light";
-
- root.classList.add(systemTheme);
- return;
- }
-
- root.classList.add(theme);
- }, [theme]);
-
- const value = {
- theme,
- setTheme: (theme: Theme) => {
- localStorage.setItem(storageKey, theme);
- setTheme(theme);
- },
- };
-
- return (
-
- {children}
-
- );
-}
-
-export const useTheme = () => {
- const context = useContext(ThemeProviderContext);
-
- if (context === undefined)
- throw new Error("useTheme must be used within a ThemeProvider");
-
- return context;
-};
diff --git a/frontend/src/components/ui/accordion.tsx b/frontend/src/components/ui/accordion.tsx
index 3e05513e..085bdd32 100644
--- a/frontend/src/components/ui/accordion.tsx
+++ b/frontend/src/components/ui/accordion.tsx
@@ -1,10 +1,10 @@
-import * as React from "react"
-import * as AccordionPrimitive from "@radix-ui/react-accordion"
-import { ChevronDownIcon } from "@radix-ui/react-icons"
+import * as React from "react";
-import { cn } from "~/lib/utils"
+import * as AccordionPrimitive from "@radix-ui/react-accordion";
+import { cn } from "~/lib/utils";
+import { ChevronDown } from "lucide-react";
-const Accordion = AccordionPrimitive.Root
+const Accordion = AccordionPrimitive.Root;
const AccordionItem = React.forwardRef<
React.ElementRef,
@@ -15,8 +15,8 @@ const AccordionItem = React.forwardRef<
className={cn("border-b", className)}
{...props}
/>
-))
-AccordionItem.displayName = "AccordionItem"
+));
+AccordionItem.displayName = "AccordionItem";
const AccordionTrigger = React.forwardRef<
React.ElementRef,
@@ -26,17 +26,17 @@ const AccordionTrigger = React.forwardRef<
svg]:rotate-180",
- className
+ "flex flex-1 items-center justify-between py-4 text-left text-sm font-medium transition-all hover:underline [&:hover>svg]:block [&>svg]:hidden [&[data-state=open]>svg]:rotate-180",
+ className,
)}
{...props}
>
{children}
-
+
-))
-AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName
+));
+AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
const AccordionContent = React.forwardRef<
React.ElementRef,
@@ -49,7 +49,7 @@ const AccordionContent = React.forwardRef<
>
{children}
-))
-AccordionContent.displayName = AccordionPrimitive.Content.displayName
+));
+AccordionContent.displayName = AccordionPrimitive.Content.displayName;
-export { Accordion, AccordionItem, AccordionTrigger, AccordionContent }
+export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
diff --git a/frontend/src/components/ui/avatar.tsx b/frontend/src/components/ui/avatar.tsx
new file mode 100644
index 00000000..706f1778
--- /dev/null
+++ b/frontend/src/components/ui/avatar.tsx
@@ -0,0 +1,48 @@
+import * as React from "react"
+import * as AvatarPrimitive from "@radix-ui/react-avatar"
+
+import { cn } from "~/lib/utils"
+
+const Avatar = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+))
+Avatar.displayName = AvatarPrimitive.Root.displayName
+
+const AvatarImage = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+))
+AvatarImage.displayName = AvatarPrimitive.Image.displayName
+
+const AvatarFallback = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+))
+AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName
+
+export { Avatar, AvatarImage, AvatarFallback }
diff --git a/frontend/src/components/ui/button.tsx b/frontend/src/components/ui/button.tsx
index 041f42cf..0b620a96 100644
--- a/frontend/src/components/ui/button.tsx
+++ b/frontend/src/components/ui/button.tsx
@@ -1,57 +1,60 @@
-import * as React from "react"
-import { Slot } from "@radix-ui/react-slot"
-import { cva, type VariantProps } from "class-variance-authority"
+import * as React from "react";
-import { cn } from "~/lib/utils"
+import { Slot } from "@radix-ui/react-slot";
+import { cn } from "~/lib/utils";
+import { cva, type VariantProps } from "class-variance-authority";
const buttonVariants = cva(
- "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-0 focus:ring-0 ring-0 focus-visible:ring-0 disabled:pointer-events-none disabled:opacity-50",
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-0 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-[1.2rem] [&_svg]:shrink-0",
{
variants: {
variant: {
default:
- "bg-primary text-primary-foreground shadow hover:bg-primary/90",
+ "bg-sky-500/90 text-white shadow-sm hover:bg-sky-500/80",
destructive:
"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
outline:
"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
secondary:
"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
- ghost: "hover:bg-accent/50",
+ muted:
+ "text-secondary-foreground bg-muted shadow-sm hover:bg-muted/80",
+ ghost:
+ "hover:bg-accent text-muted-foreground hover:text-accent-foreground/70",
link: "text-primary underline-offset-4 hover:underline",
},
size: {
default: "h-9 px-4 py-2",
sm: "h-8 rounded-md px-3 text-xs",
lg: "h-10 rounded-md px-8",
- icon: "h-7 w-8",
+ icon: "h-9 w-9",
},
},
defaultVariants: {
variant: "default",
size: "default",
},
- }
-)
+ },
+);
export interface ButtonProps
extends React.ButtonHTMLAttributes,
VariantProps {
- asChild?: boolean
+ asChild?: boolean;
}
const Button = React.forwardRef(
({ className, variant, size, asChild = false, ...props }, ref) => {
- const Comp = asChild ? Slot : "button"
+ const Comp = asChild ? Slot : "button";
return (
- )
- }
-)
-Button.displayName = "Button"
+ );
+ },
+);
+Button.displayName = "Button";
-export { Button, buttonVariants }
+export { Button, buttonVariants };
diff --git a/frontend/src/components/ui/card.tsx b/frontend/src/components/ui/card.tsx
index e3ef5403..874ce09d 100644
--- a/frontend/src/components/ui/card.tsx
+++ b/frontend/src/components/ui/card.tsx
@@ -30,10 +30,10 @@ const CardHeader = React.forwardRef<
CardHeader.displayName = "CardHeader"
const CardTitle = React.forwardRef<
- HTMLParagraphElement,
- React.HTMLAttributes
+ HTMLDivElement,
+ React.HTMLAttributes
>(({ className, ...props }, ref) => (
-
+ HTMLDivElement,
+ React.HTMLAttributes