@vireo-ai/trellis-ui 0.1.62 → 0.1.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -1
- package/packages/client/skills/compose-trellis-ui/SKILL.md +84 -0
- package/packages/client/skills/compose-trellis-ui/references/project-ui.md +40 -0
- package/packages/client/src/styles/generated/theme-fonts.css +1 -1
- package/packages/client/src/styles/generated/theme-palette.css +1 -1
- package/packages/client/src/styles/generated/theme-runtime.css +34 -28
- package/packages/client/src/styles/theme-support.css +7 -0
- package/packages/client/types/components/import-flow/contract.d.ts +1 -0
- package/packages/client/types/core.d.ts +1 -1
- package/packages/client/types/runtime/index.d.ts +1 -1
- package/packages/client/types/runtime/theme.d.ts +6 -4
- package/packages/client/types/runtime/ui.d.ts +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/build-metadata.json +13 -13
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable-CgP1efhO.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/{sortable-Do3a0LA9.js.map → sortable-CgP1efhO.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-sortable-Bm1phXnj.js → capability-sortable-CpUAUTdh.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/{capability-sortable-Bm1phXnj.js.map → capability-sortable-CpUAUTdh.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CVVSxrtG.js +4 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CVVSxrtG.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/{data-grid-Dm3rQfQ_.js → data-grid-Cr9kEoo9.js} +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/{data-grid-Dm3rQfQ_.js.map → data-grid-Cr9kEoo9.js.map} +1 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/components/data-grid.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core-CbDVD_pk.js +2 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core-CbDVD_pk.js.map +1 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core.js +2 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/logical-entry-manifest.json +10 -8
- package/packages/theme-engine/README.md +28 -0
- package/packages/theme-engine/dist/trellis.js +69 -6
- package/packages/theme-engine/generated/knobs/v1/color-alpha.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/color-foundations.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/color-ink.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/color-lighting.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/color-normalization.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/color-ramps.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/composition.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/depth.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/edges.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/index.json +177 -3
- package/packages/theme-engine/generated/knobs/v1/manifest.json +18 -3
- package/packages/theme-engine/generated/knobs/v1/radii.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/semantic-actions.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/semantic-disabled.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/semantic-disclosure.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/semantic-intents.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/semantic-scrim.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/semantic-selection.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/semantic-structure.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/semantic-text-selection.json +372 -0
- package/packages/theme-engine/generated/knobs/v1/sizing-anatomy.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/sizing-controls.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/sizing-measures.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/spacing.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/substrates.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/surfaces.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/typography-anatomy.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/typography-fonts.json +1 -1
- package/packages/theme-engine/generated/knobs/v1/typography-scale.json +1 -1
- package/packages/theme-engine/generated/schemas/theme-config-v1.json +51 -0
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/capabilities/sortable-Do3a0LA9.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CZ7fEQL2.js +0 -4
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/chunks/ui-CZ7fEQL2.js.map +0 -1
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core-CX4J7tsN.js +0 -2
- package/packages/server/trellis_ui/static/trellis_ui/assets/js/esm/core-CX4J7tsN.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vireo-ai/trellis-ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.63",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Django-native UI toolkit for building realtime and interactive web apps.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
"packages/theme-engine/generated/schemas/*.json",
|
|
29
29
|
"packages/theme-engine/generated/knobs/v1/**/*.json",
|
|
30
30
|
"packages/theme-engine/skills/create-trellis-theme/**",
|
|
31
|
+
"packages/client/skills/compose-trellis-ui/**",
|
|
31
32
|
"packages/theme-engine/THEME_AUTHORING.md",
|
|
32
33
|
"packages/client/src/styles/fonts/**/*",
|
|
33
34
|
"packages/theme-engine/fonts/**/*"
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: compose-trellis-ui
|
|
3
|
+
description: Create, revise, or audit Django screens and reusable Cotton compositions in applications using Trellis.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Compose Trellis UI
|
|
7
|
+
|
|
8
|
+
Focus on composition, spacing, content, and UI flow. Component documentation defines the APIs; `UI.md` records project composition conventions and direction; theme configuration owns parametric visual choices. Trust Trellis styling defaults, light/dark treatments, and built-in accessible interactions. Supply the labels, relationships, and reading order needed by the composition, preserving those component behaviors.
|
|
9
|
+
|
|
10
|
+
## Read the project direction
|
|
11
|
+
|
|
12
|
+
Read the application's `UI.md` before composing or auditing. If it is missing, bootstrap it from the codebase and running application using [Project UI guidance](references/project-ui.md). Read that reference also when recording a new convention or reconciling a changed preference with existing usage. Explicit user direction takes precedence over inferred conventions.
|
|
13
|
+
|
|
14
|
+
## Design around the user's task
|
|
15
|
+
|
|
16
|
+
- Establish what the person needs to understand or accomplish. Let that determine the content, actions, and hierarchy.
|
|
17
|
+
- Every added element should help someone act, make a decision, understand content, or understand the current state. Omit elements without a clear purpose.
|
|
18
|
+
- Do not invent dashboard metrics, summary cards, explanatory panels, badges, or secondary actions merely to fill out a screen. Add them when the brief or workflow establishes their value.
|
|
19
|
+
- Present information where it becomes useful. Keep frequent actions accessible; disclose secondary details when needed without hiding essential context.
|
|
20
|
+
- Use familiar patterns and consistent terminology. Reuse established application compositions before introducing another pattern.
|
|
21
|
+
- Write labels and supporting text concisely. Avoid repeating information already clear from the page title, surrounding content, or control.
|
|
22
|
+
- Use visual emphasis to communicate importance. Whitespace is acceptable; it does not need another component.
|
|
23
|
+
- Preserve information and feedback people need to complete the task, including accessible labels, errors, and recovery actions.
|
|
24
|
+
- Restraint must preserve substance. Remove unnecessary presentation without omitting information or actions needed for the task.
|
|
25
|
+
|
|
26
|
+
These principles draw on [Apple's design principles](https://developer.apple.com/design/human-interface-guidelines/design-principles), applied here to Trellis application composition.
|
|
27
|
+
|
|
28
|
+
## Component and styling rules
|
|
29
|
+
|
|
30
|
+
- Preserve component styling defaults unless a visual change serves a clear purpose. Deliberately use padding, margin, gap, and other public spacing props or theme-backed layout utilities to establish consistent alignment, grouping, and room to breathe.
|
|
31
|
+
- Verify props and slots in available documentation, contracts, and templates. Do not invent APIs or recreate component behavior.
|
|
32
|
+
- Omit `as` unless behavior, accessibility, or document structure needs another element.
|
|
33
|
+
- Components own internal typography, padding, states, and interactions. Give each label, action, gap, and surface boundary one owner; avoid duplicate content and stacked gap/margin rules.
|
|
34
|
+
- Trust the Trellis styling system. Default to the public styling API through components and follow theme principles, including in new Cotton components.
|
|
35
|
+
- If a new Cotton component needs styling beyond that API, theme-backed Tailwind utilities are an option for keeping styling co-located with markup.
|
|
36
|
+
- Adding Tailwind overrides to existing components requires user approval. Custom CSS is a last resort and requires user approval, including for new Cotton components. Show the proposed styling change and explain why the existing API cannot express it before requesting approval. Existing explicit authorization covers the agreed change.
|
|
37
|
+
|
|
38
|
+
## Create or revise
|
|
39
|
+
|
|
40
|
+
1. Establish the task, reading order, relevant content states, and project direction. Read the relevant documentation guides, component examples, and public API. For an existing screen, inspect its current rendered behavior first; preserve routes, form behavior, data, and actions unless the requested change includes them.
|
|
41
|
+
2. Build the structure through public props with deliberate spacing, representative content, and domain terminology. Check realistic content lengths, collection volumes, and relevant empty, loading, and error states. Preserve substantive content when simplifying.
|
|
42
|
+
3. Render and inspect the affected composition, using screenshots to assess alignment, spacing, hierarchy, and wrapping. Refine through component choice, grouping, and justified props.
|
|
43
|
+
4. Review by subtraction: remove or consolidate redundant content, competing actions, unnecessary containers, and decoration without purpose. Verify that the task remains understandable and usable.
|
|
44
|
+
5. Apply the verification criteria below. Recheck after correcting observed defects.
|
|
45
|
+
|
|
46
|
+
## Audit
|
|
47
|
+
|
|
48
|
+
Read the relevant documentation and inspect the existing composition in source and rendered output. Use the same task, styling, and verification criteria as creation. An audit request produces findings; implement corrections when the user requests fixes.
|
|
49
|
+
|
|
50
|
+
Report concrete problems with their location, evidence, effect on the task, and proposed correction. Distinguish observed defects from optional preferences or suggestions. Prioritize blocked tasks and unclear hierarchy before minor visual details. Avoid speculative findings when the relevant rendered state cannot be inspected; state the limitation. Report when there are no actionable findings.
|
|
51
|
+
|
|
52
|
+
## Verification
|
|
53
|
+
|
|
54
|
+
Verify that the task and primary action, where applicable, are clear; related content shares consistent alignment and spacing; text is readable; and content does not unexpectedly clip or overflow. Check that controls and relevant feedback remain usable.
|
|
55
|
+
|
|
56
|
+
When working from a visual reference, compare the rendered composition against its alignment anchors, spacing relationships, and proportions; matching the same elements is insufficient. Reproduce those relationships through deliberate layout and spacing choices while retaining Trellis theme treatments.
|
|
57
|
+
|
|
58
|
+
Judge the rendered result rather than assuming the source expresses the intended hierarchy. Name visible problems precisely, such as a detached action or inconsistent content edge, and re-inspect the affected state after correcting them. Automated checks supplement this review.
|
|
59
|
+
|
|
60
|
+
Exercise viewport sizes, content lengths, and interaction states relevant to the change. Tokens handle light/dark; separate mode reviews are not required by this skill.
|
|
61
|
+
|
|
62
|
+
Correct observed defects and verify again. Report anything that could not be checked; writing markup or taking a screenshot alone does not establish that these criteria are met.
|
|
63
|
+
|
|
64
|
+
## Documentation
|
|
65
|
+
|
|
66
|
+
The docs teach Trellis APIs and usage for humans and agents. Read only the topics needed for the task; use component examples and blocks as starting points, not required page recipes. Verify props, slots, transitions, and browser methods in the component reference rather than copying an explanation into this skill.
|
|
67
|
+
|
|
68
|
+
Resolve these paths against the actual Trellis documentation origin supplied by the project, its tooling, or the running docs site. They are documentation paths, not routes to add to the consuming application. Do not invent a deployed hostname. If docs are unavailable, inspect the installed public contracts and templates and report the limitation.
|
|
69
|
+
|
|
70
|
+
Start with `/llms.txt` to discover the current documentation, then fetch only the Markdown pages relevant to the task. Prefer these text endpoints for API and usage research; avoid loading rendered documentation into context by default.
|
|
71
|
+
|
|
72
|
+
| Need | Markdown documentation path |
|
|
73
|
+
| --- | --- |
|
|
74
|
+
| Discover guides, blocks, components, and their Markdown URLs | [`/llms.txt`](/llms.txt) |
|
|
75
|
+
| Understand Trellis and its application model | [`/pages/how-trellis-works.md`](/pages/how-trellis-works.md) |
|
|
76
|
+
| Send hypermedia requests and return HTML updates or Python effects | [`/pages/requests.md`](/pages/requests.md) |
|
|
77
|
+
| Render Django forms with Trellis controls | [`/pages/forms-bridge.md`](/pages/forms-bridge.md) |
|
|
78
|
+
| Use local state, component methods, events, and transition hooks | [`/pages/working-with-alpine.md`](/pages/working-with-alpine.md) |
|
|
79
|
+
| Understand theme configuration and visual relationships | [`/pages/theme-foundations.md`](/pages/theme-foundations.md) |
|
|
80
|
+
| Configure a theme | [`/pages/theme.md`](/pages/theme.md) |
|
|
81
|
+
|
|
82
|
+
Follow the component and block Markdown URLs listed in `/llms.txt`; component references use `/components/<slug>.md`, and blocks use `/pages/<slug>.md`. When visual understanding or interaction review is needed, open the corresponding rendered documentation page or linked demo in a browser; Markdown does not replace visual verification of the application being composed.
|
|
83
|
+
|
|
84
|
+
Project conventions and `UI.md` bootstrap/migration guidance remain in [Project UI guidance](references/project-ui.md). Component facts and composition teaching belong in the docs.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Project UI guidance
|
|
2
|
+
|
|
3
|
+
`UI.md` is the application's persistent memory for composition choices and user direction. Read it at the application root or the user's chosen location. Keep its format free; follow the user's way of recording ideas.
|
|
4
|
+
|
|
5
|
+
## What belongs here
|
|
6
|
+
|
|
7
|
+
Record reusable decisions that spare the user from repeating instructions, with their scope and useful examples. These could include:
|
|
8
|
+
|
|
9
|
+
- Use icon-only, full-radius button toolbars on application pages.
|
|
10
|
+
- Use pill tabs with keyboard shortcuts and tooltips.
|
|
11
|
+
- Use flush tables when they share a content edge with the surrounding section.
|
|
12
|
+
- For marketing pages, prefer a narrow content window with substantial isometric animation, drawing on supplied Heroku or Linear references.
|
|
13
|
+
|
|
14
|
+
These are examples of project preferences, not defaults for every Trellis application. Verify the actual component API before translating a preference into props or markup. Keep rough ideas and references without treating them as settled requirements.
|
|
15
|
+
|
|
16
|
+
Keep accent colors, palettes, font settings, radius scales, light/dark values, and other parametric visual configuration in the theme. Do not duplicate them in `UI.md` or prescribe CSS to reproduce them. Component APIs and reusable Trellis usage guidance belong in the docs; this skill owns the agent workflow. Link to existing reusable compositions instead of copying their implementation.
|
|
17
|
+
|
|
18
|
+
## Bootstrap a missing file
|
|
19
|
+
|
|
20
|
+
Inspect before writing. A missing `UI.md` is a reason to gather project evidence, not to invent a design direction or block the requested task on a lengthy interview.
|
|
21
|
+
|
|
22
|
+
1. Read application instructions, existing design notes, reusable Cotton components, representative templates, and relevant theme configuration. Use the theme to understand what it already controls; do not transcribe its values.
|
|
23
|
+
2. Use focused subagents for independent investigations: recurring component usage and layout patterns; reusable compositions and their callers; representative application flows and states. Scale the split to the codebase, avoiding duplicate work. Ask for source locations, recurrence, exceptions, and uncertainty. If delegation is unavailable, perform those investigations directly.
|
|
24
|
+
3. Use the running application to inspect representative screens and complete relevant flows. Capture screenshots that support the observed compositions, including narrow layouts or alternate content states where they affect the convention. Coordinate browser work so investigators do not operate the same session concurrently.
|
|
25
|
+
4. Reconcile source findings with the rendered evidence. Repeated, consistent usage can establish an inferred convention without requiring separate approval for each finding. Note its scope and exceptions; an isolated occurrence or visible defect is not an application-wide rule.
|
|
26
|
+
5. Write a concise initial `UI.md` in the application. Include useful inferred conventions, explicit user preferences already supplied, and unresolved questions where they matter. Identify which conclusions are inferred and retain source locations and screenshot references sufficient to review them. Summarize the starting point for the user and invite corrections while continuing the authorized task.
|
|
27
|
+
|
|
28
|
+
If the application cannot be run, record source-backed observations as provisional and state that rendered verification is missing. Do not invent screenshots or visual conclusions. For a new application without existing compositions, record available user direction and let conventions emerge from actual work.
|
|
29
|
+
|
|
30
|
+
Read an existing `UI.md` before changing it. Preserve unrelated content; if its purpose conflicts, propose another name or location. Do not create an application `UI.md` in the toolkit repository during skill maintenance. When deliberately testing this workflow against the docs site, treat that site as the application and scope findings to it.
|
|
31
|
+
|
|
32
|
+
## Maintain conventions and migration scope
|
|
33
|
+
|
|
34
|
+
- Explicit user instructions supersede inferred usage. Update the affected decision rather than accumulating contradictory rules, and keep named exceptions intact unless the user changes them.
|
|
35
|
+
- Distinguish a local change from a convention change. A request to change one screen applies there; language such as “always,” “every page,” or “replace throughout” establishes broader scope.
|
|
36
|
+
- When a new instruction changes a recorded convention, audit comparable instances and shared compositions to identify the affected scope. Prefer changing the shared composition when it owns the behavior.
|
|
37
|
+
- If the user authorizes an application-wide migration, make the matching changes and verify representative callers. Do not ask for the same authorization again.
|
|
38
|
+
- If migration scope is unclear, show the affected usages and a concrete migration proposal, then confirm before changing other screens. Complete the clearly authorized local work while that question is pending. Audit discovery alone does not authorize a wider migration.
|
|
39
|
+
- Keep the record accurate during partial migrations: distinguish the desired convention from remaining older usage. Preserve the reason and scope when the user deliberately keeps an exception.
|
|
40
|
+
- Record useful new composition decisions as they emerge. Keep unresolved ideas visibly tentative and remove superseded guidance. Do not turn every implementation detail into a rule.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* Generated by packages/theme-engine/scripts/generate-default-css.mjs. */
|
|
2
|
-
/* Theme
|
|
2
|
+
/* Theme e16cba3eb864dee4; CSS 7d8da2bed88e82b9. */
|
|
3
3
|
@import "../fonts/inter/5.3.0/font.css";
|
|
4
4
|
|
|
5
5
|
@import "../fonts/fira-code/5.3.0/font.css";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* Generated by packages/theme-engine/scripts/generate-default-css.mjs. */
|
|
2
|
-
/* Theme
|
|
2
|
+
/* Theme e16cba3eb864dee4; CSS 88769b376e50f0b1. */
|
|
3
3
|
@theme {
|
|
4
4
|
--color-separator: transparent;
|
|
5
5
|
--color-separator-muted: transparent;
|
|
@@ -280,36 +280,39 @@
|
|
|
280
280
|
--color-surface-8-ink: transparent;
|
|
281
281
|
--color-surface-8-ink-muted: transparent;
|
|
282
282
|
--color-surface-8-ink-subtle: transparent;
|
|
283
|
-
--shadow-depth-workspace-0: none;
|
|
284
|
-
--shadow-depth-workspace-1: none;
|
|
285
|
-
--shadow-depth-workspace-2: none;
|
|
286
|
-
--shadow-depth-workspace-3: none;
|
|
287
|
-
--shadow-depth-workspace-4: none;
|
|
288
|
-
--shadow-depth-workspace-5: none;
|
|
289
|
-
--shadow-depth-workspace-6: none;
|
|
290
|
-
--shadow-depth-workspace-7: none;
|
|
291
|
-
--shadow-depth-workspace-8: none;
|
|
292
|
-
--shadow-depth-chrome-0: none;
|
|
293
|
-
--shadow-depth-chrome-1: none;
|
|
294
|
-
--shadow-depth-chrome-2: none;
|
|
295
|
-
--shadow-depth-chrome-3: none;
|
|
296
|
-
--shadow-depth-chrome-4: none;
|
|
297
|
-
--shadow-depth-chrome-5: none;
|
|
298
|
-
--shadow-depth-chrome-6: none;
|
|
299
|
-
--shadow-depth-chrome-7: none;
|
|
300
|
-
--shadow-depth-chrome-8: none;
|
|
301
|
-
--shadow-elevation-0: none;
|
|
302
|
-
--shadow-elevation-1: none;
|
|
303
|
-
--shadow-elevation-2: none;
|
|
304
|
-
--shadow-elevation-3: none;
|
|
305
|
-
--shadow-elevation-4: none;
|
|
306
|
-
--shadow-elevation-5: none;
|
|
307
|
-
--shadow-elevation-6: none;
|
|
308
|
-
--shadow-elevation-7: none;
|
|
309
|
-
--shadow-elevation-8: none;
|
|
310
283
|
--color-interaction-disabled-ink: transparent;
|
|
311
284
|
}
|
|
312
285
|
|
|
286
|
+
@theme reference {
|
|
287
|
+
--shadow-depth-workspace-0: var(--shadow-depth-workspace-0);
|
|
288
|
+
--shadow-depth-workspace-1: var(--shadow-depth-workspace-1);
|
|
289
|
+
--shadow-depth-workspace-2: var(--shadow-depth-workspace-2);
|
|
290
|
+
--shadow-depth-workspace-3: var(--shadow-depth-workspace-3);
|
|
291
|
+
--shadow-depth-workspace-4: var(--shadow-depth-workspace-4);
|
|
292
|
+
--shadow-depth-workspace-5: var(--shadow-depth-workspace-5);
|
|
293
|
+
--shadow-depth-workspace-6: var(--shadow-depth-workspace-6);
|
|
294
|
+
--shadow-depth-workspace-7: var(--shadow-depth-workspace-7);
|
|
295
|
+
--shadow-depth-workspace-8: var(--shadow-depth-workspace-8);
|
|
296
|
+
--shadow-depth-chrome-0: var(--shadow-depth-chrome-0);
|
|
297
|
+
--shadow-depth-chrome-1: var(--shadow-depth-chrome-1);
|
|
298
|
+
--shadow-depth-chrome-2: var(--shadow-depth-chrome-2);
|
|
299
|
+
--shadow-depth-chrome-3: var(--shadow-depth-chrome-3);
|
|
300
|
+
--shadow-depth-chrome-4: var(--shadow-depth-chrome-4);
|
|
301
|
+
--shadow-depth-chrome-5: var(--shadow-depth-chrome-5);
|
|
302
|
+
--shadow-depth-chrome-6: var(--shadow-depth-chrome-6);
|
|
303
|
+
--shadow-depth-chrome-7: var(--shadow-depth-chrome-7);
|
|
304
|
+
--shadow-depth-chrome-8: var(--shadow-depth-chrome-8);
|
|
305
|
+
--shadow-elevation-0: var(--shadow-elevation-0);
|
|
306
|
+
--shadow-elevation-1: var(--shadow-elevation-1);
|
|
307
|
+
--shadow-elevation-2: var(--shadow-elevation-2);
|
|
308
|
+
--shadow-elevation-3: var(--shadow-elevation-3);
|
|
309
|
+
--shadow-elevation-4: var(--shadow-elevation-4);
|
|
310
|
+
--shadow-elevation-5: var(--shadow-elevation-5);
|
|
311
|
+
--shadow-elevation-6: var(--shadow-elevation-6);
|
|
312
|
+
--shadow-elevation-7: var(--shadow-elevation-7);
|
|
313
|
+
--shadow-elevation-8: var(--shadow-elevation-8);
|
|
314
|
+
}
|
|
315
|
+
|
|
313
316
|
:root, .light, .dark {
|
|
314
317
|
|
|
315
318
|
}
|
|
@@ -600,6 +603,7 @@
|
|
|
600
603
|
--color-intent-neutral-focus-width: 1px;
|
|
601
604
|
--color-intent-success-focus-width: 1px;
|
|
602
605
|
--color-intent-warning-focus-width: 1px;
|
|
606
|
+
--background-text-selection: oklch(56.6817% 0.186805 255.023 / 0.25);
|
|
603
607
|
--background-interaction-selection-accent: oklch(50.7563% 0.185449 257.696 / 0.118811);
|
|
604
608
|
--background-interaction-selection-accent-hover: oklch(50.7563% 0.185449 257.696 / 0.167052);
|
|
605
609
|
--background-interaction-selection-danger: oklch(50.7345% 0.20819 29.2339 / 0.120444);
|
|
@@ -929,6 +933,7 @@
|
|
|
929
933
|
--color-intent-neutral-focus-width: 1px;
|
|
930
934
|
--color-intent-success-focus-width: 1px;
|
|
931
935
|
--color-intent-warning-focus-width: 1px;
|
|
936
|
+
--background-text-selection: oklch(56.6817% 0.186805 255.023 / 0.25);
|
|
932
937
|
--background-interaction-selection-accent: oklch(77.6317% 0.121666 245.606 / 0.0588726);
|
|
933
938
|
--background-interaction-selection-accent-hover: oklch(77.6317% 0.121666 245.606 / 0.0872552);
|
|
934
939
|
--background-interaction-selection-danger: oklch(78.4251% 0.125337 22.7638 / 0.0561766);
|
|
@@ -1259,6 +1264,7 @@
|
|
|
1259
1264
|
--color-intent-neutral-focus-width: 1px;
|
|
1260
1265
|
--color-intent-success-focus-width: 1px;
|
|
1261
1266
|
--color-intent-warning-focus-width: 1px;
|
|
1267
|
+
--background-text-selection: oklch(56.6817% 0.186805 255.023 / 0.25);
|
|
1262
1268
|
--background-interaction-selection-accent: oklch(77.6317% 0.121666 245.606 / 0.0588726);
|
|
1263
1269
|
--background-interaction-selection-accent-hover: oklch(77.6317% 0.121666 245.606 / 0.0872552);
|
|
1264
1270
|
--background-interaction-selection-danger: oklch(78.4251% 0.125337 22.7638 / 0.0561766);
|
|
@@ -9,6 +9,13 @@
|
|
|
9
9
|
@custom-variant ui-active (&:is(:active, :focus-visible, [data-active], [data-highlighted]));
|
|
10
10
|
@custom-variant ui-selected (&:is([data-selected="true"], [aria-selected="true"], [data-current], [aria-current]:not([aria-current="false"]), [data-checked], [aria-checked="true"], [data-pressed], [aria-pressed="true"]));
|
|
11
11
|
|
|
12
|
+
@layer base {
|
|
13
|
+
::selection {
|
|
14
|
+
background-color: var(--background-text-selection);
|
|
15
|
+
color: var(--color-text-selection-ink, currentColor);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
12
19
|
/* Bundled SVG icon templates use a shared transparent-shape utility. */
|
|
13
20
|
@source inline("fill-none");
|
|
14
21
|
|
|
@@ -6,7 +6,7 @@ export { coreRuntime, ui };
|
|
|
6
6
|
export default coreRuntime;
|
|
7
7
|
export type { CoreRuntimePlugin };
|
|
8
8
|
export { bool, createAlpineMachine, createMachine, decodeProps, defineAlpineData, defineManifest, defineSchemaManifest, defineProps, defineStyles, json, mergeBindings, number, oneOf, propsFromSchema, resolveStyle, string, createTransitionCoordinator, defineHook, } from './runtime';
|
|
9
|
-
export type { AlpineMachine, AlpineMachineOwner, AlpinePropsChangedEvent, AlpineDataFactory, AlpineDataRegistrar, CodecFn, ComponentManifest, CreateAlpineMachineOptions, DecodePropsOptions, Machine, MachineConfig, MachineEffect, MachineEffectList, MachineEffectRef, MachineEntry, MachineEvent, MachineEventObject, MachineGuard, MachineOptions, MachineReducer, MachineReducerList, MachineReducerRef, MachineScope, MachineSnapshot, MachineStateConfig, MachineStateValue, MachineTransition, MachineTransitionDefinition, MachineUpdate, DefineManifestOptions, DefineSchemaManifestOptions, DefineStylesOptions, ManifestPart, ManifestProp, ManifestPropDetails, ManifestToken, ManualComponentManifest, MachineFactoryScope, BindingInput, PropState, PropsFromSchemaOptions, MergeBindingsOptions, ResolveStyleOptions, SchemaPropDetails, SchemaComponentManifest, SchemaToProps, StyleDefinition, StylePart, StyleProps, TrellisAlpineComponent, AnyTransitionHook, TransitionCallback, TransitionContext, TransitionCoordinator, TransitionCoordinatorOptions, TransitionEventCreator, TransitionForHook, TransitionHookDefinition, UiGetOptions, UiRequestOptions, UiRuntime, } from './runtime';
|
|
9
|
+
export type { AlpineMachine, AlpineMachineOwner, AlpinePropsChangedEvent, AlpineDataFactory, AlpineDataRegistrar, CodecFn, ComponentManifest, CreateAlpineMachineOptions, DecodePropsOptions, Machine, MachineConfig, MachineEffect, MachineEffectList, MachineEffectRef, MachineEntry, MachineEvent, MachineEventObject, MachineGuard, MachineOptions, MachineReducer, MachineReducerList, MachineReducerRef, MachineScope, MachineSnapshot, MachineStateConfig, MachineStateValue, MachineTransition, MachineTransitionDefinition, MachineUpdate, DefineManifestOptions, DefineSchemaManifestOptions, DefineStylesOptions, ManifestPart, ManifestProp, ManifestPropDetails, ManifestToken, ManualComponentManifest, MachineFactoryScope, BindingInput, PropState, PropsFromSchemaOptions, MergeBindingsOptions, ResolveStyleOptions, SchemaPropDetails, SchemaComponentManifest, SchemaToProps, StyleDefinition, StylePart, StyleProps, TrellisAlpineComponent, AnyTransitionHook, TransitionCallback, TransitionContext, TransitionCoordinator, TransitionCoordinatorOptions, TransitionEventCreator, TransitionForHook, TransitionHookDefinition, UiGetOptions, UiRequestOptions, UiRuntime, UiTheme, ThemeMode, ResolvedThemeMode, } from './runtime';
|
|
10
10
|
export { registerTransitionDirective } from './directives/transition';
|
|
11
11
|
export type { AnimationRecipe, AnimationPhase, AnimationContext } from './motion/registry';
|
|
12
12
|
export type { MotionConfiguration } from './motion/config';
|
|
@@ -23,7 +23,7 @@ export { defineStyles, resolveStyle, type DefineStylesOptions, type ResolveStyle
|
|
|
23
23
|
export { del as deleteRequest, get, post, put, registerRequestRuntime, type RequestLifecycleDetail, type RequestMethod, type RequestOptions, type RequestResult, } from './engine/request';
|
|
24
24
|
export { replaceFragmentChildren, replaceFragmentChildrenNow, type FragmentAlpine, type ReplaceFragmentOptions, } from './engine/fragment';
|
|
25
25
|
export { applyStreamPatches, applyUiEffect, applyUiEffects, connectStream, dispatchStreamEvent, registerStream, type PatchMode, type StreamEventPayload, type StreamPatchPayload, type UiEffectPayload, } from './engine/stream';
|
|
26
|
-
export { applyThemeMode,
|
|
26
|
+
export { applyThemeMode, createTheme, type ResolvedThemeMode, type ThemeChangeDetail, type UiTheme, type ThemeMode, } from './theme';
|
|
27
27
|
export { acquireDocumentScrollLock } from './scroll-lock';
|
|
28
28
|
export { registerUiMagic, ui, type UiGetOptions, type UiRequestOptions, type UiRuntime } from './ui';
|
|
29
29
|
export { createVirtualWindowController, fixedAxisWindowAdapter, type FixedAxisInputDetail, type FixedAxisScrollTarget, type FixedAxisWindowAdapter, type FixedAxisWindow, type FixedAxisWindowInput, type VirtualAxis, type VirtualAxisWindow, type VirtualScrollAlign, type VirtualWindowAdapter, type VirtualWindowBase, type VirtualWindowController, type VirtualWindowControllerOptions, type VirtualWindowKind, type VirtualWindowRequest, type VirtualWindowSnapshot, } from './virtual-window';
|
|
@@ -8,15 +8,17 @@ type ThemeChangeDetail = {
|
|
|
8
8
|
dark: boolean;
|
|
9
9
|
on: boolean;
|
|
10
10
|
};
|
|
11
|
-
type
|
|
11
|
+
type UiTheme = {
|
|
12
12
|
mode: ThemeMode;
|
|
13
13
|
resolved: ResolvedThemeMode;
|
|
14
|
+
readonly isLight: boolean;
|
|
15
|
+
readonly isDark: boolean;
|
|
16
|
+
readonly isSystem: boolean;
|
|
14
17
|
readonly dark: boolean;
|
|
15
18
|
readonly on: boolean;
|
|
16
19
|
set: (mode: ThemeMode) => void;
|
|
17
20
|
toggle: () => void;
|
|
18
21
|
};
|
|
19
22
|
declare const applyThemeMode: (mode: ThemeMode) => ThemeChangeDetail;
|
|
20
|
-
declare const
|
|
21
|
-
|
|
22
|
-
export { applyThemeMode, createThemeStore, registerThemeStore, type ResolvedThemeMode, type ThemeChangeDetail, type ThemeStore, type ThemeMode, };
|
|
23
|
+
declare const createTheme: (reactive: AlpineType["reactive"]) => UiTheme;
|
|
24
|
+
export { applyThemeMode, createTheme, type ResolvedThemeMode, type ThemeChangeDetail, type UiTheme, type ThemeMode, };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type Alpine from 'alpinejs';
|
|
2
2
|
import { animate } from '../motion';
|
|
3
|
+
import { type UiTheme } from './theme';
|
|
3
4
|
import { type NavigationHistory, type RequestOptions, type RequestResult } from './engine/request';
|
|
4
5
|
import type { UiSortableService } from './drag-and-drop/sortable';
|
|
5
6
|
type UiRequestOptions = RequestOptions & {
|
|
@@ -18,6 +19,7 @@ type UiRuntime = {
|
|
|
18
19
|
readonly isFetching: boolean;
|
|
19
20
|
readonly animate: typeof animate;
|
|
20
21
|
readonly sortable: UiSortableService;
|
|
22
|
+
readonly theme: UiTheme;
|
|
21
23
|
};
|
|
22
24
|
type UiCapabilities = {
|
|
23
25
|
sortable?: UiSortableService;
|
|
@@ -62,11 +62,11 @@
|
|
|
62
62
|
"packages/client/src/capabilities/shortcut.entry.generated.ts"
|
|
63
63
|
]
|
|
64
64
|
},
|
|
65
|
-
"capabilities/sortable-
|
|
65
|
+
"capabilities/sortable-CgP1efhO.js": {
|
|
66
66
|
"entry": true,
|
|
67
67
|
"facade": "/Users/tristanrobinette/PycharmProjects/django_ui/packages/client/src/capabilities/sortable.entry.generated.ts",
|
|
68
68
|
"imports": [
|
|
69
|
-
"chunks/capability-sortable-
|
|
69
|
+
"chunks/capability-sortable-CpUAUTdh.js"
|
|
70
70
|
],
|
|
71
71
|
"dynamicImports": [],
|
|
72
72
|
"modules": [
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
"packages/client/src/components/checkbox/styles.ts"
|
|
137
137
|
]
|
|
138
138
|
},
|
|
139
|
-
"components/data-grid-
|
|
139
|
+
"components/data-grid-Cr9kEoo9.js": {
|
|
140
140
|
"entry": true,
|
|
141
141
|
"facade": "/Users/tristanrobinette/PycharmProjects/django_ui/packages/client/src/components/data-grid/entry.generated.ts",
|
|
142
142
|
"imports": [
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
"chunks/cleanup-manager-D9QiZF_Q.js",
|
|
149
149
|
"chunks/alpine-data-Dvc_bXq6.js",
|
|
150
150
|
"chunks/cursor-data-source-DdiMUeJM.js",
|
|
151
|
-
"chunks/capability-sortable-
|
|
151
|
+
"chunks/capability-sortable-CpUAUTdh.js",
|
|
152
152
|
"chunks/capability-resizable-DPMSJ1AR.js",
|
|
153
153
|
"chunks/common-DnEHZCqy.js",
|
|
154
154
|
"chunks/layout-mHPk9rxi.js"
|
|
@@ -728,7 +728,7 @@
|
|
|
728
728
|
"packages/client/src/components/virtualizer/index.ts"
|
|
729
729
|
]
|
|
730
730
|
},
|
|
731
|
-
"core-
|
|
731
|
+
"core-CbDVD_pk.js": {
|
|
732
732
|
"entry": true,
|
|
733
733
|
"facade": "/Users/tristanrobinette/PycharmProjects/django_ui/packages/client/src/core.ts",
|
|
734
734
|
"imports": [
|
|
@@ -739,8 +739,7 @@
|
|
|
739
739
|
"chunks/dom-invalidation-Dw6clnS4.js",
|
|
740
740
|
"chunks/codecs-CQ7olTJL.js",
|
|
741
741
|
"chunks/machine-Do4tL7nc.js",
|
|
742
|
-
"chunks/ui-
|
|
743
|
-
"chunks/preferences-BZyZ-kK6.js",
|
|
742
|
+
"chunks/ui-CVVSxrtG.js",
|
|
744
743
|
"chunks/alpine-data-Dvc_bXq6.js",
|
|
745
744
|
"chunks/styles-CX2j92ex.js",
|
|
746
745
|
"chunks/merge-bindings-BtqW3UgP.js"
|
|
@@ -753,8 +752,7 @@
|
|
|
753
752
|
"packages/client/src/directives/transition.ts",
|
|
754
753
|
"packages/client/src/runtime/confirm.ts",
|
|
755
754
|
"packages/client/src/runtime/manifest.ts",
|
|
756
|
-
"packages/client/src/runtime/morph-engine.ts"
|
|
757
|
-
"packages/client/src/runtime/theme.ts"
|
|
755
|
+
"packages/client/src/runtime/morph-engine.ts"
|
|
758
756
|
]
|
|
759
757
|
},
|
|
760
758
|
"chunks/alpine-data-Dvc_bXq6.js": {
|
|
@@ -819,7 +817,7 @@
|
|
|
819
817
|
"packages/client/src/capabilities/shortcut.ts"
|
|
820
818
|
]
|
|
821
819
|
},
|
|
822
|
-
"chunks/capability-sortable-
|
|
820
|
+
"chunks/capability-sortable-CpUAUTdh.js": {
|
|
823
821
|
"entry": false,
|
|
824
822
|
"facade": null,
|
|
825
823
|
"imports": [
|
|
@@ -833,7 +831,7 @@
|
|
|
833
831
|
"chunks/codecs-CQ7olTJL.js",
|
|
834
832
|
"chunks/machine-Do4tL7nc.js",
|
|
835
833
|
"chunks/focus-BvBkrIcj.js",
|
|
836
|
-
"chunks/ui-
|
|
834
|
+
"chunks/ui-CVVSxrtG.js",
|
|
837
835
|
"chunks/floating-ui.dom-B05VsV_p.js",
|
|
838
836
|
"chunks/common-DnEHZCqy.js"
|
|
839
837
|
],
|
|
@@ -1632,7 +1630,7 @@
|
|
|
1632
1630
|
"packages/client/src/runtime/styles.ts"
|
|
1633
1631
|
]
|
|
1634
1632
|
},
|
|
1635
|
-
"chunks/ui-
|
|
1633
|
+
"chunks/ui-CVVSxrtG.js": {
|
|
1636
1634
|
"entry": false,
|
|
1637
1635
|
"facade": null,
|
|
1638
1636
|
"imports": [
|
|
@@ -1645,7 +1643,8 @@
|
|
|
1645
1643
|
"chunks/morph-Cq3V_23_.js",
|
|
1646
1644
|
"chunks/dom-invalidation-Dw6clnS4.js",
|
|
1647
1645
|
"chunks/machine-Do4tL7nc.js",
|
|
1648
|
-
"chunks/focus-BvBkrIcj.js"
|
|
1646
|
+
"chunks/focus-BvBkrIcj.js",
|
|
1647
|
+
"chunks/preferences-BZyZ-kK6.js"
|
|
1649
1648
|
],
|
|
1650
1649
|
"dynamicImports": [],
|
|
1651
1650
|
"modules": [
|
|
@@ -1653,6 +1652,7 @@
|
|
|
1653
1652
|
"packages/client/src/runtime/engine/navigation.ts",
|
|
1654
1653
|
"packages/client/src/runtime/engine/request.ts",
|
|
1655
1654
|
"packages/client/src/runtime/engine/stream.ts",
|
|
1655
|
+
"packages/client/src/runtime/theme.ts",
|
|
1656
1656
|
"packages/client/src/runtime/ui.ts"
|
|
1657
1657
|
]
|
|
1658
1658
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortable-
|
|
1
|
+
{"version":3,"file":"sortable-CgP1efhO.js","names":[],"sources":["../../../../../../../../client/src/capabilities/sortable.entry.generated.ts"],"sourcesContent":["// Generated by scripts/generate_component_entries.mjs from packages/client/component-entries.json.\n// Do not edit by hand.\nimport {registerSortableCapability} from './sortable';\n\nexport default registerSortableCapability;\nexport * from './sortable';\n"],"mappings":"4EAIA,IAAA,EAAe"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./sortable-
|
|
2
|
-
export {default} from "./sortable-
|
|
1
|
+
export * from "./sortable-CgP1efhO.js";
|
|
2
|
+
export {default} from "./sortable-CgP1efhO.js";
|