@pure-ds/core 0.6.9 → 0.6.11

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 (90) hide show
  1. package/custom-elements.json +865 -35
  2. package/dist/types/pds.d.ts +31 -0
  3. package/dist/types/public/assets/js/pds-manager.d.ts +100 -2
  4. package/dist/types/public/assets/js/pds-manager.d.ts.map +1 -1
  5. package/dist/types/public/assets/js/pds.d.ts.map +1 -1
  6. package/dist/types/public/assets/pds/components/pds-form.d.ts.map +1 -1
  7. package/dist/types/public/assets/pds/components/pds-live-converter.d.ts +8 -0
  8. package/dist/types/public/assets/pds/components/pds-live-converter.d.ts.map +1 -0
  9. package/dist/types/public/assets/pds/components/pds-live-edit.d.ts +1 -195
  10. package/dist/types/public/assets/pds/components/pds-live-edit.d.ts.map +1 -1
  11. package/dist/types/public/assets/pds/components/pds-live-importer.d.ts +2 -0
  12. package/dist/types/public/assets/pds/components/pds-live-importer.d.ts.map +1 -0
  13. package/dist/types/public/assets/pds/components/pds-live-template-canvas.d.ts +2 -0
  14. package/dist/types/public/assets/pds/components/pds-live-template-canvas.d.ts.map +1 -0
  15. package/dist/types/public/assets/pds/components/pds-omnibox.d.ts +0 -2
  16. package/dist/types/public/assets/pds/components/pds-omnibox.d.ts.map +1 -1
  17. package/dist/types/public/assets/pds/components/pds-scrollrow.d.ts +20 -0
  18. package/dist/types/public/assets/pds/components/pds-scrollrow.d.ts.map +1 -1
  19. package/dist/types/public/assets/pds/components/pds-toaster.d.ts +1 -1
  20. package/dist/types/public/assets/pds/components/pds-toaster.d.ts.map +1 -1
  21. package/dist/types/public/assets/pds/components/pds-treeview.d.ts +37 -0
  22. package/dist/types/public/assets/pds/components/pds-treeview.d.ts.map +1 -0
  23. package/dist/types/src/js/common/toast.d.ts +8 -0
  24. package/dist/types/src/js/common/toast.d.ts.map +1 -1
  25. package/dist/types/src/js/pds-core/pds-config.d.ts +1306 -13
  26. package/dist/types/src/js/pds-core/pds-config.d.ts.map +1 -1
  27. package/dist/types/src/js/pds-core/pds-enhancers-meta.d.ts.map +1 -1
  28. package/dist/types/src/js/pds-core/pds-enhancers.d.ts.map +1 -1
  29. package/dist/types/src/js/pds-core/pds-generator.d.ts.map +1 -1
  30. package/dist/types/src/js/pds-core/pds-live.d.ts +2 -1
  31. package/dist/types/src/js/pds-core/pds-live.d.ts.map +1 -1
  32. package/dist/types/src/js/pds-core/pds-ontology.d.ts.map +1 -1
  33. package/dist/types/src/js/pds-core/pds-start-helpers.d.ts +1 -4
  34. package/dist/types/src/js/pds-core/pds-start-helpers.d.ts.map +1 -1
  35. package/dist/types/src/js/pds-live-manager/conversion-service.d.ts +66 -0
  36. package/dist/types/src/js/pds-live-manager/conversion-service.d.ts.map +1 -0
  37. package/dist/types/src/js/pds-live-manager/import-contract.d.ts +15 -0
  38. package/dist/types/src/js/pds-live-manager/import-contract.d.ts.map +1 -0
  39. package/dist/types/src/js/pds-live-manager/import-history-service.d.ts +32 -0
  40. package/dist/types/src/js/pds-live-manager/import-history-service.d.ts.map +1 -0
  41. package/dist/types/src/js/pds-live-manager/import-service.d.ts +21 -0
  42. package/dist/types/src/js/pds-live-manager/import-service.d.ts.map +1 -0
  43. package/dist/types/src/js/pds-live-manager/template-service.d.ts +17 -0
  44. package/dist/types/src/js/pds-live-manager/template-service.d.ts.map +1 -0
  45. package/dist/types/src/js/pds-manager.d.ts +4 -0
  46. package/dist/types/src/js/pds.d.ts.map +1 -1
  47. package/package.json +7 -3
  48. package/packages/pds-cli/README.md +51 -0
  49. package/packages/pds-cli/bin/pds-import.js +176 -0
  50. package/packages/pds-cli/bin/pds-static.js +31 -1
  51. package/packages/pds-cli/bin/postinstall.mjs +17 -8
  52. package/public/assets/js/app.js +23 -147
  53. package/public/assets/js/pds-manager.js +481 -248
  54. package/public/assets/js/pds.js +16 -16
  55. package/public/assets/pds/components/pds-form.js +124 -27
  56. package/public/assets/pds/components/pds-live-converter.js +47 -0
  57. package/public/assets/pds/components/pds-live-edit.js +1626 -211
  58. package/public/assets/pds/components/pds-live-importer.js +772 -0
  59. package/public/assets/pds/components/pds-live-template-canvas.js +171 -0
  60. package/public/assets/pds/components/pds-omnibox.js +146 -20
  61. package/public/assets/pds/components/pds-scrollrow.js +56 -1
  62. package/public/assets/pds/components/pds-toaster.js +50 -5
  63. package/public/assets/pds/components/pds-treeview.js +972 -0
  64. package/public/assets/pds/custom-elements.json +865 -35
  65. package/public/assets/pds/pds-css-complete.json +7 -7
  66. package/public/assets/pds/pds.css-data.json +5 -35
  67. package/public/assets/pds/templates/commerce-scroll-explorer.html +115 -0
  68. package/public/assets/pds/templates/content-brand-showcase.html +110 -0
  69. package/public/assets/pds/templates/feedback-ops-dashboard.html +91 -0
  70. package/public/assets/pds/templates/release-readiness-radar.html +69 -0
  71. package/public/assets/pds/templates/support-command-center.html +92 -0
  72. package/public/assets/pds/templates/templates.json +53 -0
  73. package/public/assets/pds/templates/workspace-settings-lab.html +131 -0
  74. package/public/assets/pds/vscode-custom-data.json +54 -4
  75. package/readme.md +34 -0
  76. package/src/js/pds-core/pds-config.js +831 -40
  77. package/src/js/pds-core/pds-enhancers-meta.js +11 -0
  78. package/src/js/pds-core/pds-enhancers.js +259 -5
  79. package/src/js/pds-core/pds-generator.js +353 -52
  80. package/src/js/pds-core/pds-live.js +630 -15
  81. package/src/js/pds-core/pds-ontology.js +6 -0
  82. package/src/js/pds-core/pds-start-helpers.js +14 -6
  83. package/src/js/pds-live-manager/conversion-service.js +3136 -0
  84. package/src/js/pds-live-manager/import-contract.js +57 -0
  85. package/src/js/pds-live-manager/import-history-service.js +145 -0
  86. package/src/js/pds-live-manager/import-service.js +255 -0
  87. package/src/js/pds-live-manager/tailwind-conversion-rules.json +383 -0
  88. package/src/js/pds-live-manager/template-service.js +170 -0
  89. package/src/js/pds.d.ts +31 -0
  90. package/src/js/pds.js +71 -60
