@dryui/mcp 0.1.1 → 0.1.3
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/dist/architecture.js +1 -1
- package/dist/architecture.json +5 -17
- package/dist/composition-data.js +1 -1
- package/dist/contract.v1.json +122 -79
- package/dist/index.js +22 -10
- package/dist/project-planner.js +21 -10
- package/dist/spec.json +122 -79
- package/dist/workspace-audit.js +21 -10
- package/package.json +2 -5
package/dist/architecture.js
CHANGED
|
@@ -4440,7 +4440,7 @@ body { margin: 0; min-height: 100dvh; }
|
|
|
4440
4440
|
},
|
|
4441
4441
|
{
|
|
4442
4442
|
name: "simple-content-page",
|
|
4443
|
-
description: "Clean content page with constrained width and vertical rhythm. Use Container for max-width and
|
|
4443
|
+
description: "Clean content page with constrained width and vertical rhythm. Use Container for max-width and CSS grid for vertical spacing. Suitable for blog posts, documentation, settings pages.",
|
|
4444
4444
|
tags: ["page", "content", "simple", "blog", "docs", "article", "clean", "minimal"],
|
|
4445
4445
|
components: ["Container"],
|
|
4446
4446
|
snippet: `<!-- Simple content page — Container constrains width, grid provides rhythm -->
|
package/dist/architecture.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "DolphinGraph",
|
|
3
|
-
"generatedAt": "2026-04-
|
|
4
|
-
"packageVersion": "0.1.
|
|
3
|
+
"generatedAt": "2026-04-07T21:44:08.785Z",
|
|
4
|
+
"packageVersion": "0.1.5",
|
|
5
5
|
"summary": {
|
|
6
6
|
"componentNodes": 292,
|
|
7
7
|
"partNodes": 662,
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"subpathOnlyComponents": 1,
|
|
16
16
|
"compoundComponents": 135,
|
|
17
17
|
"wrapEdges": 130,
|
|
18
|
-
"composeEdges":
|
|
18
|
+
"composeEdges": 10,
|
|
19
19
|
"docsEdges": 0,
|
|
20
20
|
"relatedEdges": 303,
|
|
21
21
|
"mismatches": 23,
|
|
@@ -15159,7 +15159,7 @@
|
|
|
15159
15159
|
"package": "ui",
|
|
15160
15160
|
"layer": "ui-composite",
|
|
15161
15161
|
"category": "display",
|
|
15162
|
-
"description": "Layered architecture diagram
|
|
15162
|
+
"description": "Layered architecture diagram that visualizes component nodes, relationships, and dependency layers",
|
|
15163
15163
|
"visibility": "root+subpath",
|
|
15164
15164
|
"sourcePath": "packages/ui/src/system-map/index.ts",
|
|
15165
15165
|
"publicImport": "@dryui/ui",
|
|
@@ -15174,7 +15174,7 @@
|
|
|
15174
15174
|
"parts": [],
|
|
15175
15175
|
"sourceFileCount": 3,
|
|
15176
15176
|
"primitivePartUsageCount": 0,
|
|
15177
|
-
"componentImportCount":
|
|
15177
|
+
"componentImportCount": 1
|
|
15178
15178
|
},
|
|
15179
15179
|
{
|
|
15180
15180
|
"id": "ui:Table",
|
|
@@ -16580,18 +16580,6 @@
|
|
|
16580
16580
|
"from": "ui:MarkdownRenderer",
|
|
16581
16581
|
"to": "ui:Separator"
|
|
16582
16582
|
},
|
|
16583
|
-
{
|
|
16584
|
-
"id": "composes:ui:SystemMap:ui:Badge:",
|
|
16585
|
-
"type": "composes",
|
|
16586
|
-
"from": "ui:SystemMap",
|
|
16587
|
-
"to": "ui:Badge"
|
|
16588
|
-
},
|
|
16589
|
-
{
|
|
16590
|
-
"id": "composes:ui:SystemMap:ui:Svg:",
|
|
16591
|
-
"type": "composes",
|
|
16592
|
-
"from": "ui:SystemMap",
|
|
16593
|
-
"to": "ui:Svg"
|
|
16594
|
-
},
|
|
16595
16583
|
{
|
|
16596
16584
|
"id": "composes:ui:SystemMap:ui:Text:",
|
|
16597
16585
|
"type": "composes",
|
package/dist/composition-data.js
CHANGED
|
@@ -4440,7 +4440,7 @@ body { margin: 0; min-height: 100dvh; }
|
|
|
4440
4440
|
},
|
|
4441
4441
|
{
|
|
4442
4442
|
name: "simple-content-page",
|
|
4443
|
-
description: "Clean content page with constrained width and vertical rhythm. Use Container for max-width and
|
|
4443
|
+
description: "Clean content page with constrained width and vertical rhythm. Use Container for max-width and CSS grid for vertical spacing. Suitable for blog posts, documentation, settings pages.",
|
|
4444
4444
|
tags: ["page", "content", "simple", "blog", "docs", "article", "clean", "minimal"],
|
|
4445
4445
|
components: ["Container"],
|
|
4446
4446
|
snippet: `<!-- Simple content page — Container constrains width, grid provides rhythm -->
|
package/dist/contract.v1.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"package": {
|
|
5
5
|
"name": "@dryui/ui",
|
|
6
|
-
"version": "0.1.
|
|
6
|
+
"version": "0.1.5"
|
|
7
7
|
},
|
|
8
8
|
"counts": {
|
|
9
9
|
"components": 144,
|
|
@@ -1027,6 +1027,13 @@
|
|
|
1027
1027
|
]
|
|
1028
1028
|
},
|
|
1029
1029
|
"cssVars": {
|
|
1030
|
+
"--dry-btn-accent": "Accent",
|
|
1031
|
+
"--dry-btn-accent-active": "Accent Active",
|
|
1032
|
+
"--dry-btn-accent-fg": "Accent Fg",
|
|
1033
|
+
"--dry-btn-accent-hover": "Accent Hover",
|
|
1034
|
+
"--dry-btn-accent-stroke": "Accent Stroke",
|
|
1035
|
+
"--dry-btn-border": "Border color",
|
|
1036
|
+
"--dry-btn-on-accent": "On Accent",
|
|
1030
1037
|
"--dry-dialog-bg": "Background color",
|
|
1031
1038
|
"--dry-dialog-border": "Border color",
|
|
1032
1039
|
"--dry-dialog-max-width": "Maximum width",
|
|
@@ -2066,6 +2073,9 @@
|
|
|
2066
2073
|
"name": "data-disabled",
|
|
2067
2074
|
"description": "Present when the component or part is disabled."
|
|
2068
2075
|
},
|
|
2076
|
+
{
|
|
2077
|
+
"name": "data-indicator"
|
|
2078
|
+
},
|
|
2069
2079
|
{
|
|
2070
2080
|
"name": "data-orientation",
|
|
2071
2081
|
"description": "Reflects the current horizontal or vertical orientation.",
|
|
@@ -2192,6 +2202,9 @@
|
|
|
2192
2202
|
"name": "data-disabled",
|
|
2193
2203
|
"description": "Present when the component or part is disabled."
|
|
2194
2204
|
},
|
|
2205
|
+
{
|
|
2206
|
+
"name": "data-indicator"
|
|
2207
|
+
},
|
|
2195
2208
|
{
|
|
2196
2209
|
"name": "data-state",
|
|
2197
2210
|
"description": "Reflects whether the collapsible content is expanded or collapsed.",
|
|
@@ -2585,8 +2598,7 @@
|
|
|
2585
2598
|
]
|
|
2586
2599
|
},
|
|
2587
2600
|
"cssVars": {
|
|
2588
|
-
"--dry-field-gap": "Gap spacing"
|
|
2589
|
-
"--dry-field-label-order": "Label Order"
|
|
2601
|
+
"--dry-field-gap": "Gap spacing"
|
|
2590
2602
|
},
|
|
2591
2603
|
"dataAttributes": [
|
|
2592
2604
|
{
|
|
@@ -3347,6 +3359,9 @@
|
|
|
3347
3359
|
"name": "data-disabled",
|
|
3348
3360
|
"description": "Present when the component or part is disabled."
|
|
3349
3361
|
},
|
|
3362
|
+
{
|
|
3363
|
+
"name": "data-indicator"
|
|
3364
|
+
},
|
|
3350
3365
|
{
|
|
3351
3366
|
"name": "data-invalid",
|
|
3352
3367
|
"description": "Present when the current field value is invalid."
|
|
@@ -4432,9 +4447,6 @@
|
|
|
4432
4447
|
"name": "data-disabled",
|
|
4433
4448
|
"description": "Present when the component or part is disabled."
|
|
4434
4449
|
},
|
|
4435
|
-
{
|
|
4436
|
-
"name": "data-option-swatch-group-content"
|
|
4437
|
-
},
|
|
4438
4450
|
{
|
|
4439
4451
|
"name": "data-option-swatch-group-item"
|
|
4440
4452
|
},
|
|
@@ -7980,11 +7992,11 @@
|
|
|
7980
7992
|
"tree": [
|
|
7981
7993
|
"Timeline.Root",
|
|
7982
7994
|
" Timeline.Item",
|
|
7983
|
-
"
|
|
7984
|
-
"
|
|
7985
|
-
"
|
|
7986
|
-
"
|
|
7987
|
-
"
|
|
7995
|
+
" Timeline.Icon",
|
|
7996
|
+
" Timeline.Content",
|
|
7997
|
+
" Timeline.Title",
|
|
7998
|
+
" Timeline.Description",
|
|
7999
|
+
" Timeline.Time"
|
|
7988
8000
|
]
|
|
7989
8001
|
},
|
|
7990
8002
|
"cssVars": {
|
|
@@ -8021,7 +8033,7 @@
|
|
|
8021
8033
|
"name": "data-part"
|
|
8022
8034
|
}
|
|
8023
8035
|
],
|
|
8024
|
-
"example": "<Timeline.Root>\n <Timeline.Item
|
|
8036
|
+
"example": "<Timeline.Root>\n <Timeline.Item>\n <Timeline.Icon />\n <Timeline.Content>\n <Timeline.Title>Event title</Timeline.Title>\n <Timeline.Description>Event description</Timeline.Description>\n <Timeline.Time>2 hours ago</Timeline.Time>\n </Timeline.Content>\n </Timeline.Item>\n</Timeline.Root>"
|
|
8025
8037
|
},
|
|
8026
8038
|
"Typography": {
|
|
8027
8039
|
"import": "@dryui/ui",
|
|
@@ -9691,6 +9703,7 @@
|
|
|
9691
9703
|
]
|
|
9692
9704
|
},
|
|
9693
9705
|
"cssVars": {
|
|
9706
|
+
"--dry-calendar-grid-gap": "Grid Gap",
|
|
9694
9707
|
"--dry-dp-bg": "Background color",
|
|
9695
9708
|
"--dry-dp-border": "Border color",
|
|
9696
9709
|
"--dry-dp-font-size": "Font size",
|
|
@@ -9698,9 +9711,33 @@
|
|
|
9698
9711
|
"--dry-dp-padding-y": "Vertical padding"
|
|
9699
9712
|
},
|
|
9700
9713
|
"dataAttributes": [
|
|
9714
|
+
{
|
|
9715
|
+
"name": "data-calendar-cell"
|
|
9716
|
+
},
|
|
9717
|
+
{
|
|
9718
|
+
"name": "data-calendar-columnheader"
|
|
9719
|
+
},
|
|
9701
9720
|
{
|
|
9702
9721
|
"name": "data-calendar-day"
|
|
9703
9722
|
},
|
|
9723
|
+
{
|
|
9724
|
+
"name": "data-calendar-day-button"
|
|
9725
|
+
},
|
|
9726
|
+
{
|
|
9727
|
+
"name": "data-calendar-header"
|
|
9728
|
+
},
|
|
9729
|
+
{
|
|
9730
|
+
"name": "data-calendar-heading"
|
|
9731
|
+
},
|
|
9732
|
+
{
|
|
9733
|
+
"name": "data-calendar-nav"
|
|
9734
|
+
},
|
|
9735
|
+
{
|
|
9736
|
+
"name": "data-calendar-panel"
|
|
9737
|
+
},
|
|
9738
|
+
{
|
|
9739
|
+
"name": "data-calendar-row"
|
|
9740
|
+
},
|
|
9704
9741
|
{
|
|
9705
9742
|
"name": "data-disabled",
|
|
9706
9743
|
"description": "Present when the component or part is disabled."
|
|
@@ -9714,6 +9751,9 @@
|
|
|
9714
9751
|
{
|
|
9715
9752
|
"name": "data-dp-trigger"
|
|
9716
9753
|
},
|
|
9754
|
+
{
|
|
9755
|
+
"name": "data-indicator"
|
|
9756
|
+
},
|
|
9717
9757
|
{
|
|
9718
9758
|
"name": "data-invalid",
|
|
9719
9759
|
"description": "Present when the current field value is invalid."
|
|
@@ -10166,9 +10206,33 @@
|
|
|
10166
10206
|
},
|
|
10167
10207
|
"cssVars": {},
|
|
10168
10208
|
"dataAttributes": [
|
|
10209
|
+
{
|
|
10210
|
+
"name": "data-calendar-cell"
|
|
10211
|
+
},
|
|
10212
|
+
{
|
|
10213
|
+
"name": "data-calendar-columnheader"
|
|
10214
|
+
},
|
|
10169
10215
|
{
|
|
10170
10216
|
"name": "data-calendar-day"
|
|
10171
10217
|
},
|
|
10218
|
+
{
|
|
10219
|
+
"name": "data-calendar-day-button"
|
|
10220
|
+
},
|
|
10221
|
+
{
|
|
10222
|
+
"name": "data-calendar-header"
|
|
10223
|
+
},
|
|
10224
|
+
{
|
|
10225
|
+
"name": "data-calendar-heading"
|
|
10226
|
+
},
|
|
10227
|
+
{
|
|
10228
|
+
"name": "data-calendar-nav"
|
|
10229
|
+
},
|
|
10230
|
+
{
|
|
10231
|
+
"name": "data-calendar-panel"
|
|
10232
|
+
},
|
|
10233
|
+
{
|
|
10234
|
+
"name": "data-calendar-row"
|
|
10235
|
+
},
|
|
10172
10236
|
{
|
|
10173
10237
|
"name": "data-disabled",
|
|
10174
10238
|
"description": "Present when the component or part is disabled."
|
|
@@ -10188,6 +10252,9 @@
|
|
|
10188
10252
|
{
|
|
10189
10253
|
"name": "data-in-range"
|
|
10190
10254
|
},
|
|
10255
|
+
{
|
|
10256
|
+
"name": "data-indicator"
|
|
10257
|
+
},
|
|
10191
10258
|
{
|
|
10192
10259
|
"name": "data-outside-month"
|
|
10193
10260
|
},
|
|
@@ -10700,8 +10767,14 @@
|
|
|
10700
10767
|
"--dry-range-calendar-day-hover-bg": "Calendar Day Hover Bg",
|
|
10701
10768
|
"--dry-range-calendar-day-radius": "Calendar Day Radius",
|
|
10702
10769
|
"--dry-range-calendar-day-size": "Calendar Day Size",
|
|
10770
|
+
"--dry-range-calendar-heading-color": "Calendar Heading Color",
|
|
10771
|
+
"--dry-range-calendar-nav-bg": "Calendar Nav Bg",
|
|
10772
|
+
"--dry-range-calendar-nav-border": "Calendar Nav Border",
|
|
10773
|
+
"--dry-range-calendar-nav-color": "Calendar Nav Color",
|
|
10703
10774
|
"--dry-range-calendar-outside-color": "Calendar Outside Color",
|
|
10704
10775
|
"--dry-range-calendar-padding": "Calendar Padding",
|
|
10776
|
+
"--dry-range-calendar-panel-bg": "Calendar Panel Bg",
|
|
10777
|
+
"--dry-range-calendar-panel-border": "Calendar Panel Border",
|
|
10705
10778
|
"--dry-range-calendar-radius": "Calendar Radius",
|
|
10706
10779
|
"--dry-range-calendar-range-bg": "Calendar Range Bg",
|
|
10707
10780
|
"--dry-range-calendar-selected-bg": "Calendar Selected Bg",
|
|
@@ -10711,12 +10784,33 @@
|
|
|
10711
10784
|
"--dry-range-calendar-today-color": "Calendar Today Color"
|
|
10712
10785
|
},
|
|
10713
10786
|
"dataAttributes": [
|
|
10787
|
+
{
|
|
10788
|
+
"name": "data-calendar-cell"
|
|
10789
|
+
},
|
|
10790
|
+
{
|
|
10791
|
+
"name": "data-calendar-columnheader"
|
|
10792
|
+
},
|
|
10714
10793
|
{
|
|
10715
10794
|
"name": "data-calendar-day"
|
|
10716
10795
|
},
|
|
10796
|
+
{
|
|
10797
|
+
"name": "data-calendar-day-button"
|
|
10798
|
+
},
|
|
10717
10799
|
{
|
|
10718
10800
|
"name": "data-calendar-header"
|
|
10719
10801
|
},
|
|
10802
|
+
{
|
|
10803
|
+
"name": "data-calendar-heading"
|
|
10804
|
+
},
|
|
10805
|
+
{
|
|
10806
|
+
"name": "data-calendar-nav"
|
|
10807
|
+
},
|
|
10808
|
+
{
|
|
10809
|
+
"name": "data-calendar-panel"
|
|
10810
|
+
},
|
|
10811
|
+
{
|
|
10812
|
+
"name": "data-calendar-row"
|
|
10813
|
+
},
|
|
10720
10814
|
{
|
|
10721
10815
|
"name": "data-disabled",
|
|
10722
10816
|
"description": "Present when the component or part is disabled."
|
|
@@ -11085,6 +11179,7 @@
|
|
|
11085
11179
|
},
|
|
11086
11180
|
"cssVars": {
|
|
11087
11181
|
"--dry-tags-input-font-size": "Input Font Size",
|
|
11182
|
+
"--dry-tags-input-gap": "Input Gap",
|
|
11088
11183
|
"--dry-tags-input-tag-font-size": "Input Tag Font Size",
|
|
11089
11184
|
"--dry-tags-input-tag-padding-x": "Input Tag Padding X"
|
|
11090
11185
|
},
|
|
@@ -12540,6 +12635,7 @@
|
|
|
12540
12635
|
"--dry-fab-color": "Text color",
|
|
12541
12636
|
"--dry-fab-gap": "Gap spacing",
|
|
12542
12637
|
"--dry-fab-offset": "Offset",
|
|
12638
|
+
"--dry-fab-position": "Position",
|
|
12543
12639
|
"--dry-fab-shadow": "Box shadow",
|
|
12544
12640
|
"--dry-fab-z-index": "Z Index"
|
|
12545
12641
|
},
|
|
@@ -16923,7 +17019,7 @@
|
|
|
16923
17019
|
},
|
|
16924
17020
|
"SystemMap": {
|
|
16925
17021
|
"import": "@dryui/ui",
|
|
16926
|
-
"description": "Layered architecture diagram
|
|
17022
|
+
"description": "Layered architecture diagram that visualizes component nodes, relationships, and dependency layers",
|
|
16927
17023
|
"category": "display",
|
|
16928
17024
|
"tags": [
|
|
16929
17025
|
"diagram",
|
|
@@ -16994,92 +17090,40 @@
|
|
|
16994
17090
|
],
|
|
16995
17091
|
"note": "Forwards <div> attributes via rest props."
|
|
16996
17092
|
},
|
|
16997
|
-
"cssVars": {
|
|
16998
|
-
"--dry-system-map-bg": "Map Bg",
|
|
16999
|
-
"--dry-system-map-border": "Map Border",
|
|
17000
|
-
"--dry-system-map-shadow": "Map Shadow",
|
|
17001
|
-
"--dry-system-map-surface": "Map Surface",
|
|
17002
|
-
"--dry-system-map-text": "Map Text",
|
|
17003
|
-
"--dry-system-map-text-muted": "Map Text Muted"
|
|
17004
|
-
},
|
|
17093
|
+
"cssVars": {},
|
|
17005
17094
|
"dataAttributes": [
|
|
17006
17095
|
{
|
|
17007
|
-
"name": "data-
|
|
17008
|
-
},
|
|
17009
|
-
{
|
|
17010
|
-
"name": "data-dashed"
|
|
17011
|
-
},
|
|
17012
|
-
{
|
|
17013
|
-
"name": "data-edge-label"
|
|
17096
|
+
"name": "data-connector"
|
|
17014
17097
|
},
|
|
17015
17098
|
{
|
|
17016
|
-
"name": "data-
|
|
17099
|
+
"name": "data-connector-label"
|
|
17017
17100
|
},
|
|
17018
17101
|
{
|
|
17019
|
-
"name": "data-
|
|
17102
|
+
"name": "data-connector-line"
|
|
17020
17103
|
},
|
|
17021
17104
|
{
|
|
17022
|
-
"name": "data-
|
|
17105
|
+
"name": "data-edge-row"
|
|
17023
17106
|
},
|
|
17024
17107
|
{
|
|
17025
|
-
"name": "data-
|
|
17026
|
-
},
|
|
17027
|
-
{
|
|
17028
|
-
"name": "data-header"
|
|
17029
|
-
},
|
|
17030
|
-
{
|
|
17031
|
-
"name": "data-header-badges"
|
|
17032
|
-
},
|
|
17033
|
-
{
|
|
17034
|
-
"name": "data-header-text"
|
|
17035
|
-
},
|
|
17036
|
-
{
|
|
17037
|
-
"name": "data-lane-meta"
|
|
17038
|
-
},
|
|
17039
|
-
{
|
|
17040
|
-
"name": "data-lane-title"
|
|
17041
|
-
},
|
|
17042
|
-
{
|
|
17043
|
-
"name": "data-legend"
|
|
17044
|
-
},
|
|
17045
|
-
{
|
|
17046
|
-
"name": "data-legend-item"
|
|
17047
|
-
},
|
|
17048
|
-
{
|
|
17049
|
-
"name": "data-legend-items"
|
|
17050
|
-
},
|
|
17051
|
-
{
|
|
17052
|
-
"name": "data-legend-section"
|
|
17053
|
-
},
|
|
17054
|
-
{
|
|
17055
|
-
"name": "data-line-swatch"
|
|
17056
|
-
},
|
|
17057
|
-
{
|
|
17058
|
-
"name": "data-map-title"
|
|
17059
|
-
},
|
|
17060
|
-
{
|
|
17061
|
-
"name": "data-node-description"
|
|
17108
|
+
"name": "data-empty"
|
|
17062
17109
|
},
|
|
17063
17110
|
{
|
|
17064
|
-
"name": "data-
|
|
17111
|
+
"name": "data-focused"
|
|
17065
17112
|
},
|
|
17066
17113
|
{
|
|
17067
|
-
"name": "data-node
|
|
17114
|
+
"name": "data-node"
|
|
17068
17115
|
},
|
|
17069
17116
|
{
|
|
17070
|
-
"name": "data-
|
|
17117
|
+
"name": "data-node-helper"
|
|
17071
17118
|
},
|
|
17072
17119
|
{
|
|
17073
|
-
"name": "data-
|
|
17120
|
+
"name": "data-node-name"
|
|
17074
17121
|
},
|
|
17075
17122
|
{
|
|
17076
|
-
"name": "data-
|
|
17123
|
+
"name": "data-orphans"
|
|
17077
17124
|
},
|
|
17078
17125
|
{
|
|
17079
17126
|
"name": "data-system-map"
|
|
17080
|
-
},
|
|
17081
|
-
{
|
|
17082
|
-
"name": "data-thumbnail-object"
|
|
17083
17127
|
}
|
|
17084
17128
|
],
|
|
17085
17129
|
"example": "<SystemMap>Content</SystemMap>"
|
|
@@ -17535,8 +17579,7 @@
|
|
|
17535
17579
|
},
|
|
17536
17580
|
"blendMode": {
|
|
17537
17581
|
"type": "BlendMode",
|
|
17538
|
-
"required": false
|
|
17539
|
-
"default": "'screen'"
|
|
17582
|
+
"required": false
|
|
17540
17583
|
},
|
|
17541
17584
|
"children": {
|
|
17542
17585
|
"type": "Snippet",
|
|
@@ -22298,7 +22341,7 @@
|
|
|
22298
22341
|
},
|
|
22299
22342
|
"simple-content-page": {
|
|
22300
22343
|
"name": "simple-content-page",
|
|
22301
|
-
"description": "Clean content page with constrained width and vertical rhythm. Use Container for max-width and
|
|
22344
|
+
"description": "Clean content page with constrained width and vertical rhythm. Use Container for max-width and CSS grid for vertical spacing. Suitable for blog posts, documentation, settings pages.",
|
|
22302
22345
|
"tags": [
|
|
22303
22346
|
"page",
|
|
22304
22347
|
"content",
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
1
2
|
var __create = Object.create;
|
|
2
3
|
var __getProtoOf = Object.getPrototypeOf;
|
|
3
4
|
var __defProp = Object.defineProperty;
|
|
@@ -8079,12 +8080,23 @@ function installCommand(packageManager) {
|
|
|
8079
8080
|
return "npm install @dryui/ui";
|
|
8080
8081
|
}
|
|
8081
8082
|
}
|
|
8083
|
+
function buildThemeImportLines(spec) {
|
|
8084
|
+
return ` import '${spec.themeImports.default}';
|
|
8085
|
+
import '${spec.themeImports.dark}';`;
|
|
8086
|
+
}
|
|
8082
8087
|
function buildThemeImportSnippet(spec) {
|
|
8088
|
+
return ["<script>", buildThemeImportLines(spec), "</script>"].join(`
|
|
8089
|
+
`);
|
|
8090
|
+
}
|
|
8091
|
+
function buildRootLayoutSnippet(spec) {
|
|
8083
8092
|
return [
|
|
8084
|
-
|
|
8085
|
-
|
|
8086
|
-
|
|
8087
|
-
"
|
|
8093
|
+
"<script>",
|
|
8094
|
+
buildThemeImportLines(spec),
|
|
8095
|
+
"",
|
|
8096
|
+
" let { children } = $props();",
|
|
8097
|
+
"</script>",
|
|
8098
|
+
"",
|
|
8099
|
+
"{@render children()}"
|
|
8088
8100
|
].join(`
|
|
8089
8101
|
`);
|
|
8090
8102
|
}
|
|
@@ -8192,7 +8204,7 @@ function planInstall(spec, inputPath) {
|
|
|
8192
8204
|
kind: "edit-file",
|
|
8193
8205
|
status: "pending",
|
|
8194
8206
|
title: "Add theme imports to app.css",
|
|
8195
|
-
description: "
|
|
8207
|
+
description: "Prepend the two @import lines from the snippet to the TOP of the existing src/app.css file, before any other CSS rules. Do not create a second file.",
|
|
8196
8208
|
path: detection.files.appCss,
|
|
8197
8209
|
snippet: buildThemeImportCssSnippet(spec)
|
|
8198
8210
|
});
|
|
@@ -8202,16 +8214,16 @@ function planInstall(spec, inputPath) {
|
|
|
8202
8214
|
kind: "create-file",
|
|
8203
8215
|
status: "pending",
|
|
8204
8216
|
title: "Create root layout with theme imports",
|
|
8205
|
-
description: "Create
|
|
8217
|
+
description: "Create the file at the path below with the snippet as its full content. The file must include {@render children()} or pages will not render.",
|
|
8206
8218
|
...path ? { path } : {},
|
|
8207
|
-
snippet:
|
|
8219
|
+
snippet: buildRootLayoutSnippet(spec)
|
|
8208
8220
|
});
|
|
8209
8221
|
} else {
|
|
8210
8222
|
steps.push({
|
|
8211
8223
|
kind: "edit-file",
|
|
8212
8224
|
status: "pending",
|
|
8213
8225
|
title: "Add theme imports to the root layout",
|
|
8214
|
-
description: "
|
|
8226
|
+
description: "Add the two import lines from the snippet into the EXISTING <script> block in this file. Do not create a second <script> block. If no <script> block exists, add one at the top of the file.",
|
|
8215
8227
|
path: detection.files.rootLayout,
|
|
8216
8228
|
snippet: buildThemeImportSnippet(spec)
|
|
8217
8229
|
});
|
|
@@ -8229,9 +8241,9 @@ function planInstall(spec, inputPath) {
|
|
|
8229
8241
|
kind: "edit-file",
|
|
8230
8242
|
status: "pending",
|
|
8231
8243
|
title: "Set html theme mode to auto",
|
|
8232
|
-
description: '
|
|
8244
|
+
description: 'In src/app.html, find the opening <html> tag (e.g. <html lang="en">) and add class="theme-auto" to it, preserving any existing attributes. Result should be like <html lang="en" class="theme-auto">. Do NOT add a second <html> element.',
|
|
8233
8245
|
path: detection.files.appHtml,
|
|
8234
|
-
snippet: '<html class="theme-auto">'
|
|
8246
|
+
snippet: '<html lang="en" class="theme-auto">'
|
|
8235
8247
|
});
|
|
8236
8248
|
}
|
|
8237
8249
|
if (steps.length === 0) {
|
package/dist/project-planner.js
CHANGED
|
@@ -158,12 +158,23 @@ function installCommand(packageManager) {
|
|
|
158
158
|
return "npm install @dryui/ui";
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
|
+
function buildThemeImportLines(spec) {
|
|
162
|
+
return ` import '${spec.themeImports.default}';
|
|
163
|
+
import '${spec.themeImports.dark}';`;
|
|
164
|
+
}
|
|
161
165
|
function buildThemeImportSnippet(spec) {
|
|
166
|
+
return ["<script>", buildThemeImportLines(spec), "</script>"].join(`
|
|
167
|
+
`);
|
|
168
|
+
}
|
|
169
|
+
function buildRootLayoutSnippet(spec) {
|
|
162
170
|
return [
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
"
|
|
171
|
+
"<script>",
|
|
172
|
+
buildThemeImportLines(spec),
|
|
173
|
+
"",
|
|
174
|
+
" let { children } = $props();",
|
|
175
|
+
"</script>",
|
|
176
|
+
"",
|
|
177
|
+
"{@render children()}"
|
|
167
178
|
].join(`
|
|
168
179
|
`);
|
|
169
180
|
}
|
|
@@ -271,7 +282,7 @@ function planInstall(spec, inputPath) {
|
|
|
271
282
|
kind: "edit-file",
|
|
272
283
|
status: "pending",
|
|
273
284
|
title: "Add theme imports to app.css",
|
|
274
|
-
description: "
|
|
285
|
+
description: "Prepend the two @import lines from the snippet to the TOP of the existing src/app.css file, before any other CSS rules. Do not create a second file.",
|
|
275
286
|
path: detection.files.appCss,
|
|
276
287
|
snippet: buildThemeImportCssSnippet(spec)
|
|
277
288
|
});
|
|
@@ -281,16 +292,16 @@ function planInstall(spec, inputPath) {
|
|
|
281
292
|
kind: "create-file",
|
|
282
293
|
status: "pending",
|
|
283
294
|
title: "Create root layout with theme imports",
|
|
284
|
-
description: "Create
|
|
295
|
+
description: "Create the file at the path below with the snippet as its full content. The file must include {@render children()} or pages will not render.",
|
|
285
296
|
...path ? { path } : {},
|
|
286
|
-
snippet:
|
|
297
|
+
snippet: buildRootLayoutSnippet(spec)
|
|
287
298
|
});
|
|
288
299
|
} else {
|
|
289
300
|
steps.push({
|
|
290
301
|
kind: "edit-file",
|
|
291
302
|
status: "pending",
|
|
292
303
|
title: "Add theme imports to the root layout",
|
|
293
|
-
description: "
|
|
304
|
+
description: "Add the two import lines from the snippet into the EXISTING <script> block in this file. Do not create a second <script> block. If no <script> block exists, add one at the top of the file.",
|
|
294
305
|
path: detection.files.rootLayout,
|
|
295
306
|
snippet: buildThemeImportSnippet(spec)
|
|
296
307
|
});
|
|
@@ -308,9 +319,9 @@ function planInstall(spec, inputPath) {
|
|
|
308
319
|
kind: "edit-file",
|
|
309
320
|
status: "pending",
|
|
310
321
|
title: "Set html theme mode to auto",
|
|
311
|
-
description: '
|
|
322
|
+
description: 'In src/app.html, find the opening <html> tag (e.g. <html lang="en">) and add class="theme-auto" to it, preserving any existing attributes. Result should be like <html lang="en" class="theme-auto">. Do NOT add a second <html> element.',
|
|
312
323
|
path: detection.files.appHtml,
|
|
313
|
-
snippet: '<html class="theme-auto">'
|
|
324
|
+
snippet: '<html lang="en" class="theme-auto">'
|
|
314
325
|
});
|
|
315
326
|
}
|
|
316
327
|
if (steps.length === 0) {
|
package/dist/spec.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.1.
|
|
2
|
+
"version": "0.1.5",
|
|
3
3
|
"package": "@dryui/ui",
|
|
4
4
|
"themeImports": {
|
|
5
5
|
"default": "@dryui/ui/themes/default.css",
|
|
@@ -883,6 +883,13 @@
|
|
|
883
883
|
]
|
|
884
884
|
},
|
|
885
885
|
"cssVars": {
|
|
886
|
+
"--dry-btn-accent": "Accent",
|
|
887
|
+
"--dry-btn-accent-active": "Accent Active",
|
|
888
|
+
"--dry-btn-accent-fg": "Accent Fg",
|
|
889
|
+
"--dry-btn-accent-hover": "Accent Hover",
|
|
890
|
+
"--dry-btn-accent-stroke": "Accent Stroke",
|
|
891
|
+
"--dry-btn-border": "Border color",
|
|
892
|
+
"--dry-btn-on-accent": "On Accent",
|
|
886
893
|
"--dry-dialog-bg": "Background color",
|
|
887
894
|
"--dry-dialog-border": "Border color",
|
|
888
895
|
"--dry-dialog-max-width": "Maximum width",
|
|
@@ -1922,6 +1929,9 @@
|
|
|
1922
1929
|
"name": "data-disabled",
|
|
1923
1930
|
"description": "Present when the component or part is disabled."
|
|
1924
1931
|
},
|
|
1932
|
+
{
|
|
1933
|
+
"name": "data-indicator"
|
|
1934
|
+
},
|
|
1925
1935
|
{
|
|
1926
1936
|
"name": "data-orientation",
|
|
1927
1937
|
"description": "Reflects the current horizontal or vertical orientation.",
|
|
@@ -2048,6 +2058,9 @@
|
|
|
2048
2058
|
"name": "data-disabled",
|
|
2049
2059
|
"description": "Present when the component or part is disabled."
|
|
2050
2060
|
},
|
|
2061
|
+
{
|
|
2062
|
+
"name": "data-indicator"
|
|
2063
|
+
},
|
|
2051
2064
|
{
|
|
2052
2065
|
"name": "data-state",
|
|
2053
2066
|
"description": "Reflects whether the collapsible content is expanded or collapsed.",
|
|
@@ -2441,8 +2454,7 @@
|
|
|
2441
2454
|
]
|
|
2442
2455
|
},
|
|
2443
2456
|
"cssVars": {
|
|
2444
|
-
"--dry-field-gap": "Gap spacing"
|
|
2445
|
-
"--dry-field-label-order": "Label Order"
|
|
2457
|
+
"--dry-field-gap": "Gap spacing"
|
|
2446
2458
|
},
|
|
2447
2459
|
"dataAttributes": [
|
|
2448
2460
|
{
|
|
@@ -3203,6 +3215,9 @@
|
|
|
3203
3215
|
"name": "data-disabled",
|
|
3204
3216
|
"description": "Present when the component or part is disabled."
|
|
3205
3217
|
},
|
|
3218
|
+
{
|
|
3219
|
+
"name": "data-indicator"
|
|
3220
|
+
},
|
|
3206
3221
|
{
|
|
3207
3222
|
"name": "data-invalid",
|
|
3208
3223
|
"description": "Present when the current field value is invalid."
|
|
@@ -4288,9 +4303,6 @@
|
|
|
4288
4303
|
"name": "data-disabled",
|
|
4289
4304
|
"description": "Present when the component or part is disabled."
|
|
4290
4305
|
},
|
|
4291
|
-
{
|
|
4292
|
-
"name": "data-option-swatch-group-content"
|
|
4293
|
-
},
|
|
4294
4306
|
{
|
|
4295
4307
|
"name": "data-option-swatch-group-item"
|
|
4296
4308
|
},
|
|
@@ -7836,11 +7848,11 @@
|
|
|
7836
7848
|
"tree": [
|
|
7837
7849
|
"Timeline.Root",
|
|
7838
7850
|
" Timeline.Item",
|
|
7839
|
-
"
|
|
7840
|
-
"
|
|
7841
|
-
"
|
|
7842
|
-
"
|
|
7843
|
-
"
|
|
7851
|
+
" Timeline.Icon",
|
|
7852
|
+
" Timeline.Content",
|
|
7853
|
+
" Timeline.Title",
|
|
7854
|
+
" Timeline.Description",
|
|
7855
|
+
" Timeline.Time"
|
|
7844
7856
|
]
|
|
7845
7857
|
},
|
|
7846
7858
|
"cssVars": {
|
|
@@ -7877,7 +7889,7 @@
|
|
|
7877
7889
|
"name": "data-part"
|
|
7878
7890
|
}
|
|
7879
7891
|
],
|
|
7880
|
-
"example": "<Timeline.Root>\n <Timeline.Item
|
|
7892
|
+
"example": "<Timeline.Root>\n <Timeline.Item>\n <Timeline.Icon />\n <Timeline.Content>\n <Timeline.Title>Event title</Timeline.Title>\n <Timeline.Description>Event description</Timeline.Description>\n <Timeline.Time>2 hours ago</Timeline.Time>\n </Timeline.Content>\n </Timeline.Item>\n</Timeline.Root>"
|
|
7881
7893
|
},
|
|
7882
7894
|
"Typography": {
|
|
7883
7895
|
"import": "@dryui/ui",
|
|
@@ -9547,6 +9559,7 @@
|
|
|
9547
9559
|
]
|
|
9548
9560
|
},
|
|
9549
9561
|
"cssVars": {
|
|
9562
|
+
"--dry-calendar-grid-gap": "Grid Gap",
|
|
9550
9563
|
"--dry-dp-bg": "Background color",
|
|
9551
9564
|
"--dry-dp-border": "Border color",
|
|
9552
9565
|
"--dry-dp-font-size": "Font size",
|
|
@@ -9554,9 +9567,33 @@
|
|
|
9554
9567
|
"--dry-dp-padding-y": "Vertical padding"
|
|
9555
9568
|
},
|
|
9556
9569
|
"dataAttributes": [
|
|
9570
|
+
{
|
|
9571
|
+
"name": "data-calendar-cell"
|
|
9572
|
+
},
|
|
9573
|
+
{
|
|
9574
|
+
"name": "data-calendar-columnheader"
|
|
9575
|
+
},
|
|
9557
9576
|
{
|
|
9558
9577
|
"name": "data-calendar-day"
|
|
9559
9578
|
},
|
|
9579
|
+
{
|
|
9580
|
+
"name": "data-calendar-day-button"
|
|
9581
|
+
},
|
|
9582
|
+
{
|
|
9583
|
+
"name": "data-calendar-header"
|
|
9584
|
+
},
|
|
9585
|
+
{
|
|
9586
|
+
"name": "data-calendar-heading"
|
|
9587
|
+
},
|
|
9588
|
+
{
|
|
9589
|
+
"name": "data-calendar-nav"
|
|
9590
|
+
},
|
|
9591
|
+
{
|
|
9592
|
+
"name": "data-calendar-panel"
|
|
9593
|
+
},
|
|
9594
|
+
{
|
|
9595
|
+
"name": "data-calendar-row"
|
|
9596
|
+
},
|
|
9560
9597
|
{
|
|
9561
9598
|
"name": "data-disabled",
|
|
9562
9599
|
"description": "Present when the component or part is disabled."
|
|
@@ -9570,6 +9607,9 @@
|
|
|
9570
9607
|
{
|
|
9571
9608
|
"name": "data-dp-trigger"
|
|
9572
9609
|
},
|
|
9610
|
+
{
|
|
9611
|
+
"name": "data-indicator"
|
|
9612
|
+
},
|
|
9573
9613
|
{
|
|
9574
9614
|
"name": "data-invalid",
|
|
9575
9615
|
"description": "Present when the current field value is invalid."
|
|
@@ -10022,9 +10062,33 @@
|
|
|
10022
10062
|
},
|
|
10023
10063
|
"cssVars": {},
|
|
10024
10064
|
"dataAttributes": [
|
|
10065
|
+
{
|
|
10066
|
+
"name": "data-calendar-cell"
|
|
10067
|
+
},
|
|
10068
|
+
{
|
|
10069
|
+
"name": "data-calendar-columnheader"
|
|
10070
|
+
},
|
|
10025
10071
|
{
|
|
10026
10072
|
"name": "data-calendar-day"
|
|
10027
10073
|
},
|
|
10074
|
+
{
|
|
10075
|
+
"name": "data-calendar-day-button"
|
|
10076
|
+
},
|
|
10077
|
+
{
|
|
10078
|
+
"name": "data-calendar-header"
|
|
10079
|
+
},
|
|
10080
|
+
{
|
|
10081
|
+
"name": "data-calendar-heading"
|
|
10082
|
+
},
|
|
10083
|
+
{
|
|
10084
|
+
"name": "data-calendar-nav"
|
|
10085
|
+
},
|
|
10086
|
+
{
|
|
10087
|
+
"name": "data-calendar-panel"
|
|
10088
|
+
},
|
|
10089
|
+
{
|
|
10090
|
+
"name": "data-calendar-row"
|
|
10091
|
+
},
|
|
10028
10092
|
{
|
|
10029
10093
|
"name": "data-disabled",
|
|
10030
10094
|
"description": "Present when the component or part is disabled."
|
|
@@ -10044,6 +10108,9 @@
|
|
|
10044
10108
|
{
|
|
10045
10109
|
"name": "data-in-range"
|
|
10046
10110
|
},
|
|
10111
|
+
{
|
|
10112
|
+
"name": "data-indicator"
|
|
10113
|
+
},
|
|
10047
10114
|
{
|
|
10048
10115
|
"name": "data-outside-month"
|
|
10049
10116
|
},
|
|
@@ -10556,8 +10623,14 @@
|
|
|
10556
10623
|
"--dry-range-calendar-day-hover-bg": "Calendar Day Hover Bg",
|
|
10557
10624
|
"--dry-range-calendar-day-radius": "Calendar Day Radius",
|
|
10558
10625
|
"--dry-range-calendar-day-size": "Calendar Day Size",
|
|
10626
|
+
"--dry-range-calendar-heading-color": "Calendar Heading Color",
|
|
10627
|
+
"--dry-range-calendar-nav-bg": "Calendar Nav Bg",
|
|
10628
|
+
"--dry-range-calendar-nav-border": "Calendar Nav Border",
|
|
10629
|
+
"--dry-range-calendar-nav-color": "Calendar Nav Color",
|
|
10559
10630
|
"--dry-range-calendar-outside-color": "Calendar Outside Color",
|
|
10560
10631
|
"--dry-range-calendar-padding": "Calendar Padding",
|
|
10632
|
+
"--dry-range-calendar-panel-bg": "Calendar Panel Bg",
|
|
10633
|
+
"--dry-range-calendar-panel-border": "Calendar Panel Border",
|
|
10561
10634
|
"--dry-range-calendar-radius": "Calendar Radius",
|
|
10562
10635
|
"--dry-range-calendar-range-bg": "Calendar Range Bg",
|
|
10563
10636
|
"--dry-range-calendar-selected-bg": "Calendar Selected Bg",
|
|
@@ -10567,12 +10640,33 @@
|
|
|
10567
10640
|
"--dry-range-calendar-today-color": "Calendar Today Color"
|
|
10568
10641
|
},
|
|
10569
10642
|
"dataAttributes": [
|
|
10643
|
+
{
|
|
10644
|
+
"name": "data-calendar-cell"
|
|
10645
|
+
},
|
|
10646
|
+
{
|
|
10647
|
+
"name": "data-calendar-columnheader"
|
|
10648
|
+
},
|
|
10570
10649
|
{
|
|
10571
10650
|
"name": "data-calendar-day"
|
|
10572
10651
|
},
|
|
10652
|
+
{
|
|
10653
|
+
"name": "data-calendar-day-button"
|
|
10654
|
+
},
|
|
10573
10655
|
{
|
|
10574
10656
|
"name": "data-calendar-header"
|
|
10575
10657
|
},
|
|
10658
|
+
{
|
|
10659
|
+
"name": "data-calendar-heading"
|
|
10660
|
+
},
|
|
10661
|
+
{
|
|
10662
|
+
"name": "data-calendar-nav"
|
|
10663
|
+
},
|
|
10664
|
+
{
|
|
10665
|
+
"name": "data-calendar-panel"
|
|
10666
|
+
},
|
|
10667
|
+
{
|
|
10668
|
+
"name": "data-calendar-row"
|
|
10669
|
+
},
|
|
10576
10670
|
{
|
|
10577
10671
|
"name": "data-disabled",
|
|
10578
10672
|
"description": "Present when the component or part is disabled."
|
|
@@ -10941,6 +11035,7 @@
|
|
|
10941
11035
|
},
|
|
10942
11036
|
"cssVars": {
|
|
10943
11037
|
"--dry-tags-input-font-size": "Input Font Size",
|
|
11038
|
+
"--dry-tags-input-gap": "Input Gap",
|
|
10944
11039
|
"--dry-tags-input-tag-font-size": "Input Tag Font Size",
|
|
10945
11040
|
"--dry-tags-input-tag-padding-x": "Input Tag Padding X"
|
|
10946
11041
|
},
|
|
@@ -12396,6 +12491,7 @@
|
|
|
12396
12491
|
"--dry-fab-color": "Text color",
|
|
12397
12492
|
"--dry-fab-gap": "Gap spacing",
|
|
12398
12493
|
"--dry-fab-offset": "Offset",
|
|
12494
|
+
"--dry-fab-position": "Position",
|
|
12399
12495
|
"--dry-fab-shadow": "Box shadow",
|
|
12400
12496
|
"--dry-fab-z-index": "Z Index"
|
|
12401
12497
|
},
|
|
@@ -16779,7 +16875,7 @@
|
|
|
16779
16875
|
},
|
|
16780
16876
|
"SystemMap": {
|
|
16781
16877
|
"import": "@dryui/ui",
|
|
16782
|
-
"description": "Layered architecture diagram
|
|
16878
|
+
"description": "Layered architecture diagram that visualizes component nodes, relationships, and dependency layers",
|
|
16783
16879
|
"category": "display",
|
|
16784
16880
|
"tags": [
|
|
16785
16881
|
"diagram",
|
|
@@ -16850,92 +16946,40 @@
|
|
|
16850
16946
|
],
|
|
16851
16947
|
"note": "Forwards <div> attributes via rest props."
|
|
16852
16948
|
},
|
|
16853
|
-
"cssVars": {
|
|
16854
|
-
"--dry-system-map-bg": "Map Bg",
|
|
16855
|
-
"--dry-system-map-border": "Map Border",
|
|
16856
|
-
"--dry-system-map-shadow": "Map Shadow",
|
|
16857
|
-
"--dry-system-map-surface": "Map Surface",
|
|
16858
|
-
"--dry-system-map-text": "Map Text",
|
|
16859
|
-
"--dry-system-map-text-muted": "Map Text Muted"
|
|
16860
|
-
},
|
|
16949
|
+
"cssVars": {},
|
|
16861
16950
|
"dataAttributes": [
|
|
16862
16951
|
{
|
|
16863
|
-
"name": "data-
|
|
16864
|
-
},
|
|
16865
|
-
{
|
|
16866
|
-
"name": "data-dashed"
|
|
16867
|
-
},
|
|
16868
|
-
{
|
|
16869
|
-
"name": "data-edge-label"
|
|
16952
|
+
"name": "data-connector"
|
|
16870
16953
|
},
|
|
16871
16954
|
{
|
|
16872
|
-
"name": "data-
|
|
16955
|
+
"name": "data-connector-label"
|
|
16873
16956
|
},
|
|
16874
16957
|
{
|
|
16875
|
-
"name": "data-
|
|
16958
|
+
"name": "data-connector-line"
|
|
16876
16959
|
},
|
|
16877
16960
|
{
|
|
16878
|
-
"name": "data-
|
|
16961
|
+
"name": "data-edge-row"
|
|
16879
16962
|
},
|
|
16880
16963
|
{
|
|
16881
|
-
"name": "data-
|
|
16882
|
-
},
|
|
16883
|
-
{
|
|
16884
|
-
"name": "data-header"
|
|
16885
|
-
},
|
|
16886
|
-
{
|
|
16887
|
-
"name": "data-header-badges"
|
|
16888
|
-
},
|
|
16889
|
-
{
|
|
16890
|
-
"name": "data-header-text"
|
|
16891
|
-
},
|
|
16892
|
-
{
|
|
16893
|
-
"name": "data-lane-meta"
|
|
16894
|
-
},
|
|
16895
|
-
{
|
|
16896
|
-
"name": "data-lane-title"
|
|
16897
|
-
},
|
|
16898
|
-
{
|
|
16899
|
-
"name": "data-legend"
|
|
16900
|
-
},
|
|
16901
|
-
{
|
|
16902
|
-
"name": "data-legend-item"
|
|
16903
|
-
},
|
|
16904
|
-
{
|
|
16905
|
-
"name": "data-legend-items"
|
|
16906
|
-
},
|
|
16907
|
-
{
|
|
16908
|
-
"name": "data-legend-section"
|
|
16909
|
-
},
|
|
16910
|
-
{
|
|
16911
|
-
"name": "data-line-swatch"
|
|
16912
|
-
},
|
|
16913
|
-
{
|
|
16914
|
-
"name": "data-map-title"
|
|
16915
|
-
},
|
|
16916
|
-
{
|
|
16917
|
-
"name": "data-node-description"
|
|
16964
|
+
"name": "data-empty"
|
|
16918
16965
|
},
|
|
16919
16966
|
{
|
|
16920
|
-
"name": "data-
|
|
16967
|
+
"name": "data-focused"
|
|
16921
16968
|
},
|
|
16922
16969
|
{
|
|
16923
|
-
"name": "data-node
|
|
16970
|
+
"name": "data-node"
|
|
16924
16971
|
},
|
|
16925
16972
|
{
|
|
16926
|
-
"name": "data-
|
|
16973
|
+
"name": "data-node-helper"
|
|
16927
16974
|
},
|
|
16928
16975
|
{
|
|
16929
|
-
"name": "data-
|
|
16976
|
+
"name": "data-node-name"
|
|
16930
16977
|
},
|
|
16931
16978
|
{
|
|
16932
|
-
"name": "data-
|
|
16979
|
+
"name": "data-orphans"
|
|
16933
16980
|
},
|
|
16934
16981
|
{
|
|
16935
16982
|
"name": "data-system-map"
|
|
16936
|
-
},
|
|
16937
|
-
{
|
|
16938
|
-
"name": "data-thumbnail-object"
|
|
16939
16983
|
}
|
|
16940
16984
|
],
|
|
16941
16985
|
"example": "<SystemMap>Content</SystemMap>"
|
|
@@ -17391,8 +17435,7 @@
|
|
|
17391
17435
|
},
|
|
17392
17436
|
"blendMode": {
|
|
17393
17437
|
"type": "BlendMode",
|
|
17394
|
-
"required": false
|
|
17395
|
-
"default": "'screen'"
|
|
17438
|
+
"required": false
|
|
17396
17439
|
},
|
|
17397
17440
|
"children": {
|
|
17398
17441
|
"type": "Snippet",
|
|
@@ -22154,7 +22197,7 @@
|
|
|
22154
22197
|
},
|
|
22155
22198
|
"simple-content-page": {
|
|
22156
22199
|
"name": "simple-content-page",
|
|
22157
|
-
"description": "Clean content page with constrained width and vertical rhythm. Use Container for max-width and
|
|
22200
|
+
"description": "Clean content page with constrained width and vertical rhythm. Use Container for max-width and CSS grid for vertical spacing. Suitable for blog posts, documentation, settings pages.",
|
|
22158
22201
|
"tags": [
|
|
22159
22202
|
"page",
|
|
22160
22203
|
"content",
|
package/dist/workspace-audit.js
CHANGED
|
@@ -1607,12 +1607,23 @@ function installCommand(packageManager) {
|
|
|
1607
1607
|
return "npm install @dryui/ui";
|
|
1608
1608
|
}
|
|
1609
1609
|
}
|
|
1610
|
+
function buildThemeImportLines(spec) {
|
|
1611
|
+
return ` import '${spec.themeImports.default}';
|
|
1612
|
+
import '${spec.themeImports.dark}';`;
|
|
1613
|
+
}
|
|
1610
1614
|
function buildThemeImportSnippet(spec) {
|
|
1615
|
+
return ["<script>", buildThemeImportLines(spec), "</script>"].join(`
|
|
1616
|
+
`);
|
|
1617
|
+
}
|
|
1618
|
+
function buildRootLayoutSnippet(spec) {
|
|
1611
1619
|
return [
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
"
|
|
1620
|
+
"<script>",
|
|
1621
|
+
buildThemeImportLines(spec),
|
|
1622
|
+
"",
|
|
1623
|
+
" let { children } = $props();",
|
|
1624
|
+
"</script>",
|
|
1625
|
+
"",
|
|
1626
|
+
"{@render children()}"
|
|
1616
1627
|
].join(`
|
|
1617
1628
|
`);
|
|
1618
1629
|
}
|
|
@@ -1720,7 +1731,7 @@ function planInstall(spec, inputPath) {
|
|
|
1720
1731
|
kind: "edit-file",
|
|
1721
1732
|
status: "pending",
|
|
1722
1733
|
title: "Add theme imports to app.css",
|
|
1723
|
-
description: "
|
|
1734
|
+
description: "Prepend the two @import lines from the snippet to the TOP of the existing src/app.css file, before any other CSS rules. Do not create a second file.",
|
|
1724
1735
|
path: detection.files.appCss,
|
|
1725
1736
|
snippet: buildThemeImportCssSnippet(spec)
|
|
1726
1737
|
});
|
|
@@ -1730,16 +1741,16 @@ function planInstall(spec, inputPath) {
|
|
|
1730
1741
|
kind: "create-file",
|
|
1731
1742
|
status: "pending",
|
|
1732
1743
|
title: "Create root layout with theme imports",
|
|
1733
|
-
description: "Create
|
|
1744
|
+
description: "Create the file at the path below with the snippet as its full content. The file must include {@render children()} or pages will not render.",
|
|
1734
1745
|
...path ? { path } : {},
|
|
1735
|
-
snippet:
|
|
1746
|
+
snippet: buildRootLayoutSnippet(spec)
|
|
1736
1747
|
});
|
|
1737
1748
|
} else {
|
|
1738
1749
|
steps.push({
|
|
1739
1750
|
kind: "edit-file",
|
|
1740
1751
|
status: "pending",
|
|
1741
1752
|
title: "Add theme imports to the root layout",
|
|
1742
|
-
description: "
|
|
1753
|
+
description: "Add the two import lines from the snippet into the EXISTING <script> block in this file. Do not create a second <script> block. If no <script> block exists, add one at the top of the file.",
|
|
1743
1754
|
path: detection.files.rootLayout,
|
|
1744
1755
|
snippet: buildThemeImportSnippet(spec)
|
|
1745
1756
|
});
|
|
@@ -1757,9 +1768,9 @@ function planInstall(spec, inputPath) {
|
|
|
1757
1768
|
kind: "edit-file",
|
|
1758
1769
|
status: "pending",
|
|
1759
1770
|
title: "Set html theme mode to auto",
|
|
1760
|
-
description: '
|
|
1771
|
+
description: 'In src/app.html, find the opening <html> tag (e.g. <html lang="en">) and add class="theme-auto" to it, preserving any existing attributes. Result should be like <html lang="en" class="theme-auto">. Do NOT add a second <html> element.',
|
|
1761
1772
|
path: detection.files.appHtml,
|
|
1762
|
-
snippet: '<html class="theme-auto">'
|
|
1773
|
+
snippet: '<html lang="en" class="theme-auto">'
|
|
1763
1774
|
});
|
|
1764
1775
|
}
|
|
1765
1776
|
if (steps.length === 0) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dryui/mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"author": "Rob Balfre",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -71,9 +71,6 @@
|
|
|
71
71
|
"files": [
|
|
72
72
|
"dist"
|
|
73
73
|
],
|
|
74
|
-
"publishConfig": {
|
|
75
|
-
"access": "public"
|
|
76
|
-
},
|
|
77
74
|
"scripts": {
|
|
78
75
|
"generate-spec": "bun src/generate-spec.ts",
|
|
79
76
|
"generate-architecture": "bun src/generate-architecture.ts",
|
|
@@ -81,7 +78,7 @@
|
|
|
81
78
|
"generate-llms": "bun src/generate-llms-txt.ts",
|
|
82
79
|
"check:contract": "bun src/check-contract.ts",
|
|
83
80
|
"check": "bun run check:contract",
|
|
84
|
-
"build": "bun run generate-spec && bun run generate-architecture && bun run generate-contract && bun run generate-llms && mkdir -p dist && cp src/spec.json dist/spec.json && cp src/architecture.json dist/architecture.json && cp src/contract.v1.json dist/contract.v1.json && cp src/contract.v1.schema.json dist/contract.v1.schema.json && bun build src/index.ts src/architecture.ts src/reviewer.ts src/theme-checker.ts src/utils.ts src/project-planner.ts src/workspace-audit.ts src/spec-types.ts src/spec-formatters.ts src/composition-data.ts --outdir dist --root src --target node && bunx tsc -p tsconfig.build.json"
|
|
81
|
+
"build": "bun run generate-spec && bun run generate-architecture && bun run generate-contract && bun run generate-llms && mkdir -p dist && cp src/spec.json dist/spec.json && cp src/architecture.json dist/architecture.json && cp src/contract.v1.json dist/contract.v1.json && cp src/contract.v1.schema.json dist/contract.v1.schema.json && bun build src/index.ts src/architecture.ts src/reviewer.ts src/theme-checker.ts src/utils.ts src/project-planner.ts src/workspace-audit.ts src/spec-types.ts src/spec-formatters.ts src/composition-data.ts --outdir dist --root src --target node && printf '#!/usr/bin/env node\n' | cat - dist/index.js > dist/index.tmp && mv dist/index.tmp dist/index.js && bunx tsc -p tsconfig.build.json"
|
|
85
82
|
},
|
|
86
83
|
"dependencies": {
|
|
87
84
|
"@modelcontextprotocol/sdk": "^1.29.0",
|