chore: aggressive cleanup: remove legacy element_data_store.svelte (v1) after v3 migration
This commit is contained in:
@@ -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 |
|
||||
|
||||
Reference in New Issue
Block a user