@@ -0,0 +1,53 @@
1
+ {
2
+ "version": "1",
3
+ "templates": [
4
+ {
5
+ "id": "commerce-scroll-explorer",
6
+ "name": "Commerce Scroll Explorer",
7
+ "description": "Product-focused canvas with pds-scrollrow, smart surfaces, border effects, dropdown actions, and interactive controls.",
8
+ "icon": "shopping-cart",
9
+ "file": "commerce-scroll-explorer.html",
10
+ "tags": ["scrollrow", "cards", "dropdown", "interactive", "border-effects", "surfaces"]
11
+ },
12
+ {
13
+ "id": "workspace-settings-lab",
14
+ "name": "Workspace Settings Lab",
15
+ "description": "Rich settings canvas with enhanced forms, toggles, accordion sections, and state-heavy controls for rapid theme/config evaluation.",
16
+ "icon": "gear",
17
+ "file": "workspace-settings-lab.html",
18
+ "tags": ["forms", "enhancements", "accordion", "states", "settings"]
19
+ },
20
+ {
21
+ "id": "content-brand-showcase",
22
+ "name": "Content & Brand Showcase",
23
+ "description": "Narrative layout with blockquotes, nested smart surfaces, dropdown panels, cards, and contrast-sensitive text hierarchy.",
24
+ "icon": "text-aa",
25
+ "file": "content-brand-showcase.html",
26
+ "tags": ["blockquote", "surfaces", "dropdown", "cards", "branding"]
27
+ },
28
+ {
29
+ "id": "feedback-ops-dashboard",
30
+ "name": "Feedback Ops Dashboard",
31
+ "description": "Monthly feedback operations layout with progress tracking, response coverage, theme summaries, and action-ready controls.",
32
+ "icon": "list",
33
+ "file": "feedback-ops-dashboard.html",
34
+ "tags": ["dashboard", "feedback", "progress", "kpi", "scrollrow", "cards"]
35
+ },
36
+ {
37
+ "id": "support-command-center",
38
+ "name": "Support Command Center",
39
+ "description": "Service desk dashboard with SLA progress, backlog pressure cards, throughput metrics, and escalation playbook sections.",
40
+ "icon": "gear",
41
+ "file": "support-command-center.html",
42
+ "tags": ["dashboard", "support", "sla", "operations", "accordion", "metrics"]
43
+ },
44
+ {
45
+ "id": "release-readiness-radar",
46
+ "name": "Release Readiness Radar",
47
+ "description": "Launch-readiness dashboard combining gate checks, risk pressure, deployment windows, and go/no-go action controls.",
48
+ "icon": "rocket",
49
+ "file": "release-readiness-radar.html",
50
+ "tags": ["dashboard", "release", "readiness", "risk", "kpi", "operations"]
51
+ }
52
+ ]
53
+ }
@@ -0,0 +1,131 @@
1
+ <section class="stack-lg" aria-label="Workspace Settings Lab">
2
+ <header class="card surface-elevated stack-sm">
3
+ <h2>Workspace Settings Lab</h2>
4
+ <p class="text-muted">Stress-test form controls, toggles, grouped settings, and responsive surfaces in one place.</p>
5
+ </header>
6
+
7
+ <section class="grid grid-auto-md gap-md">
8
+ <article class="card surface-base stack-sm border-gradient">
9
+ <h3>Profile form</h3>
10
+ <form data-required class="stack-sm">
11
+ <label>
12
+ <span data-label>Name</span>
13
+ <div class="input-icon">
14
+ <pds-icon icon="user"></pds-icon>
15
+ <input type="text" required placeholder="Alex Morgan" />
16
+ </div>
17
+ </label>
18
+ <label>
19
+ <span data-label>Email</span>
20
+ <div class="input-icon">
21
+ <pds-icon icon="envelope"></pds-icon>
22
+ <input type="email" required placeholder="alex@team.dev" />
23
+ </div>
24
+ </label>
25
+ <label>
26
+ <span data-label>Role</span>
27
+ <select>
28
+ <option>Designer</option>
29
+ <option>Developer</option>
30
+ <option>Product Manager</option>
31
+ </select>
32
+ </label>
33
+ <label>
34
+ <span data-label>Notes</span>
35
+ <textarea rows="3" placeholder="Context about this user profile..."></textarea>
36
+ </label>
37
+ <div class="flex gap-sm">
38
+ <button class="btn-primary" type="submit">Save</button>
39
+ <button class="btn-secondary" type="button">Cancel</button>
40
+ </div>
41
+ </form>
42
+ </article>
43
+
44
+ <article class="card surface-subtle stack-sm border-glow">
45
+ <h3>Notification panel (Dropdown)</h3>
46
+ <nav data-dropdown data-mode="auto">
47
+ <button class="btn-outline">Notification settings</button>
48
+ <div class="card surface-overlay grid grid-auto gap-sm">
49
+ <label data-toggle>
50
+ <input type="checkbox" checked />
51
+ <span data-label>Email alerts</span>
52
+ </label>
53
+ <label data-toggle>
54
+ <input type="checkbox" />
55
+ <span data-label>Slack alerts</span>
56
+ </label>
57
+ <label data-toggle>
58
+ <input type="checkbox" checked />
59
+ <span data-label>Weekly digest</span>
60
+ </label>
61
+ <div class="flex gap-sm">
62
+ <button class="btn-primary btn-sm">Apply</button>
63
+ <button class="btn-secondary btn-sm">Reset</button>
64
+ </div>
65
+ </div>
66
+ </nav>
67
+ <blockquote>
68
+ “Dropdown panels and toggle labels should remain readable under all palette combinations.”
69
+ </blockquote>
70
+ </article>
71
+ </section>
72
+
73
+ <section class="card surface-base stack-sm">
74
+ <h3>Settings sections (Accordion)</h3>
75
+ <section class="accordion" aria-label="Workspace settings groups">
76
+ <details open>
77
+ <summary id="settings-privacy">Privacy</summary>
78
+ <div role="region" aria-labelledby="settings-privacy" class="card stack-sm">
79
+ <label data-toggle>
80
+ <input type="checkbox" checked />
81
+ <span data-label>Require 2FA</span>
82
+ </label>
83
+ <label data-toggle>
84
+ <input type="checkbox" />
85
+ <span data-label>Mask sensitive fields</span>
86
+ </label>
87
+ </div>
88
+ </details>
89
+ <details>
90
+ <summary id="settings-appearance">Appearance</summary>
91
+ <div role="region" aria-labelledby="settings-appearance" class="card grid grid-cols-3 gap-sm">
92
+ <button class="btn-primary btn-sm">Primary</button>
93
+ <button class="btn-secondary btn-sm">Secondary</button>
94
+ <button class="btn-outline btn-sm">Outline</button>
95
+ </div>
96
+ </details>
97
+ <details>
98
+ <summary id="settings-audit">Audit & Activity</summary>
99
+ <div role="region" aria-labelledby="settings-audit" class="card stack-sm">
100
+ <article class="card surface-elevated stack-xs">
101
+ <strong>10:42</strong>
102
+ <small class="text-muted">Preset switched for review session.</small>
103
+ </article>
104
+ <article class="card surface-sunken stack-xs">
105
+ <strong>11:07</strong>
106
+ <small class="text-muted">Button radius and input spacing adjusted.</small>
107
+ </article>
108
+ </div>
109
+ </details>
110
+ </section>
111
+ </section>
112
+
113
+ <section class="grid grid-auto-sm gap-md">
114
+ <article class="card surface-elevated stack-sm">
115
+ <h4>State chip panel</h4>
116
+ <div class="flex gap-sm flex-wrap">
117
+ <span class="badge badge-primary">Primary</span>
118
+ <span class="badge badge-success">Success</span>
119
+ <span class="badge badge-warning">Warning</span>
120
+ <span class="badge badge-danger">Danger</span>
121
+ </div>
122
+ </article>
123
+ <article class="card surface-overlay stack-sm border-gradient">
124
+ <h4>Action states</h4>
125
+ <div class="flex gap-sm">
126
+ <button class="btn-primary btn-working" type="button">Saving</button>
127
+ <button class="btn-outline" type="button" disabled>Disabled</button>
128
+ </div>
129
+ </article>
130
+ </section>
131
+ </section>
@@ -689,10 +689,22 @@
689
689
  }
