@dryui/cli 0.1.1 → 0.1.2

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.
Files changed (2) hide show
  1. package/dist/index.js +177 -120
  2. package/package.json +2 -5
package/dist/index.js CHANGED
@@ -6518,7 +6518,7 @@ var require_dist = __commonJS((exports, module) => {
6518
6518
  // package.json
6519
6519
  var package_default = {
6520
6520
  name: "@dryui/cli",
6521
- version: "0.1.1",
6521
+ version: "0.1.2",
6522
6522
  author: "Rob Balfre",
6523
6523
  license: "MIT",
6524
6524
  repository: {
@@ -6545,7 +6545,7 @@ var package_default = {
6545
6545
  },
6546
6546
  dependencies: {
6547
6547
  "@dryui/feedback-server": "^0.1.0",
6548
- "@dryui/mcp": "^0.1.0"
6548
+ "@dryui/mcp": "^0.1.3"
6549
6549
  },
6550
6550
  devDependencies: {
6551
6551
  "@types/node": "^25.5.0",
@@ -6554,7 +6554,7 @@ var package_default = {
6554
6554
  };
6555
6555
  // ../mcp/src/spec.json
6556
6556
  var spec_default = {
6557
- version: "0.1.1",
6557
+ version: "0.1.5",
6558
6558
  package: "@dryui/ui",
6559
6559
  themeImports: {
6560
6560
  default: "@dryui/ui/themes/default.css",
@@ -6728,6 +6728,12 @@ var spec_default = {
6728
6728
  name: "data-disabled",
6729
6729
  description: "Present when the component or part is disabled."
6730
6730
  },
6731
+ {
6732
+ name: "data-group-orientation"
6733
+ },
6734
+ {
6735
+ name: "data-in-group"
6736
+ },
6731
6737
  {
6732
6738
  name: "data-size"
6733
6739
  },
@@ -7453,6 +7459,13 @@ var spec_default = {
7453
7459
  ]
7454
7460
  },
7455
7461
  cssVars: {
7462
+ "--dry-btn-accent": "Accent",
7463
+ "--dry-btn-accent-active": "Accent Active",
7464
+ "--dry-btn-accent-fg": "Accent Fg",
7465
+ "--dry-btn-accent-hover": "Accent Hover",
7466
+ "--dry-btn-accent-stroke": "Accent Stroke",
7467
+ "--dry-btn-border": "Border color",
7468
+ "--dry-btn-on-accent": "On Accent",
7456
7469
  "--dry-dialog-bg": "Background color",
7457
7470
  "--dry-dialog-border": "Border color",
7458
7471
  "--dry-dialog-max-width": "Maximum width",
@@ -8536,6 +8549,9 @@ var spec_default = {
8536
8549
  name: "data-disabled",
8537
8550
  description: "Present when the component or part is disabled."
8538
8551
  },
8552
+ {
8553
+ name: "data-indicator"
8554
+ },
8539
8555
  {
8540
8556
  name: "data-orientation",
8541
8557
  description: "Reflects the current horizontal or vertical orientation.",
@@ -8671,6 +8687,9 @@ var spec_default = {
8671
8687
  name: "data-disabled",
8672
8688
  description: "Present when the component or part is disabled."
8673
8689
  },
8690
+ {
8691
+ name: "data-indicator"
8692
+ },
8674
8693
  {
8675
8694
  name: "data-state",
8676
8695
  description: "Reflects whether the collapsible content is expanded or collapsed.",
@@ -9074,8 +9093,7 @@ var spec_default = {
9074
9093
  ]
9075
9094
  },
9076
9095
  cssVars: {
9077
- "--dry-field-gap": "Gap spacing",
9078
- "--dry-field-label-order": "Label Order"
9096
+ "--dry-field-gap": "Gap spacing"
9079
9097
  },
9080
9098
  dataAttributes: [
9081
9099
  {
@@ -9848,6 +9866,9 @@ var spec_default = {
9848
9866
  name: "data-disabled",
9849
9867
  description: "Present when the component or part is disabled."
9850
9868
  },
9869
+ {
9870
+ name: "data-indicator"
9871
+ },
9851
9872
  {
9852
9873
  name: "data-invalid",
9853
9874
  description: "Present when the current field value is invalid."
@@ -10971,9 +10992,6 @@ var spec_default = {
10971
10992
  name: "data-disabled",
10972
10993
  description: "Present when the component or part is disabled."
10973
10994
  },
10974
- {
10975
- name: "data-option-swatch-group-content"
10976
- },
10977
10995
  {
10978
10996
  name: "data-option-swatch-group-item"
10979
10997
  },
@@ -11448,6 +11466,9 @@ var spec_default = {
11448
11466
  },
11449
11467
  {
11450
11468
  name: "data-tabs-trigger"
11469
+ },
11470
+ {
11471
+ name: "data-tabs-trigger-content"
11451
11472
  }
11452
11473
  ],
11453
11474
  example: `<Tabs.Root bind:value={activeTab}>
@@ -14626,11 +14647,11 @@ var spec_default = {
14626
14647
  tree: [
14627
14648
  "Timeline.Root",
14628
14649
  " Timeline.Item",
14629
- " Timeline.Icon",
14630
- " Timeline.Content",
14631
- " Timeline.Title",
14632
- " Timeline.Description",
14633
- " Timeline.Time"
14650
+ " Timeline.Icon",
14651
+ " Timeline.Content",
14652
+ " Timeline.Title",
14653
+ " Timeline.Description",
14654
+ " Timeline.Time"
14634
14655
  ]
14635
14656
  },
14636
14657
  cssVars: {
@@ -14668,12 +14689,14 @@ var spec_default = {
14668
14689
  }
14669
14690
  ],
14670
14691
  example: `<Timeline.Root>
14671
- <Timeline.Item>...</Timeline.Item>
14672
- <Timeline.Icon>...</Timeline.Icon>
14673
- <Timeline.Content>...</Timeline.Content>
14674
- <Timeline.Title>...</Timeline.Title>
14675
- <Timeline.Description>...</Timeline.Description>
14676
- <Timeline.Time>...</Timeline.Time>
14692
+ <Timeline.Item>
14693
+ <Timeline.Icon />
14694
+ <Timeline.Content>
14695
+ <Timeline.Title>Event title</Timeline.Title>
14696
+ <Timeline.Description>Event description</Timeline.Description>
14697
+ <Timeline.Time>2 hours ago</Timeline.Time>
14698
+ </Timeline.Content>
14699
+ </Timeline.Item>
14677
14700
  </Timeline.Root>`
14678
14701
  },
14679
14702
  Typography: {
@@ -16372,6 +16395,7 @@ var spec_default = {
16372
16395
  ]
16373
16396
  },
16374
16397
  cssVars: {
16398
+ "--dry-calendar-grid-gap": "Grid Gap",
16375
16399
  "--dry-dp-bg": "Background color",
16376
16400
  "--dry-dp-border": "Border color",
16377
16401
  "--dry-dp-font-size": "Font size",
@@ -16379,9 +16403,33 @@ var spec_default = {
16379
16403
  "--dry-dp-padding-y": "Vertical padding"
16380
16404
  },
16381
16405
  dataAttributes: [
16406
+ {
16407
+ name: "data-calendar-cell"
16408
+ },
16409
+ {
16410
+ name: "data-calendar-columnheader"
16411
+ },
16382
16412
  {
16383
16413
  name: "data-calendar-day"
16384
16414
  },
16415
+ {
16416
+ name: "data-calendar-day-button"
16417
+ },
16418
+ {
16419
+ name: "data-calendar-header"
16420
+ },
16421
+ {
16422
+ name: "data-calendar-heading"
16423
+ },
16424
+ {
16425
+ name: "data-calendar-nav"
16426
+ },
16427
+ {
16428
+ name: "data-calendar-panel"
16429
+ },
16430
+ {
16431
+ name: "data-calendar-row"
16432
+ },
16385
16433
  {
16386
16434
  name: "data-disabled",
16387
16435
  description: "Present when the component or part is disabled."
@@ -16395,6 +16443,9 @@ var spec_default = {
16395
16443
  {
16396
16444
  name: "data-dp-trigger"
16397
16445
  },
16446
+ {
16447
+ name: "data-indicator"
16448
+ },
16398
16449
  {
16399
16450
  name: "data-invalid",
16400
16451
  description: "Present when the current field value is invalid."
@@ -16858,9 +16909,33 @@ var spec_default = {
16858
16909
  },
16859
16910
  cssVars: {},
16860
16911
  dataAttributes: [
16912
+ {
16913
+ name: "data-calendar-cell"
16914
+ },
16915
+ {
16916
+ name: "data-calendar-columnheader"
16917
+ },
16861
16918
  {
16862
16919
  name: "data-calendar-day"
16863
16920
  },
16921
+ {
16922
+ name: "data-calendar-day-button"
16923
+ },
16924
+ {
16925
+ name: "data-calendar-header"
16926
+ },
16927
+ {
16928
+ name: "data-calendar-heading"
16929
+ },
16930
+ {
16931
+ name: "data-calendar-nav"
16932
+ },
16933
+ {
16934
+ name: "data-calendar-panel"
16935
+ },
16936
+ {
16937
+ name: "data-calendar-row"
16938
+ },
16864
16939
  {
16865
16940
  name: "data-disabled",
16866
16941
  description: "Present when the component or part is disabled."
@@ -16874,15 +16949,15 @@ var spec_default = {
16874
16949
  {
16875
16950
  name: "data-drp-preset"
16876
16951
  },
16877
- {
16878
- name: "data-drp-root"
16879
- },
16880
16952
  {
16881
16953
  name: "data-drp-trigger"
16882
16954
  },
16883
16955
  {
16884
16956
  name: "data-in-range"
16885
16957
  },
16958
+ {
16959
+ name: "data-indicator"
16960
+ },
16886
16961
  {
16887
16962
  name: "data-outside-month"
16888
16963
  },
@@ -17416,8 +17491,14 @@ var spec_default = {
17416
17491
  "--dry-range-calendar-day-hover-bg": "Calendar Day Hover Bg",
17417
17492
  "--dry-range-calendar-day-radius": "Calendar Day Radius",
17418
17493
  "--dry-range-calendar-day-size": "Calendar Day Size",
17494
+ "--dry-range-calendar-heading-color": "Calendar Heading Color",
17495
+ "--dry-range-calendar-nav-bg": "Calendar Nav Bg",
17496
+ "--dry-range-calendar-nav-border": "Calendar Nav Border",
17497
+ "--dry-range-calendar-nav-color": "Calendar Nav Color",
17419
17498
  "--dry-range-calendar-outside-color": "Calendar Outside Color",
17420
17499
  "--dry-range-calendar-padding": "Calendar Padding",
17500
+ "--dry-range-calendar-panel-bg": "Calendar Panel Bg",
17501
+ "--dry-range-calendar-panel-border": "Calendar Panel Border",
17421
17502
  "--dry-range-calendar-radius": "Calendar Radius",
17422
17503
  "--dry-range-calendar-range-bg": "Calendar Range Bg",
17423
17504
  "--dry-range-calendar-selected-bg": "Calendar Selected Bg",
@@ -17427,12 +17508,33 @@ var spec_default = {
17427
17508
  "--dry-range-calendar-today-color": "Calendar Today Color"
17428
17509
  },
17429
17510
  dataAttributes: [
17511
+ {
17512
+ name: "data-calendar-cell"
17513
+ },
17514
+ {
17515
+ name: "data-calendar-columnheader"
17516
+ },
17430
17517
  {
17431
17518
  name: "data-calendar-day"
17432
17519
  },
17520
+ {
17521
+ name: "data-calendar-day-button"
17522
+ },
17433
17523
  {
17434
17524
  name: "data-calendar-header"
17435
17525
  },
17526
+ {
17527
+ name: "data-calendar-heading"
17528
+ },
17529
+ {
17530
+ name: "data-calendar-nav"
17531
+ },
17532
+ {
17533
+ name: "data-calendar-panel"
17534
+ },
17535
+ {
17536
+ name: "data-calendar-row"
17537
+ },
17436
17538
  {
17437
17539
  name: "data-disabled",
17438
17540
  description: "Present when the component or part is disabled."
@@ -17455,10 +17557,6 @@ var spec_default = {
17455
17557
  {
17456
17558
  name: "data-range-start"
17457
17559
  },
17458
- {
17459
- name: "data-selected",
17460
- description: "Present when the current item is selected."
17461
- },
17462
17560
  {
17463
17561
  name: "data-today"
17464
17562
  }
@@ -17807,6 +17905,7 @@ var spec_default = {
17807
17905
  },
17808
17906
  cssVars: {
17809
17907
  "--dry-tags-input-font-size": "Input Font Size",
17908
+ "--dry-tags-input-gap": "Input Gap",
17810
17909
  "--dry-tags-input-tag-font-size": "Input Tag Font Size",
17811
17910
  "--dry-tags-input-tag-padding-x": "Input Tag Padding X"
17812
17911
  },
@@ -18078,9 +18177,6 @@ var spec_default = {
18078
18177
  {
18079
18178
  name: "data-dragging"
18080
18179
  },
18081
- {
18082
- name: "data-file-upload"
18083
- },
18084
18180
  {
18085
18181
  name: "data-fu-dropzone"
18086
18182
  },
@@ -19313,6 +19409,7 @@ var spec_default = {
19313
19409
  "--dry-fab-color": "Text color",
19314
19410
  "--dry-fab-gap": "Gap spacing",
19315
19411
  "--dry-fab-offset": "Offset",
19412
+ "--dry-fab-position": "Position",
19316
19413
  "--dry-fab-shadow": "Box shadow",
19317
19414
  "--dry-fab-z-index": "Z Index"
19318
19415
  },
@@ -19705,7 +19802,8 @@ var spec_default = {
19705
19802
  },
19706
19803
  overscan: {
19707
19804
  type: "number",
19708
- required: false
19805
+ required: false,
19806
+ default: "5"
19709
19807
  },
19710
19808
  children: {
19711
19809
  type: "Snippet<[{ item: T; index: number; style: string }]>",
@@ -20766,7 +20864,8 @@ var spec_default = {
20766
20864
  placeholder: {
20767
20865
  type: "string",
20768
20866
  required: false,
20769
- description: "Hint text shown when no value is selected or entered."
20867
+ description: "Hint text shown when no value is selected or entered.",
20868
+ default: "''"
20770
20869
  },
20771
20870
  readonly: {
20772
20871
  type: "boolean",
@@ -20852,8 +20951,20 @@ var spec_default = {
20852
20951
  {
20853
20952
  name: "data-part"
20854
20953
  },
20954
+ {
20955
+ name: "data-placeholder"
20956
+ },
20855
20957
  {
20856
20958
  name: "data-readonly"
20959
+ },
20960
+ {
20961
+ name: "data-rte-content"
20962
+ },
20963
+ {
20964
+ name: "data-rte-root"
20965
+ },
20966
+ {
20967
+ name: "data-rte-toolbar"
20857
20968
  }
20858
20969
  ],
20859
20970
  example: `<RichTextEditor.Root>
@@ -23746,18 +23857,6 @@ var spec_default = {
23746
23857
  "--dry-map-radius": "Border radius"
23747
23858
  },
23748
23859
  dataAttributes: [
23749
- {
23750
- name: "data-map-mapboxgl"
23751
- },
23752
- {
23753
- name: "data-map-maplibregl"
23754
- },
23755
- {
23756
- name: "data-map-marker"
23757
- },
23758
- {
23759
- name: "data-map-popup"
23760
- },
23761
23860
  {
23762
23861
  name: "data-map-root"
23763
23862
  },
@@ -23774,7 +23873,7 @@ var spec_default = {
23774
23873
  },
23775
23874
  SystemMap: {
23776
23875
  import: "@dryui/ui",
23777
- description: "Layered architecture diagram for DolphinGraph nodes, relationships, and audit signals",
23876
+ description: "Layered architecture diagram that visualizes component nodes, relationships, and dependency layers",
23778
23877
  category: "display",
23779
23878
  tags: [
23780
23879
  "diagram",
@@ -23845,92 +23944,40 @@ var spec_default = {
23845
23944
  ],
23846
23945
  note: "Forwards <div> attributes via rest props."
23847
23946
  },
23848
- cssVars: {
23849
- "--dry-system-map-bg": "Map Bg",
23850
- "--dry-system-map-border": "Map Border",
23851
- "--dry-system-map-shadow": "Map Shadow",
23852
- "--dry-system-map-surface": "Map Surface",
23853
- "--dry-system-map-text": "Map Text",
23854
- "--dry-system-map-text-muted": "Map Text Muted"
23855
- },
23947
+ cssVars: {},
23856
23948
  dataAttributes: [
23857
23949
  {
23858
- name: "data-canvas-shell"
23950
+ name: "data-connector"
23859
23951
  },
23860
23952
  {
23861
- name: "data-dashed"
23953
+ name: "data-connector-label"
23862
23954
  },
23863
23955
  {
23864
- name: "data-edge-label"
23956
+ name: "data-connector-line"
23865
23957
  },
23866
23958
  {
23867
- name: "data-empty-hint"
23959
+ name: "data-edge-row"
23868
23960
  },
23869
23961
  {
23870
- name: "data-empty-label"
23871
- },
23872
- {
23873
- name: "data-eyebrow"
23874
- },
23875
- {
23876
- name: "data-group-label"
23877
- },
23878
- {
23879
- name: "data-header"
23880
- },
23881
- {
23882
- name: "data-header-badges"
23883
- },
23884
- {
23885
- name: "data-header-text"
23886
- },
23887
- {
23888
- name: "data-lane-meta"
23889
- },
23890
- {
23891
- name: "data-lane-title"
23892
- },
23893
- {
23894
- name: "data-legend"
23895
- },
23896
- {
23897
- name: "data-legend-item"
23898
- },
23899
- {
23900
- name: "data-legend-items"
23901
- },
23902
- {
23903
- name: "data-legend-section"
23904
- },
23905
- {
23906
- name: "data-line-swatch"
23907
- },
23908
- {
23909
- name: "data-map-title"
23910
- },
23911
- {
23912
- name: "data-node-description"
23962
+ name: "data-empty"
23913
23963
  },
23914
23964
  {
23915
- name: "data-node-label"
23965
+ name: "data-focused"
23916
23966
  },
23917
23967
  {
23918
- name: "data-node-meta"
23968
+ name: "data-node"
23919
23969
  },
23920
23970
  {
23921
- name: "data-summary"
23971
+ name: "data-node-helper"
23922
23972
  },
23923
23973
  {
23924
- name: "data-svg"
23974
+ name: "data-node-name"
23925
23975
  },
23926
23976
  {
23927
- name: "data-swatch"
23977
+ name: "data-orphans"
23928
23978
  },
23929
23979
  {
23930
23980
  name: "data-system-map"
23931
- },
23932
- {
23933
- name: "data-thumbnail-object"
23934
23981
  }
23935
23982
  ],
23936
23983
  example: "<SystemMap>Content</SystemMap>"
@@ -24386,8 +24433,7 @@ var spec_default = {
24386
24433
  },
24387
24434
  blendMode: {
24388
24435
  type: "BlendMode",
24389
- required: false,
24390
- default: "'screen'"
24436
+ required: false
24391
24437
  },
24392
24438
  children: {
24393
24439
  type: "Snippet",
@@ -29995,7 +30041,7 @@ body { margin: 0; min-height: 100dvh; }
29995
30041
  },
29996
30042
  "simple-content-page": {
29997
30043
  name: "simple-content-page",
29998
- description: "Clean content page with constrained width and vertical rhythm. Use Container for max-width and Stack for vertical spacing. Suitable for blog posts, documentation, settings pages.",
30044
+ 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.",
29999
30045
  tags: [
30000
30046
  "page",
30001
30047
  "content",
@@ -32235,12 +32281,23 @@ function installCommand(packageManager) {
32235
32281
  return "npm install @dryui/ui";
32236
32282
  }
32237
32283
  }
32284
+ function buildThemeImportLines(spec) {
32285
+ return ` import '${spec.themeImports.default}';
32286
+ import '${spec.themeImports.dark}';`;
32287
+ }
32238
32288
  function buildThemeImportSnippet(spec) {
32289
+ return ["<script>", buildThemeImportLines(spec), "</script>"].join(`
32290
+ `);
32291
+ }
32292
+ function buildRootLayoutSnippet(spec) {
32239
32293
  return [
32240
- '<script lang="ts">',
32241
- ` import '${spec.themeImports.default}';`,
32242
- ` import '${spec.themeImports.dark}';`,
32243
- "</script>"
32294
+ "<script>",
32295
+ buildThemeImportLines(spec),
32296
+ "",
32297
+ " let { children } = $props();",
32298
+ "</script>",
32299
+ "",
32300
+ "{@render children()}"
32244
32301
  ].join(`
32245
32302
  `);
32246
32303
  }
@@ -32348,7 +32405,7 @@ function planInstall(spec, inputPath) {
32348
32405
  kind: "edit-file",
32349
32406
  status: "pending",
32350
32407
  title: "Add theme imports to app.css",
32351
- description: "Ensure the app-level stylesheet imports both default and dark DryUI themes.",
32408
+ 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.",
32352
32409
  path: detection.files.appCss,
32353
32410
  snippet: buildThemeImportCssSnippet(spec)
32354
32411
  });
@@ -32358,16 +32415,16 @@ function planInstall(spec, inputPath) {
32358
32415
  kind: "create-file",
32359
32416
  status: "pending",
32360
32417
  title: "Create root layout with theme imports",
32361
- description: "Create src/routes/+layout.svelte and add the required DryUI theme imports.",
32418
+ 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.",
32362
32419
  ...path ? { path } : {},
32363
- snippet: buildThemeImportSnippet(spec)
32420
+ snippet: buildRootLayoutSnippet(spec)
32364
32421
  });
32365
32422
  } else {
32366
32423
  steps.push({
32367
32424
  kind: "edit-file",
32368
32425
  status: "pending",
32369
32426
  title: "Add theme imports to the root layout",
32370
- description: "Ensure the root layout imports both default and dark DryUI themes.",
32427
+ 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.",
32371
32428
  path: detection.files.rootLayout,
32372
32429
  snippet: buildThemeImportSnippet(spec)
32373
32430
  });
@@ -32385,9 +32442,9 @@ function planInstall(spec, inputPath) {
32385
32442
  kind: "edit-file",
32386
32443
  status: "pending",
32387
32444
  title: "Set html theme mode to auto",
32388
- description: 'Add class="theme-auto" to the html element in src/app.html.',
32445
+ 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.',
32389
32446
  path: detection.files.appHtml,
32390
- snippet: '<html class="theme-auto">'
32447
+ snippet: '<html lang="en" class="theme-auto">'
32391
32448
  });
32392
32449
  }
32393
32450
  if (steps.length === 0) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dryui/cli",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "author": "Rob Balfre",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -16,9 +16,6 @@
16
16
  "files": [
17
17
  "dist"
18
18
  ],
19
- "publishConfig": {
20
- "access": "public"
21
- },
22
19
  "bin": {
23
20
  "dryui": "./dist/index.js"
24
21
  },
@@ -27,7 +24,7 @@
27
24
  },
28
25
  "dependencies": {
29
26
  "@dryui/feedback-server": "^0.1.0",
30
- "@dryui/mcp": "^0.1.0"
27
+ "@dryui/mcp": "^0.1.3"
31
28
  },
32
29
  "devDependencies": {
33
30
  "@types/node": "^25.5.0",