@dryui/ui 0.1.4 → 0.1.6
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.
|
@@ -25,72 +25,28 @@
|
|
|
25
25
|
<svg data-chromatic-aberration-svg width="0" height="0" aria-hidden="true">
|
|
26
26
|
<defs>
|
|
27
27
|
<filter id={filterId} color-interpolation-filters="sRGB">
|
|
28
|
-
<feOffset in="SourceGraphic" dx={offsetX} dy={offsetY} result="
|
|
28
|
+
<feOffset in="SourceGraphic" dx={offsetX} dy={offsetY} result="red" />
|
|
29
29
|
<feColorMatrix
|
|
30
|
-
in="
|
|
30
|
+
in="red"
|
|
31
31
|
type="matrix"
|
|
32
32
|
values="1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0"
|
|
33
|
-
result="
|
|
33
|
+
result="redOnly"
|
|
34
34
|
/>
|
|
35
|
-
<feOffset in="SourceGraphic" dx={-offsetX} dy={-offsetY} result="
|
|
35
|
+
<feOffset in="SourceGraphic" dx={-offsetX} dy={-offsetY} result="blue" />
|
|
36
36
|
<feColorMatrix
|
|
37
|
-
in="
|
|
37
|
+
in="blue"
|
|
38
38
|
type="matrix"
|
|
39
39
|
values="0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0"
|
|
40
|
-
result="
|
|
40
|
+
result="blueOnly"
|
|
41
41
|
/>
|
|
42
42
|
<feColorMatrix
|
|
43
43
|
in="SourceGraphic"
|
|
44
44
|
type="matrix"
|
|
45
45
|
values="0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0"
|
|
46
|
-
result="
|
|
46
|
+
result="greenOnly"
|
|
47
47
|
/>
|
|
48
|
-
<feBlend in="
|
|
49
|
-
<feBlend in="
|
|
50
|
-
<feColorMatrix
|
|
51
|
-
in="SourceGraphic"
|
|
52
|
-
type="matrix"
|
|
53
|
-
values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
|
|
54
|
-
result="darkSource"
|
|
55
|
-
/>
|
|
56
|
-
<feOffset in="darkSource" dx={offsetX} dy={offsetY} result="darkRed" />
|
|
57
|
-
<feColorMatrix
|
|
58
|
-
in="darkRed"
|
|
59
|
-
type="matrix"
|
|
60
|
-
values="1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0"
|
|
61
|
-
result="darkRedOnly"
|
|
62
|
-
/>
|
|
63
|
-
<feOffset in="darkSource" dx={-offsetX} dy={-offsetY} result="darkBlue" />
|
|
64
|
-
<feColorMatrix
|
|
65
|
-
in="darkBlue"
|
|
66
|
-
type="matrix"
|
|
67
|
-
values="0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0"
|
|
68
|
-
result="darkBlueOnly"
|
|
69
|
-
/>
|
|
70
|
-
<feColorMatrix
|
|
71
|
-
in="darkSource"
|
|
72
|
-
type="matrix"
|
|
73
|
-
values="0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0"
|
|
74
|
-
result="darkGreenOnly"
|
|
75
|
-
/>
|
|
76
|
-
<feBlend in="darkRedOnly" in2="darkGreenOnly" mode="screen" result="darkRG" />
|
|
77
|
-
<feBlend in="darkRG" in2="darkBlueOnly" mode="screen" result="darkSplitInverted" />
|
|
78
|
-
<feColorMatrix
|
|
79
|
-
in="darkSplitInverted"
|
|
80
|
-
type="matrix"
|
|
81
|
-
values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0"
|
|
82
|
-
result="darkSplit"
|
|
83
|
-
/>
|
|
84
|
-
<feColorMatrix in="SourceGraphic" type="luminanceToAlpha" result="lightMask" />
|
|
85
|
-
<feComponentTransfer in="lightMask" result="darkMask">
|
|
86
|
-
<feFuncA type="table" tableValues="1 0" />
|
|
87
|
-
</feComponentTransfer>
|
|
88
|
-
<feComposite in="lightSplit" in2="lightMask" operator="in" result="lightApplied" />
|
|
89
|
-
<feComposite in="darkSplit" in2="darkMask" operator="in" result="darkApplied" />
|
|
90
|
-
<feMerge>
|
|
91
|
-
<feMergeNode in="lightApplied" />
|
|
92
|
-
<feMergeNode in="darkApplied" />
|
|
93
|
-
</feMerge>
|
|
48
|
+
<feBlend in="redOnly" in2="greenOnly" mode="screen" result="rg" />
|
|
49
|
+
<feBlend in="rg" in2="blueOnly" mode="screen" />
|
|
94
50
|
</filter>
|
|
95
51
|
</defs>
|
|
96
52
|
</svg>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dryui/ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"author": "Rob Balfre",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -1502,7 +1502,7 @@
|
|
|
1502
1502
|
"thumbnail:create": "bun scripts/create-thumbnail.ts"
|
|
1503
1503
|
},
|
|
1504
1504
|
"dependencies": {
|
|
1505
|
-
"@dryui/primitives": "^0.1.
|
|
1505
|
+
"@dryui/primitives": "^0.1.5"
|
|
1506
1506
|
},
|
|
1507
1507
|
"peerDependencies": {
|
|
1508
1508
|
"svelte": "^5.55.1"
|
package/skills/dryui/SKILL.md
CHANGED
|
@@ -18,9 +18,29 @@ Key facts:
|
|
|
18
18
|
|
|
19
19
|
## Quick Start (new SvelteKit project)
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
Run the install planner — it detects the project and returns a tailored
|
|
22
|
+
step-by-step plan:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
npx -y @dryui/cli install --json
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Execute each `"pending"` step in the returned JSON (install package, edit/create
|
|
29
|
+
files). Then verify:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
npx -y @dryui/cli detect --json
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
The output should show `"status": "ready"`.
|
|
36
|
+
|
|
37
|
+
### Manual setup (if you prefer)
|
|
38
|
+
|
|
39
|
+
1. `bun add @dryui/ui` (or npm/pnpm/yarn equivalent)
|
|
40
|
+
2. In `src/app.html`, add `class="theme-auto"` to the `<html>` tag (preserving
|
|
41
|
+
existing attributes like `lang="en"`)
|
|
42
|
+
3. In your root layout (`src/routes/+layout.svelte`), add theme imports to the
|
|
43
|
+
existing `<script>` block — do not create a second `<script>`:
|
|
24
44
|
```svelte
|
|
25
45
|
<script>
|
|
26
46
|
import '@dryui/ui/themes/default.css';
|
|
@@ -28,7 +48,7 @@ Key facts:
|
|
|
28
48
|
</script>
|
|
29
49
|
```
|
|
30
50
|
4. Import `app.css` AFTER theme CSS if you have custom styles
|
|
31
|
-
5. (Optional) Override semantic tokens in `app.css` — use the layered token system documented in `rules/theming.md`
|
|
51
|
+
5. (Optional) Override semantic tokens in `app.css` — use the layered token system documented in `rules/theming.md`
|
|
32
52
|
|
|
33
53
|
> **Local dev:** If `@dryui/ui` is not on npm, link from the monorepo:
|
|
34
54
|
> `cd /path/to/dryui/packages/ui && bun link && cd /your/project && bun link @dryui/ui`
|
|
@@ -45,7 +65,7 @@ Key facts:
|
|
|
45
65
|
<Card.Root>content</Card.Root>
|
|
46
66
|
```
|
|
47
67
|
|
|
48
|
-
Compound components include Accordion, Alert, AlertDialog, Breadcrumb, Card, Collapsible, ColorPicker, Combobox, CommandPalette, ContextMenu, DataGrid, DatePicker, Dialog, DragAndDrop, Drawer, DropdownMenu,
|
|
68
|
+
Compound components include Accordion, Alert, AlertDialog, Breadcrumb, Calendar, Card, Carousel, Chart, ChipGroup, Collapsible, ColorPicker, Combobox, CommandPalette, ContextMenu, DataGrid, DateField, DatePicker, DateRangePicker, DescriptionList, Dialog, DragAndDrop, Drawer, DropdownMenu, Field, Fieldset, FileSelect, FileUpload, FlipCard, FloatButton, HoverCard, InputGroup, LinkPreview, List, Listbox, Map, MegaMenu, Menubar, MultiSelectCombobox, NavigationMenu, NotificationCenter, OptionSwatchGroup, Pagination, PinInput, Popover, RadioGroup, RangeCalendar, RichTextEditor, SegmentedControl, Select, Sidebar, Splitter, StarRating, Stepper, Table, TableOfContents, Tabs, TagsInput, Timeline, Toast, ToggleGroup, Toolbar, Tooltip, Tour, Transfer, Tree, and Typography. See `rules/compound-components.md` for parts lists.
|
|
49
69
|
|
|
50
70
|
### Rule 2: Always import a theme
|
|
51
71
|
|
|
@@ -88,17 +108,20 @@ Bindable props vary by component:
|
|
|
88
108
|
|
|
89
109
|
Select and Combobox support both `bind:value` and `bind:open`. ColorPicker also exposes `bind:alpha`. Transfer uses `bind:sourceItems` and `bind:targetItems`.
|
|
90
110
|
|
|
91
|
-
### Rule 4: Use
|
|
111
|
+
### Rule 4: Use CSS grid for layout, Container for width
|
|
92
112
|
|
|
93
113
|
```svelte
|
|
94
114
|
<!-- Incorrect -->
|
|
95
115
|
<div style="display: flex; gap: 1rem;">...</div>
|
|
96
116
|
|
|
97
|
-
<!-- Correct -->
|
|
98
|
-
<
|
|
117
|
+
<!-- Correct — raw CSS grid in scoped <style> -->
|
|
118
|
+
<div class="layout">...</div>
|
|
119
|
+
<style>
|
|
120
|
+
.layout { display: grid; gap: var(--dry-space-4); }
|
|
121
|
+
</style>
|
|
99
122
|
```
|
|
100
123
|
|
|
101
|
-
|
|
124
|
+
Use `display: grid` with `--dry-space-*` tokens for layout. Use `Container` for constrained content width. Use `@container` queries for responsive sizing — never `@media` for layout breakpoints. Do not use inline styles.
|
|
102
125
|
|
|
103
126
|
### Rule 5: Wrap form inputs in Field.Root
|
|
104
127
|
|