690
690
  ]
691
691
  },
692
+ {
693
+ "name": "COMPONENT_TAG",
694
+ "description": "PdsLiveConverter component"
695
+ },
692
696
  {
693
697
  "name": "EDITOR_TAG",
694
698
  "description": "PdsLiveEdit component"
695
699
  },
700
+ {
701
+ "name": "COMPONENT_TAG",
702
+ "description": "PdsLiveImporter component"
703
+ },
704
+ {
705
+ "name": "COMPONENT_TAG",
706
+ "description": "PdsLiveTemplateCanvas component"
707
+ },
696
708
  {
697
709
  "name": "pds-omnibox",
698
710
  "description": "PdsOmnibox component",
@@ -724,10 +736,6 @@
724
736
  {
725
737
  "name": "icon",
726
738
  "description": ""
727
- },
728
- {
729
- "name": "item-grid",
730
- "description": ""
731
739
  }
732
740
  ]
733
741
  },
@@ -792,6 +800,14 @@
792
800
  "name": "center"
793
801
  }
794
802
  ]
803
+ },
804
+ {
805
+ "name": "tile-min",
806
+ "description": "Minimum tile width (CSS length, e.g. \"250px\")"
807
+ },
808
+ {
809
+ "name": "tile-max",
810
+ "description": "Maximum tile width (CSS length, e.g. \"360px\")"
795
811
  }
