@pithyjs/pidl-catalog 0.1.0-beta.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 (93) hide show
  1. package/LICENSE +21 -0
  2. package/dist/specs/atoms/actions/button.pidl.json +289 -0
  3. package/dist/specs/atoms/actions/icon-group.pidl.json +141 -0
  4. package/dist/specs/atoms/actions/segmented-control.pidl.json +137 -0
  5. package/dist/specs/atoms/content/action-tile.pidl.json +135 -0
  6. package/dist/specs/atoms/content/badge.pidl.json +189 -0
  7. package/dist/specs/atoms/content/callout.pidl.json +170 -0
  8. package/dist/specs/atoms/content/code-block.pidl.json +170 -0
  9. package/dist/specs/atoms/content/heading.pidl.json +175 -0
  10. package/dist/specs/atoms/content/icon.pidl.json +127 -0
  11. package/dist/specs/atoms/content/image.pidl.json +227 -0
  12. package/dist/specs/atoms/content/prose.pidl.json +183 -0
  13. package/dist/specs/atoms/content/stat.pidl.json +158 -0
  14. package/dist/specs/atoms/content/tabs.pidl.json +207 -0
  15. package/dist/specs/atoms/content/text.pidl.json +212 -0
  16. package/dist/specs/atoms/content/tile.pidl.json +156 -0
  17. package/dist/specs/atoms/data/donut.pidl.json +352 -0
  18. package/dist/specs/atoms/data/gauge.pidl.json +274 -0
  19. package/dist/specs/atoms/forms/checkbox-group.pidl.json +170 -0
  20. package/dist/specs/atoms/forms/checkbox.pidl.json +323 -0
  21. package/dist/specs/atoms/forms/file-picker.pidl.json +161 -0
  22. package/dist/specs/atoms/forms/form-field.pidl.json +106 -0
  23. package/dist/specs/atoms/forms/input.pidl.json +466 -0
  24. package/dist/specs/atoms/forms/radio-group.pidl.json +174 -0
  25. package/dist/specs/atoms/forms/radio.pidl.json +312 -0
  26. package/dist/specs/atoms/forms/search-input.pidl.json +265 -0
  27. package/dist/specs/atoms/forms/select.pidl.json +420 -0
  28. package/dist/specs/atoms/forms/textarea.pidl.json +422 -0
  29. package/dist/specs/atoms/forms/toggle.pidl.json +314 -0
  30. package/dist/specs/layout/grid-item.pidl.json +120 -0
  31. package/dist/specs/layout/grid.pidl.json +157 -0
  32. package/dist/specs/layout/page-section.pidl.json +105 -0
  33. package/dist/specs/layout/smart-container.pidl.json +148 -0
  34. package/dist/specs/layout/stack.pidl.json +144 -0
  35. package/dist/specs/organisms/content/accordion.pidl.json +196 -0
  36. package/dist/specs/organisms/content/card.pidl.json +283 -0
  37. package/dist/specs/organisms/feedback/alert-dialog.pidl.json +158 -0
  38. package/dist/specs/organisms/feedback/modal.pidl.json +133 -0
  39. package/dist/specs/organisms/feedback/toast.pidl.json +150 -0
  40. package/dist/specs/organisms/forms/dynamic-form.pidl.json +314 -0
  41. package/dist/specs/organisms/forms/form.pidl.json +135 -0
  42. package/dist/specs/organisms/forms/subscribe-form.pidl.json +188 -0
  43. package/dist/specs/organisms/navigation/command-palette.pidl.json +263 -0
  44. package/dist/specs/organisms/navigation/docs-sidebar.pidl.json +264 -0
  45. package/dist/specs/organisms/navigation/navbar.pidl.json +356 -0
  46. package/dist/specs/organisms/navigation/table-of-contents.pidl.json +197 -0
  47. package/dist/specs/sections/contact-section.pidl.json +183 -0
  48. package/dist/specs/sections/cta-section.pidl.json +168 -0
  49. package/dist/specs/sections/faq-section.pidl.json +202 -0
  50. package/dist/specs/sections/features-section.pidl.json +214 -0
  51. package/dist/specs/sections/footer-section.pidl.json +187 -0
  52. package/dist/specs/sections/hero-section.pidl.json +202 -0
  53. package/dist/src/borders-psychology.d.ts +17 -0
  54. package/dist/src/borders-psychology.d.ts.map +1 -0
  55. package/dist/src/borders-psychology.js +42 -0
  56. package/dist/src/borders-psychology.js.map +1 -0
  57. package/dist/src/color-psychology.d.ts +20 -0
  58. package/dist/src/color-psychology.d.ts.map +1 -0
  59. package/dist/src/color-psychology.js +57 -0
  60. package/dist/src/color-psychology.js.map +1 -0
  61. package/dist/src/design-intelligence.d.ts +13 -0
  62. package/dist/src/design-intelligence.d.ts.map +1 -0
  63. package/dist/src/design-intelligence.js +36 -0
  64. package/dist/src/design-intelligence.js.map +1 -0
  65. package/dist/src/index.d.ts +6238 -0
  66. package/dist/src/index.d.ts.map +1 -0
  67. package/dist/src/index.js +105 -0
  68. package/dist/src/index.js.map +1 -0
  69. package/dist/src/motion-psychology.d.ts +19 -0
  70. package/dist/src/motion-psychology.d.ts.map +1 -0
  71. package/dist/src/motion-psychology.js +47 -0
  72. package/dist/src/motion-psychology.js.map +1 -0
  73. package/dist/src/mutation-vocabulary.d.ts +13 -0
  74. package/dist/src/mutation-vocabulary.d.ts.map +1 -0
  75. package/dist/src/mutation-vocabulary.js +67 -0
  76. package/dist/src/mutation-vocabulary.js.map +1 -0
  77. package/dist/src/radius-psychology.d.ts +17 -0
  78. package/dist/src/radius-psychology.d.ts.map +1 -0
  79. package/dist/src/radius-psychology.js +42 -0
  80. package/dist/src/radius-psychology.js.map +1 -0
  81. package/dist/src/shadows-psychology.d.ts +17 -0
  82. package/dist/src/shadows-psychology.d.ts.map +1 -0
  83. package/dist/src/shadows-psychology.js +44 -0
  84. package/dist/src/shadows-psychology.js.map +1 -0
  85. package/dist/src/spacing-psychology.d.ts +22 -0
  86. package/dist/src/spacing-psychology.d.ts.map +1 -0
  87. package/dist/src/spacing-psychology.js +59 -0
  88. package/dist/src/spacing-psychology.js.map +1 -0
  89. package/dist/src/typography-psychology.d.ts +22 -0
  90. package/dist/src/typography-psychology.d.ts.map +1 -0
  91. package/dist/src/typography-psychology.js +68 -0
  92. package/dist/src/typography-psychology.js.map +1 -0
  93. package/package.json +64 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAE5F;;;;;GAKG;AAGH,OAAO,MAAM,MAAM,yCAAyC,CAAC;AAC7D,OAAO,SAAS,MAAM,6CAA6C,CAAC;AACpE,OAAO,gBAAgB,MAAM,oDAAoD,CAAC;AAGlF,OAAO,KAAK,MAAM,wCAAwC,CAAC;AAC3D,OAAO,OAAO,MAAM,0CAA0C,CAAC;AAC/D,OAAO,IAAI,MAAM,uCAAuC,CAAC;AACzD,OAAO,KAAK,MAAM,wCAAwC,CAAC;AAC3D,OAAO,IAAI,MAAM,uCAAuC,CAAC;AACzD,OAAO,IAAI,MAAM,uCAAuC,CAAC;AACzD,OAAO,IAAI,MAAM,uCAAuC,CAAC;AACzD,OAAO,UAAU,MAAM,8CAA8C,CAAC;AACtE,OAAO,SAAS,MAAM,6CAA6C,CAAC;AAGpE,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAC/D,OAAO,aAAa,MAAM,+CAA+C,CAAC;AAC1E,OAAO,SAAS,MAAM,2CAA2C,CAAC;AAClE,OAAO,KAAK,MAAM,sCAAsC,CAAC;AACzD,OAAO,KAAK,MAAM,sCAAsC,CAAC;AACzD,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,WAAW,MAAM,6CAA6C,CAAC;AACtE,OAAO,MAAM,MAAM,uCAAuC,CAAC;AAC3D,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAC/D,OAAO,MAAM,MAAM,uCAAuC,CAAC;AAG3D,OAAO,IAAI,MAAM,gCAAgC,CAAC;AAClD,OAAO,QAAQ,MAAM,qCAAqC,CAAC;AAC3D,OAAO,WAAW,MAAM,wCAAwC,CAAC;AACjE,OAAO,cAAc,MAAM,2CAA2C,CAAC;AACvE,OAAO,KAAK,MAAM,iCAAiC,CAAC;AAGpD,OAAO,SAAS,MAAM,gDAAgD,CAAC;AACvE,OAAO,IAAI,MAAM,2CAA2C,CAAC;AAC7D,OAAO,KAAK,MAAM,6CAA6C,CAAC;AAChE,OAAO,KAAK,MAAM,6CAA6C,CAAC;AAChE,OAAO,WAAW,MAAM,iDAAiD,CAAC;AAC1E,OAAO,IAAI,MAAM,yCAAyC,CAAC;AAC3D,OAAO,aAAa,MAAM,mDAAmD,CAAC;AAC9E,OAAO,cAAc,MAAM,yDAAyD,CAAC;AACrF,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,MAAM,MAAM,gDAAgD,CAAC;AACpE,OAAO,eAAe,MAAM,2DAA2D,CAAC;AAGxF,OAAO,cAAc,MAAM,6CAA6C,CAAC;AACzE,OAAO,UAAU,MAAM,yCAAyC,CAAC;AACjE,OAAO,UAAU,MAAM,yCAAyC,CAAC;AACjE,OAAO,eAAe,MAAM,8CAA8C,CAAC;AAC3E,OAAO,aAAa,MAAM,4CAA4C,CAAC;AACvE,OAAO,WAAW,MAAM,0CAA0C,CAAC;AAEnE,kDAAkD;AAClD,eAAO,MAAM,cAAc;IACzB,SAAA,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAQ;IACnB,SAAA,CAAC,SAAS,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAW;IACzB,SAAA,CAAC,gBAAgB,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAkB;IACvC,SAAA,CAAC,KAAK,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAO;IACjB,SAAA,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAM;IACf,SAAA,CAAC,OAAO,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAS;IACrB,SAAA,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAM;IACf,SAAA,CAAC,KAAK,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAO;IACjB,SAAA,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAM;IACf,SAAA,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAM;IACf,SAAA,CAAC,UAAU,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAY;IAC3B,SAAA,CAAC,SAAS,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAW;IACzB,SAAA,CAAC,QAAQ,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAU;IACvB,SAAA,CAAC,aAAa,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAe;IACjC,SAAA,CAAC,SAAS,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAW;IACzB,SAAA,CAAC,KAAK,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAO;IACjB,SAAA,CAAC,KAAK,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAO;IACjB,SAAA,CAAC,UAAU,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAY;IAC3B,SAAA,CAAC,WAAW,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAa;IAC7B,SAAA,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAQ;IACnB,SAAA,CAAC,QAAQ,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAU;IACvB,SAAA,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAQ;IACnB,SAAA,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAM;IACf,SAAA,CAAC,QAAQ,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAU;IACvB,SAAA,CAAC,WAAW,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAa;IAC7B,SAAA,CAAC,cAAc,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAgB;IACnC,SAAA,CAAC,KAAK,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAO;IACjB,SAAA,CAAC,SAAS,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAW;IACzB,SAAA,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAM;IACf,SAAA,CAAC,KAAK,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAO;IACjB,SAAA,CAAC,KAAK,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAO;IACjB,SAAA,CAAC,WAAW,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAa;IAC7B,SAAA,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAM;IACf,SAAA,CAAC,aAAa,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAe;IACjC,SAAA,CAAC,cAAc,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAgB;IACnC,SAAA,CAAC,WAAW,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAa;IAC7B,SAAA,CAAC,MAAM,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAQ;IACnB,SAAA,CAAC,eAAe,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAiB;IACrC,SAAA,CAAC,cAAc,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAgB;IACnC,SAAA,CAAC,UAAU,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAY;IAC3B,SAAA,CAAC,UAAU,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAY;IAC3B,SAAA,CAAC,eAAe,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAiB;IACrC,SAAA,CAAC,aAAa,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAe;IACjC,SAAA,CAAC,WAAW,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAa;CACrB,CAAC"}
