chore: aggressive cleanup: remove legacy element_data_store.svelte (v1) after v3 migration

This commit is contained in:
Scott Idem
2026-03-17 12:22:00 -04:00
parent 01fef4f113
commit adef935188
27 changed files with 55 additions and 471 deletions

View File

@@ -1,5 +1,5 @@
# Aether UI — Design System Style Guidelines
> **Version:** 1.0 (2026-03-06)
> **Version:** 1.1 (2026-03-17)
> **Author:** One Sky IT / Scott Idem
> **Scope:** All Aether SvelteKit frontend components
> **Related:** `AE__UI_Component_Patterns.md`, `ae-firefly.css`, `documentation/AE__Components.md`
@@ -21,7 +21,28 @@ Core principles:
---
## 2. The AE_Firefly Theme
## 2. Technical Stack Mandates (2026 Standard)
To maintain codebase health and performance, all new development must adhere to the following stack:
### 🚀 Svelte 5 Runes
- **Mandatory**: Use `$state`, `$derived`, and `$effect`.
- **Snippet pattern**: Use `{@render snippet()}` for reusable UI blocks within components.
- **Avoid**: Legacy `export let` (use `$props()`), `onMount` for reactive derived state (use `$derived` or `$effect`), and `$$slots` (use Snippets).
### 🎨 Tailwind 4 + Skeleton v4
- **Mandatory**: Use `preset-*` classes for interactive elements (e.g., `preset-tonal-primary`).
- **Forbidden**: Legacy Skeleton v3 `variant-*` classes.
- **Customization**: Use Tailwind 4 `@theme` blocks for project-wide overrides.
### 🔣 Lucide Icons
- **Mandatory**: Use `@lucide/svelte` components (e.g., `<Calendar size="1em" />`).
- **Migration**: Replaced all FontAwesome `fas fa-*` icons in general modules.
- **🚨 Exception: IDAA Module**: The IDAA module **must** retain FontAwesome and Bootstrap classes. It integrates with Novi CMS which relies on these legacy standards. **Do not migrate IDAA icons.**
---
## 3. The AE_Firefly Theme
**App default since 2026-03-06.** Set in `ae_stores.ts` as `theme_name = 'AE_Firefly'`.
File: `src/ae-firefly.css` | Activated by: `data-theme="AE_Firefly"`
@@ -43,7 +64,7 @@ File: `src/ae-firefly.css` | Activated by: `data-theme="AE_Firefly"`
---
## 3. Color Token Rules
## 4. Color Token Rules
### ✅ Always Use Theme Tokens
@@ -109,20 +130,13 @@ bg-error-100 border border-error-300 ← inline error banners
| `bg-white dark:bg-gray-800` | Manual light/dark pair | Let theme tokens handle it — remove entirely |
| `text-gray-600 dark:text-gray-400` | Manual light/dark pair | `opacity-60` |
| `rounded-container-token` | Skeleton v3 class | `rounded-xl` |
| | | |
| `variant-*` (v3) | Skeleton v3 class | `preset-*` (v4) |
| `preset-filled-surface-300-700` | v3 dual-shade notation | `bg-surface-200-800` or `bg-surface-100-900` |
| `preset-filled-surface-400-600` | v3 dual-shade notation | `bg-surface-100-900` |
| `overflow-x-scroll` | Forces scrollbar visible | `overflow-x-auto` |
---
## 4. Skeleton v3 → v4 Migration Reference
All Skeleton v3 `variant-*` classes are now fully removed from the codebase. Use only `preset-*` classes for all buttons and interactive elements.
---
## 5. Transitions & Animation
All interactive state changes must be smoothed — no hard pops.
@@ -170,7 +184,7 @@ Always wrap in `{#if $lq__obj}{...}{:else}...skeleton...{/if}` — **never** sho
| Requirement | Implementation |
|---|---|
| Decorative icons | `aria-hidden="true"` on all `<span class="fas ...">` |
| Decorative icons | `aria-hidden="true"` on all icons |
| Icon-only buttons | `aria-label="..."` or `title="..."` + visible context |
| Async content regions | `role="status" aria-live="polite"` on loading/empty sections |
| Focus indicators | `focus-visible:ring-2 focus-visible:ring-primary-500` on custom interactive elements |