796
812
  ]
797
813
  },
@@ -853,6 +869,40 @@
853
869
  "name": "pds-toaster",
854
870
  "description": "AppToaster component"
855
871
  },
872
+ {
873
+ "name": "pds-treeview",
874
+ "description": "PdsTreeview component",
875
+ "attributes": [
876
+ {
877
+ "name": "name",
878
+ "description": ""
879
+ },
880
+ {
881
+ "name": "value",
882
+ "description": ""
883
+ },
884
+ {
885
+ "name": "disabled",
886
+ "description": ""
887
+ },
888
+ {
889
+ "name": "required",
890
+ "description": ""
891
+ },
892
+ {
893
+ "name": "display-only",
894
+ "description": ""
895
+ },
896
+ {
897
+ "name": "expanded-all",
898
+ "description": ""
899
+ },
900
+ {
901
+ "name": "src",
902
+ "description": ""
903
+ }
904
+ ]
905
+ },
856
906
  {
857
907
  "name": "pds-upload",
858
908
  "description": "Drag-and-drop file uploader that participates in native forms.",
package/readme.md CHANGED
@@ -1513,6 +1513,40 @@ npm run pds:css-data # CSS token & class autocomplete
1513
1513
 
1514
1514
  See [INTELLISENSE.md](./INTELLISENSE.md) for setup instructions.
1515
1515
 
1516
+ ### Import External HTML / Styles (`pds-import`)
1517
+
1518
+ Use `pds-import` to run the same import pipeline used by live edit from CLI.
1519
+
1520
+ ```bash
1521
+ # 1) Convert HTML only (no style adoption)
1522
+ node packages/pds-cli/bin/pds-import.js \
1523
+ --type tailwind-html \
1524
+ --mode convert-only \
1525
+ --source ./input.html \
1526
+ --out ./out/import-result.json \
1527
+ --html-out ./out/import-result.html
1528
+
1529
+ # 2) Convert HTML + adopt inferred styles
1530
+ node packages/pds-cli/bin/pds-import.js \
1531
+ --type tailwind-html \
1532
+ --mode adopt-design-and-convert \
1533
+ --source ./input.html \
1534
+ --out ./out/adopt-result.json \
1535
+ --html-out ./out/adopt-result.html \
1536
+ --design-out ./out/adopt-design.json
1537
+ ```
1538
+
1539
+ **Modes**
1540
+ - `convert-only`: outputs converted template HTML only (no design patch application intent)
1541
+ - `adopt-design-and-convert`: outputs converted HTML plus inferred `designPatch`
1542
+
1543
+ **Where output goes**
1544
+ - `--out`: full import result JSON (required)
1545
+ - `--html-out`: writes `result.template.html` when present
1546
+ - `--design-out`: writes `result.designPatch` JSON
1547
+
1548
+ All paths are resolved from your current working directory, and directories are created automatically.
1549
+
1516
1550
  ### Configuration
1517
1551
 
1518
1552
  ```javascript