Compare commits
1 Commits
ae_app_3x_
...
feature/re
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a4ae1db497 |
151
GEMINI.md
151
GEMINI.md
@@ -82,19 +82,19 @@ The refactoring strategy involved creating a local, non-exported `_process_gener
|
||||
|
||||
**Key aspects of the refactoring:**
|
||||
|
||||
- **In-file Generic Helper (`_process_generic_props`):** This function handles common data transformations:
|
||||
- **`*_random` ID Aliasing:** It automatically iterates over object keys and creates a non-suffixed alias for any key ending in `_random` (e.g., `person_id_random` becomes `person_id`). This is crucial for client-side logic that expects standard ID fields.
|
||||
- **`tmp_sort` Field Generation:** It creates a set of basic `tmp_sort` fields for client-side sorting.
|
||||
- **In-file Generic Helper (`_process_generic_props`):** This function handles common data transformations:
|
||||
- **`*_random` ID Aliasing:** It automatically iterates over object keys and creates a non-suffixed alias for any key ending in `_random` (e.g., `person_id_random` becomes `person_id`). This is crucial for client-side logic that expects standard ID fields.
|
||||
- **`tmp_sort` Field Generation:** It creates a set of basic `tmp_sort` fields for client-side sorting.
|
||||
|
||||
- **`specific_processor` Callback:** Module-specific logic is handled by a `specific_processor` callback function passed to the `_process_generic_props` helper. This allows for:
|
||||
- **Unique `tmp_sort` Logic:** Modules can override the default `tmp_sort` fields with their own specific sorting requirements.
|
||||
- **Content Processing:** Asynchronous operations like Markdown parsing (using `marked.parse`) are handled within the `specific_processor` for the relevant modules (e.g., `ae_journals__journal_entry.ts`).
|
||||
- **Other Special Cases:** Any other module-specific data transformations are handled in this callback.
|
||||
- **`specific_processor` Callback:** Module-specific logic is handled by a `specific_processor` callback function passed to the `_process_generic_props` helper. This allows for:
|
||||
- **Unique `tmp_sort` Logic:** Modules can override the default `tmp_sort` fields with their own specific sorting requirements.
|
||||
- **Content Processing:** Asynchronous operations like Markdown parsing (using `marked.parse`) are handled within the `specific_processor` for the relevant modules (e.g., `ae_journals__journal_entry.ts`).
|
||||
- **Other Special Cases:** Any other module-specific data transformations are handled in this callback.
|
||||
|
||||
- **`core__crud_generic.ts` Cleanup:** The generic CRUD functions in `src/lib/ae_core/core__crud_generic.ts` were simplified:
|
||||
- The `process_ae_obj__props` function in this file was deprecated.
|
||||
- All calls to `process_ae_obj__props` and `db_save_ae_obj_li__ae_obj` were removed from the generic CRUD functions (`load_ae_obj_id`, `load_ae_obj_li`, etc.).
|
||||
- These functions are now responsible only for API interaction, delegating all data processing and caching to the module-specific functions that call them. This enforces a cleaner separation of concerns.
|
||||
- **`core__crud_generic.ts` Cleanup:** The generic CRUD functions in `src/lib/ae_core/core__crud_generic.ts` were simplified:
|
||||
- The `process_ae_obj__props` function in this file was deprecated.
|
||||
- All calls to `process_ae_obj__props` and `db_save_ae_obj_li__ae_obj` were removed from the generic CRUD functions (`load_ae_obj_id`, `load_ae_obj_li`, etc.).
|
||||
- These functions are now responsible only for API interaction, delegating all data processing and caching to the module-specific functions that call them. This enforces a cleaner separation of concerns.
|
||||
|
||||
### Tiptap to CodeMirror Migration (2025-11-17)
|
||||
|
||||
@@ -102,38 +102,38 @@ The rich text editor component, previously based on Tiptap (`shad-editor`), has
|
||||
|
||||
**Key aspects of the migration:**
|
||||
|
||||
- **Removal of Tiptap:** All `@tiptap/*` and `svelte-tiptap` dependencies were removed from `package.json`, and the `src/lib/components/shad-editor/` directory was deleted.
|
||||
- **CodeMirror Integration:** A new CodeMirror component (`src/lib/elements/element_codemirror_editor.svelte`) was created, providing basic markdown formatting capabilities.
|
||||
- **Wrapper Component Update:** The existing editor wrapper (`src/lib/elements/element_tiptap_editor.svelte`) was renamed to `src/lib/elements/element_codemirror_wrapper.svelte` and refactored to utilize the new CodeMirror component. Tiptap-specific logic and props were removed.
|
||||
- **Component Usage Updates:** All Svelte components that previously imported and used the Tiptap wrapper were updated to import `element_codemirror_wrapper.svelte`. Unsupported props such as `default_minimal`, `show_button_kv`, `bind:new_html`, and `bind:changed` were removed from their usage.
|
||||
- **Dependency Cleanup:** `npm install` was run to remove unneeded packages, and `npm run format` was executed to ensure consistent code style.
|
||||
- **Removal of Tiptap:** All `@tiptap/*` and `svelte-tiptap` dependencies were removed from `package.json`, and the `src/lib/components/shad-editor/` directory was deleted.
|
||||
- **CodeMirror Integration:** A new CodeMirror component (`src/lib/elements/element_codemirror_editor.svelte`) was created, providing basic markdown formatting capabilities.
|
||||
- **Wrapper Component Update:** The existing editor wrapper (`src/lib/elements/element_tiptap_editor.svelte`) was renamed to `src/lib/elements/element_codemirror_wrapper.svelte` and refactored to utilize the new CodeMirror component. Tiptap-specific logic and props were removed.
|
||||
- **Component Usage Updates:** All Svelte components that previously imported and used the Tiptap wrapper were updated to import `element_codemirror_wrapper.svelte`. Unsupported props such as `default_minimal`, `show_button_kv`, `bind:new_html`, and `bind:changed` were removed from their usage.
|
||||
- **Dependency Cleanup:** `npm install` was run to remove unneeded packages, and `npm run format` was executed to ensure consistent code style.
|
||||
|
||||
### CodeMirror Bug Fixes (2025-11-18)
|
||||
|
||||
Following the initial migration to CodeMirror, several issues were identified and resolved:
|
||||
|
||||
- **Initialization Errors:** An "Unrecognized extension value" error was fixed by refactoring `codemirror_modules.ts` to explicitly import individual CodeMirror extensions instead of relying on the `basicSetup` bundle. This ensures proper singleton usage and prevents module duplication.
|
||||
- **Text Wrapping:** The `EditorView.lineWrapping` extension was added to `element_codemirror_editor.svelte` and `e_app_codemirror_v5.svelte` to enable text wrapping.
|
||||
- **Content Saving:** Content binding issues were resolved in various IDAA components by correctly binding the `html_text` prop of the CodeMirror wrapper to the corresponding state variables.
|
||||
- **Save Button Enablement:** The logic for enabling the "Save" button was fixed in `ae_idaa_comp__post_obj_id_edit.svelte` to correctly detect changes in the CodeMirror editor.
|
||||
- **Editor Buttons:** A `TypeError` in the editor's formatting buttons was fixed by using `EditorSelection.range()` to correctly create selection ranges.
|
||||
- **Component Renaming:** The `Tiptap_editor` component alias was renamed to `CodeMirror_wrapper` across the project for clarity, and the wrapper file was renamed to `element_codemirror_editor_wrapper.svelte`.
|
||||
- **Initialization Errors:** An "Unrecognized extension value" error was fixed by refactoring `codemirror_modules.ts` to explicitly import individual CodeMirror extensions instead of relying on the `basicSetup` bundle. This ensures proper singleton usage and prevents module duplication.
|
||||
- **Text Wrapping:** The `EditorView.lineWrapping` extension was added to `element_codemirror_editor.svelte` and `e_app_codemirror_v5.svelte` to enable text wrapping.
|
||||
- **Content Saving:** Content binding issues were resolved in various IDAA components by correctly binding the `html_text` prop of the CodeMirror wrapper to the corresponding state variables.
|
||||
- **Save Button Enablement:** The logic for enabling the "Save" button was fixed in `ae_idaa_comp__post_obj_id_edit.svelte` to correctly detect changes in the CodeMirror editor.
|
||||
- **Editor Buttons:** A `TypeError` in the editor's formatting buttons was fixed by using `EditorSelection.range()` to correctly create selection ranges.
|
||||
- **Component Renaming:** The `Tiptap_editor` component alias was renamed to `CodeMirror_wrapper` across the project for clarity, and the wrapper file was renamed to `element_codemirror_editor_wrapper.svelte`.
|
||||
|
||||
### Badge Search Refactoring (2025-11-18)
|
||||
|
||||
The new Badge Search functionality was refactored to resolve several issues related to Svelte 5 reactivity and IndexedDB schema design.
|
||||
|
||||
- **Svelte 5 Reactivity Fixes:**
|
||||
- A `store_invalid_shape` error was fixed by removing the `$` prefix from Svelte 5 state variables in templates.
|
||||
- A Svelte 5 compilation error (`illegal variable name`) was resolved by using `$derived` to create a local reactive variable from a store.
|
||||
- A 500 Internal Error was resolved by moving Dexie `liveQuery` calls into an `onMount` block to ensure they only run on the client-side.
|
||||
- **IndexedDB Schema Refactoring:**
|
||||
- The primary key for the `badge` table was changed from a numeric `id` to the string-based `event_badge_id_random`.
|
||||
- All related components were updated to use the new primary key for data retrieval, allowing for more efficient lookups using `get()` and `bulkGet()`.
|
||||
- **Data Flow Simplification:**
|
||||
- The badge search data flow was refactored to pass full badge objects from the search component to the list component, simplifying the logic and resolving reactivity issues.
|
||||
- **Link Generation:**
|
||||
- Badge links were updated to use the string-based random IDs for both the event and the badge, ensuring consistency and avoiding the exposure of internal numeric IDs.
|
||||
- **Svelte 5 Reactivity Fixes:**
|
||||
- A `store_invalid_shape` error was fixed by removing the `$` prefix from Svelte 5 state variables in templates.
|
||||
- A Svelte 5 compilation error (`illegal variable name`) was resolved by using `$derived` to create a local reactive variable from a store.
|
||||
- A 500 Internal Error was resolved by moving Dexie `liveQuery` calls into an `onMount` block to ensure they only run on the client-side.
|
||||
- **IndexedDB Schema Refactoring:**
|
||||
- The primary key for the `badge` table was changed from a numeric `id` to the string-based `event_badge_id_random`.
|
||||
- All related components were updated to use the new primary key for data retrieval, allowing for more efficient lookups using `get()` and `bulkGet()`.
|
||||
- **Data Flow Simplification:**
|
||||
- The badge search data flow was refactored to pass full badge objects from the search component to the list component, simplifying the logic and resolving reactivity issues.
|
||||
- **Link Generation:**
|
||||
- Badge links were updated to use the string-based random IDs for both the event and the badge, ensuring consistency and avoiding the exposure of internal numeric IDs.
|
||||
|
||||
### Event Settings Page (2025-11-18)
|
||||
|
||||
@@ -141,35 +141,76 @@ A new event settings page was created at `/events/[event_id]/settings` to provid
|
||||
|
||||
**Key features:**
|
||||
|
||||
- **Form-Based UI:** Instead of raw JSON editing, the page uses form-based components for editing event properties. This includes basic event fields (name, code, dates, etc.) and the JSON configuration fields (`cfg_json`, `mod_pres_mgmt_json`, `mod_badges_json`, `mod_abstracts_json`).
|
||||
- **Collapsible Sections:** Each configuration section is wrapped in a `<details>` element, allowing them to be collapsed and expanded for better organization.
|
||||
- **View Toggling:** For the JSON configuration fields, a toggle switch allows the user to switch between the form-based UI and a raw JSON editor (using CodeMirror), providing flexibility for both simple and advanced editing.
|
||||
- **Svelte 5 Reactivity:** The components were built using Svelte 5's `bindable` props to ensure proper two-way data binding between the parent page and the child form components. This corrected an issue where changes in the child components were not being reflected in the parent's state.
|
||||
- **Form-Based UI:** Instead of raw JSON editing, the page uses form-based components for editing event properties. This includes basic event fields (name, code, dates, etc.) and the JSON configuration fields (`cfg_json`, `mod_pres_mgmt_json`, `mod_badges_json`, `mod_abstracts_json`).
|
||||
- **Collapsible Sections:** Each configuration section is wrapped in a `<details>` element, allowing them to be collapsed and expanded for better organization.
|
||||
- **View Toggling:** For the JSON configuration fields, a toggle switch allows the user to switch between the form-based UI and a raw JSON editor (using CodeMirror), providing flexibility for both simple and advanced editing.
|
||||
- **Svelte 5 Reactivity:** The components were built using Svelte 5's `bindable` props to ensure proper two-way data binding between the parent page and the child form components. This corrected an issue where changes in the child components were not being reflected in the parent's state.
|
||||
|
||||
### API Payload Cleaning (2025-11-19)
|
||||
|
||||
To address issues with the Aether API's strict handling of `POST` and `PATCH` request payloads, a more robust solution for cleaning data on the frontend has been implemented.
|
||||
|
||||
- **Svelte 5 Event Handlers:** Corrected the use of `on:click` to `onclick` in the event settings components to align with Svelte 5 conventions.
|
||||
- **Payload Cleaning:**
|
||||
- The `update_ae_obj__event` function in `src/lib/ae_events/ae_events__event.ts` was modified to remove read-only fields (`id`, `event_id`, `created_on`, `updated_on`, etc.) from the payload before sending it to the API.
|
||||
- The function now also correctly renames `account_id` to `account_id_random` to match the API's expectations.
|
||||
- **Editable Fields Whitelist:**
|
||||
- A new file, `src/lib/ae_events/ae_events__event.editable_fields.ts`, was created to define a whitelist of fields that are allowed to be sent in `POST` and `PATCH` requests for an event.
|
||||
- The `create_ae_obj__event` and `update_ae_obj__event` functions now use this whitelist to filter the `data_kv` object, ensuring only allowed fields are sent to the API. This provides a more maintainable and less error-prone way to manage which fields are sent to the API.
|
||||
- **Component Cleanup:** The temporary pre-cleaning logic from the `handle_save` function in `src/routes/events/[event_id]/settings/+page.svelte` has been removed, as the filtering is now handled centrally in `ae_events__event.ts`.
|
||||
- **Future Work:** This pattern of using a whitelist for editable fields will be applied to all other Aether object types to ensure consistent and correct API interactions across the application.
|
||||
- **Svelte 5 Event Handlers:** Corrected the use of `on:click` to `onclick` in the event settings components to align with Svelte 5 conventions.
|
||||
- **Payload Cleaning:**
|
||||
- The `update_ae_obj__event` function in `src/lib/ae_events/ae_events__event.ts` was modified to remove read-only fields (`id`, `event_id`, `created_on`, `updated_on`, etc.) from the payload before sending it to the API.
|
||||
- The function now also correctly renames `account_id` to `account_id_random` to match the API's expectations.
|
||||
- **Editable Fields Whitelist:**
|
||||
- A new file, `src/lib/ae_events/ae_events__event.editable_fields.ts`, was created to define a whitelist of fields that are allowed to be sent in `POST` and `PATCH` requests for an event.
|
||||
- The `create_ae_obj__event` and `update_ae_obj__event` functions now use this whitelist to filter the `data_kv` object, ensuring only allowed fields are sent to the API. This provides a more maintainable and less error-prone way to manage which fields are sent to the API.
|
||||
- **Component Cleanup:** The temporary pre-cleaning logic from the `handle_save` function in `src/routes/events/[event_id]/settings/+page.svelte` has been removed, as the filtering is now handled centrally in `ae_events__event.ts`.
|
||||
- **Future Work:** This pattern of using a whitelist for editable fields will be applied to all other Aether object types to ensure consistent and correct API interactions across the application.
|
||||
|
||||
### Badge Search v3 Bug-Fixing Session (2025-11-19)
|
||||
|
||||
This session focused on resolving a series of cascading build and runtime errors that prevented the new "Badges v3" feature from loading and functioning correctly.
|
||||
|
||||
- **Initial State:** The page was failing with a `Cannot use @variant with unknown variant: md` error, caused by a conflict between Skeleton UI's CSS and the project's Tailwind CSS v4 configuration.
|
||||
- **Misguided Fix & Reversal:** An initial attempt to fix this by removing all global Skeleton UI CSS imports from `app.css` resolved the `@variant` error but broke site-wide styling, causing errors like `Cannot apply unknown utility class 'preset-tonal-secondary'`. The Skeleton imports were subsequently restored to stabilize the application.
|
||||
- **Svelte v5 Event Syntax:** A significant amount of time was spent incorrectly attempting to "fix" Svelte v5 event handlers. The correct understanding was eventually established:
|
||||
- **DOM Events:** Use the `onevent` prefix (e.g., `onclick`).
|
||||
- **Component Events:** Continue to use the `on:event` directive (e.g., `on:success`).
|
||||
- **Invalid Attribute Name Error:** An error (`'onsubmit|preventDefault' is not a valid attribute name`) was discovered in the new badge forms. This was resolved by removing the `|preventDefault` modifier from the `onsubmit` attribute and instead calling `event.preventDefault()` inside the handler function. This appears to be a nuance or bug in how the Svelte v5 compiler handles modifiers with the new `on` prefix.
|
||||
- **Svelte 5 Binding Error:** A runtime error, `props_invalid_value: Cannot do bind:prop={undefined}`, was fixed. It was caused by binding a parent component's `undefined` store value to a child component's prop that had a fallback. The fix involved adding a defensive initialization check directly in the parent component's `<script>` block to ensure the store value was not `undefined` before rendering. Using `onMount` was attempted first but proved incorrect as it runs too late in the lifecycle.
|
||||
- **API Fetch Error:** The final blocker was a `TypeError: NetworkError` during badge searches. This was traced to the `order_by_li` parameter being sent to the API in a format that was causing the `fetch` request to be aborted by the browser (likely due to a CORS preflight failure). The immediate fix, identified by the user, was to comment out the `order_by_li` parameter in the `search__event_badge` function call within `src/lib/ae_events/ae_events__event_badge.ts`.
|
||||
- **Git Issues:** A strange issue was encountered where `git add` commands were not successfully staging files, leading to multiple failed commit attempts. This resolved itself without a clear cause.
|
||||
- **Initial State:** The page was failing with a `Cannot use <!-- Import failed: variant - ENOENT: no such file or directory, access '/home/scott/OSIT_dev/ae_app_svelte_tailwind_skeleton/variant' --> with unknown variant: md` error, caused by a conflict between Skeleton UI's CSS and the project's Tailwind CSS v4 configuration.
|
||||
- **Misguided Fix & Reversal:** An initial attempt to fix this by removing all global Skeleton UI CSS imports from `app.css` resolved the `@variant` error but broke site-wide styling, causing errors like `Cannot apply unknown utility class 'preset-tonal-secondary'`. The Skeleton imports were subsequently restored to stabilize the application.
|
||||
- **Svelte v5 Event Syntax:** A significant amount of time was spent incorrectly attempting to "fix" Svelte v5 event handlers. The correct understanding was eventually established:
|
||||
- **DOM Events:** Use the `onevent` prefix (e.g., `onclick`).
|
||||
- **Component Events:** Continue to use the `on:event` directive (e.g., `on:success`).
|
||||
- **Invalid Attribute Name Error:** An error (`'onsubmit|preventDefault' is not a valid attribute name`) was discovered in the new badge forms. This was resolved by removing the `|preventDefault` modifier from the `onsubmit` attribute and instead calling `event.preventDefault()` inside the handler function. This appears to be a nuance or bug in how the Svelte v5 compiler handles modifiers with the new `on` prefix.
|
||||
- **Svelte 5 Binding Error:** A runtime error, `props_invalid_value: Cannot do bind:prop={undefined}`, was fixed. It was caused by binding a parent component's `undefined` store value to a child component's prop that had a fallback. The fix involved adding a defensive initialization check directly in the parent component's `<script>` block to ensure the store value was not `undefined` before rendering. Using `onMount` was attempted first but proved incorrect as it runs too late in the lifecycle.
|
||||
- **API Fetch Error:** The final blocker was a `TypeError: NetworkError` during badge searches. This was traced to the `order_by_li` parameter being sent to the API in a format that was causing the `fetch` request to be aborted by the browser (likely due to a CORS preflight failure). The immediate fix, identified by the user, was to comment out the `order_by_li` parameter in the `search__event_badge` function call within `src/lib/ae_events/ae_events__event_badge.ts`.
|
||||
- **Git Issues:** A strange issue was encountered where `git add` commands were not successfully staging files, leading to multiple failed commit attempts. This resolved itself without a clear cause.
|
||||
|
||||
## UI Library Compatibility Re-evaluation (Current Focus - 2025-12-08)
|
||||
|
||||
**Context:** The project has been rolled back to a commit (`90ee6bb1`) where the application was "mostly working" with updated `skeletonlabs` packages. Previous attempts to update `tailwindcss` to v4 and `flowbite-svelte` alongside `skeletonlabs` led to dependency conflicts and build failures.
|
||||
|
||||
**New Strategy:** Instead of immediately abandoning existing UI libraries (Skeleton, Flowbite), we will re-evaluate their compatibility with the current Svelte v5 and Tailwind CSS v4 setup in a phased, cautious manner.
|
||||
|
||||
**Phase 1: Re-evaluate SkeletonLabs Compatibility (Primary Focus)**
|
||||
|
||||
**Rationale:** Skeleton UI appears to be the most deeply integrated UI library in the project. If it can be made to work, it will significantly reduce the need for custom component development.
|
||||
|
||||
1. **Create a new Git branch:** Name it `feature/re_evaluate_ui_libs`. (Pending)
|
||||
2. **Identify latest compatible `@skeletonlabs/skeleton` and `skeleton-svelte` versions:**
|
||||
* Consult their official documentation, release notes, and GitHub issues for compatibility with **Svelte v5** and **Tailwind CSS v4**.
|
||||
* Determine if there's a specific version range that is known to work.
|
||||
3. **Attempt to update SkeletonLabs packages (one at a time, or as a pair if tightly coupled):**
|
||||
* Modify `package.json` to specify the identified compatible versions of `@skeletonlabs/skeleton` and `@skeletonlabs/skeleton-svelte`.
|
||||
* Run `npm install`.
|
||||
* Run `npm run build` and `npm run dev`.
|
||||
* **Crucially:** Thoroughly check for *all* types of errors:
|
||||
* Terminal errors (build, compilation, server-side).
|
||||
* Browser console errors (client-side JS, hydration).
|
||||
* Visual regressions or missing styles.
|
||||
* **Document findings:** Note down exact errors or success status.
|
||||
4. **If successful:** If SkeletonLabs works without major issues, proceed to Phase 2.
|
||||
5. **If unsuccessful:** If significant conflicts or errors persist, revert changes on the branch and document the specific incompatibilities. This would then lead to immediately pursuing custom UI component implementation.
|
||||
|
||||
**Phase 2: Address Other UI Library Needs (Conditional, based on Phase 1 outcome)**
|
||||
|
||||
1. **If SkeletonLabs is working:**
|
||||
* Re-evaluate the need for `flowbite-svelte`. Is its functionality still required, or is it covered by Skeleton UI or can be easily done with pure Tailwind?
|
||||
* If still needed, attempt to update `flowbite-svelte` to the latest version, following the same cautious approach as with SkeletonLabs (package.json update, `npm install`, full testing).
|
||||
2. **If SkeletonLabs (and/or Flowbite) cannot be made to work with Svelte v5 / Tailwind v4:**
|
||||
* **Prioritize Custom Component Implementation:** Immediately proceed with implementing custom replacements, starting with critical components. The `element_modal_v1.svelte` (which was partially developed before the rollback) is a prime candidate for immediate completion and integration.
|
||||
* **Identify other critical missing UI components:** Systematically list other essential components (e.g., dropdowns, tabs, accordions, cards, forms elements) that were previously provided by these libraries and prioritize their custom implementation using pure Tailwind CSS and native Svelte. Consider headless UI libraries (e.g., Headless UI, Radix UI) for complex components where accessibility and functionality are key without dictating styling.
|
||||
|
||||
## User Request Confirmation
|
||||
|
||||
- **Incompatibility of essential packages:** Confirmed. `flowbite-svelte` and `skeletonlabs/skeleton` were incompatible with Svelte v5 / Tailwind v4 in our previous attempts. We *will* safely double-check this as part of Phase 1 and 2.
|
||||
- **CSS and missing style issues:** Confirmed. This was the direct consequence of removing the UI libraries.
|
||||
- **`<Modal>` component replacement:** Confirmed. This was our immediate focus for custom replacement if existing libraries fail.
|
||||
38
GEMINI_Flowbite_upgrade_2025-12.md
Normal file
38
GEMINI_Flowbite_upgrade_2025-12.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# Flowbite-Svelte Upgrade Notes (December 2025)
|
||||
|
||||
## Overview
|
||||
This document tracks the process of upgrading the Flowbite-Svelte UI library within the Aether SvelteKit project. The primary goal is to determine if a compatible version exists for Svelte 5 and Tailwind CSS v4, and to plan for its integration or replacement if necessary.
|
||||
|
||||
## Current Status (Pre-Upgrade)
|
||||
- **Flowbite-Svelte Version:** v1.28.1 (as per `package.json` at commit `90ee6bb1`)
|
||||
- **Target Version:** v1.30.0 (or newest compatible)
|
||||
- **Initial Issue (Pre-Rollback):** Previous attempts to update `flowbite-svelte` (and other packages) indicated peer dependency conflicts. Earlier versions of `flowbite-svelte` (compatible with Tailwind v3) required Svelte v4, which conflicted with the project's Svelte v5.
|
||||
- **Current Re-evaluation:** After rolling back to commit `90ee6bb1` and updating SkeletonLabs (which failed the build due to other reasons), `npm install` succeeded with `flowbite-svelte@1.28.1` present in `package.json`. This implies it *can install* alongside Svelte 5 and Tailwind 4. However, its runtime compatibility and rendering correctness with Svelte 5 (runes mode) and Tailwind CSS v4 remain untested.
|
||||
- **Svelte Version:** Svelte 5 (runes mode)
|
||||
- **Tailwind CSS Version:** v4.1.10
|
||||
|
||||
## Phase 1: Research and Planning (No Code Changes Yet)
|
||||
|
||||
### Goal
|
||||
Determine if Flowbite-Svelte has a version that is explicitly compatible with Svelte 5 (runes mode) and Tailwind CSS v4, and to identify any breaking changes or migration paths.
|
||||
|
||||
### Steps
|
||||
1. **Thoroughly Review Flowbite-Svelte Changelog:**
|
||||
* **Link:** `https://github.com/themesberg/flowbite-svelte/blob/main/CHANGELOG.md`
|
||||
* **Action:** Read the changelog for versions from `1.28.1` up to the latest stable release (e.g., `1.30.0` or newer).
|
||||
* **Goal:** Look for specific mentions of Svelte 5 support, "runes mode" compatibility, or compatibility with Tailwind CSS v4. Note any breaking changes or migration instructions related to Svelte version or component API changes.
|
||||
|
||||
### Expected Outcome of Phase 1
|
||||
A clear understanding of Flowbite-Svelte's compatibility with our current stack. This will inform the decision on whether to attempt an upgrade or if abandoning it (and creating custom replacements) is necessary. The expectation is that if a version is compatible, any breaking changes to component APIs (like renaming `Modal` to `Dialog`) will be identified.
|
||||
|
||||
## Phase 2: Execution (After Approval)
|
||||
|
||||
### Steps (To be detailed after Phase 1)
|
||||
1. **If a compatible version exists:**
|
||||
* Update `package.json` to the compatible version.
|
||||
* Run `npm install`.
|
||||
* Run `npm run build` and `npm run dev` and thoroughly check for errors and visual regressions.
|
||||
* Apply any necessary code changes based on identified breaking changes (e.g., component name changes like `Modal` to `Dialog`).
|
||||
2. **If no compatible version exists or issues persist:**
|
||||
* **Decision:** Abandon Flowbite-Svelte.
|
||||
* **Action:** Systematically replace its components with custom-built Svelte/Tailwind components, starting with critical ones like `Modal` (using our `element_modal_v1.svelte` if not using Skeleton's `Dialog`).
|
||||
48
GEMINI_SkeletonLabs_upgrade_2025-12.md
Normal file
48
GEMINI_SkeletonLabs_upgrade_2025-12.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# SkeletonLabs Upgrade Notes (December 2025)
|
||||
|
||||
## Overview
|
||||
This document tracks the process of upgrading the SkeletonLabs UI library (from v3 to v4.7.4) within the Aether SvelteKit project. The primary goal is to resolve build issues caused by incompatibility with Svelte 5 and Tailwind CSS v4, and to integrate the updated library correctly.
|
||||
|
||||
## Current Status (Pre-Upgrade)
|
||||
- **SkeletonLabs Version:** v3.2.2 (as per `package.json` at commit `90ee6bb1`)
|
||||
- **Target Version:** v4.7.4
|
||||
- **Issue:** Previous attempts to upgrade SkeletonLabs to v4.7.4 resulted in a persistent, blocking build error: `[@tailwindcss/vite:generate:build] Cannot use `@variant` with unknown variant: md` originating from `node_modules/@skeletonlabs/skeleton/src/index.css`. This indicates a fundamental incompatibility in how Tailwind CSS v4 processes SkeletonLabs' pre-compiled CSS.
|
||||
- **Svelte Version:** Svelte 5 (runes mode)
|
||||
- **Tailwind CSS Version:** v4.1.10
|
||||
|
||||
## Phase 1: Research and Planning (No Code Changes Yet)
|
||||
|
||||
### Goal
|
||||
Understand the required migration steps from Skeleton v3 to v4 as per official documentation, specifically to address the `@variant` build error and ensure compatibility with Svelte 5 and Tailwind CSS v4.
|
||||
|
||||
### Steps
|
||||
1. **Thoroughly Review Skeleton v3 to v4 Migration Guide:**
|
||||
* **Link:** `https://www.skeleton.dev/docs/svelte/get-started/migrate-from-v3`
|
||||
* **Action:** Read the guide carefully to identify all breaking changes related to:
|
||||
* Tailwind CSS plugin setup in `tailwind.config.ts`.
|
||||
* Required changes to `app.css` or any other global CSS files.
|
||||
* Changes in component class names, especially theme-related classes (`preset-*`, `variant-*`, etc.), which could be related to the `@variant` error.
|
||||
* The new `Dialog` component and how it replaces any previous modal-like components.
|
||||
* **Deliverable:** Summarize the required code changes based on this guide.
|
||||
|
||||
2. **Review Skeleton v4.0 Launch Discussion:**
|
||||
* **Link:** `https://github.com/skeletonlabs/skeleton/discussions/3920`
|
||||
* **Action:** Look for community insights, common issues, and suggested solutions related to upgrading.
|
||||
|
||||
3. **Review Skeleton Dialog Documentation:**
|
||||
* **Link:** `https://www.skeleton.dev/docs/svelte/framework-components/dialog`
|
||||
* **Action:** Understand the API and usage of Skeleton's native dialog component, as this will be the preferred replacement for any missing `<Modal>` components.
|
||||
|
||||
### Expected Outcome of Phase 1
|
||||
A detailed, step-by-step plan for migrating SkeletonLabs from v3 to v4, specifically targeting the resolution of the `@variant` build error and outlining the new usage of its UI components. This plan will be presented for approval before any code changes are made.
|
||||
|
||||
## Phase 2: Execution (After Approval)
|
||||
|
||||
### Steps (To be detailed after Phase 1)
|
||||
1. **Update `package.json`:** Set `@skeletonlabs/skeleton` and `@skeletonlabs/skeleton-svelte` to `4.7.4`.
|
||||
2. **Adjust `tailwind.config.ts`:** Apply changes as per migration guide (e.g., plugin configuration).
|
||||
3. **Adjust `src/app.css`:** Apply changes as per migration guide (e.g., CSS imports, custom theme definitions).
|
||||
4. **Run `npm install`**.
|
||||
5. **Run `npm run build` and `npm run dev`** to verify the build and functionality.
|
||||
6. **Replace `Modal` components:** Update existing components that used an older `<Modal>` (e.g., from `flowbite-svelte` or previous custom efforts) with Skeleton's new `Dialog` component.
|
||||
7. **Address Svelte 5 reactivity warnings:** Fix any warnings related to data handling or non-reactive updates.
|
||||
71
GEMINI_debug_notes.md
Normal file
71
GEMINI_debug_notes.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# Skeleton/Tailwind Build Debugging Log
|
||||
|
||||
This file tracks the troubleshooting steps taken to resolve the build and dev server errors after updating packages.
|
||||
|
||||
## Initial State (Pre-Rollback to 90ee6bb1)
|
||||
|
||||
- **Packages Updated:** Attempted to update `@skeletonlabs/skeleton` to `4.7.4`, `tailwindcss` to `4.1.10`, and `flowbite-svelte` (version not explicitly stated in previous logs but was part of the update attempts).
|
||||
- **`dev` Error:** `Cannot apply unknown utility class 'preset-tonal-secondary'`
|
||||
- **`build` Error:** `Cannot use @variant with unknown variant: md`
|
||||
- **Dependency Conflicts:** Persistent `ERESOLVE` errors, primarily due to:
|
||||
- `flowbite-svelte` versions compatible with Tailwind v3 requiring `svelte@^4.0.0` (while project is Svelte v5).
|
||||
- `@skeletonlabs/skeleton` versions requiring `tailwindcss@^4.0.0` (while attempting to use Tailwind v3 for `flowbite-svelte` compatibility).
|
||||
- **Conclusion:** A fundamental incompatibility between Svelte v5, Tailwind v4, and the existing versions of UI component libraries (Skeleton, Flowbite-Svelte) when trying to achieve a stable `npm install`.
|
||||
|
||||
## Troubleshooting Steps (Pre-Rollback)
|
||||
|
||||
(Summarized from previous extensive debugging logs)
|
||||
- Multiple attempts to downgrade/upgrade Tailwind, Skeleton, and Flowbite-Svelte led to a "dependency nightmare."
|
||||
- Identified that Flowbite-Svelte was the primary blocker for maintaining Svelte v5 compatibility while also using an older Tailwind.
|
||||
- Attempted a strategy to remove *all* pre-built UI component libraries (Skeleton, Flowbite-Svelte) to achieve a clean Svelte v5 + Tailwind v4 base. This led to:
|
||||
- `ReferenceError: Modal is not defined` due to the removal of the underlying `Modal` component.
|
||||
- `</form>` syntax error due to incorrect commenting out of the `<Modal>` component's block.
|
||||
- Server-side `500 Internal Error` (diagnosis interrupted by rollback decision).
|
||||
|
||||
## Current State (Post-Rollback to 90ee6bb1)
|
||||
|
||||
- **Commit:** `90ee6bb1 - All packages have now been updated. This includes the skeletonlabs packages. Everything seems to be working. (Except for some unrelated known bugs. Why did the badge search stop working (AGAIN)?)`
|
||||
- **Status:** Application is confirmed to be "mostly working" at this commit. This provides a stable baseline.
|
||||
- **Key Observation from Commit Message:** "All packages have now been updated. This includes the skeletonlabs packages. Everything seems to be working." This implies that at this point, the `skeletonlabs` packages *were* working with some configuration of Svelte and Tailwind.
|
||||
|
||||
## Revised Path Forward: Re-evaluate UI Library Compatibility
|
||||
|
||||
**Context:** The previous issues stemmed from an inability to reconcile `skeletonlabs/skeleton` (requiring Tailwind v4), `flowbite-svelte` (preferring Svelte v4 for Tailwind v3 compatibility), and the project's Svelte v5 base. Before attempting to re-implement all UI components from scratch, we will re-evaluate if the latest versions of these libraries have resolved their internal conflicts or if a stable configuration now exists.
|
||||
|
||||
**Phase 1: Re-evaluate SkeletonLabs Compatibility (Primary Focus)**
|
||||
|
||||
**Rationale:** Skeleton UI appears to be the most deeply integrated UI library in the project. If it can be made to work, it will significantly reduce the need for custom component development.
|
||||
|
||||
1. **Update `GEMINI.md` and related notes:** (Completed in this step) Document this new strategy and the decision to re-evaluate packages.
|
||||
2. **Create a new Git branch:** Name it `feature/re_evaluate_ui_libs`. (Pending)
|
||||
3. **Identify latest compatible `@skeletonlabs/skeleton` and `skeleton-svelte` versions:**
|
||||
* Consult their official documentation, release notes, and GitHub issues for compatibility with **Svelte v5** and **Tailwind CSS v4**.
|
||||
* Determine if there's a specific version range that is known to work.
|
||||
4. **Attempt to update SkeletonLabs packages (one at a time, or as a pair if tightly coupled):**
|
||||
* Modify `package.json` to specify the identified compatible versions of `@skeletonlabs/skeleton` and `@skeletonlabs/skeleton-svelte`.
|
||||
* Run `npm install`.
|
||||
* Run `npm run build` and `npm run dev`.
|
||||
* **Crucially:** Thoroughly check for *all* types of errors:
|
||||
* Terminal errors (build, compilation, server-side).
|
||||
* Browser console errors (client-side JS, hydration).
|
||||
* Visual regressions or missing styles.
|
||||
* **Document findings:** Note down exact errors or success status.
|
||||
5. **If successful:** If SkeletonLabs works without major issues, proceed to Phase 2.
|
||||
6. **If unsuccessful:** If significant conflicts or errors persist, revert changes on the branch and document the specific incompatibilities. This would then lead to immediately pursuing custom UI component implementation.
|
||||
|
||||
**Phase 2: Address Other UI Library Needs (Conditional, based on Phase 1 outcome)**
|
||||
|
||||
1. **If SkeletonLabs is working:**
|
||||
* Re-evaluate the need for `flowbite-svelte`. Is its functionality still required, or is it covered by Skeleton UI or can be easily done with pure Tailwind?
|
||||
* If still needed, attempt to update `flowbite-svelte` to the latest version, following the same cautious approach as with SkeletonLabs (package.json update, `npm install`, full testing).
|
||||
2. **If SkeletonLabs (and/or Flowbite) cannot be made to work with Svelte v5 / Tailwind v4:**
|
||||
* **Prioritize Custom Component Implementation:** Immediately proceed with implementing custom replacements, starting with critical components. The `element_modal_v1.svelte` (which was partially developed before the rollback) is a prime candidate for immediate completion and integration.
|
||||
* **Identify other critical missing UI components:** Systematically list other essential components (e.g., dropdowns, tabs, accordions, cards, forms elements) that were previously provided by these libraries and prioritize their custom implementation using pure Tailwind CSS and native Svelte. Consider headless UI libraries (e.g., Headless UI, Radix UI) for complex components where accessibility and functionality are key without dictating styling.
|
||||
|
||||
## User Request Confirmation
|
||||
|
||||
- **Incompatibility of essential packages:** Confirmed. `flowbite-svelte` and `skeletonlabs/skeleton` were incompatible with Svelte v5 / Tailwind v4 in our previous attempts. We *will* safely double-check this as part of Phase 1 and 2.
|
||||
- **CSS and missing style issues:** Confirmed. This was the direct consequence of removing the UI libraries.
|
||||
- **`<Modal>` component replacement:** Confirmed. This was our immediate focus for custom replacement.
|
||||
|
||||
**The immediate next steps are to update my internal `GEMINI.md` for this project with this new plan and create the `feature/re_evaluate_ui_libs` branch.**
|
||||
703
package-lock.json
generated
703
package-lock.json
generated
@@ -42,8 +42,8 @@
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.39.1",
|
||||
"@playwright/test": "^1.56.1",
|
||||
"@skeletonlabs/skeleton": "^4.*.*",
|
||||
"@skeletonlabs/skeleton-svelte": "^4.*.*",
|
||||
"@skeletonlabs/skeleton": "3.2.2",
|
||||
"@skeletonlabs/skeleton-svelte": "1.5.3",
|
||||
"@sveltejs/adapter-auto": "^7.0.0",
|
||||
"@sveltejs/adapter-node": "^5.0.0",
|
||||
"@sveltejs/adapter-static": "^3.0.1",
|
||||
@@ -1197,6 +1197,7 @@
|
||||
"integrity": "sha512-oxDR/NTEJ1k+UFVQElaNIk65E/Z83HK1z1WI3lQyhTtnNg4R5oVXaPzK3jcpKG8UHKDVuDQHzn+wsxSz8RP3aw==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@swc/helpers": "^0.5.0"
|
||||
}
|
||||
@@ -2162,60 +2163,41 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@skeletonlabs/skeleton": {
|
||||
"version": "4.7.4",
|
||||
"resolved": "https://registry.npmjs.org/@skeletonlabs/skeleton/-/skeleton-4.7.4.tgz",
|
||||
"integrity": "sha512-C+xx9pRIvOEAlBMU/8iriLiFND325zHSOYWDNgk7gSOCVRySWNSCFx5spe1hKomTQSVCddQDESv8/k7MDjhRHw==",
|
||||
"version": "3.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@skeletonlabs/skeleton/-/skeleton-3.2.2.tgz",
|
||||
"integrity": "sha512-dAunBAWqRMcNTGAvCKUgpADJdbtqL65eNEb7pDIKQZ6bI6qsxakR6MuF2E4B3jmUEpcaxaggDp0UdnUjlkAZ1Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"tailwindcss": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@skeletonlabs/skeleton-common": {
|
||||
"version": "4.7.4",
|
||||
"resolved": "https://registry.npmjs.org/@skeletonlabs/skeleton-common/-/skeleton-common-4.7.4.tgz",
|
||||
"integrity": "sha512-xxngr40ZWc978K3+ZIb3kylE+mzYMcNwEloGCuCtNU96I8koqTo8Ow67lW4sD31OyhxhCG0nmUO45B4UDBsySw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@skeletonlabs/skeleton-svelte": {
|
||||
"version": "4.7.4",
|
||||
"resolved": "https://registry.npmjs.org/@skeletonlabs/skeleton-svelte/-/skeleton-svelte-4.7.4.tgz",
|
||||
"integrity": "sha512-yiRtG6enLphKcH9mvlfOMXPUzgCDbG5SdyRBoa4rfI/Vd/odeEhsiEjo4+1xiLFTvSJyeDK8f0CfJg+QMYpu4Q==",
|
||||
"version": "1.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@skeletonlabs/skeleton-svelte/-/skeleton-svelte-1.5.3.tgz",
|
||||
"integrity": "sha512-YFSJbaK6QPhrTyzlNy3fA3lSOg7hB7D/qkLAJDVlqwu5E2cz6WWS+/J3Tu9qOBO50PuSsgdOaFPc+QQ5+vQZHA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@internationalized/date": "3.10.0",
|
||||
"@skeletonlabs/skeleton-common": "4.7.4",
|
||||
"@zag-js/accordion": "1.31.0",
|
||||
"@zag-js/avatar": "1.31.0",
|
||||
"@zag-js/collapsible": "1.31.0",
|
||||
"@zag-js/collection": "1.31.0",
|
||||
"@zag-js/combobox": "1.31.0",
|
||||
"@zag-js/date-picker": "1.31.0",
|
||||
"@zag-js/dialog": "1.31.0",
|
||||
"@zag-js/file-upload": "1.31.0",
|
||||
"@zag-js/floating-panel": "1.31.0",
|
||||
"@zag-js/listbox": "1.31.0",
|
||||
"@zag-js/menu": "1.31.0",
|
||||
"@zag-js/pagination": "1.31.0",
|
||||
"@zag-js/popover": "1.31.0",
|
||||
"@zag-js/progress": "1.31.0",
|
||||
"@zag-js/radio-group": "1.31.0",
|
||||
"@zag-js/rating-group": "1.31.0",
|
||||
"@zag-js/slider": "1.31.0",
|
||||
"@zag-js/steps": "1.31.0",
|
||||
"@zag-js/svelte": "1.31.0",
|
||||
"@zag-js/switch": "1.31.0",
|
||||
"@zag-js/tabs": "1.31.0",
|
||||
"@zag-js/tags-input": "1.31.0",
|
||||
"@zag-js/toast": "1.31.0",
|
||||
"@zag-js/toggle-group": "1.31.0",
|
||||
"@zag-js/tooltip": "1.31.0",
|
||||
"@zag-js/tree-view": "1.31.0"
|
||||
"@zag-js/accordion": "1.18.3",
|
||||
"@zag-js/avatar": "1.18.3",
|
||||
"@zag-js/combobox": "1.18.3",
|
||||
"@zag-js/dialog": "1.18.3",
|
||||
"@zag-js/file-upload": "1.18.3",
|
||||
"@zag-js/pagination": "1.18.3",
|
||||
"@zag-js/popover": "1.18.3",
|
||||
"@zag-js/progress": "1.18.3",
|
||||
"@zag-js/radio-group": "1.18.3",
|
||||
"@zag-js/rating-group": "1.18.3",
|
||||
"@zag-js/slider": "1.18.3",
|
||||
"@zag-js/svelte": "1.18.3",
|
||||
"@zag-js/switch": "1.18.3",
|
||||
"@zag-js/tabs": "1.18.3",
|
||||
"@zag-js/tags-input": "1.18.3",
|
||||
"@zag-js/toast": "1.18.3",
|
||||
"@zag-js/tooltip": "1.18.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"svelte": "^5.29.0"
|
||||
"svelte": "^5.20.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@standard-schema/spec": {
|
||||
@@ -2410,6 +2392,7 @@
|
||||
"integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"tslib": "^2.8.0"
|
||||
}
|
||||
@@ -3153,445 +3136,337 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@zag-js/accordion": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/accordion/-/accordion-1.31.0.tgz",
|
||||
"integrity": "sha512-AvRi0sZfkvkofm8S/dWAJYlNJxSZj+gKN6XdeBLEGrS9HbKD1zM4BHZ88P0gIiuw/WAoYLxdGwtXL6AdgtLL+g==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/accordion/-/accordion-1.18.3.tgz",
|
||||
"integrity": "sha512-h+Qw9uLZXlSL3vx+pe6sCHLK4pZAzKdj+2CuH3lIAp8GdOcO6MUfcfo905jl0vM0mUyWpELxRypzplcFioIVkw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/anatomy": "1.18.3",
|
||||
"@zag-js/core": "1.18.3",
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/types": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/anatomy": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/anatomy/-/anatomy-1.31.0.tgz",
|
||||
"integrity": "sha512-wmd67ABav3IYJKJDA6dnHzUrjJWUYYaRYjdg1UeJbecENoRLiVWTQmp+cXbU08q7Cdj0Cf2nrd0+3zajAP77Vg==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/anatomy/-/anatomy-1.18.3.tgz",
|
||||
"integrity": "sha512-D1Qaxq1NS+Wud9KEdnO1bQE1Yb1pLxi78iqj007pr+gmFfo2Br3QLJNcMm2x/IWLBCdETwgDhq6nvHTrCjmiwg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@zag-js/aria-hidden": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/aria-hidden/-/aria-hidden-1.31.0.tgz",
|
||||
"integrity": "sha512-fXxybDZln04KWs/lR2xWAvcvE9/vNOqfCsa9cx6S31GiFWwfVJ5vu9mwfpKycYMiJ+uPrUWDV2B6KxYhJF0x7w==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/aria-hidden/-/aria-hidden-1.18.3.tgz",
|
||||
"integrity": "sha512-CQ4BkawuNfL8yezXjT5zsdFNGKCudz+p13TVW2eP8hHGuMQilK32h4fNd2536U9SRQNi0BjF/e9Qgfl8G2ipDg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/dom-query": "1.31.0"
|
||||
}
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@zag-js/auto-resize": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/auto-resize/-/auto-resize-1.31.0.tgz",
|
||||
"integrity": "sha512-cmJwHzSFtBZMqIyUmGO20BHZhArDnKVn+ifvrIqcmNxCtmsoOnblt/tJC88PhOXlU6XFVi4itvn9p/ffhQK3Ow==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/auto-resize/-/auto-resize-1.18.3.tgz",
|
||||
"integrity": "sha512-r+eP3R51fFPTd4TYJnjDf62o9Rr4EltuhWEEx+jDahP0hFfK74SDvb0HYMu1j9WQIb2O84JlBma+PNsZSsJasQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/dom-query": "1.31.0"
|
||||
"@zag-js/dom-query": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/avatar": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/avatar/-/avatar-1.31.0.tgz",
|
||||
"integrity": "sha512-3wtMBVZE7ezNf5xntXDAPvFsDZuRgVu4XXuuV1T4RLI5O07+larPEF5p9IcvOejjxXX6ZtCskOdYbs995SLs+A==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/avatar/-/avatar-1.18.3.tgz",
|
||||
"integrity": "sha512-2yaWSMDG73/2J0NxDtdaAKoto/jg/W/mJ7QGR+1Ay7bNcHnnCaYJcVKPdx/v4k46Swhtt/GKkIqavnRXT6brAw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/collapsible": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/collapsible/-/collapsible-1.31.0.tgz",
|
||||
"integrity": "sha512-LGd9dM1PvwOxys9GUB81H6bfcw+cEtsUbJLAZyZJIF/tgtlHKqqjm6uYmMyWUAKR7S4j3syfMhVIIlxZ5W9U7w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/anatomy": "1.18.3",
|
||||
"@zag-js/core": "1.18.3",
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/types": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/collection": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/collection/-/collection-1.31.0.tgz",
|
||||
"integrity": "sha512-WdUUYOKOorg9NGurrXoIafj8V9pGPpYFSperTdyQ6C26eVuKUKeD/gIkSrATuqR4NZGtpJVuK44bLTT5Tyfm6w==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/collection/-/collection-1.18.3.tgz",
|
||||
"integrity": "sha512-0IS4nKgFP6s0XwIBdhNrEtPghlIa+cxl4emkppQS0Q/bGEytA+0tE73ZcIY2i/PN15DRdlLmOWX8g0IWFm8R3g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/combobox": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/combobox/-/combobox-1.31.0.tgz",
|
||||
"integrity": "sha512-EinK6xVi+wa3XhSfWtAjrBnjmJoRK4WahVNu4aOM5sKDKs6OHbg/IYAKZo09Zbkba/383GomUeoigGOJTCxTpg==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/combobox/-/combobox-1.18.3.tgz",
|
||||
"integrity": "sha512-RnJUb67Dv/erKjNv1x+wZvEiHoToBQv8xNh5WOhsLD5TNZEHF7zYsYnKbywR+RlAUysDb8HWfV4OfeFKUWxV3A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/aria-hidden": "1.31.0",
|
||||
"@zag-js/collection": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dismissable": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/popper": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/anatomy": "1.18.3",
|
||||
"@zag-js/aria-hidden": "1.18.3",
|
||||
"@zag-js/collection": "1.18.3",
|
||||
"@zag-js/core": "1.18.3",
|
||||
"@zag-js/dismissable": "1.18.3",
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/popper": "1.18.3",
|
||||
"@zag-js/types": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/core": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/core/-/core-1.31.0.tgz",
|
||||
"integrity": "sha512-P/5ln24l5ULCThelRkFbwUgn/v0yXs7heXiSLooajGDzBrJeftDWbsHyre5GxXjz+XYoyui7jqj888BTZY2eKA==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/core/-/core-1.18.3.tgz",
|
||||
"integrity": "sha512-FuB4ClNyob6Fqx57mEWbPui59uU1x9I6MvTyJunnPjJMWr1M0bxsgrqkePoEzt+osel8qLMyaa1oHaxszSNxKQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/date-picker": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/date-picker/-/date-picker-1.31.0.tgz",
|
||||
"integrity": "sha512-eZR0JpJBcVd2H1gQr++VlTiwagnJVP0ttmsiYmrHADOJpYPBWqdzgXay1bWaTePZ0PjAc1OK3xbBmetRcViy6A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/date-utils": "1.31.0",
|
||||
"@zag-js/dismissable": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/live-region": "1.31.0",
|
||||
"@zag-js/popper": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@internationalized/date": ">=3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/date-utils": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/date-utils/-/date-utils-1.31.0.tgz",
|
||||
"integrity": "sha512-SmZHk4bMP9aDxa20E5Ycj9G1j/oE0wsIPnwHI5rdH7ULs7qkpwocv9wbycYaFx8e3L3zItJoOhIHvFOtbxDBbQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"@internationalized/date": ">=3.0.0"
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/dialog": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/dialog/-/dialog-1.31.0.tgz",
|
||||
"integrity": "sha512-X2ngaRljrG2wRZQQh0VXfjWTUGLLLKuV8L0pAdWo+SpidgXk+sddseb7BZddMwOaPFgAxUdPfBIxidI/cOinpQ==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/dialog/-/dialog-1.18.3.tgz",
|
||||
"integrity": "sha512-gLWYKYpUyp3IyLr0BX/c6izvX59rCugwv4ClGpojL+chv6KlmgPX6qKj6XVoyWlYsnxvIL3mF2SX+lgUz+SOrA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/aria-hidden": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dismissable": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/focus-trap": "1.31.0",
|
||||
"@zag-js/remove-scroll": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/anatomy": "1.18.3",
|
||||
"@zag-js/aria-hidden": "1.18.3",
|
||||
"@zag-js/core": "1.18.3",
|
||||
"@zag-js/dismissable": "1.18.3",
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/focus-trap": "1.18.3",
|
||||
"@zag-js/remove-scroll": "1.18.3",
|
||||
"@zag-js/types": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/dismissable": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/dismissable/-/dismissable-1.31.0.tgz",
|
||||
"integrity": "sha512-AInddS5WppfjJ0pf4miDDlzLKH9DMInL+zP7QLaCpHDdqv+hCbF8BGbLaiODy0WWoLk4obxEFiLbeMewAcKBxw==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/dismissable/-/dismissable-1.18.3.tgz",
|
||||
"integrity": "sha512-6q8OlX/W+TvP73r7tDcsLbTZEipczO4TNZnDHGFra+tP8CPslZZ39SZYomhrtRWqOKWu5R3UX+Vgl4gO1wtykA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/interact-outside": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/interact-outside": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/dom-query": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/dom-query/-/dom-query-1.31.0.tgz",
|
||||
"integrity": "sha512-3bGXNU+Kk8/7+fgbTj0odvnrh3/vjaUx18jjQqx+Optgh4zl1RwTjjhAzx57TCwdNczgbuUByYSwojJaC0b7vA==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/dom-query/-/dom-query-1.18.3.tgz",
|
||||
"integrity": "sha512-mPj2xvjxXyB++aGoIIZZ0cCbMu+nfLvks/Q2fe6SgfSaTdGw8jvJtp4F5Qs3Q+MOHbIZRnAqYyBLv56qav3AeA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/types": "1.31.0"
|
||||
"@zag-js/types": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/file-upload": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/file-upload/-/file-upload-1.31.0.tgz",
|
||||
"integrity": "sha512-hguKaDTOAiIdqfOaOjl9VZOKQr2x68VFqntjOttVXtE4dbUBHYGHJeoUuXpCiS+iO7A9BBAr9laV3YivgdLaWw==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/file-upload/-/file-upload-1.18.3.tgz",
|
||||
"integrity": "sha512-Noq/DaNwuoDK7klyqy86IJOmxQIKaUY15PBiU7u2sU+VMqKWcWLm1hSlRLpnhkJrhRGJRXxKd8rGuCO/i8t1Xg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/file-utils": "1.31.0",
|
||||
"@zag-js/i18n-utils": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/anatomy": "1.18.3",
|
||||
"@zag-js/core": "1.18.3",
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/file-utils": "1.18.3",
|
||||
"@zag-js/i18n-utils": "1.18.3",
|
||||
"@zag-js/types": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/file-utils": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/file-utils/-/file-utils-1.31.0.tgz",
|
||||
"integrity": "sha512-+hltE2Lze2gpr8R0DchYVUPogt4JAGBNF+7ZMT9wVw16Eepx0fcaIiyMkcNsfOCJDey922XGCUOBnUy6f3Ogpg==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/file-utils/-/file-utils-1.18.3.tgz",
|
||||
"integrity": "sha512-JoQJsP3OWJTP/mGzKD/N7RKXdnigaT4ExKQPQaHF+jT/uQtHs+8J088Td/WVkfLTHIyW/s3t09pLk7z6ufZJkA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/i18n-utils": "1.31.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/floating-panel": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/floating-panel/-/floating-panel-1.31.0.tgz",
|
||||
"integrity": "sha512-3o14jfWhA3icrxvQSSOotifTML8qbu5hADnCu0eKjYWeE/7VARTkhtHI/7+GwmTkfocRlYnh12zdcHE/+uuMJQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/popper": "1.31.0",
|
||||
"@zag-js/rect-utils": "1.31.0",
|
||||
"@zag-js/store": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/i18n-utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/focus-trap": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/focus-trap/-/focus-trap-1.31.0.tgz",
|
||||
"integrity": "sha512-snkl5dzGKddJv/lWEB3IQCgftP2lIttepMdRRFtHyd1QYFWa64g+bFhLRwekWfCEy+hQJW4TpeGWq8tANF5I6Q==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/focus-trap/-/focus-trap-1.18.3.tgz",
|
||||
"integrity": "sha512-EhAJb7xIHaUYP+WxlmN2SKEvsqTWih0FUX4Jf+rh2xr4v/dd/09ki+/yQjtTxVrKshCGe4LxCGeiws7mTkOZrA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/dom-query": "1.31.0"
|
||||
"@zag-js/dom-query": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/focus-visible": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-1.31.0.tgz",
|
||||
"integrity": "sha512-V8yco8kxf47TSxbvQT3xXKpmFiOzGBJo05asmAP10hLwErWtt6TyYOBDkPadxFZIle83b2XRFdc45hQrpqLClw==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-1.18.3.tgz",
|
||||
"integrity": "sha512-od0TDV0oCwldqyIOLyfLcLlQlsAnlsO03Je2TrL1/48vxbnPaYQRQK8HUjIFnPcr/rPDKojoRjmNi4OryD2/4w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/dom-query": "1.31.0"
|
||||
"@zag-js/dom-query": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/i18n-utils": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/i18n-utils/-/i18n-utils-1.31.0.tgz",
|
||||
"integrity": "sha512-58PN2gwBUARvIUAAf9RwzwU+XLY1a2+TfUQA3TL8oaK2va/mnjWBQBOH8MKIrmf78br37i/nHddMjkYHg3DAJQ==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/i18n-utils/-/i18n-utils-1.18.3.tgz",
|
||||
"integrity": "sha512-7ihl4sJEyTL4LHwLgmRcSn9nGBEbbRkN6W552dFjeV5rAIgRGvrdKvEHGdkSQkrDHNlVU2zEHlN50vEdfsG4Vw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/dom-query": "1.31.0"
|
||||
"@zag-js/dom-query": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/interact-outside": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/interact-outside/-/interact-outside-1.31.0.tgz",
|
||||
"integrity": "sha512-SJcg+nR6Gzo4jo7ckNfnq3R47Kf5oA41xc4CZkWguIKJFpqQGymsRAoEpXxcqvvMloDYbxtqKBjWbIg4fh/moQ==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/interact-outside/-/interact-outside-1.18.3.tgz",
|
||||
"integrity": "sha512-DDcFBOZRjJ2a4qxQ2QU/37mIRCJivnVV87bKy8i/Zu+ea4URerBAsLp23/UC1aqEnDK+QXWRMQsK02SySR/RiA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/listbox": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/listbox/-/listbox-1.31.0.tgz",
|
||||
"integrity": "sha512-/Y4jJzTnIA7urmiubv5W7S3p8cjro1Bp0UP8mQV5C5k6D0A28KE/wTvuOiPmkC9MfjyqMMh6scJwGRT5fxdXZg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/collection": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/focus-visible": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/live-region": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/live-region/-/live-region-1.31.0.tgz",
|
||||
"integrity": "sha512-oJRVsOi/cNbfXr5diqdQChWf2KttZl93tTNQuGzZFxGXy4T//OlNnC1Qzwhsu5l8vsSyU/W3wWrIfNJCSifK0Q==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/live-region/-/live-region-1.18.3.tgz",
|
||||
"integrity": "sha512-n3kKr4a+RWwBdkaZc+EZXBMb7joHg1lyxK95oP0/9l+Aeltut5gpjA+VQP49pLagakUnMzt1KbkHekO8FKeX3A==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@zag-js/menu": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/menu/-/menu-1.31.0.tgz",
|
||||
"integrity": "sha512-6gKlV4dnCPtwWz8U2KZB+mIMiFOl3sCxDshDC4ZW6BY8fFJROvofHRwQjC/0oVsE4mYvhyrZsYSpwZpyH18wBQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dismissable": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/popper": "1.31.0",
|
||||
"@zag-js/rect-utils": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/pagination": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/pagination/-/pagination-1.31.0.tgz",
|
||||
"integrity": "sha512-+1CBxUluyU+xIRBbTSlVBCb3V77QefAvFi8KyAM/eoeSz+r31RXv7xp2ub2KaRaODljzB2DfadG+vXMF1oiwCw==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/pagination/-/pagination-1.18.3.tgz",
|
||||
"integrity": "sha512-n6+BVIR1MtBLu0w2CftbNpmWEL7F1RO/MgltQTI0MVUNUEqWEErn44m6oTckIGpF43B42IVbr5MIZrQyBmjhUg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/anatomy": "1.18.3",
|
||||
"@zag-js/core": "1.18.3",
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/types": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/popover": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/popover/-/popover-1.31.0.tgz",
|
||||
"integrity": "sha512-zxly1BzfGdauPRORR8XJN/fiF4pKpl8CFLF1fhCzVnKlmPvpyPKwTxpyi2gI4radukSiJNEAczWwJLwn9Uba2w==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/popover/-/popover-1.18.3.tgz",
|
||||
"integrity": "sha512-60kMLotCgPBKvMmPkQTJpSRWQpIPOvxD3ZhbD2q9ZgvxH0tyLX9YpjDrCFoMCm90gsBeRbXObLcCnMfRecn4EA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/aria-hidden": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dismissable": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/focus-trap": "1.31.0",
|
||||
"@zag-js/popper": "1.31.0",
|
||||
"@zag-js/remove-scroll": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/anatomy": "1.18.3",
|
||||
"@zag-js/aria-hidden": "1.18.3",
|
||||
"@zag-js/core": "1.18.3",
|
||||
"@zag-js/dismissable": "1.18.3",
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/focus-trap": "1.18.3",
|
||||
"@zag-js/popper": "1.18.3",
|
||||
"@zag-js/remove-scroll": "1.18.3",
|
||||
"@zag-js/types": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/popper": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/popper/-/popper-1.31.0.tgz",
|
||||
"integrity": "sha512-rZihrImaL0GAwUhybPkB2qkN+p1CSwh96CX5GJ8HB5x4UR916wZVZ6zcq5wlx2jBkVpYoBro+IPjC5SzT9N5KA==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/popper/-/popper-1.18.3.tgz",
|
||||
"integrity": "sha512-g8qH1fzT3xPYsLfj/07fiNPintf3xr/VkAZ7btW8uO9fjJGe++1Dmk1qze1gFYReMGrSGg/6eB53QN5QxNYLtw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@floating-ui/dom": "1.7.4",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@floating-ui/dom": "1.7.2",
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/popper/node_modules/@floating-ui/dom": {
|
||||
"version": "1.7.2",
|
||||
"resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.2.tgz",
|
||||
"integrity": "sha512-7cfaOQuCS27HD7DX+6ib2OrnW+b4ZBwDNnCcT0uTyidcmyWb03FnQqJybDBoCnpdxwBSfA94UAYlRCt7mV+TbA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@floating-ui/core": "^1.7.2",
|
||||
"@floating-ui/utils": "^0.2.10"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/progress": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/progress/-/progress-1.31.0.tgz",
|
||||
"integrity": "sha512-Tk52JbiC9kVrTvau+EjoFq5KUd8idIrqIyWhFsFPw9pXPlI5jGtpRgTVpuFuBt4omSTRXelCw+lagoTShs8efw==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/progress/-/progress-1.18.3.tgz",
|
||||
"integrity": "sha512-M37PpfL9ihiVUpeHMXbmm/88WO8RMPVXi5Dd4CJcc0pw5sh53b5SgxFbjm5ICrEqPRoxOIZ7Rg6yCgNMHMvaQg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/anatomy": "1.18.3",
|
||||
"@zag-js/core": "1.18.3",
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/types": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/radio-group": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/radio-group/-/radio-group-1.31.0.tgz",
|
||||
"integrity": "sha512-Zq/xxZVTn13IrPg/p1EAT+flIwwsIb8DsXSFwnnS95Fsg/6wmDqY9a1Vx0WAAKl18RCOIITm587e3xBnlnsCIw==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/radio-group/-/radio-group-1.18.3.tgz",
|
||||
"integrity": "sha512-LwsO1tgSYjQksWN3l9wLA8qisP+tLl/bex6hAGhaH1SFAbbr51xS+f1Sfyxiqv6Fk9P78ONW1Rb3eoIkTeZmUw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/focus-visible": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/anatomy": "1.18.3",
|
||||
"@zag-js/core": "1.18.3",
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/focus-visible": "1.18.3",
|
||||
"@zag-js/types": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/rating-group": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/rating-group/-/rating-group-1.31.0.tgz",
|
||||
"integrity": "sha512-fwY/DVcjckPdER3AS/TFETvySl26wB5XeWfOU2x3gbKL9TRw9C7+BHMK71/MSsL393LVUhXt1FrROAj+EXrZ+Q==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/rating-group/-/rating-group-1.18.3.tgz",
|
||||
"integrity": "sha512-+2tqw7XwXf3Gv2uYBxYYIHfwQtuf7C/LjsakngtNxMfAyYwoldux/EKlm7Y7wEruKK7WqifsTbFxEdCvLrc3cw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/anatomy": "1.18.3",
|
||||
"@zag-js/core": "1.18.3",
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/types": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/rect-utils": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/rect-utils/-/rect-utils-1.31.0.tgz",
|
||||
"integrity": "sha512-252bq5O3nSX7RXJRDmS3sDt+tMbyvSl1/bAnLm/AqdwHtN0/rB8xrhVYsDrPoXUVNEj07GRNHYSoh0/bu3eSEQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@zag-js/remove-scroll": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/remove-scroll/-/remove-scroll-1.31.0.tgz",
|
||||
"integrity": "sha512-NkEl55c1A1Hsejavi9mTGR986lNIFak5BPKYSXPcIzxE1nNkp2vQe5k2oVGilodtbUSGKT1o4iU2SyDM4sVskg==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/remove-scroll/-/remove-scroll-1.18.3.tgz",
|
||||
"integrity": "sha512-cqWdN2uCRHiuXxLQq/HPTOLddHwp0UzGk/9fySox3kbZ2bsHtG1FXza2nrG99PlSrgorp3FIOsM8cT97cJfhCw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/dom-query": "1.31.0"
|
||||
"@zag-js/dom-query": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/slider": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/slider/-/slider-1.31.0.tgz",
|
||||
"integrity": "sha512-+zkLvsaO7DdAj00Gx0BzPl+45PJK/ocEqcCVFbenjO1MCGOR0g/Q5c7bD3uyGHPXa2/00dv2jL9kJiTyG16Qiw==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/slider/-/slider-1.18.3.tgz",
|
||||
"integrity": "sha512-H85nDzQBl/Ab9ZCSqG3gHPyf/0TbFLKVdsPGLBVkbhZRhdcsOCwHQIcBIzbb7if6XM4zuOFClHJhDm3WaFfMEA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/steps": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/steps/-/steps-1.31.0.tgz",
|
||||
"integrity": "sha512-MJ06dfxfHP5QFot159DZ5HxZkdbRmBVMLZcJSJEU7gYbMrf2x1OvwdRxDWHhy6h83wPRFtgydcSZ2Y1KVCQYIQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/anatomy": "1.18.3",
|
||||
"@zag-js/core": "1.18.3",
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/types": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/store": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/store/-/store-1.31.0.tgz",
|
||||
"integrity": "sha512-VRgT4cA5nQqRKTmwKNewYoxD8oT5J49cf2NbBM9f0l/Daghpacd8KGAcWbTsNLGjAwLMVedEvvQ2W+9wkmLHpQ==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/store/-/store-1.18.3.tgz",
|
||||
"integrity": "sha512-9Df5Zr1pi9B7+2/OFdhyVDOkUaFUWLqgyKYx+DGaHh1LC6QbPJKoOsQ1zr23Q8G4//Dh1vNnES1SXojJA5+Nlg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -3599,140 +3474,112 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/svelte": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/svelte/-/svelte-1.31.0.tgz",
|
||||
"integrity": "sha512-1PeSP1w60rjPh2chz8kujwP2h0dKh06vzLjjGCmyj6IbpGbOjgL0GhGCu5YojEmUA/YUIJh26iLEgPhfvoeAdQ==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/svelte/-/svelte-1.18.3.tgz",
|
||||
"integrity": "sha512-eGtlAtw2eQHASMs4wmJBpK6uGwFNibIQ+5Zw4TLPrvms0ZOOcZm4//DYqEdOhsunm95y8lYFRhaeDyVagrabtQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/core": "1.18.3",
|
||||
"@zag-js/types": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"svelte": ">=5"
|
||||
"svelte": "^5.0.0-next.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/switch": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/switch/-/switch-1.31.0.tgz",
|
||||
"integrity": "sha512-wkcolYyUGk5Dhq0QKDQUcQbk1uygu0U0kiFXD1F7jMMpqYov5hinP8Rq7w9qLDxRbhBiqs6b9oRZUMukLSwVjQ==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/switch/-/switch-1.18.3.tgz",
|
||||
"integrity": "sha512-JpdJR9pWMqfQWy3jcYwlNO2Av4UfY6ZvVnScOMU72bg8DWiv32SVZrdhBghhAPngWO8B181mJ30y9bUNths0tg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/focus-visible": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/anatomy": "1.18.3",
|
||||
"@zag-js/core": "1.18.3",
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/focus-visible": "1.18.3",
|
||||
"@zag-js/types": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/tabs": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/tabs/-/tabs-1.31.0.tgz",
|
||||
"integrity": "sha512-TWUGkJq3lSm3otXiVgbQTN9NGl70of7YFKmVwkkyhT/YgfypAwnSyRydQZc1SF2lDUZso0b63qBfS52zTN4AXg==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/tabs/-/tabs-1.18.3.tgz",
|
||||
"integrity": "sha512-Bo+V5w0Lh2uVEyY8la7t8A0RxljyVwZmii+SzhWmsuSRBBvQ1y82Gyk0CbwuranARryIFHwWFl8c4sp4fSZvqA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/anatomy": "1.18.3",
|
||||
"@zag-js/core": "1.18.3",
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/types": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/tags-input": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/tags-input/-/tags-input-1.31.0.tgz",
|
||||
"integrity": "sha512-rt9i9iH4O334A7PfdmNG6RLnIzA1bWkACOGTH+Z1sUoT4d4ES/J26QZKFXebZCzcis/3/O0YspK2+3sbeeKtPA==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/tags-input/-/tags-input-1.18.3.tgz",
|
||||
"integrity": "sha512-gqC8r5m8Cp6B0wfGwivxl2gEQuiezua1nlonQSGgt/AQqPnILTqvziwkPurRKuG8S7e0M12pDTcJjSnsdZb2Nw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/auto-resize": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/interact-outside": "1.31.0",
|
||||
"@zag-js/live-region": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/anatomy": "1.18.3",
|
||||
"@zag-js/auto-resize": "1.18.3",
|
||||
"@zag-js/core": "1.18.3",
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/interact-outside": "1.18.3",
|
||||
"@zag-js/live-region": "1.18.3",
|
||||
"@zag-js/types": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/toast": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/toast/-/toast-1.31.0.tgz",
|
||||
"integrity": "sha512-DKCLS+vkD3sk8h0sQgEAJJkNDqYu+GCTdlFfUQcpxLpUov2urz4dd1/S/Hs5t65u8N36I5fTP0MHPXeaiKYiJQ==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/toast/-/toast-1.18.3.tgz",
|
||||
"integrity": "sha512-q+dH7Z8uUBezxWlJWdUqCDxkuIXQw9KN3AtNbCvM2ZFbJFHzvzvYwSiU3VBuML0cLxmNjXO3EpenKyPAla/VyA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dismissable": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/toggle-group": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/toggle-group/-/toggle-group-1.31.0.tgz",
|
||||
"integrity": "sha512-DAn3MYMHfmfywR2KPAzLzeJcfIZRJ+acWFyRSJcVBZOxhxsL1Z8E8OrIGMWZrkYjxkoO2cSTbXnbPMQFHfeTTQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/anatomy": "1.18.3",
|
||||
"@zag-js/core": "1.18.3",
|
||||
"@zag-js/dismissable": "1.18.3",
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/types": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/tooltip": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/tooltip/-/tooltip-1.31.0.tgz",
|
||||
"integrity": "sha512-KzI5/72JhgL3ACjiZwP7yFznZ3fG5GdhYGLudpDe+mv5mCeleq6J4YybT/wdEJNoQEAQc6+rLkAs8K2lvYmE8A==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/tooltip/-/tooltip-1.18.3.tgz",
|
||||
"integrity": "sha512-FzG2epZX/ZmnrK9G1u9f3nmYLC1/a6mrp9BI2elaqO00cQNg7+WH+jhmrRofv2YrfpCgFYeo4yzAOcX6OkOiKA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/focus-visible": "1.31.0",
|
||||
"@zag-js/popper": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/tree-view": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/tree-view/-/tree-view-1.31.0.tgz",
|
||||
"integrity": "sha512-CWE2gJiSTm1QM8QshYHFWszw+5kDVEOGI24Bz5c7vVliDV3dYMNZzQNkm7VNmfuBnMtTkPsBuT4IIFTrxWcseg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@zag-js/anatomy": "1.31.0",
|
||||
"@zag-js/collection": "1.31.0",
|
||||
"@zag-js/core": "1.31.0",
|
||||
"@zag-js/dom-query": "1.31.0",
|
||||
"@zag-js/types": "1.31.0",
|
||||
"@zag-js/utils": "1.31.0"
|
||||
"@zag-js/anatomy": "1.18.3",
|
||||
"@zag-js/core": "1.18.3",
|
||||
"@zag-js/dom-query": "1.18.3",
|
||||
"@zag-js/focus-visible": "1.18.3",
|
||||
"@zag-js/popper": "1.18.3",
|
||||
"@zag-js/store": "1.18.3",
|
||||
"@zag-js/types": "1.18.3",
|
||||
"@zag-js/utils": "1.18.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/types": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/types/-/types-1.31.0.tgz",
|
||||
"integrity": "sha512-Mi2/5g3xAWq/DRUVVUJtnBpmMwfnv12H2l6WPJJG6cb1mFzrvggnYrHFwpdLCwHI4LO6yWUF/1mxEcIAPKFxMQ==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/types/-/types-1.18.3.tgz",
|
||||
"integrity": "sha512-M99ji5nha2/C2IQFkTkIA4SMR5w9rE0havAN55P8qpVtFzbcncCkSUZ4O0J2I4pA+NnJpCF5TcT1t7WnsyWlZQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"csstype": "3.2.3"
|
||||
"csstype": "3.1.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@zag-js/utils": {
|
||||
"version": "1.31.0",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/utils/-/utils-1.31.0.tgz",
|
||||
"integrity": "sha512-5vtFhzGv+U6NXQUYHZiJyvuM/W+xcHxHovtKZy1/KwoDjBDer46ktb9DGA8nImXSSrq8ibHXwvRGtwBsD1SaIw==",
|
||||
"version": "1.18.3",
|
||||
"resolved": "https://registry.npmjs.org/@zag-js/utils/-/utils-1.18.3.tgz",
|
||||
"integrity": "sha512-yS8M286qUp6gf4d4tnnsNehdGIlI0Feuug9QiWkWSTbAUNmGJyh5cmjNxNSuLWVCPMREC89BIIWq09s113zPig==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
@@ -4125,9 +3972,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/csstype": {
|
||||
"version": "3.2.3",
|
||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
|
||||
"integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
|
||||
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
|
||||
@@ -21,8 +21,9 @@
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.39.1",
|
||||
"@playwright/test": "^1.56.1",
|
||||
"@skeletonlabs/skeleton": "^4.*.*",
|
||||
"@skeletonlabs/skeleton-svelte": "^4.*.*",
|
||||
"@skeletonlabs/skeleton": "3.2.2",
|
||||
"@skeletonlabs/skeleton-svelte": "1.5.3",
|
||||
|
||||
"@sveltejs/adapter-auto": "^7.0.0",
|
||||
"@sveltejs/adapter-node": "^5.0.0",
|
||||
"@sveltejs/adapter-static": "^3.0.1",
|
||||
|
||||
@@ -4,7 +4,9 @@ import tailwindcss from '@tailwindcss/vite';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [
|
||||
tailwindcss(),
|
||||
tailwindcss({
|
||||
exclude: /node_modules/,
|
||||
}),
|
||||
sveltekit() // <-- Must come after Tailwind
|
||||
]
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user