@pure-ds/core 0.3.0

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 (129) hide show
  1. package/CSS-INTELLISENSE-LIMITATION.md +98 -0
  2. package/CSS-INTELLISENSE-QUICK-REF.md +238 -0
  3. package/INTELLISENSE.md +384 -0
  4. package/LICENSE +15 -0
  5. package/custom-elements-manifest.config.js +30 -0
  6. package/custom-elements.json +2003 -0
  7. package/dist/types/index.d.ts +2 -0
  8. package/dist/types/packages/pds-configurator/src/figma-export.d.ts +13 -0
  9. package/dist/types/packages/pds-configurator/src/figma-export.d.ts.map +1 -0
  10. package/dist/types/packages/pds-configurator/src/pds-config-form.d.ts +2 -0
  11. package/dist/types/packages/pds-configurator/src/pds-config-form.d.ts.map +1 -0
  12. package/dist/types/packages/pds-configurator/src/pds-configurator.d.ts +2 -0
  13. package/dist/types/packages/pds-configurator/src/pds-configurator.d.ts.map +1 -0
  14. package/dist/types/packages/pds-configurator/src/pds-demo.d.ts +2 -0
  15. package/dist/types/packages/pds-configurator/src/pds-demo.d.ts.map +1 -0
  16. package/dist/types/pds.config.d.ts +13 -0
  17. package/dist/types/pds.config.d.ts.map +1 -0
  18. package/dist/types/pds.d.ts +408 -0
  19. package/dist/types/public/assets/js/app.d.ts +2 -0
  20. package/dist/types/public/assets/js/app.d.ts.map +1 -0
  21. package/dist/types/public/assets/js/pds.d.ts +23 -0
  22. package/dist/types/public/assets/js/pds.d.ts.map +1 -0
  23. package/dist/types/public/assets/pds/components/pds-calendar.d.ts +23 -0
  24. package/dist/types/public/assets/pds/components/pds-calendar.d.ts.map +1 -0
  25. package/dist/types/public/assets/pds/components/pds-drawer.d.ts +2 -0
  26. package/dist/types/public/assets/pds/components/pds-drawer.d.ts.map +1 -0
  27. package/dist/types/public/assets/pds/components/pds-icon.d.ts +53 -0
  28. package/dist/types/public/assets/pds/components/pds-icon.d.ts.map +1 -0
  29. package/dist/types/public/assets/pds/components/pds-jsonform.d.ts +104 -0
  30. package/dist/types/public/assets/pds/components/pds-jsonform.d.ts.map +1 -0
  31. package/dist/types/public/assets/pds/components/pds-richtext.d.ts +121 -0
  32. package/dist/types/public/assets/pds/components/pds-richtext.d.ts.map +1 -0
  33. package/dist/types/public/assets/pds/components/pds-scrollrow.d.ts +61 -0
  34. package/dist/types/public/assets/pds/components/pds-scrollrow.d.ts.map +1 -0
  35. package/dist/types/public/assets/pds/components/pds-splitpanel.d.ts +1 -0
  36. package/dist/types/public/assets/pds/components/pds-splitpanel.d.ts.map +1 -0
  37. package/dist/types/public/assets/pds/components/pds-tabstrip.d.ts +39 -0
  38. package/dist/types/public/assets/pds/components/pds-tabstrip.d.ts.map +1 -0
  39. package/dist/types/public/assets/pds/components/pds-toaster.d.ts +111 -0
  40. package/dist/types/public/assets/pds/components/pds-toaster.d.ts.map +1 -0
  41. package/dist/types/public/assets/pds/components/pds-upload.d.ts +83 -0
  42. package/dist/types/public/assets/pds/components/pds-upload.d.ts.map +1 -0
  43. package/dist/types/src/js/app.d.ts +2 -0
  44. package/dist/types/src/js/app.d.ts.map +1 -0
  45. package/dist/types/src/js/common/ask.d.ts +22 -0
  46. package/dist/types/src/js/common/ask.d.ts.map +1 -0
  47. package/dist/types/src/js/common/common.d.ts +3 -0
  48. package/dist/types/src/js/common/common.d.ts.map +1 -0
  49. package/dist/types/src/js/common/font-loader.d.ts +24 -0
  50. package/dist/types/src/js/common/font-loader.d.ts.map +1 -0
  51. package/dist/types/src/js/common/msg.d.ts +3 -0
  52. package/dist/types/src/js/common/msg.d.ts.map +1 -0
  53. package/dist/types/src/js/lit.d.ts +25 -0
  54. package/dist/types/src/js/lit.d.ts.map +1 -0
  55. package/dist/types/src/js/pds-configurator/figma-export.d.ts +13 -0
  56. package/dist/types/src/js/pds-configurator/figma-export.d.ts.map +1 -0
  57. package/dist/types/src/js/pds-configurator/pds-config-form.d.ts +2 -0
  58. package/dist/types/src/js/pds-configurator/pds-config-form.d.ts.map +1 -0
  59. package/dist/types/src/js/pds-configurator/pds-configurator.d.ts +2 -0
  60. package/dist/types/src/js/pds-configurator/pds-configurator.d.ts.map +1 -0
  61. package/dist/types/src/js/pds-configurator/pds-demo.d.ts +2 -0
  62. package/dist/types/src/js/pds-configurator/pds-demo.d.ts.map +1 -0
  63. package/dist/types/src/js/pds-core/pds-config.d.ts +758 -0
  64. package/dist/types/src/js/pds-core/pds-config.d.ts.map +1 -0
  65. package/dist/types/src/js/pds-core/pds-enhancer-metadata.d.ts +6 -0
  66. package/dist/types/src/js/pds-core/pds-enhancer-metadata.d.ts.map +1 -0
  67. package/dist/types/src/js/pds-core/pds-enhancers.d.ts +14 -0
  68. package/dist/types/src/js/pds-core/pds-enhancers.d.ts.map +1 -0
  69. package/dist/types/src/js/pds-core/pds-enums.d.ts +87 -0
  70. package/dist/types/src/js/pds-core/pds-enums.d.ts.map +1 -0
  71. package/dist/types/src/js/pds-core/pds-generator.d.ts +741 -0
  72. package/dist/types/src/js/pds-core/pds-generator.d.ts.map +1 -0
  73. package/dist/types/src/js/pds-core/pds-ontology.d.ts +48 -0
  74. package/dist/types/src/js/pds-core/pds-ontology.d.ts.map +1 -0
  75. package/dist/types/src/js/pds-core/pds-paths.d.ts +37 -0
  76. package/dist/types/src/js/pds-core/pds-paths.d.ts.map +1 -0
  77. package/dist/types/src/js/pds-core/pds-query.d.ts +102 -0
  78. package/dist/types/src/js/pds-core/pds-query.d.ts.map +1 -0
  79. package/dist/types/src/js/pds-core/pds-registry.d.ts +40 -0
  80. package/dist/types/src/js/pds-core/pds-registry.d.ts.map +1 -0
  81. package/dist/types/src/js/pds.d.ts +109 -0
  82. package/dist/types/src/js/pds.d.ts.map +1 -0
  83. package/dist/types/src/pds-core/pds-api.d.ts +31 -0
  84. package/dist/types/src/pds-core/pds-api.d.ts.map +1 -0
  85. package/package.json +104 -0
  86. package/packages/pds-cli/README.md +15 -0
  87. package/packages/pds-cli/bin/generate-css-data.js +565 -0
  88. package/packages/pds-cli/bin/generate-manifest.js +352 -0
  89. package/packages/pds-cli/bin/pds-build-icons.js +152 -0
  90. package/packages/pds-cli/bin/pds-dx.js +114 -0
  91. package/packages/pds-cli/bin/pds-static.js +556 -0
  92. package/packages/pds-cli/bin/pds.js +127 -0
  93. package/packages/pds-cli/bin/postinstall.js +380 -0
  94. package/packages/pds-cli/bin/sync-assets.js +252 -0
  95. package/packages/pds-cli/lib/asset-roots.js +47 -0
  96. package/packages/pds-cli/lib/fs-writer.js +75 -0
  97. package/pds.css-data.json +5 -0
  98. package/pds.html-data.json +5 -0
  99. package/public/assets/js/app.js +5719 -0
  100. package/public/assets/js/lit.js +131 -0
  101. package/public/assets/js/pds.js +3423 -0
  102. package/public/assets/pds/components/pds-calendar.js +837 -0
  103. package/public/assets/pds/components/pds-drawer.js +857 -0
  104. package/public/assets/pds/components/pds-icon.js +338 -0
  105. package/public/assets/pds/components/pds-jsonform.js +1775 -0
  106. package/public/assets/pds/components/pds-richtext.js +1035 -0
  107. package/public/assets/pds/components/pds-scrollrow.js +331 -0
  108. package/public/assets/pds/components/pds-splitpanel.js +401 -0
  109. package/public/assets/pds/components/pds-tabstrip.js +251 -0
  110. package/public/assets/pds/components/pds-toaster.js +446 -0
  111. package/public/assets/pds/components/pds-upload.js +657 -0
  112. package/public/assets/pds/custom-elements.json +2003 -0
  113. package/public/assets/pds/icons/pds-icons.svg +498 -0
  114. package/public/assets/pds/pds-css-complete.json +1861 -0
  115. package/public/assets/pds/pds.css-data.json +2152 -0
  116. package/public/assets/pds/vscode-custom-data.json +824 -0
  117. package/readme.md +1870 -0
  118. package/src/js/pds-core/pds-config.js +1162 -0
  119. package/src/js/pds-core/pds-enhancer-metadata.js +75 -0
  120. package/src/js/pds-core/pds-enhancers.js +357 -0
  121. package/src/js/pds-core/pds-enums.js +86 -0
  122. package/src/js/pds-core/pds-generator.js +5317 -0
  123. package/src/js/pds-core/pds-ontology.js +256 -0
  124. package/src/js/pds-core/pds-paths.js +109 -0
  125. package/src/js/pds-core/pds-query.js +571 -0
  126. package/src/js/pds-core/pds-registry.js +129 -0
  127. package/src/js/pds-core/pds.d.ts +129 -0
  128. package/src/js/pds.d.ts +408 -0
  129. package/src/js/pds.js +1579 -0