@@ -0,0 +1,105 @@
1
+ /** @codex { "id": "pithy.pidl-catalog", "title": "PIDL Catalog", "category": "feature" } */
2
+ /**
3
+ * @pithyjs/pidl-catalog — full PIDL specs for server-side consumers.
4
+ *
5
+ * This package is private ("private": true) and never published to npm.
6
+ * Only the API proxy and internal tooling should import from here.
7
+ */
8
+ // Atoms — actions
9
+ import button from '../specs/atoms/actions/button.pidl.json';
10
+ import iconGroup from '../specs/atoms/actions/icon-group.pidl.json';
11
+ import segmentedControl from '../specs/atoms/actions/segmented-control.pidl.json';
12
+ // Atoms — content
13
+ import badge from '../specs/atoms/content/badge.pidl.json';
14
+ import heading from '../specs/atoms/content/heading.pidl.json';
15
+ import icon from '../specs/atoms/content/icon.pidl.json';
16
+ import image from '../specs/atoms/content/image.pidl.json';
17
+ import text from '../specs/atoms/content/text.pidl.json';
18
+ import stat from '../specs/atoms/content/stat.pidl.json';
19
+ import tile from '../specs/atoms/content/tile.pidl.json';
20
+ import actionTile from '../specs/atoms/content/action-tile.pidl.json';
21
+ import codeBlock from '../specs/atoms/content/code-block.pidl.json';
22
+ // Atoms — forms
23
+ import checkbox from '../specs/atoms/forms/checkbox.pidl.json';
24
+ import checkboxGroup from '../specs/atoms/forms/checkbox-group.pidl.json';
25
+ import formField from '../specs/atoms/forms/form-field.pidl.json';
26
+ import input from '../specs/atoms/forms/input.pidl.json';
27
+ import radio from '../specs/atoms/forms/radio.pidl.json';
28
+ import radioGroup from '../specs/atoms/forms/radio-group.pidl.json';
29
+ import searchInput from '../specs/atoms/forms/search-input.pidl.json';
30
+ import select from '../specs/atoms/forms/select.pidl.json';
31
+ import textarea from '../specs/atoms/forms/textarea.pidl.json';
32
+ import toggle from '../specs/atoms/forms/toggle.pidl.json';
33
+ // Layout
34
+ import grid from '../specs/layout/grid.pidl.json';
35
+ import gridItem from '../specs/layout/grid-item.pidl.json';
36
+ import pageSection from '../specs/layout/page-section.pidl.json';
37
+ import smartContainer from '../specs/layout/smart-container.pidl.json';
38
+ import stack from '../specs/layout/stack.pidl.json';
39
+ // Organisms
40
+ import accordion from '../specs/organisms/content/accordion.pidl.json';
41
+ import card from '../specs/organisms/content/card.pidl.json';
42
+ import modal from '../specs/organisms/feedback/modal.pidl.json';
43
+ import toast from '../specs/organisms/feedback/toast.pidl.json';
44
+ import dynamicForm from '../specs/organisms/forms/dynamic-form.pidl.json';
45
+ import form from '../specs/organisms/forms/form.pidl.json';
46
+ import subscribeForm from '../specs/organisms/forms/subscribe-form.pidl.json';
47
+ import commandPalette from '../specs/organisms/navigation/command-palette.pidl.json';
48
+ import docsSidebar from '../specs/organisms/navigation/docs-sidebar.pidl.json';
49
+ import navbar from '../specs/organisms/navigation/navbar.pidl.json';
50
+ import tableOfContents from '../specs/organisms/navigation/table-of-contents.pidl.json';
51
+ // Sections
52
+ import contactSection from '../specs/sections/contact-section.pidl.json';
53
+ import ctaSection from '../specs/sections/cta-section.pidl.json';
54
+ import faqSection from '../specs/sections/faq-section.pidl.json';
55
+ import featuresSection from '../specs/sections/features-section.pidl.json';
56
+ import footerSection from '../specs/sections/footer-section.pidl.json';
57
+ import heroSection from '../specs/sections/hero-section.pidl.json';
58
+ /** All full PIDL specs, keyed by component id. */
59
+ export const ALL_PIDL_SPECS = {
60
+ [button.id]: button,
61
+ [iconGroup.id]: iconGroup,
62
+ [segmentedControl.id]: segmentedControl,
63
+ [badge.id]: badge,
64
+ [stat.id]: stat,
65
+ [heading.id]: heading,
66
+ [icon.id]: icon,
67
+ [image.id]: image,
68
+ [text.id]: text,
69
+ [tile.id]: tile,
70
+ [actionTile.id]: actionTile,
71
+ [codeBlock.id]: codeBlock,
72
+ [checkbox.id]: checkbox,
73
+ [checkboxGroup.id]: checkboxGroup,
74
+ [formField.id]: formField,
75
+ [input.id]: input,
76
+ [radio.id]: radio,
77
+ [radioGroup.id]: radioGroup,
78
+ [searchInput.id]: searchInput,
79
+ [select.id]: select,
80
+ [textarea.id]: textarea,
81
+ [toggle.id]: toggle,
82
+ [grid.id]: grid,
83
+ [gridItem.id]: gridItem,
84
+ [pageSection.id]: pageSection,
85
+ [smartContainer.id]: smartContainer,
86
+ [stack.id]: stack,
87
+ [accordion.id]: accordion,
88
+ [card.id]: card,
89
+ [modal.id]: modal,
90
+ [toast.id]: toast,
91
+ [dynamicForm.id]: dynamicForm,
92
+ [form.id]: form,
93
+ [subscribeForm.id]: subscribeForm,
94
+ [commandPalette.id]: commandPalette,
95
+ [docsSidebar.id]: docsSidebar,
96
+ [navbar.id]: navbar,
97
+ [tableOfContents.id]: tableOfContents,
98
+ [contactSection.id]: contactSection,
99
+ [ctaSection.id]: ctaSection,
100
+ [faqSection.id]: faqSection,
101
+ [featuresSection.id]: featuresSection,
102
+ [footerSection.id]: footerSection,
103
+ [heroSection.id]: heroSection,
104
+ };
105
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /** @codex { "id": "pithy.pidl-catalog.motion-psychology", "title": "Motion Psychology Guidance", "category": "feature" } */
2
+ /**
3
+ * Motion Psychology guidance — proprietary research-backed motion rules,
4
+ * injected into the AI system prompt so generated sites use a motion style
5
+ * (transition speed + easing personality) that fits the user's industry /
6
+ * use-case / mood.
7
+ *
8
+ * Motion conveys brand temperament: calm/slow reads premium, elegant, serious;
9
+ * smooth reads polished, professional; snappy reads energetic, playful,
10
+ * responsive; minimal reads fast, utilitarian, performance-first. Maps onto the
11
+ * design system's motion presets (calm / smooth / snappy / minimal). Motion
12
+ * always honors `prefers-reduced-motion` automatically. Intentionally compact
13
+ * for the 0.1 release.
14
+ *
15
+ * This file lives in the private @pithyjs/pidl-catalog package and is NEVER
16
+ * published to npm — it is IP and must stay server-side.
17
+ */
18
+ export declare const MOTION_PSYCHOLOGY_GUIDANCE: string;
19
+ //# sourceMappingURL=motion-psychology.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motion-psychology.d.ts","sourceRoot":"","sources":["../../src/motion-psychology.ts"],"names":[],"mappings":"AAAA,4HAA4H;AAE5H;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,0BAA0B,QA4B/B,CAAC"}
@@ -0,0 +1,47 @@
1
+ /** @codex { "id": "pithy.pidl-catalog.motion-psychology", "title": "Motion Psychology Guidance", "category": "feature" } */
2
+ /**
3
+ * Motion Psychology guidance — proprietary research-backed motion rules,
4
+ * injected into the AI system prompt so generated sites use a motion style
5
+ * (transition speed + easing personality) that fits the user's industry /
6
+ * use-case / mood.
7
+ *
8
+ * Motion conveys brand temperament: calm/slow reads premium, elegant, serious;
9
+ * smooth reads polished, professional; snappy reads energetic, playful,
10
+ * responsive; minimal reads fast, utilitarian, performance-first. Maps onto the
11
+ * design system's motion presets (calm / smooth / snappy / minimal). Motion
12
+ * always honors `prefers-reduced-motion` automatically. Intentionally compact
13
+ * for the 0.1 release.
14
+ *
15
+ * This file lives in the private @pithyjs/pidl-catalog package and is NEVER
16
+ * published to npm — it is IP and must stay server-side.
17
+ */
18
+ export const MOTION_PSYCHOLOGY_GUIDANCE = `
19
+ ## Motion Psychology (transition personality)
20
+
21
+ Motion sets brand temperament. Calm (slow, gentle) reads premium, elegant,
22
+ serious; smooth reads polished and professional; snappy (quick, lively) reads
23
+ energetic, playful, responsive; minimal (near-instant) reads fast, utilitarian,
24
+ performance-first. Pick the motion that matches the brand. (Motion automatically
25
+ respects \`prefers-reduced-motion\` — you don't need to handle that.)
26
+
27
+ ### Motion preset → use-case
28
+ - calm → luxury, wellness/spa, editorial, high-end brands — unhurried, refined
29
+ - smooth (default) → most marketing sites, SaaS, healthcare, general business —
30
+ polished and professional
31
+ - snappy → consumer apps, startups, playful/creative brands, e-commerce —
32
+ energetic and responsive
33
+ - minimal → dashboards, productivity & enterprise tools, data-heavy or
34
+ performance-critical UIs — fast and unobtrusive
35
+
36
+ ### Applying it
37
+ For a NEW page or site built from scratch, emit ONE \`theme.setPreset\` mutation
38
+ to set the motion style — exact shape:
39
+ \`{ "op": "theme.setPreset", "module": "motion", "value": "smooth" }\`
40
+ \`value\` MUST be one of: calm, smooth, snappy, minimal. Do this only for new
41
+ builds, not for small content edits, and never when the user asks to keep the
42
+ current style.
43
+
44
+ (Motion intensity — a fine multiplier on the chosen preset — is available as an
45
+ editor refinement; you do not control it.)
46
+ `.trim();
47
+ //# sourceMappingURL=motion-psychology.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motion-psychology.js","sourceRoot":"","sources":["../../src/motion-psychology.ts"],"names":[],"mappings":"AAAA,4HAA4H;AAE5H;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BzC,CAAC,IAAI,EAAE,CAAC"}
@@ -0,0 +1,13 @@
1
+ /** @codex { "id": "pithy.pidl-catalog.mutation-vocabulary", "title": "Mutation Vocabulary", "category": "feature" } */
2
+ /**
3
+ * Mutation vocabulary — the structured set of operations the AI can perform.
4
+ *
5
+ * These operations map to SiteConfig store mutations and define the AI's
6
+ * capability surface. The vocabulary is injected into the system prompt so
7
+ * the AI knows exactly what actions are available.
8
+ *
9
+ * This file lives in the private @pithyjs/pidl-catalog package and is NEVER
10
+ * published to npm.
11
+ */
12
+ export declare const MUTATION_VOCABULARY: string;
13
+ //# sourceMappingURL=mutation-vocabulary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-vocabulary.d.ts","sourceRoot":"","sources":["../../src/mutation-vocabulary.ts"],"names":[],"mappings":"AAAA,uHAAuH;AAEvH;;;;;;;;;GASG;AAEH,eAAO,MAAM,mBAAmB,QAsDxB,CAAC"}
@@ -0,0 +1,67 @@
1
+ /** @codex { "id": "pithy.pidl-catalog.mutation-vocabulary", "title": "Mutation Vocabulary", "category": "feature" } */
2
+ /**
3
+ * Mutation vocabulary — the structured set of operations the AI can perform.
4
+ *
5
+ * These operations map to SiteConfig store mutations and define the AI's
6
+ * capability surface. The vocabulary is injected into the system prompt so
7
+ * the AI knows exactly what actions are available.
8
+ *
9
+ * This file lives in the private @pithyjs/pidl-catalog package and is NEVER
10
+ * published to npm.
11
+ */
12
+ export const MUTATION_VOCABULARY = `
13
+ ## Mutation Vocabulary
14
+
15
+ You can modify the site using these operations:
16
+
17
+ ### Page Operations
18
+ - \`page.create\` — Create a new page. Include \`title\`, \`path\`, and — whenever you will add blocks to this page in the same response — an explicit \`id\` (a short kebab-case slug, e.g. "about", "contact").
19
+ - \`page.delete\` — Delete a page by ID
20
+ - \`page.reorder\` — Change the order of pages
21
+
22
+ ### Page → Block Binding (CRITICAL — violating this rejects the ENTIRE response)
23
+ Every \`block.add\` must target a page that actually exists. Its \`pageId\` MUST be either:
24
+ 1. the \`id\` of a page already listed in the current site context, OR
25
+ 2. the exact explicit \`id\` of a \`page.create\` that appears EARLIER in this same mutations array.
26
+
27
+ Therefore, to build a NEW page with content:
28
+ 1. Emit \`page.create\` first, WITH an explicit \`id\` (e.g. \`"id": "about"\`).
29
+ 2. Use that EXACT same string as the \`pageId\` of every \`block.add\` for that page.
30
+
31
+ NEVER reference a page you have not created (e.g. a \`block.add\` with \`"pageId": "about"\` when no page "about" exists and no \`page.create\` with \`"id": "about"\` precedes it). Do not invent page ids — only use ids you created or that already exist.
32
+
33
+ ### Block Operations
34
+ - \`block.add\` — Add a new block (component) to a page
35
+ - \`block.remove\` — Remove a block by ID
36
+ - \`block.reorder\` — Change block order within a page
37
+ - \`block.update\` — Update block props
38
+
39
+ ### Theme Operations
40
+ - \`theme.setColor\` — Set a color token value
41
+ - \`theme.setFont\` — Set a typography token value
42
+ - \`theme.setSpacing\` — Set a spacing token value
43
+ - \`theme.setPreset\` — Set a preset-based module (\`module\`: radius / shadows / motion / borders)
44
+
45
+ ### Content Operations
46
+ - \`content.setText\` — Set text content on a block prop
47
+ - \`content.setImage\` — Set image source on a block prop
48
+
49
+ ### Output Format
50
+ The response is a single envelope OBJECT — \`{ "intent": "...", "confidence": <0..1>, "mutations": [ ... ] }\` (see "Output Envelope" section below). \`mutations\` is ALWAYS an array. The examples below show ONLY the value of that \`mutations\` field — NOT the whole response (never emit a bare array as the top-level response).
51
+
52
+ Single-mutation \`mutations\` value (valid, parseable JSON):
53
+ \`\`\`json
54
+ [
55
+ { "op": "block.add", "pageId": "home", "component": "ui.hero-section", "props": { "heading": "Welcome" } }
56
+ ]
57
+ \`\`\`
58
+
59
+ Multi-page \`mutations\` value — note the explicit \`page.create.id\` reused as \`block.add.pageId\` (valid, parseable JSON):
60
+ \`\`\`json
61
+ [
62
+ { "op": "page.create", "id": "about", "title": "About", "path": "/about" },
63
+ { "op": "block.add", "pageId": "about", "component": "ui.hero-section", "props": { "heading": "About Me" } }
64
+ ]
65
+ \`\`\`
66
+ `.trim();
67
+ //# sourceMappingURL=mutation-vocabulary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-vocabulary.js","sourceRoot":"","sources":["../../src/mutation-vocabulary.ts"],"names":[],"mappings":"AAAA,uHAAuH;AAEvH;;;;;;;;;GASG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDlC,CAAC,IAAI,EAAE,CAAC"}
@@ -0,0 +1,17 @@
1
+ /** @codex { "id": "pithy.pidl-catalog.radius-psychology", "title": "Radius Psychology Guidance", "category": "feature" } */
2
+ /**
3
+ * Radius Psychology guidance — proprietary research-backed corner-radius rules,
4
+ * injected into the AI system prompt so generated sites use a corner style that
5
+ * fits the user's industry / use-case / mood.
6
+ *
7
+ * Corner radius is a fast, strong personality signal: sharp corners read
8
+ * precise / serious / technical; gently rounded corners read friendly /
9
+ * approachable / trustworthy; large "bubble" radii read playful / casual /
10
+ * youthful. Maps onto the design system's radius presets (sharp / subtle /
11
+ * rounded / bubble). Intentionally compact for the 0.1 release.
12
+ *
13
+ * This file lives in the private @pithyjs/pidl-catalog package and is NEVER
14
+ * published to npm — it is IP and must stay server-side.
15
+ */
16
+ export declare const RADIUS_PSYCHOLOGY_GUIDANCE: string;
17
+ //# sourceMappingURL=radius-psychology.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radius-psychology.d.ts","sourceRoot":"","sources":["../../src/radius-psychology.ts"],"names":[],"mappings":"AAAA,4HAA4H;AAE5H;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,0BAA0B,QAyB/B,CAAC"}
@@ -0,0 +1,42 @@
1
+ /** @codex { "id": "pithy.pidl-catalog.radius-psychology", "title": "Radius Psychology Guidance", "category": "feature" } */
2
+ /**
3
+ * Radius Psychology guidance — proprietary research-backed corner-radius rules,
4
+ * injected into the AI system prompt so generated sites use a corner style that
5
+ * fits the user's industry / use-case / mood.
6
+ *
7
+ * Corner radius is a fast, strong personality signal: sharp corners read
8
+ * precise / serious / technical; gently rounded corners read friendly /
9
+ * approachable / trustworthy; large "bubble" radii read playful / casual /
10
+ * youthful. Maps onto the design system's radius presets (sharp / subtle /
11
+ * rounded / bubble). Intentionally compact for the 0.1 release.
12
+ *
13
+ * This file lives in the private @pithyjs/pidl-catalog package and is NEVER
14
+ * published to npm — it is IP and must stay server-side.
15
+ */
16
+ export const RADIUS_PSYCHOLOGY_GUIDANCE = `
17
+ ## Corner Radius Psychology (shape personality)
18
+
19
+ Corner radius is a quick, strong signal of brand personality. Sharp corners read
20
+ precise, serious, technical, authoritative; gently rounded corners read friendly,
21
+ approachable, trustworthy, modern; large/pill radii read playful, casual,
22
+ youthful. Pick the corner style that matches the brand.
23
+
24
+ ### Radius preset → use-case
25
+ - sharp (0) → editorial, finance / legal / enterprise, luxury & high-fashion,
26
+ technical / developer tools — precision and authority
27
+ - subtle (small) → professional & corporate, B2B SaaS, healthcare-adjacent —
28
+ modern and neutral without being stiff
29
+ - rounded (default) → most consumer & marketing sites, healthcare, education,
30
+ nonprofits — friendly, warm, trustworthy
31
+ - bubble (large / pill) → playful consumer apps, kids / family, food & lifestyle,
32
+ creative / fun brands — casual and energetic
33
+
34
+ ### Applying it
35
+ For a NEW page or site built from scratch, emit ONE \`theme.setPreset\` mutation
36
+ to set the corner style — exact shape:
37
+ \`{ "op": "theme.setPreset", "module": "radius", "value": "rounded" }\`
38
+ \`value\` MUST be one of: sharp, subtle, rounded, bubble. Do this only for new
39
+ builds, not for small content edits, and never when the user asks to keep the
40
+ current style.
41
+ `.trim();
42
+ //# sourceMappingURL=radius-psychology.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radius-psychology.js","sourceRoot":"","sources":["../../src/radius-psychology.ts"],"names":[],"mappings":"AAAA,4HAA4H;AAE5H;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBzC,CAAC,IAAI,EAAE,CAAC"}
@@ -0,0 +1,17 @@
1
+ /** @codex { "id": "pithy.pidl-catalog.shadows-psychology", "title": "Shadows Psychology Guidance", "category": "feature" } */
2
+ /**
3
+ * Shadows Psychology guidance — proprietary research-backed depth/elevation
4
+ * rules, injected into the AI system prompt so generated sites use a shadow
5
+ * style that fits the user's industry / use-case / mood.
6
+ *
7
+ * Shadow depth signals materiality and hierarchy: flat reads modern / minimal /
8
+ * editorial; soft reads gentle / calm / approachable; elevated reads tactile /
9
+ * app-like / clear-hierarchy; dramatic reads bold / energetic / attention-
10
+ * grabbing. Maps onto the design system's shadow presets (flat / soft /
11
+ * elevated / dramatic). Intentionally compact for the 0.1 release.
12
+ *
13
+ * This file lives in the private @pithyjs/pidl-catalog package and is NEVER
14
+ * published to npm — it is IP and must stay server-side.
15
+ */
16
+ export declare const SHADOWS_PSYCHOLOGY_GUIDANCE: string;
17
+ //# sourceMappingURL=shadows-psychology.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadows-psychology.d.ts","sourceRoot":"","sources":["../../src/shadows-psychology.ts"],"names":[],"mappings":"AAAA,8HAA8H;AAE9H;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,2BAA2B,QA2BhC,CAAC"}
@@ -0,0 +1,44 @@
1
+ /** @codex { "id": "pithy.pidl-catalog.shadows-psychology", "title": "Shadows Psychology Guidance", "category": "feature" } */
2
+ /**
3
+ * Shadows Psychology guidance — proprietary research-backed depth/elevation
4
+ * rules, injected into the AI system prompt so generated sites use a shadow
5
+ * style that fits the user's industry / use-case / mood.
6
+ *
7
+ * Shadow depth signals materiality and hierarchy: flat reads modern / minimal /
8
+ * editorial; soft reads gentle / calm / approachable; elevated reads tactile /
9
+ * app-like / clear-hierarchy; dramatic reads bold / energetic / attention-
10
+ * grabbing. Maps onto the design system's shadow presets (flat / soft /
11
+ * elevated / dramatic). Intentionally compact for the 0.1 release.
12
+ *
13
+ * This file lives in the private @pithyjs/pidl-catalog package and is NEVER
14
+ * published to npm — it is IP and must stay server-side.
15
+ */
16
+ export const SHADOWS_PSYCHOLOGY_GUIDANCE = `
17
+ ## Shadow / Depth Psychology (elevation personality)
18
+
19
+ Shadow depth signals materiality and hierarchy. Flat (no shadows) reads modern,
20
+ minimal, editorial, content-first; soft reads gentle, calm, approachable;
21
+ elevated reads tactile, app-like, with clear visual hierarchy; dramatic reads
22
+ bold, energetic, attention-grabbing. Pick the depth that matches the brand.
23
+
24
+ ### Shadow preset → use-case
25
+ - flat → editorial, news, minimalist & high-design brands, content-heavy sites,
26
+ luxury (flatness can read refined) — clean and modern
27
+ - soft → healthcare, wellness, education, calm consumer brands — gentle depth
28
+ - elevated (default) → SaaS, dashboards, app-like products, most marketing
29
+ sites — tactile and clearly layered
30
+ - dramatic → bold landing pages, events, entertainment, promotions — high-energy
31
+ emphasis
32
+
33
+ ### Applying it
34
+ For a NEW page or site built from scratch, emit ONE \`theme.setPreset\` mutation
35
+ to set the shadow depth — exact shape:
36
+ \`{ "op": "theme.setPreset", "module": "shadows", "value": "elevated" }\`
37
+ \`value\` MUST be one of: flat, soft, elevated, dramatic. Do this only for new
38
+ builds, not for small content edits, and never when the user asks to keep the
39
+ current style.
40
+
41
+ (Brand-tinted shadows — blending the primary hue into shadows for extra cohesion
42
+ — are available as an editor refinement; you do not control them.)
43
+ `.trim();
44
+ //# sourceMappingURL=shadows-psychology.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadows-psychology.js","sourceRoot":"","sources":["../../src/shadows-psychology.ts"],"names":[],"mappings":"AAAA,8HAA8H;AAE9H;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B1C,CAAC,IAAI,EAAE,CAAC"}
@@ -0,0 +1,22 @@
1
+ /** @codex { "id": "pithy.pidl-catalog.spacing-psychology", "title": "Spacing Psychology Guidance", "category": "feature" } */
2
+ /**
3
+ * Spacing Psychology guidance — proprietary research-backed density/scale rules,
4
+ * injected into the AI system prompt so generated sites use spacing that fits the
5
+ * user's industry / use-case / mood.
6
+ *
7
+ * Whitespace carries meaning: generous spacing reads premium / calm / trustworthy
8
+ * / modern; tight spacing reads value / utilitarian / information-rich. Crucially
9
+ * this is **context-dependent** — the openness that makes a product feel premium
10
+ * can make an information-heavy service feel incomplete (minimalist legal/finance
11
+ * pages test LOWER on trust than denser ones). So density must match the use-case,
12
+ * not default to "more space = better".
13
+ *
14
+ * Maps onto the design system's spacing presets — density (compact / comfortable
15
+ * / spacious) and scale ratio (geometric / golden / moderate). Intentionally
16
+ * compact for the 0.1 release.
17
+ *
18
+ * This file lives in the private @pithyjs/pidl-catalog package and is NEVER
19
+ * published to npm — it is IP and must stay server-side.
20
+ */
21
+ export declare const SPACING_PSYCHOLOGY_GUIDANCE: string;
22
+ //# sourceMappingURL=spacing-psychology.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spacing-psychology.d.ts","sourceRoot":"","sources":["../../src/spacing-psychology.ts"],"names":[],"mappings":"AAAA,8HAA8H;AAE9H;;;;;;;;;;;;;;;;;;GAkBG;AAEH,eAAO,MAAM,2BAA2B,QAqChC,CAAC"}
@@ -0,0 +1,59 @@
1
+ /** @codex { "id": "pithy.pidl-catalog.spacing-psychology", "title": "Spacing Psychology Guidance", "category": "feature" } */
2
+ /**
3
+ * Spacing Psychology guidance — proprietary research-backed density/scale rules,
4
+ * injected into the AI system prompt so generated sites use spacing that fits the
5
+ * user's industry / use-case / mood.
6
+ *
7
+ * Whitespace carries meaning: generous spacing reads premium / calm / trustworthy
8
+ * / modern; tight spacing reads value / utilitarian / information-rich. Crucially
9
+ * this is **context-dependent** — the openness that makes a product feel premium
10
+ * can make an information-heavy service feel incomplete (minimalist legal/finance
11
+ * pages test LOWER on trust than denser ones). So density must match the use-case,
12
+ * not default to "more space = better".
13
+ *
14
+ * Maps onto the design system's spacing presets — density (compact / comfortable
15
+ * / spacious) and scale ratio (geometric / golden / moderate). Intentionally
16
+ * compact for the 0.1 release.
17
+ *
18
+ * This file lives in the private @pithyjs/pidl-catalog package and is NEVER
19
+ * published to npm — it is IP and must stay server-side.
20
+ */
21
+ export const SPACING_PSYCHOLOGY_GUIDANCE = `
22
+ ## Spacing Psychology (density & rhythm)
23
+
24
+ Whitespace is a signal, not just a gap. Generous spacing reads premium, calm,
25
+ sophisticated, modern, and trustworthy; tight spacing reads efficient,
26
+ utilitarian, value-oriented, and information-rich. Pick a density that matches
27
+ the user's use-case.
28
+
29
+ ### IMPORTANT — the context paradox
30
+ More whitespace is NOT universally better. Open, airy layouts elevate products
31
+ and luxury/brand sites, but for information-dense or credibility-by-detail
32
+ use-cases (legal, finance, news/editorial, dashboards, comparison/data,
33
+ enterprise tools) too much whitespace reads as incomplete or unprofessional and
34
+ LOWERS trust. Match density to the job.
35
+
36
+ ### Density → use-case
37
+ - spacious → luxury, fashion, beauty, premium products, portfolios, agencies,
38
+ wellness/spa, photography, single-focus landing/hero pages
39
+ - comfortable (default) → most marketing sites, general business, SaaS,
40
+ healthcare, education, nonprofits — the safe choice when unsure
41
+ - compact → dashboards & admin, data/comparison tables, news/editorial, legal /
42
+ finance / professional services, enterprise & productivity tools
43
+
44
+ ### Scale ratio (secondary — affects size contrast between spacing steps)
45
+ - geometric (2.0x) → bold, high-contrast rhythm — impactful, modern, marketing
46
+ - golden (1.618x) → balanced, harmonious — editorial, refined brands
47
+ - moderate (1.5x) → subtle, uniform steps — dense/utilitarian, content-heavy UIs
48
+
49
+ ### Applying it
50
+ For a NEW page or site built from scratch, emit a \`theme.setSpacing\` mutation to
51
+ set the density (and optionally the scale) — exact shapes:
52
+ \`{ "op": "theme.setSpacing", "token": "--space-density", "value": "spacious" }\`
53
+ \`{ "op": "theme.setSpacing", "token": "--space-scale", "value": "geometric" }\`
54
+ \`--space-density\` value MUST be one of: compact, comfortable, spacious.
55
+ \`--space-scale\` value MUST be one of: geometric, golden, moderate.
56
+ Do this only for new builds, not for small content edits, and never when the user
57
+ asks to keep the current spacing.
58
+ `.trim();
59
+ //# sourceMappingURL=spacing-psychology.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spacing-psychology.js","sourceRoot":"","sources":["../../src/spacing-psychology.ts"],"names":[],"mappings":"AAAA,8HAA8H;AAE9H;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC1C,CAAC,IAAI,EAAE,CAAC"}
@@ -0,0 +1,22 @@
1
+ /** @codex { "id": "pithy.pidl-catalog.typography-psychology", "title": "Typography Psychology Guidance", "category": "feature" } */
2
+ /**
3
+ * Typography Psychology guidance — proprietary research-backed font-selection
4
+ * rules, injected into the AI system prompt so generated sites pick a heading +
5
+ * body pairing suited to the user's industry / use-case / mood.
6
+ *
7
+ * Fonts carry consistent personality: serifs read as trustworthy / traditional /
8
+ * editorial; geometric sans as modern / confident / tech; humanist sans as
9
+ * approachable / highly readable; rounded sans as friendly / playful. The
10
+ * highest-leverage typographic decision is the heading↔body PAIRING — a
11
+ * characterful heading over a neutral, readable body.
12
+ *
13
+ * Recommendations are drawn ONLY from the design system's curated font set
14
+ * (`POPULAR_GOOGLE_FONTS`), so every suggestion is a font the studio can load on
15
+ * demand. Sizes/line-height advice mirrors the accessible defaults (base ≥16px,
16
+ * line-height ≥1.5). Intentionally compact for the 0.1 release.
17
+ *
18
+ * This file lives in the private @pithyjs/pidl-catalog package and is NEVER
19
+ * published to npm — it is IP and must stay server-side.
20
+ */
21
+ export declare const TYPOGRAPHY_PSYCHOLOGY_GUIDANCE: string;
22
+ //# sourceMappingURL=typography-psychology.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typography-psychology.d.ts","sourceRoot":"","sources":["../../src/typography-psychology.ts"],"names":[],"mappings":"AAAA,oIAAoI;AAEpI;;;;;;;;;;;;;;;;;;GAkBG;AAEH,eAAO,MAAM,8BAA8B,QA8CnC,CAAC"}
@@ -0,0 +1,68 @@
1
+ /** @codex { "id": "pithy.pidl-catalog.typography-psychology", "title": "Typography Psychology Guidance", "category": "feature" } */
2
+ /**
3
+ * Typography Psychology guidance — proprietary research-backed font-selection
4
+ * rules, injected into the AI system prompt so generated sites pick a heading +
5
+ * body pairing suited to the user's industry / use-case / mood.
6
+ *
7
+ * Fonts carry consistent personality: serifs read as trustworthy / traditional /
8
+ * editorial; geometric sans as modern / confident / tech; humanist sans as
9
+ * approachable / highly readable; rounded sans as friendly / playful. The
10
+ * highest-leverage typographic decision is the heading↔body PAIRING — a
11
+ * characterful heading over a neutral, readable body.
12
+ *
13
+ * Recommendations are drawn ONLY from the design system's curated font set
14
+ * (`POPULAR_GOOGLE_FONTS`), so every suggestion is a font the studio can load on
15
+ * demand. Sizes/line-height advice mirrors the accessible defaults (base ≥16px,
16
+ * line-height ≥1.5). Intentionally compact for the 0.1 release.
17
+ *
18
+ * This file lives in the private @pithyjs/pidl-catalog package and is NEVER
19
+ * published to npm — it is IP and must stay server-side.
20
+ */
21
+ export const TYPOGRAPHY_PSYCHOLOGY_GUIDANCE = `
22
+ ## Typography Psychology (choosing fonts)
23
+
24
+ Pick a HEADING font and a BODY font deliberately from the personality of the
25
+ user's industry and mood — don't leave every site on the default system font.
26
+ Font personality: serif = trust / tradition / authority / editorial-luxury;
27
+ geometric sans = modern / confident / tech; humanist sans = approachable /
28
+ clear; rounded sans = friendly / playful.
29
+
30
+ ### Curated fonts (use these EXACT names — others will not load)
31
+ Serif: Merriweather (readable, editorial), Playfair Display (high-contrast,
32
+ elegant/luxury). Geometric sans: Poppins, Montserrat, Space Grotesk, DM Sans,
33
+ Plus Jakarta Sans, Manrope, Raleway. Humanist / neutral sans (best for BODY):
34
+ Inter, Open Sans, Source Sans Pro, Lato, Work Sans, IBM Plex Sans, PT Sans,
35
+ Fira Sans, Ubuntu. Rounded / friendly: Nunito.
36
+
37
+ ### Industry → heading / body pairing
38
+ - Tech / SaaS / startup → Space Grotesk or Poppins / Inter
39
+ - Finance / legal / corporate → Playfair Display or Merriweather / Source Sans Pro or IBM Plex Sans
40
+ - Healthcare / wellness → Poppins or Nunito / Open Sans or Lato
41
+ - Luxury / fashion / beauty → Playfair Display / Lato or Montserrat
42
+ - Editorial / blog / publishing → Merriweather or Playfair Display / Source Sans Pro
43
+ - Creative / agency / portfolio → Space Grotesk or Montserrat / Inter
44
+ - E-commerce / consumer / food → Poppins or Montserrat / Open Sans
45
+ - Education / nonprofit / community → Nunito or Work Sans / Open Sans
46
+ - Real estate / construction / industrial → Montserrat or Manrope / Source Sans Pro
47
+
48
+ ### Principles
49
+ 1. Pair for CONTRAST + HARMONY: a characterful heading over a neutral, highly
50
+ readable body. The serif-headline + humanist-sans-body combo reads as both
51
+ authoritative AND readable, and is a strong default when unsure.
52
+ 2. Body must stay readable at small sizes — prefer a neutral humanist sans
53
+ (Inter, Open Sans, Source Sans Pro, Lato) for body unless the brand is
54
+ editorial (then a readable serif body like Merriweather is fine).
55
+ 3. Use at most TWO families. It's fine to use ONE family for both roles.
56
+ 4. Accessibility: keep base size ≥16px and line-height ≥1.5 (these are the
57
+ defaults — never reduce them for body text).
58
+
59
+ ### Applying it
60
+ For a NEW page or site built from scratch, ALSO emit up to TWO \`theme.setFont\`
61
+ mutations — exact shapes:
62
+ \`{ "op": "theme.setFont", "token": "--font-family-heading", "value": "Playfair Display" }\`
63
+ \`{ "op": "theme.setFont", "token": "--font-family-body", "value": "Source Sans Pro" }\`
64
+ \`value\` MUST be one of the curated font names above (so the font loads). Do this
65
+ only for new builds, NOT for small content edits, and never when the user asks to
66
+ keep the current fonts.
67
+ `.trim();
68
+ //# sourceMappingURL=typography-psychology.js.map