@@ -0,0 +1,384 @@
1
+ # IntelliSense & IDE Support
2
+
3
+ Pure Design System provides comprehensive IntelliSense support for both HTML and CSS, making development faster and reducing errors. This guide covers setup for VS Code, WebStorm, and other editors.
4
+
5
+ ## 🎯 What You Get
6
+
7
+ ### HTML IntelliSense
8
+ - ✅ Web component autocomplete (`<pds-drawer>`, `<pds-icon>`, etc.)
9
+ - ✅ Attribute suggestions with descriptions
10
+ - ✅ Enum value autocomplete (e.g., `position="left|right|top|bottom"`)
11
+ - ✅ Property and method documentation on hover
12
+ - ✅ Icon name autocomplete (all available icons)
13
+
14
+ ### CSS IntelliSense
15
+ - ✅ CSS custom property autocomplete (`--color-primary-500`, `--spacing-4`)
16
+ - ✅ Token documentation and value previews
17
+ - ✅ Utility class suggestions (`.flex`, `.gap-4`, `.border-gradient`)
18
+ - ✅ Primitive class suggestions (`.card`, `.badge`, `.surface`)
19
+ - ✅ Data attribute enhancements (`data-dropdown`, `data-toggle`)
20
+
21
+ ## 📦 Generation
22
+
23
+ IntelliSense data is automatically generated when you export PDS assets:
24
+
25
+ ```bash
26
+ # Generate all IntelliSense data (recommended)
27
+ npm run pds:dx
28
+
29
+ # Or as part of full export
30
+ npm run pds:export
31
+
32
+ # Or generate individually
33
+ npm run pds:manifest # HTML IntelliSense only
34
+ npm run pds:css-data # CSS IntelliSense only
35
+ ```
36
+
37
+ ### Generated Files
38
+
39
+ After running generation, you'll have:
40
+
41
+ ```
42
+ public/assets/pds/
43
+ ├── custom-elements.json # Standard Custom Elements Manifest
44
+ ├── vscode-custom-data.json # VS Code HTML custom data
45
+ ├── pds.css-data.json # VS Code CSS custom data
46
+ └── pds-css-complete.json # Standard CSS data (all editors)
47
+
48
+ # Root reference files for easy setup
49
+ pds.html-data.json # Points to vscode-custom-data.json
50
+ pds.css-data.json # Points to pds.css-data.json
51
+ ```
52
+
53
+ ## ⚙️ VS Code Setup
54
+
55
+ ### Recommended: Workspace Settings
56
+
57
+ Create or update `.vscode/settings.json` in your project:
58
+
59
+ ```json
60
+ {
61
+ "html.customData": [
62
+ "node_modules/pure-ds/public/assets/pds/vscode-custom-data.json"
63
+ ],
64
+ "css.customData": [
65
+ "node_modules/pure-ds/public/assets/pds/pds.css-data.json"
66
+ ]
67
+ }
68
+ ```
69
+
70
+ **Alternative** (if PDS is in your repo):
71
+ ```json
72
+ {
73
+ "html.customData": ["./pds.html-data.json"],
74
+ "css.customData": ["./pds.css-data.json"]
75
+ }
76
+ ```
77
+
78
+ ### Reload VS Code
79
+
80
+ After adding settings:
81
+ 1. Press `Ctrl+Shift+P` (or `Cmd+Shift+P` on Mac)
82
+ 2. Type "Developer: Reload Window"
83
+ 3. Press Enter
84
+
85
+ ## 🔧 WebStorm / IntelliJ IDEA Setup
86
+
87
+ WebStorm automatically recognizes `custom-elements.json` in your `node_modules/pure-ds/` directory for HTML IntelliSense.
88
+
89
+ ### For CSS IntelliSense
90
+
91
+ Add the CSS data file to your project settings:
92
+
93
+ 1. Go to **Settings** → **Languages & Frameworks** → **Style Sheets** → **CSS**
94
+ 2. Under **Custom Data**, add:
95
+ ```
96
+ node_modules/pure-ds/public/assets/pds/pds-css-complete.json
97
+ ```
98
+
99
+ ## 🌐 Other Editors
100
+
101
+ ### Sublime Text
102
+
103
+ Install the [LSP](https://packagecontrol.io/packages/LSP) package and configure custom data paths.
104
+
105
+ ### Vim/Neovim
106
+
107
+ Use [coc-css](https://github.com/neoclide/coc-css) or [coc-html](https://github.com/neoclide/coc-html) with custom data configuration.
108
+
109
+ ### Emacs
110
+
111
+ Configure [lsp-mode](https://emacs-lsp.github.io/lsp-mode/) with CSS and HTML language servers.
112
+
113
+ ## 📝 Usage Examples
114
+
115
+ ### HTML IntelliSense in Action
116
+
117
+ Type `<pds-` and see all available components:
118
+
119
+ ```html
120
+ <!-- Autocomplete suggests: pds-drawer, pds-icon, pds-upload, etc. -->
121
+ <pds-drawer
122
+ position="right" <!-- Autocomplete: bottom|top|left|right -->
123
+ open <!-- Boolean attributes suggested -->
124
+ max-height="80vh">
125
+
126
+ <!-- Slots are documented -->
127
+ <div slot="drawer-header">Settings</div>
128
+ <div slot="drawer-content">Content</div>
129
+ </pds-drawer>
130
+
131
+ <!-- Icon autocomplete suggests all available icons -->
132
+ <pds-icon icon="star"></pds-icon>
133
+ <pds-icon icon="bell-ringing"></pds-icon>
134
+ ```
135
+
136
+ ### CSS IntelliSense in Action
137
+
138
+ #### CSS Custom Properties
139
+
140
+ **✅ Works in .css files:**
141
+ ```css
142
+ .my-component {
143
+ /* Type var(-- and see all tokens with autocomplete */
144
+ background: var(--color-primary-500);
145
+ color: var(--color-gray-50);
146
+ padding: var(--spacing-4);
147
+ border-radius: var(--radius-md);
148
+ box-shadow: var(--shadow-lg);
149
+
150
+ /* Hover over any token to see its value */
151
+ transition: var(--transition-normal);
152
+ }
153
+ ```
154
+
155
+ **✅ Works in `<style>` tags:**
156
+ ```html
157
+ <style>
158
+ .custom {
159
+ color: var(--color-primary-500);
160
+ padding: var(--spacing-4);
161
+ }
162
+ </style>
163
+ ```
164
+
165
+ **❌ Does NOT work in inline `style` attributes** (VS Code limitation):
166
+ ```html
167
+ <!-- No IntelliSense here - use <style> tag or utility classes instead -->
168
+ <div style="color: var(--)"></div>
169
+ ```
170
+
171
+ #### Utility Classes
172
+
173
+ ```html
174
+ <!-- Class autocomplete in HTML -->
175
+ <div class="flex gap-4 items-center">
176
+ <div class="card surface-elevated">
177
+ <!-- Primitives and utilities autocomplete -->
178
+ </div>
179
+ </div>
180
+
181
+ <button class="border-gradient-primary">
182
+ Fancy Button
183
+ </button>
184
+ ```
185
+
186
+ #### Data Attributes
187
+
188
+ Progressive enhancement attributes with example code:
189
+
190
+ ```html
191
+ <!-- Type data-dr to see data-dropdown suggestion with example -->
192
+ <nav data-dropdown>
193
+ <button>Menu</button>
194
+ <menu>
195
+ <li><a href="#">Item 1</a></li>
196
+ <li><a href="#">Item 2</a></li>
197
+ </menu>
198
+ </nav>
199
+
200
+ <!-- Type data-to to see data-toggle suggestion with example -->
201
+ <label data-toggle>
202
+ <span data-label>Enable notifications</span>
203
+ <input type="checkbox">
204
+ </label>
205
+ ```
206
+
207
+ **IntelliSense shows:**
208
+ - Attribute name (`data-dropdown`, `data-toggle`)
209
+ - Description of what it does
210
+ - Complete example markup from the enhancer's `demoHtml`
211
+
212
+ ## 🎨 What's Included
213
+
214
+ ### CSS Custom Properties (150+ tokens)
215
+
216
+ - **Colors**: `--color-{name}-{50-900}` (primary, secondary, accent, gray, etc.)
217
+ - **Spacing**: `--spacing-{xs|sm|md|lg|xl|2xl|...}`
218
+ - **Typography**: `--font-family-{heading|body|mono}`, `--font-size-*`, `--font-weight-*`
219
+ - **Borders**: `--radius-{sm|md|lg|xl|full}`, `--border-width-{thin|medium|thick}`
220
+ - **Shadows**: `--shadow-{sm|md|lg|xl|2xl}`
221
+ - **Transitions**: `--transition-{fast|normal|slow}`
222
+ - **Layout**: `--breakpoint-{sm|md|lg|xl}`, `--z-{dropdown|modal|tooltip|...}`
223
+ - **Surfaces**: `--surface-bg`, `--surface-text`, `--surface-border`, etc.
224
+
225
+ ### CSS Classes (50+ utilities)
226
+
227
+ **Primitives**:
228
+ - `.badge`, `.card`, `.surface`, `.alert`, `.dialog`, `.table`, `.button`
229
+
230
+ **Layout**:
231
+ - `.flex`, `.grid`, `.grid-cols-{1-6}`, `.grid-auto-{sm|md|lg|xl}`, `.container`
232
+
233
+ **Utilities**:
234
+ - `.gap-{0-12}`, `.items-{start|end|center|baseline|stretch}`
235
+ - `.justify-{start|end|center|between|around|evenly}`
236
+ - `.border-gradient`, `.border-gradient-{primary|accent|secondary}`
237
+ - `.border-glow`, `.border-glow-{sm|lg}`, `.border-glow-{color}`
238
+
239
+ ### Data Attributes (5+ enhancements)
240
+
241
+ - `data-dropdown` - Auto-enhance navigation with dropdowns
242
+ - `data-toggle` - Transform checkboxes into toggle switches
243
+ - `data-tabs` - Tab interface enhancement
244
+ - `data-modal` - Modal dialog behavior
245
+ - `data-tooltip` - Tooltip enhancement
246
+
247
+ ## 🔍 Troubleshooting
248
+
249
+ ### CSS IntelliSense Not Working in Inline Styles
250
+
251
+ **This is expected!** VS Code's CSS custom data **only works in:**
252
+ - ✅ `.css` files
253
+ - ✅ `<style>` tags in HTML
254
+ - ❌ **NOT** in inline `style` attributes
255
+
256
+ **Workarounds:**
257
+ ```html
258
+ <!-- ❌ Won't work -->
259
+ <div style="padding: var(--)"></div>
260
+
261
+ <!-- ✅ Use <style> tag -->
262
+ <style>
263
+ .my-padding { padding: var(--spacing-4); }
264
+ </style>
265
+ <div class="my-padding"></div>
266
+
267
+ <!-- ✅ Or use utility classes -->
268
+ <div class="gap-4 flex"></div>
269
+ ```
270
+
271
+ ### IntelliSense Not Working in CSS Files
272
+
273
+ 1. **Verify files exist**:
274
+ ```bash
275
+ ls -la node_modules/pure-ds/public/assets/pds/
276
+ # Should show: vscode-custom-data.json, pds.css-data.json
277
+ ```
278
+
279
+ 2. **Check settings path**: Ensure paths in `.vscode/settings.json` are correct
280
+
281
+ 3. **Reload VS Code**: Always reload after changing settings (Ctrl+Shift+P → "Developer: Reload Window")
282
+
283
+ 4. **Test in a CSS file**: Create a `.css` file and type `var(--` to see if autocomplete appears
284
+
285
+ 5. **Clear cache**: Try deleting `.vscode/` folder and recreating settings
286
+
287
+ ### Partial Autocomplete
288
+
289
+ If you only see some suggestions:
290
+ - HTML works but CSS doesn't → Check `css.customData` setting and reload
291
+ - CSS works but HTML doesn't → Check `html.customData` setting and reload
292
+ - CSS works in files but not inline → This is normal (VS Code limitation)
293
+
294
+ ### Consuming Project Setup
295
+
296
+ If PDS is installed as a dependency:
297
+
298
+ ```json
299
+ {
300
+ "html.customData": [
301
+ "node_modules/pure-ds/public/assets/pds/vscode-custom-data.json"
302
+ ],
303
+ "css.customData": [
304
+ "node_modules/pure-ds/public/assets/pds/pds.css-data.json"
305
+ ]
306
+ }
307
+ ```
308
+
309
+ If you've copied PDS assets to your project:
310
+
311
+ ```json
312
+ {
313
+ "html.customData": [
314
+ "public/assets/pds/vscode-custom-data.json"
315
+ ],
316
+ "css.customData": [
317
+ "public/assets/pds/pds.css-data.json"
318
+ ]
319
+ }
320
+ ```
321
+
322
+ ## 📚 Standards Compliance
323
+
324
+ PDS IntelliSense follows these standards:
325
+
326
+ - **Custom Elements Manifest**: [Web Component Standard](https://github.com/webcomponents/custom-elements-manifest)
327
+ - **VS Code Custom Data**: [VS Code HTML/CSS Data Format](https://github.com/microsoft/vscode-custom-data)
328
+ - **Cross-editor compatibility**: Standard JSON formats work with LSP-compliant editors
329
+
330
+ ## 🚀 Advanced Usage
331
+
332
+ ### TypeScript Support
333
+
334
+ PDS also provides TypeScript definitions for full type safety:
335
+
336
+ ```typescript
337
+ import { PDS } from 'pure-ds';
338
+
339
+ // TypeScript knows all methods and properties
340
+ const pds = new PDS({
341
+ preset: 'default',
342
+ design: {
343
+ colors: {
344
+ primary: '#007acc'
345
+ }
346
+ }
347
+ });
348
+
349
+ // Fully typed
350
+ pds.compiled.tokens.colors.primary[500];
351
+ ```
352
+
353
+ ### Custom Data Generation
354
+
355
+ To generate custom data with your own configuration:
356
+
357
+ ```bash
358
+ # Generate with custom target directory
359
+ npm run pds:dx public/my-assets
360
+ ```
361
+
362
+ ## 💡 Tips
363
+
364
+ 1. **Type less**: Let IntelliSense do the work - type `--col` and pick from suggestions
365
+ 2. **Explore tokens**: Hover over variables to see actual values
366
+ 3. **Discover utilities**: Type `.` in class attribute to browse all available classes
367
+ 4. **Icon discovery**: Use `icon="` and browse all icon names with descriptions
368
+ 5. **Learn by browsing**: IntelliSense descriptions teach you the design system
369
+
370
+ ## 🤝 Contributing
371
+
372
+ Found missing autocomplete entries? The data is generated from:
373
+ - `src/js/pds-core/pds-ontology.js` - Class definitions and enhancements
374
+ - `src/js/pds-core/pds-generator.js` - Token generation
375
+ - Component JSDoc comments - HTML element documentation
376
+
377
+ Submit PRs to improve coverage!
378
+
379
+ ---
380
+
381
+ **Next Steps**:
382
+ - [Getting Started](./readme.md#getting-started)
383
+ - [Configuration Guide](./readme.md#configuration)
384
+ - [Component Documentation](./packages/pds-storybook/README.md)
package/LICENSE ADDED
@@ -0,0 +1,15 @@
1
+ ISC License
2
+
3
+ Copyright (c) 2025, mvneerven
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
11
+ FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
13
+ OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
14
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
15
+ THIS SOFTWARE.
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Custom Elements Manifest Configuration
3
+ * Generates metadata for all PDS web components
4
+ */
5
+ export default {
6
+ globs: ['public/assets/pds/components/pds-*.js'],
7
+ exclude: [],
8
+ outdir: '.',
9
+ dev: false,
10
+ watch: false,
11
+ dependencies: true,
12
+ packagejson: true,
13
+ litelement: true,
14
+ plugins: [
15
+ {
16
+ name: 'exclude-private-members',
17
+ // Remove private fields and methods from the manifest
18
+ moduleLinkPhase({moduleDoc}) {
19
+ moduleDoc.declarations?.forEach(declaration => {
20
+ if (declaration.members) {
21
+ declaration.members = declaration.members.filter(member => {
22
+ // Exclude members marked as private or starting with #
23
+ return member.privacy !== 'private' && !member.name?.startsWith('#');
24
+ });
25
+ }
26
+ });
27
+ },
28
+ },
29
+ ],
30
+ };