@hjmds/design-contracts 1.34.0 → 1.35.1

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 (158) hide show
  1. package/dist/anchor.d.ts +4 -1
  2. package/dist/anchor.d.ts.map +1 -1
  3. package/dist/anchor.js +3 -3
  4. package/dist/anchor.js.map +1 -1
  5. package/dist/base-recipes.d.ts +15 -1
  6. package/dist/base-recipes.d.ts.map +1 -1
  7. package/dist/base-recipes.js +14 -3
  8. package/dist/base-recipes.js.map +1 -1
  9. package/dist/behaviors.d.ts +22 -0
  10. package/dist/behaviors.d.ts.map +1 -1
  11. package/dist/behaviors.js +2 -0
  12. package/dist/behaviors.js.map +1 -1
  13. package/dist/calendar.d.ts +9 -7
  14. package/dist/calendar.d.ts.map +1 -1
  15. package/dist/calendar.js +31 -2
  16. package/dist/calendar.js.map +1 -1
  17. package/dist/card.d.ts +15 -1
  18. package/dist/card.d.ts.map +1 -1
  19. package/dist/card.js +14 -1
  20. package/dist/card.js.map +1 -1
  21. package/dist/carousel.d.ts +3 -0
  22. package/dist/carousel.d.ts.map +1 -1
  23. package/dist/carousel.js +10 -1
  24. package/dist/carousel.js.map +1 -1
  25. package/dist/catalog.d.ts +147 -17
  26. package/dist/catalog.d.ts.map +1 -1
  27. package/dist/catalog.js +9 -6
  28. package/dist/catalog.js.map +1 -1
  29. package/dist/colors.d.ts +1 -0
  30. package/dist/colors.d.ts.map +1 -1
  31. package/dist/colors.js +2 -0
  32. package/dist/colors.js.map +1 -1
  33. package/dist/component-recipes.d.ts +45 -11
  34. package/dist/component-recipes.d.ts.map +1 -1
  35. package/dist/component-recipes.js +35 -15
  36. package/dist/component-recipes.js.map +1 -1
  37. package/dist/component-references.d.ts +2 -2
  38. package/dist/component-references.js +1 -1
  39. package/dist/component-references.js.map +1 -1
  40. package/dist/design-profile.d.ts +14 -0
  41. package/dist/design-profile.d.ts.map +1 -1
  42. package/dist/design-profile.js +15 -0
  43. package/dist/design-profile.js.map +1 -1
  44. package/dist/index.d.ts +2 -1
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +2 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/progress-recipe.d.ts +6 -0
  49. package/dist/progress-recipe.d.ts.map +1 -1
  50. package/dist/progress-recipe.js +15 -2
  51. package/dist/progress-recipe.js.map +1 -1
  52. package/dist/recipes.d.ts +2 -2
  53. package/dist/recipes.d.ts.map +1 -1
  54. package/dist/recipes.js +2 -2
  55. package/dist/recipes.js.map +1 -1
  56. package/dist/screen-patterns.d.ts +32 -2
  57. package/dist/screen-patterns.d.ts.map +1 -1
  58. package/dist/screen-patterns.js +26 -2
  59. package/dist/screen-patterns.js.map +1 -1
  60. package/dist/semantic-colors.d.ts +5 -0
  61. package/dist/semantic-colors.d.ts.map +1 -1
  62. package/dist/semantic-colors.js +2 -0
  63. package/dist/semantic-colors.js.map +1 -1
  64. package/dist/sheet.d.ts +15 -0
  65. package/dist/sheet.d.ts.map +1 -1
  66. package/dist/sheet.js +11 -0
  67. package/dist/sheet.js.map +1 -1
  68. package/dist/shortcut-rail.d.ts +20 -0
  69. package/dist/shortcut-rail.d.ts.map +1 -0
  70. package/dist/shortcut-rail.js +28 -0
  71. package/dist/shortcut-rail.js.map +1 -0
  72. package/dist/showcase.js +2 -2
  73. package/dist/showcase.js.map +1 -1
  74. package/dist/steps.d.ts +6 -4
  75. package/dist/steps.d.ts.map +1 -1
  76. package/dist/steps.js +3 -0
  77. package/dist/steps.js.map +1 -1
  78. package/dist/time-picker.d.ts +70 -0
  79. package/dist/time-picker.d.ts.map +1 -0
  80. package/dist/time-picker.js +51 -0
  81. package/dist/time-picker.js.map +1 -0
  82. package/dist/timeline.d.ts +13 -1
  83. package/dist/timeline.d.ts.map +1 -1
  84. package/dist/timeline.js +11 -1
  85. package/dist/timeline.js.map +1 -1
  86. package/dist/version.d.ts +1 -1
  87. package/dist/version.js +1 -1
  88. package/dist/version.js.map +1 -1
  89. package/docs/calendar.md +19 -1
  90. package/docs/carousel.md +10 -0
  91. package/docs/collapsible.md +9 -0
  92. package/docs/consumer-policy.md +8 -12
  93. package/docs/design-profile.md +9 -0
  94. package/docs/expansion-roadmap.md +1 -1
  95. package/docs/generated/component-maturity.md +5 -4
  96. package/docs/generated/renderer-evidence.json +141 -16
  97. package/docs/generated/renderer-evidence.md +5 -3
  98. package/docs/generated/showcase-manifest.json +69 -7
  99. package/docs/optional-adapters.md +11 -0
  100. package/docs/stable-core.md +25 -0
  101. package/docs/steps.md +4 -0
  102. package/docs/theme-palette.md +2 -0
  103. package/docs/time-picker.md +22 -114
  104. package/docs/usage/README.md +9 -7
  105. package/docs/usage/SELECTION.md +44 -2
  106. package/docs/usage/components/accordion.md +4 -2
  107. package/docs/usage/components/alert-dialog.md +5 -0
  108. package/docs/usage/components/anchor.md +4 -1
  109. package/docs/usage/components/badge.md +7 -4
  110. package/docs/usage/components/bottom-cta.md +29 -4
  111. package/docs/usage/components/bottom-navigation.md +8 -0
  112. package/docs/usage/components/button.md +42 -2
  113. package/docs/usage/components/calendar.md +8 -1
  114. package/docs/usage/components/card.md +111 -7
  115. package/docs/usage/components/carousel.md +4 -1
  116. package/docs/usage/components/chat-screen.md +1 -1
  117. package/docs/usage/components/checkbox-group.md +33 -3
  118. package/docs/usage/components/checkbox.md +8 -2
  119. package/docs/usage/components/chip.md +5 -0
  120. package/docs/usage/components/collapsible.md +16 -1
  121. package/docs/usage/components/comment-thread-screen.md +12 -3
  122. package/docs/usage/components/composition-layout.md +6 -1
  123. package/docs/usage/components/conversation-row.md +2 -1
  124. package/docs/usage/components/data-table.md +10 -0
  125. package/docs/usage/components/description-list.md +1 -0
  126. package/docs/usage/components/field.md +8 -0
  127. package/docs/usage/components/icon-tile.md +29 -10
  128. package/docs/usage/components/image-choice-group.md +6 -0
  129. package/docs/usage/components/image.md +8 -1
  130. package/docs/usage/components/list-detail-screen.md +10 -4
  131. package/docs/usage/components/list-row.md +3 -0
  132. package/docs/usage/components/list.md +33 -1
  133. package/docs/usage/components/message-composer.md +2 -0
  134. package/docs/usage/components/notice.md +5 -1
  135. package/docs/usage/components/notification-row.md +19 -9
  136. package/docs/usage/components/onboarding-screen.md +3 -0
  137. package/docs/usage/components/page-indicator.md +12 -0
  138. package/docs/usage/components/profile-summary.md +16 -3
  139. package/docs/usage/components/progress.md +24 -0
  140. package/docs/usage/components/radio-group.md +45 -3
  141. package/docs/usage/components/radio.md +8 -2
  142. package/docs/usage/components/repeatable-field-group.md +1 -0
  143. package/docs/usage/components/screen-layout.md +46 -3
  144. package/docs/usage/components/search-screen.md +29 -1
  145. package/docs/usage/components/segmented-control.md +19 -3
  146. package/docs/usage/components/select.md +2 -0
  147. package/docs/usage/components/sheet.md +56 -3
  148. package/docs/usage/components/spinner.md +10 -0
  149. package/docs/usage/components/statistic.md +23 -0
  150. package/docs/usage/components/steps.md +11 -4
  151. package/docs/usage/components/switch.md +5 -0
  152. package/docs/usage/components/tabs.md +4 -0
  153. package/docs/usage/components/time-picker.md +88 -0
  154. package/docs/usage/components/timeline.md +19 -6
  155. package/docs/usage/components/top-bar.md +7 -0
  156. package/docs/usage/compositions/shortcut-rail.md +99 -0
  157. package/docs/usage/compositions/time-selection.md +5 -0
  158. package/package.json +17 -4
@@ -186,8 +186,8 @@ declare const antDesignReferenceSources: readonly [{
186
186
  }, {
187
187
  readonly name: "TimePicker";
188
188
  readonly category: "data-entry";
189
- readonly targets: readonly ["Select"];
190
- readonly relationship: "adapted";
189
+ readonly targets: readonly ["TimePicker"];
190
+ readonly relationship: "direct";
191
191
  }, {
192
192
  readonly name: "Transfer";
193
193
  readonly category: "data-entry";
@@ -47,7 +47,7 @@ const antDesignReferenceSources = [
47
47
  { name: "Select", category: "data-entry", targets: ["Select"], relationship: "direct" },
48
48
  { name: "Slider", category: "data-entry", targets: ["Slider"], relationship: "direct" },
49
49
  { name: "Switch", category: "data-entry", targets: ["Switch"], relationship: "direct" },
50
- { name: "TimePicker", category: "data-entry", targets: ["Select"], relationship: "adapted" },
50
+ { name: "TimePicker", category: "data-entry", targets: ["TimePicker"], relationship: "direct" },
51
51
  { name: "Transfer", category: "data-entry", targets: ["TransferList"], relationship: "adapted" },
52
52
  { name: "TreeSelect", category: "data-entry", targets: ["Popover", "Tree"], relationship: "decomposed" },
53
53
  { name: "Upload", category: "data-entry", targets: ["FilePicker", "UploadItem"], relationship: "decomposed" },
@@ -1 +1 @@
1
- {"version":3,"file":"component-references.js","sourceRoot":"","sources":["../src/component-references.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,GAIjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,EACpB,YAAY,GAEb,MAAM,4BAA4B,CAAC;AAwBpC,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,EAAE,EAAE,YAAY;IAChB,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,yCAAyC;CACzC,CAAC;AAEX;;;;;GAKG;AACH,MAAM,yBAAyB,GAAG;IAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACpF,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,sBAAsB,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;IACxG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IAChF,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;IAElG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACrF,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;IACjF,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IAC/E,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACnF,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACrF,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;IAClF,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IAEvF,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACvF,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IAC/F,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;IACxF,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACnF,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IAC/F,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACrF,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IAEnF,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;IAChG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;IACtG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;IAChH,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACjG,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IAC/F,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;IAChG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;IACjJ,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;IAClG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IAC3F,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;IACvG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;IACtG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACvF,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACvF,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACvF,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;IAC5F,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;IAChG,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;IACxG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;IAE7G,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACzF,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;IAC3G,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IAC7F,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACrF,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IAC7F,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;IAC/F,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;IACzG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;IAC7F,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACvF,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE;IAC7H,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE;IAChH,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IAC3F,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACzF,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,kBAAkB,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;IACvG,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IAC/F,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;IAC5F,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACnF,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IAC7F,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IAC3F,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACrF,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IAErF,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;IACrF,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;IACrG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;IACtF,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;IACvG,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;IAC3F,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;IAC7G,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACzF,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACrF,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IACzF,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;IACrF,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IAE3F,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE;IAChF,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,sBAAsB,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE;CAC1C,CAAC;AAElE,MAAM,CAAC,MAAM,4BAA4B,GACvC,yBAAyB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5C,GAAG,SAAS;IACZ,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;CACjE,CAAC,CAAC,CAAC;AAgBN,MAAM,UAAU,yBAAyB,CACvC,iBAAyB;IAEzB,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAC1C,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,iBAAiB,IAAI,IAAI,KAAK,iBAAiB,CACzE,CAAC;IACF,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,OAAO,4BAA4B,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,UAA4C,gBAAgB;IAE5D,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAqB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAClF,CAAC;IACF,MAAM,aAAa,GAA0C;QAC3D,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,CAAC;KACd,CAAC;IACF,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,KAAK,MAAM,SAAS,IAAI,4BAA4B,EAAE,CAAC;QACrD,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO;aACrC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aACvC,MAAM,CAAC,CAAC,MAAM,EAA6B,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QACvE,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CACzC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,MAAM,CACrD,CAAC,MAAM,CAAC;QACT,IAAI,aAAa,KAAK,SAAS,CAAC,OAAO,CAAC,MAAM;YAAE,WAAW,IAAI,CAAC,CAAC;aAC5D,IAAI,aAAa,GAAG,CAAC;YAAE,eAAe,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,WAAW,GAAG,4BAA4B,CAAC,MAAM,GAAG,WAAW,GAAG,eAAe,CAAC;IAExF,OAAO;QACL,KAAK,EAAE,4BAA4B,CAAC,MAAM;QAC1C,OAAO;QACP,WAAW;QACX,eAAe;QACf,WAAW;QACX,aAAa;KACd,CAAC;AACJ,CAAC","sourcesContent":["import {\n componentCatalog,\n type ComponentCatalogEntry,\n type ComponentName,\n type ComponentStatus,\n} from \"./catalog.js\";\nimport {\n componentDefinitions,\n componentIds,\n type ComponentId,\n} from \"./component-definitions.js\";\n\nexport type ReferenceRelationship = \"direct\" | \"adapted\" | \"decomposed\";\n\nexport type AntDesignCategory =\n | \"general\"\n | \"layout\"\n | \"navigation\"\n | \"data-entry\"\n | \"data-display\"\n | \"feedback\"\n | \"other\";\n\nexport type AntDesignReferenceComponent = Readonly<{\n name: string;\n category: AntDesignCategory;\n targets: readonly ComponentId[];\n relationship: ReferenceRelationship;\n lifecycle?: \"deprecated\" | \"new\";\n}>;\n\ntype AntDesignReferenceSourceComponent = Omit<AntDesignReferenceComponent, \"targets\"> &\n Readonly<{ targets: readonly ComponentName[] }>;\n\nexport const antDesignReferenceSystem = {\n id: \"ant-design\",\n name: \"Ant Design\",\n version: \"6.6.1\",\n capturedAt: \"2026-08-20\",\n scope: \"core\",\n source: \"https://ant.design/components/overview/\",\n} as const;\n\n/**\n * Ant Design is a coverage benchmark, not a runtime or API dependency.\n * Every reference component maps to one or more stable HJM component IDs so broad\n * ecosystem coverage can be tracked without copying Ant Design's appearance,\n * prop names, or Web-only assumptions into the shared core.\n */\nconst antDesignReferenceSources = [\n { name: \"Button\", category: \"general\", targets: [\"Button\"], relationship: \"direct\" },\n { name: \"FloatButton\", category: \"general\", targets: [\"FloatingActionButton\"], relationship: \"adapted\" },\n { name: \"Icon\", category: \"general\", targets: [\"Icon\"], relationship: \"direct\" },\n { name: \"Typography\", category: \"general\", targets: [\"Text\", \"Link\"], relationship: \"decomposed\" },\n\n { name: \"Divider\", category: \"layout\", targets: [\"Divider\"], relationship: \"direct\" },\n { name: \"Flex\", category: \"layout\", targets: [\"Stack\"], relationship: \"adapted\" },\n { name: \"Grid\", category: \"layout\", targets: [\"Grid\"], relationship: \"direct\" },\n { name: \"Layout\", category: \"layout\", targets: [\"Layout\"], relationship: \"direct\" },\n { name: \"Masonry\", category: \"layout\", targets: [\"Masonry\"], relationship: \"direct\" },\n { name: \"Space\", category: \"layout\", targets: [\"Stack\"], relationship: \"adapted\" },\n { name: \"Splitter\", category: \"layout\", targets: [\"Splitter\"], relationship: \"direct\" },\n\n { name: \"Anchor\", category: \"navigation\", targets: [\"Anchor\"], relationship: \"direct\" },\n { name: \"Breadcrumb\", category: \"navigation\", targets: [\"Breadcrumb\"], relationship: \"direct\" },\n { name: \"Dropdown\", category: \"navigation\", targets: [\"Menu\"], relationship: \"adapted\" },\n { name: \"Menu\", category: \"navigation\", targets: [\"Menu\"], relationship: \"direct\" },\n { name: \"Pagination\", category: \"navigation\", targets: [\"Pagination\"], relationship: \"direct\" },\n { name: \"Steps\", category: \"navigation\", targets: [\"Steps\"], relationship: \"direct\" },\n { name: \"Tabs\", category: \"navigation\", targets: [\"Tabs\"], relationship: \"direct\" },\n\n { name: \"AutoComplete\", category: \"data-entry\", targets: [\"Combobox\"], relationship: \"adapted\" },\n { name: \"Cascader\", category: \"data-entry\", targets: [\"Popover\", \"Tree\"], relationship: \"decomposed\" },\n { name: \"Checkbox\", category: \"data-entry\", targets: [\"Checkbox\", \"CheckboxGroup\"], relationship: \"decomposed\" },\n { name: \"ColorPicker\", category: \"data-entry\", targets: [\"ColorPicker\"], relationship: \"direct\" },\n { name: \"DatePicker\", category: \"data-entry\", targets: [\"DatePicker\"], relationship: \"direct\" },\n { name: \"Form\", category: \"data-entry\", targets: [\"Form\", \"Field\"], relationship: \"decomposed\" },\n { name: \"Input\", category: \"data-entry\", targets: [\"Field\", \"TextArea\", \"SearchField\", \"PasswordField\", \"OtpField\"], relationship: \"decomposed\" },\n { name: \"InputNumber\", category: \"data-entry\", targets: [\"NumberField\"], relationship: \"adapted\" },\n { name: \"Mentions\", category: \"data-entry\", targets: [\"Mentions\"], relationship: \"direct\" },\n { name: \"Radio\", category: \"data-entry\", targets: [\"Radio\", \"RadioGroup\"], relationship: \"decomposed\" },\n { name: \"Rate\", category: \"data-entry\", targets: [\"Slider\", \"Statistic\"], relationship: \"decomposed\" },\n { name: \"Select\", category: \"data-entry\", targets: [\"Select\"], relationship: \"direct\" },\n { name: \"Slider\", category: \"data-entry\", targets: [\"Slider\"], relationship: \"direct\" },\n { name: \"Switch\", category: \"data-entry\", targets: [\"Switch\"], relationship: \"direct\" },\n { name: \"TimePicker\", category: \"data-entry\", targets: [\"Select\"], relationship: \"adapted\" },\n { name: \"Transfer\", category: \"data-entry\", targets: [\"TransferList\"], relationship: \"adapted\" },\n { name: \"TreeSelect\", category: \"data-entry\", targets: [\"Popover\", \"Tree\"], relationship: \"decomposed\" },\n { name: \"Upload\", category: \"data-entry\", targets: [\"FilePicker\", \"UploadItem\"], relationship: \"decomposed\" },\n\n { name: \"Avatar\", category: \"data-display\", targets: [\"Avatar\"], relationship: \"direct\" },\n { name: \"Badge\", category: \"data-display\", targets: [\"Badge\", \"CounterBadge\"], relationship: \"decomposed\" },\n { name: \"Calendar\", category: \"data-display\", targets: [\"Calendar\"], relationship: \"direct\" },\n { name: \"Card\", category: \"data-display\", targets: [\"Card\"], relationship: \"direct\" },\n { name: \"Carousel\", category: \"data-display\", targets: [\"Carousel\"], relationship: \"direct\" },\n { name: \"Collapse\", category: \"data-display\", targets: [\"Accordion\"], relationship: \"adapted\" },\n { name: \"Descriptions\", category: \"data-display\", targets: [\"DescriptionList\"], relationship: \"adapted\" },\n { name: \"Empty\", category: \"data-display\", targets: [\"EmptyState\"], relationship: \"adapted\" },\n { name: \"Image\", category: \"data-display\", targets: [\"Image\"], relationship: \"direct\" },\n { name: \"List\", category: \"data-display\", targets: [\"List\", \"ListRow\"], relationship: \"decomposed\", lifecycle: \"deprecated\" },\n { name: \"Listy\", category: \"data-display\", targets: [\"VirtualList\"], relationship: \"adapted\", lifecycle: \"new\" },\n { name: \"Popover\", category: \"data-display\", targets: [\"Popover\"], relationship: \"direct\" },\n { name: \"QRCode\", category: \"data-display\", targets: [\"QRCode\"], relationship: \"direct\" },\n { name: \"Segmented\", category: \"data-display\", targets: [\"SegmentedControl\"], relationship: \"adapted\" },\n { name: \"Statistic\", category: \"data-display\", targets: [\"Statistic\"], relationship: \"direct\" },\n { name: \"Table\", category: \"data-display\", targets: [\"DataTable\"], relationship: \"adapted\" },\n { name: \"Tag\", category: \"data-display\", targets: [\"Tag\"], relationship: \"direct\" },\n { name: \"Timeline\", category: \"data-display\", targets: [\"Timeline\"], relationship: \"direct\" },\n { name: \"Tooltip\", category: \"data-display\", targets: [\"Tooltip\"], relationship: \"direct\" },\n { name: \"Tour\", category: \"data-display\", targets: [\"Tour\"], relationship: \"direct\" },\n { name: \"Tree\", category: \"data-display\", targets: [\"Tree\"], relationship: \"direct\" },\n\n { name: \"Alert\", category: \"feedback\", targets: [\"Notice\"], relationship: \"adapted\" },\n { name: \"Drawer\", category: \"feedback\", targets: [\"Sheet\", \"SidePanel\"], relationship: \"decomposed\" },\n { name: \"Message\", category: \"feedback\", targets: [\"Toast\"], relationship: \"adapted\" },\n { name: \"Modal\", category: \"feedback\", targets: [\"Dialog\", \"AlertDialog\"], relationship: \"decomposed\" },\n { name: \"Notification\", category: \"feedback\", targets: [\"Toast\"], relationship: \"adapted\" },\n { name: \"Popconfirm\", category: \"feedback\", targets: [\"Popover\", \"AlertDialog\"], relationship: \"decomposed\" },\n { name: \"Progress\", category: \"feedback\", targets: [\"Progress\"], relationship: \"direct\" },\n { name: \"Result\", category: \"feedback\", targets: [\"Result\"], relationship: \"direct\" },\n { name: \"Skeleton\", category: \"feedback\", targets: [\"Skeleton\"], relationship: \"direct\" },\n { name: \"Spin\", category: \"feedback\", targets: [\"Spinner\"], relationship: \"adapted\" },\n { name: \"Watermark\", category: \"feedback\", targets: [\"Watermark\"], relationship: \"direct\" },\n\n { name: \"Affix\", category: \"other\", targets: [\"Affix\"], relationship: \"direct\" },\n { name: \"ConfigProvider\", category: \"other\", targets: [\"DesignSystemProvider\"], relationship: \"adapted\" },\n] as const satisfies readonly AntDesignReferenceSourceComponent[];\n\nexport const antDesignReferenceComponents: readonly AntDesignReferenceComponent[] =\n antDesignReferenceSources.map((reference) => ({\n ...reference,\n targets: reference.targets.map((target) => componentIds[target]),\n }));\n\nexport type AntDesignComponentName = (typeof antDesignReferenceSources)[number][\"name\"];\n\nexport type ReferenceCoverageSummary = Readonly<{\n total: number;\n tracked: number;\n /** Every HJM target has reached stable or beta maturity. */\n fullyMature: number;\n /** At least one, but not every, HJM target has reached stable or beta maturity. */\n partiallyMature: number;\n /** No HJM target has moved beyond planned maturity. */\n plannedOnly: number;\n relationships: Readonly<Record<ReferenceRelationship, number>>;\n}>;\n\nexport function getAntDesignReferencesFor(\n componentNameOrId: string,\n): readonly AntDesignReferenceComponent[] {\n const definition = componentDefinitions.find(\n ({ id, name }) => id === componentNameOrId || name === componentNameOrId,\n );\n if (!definition) return [];\n return antDesignReferenceComponents.filter(({ targets }) =>\n targets.includes(definition.id),\n );\n}\n\nexport function summarizeAntDesignCoverage(\n entries: readonly ComponentCatalogEntry[] = componentCatalog,\n): ReferenceCoverageSummary {\n const statusById = new Map(\n entries.map((entry) => [componentIds[entry.name as ComponentName], entry.status]),\n );\n const relationships: Record<ReferenceRelationship, number> = {\n direct: 0,\n adapted: 0,\n decomposed: 0,\n };\n let tracked = 0;\n let fullyMature = 0;\n let partiallyMature = 0;\n\n for (const reference of antDesignReferenceComponents) {\n relationships[reference.relationship] += 1;\n const targetStatuses = reference.targets\n .map((target) => statusById.get(target))\n .filter((status): status is ComponentStatus => status !== undefined);\n if (targetStatuses.length === reference.targets.length) tracked += 1;\n const matureTargets = targetStatuses.filter(\n (status) => status === \"stable\" || status === \"beta\",\n ).length;\n if (matureTargets === reference.targets.length) fullyMature += 1;\n else if (matureTargets > 0) partiallyMature += 1;\n }\n\n const plannedOnly = antDesignReferenceComponents.length - fullyMature - partiallyMature;\n\n return {\n total: antDesignReferenceComponents.length,\n tracked,\n fullyMature,\n partiallyMature,\n plannedOnly,\n relationships,\n };\n}\n"]}
1
+ {"version":3,"file":"component-references.js","sourceRoot":"","sources":["../src/component-references.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n componentCatalog,\n type ComponentCatalogEntry,\n type ComponentName,\n type ComponentStatus,\n} from \"./catalog.js\";\nimport {\n componentDefinitions,\n componentIds,\n type ComponentId,\n} from \"./component-definitions.js\";\n\nexport type ReferenceRelationship = \"direct\" | \"adapted\" | \"decomposed\";\n\nexport type AntDesignCategory =\n | \"general\"\n | \"layout\"\n | \"navigation\"\n | \"data-entry\"\n | \"data-display\"\n | \"feedback\"\n | \"other\";\n\nexport type AntDesignReferenceComponent = Readonly<{\n name: string;\n category: AntDesignCategory;\n targets: readonly ComponentId[];\n relationship: ReferenceRelationship;\n lifecycle?: \"deprecated\" | \"new\";\n}>;\n\ntype AntDesignReferenceSourceComponent = Omit<AntDesignReferenceComponent, \"targets\"> &\n Readonly<{ targets: readonly ComponentName[] }>;\n\nexport const antDesignReferenceSystem = {\n id: \"ant-design\",\n name: \"Ant Design\",\n version: \"6.6.1\",\n capturedAt: \"2026-08-20\",\n scope: \"core\",\n source: \"https://ant.design/components/overview/\",\n} as const;\n\n/**\n * Ant Design is a coverage benchmark, not a runtime or API dependency.\n * Every reference component maps to one or more stable HJM component IDs so broad\n * ecosystem coverage can be tracked without copying Ant Design's appearance,\n * prop names, or Web-only assumptions into the shared core.\n */\nconst antDesignReferenceSources = [\n { name: \"Button\", category: \"general\", targets: [\"Button\"], relationship: \"direct\" },\n { name: \"FloatButton\", category: \"general\", targets: [\"FloatingActionButton\"], relationship: \"adapted\" },\n { name: \"Icon\", category: \"general\", targets: [\"Icon\"], relationship: \"direct\" },\n { name: \"Typography\", category: \"general\", targets: [\"Text\", \"Link\"], relationship: \"decomposed\" },\n\n { name: \"Divider\", category: \"layout\", targets: [\"Divider\"], relationship: \"direct\" },\n { name: \"Flex\", category: \"layout\", targets: [\"Stack\"], relationship: \"adapted\" },\n { name: \"Grid\", category: \"layout\", targets: [\"Grid\"], relationship: \"direct\" },\n { name: \"Layout\", category: \"layout\", targets: [\"Layout\"], relationship: \"direct\" },\n { name: \"Masonry\", category: \"layout\", targets: [\"Masonry\"], relationship: \"direct\" },\n { name: \"Space\", category: \"layout\", targets: [\"Stack\"], relationship: \"adapted\" },\n { name: \"Splitter\", category: \"layout\", targets: [\"Splitter\"], relationship: \"direct\" },\n\n { name: \"Anchor\", category: \"navigation\", targets: [\"Anchor\"], relationship: \"direct\" },\n { name: \"Breadcrumb\", category: \"navigation\", targets: [\"Breadcrumb\"], relationship: \"direct\" },\n { name: \"Dropdown\", category: \"navigation\", targets: [\"Menu\"], relationship: \"adapted\" },\n { name: \"Menu\", category: \"navigation\", targets: [\"Menu\"], relationship: \"direct\" },\n { name: \"Pagination\", category: \"navigation\", targets: [\"Pagination\"], relationship: \"direct\" },\n { name: \"Steps\", category: \"navigation\", targets: [\"Steps\"], relationship: \"direct\" },\n { name: \"Tabs\", category: \"navigation\", targets: [\"Tabs\"], relationship: \"direct\" },\n\n { name: \"AutoComplete\", category: \"data-entry\", targets: [\"Combobox\"], relationship: \"adapted\" },\n { name: \"Cascader\", category: \"data-entry\", targets: [\"Popover\", \"Tree\"], relationship: \"decomposed\" },\n { name: \"Checkbox\", category: \"data-entry\", targets: [\"Checkbox\", \"CheckboxGroup\"], relationship: \"decomposed\" },\n { name: \"ColorPicker\", category: \"data-entry\", targets: [\"ColorPicker\"], relationship: \"direct\" },\n { name: \"DatePicker\", category: \"data-entry\", targets: [\"DatePicker\"], relationship: \"direct\" },\n { name: \"Form\", category: \"data-entry\", targets: [\"Form\", \"Field\"], relationship: \"decomposed\" },\n { name: \"Input\", category: \"data-entry\", targets: [\"Field\", \"TextArea\", \"SearchField\", \"PasswordField\", \"OtpField\"], relationship: \"decomposed\" },\n { name: \"InputNumber\", category: \"data-entry\", targets: [\"NumberField\"], relationship: \"adapted\" },\n { name: \"Mentions\", category: \"data-entry\", targets: [\"Mentions\"], relationship: \"direct\" },\n { name: \"Radio\", category: \"data-entry\", targets: [\"Radio\", \"RadioGroup\"], relationship: \"decomposed\" },\n { name: \"Rate\", category: \"data-entry\", targets: [\"Slider\", \"Statistic\"], relationship: \"decomposed\" },\n { name: \"Select\", category: \"data-entry\", targets: [\"Select\"], relationship: \"direct\" },\n { name: \"Slider\", category: \"data-entry\", targets: [\"Slider\"], relationship: \"direct\" },\n { name: \"Switch\", category: \"data-entry\", targets: [\"Switch\"], relationship: \"direct\" },\n { name: \"TimePicker\", category: \"data-entry\", targets: [\"TimePicker\"], relationship: \"direct\" },\n { name: \"Transfer\", category: \"data-entry\", targets: [\"TransferList\"], relationship: \"adapted\" },\n { name: \"TreeSelect\", category: \"data-entry\", targets: [\"Popover\", \"Tree\"], relationship: \"decomposed\" },\n { name: \"Upload\", category: \"data-entry\", targets: [\"FilePicker\", \"UploadItem\"], relationship: \"decomposed\" },\n\n { name: \"Avatar\", category: \"data-display\", targets: [\"Avatar\"], relationship: \"direct\" },\n { name: \"Badge\", category: \"data-display\", targets: [\"Badge\", \"CounterBadge\"], relationship: \"decomposed\" },\n { name: \"Calendar\", category: \"data-display\", targets: [\"Calendar\"], relationship: \"direct\" },\n { name: \"Card\", category: \"data-display\", targets: [\"Card\"], relationship: \"direct\" },\n { name: \"Carousel\", category: \"data-display\", targets: [\"Carousel\"], relationship: \"direct\" },\n { name: \"Collapse\", category: \"data-display\", targets: [\"Accordion\"], relationship: \"adapted\" },\n { name: \"Descriptions\", category: \"data-display\", targets: [\"DescriptionList\"], relationship: \"adapted\" },\n { name: \"Empty\", category: \"data-display\", targets: [\"EmptyState\"], relationship: \"adapted\" },\n { name: \"Image\", category: \"data-display\", targets: [\"Image\"], relationship: \"direct\" },\n { name: \"List\", category: \"data-display\", targets: [\"List\", \"ListRow\"], relationship: \"decomposed\", lifecycle: \"deprecated\" },\n { name: \"Listy\", category: \"data-display\", targets: [\"VirtualList\"], relationship: \"adapted\", lifecycle: \"new\" },\n { name: \"Popover\", category: \"data-display\", targets: [\"Popover\"], relationship: \"direct\" },\n { name: \"QRCode\", category: \"data-display\", targets: [\"QRCode\"], relationship: \"direct\" },\n { name: \"Segmented\", category: \"data-display\", targets: [\"SegmentedControl\"], relationship: \"adapted\" },\n { name: \"Statistic\", category: \"data-display\", targets: [\"Statistic\"], relationship: \"direct\" },\n { name: \"Table\", category: \"data-display\", targets: [\"DataTable\"], relationship: \"adapted\" },\n { name: \"Tag\", category: \"data-display\", targets: [\"Tag\"], relationship: \"direct\" },\n { name: \"Timeline\", category: \"data-display\", targets: [\"Timeline\"], relationship: \"direct\" },\n { name: \"Tooltip\", category: \"data-display\", targets: [\"Tooltip\"], relationship: \"direct\" },\n { name: \"Tour\", category: \"data-display\", targets: [\"Tour\"], relationship: \"direct\" },\n { name: \"Tree\", category: \"data-display\", targets: [\"Tree\"], relationship: \"direct\" },\n\n { name: \"Alert\", category: \"feedback\", targets: [\"Notice\"], relationship: \"adapted\" },\n { name: \"Drawer\", category: \"feedback\", targets: [\"Sheet\", \"SidePanel\"], relationship: \"decomposed\" },\n { name: \"Message\", category: \"feedback\", targets: [\"Toast\"], relationship: \"adapted\" },\n { name: \"Modal\", category: \"feedback\", targets: [\"Dialog\", \"AlertDialog\"], relationship: \"decomposed\" },\n { name: \"Notification\", category: \"feedback\", targets: [\"Toast\"], relationship: \"adapted\" },\n { name: \"Popconfirm\", category: \"feedback\", targets: [\"Popover\", \"AlertDialog\"], relationship: \"decomposed\" },\n { name: \"Progress\", category: \"feedback\", targets: [\"Progress\"], relationship: \"direct\" },\n { name: \"Result\", category: \"feedback\", targets: [\"Result\"], relationship: \"direct\" },\n { name: \"Skeleton\", category: \"feedback\", targets: [\"Skeleton\"], relationship: \"direct\" },\n { name: \"Spin\", category: \"feedback\", targets: [\"Spinner\"], relationship: \"adapted\" },\n { name: \"Watermark\", category: \"feedback\", targets: [\"Watermark\"], relationship: \"direct\" },\n\n { name: \"Affix\", category: \"other\", targets: [\"Affix\"], relationship: \"direct\" },\n { name: \"ConfigProvider\", category: \"other\", targets: [\"DesignSystemProvider\"], relationship: \"adapted\" },\n] as const satisfies readonly AntDesignReferenceSourceComponent[];\n\nexport const antDesignReferenceComponents: readonly AntDesignReferenceComponent[] =\n antDesignReferenceSources.map((reference) => ({\n ...reference,\n targets: reference.targets.map((target) => componentIds[target]),\n }));\n\nexport type AntDesignComponentName = (typeof antDesignReferenceSources)[number][\"name\"];\n\nexport type ReferenceCoverageSummary = Readonly<{\n total: number;\n tracked: number;\n /** Every HJM target has reached stable or beta maturity. */\n fullyMature: number;\n /** At least one, but not every, HJM target has reached stable or beta maturity. */\n partiallyMature: number;\n /** No HJM target has moved beyond planned maturity. */\n plannedOnly: number;\n relationships: Readonly<Record<ReferenceRelationship, number>>;\n}>;\n\nexport function getAntDesignReferencesFor(\n componentNameOrId: string,\n): readonly AntDesignReferenceComponent[] {\n const definition = componentDefinitions.find(\n ({ id, name }) => id === componentNameOrId || name === componentNameOrId,\n );\n if (!definition) return [];\n return antDesignReferenceComponents.filter(({ targets }) =>\n targets.includes(definition.id),\n );\n}\n\nexport function summarizeAntDesignCoverage(\n entries: readonly ComponentCatalogEntry[] = componentCatalog,\n): ReferenceCoverageSummary {\n const statusById = new Map(\n entries.map((entry) => [componentIds[entry.name as ComponentName], entry.status]),\n );\n const relationships: Record<ReferenceRelationship, number> = {\n direct: 0,\n adapted: 0,\n decomposed: 0,\n };\n let tracked = 0;\n let fullyMature = 0;\n let partiallyMature = 0;\n\n for (const reference of antDesignReferenceComponents) {\n relationships[reference.relationship] += 1;\n const targetStatuses = reference.targets\n .map((target) => statusById.get(target))\n .filter((status): status is ComponentStatus => status !== undefined);\n if (targetStatuses.length === reference.targets.length) tracked += 1;\n const matureTargets = targetStatuses.filter(\n (status) => status === \"stable\" || status === \"beta\",\n ).length;\n if (matureTargets === reference.targets.length) fullyMature += 1;\n else if (matureTargets > 0) partiallyMature += 1;\n }\n\n const plannedOnly = antDesignReferenceComponents.length - fullyMature - partiallyMature;\n\n return {\n total: antDesignReferenceComponents.length,\n tracked,\n fullyMature,\n partiallyMature,\n plannedOnly,\n relationships,\n };\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import { type ButtonAppearance, type ButtonShape } from "./base-recipes.js";
1
2
  import { type ResolvedTheme, type ThemeColors } from "./colors.js";
2
3
  import { radius, typography, heading, shadow, type FontWeightValue, type FontFamilyRoles } from "./foundations.js";
3
4
  import { type EffectSurfaceDescriptor } from "./effect-surface.js";
@@ -33,6 +34,13 @@ type SurfaceMaterial = Readonly<{
33
34
  type Palette = Readonly<Record<ResolvedTheme, Readonly<ThemeColors>>>;
34
35
  export type HjmDesignProfile = Readonly<{
35
36
  id: string;
37
+ /** Optional brand defaults. The shared renderer still owns behavior, dimensions and states. */
38
+ controls?: Readonly<{
39
+ button?: Readonly<{
40
+ appearance: ButtonAppearance;
41
+ shape: ButtonShape;
42
+ }>;
43
+ }>;
36
44
  palette: Palette;
37
45
  tokens: Readonly<{
38
46
  radius: RadiusTokens;
@@ -61,6 +69,12 @@ export type HjmDesignProfile = Readonly<{
61
69
  export type HjmDesignProfileInput = Readonly<{
62
70
  extends?: HjmDesignPreset;
63
71
  id?: string;
72
+ controls?: Readonly<{
73
+ button?: Readonly<{
74
+ appearance?: ButtonAppearance;
75
+ shape?: ButtonShape;
76
+ }>;
77
+ }>;
64
78
  palette?: Readonly<Partial<Record<ResolvedTheme, Readonly<Partial<ThemeColors>>>>>;
65
79
  tokens?: Readonly<{
66
80
  radius?: Readonly<Partial<RadiusTokens>>;
@@ -1 +1 @@
1
- {"version":3,"file":"design-profile.d.ts","sourceRoot":"","sources":["../src/design-profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design-profile.d.ts","sourceRoot":"","sources":["../src/design-profile.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { buttonRecipe } from "./base-recipes.js";
1
2
  import { THEMES } from "./colors.js";
2
3
  import { radius, fontFamily, typography, heading, shadow, fontWeight } from "./foundations.js";
3
4
  import { checkPaletteContrast, resolveSurfaceFillOpacity } from "./palette-contrast.js";
@@ -200,6 +201,10 @@ function merge(base, input) {
200
201
  const reading = requestedFonts?.reading ?? base.tokens.fontFamily.reading;
201
202
  const profile = {
202
203
  id: input.id ?? base.id, palette,
204
+ ...(input.controls || base.controls ? { controls: { button: {
205
+ appearance: input.controls?.button?.appearance ?? base.controls?.button?.appearance ?? buttonRecipe.defaults.appearance,
206
+ shape: input.controls?.button?.shape ?? base.controls?.button?.shape ?? buttonRecipe.defaults.shape,
207
+ } } } : {}),
203
208
  tokens: {
204
209
  radius: { ...base.tokens.radius, ...input.tokens?.radius },
205
210
  // Copy caller-owned arrays: freezing the resolved profile must never freeze app input.
@@ -214,6 +219,16 @@ function merge(base, input) {
214
219
  compositions: { ...base.compositions, ...input.compositions },
215
220
  screens: { ...base.screens, ...input.screens },
216
221
  };
222
+ for (const key of Object.keys(input.controls ?? {}))
223
+ if (key !== "button")
224
+ throw new TypeError("Unsupported design profile control");
225
+ for (const key of Object.keys(input.controls?.button ?? {}))
226
+ if (key !== "appearance" && key !== "shape")
227
+ throw new TypeError("Unsupported design profile button setting");
228
+ if (profile.controls?.button) {
229
+ choose(profile.controls.button.appearance, ["flat", "raised"], "button appearance");
230
+ choose(profile.controls.button.shape, ["rounded", "pill"], "button shape");
231
+ }
217
232
  if (!profile.id.trim())
218
233
  throw new TypeError("Design profile id must not be empty");
219
234
  for (const mode of ["light", "dark"]) {
@@ -1 +1 @@
1
- {"version":3,"file":"design-profile.js","sourceRoot":"","sources":["../src/design-profile.ts"],"names":[],"mappings":"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","sourcesContent":["import { THEMES, type ResolvedTheme, type ThemeColors } from \"./colors.js\";\nimport { radius, fontFamily, typography, heading, shadow, fontWeight, type FontWeightValue, type FontFamilyRoles } from \"./foundations.js\";\nimport { checkPaletteContrast, resolveSurfaceFillOpacity } from \"./palette-contrast.js\";\nimport { resolveEffectSurface, type EffectSurfaceDescriptor } from \"./effect-surface.js\";\nimport type { ContentTransitionPreset } from \"./content-transition.js\";\n\n/** A product chooses one portable profile; the renderer owns each host translation.\n * Keep business state/callbacks outside it so a visual change cannot replace a draft.\n * See docs/design-profile.md for the staged renderer integration and coverage limits. */\nexport type HjmDesignPreset = \"neutral\" | \"retro\" | \"paper\" | \"forest\" | \"minimal\" | \"editorial\" | \"brutalist\" | \"glass\" | \"aurora\" | \"terminal\" | \"clay\";\ntype RadiusTokens = Readonly<Record<keyof typeof radius, number>>;\ntype TypeToken = Readonly<{ fontSize: number; lineHeight: number; fontWeight: FontWeightValue }>;\ntype TypographyTokens = Readonly<Record<keyof typeof typography, TypeToken>>;\ntype HeadingTokens = Readonly<Record<keyof typeof heading, TypeToken>>;\ntype ShadowToken = Readonly<{ color: string; opacity: number; radius: number; offsetY: number }>;\ntype ShadowTokens = Readonly<Record<keyof typeof shadow, ShadowToken>>;\ntype SurfaceMaterial = Readonly<{\n /** Host-relative strength; Web maps 1 to 32px, Native host calibrates its own blur. */\n blurStrength: number;\n /** Requested semantic fill; the renderer raises opacity when background contrast requires it. */\n fillOpacity: number;\n insetShadows: readonly Readonly<ShadowToken & { offsetX: number }>[];\n}>;\ntype Palette = Readonly<Record<ResolvedTheme, Readonly<ThemeColors>>>;\nexport type HjmDesignProfile = Readonly<{\n id: string;\n palette: Palette;\n tokens: Readonly<{\n radius: RadiusTokens;\n fontFamily: FontFamilyRoles;\n typography: TypographyTokens;\n heading: HeadingTokens;\n shadow: ShadowTokens;\n }>;\n material: Readonly<Record<\"canvas\" | \"card\", EffectSurfaceDescriptor | null> & { surface?: SurfaceMaterial | null }>;\n interactions: Readonly<{\n contentTransition: ContentTransitionPreset;\n selectionMotion: \"none\" | \"slide\";\n }>;\n compositions: Readonly<{\n collection: \"rows\" | \"cards\" | \"grid\";\n toolbar: \"inline\" | \"collapsible\";\n }>;\n screens: Readonly<{ overview: \"dashboard\" | \"editorial\" | \"landscape\" }>;\n}>;\n\n/** A custom app profile is data, not a mutable global registry or renderer import.\n * Partial records inherit the selected preset independently in light and dark. */\nexport type HjmDesignProfileInput = Readonly<{\n extends?: HjmDesignPreset;\n id?: string;\n palette?: Readonly<Partial<Record<ResolvedTheme, Readonly<Partial<ThemeColors>>>>>;\n tokens?: Readonly<{\n radius?: Readonly<Partial<RadiusTokens>>;\n fontFamily?: Readonly<Partial<HjmDesignProfile[\"tokens\"][\"fontFamily\"]>>;\n typography?: Readonly<Partial<Record<keyof typeof typography, Partial<TypeToken>>>>;\n heading?: Readonly<Partial<Record<keyof typeof heading, Partial<TypeToken>>>>;\n shadow?: Readonly<Partial<Record<keyof typeof shadow, Partial<ShadowToken>>>>;\n }>;\n material?: Readonly<Partial<Pick<HjmDesignProfile[\"material\"], \"canvas\" | \"card\">> & { surface?: Partial<SurfaceMaterial> | null }>;\n interactions?: Readonly<Partial<HjmDesignProfile[\"interactions\"]>>;\n compositions?: Readonly<Partial<HjmDesignProfile[\"compositions\"]>>;\n screens?: Readonly<Partial<HjmDesignProfile[\"screens\"]>>;\n}>;\n\nconst neutral: HjmDesignProfile = {\n id: \"neutral\", palette: THEMES,\n tokens: { radius, fontFamily, typography, heading, shadow },\n material: { canvas: null, card: null, surface: null },\n interactions: { contentTransition: \"fade\", selectionMotion: \"none\" },\n compositions: { collection: \"rows\", toolbar: \"inline\" },\n screens: { overview: \"dashboard\" },\n};\n\n/** System serif stack for editorial's display/reading roles; nothing is downloaded. `ui-serif` comes first because\n * Safari maps it to New York and Native translates it to the host serif (Chrome skips it). AppleMyungjo/Batang/\n * Noto Serif KR give Hangul a serif face where installed; otherwise Hangul falls back to the host font. */\nconst serifStack = [\"ui-serif\", \"Iowan Old Style\", \"Georgia\", \"AppleMyungjo\", \"Batang\", \"Noto Serif KR\", \"serif\"] as const;\n\n/** Profiles deliberately differ in interaction and arrangement, not just hue.\n * No font asset is bundled or implied: custom font loading remains product-owned. */\nconst presetInputs: Readonly<Record<Exclude<HjmDesignPreset, \"neutral\">, HjmDesignProfileInput>> = {\n retro: {\n id: \"retro\",\n palette: {\n light: { bg: \"#fff8e8\", surface: \"#fffdf5\", surfaceAlt: \"#eee0c5\", surfaceAccent: \"#f6d4a0\", border: \"#d1bd96\", borderControl: \"#75604b\", primary: \"#973c20\", contentBrand: \"#80321a\", text: \"#2c2119\", textBody: \"#413123\", textMuted: \"#594637\", textSub: \"#695646\", textWeak: \"#857461\" },\n dark: { bg: \"#211a16\", surface: \"#2d241d\", surfaceAlt: \"#3b3025\", surfaceAccent: \"#5e3827\", border: \"#807260\", borderControl: \"#b7a387\", primary: \"#af5437\", contentBrand: \"#ffc38b\", text: \"#fff5e1\", textBody: \"#ead8bb\", textMuted: \"#d5c1a3\", textSub: \"#bea88b\", textWeak: \"#a18e74\" },\n },\n tokens: { radius: { sm: 2, md: 4, lg: 6, xl: 8 } },\n material: { canvas: { layers: [\"noise\"], intensity: 0.08, active: false, seed: \"retro\" } },\n interactions: { contentTransition: \"slide\", selectionMotion: \"none\" },\n compositions: { collection: \"grid\", toolbar: \"inline\" },\n screens: { overview: \"dashboard\" },\n },\n paper: {\n id: \"paper\",\n palette: {\n light: { bg: \"#f9f5ed\", surface: \"#fffdf8\", surfaceAlt: \"#eee8dc\", surfaceAccent: \"#e7dac8\", border: \"#d6cabb\", borderControl: \"#776b5c\", primary: \"#665039\", contentBrand: \"#58432e\", text: \"#28231c\", textBody: \"#40382d\", textMuted: \"#5b5145\", textSub: \"#6e6253\", textWeak: \"#887b69\" },\n dark: { bg: \"#1b1916\", surface: \"#27231e\", surfaceAlt: \"#332d25\", surfaceAccent: \"#4f4132\", border: \"#847561\", borderControl: \"#b8a68c\", primary: \"#83684c\", contentBrand: \"#e3bf91\", text: \"#f8f0e1\", textBody: \"#e5d9c4\", textMuted: \"#d0c0a6\", textSub: \"#b8a78d\", textWeak: \"#a18e72\" },\n },\n tokens: { radius: { sm: 4, md: 6, lg: 8, xl: 12 } },\n // A-02's ruled-paper finding is distinct from grain. A static low-opacity\n // tile adds that voice without rotating controls or aligning content baselines.\n material: { canvas: { layers: [\"grain\", \"ruled\"], ruledSpacing: 24, intensity: 0.06, active: false, seed: \"paper\" } },\n interactions: { contentTransition: \"fade\", selectionMotion: \"none\" },\n compositions: { collection: \"rows\", toolbar: \"collapsible\" },\n screens: { overview: \"editorial\" },\n },\n forest: {\n id: \"forest\",\n palette: {\n light: { bg: \"#f2f7ef\", surface: \"#fbfdf8\", surfaceAlt: \"#e0ebda\", surfaceAccent: \"#d5e8c9\", border: \"#bdcdb5\", borderControl: \"#65765c\", primary: \"#285c35\", contentBrand: \"#23512d\", text: \"#1d2b1b\", textBody: \"#30422c\", textMuted: \"#485c41\", textSub: \"#5c6e54\", textWeak: \"#7b8b71\" },\n dark: { bg: \"#111c15\", surface: \"#1b2a1e\", surfaceAlt: \"#293a2a\", surfaceAccent: \"#304d32\", border: \"#6b816a\", borderControl: \"#95ac8d\", primary: \"#477c54\", contentBrand: \"#a8d994\", text: \"#eff7e9\", textBody: \"#d8e9cf\", textMuted: \"#bdd4b3\", textSub: \"#a1bd94\", textWeak: \"#87a17b\" },\n },\n tokens: { radius: { sm: 10, md: 16, lg: 24, xl: 32 } },\n material: { canvas: { layers: [\"mesh\", \"glow\"], intensity: 0.1, active: false, seed: \"forest\" } },\n interactions: { contentTransition: \"rise\", selectionMotion: \"slide\" },\n compositions: { collection: \"cards\", toolbar: \"collapsible\" },\n screens: { overview: \"landscape\" },\n },\n // minimal, editorial and terminal looked alike in light mode (near-white, only terminal's font differed) at the\n // 2026-10-17 user review. Each now carries its identity through palette, type, elevation and arrangement together.\n // minimal: achromatic hairlines on white, no shadow anywhere (overlays rely on their border and scrim), the shared\n // medium-weight headings, airy body leading and framed cards for the generous card padding.\n minimal: {\n id: \"minimal\",\n palette: {\n light: { bg: \"#ffffff\", surface: \"#fafafa\", surfaceAlt: \"#f2f2f2\", surfaceAccent: \"#ededed\", border: \"#e6e6e6\", borderControl: \"#767676\", primary: \"#3d3d3d\", contentBrand: \"#2e2e2e\", text: \"#111111\", textBody: \"#2b2b2b\", textMuted: \"#4a4a4a\", textSub: \"#5e5e5e\", textWeak: \"#8a8a8a\" },\n dark: { bg: \"#101010\", surface: \"#151515\", surfaceAlt: \"#1c1c1c\", surfaceAccent: \"#2a2a2a\", border: \"#333333\", borderControl: \"#8f8f8f\", primary: \"#6e6e6e\", contentBrand: \"#e2e2e2\", text: \"#f2f2f2\", textBody: \"#dedede\", textMuted: \"#c6c6c6\", textSub: \"#a3a3a3\", textWeak: \"#8a8a8a\" },\n },\n tokens: { radius: { sm: 4, md: 8, lg: 12, xl: 16 }, shadow: { raised: { opacity: 0 }, floating: { opacity: 0 } },\n typography: { body: { lineHeight: 26 } } },\n interactions: { contentTransition: \"fade\", selectionMotion: \"none\" },\n compositions: { collection: \"cards\", toolbar: \"inline\" }, screens: { overview: \"dashboard\" },\n },\n // editorial: serif display and reading roles over a warm ink-on-paper palette with a deep wine accent, airy body\n // leading, flat print corners, and rows, which the shared layout divides with rule lines. Its enlarged 56/42/30\n // headings were removed with the display tier (2026-10-17 user decision, \"큰 글자 정책은 없애\").\n editorial: {\n id: \"editorial\",\n palette: {\n light: { bg: \"#fdfbf7\", surface: \"#f7f3ec\", surfaceAlt: \"#efe9df\", surfaceAccent: \"#f1e4ea\", border: \"#cfc5b8\", borderControl: \"#6f655a\", primary: \"#7a1f3d\", contentBrand: \"#6b1a35\", text: \"#1b1714\", textBody: \"#2e2823\", textMuted: \"#4a423b\", textSub: \"#5f564d\", textWeak: \"#8a7f73\" },\n dark: { bg: \"#14110e\", surface: \"#1c1814\", surfaceAlt: \"#26211b\", surfaceAccent: \"#3f2430\", border: \"#5e554b\", borderControl: \"#a3988b\", primary: \"#ad4566\", contentBrand: \"#f2b8c9\", text: \"#f6f0e7\", textBody: \"#e6ddd1\", textMuted: \"#cfc4b6\", textSub: \"#b0a596\", textWeak: \"#958a7c\" },\n },\n tokens: { radius: { sm: 0, md: 2, lg: 2, xl: 4 }, fontFamily: { display: serifStack, reading: serifStack }, shadow: { raised: { opacity: 0 } },\n typography: { body: { lineHeight: 26 } } },\n interactions: { contentTransition: \"rise\", selectionMotion: \"none\" },\n compositions: { collection: \"rows\", toolbar: \"collapsible\" }, screens: { overview: \"editorial\" },\n },\n brutalist: {\n id: \"brutalist\",\n // Headings stay heavy (800) on purpose: the foundation headings became lighter on 2026-10-17, but the user\n // kept brutalist at 800 after comparing it in Storybook, because thick borders and hard shadows need the\n // heaviest headings to hold their weight. Do not align this with the 500 default. Only the weight differs:\n // the enlarged 48/38/30 sizes were removed with the display tier the same day (\"큰 글자 정책은 없애\"), so\n // sizes follow the shared scale. `typography.heading` carries Heading level1–3 through the profile alias.\n // docs/design-profile.md documents the same exception.\n palette: { light: { primary: \"#171717\", contentBrand: \"#171717\", surfaceAccent: \"#e8ed91\", border: \"#171717\" }, dark: { primary: \"#727272\", contentBrand: \"#f0f3a3\", surfaceAccent: \"#393a1c\", border: \"#cccccc\" } },\n tokens: { radius: { sm: 0, md: 0, lg: 0, xl: 0 }, shadow: { raised: { radius: 0, offsetY: 4, opacity: 0.25 }, floating: { radius: 0, offsetY: 6, opacity: 0.3 } }, typography: { heading: { fontWeight: fontWeight.heavy } } },\n\n interactions: { contentTransition: \"slide\", selectionMotion: \"none\" },\n compositions: { collection: \"cards\", toolbar: \"inline\" }, screens: { overview: \"editorial\" },\n },\n glass: {\n id: \"glass\",\n palette: { // Stronger ink tiers keep glass visibly translucent under the existing\n // contrast rules; the neutral weak/subtle tiers required an opaque fill.\n light: { primary: \"#435e91\", contentBrand: \"#354c78\", surfaceAccent: \"#e4ecf7\", textSub: \"#5b6879\", textWeak: \"#748292\" }, dark: { primary: \"#5673a3\", contentBrand: \"#c1d8ff\", surfaceAccent: \"#233654\" } },\n tokens: { radius: { sm: 12, md: 18, lg: 26, xl: 36 }, shadow: { floating: { radius: 24, opacity: 0.12, offsetY: 8 } } },\n material: { canvas: { layers: [\"mesh\"], intensity: 0.16, active: false, seed: \"glass\" }, card: { layers: [\"glow\"], intensity: 0.06, active: false, seed: \"glass-card\" }, surface: { blurStrength: 0.75, fillOpacity: 0.88, insetShadows: [] } },\n interactions: { contentTransition: \"fade\", selectionMotion: \"slide\" },\n compositions: { collection: \"cards\", toolbar: \"inline\" }, screens: { overview: \"landscape\" },\n },\n aurora: {\n id: \"aurora\",\n palette: { light: { primary: \"#62409b\", contentBrand: \"#58388b\", surfaceAccent: \"#ece2fa\" }, dark: { primary: \"#8161b1\", contentBrand: \"#dbc3ff\", surfaceAccent: \"#392651\" } },\n tokens: { radius: { sm: 8, md: 14, lg: 22, xl: 30 } },\n material: { canvas: { layers: [\"mesh\", \"glow\"], intensity: 0.2, active: true, period: 30, seed: \"aurora\" } },\n interactions: { contentTransition: \"scale\", selectionMotion: \"slide\" },\n compositions: { collection: \"grid\", toolbar: \"collapsible\" }, screens: { overview: \"landscape\" },\n },\n // terminal: monospace for every role (display/reading follow ui), square corners, no shadow, ruled rows, green\n // phosphor primary with amber brand text. Dark is a black console. Light cannot be a black console: the accent\n // foregrounds (ACCENTS.light, used by notices and status text) are fixed dark inks that the profile palette does not\n // replace, so a dark light-mode canvas would pass the palette check yet leave them unreadable. Light therefore uses\n // the darkest green-grey canvas on which those inks still reach 4.5:1 (about 4.6 on bg, 5.0 on surface).\n terminal: {\n id: \"terminal\",\n palette: {\n light: { bg: \"#c8d4c4\", surface: \"#d1dbcd\", surfaceAlt: \"#ccd7c8\", surfaceAccent: \"#cadbc5\", border: \"#6f8069\", borderControl: \"#33463a\", primary: \"#164f25\", contentBrand: \"#5c3200\", text: \"#04160a\", textBody: \"#0b2412\", textMuted: \"#15301c\", textSub: \"#1f3a26\", textWeak: \"#4a5d4d\", danger: \"#7f0e0e\" },\n dark: { bg: \"#050a06\", surface: \"#0b130d\", surfaceAlt: \"#122016\", surfaceAccent: \"#173a20\", border: \"#2f6b3e\", borderControl: \"#4fae66\", primary: \"#1f7a3a\", contentBrand: \"#ffb84d\", text: \"#9cf5ae\", textBody: \"#86e39a\", textMuted: \"#74cf89\", textSub: \"#62b877\", textWeak: \"#4d9a61\", danger: \"#ff8a7a\" },\n },\n tokens: { radius: { sm: 0, md: 0, lg: 0, xl: 0 }, fontFamily: { ui: fontFamily.code }, shadow: { raised: { opacity: 0 }, floating: { radius: 0, offsetY: 0, opacity: 0 } } },\n interactions: { contentTransition: \"fade\", selectionMotion: \"none\" },\n compositions: { collection: \"rows\", toolbar: \"collapsible\" }, screens: { overview: \"dashboard\" },\n },\n clay: {\n id: \"clay\",\n palette: { light: { primary: \"#904663\", contentBrand: \"#803b57\", surfaceAccent: \"#f7e1eb\" }, dark: { primary: \"#a25e7d\", contentBrand: \"#f1bed4\", surfaceAccent: \"#482b3a\" } },\n tokens: { radius: { sm: 14, md: 22, lg: 32, xl: 44 }, shadow: { raised: { radius: 16, offsetY: 6, opacity: 0.12 }, floating: { radius: 28, offsetY: 12, opacity: 0.18 } } },\n material: { card: { layers: [\"grain\"], intensity: 0.04, active: false, seed: \"clay\" }, surface: { blurStrength: 0, fillOpacity: 1, insetShadows: [\n { color: \"#ffffff\", opacity: 0.22, radius: 10, offsetX: 3, offsetY: 4 },\n { color: \"#000000\", opacity: 0.12, radius: 12, offsetX: -3, offsetY: -4 },\n ] } },\n interactions: { contentTransition: \"scale\", selectionMotion: \"slide\" },\n compositions: { collection: \"cards\", toolbar: \"collapsible\" }, screens: { overview: \"dashboard\" },\n },\n};\n\nfunction freeze<T>(value: T): T {\n if (value !== null && typeof value === \"object\") {\n for (const item of Object.values(value)) freeze(item);\n Object.freeze(value);\n }\n return value;\n}\n\nfunction choose<T extends string>(value: T, allowed: readonly T[], field: string): void {\n if (!allowed.includes(value)) throw new TypeError(`Unsupported design profile ${field}`);\n}\n\nfunction merge(base: HjmDesignProfile, input: HjmDesignProfileInput): HjmDesignProfile {\n for (const role of Object.keys(input.material ?? {})) {\n if (![\"canvas\", \"card\", \"surface\"].includes(role)) throw new TypeError(\"Unsupported design profile material role\");\n }\n const requestedSurface = input.material?.surface;\n if (requestedSurface !== undefined && requestedSurface !== null && (typeof requestedSurface !== \"object\" || Array.isArray(requestedSurface))) throw new TypeError(\"Invalid design profile surface material\");\n for (const key of Object.keys(requestedSurface ?? {})) {\n if (![\"blurStrength\", \"fillOpacity\", \"insetShadows\"].includes(key)) throw new TypeError(\"Unsupported design profile surface material field\");\n }\n const palette = {\n light: { ...base.palette.light, ...input.palette?.light },\n dark: { ...base.palette.dark, ...input.palette?.dark },\n };\n // fromEntries loses fixed keys; iteration over the complete base preserves every role.\n const type = Object.fromEntries(Object.entries(base.tokens.typography).map(([key, value]) => [key, { ...value, ...input.tokens?.typography?.[key as keyof TypographyTokens] }])) as unknown as TypographyTokens;\n // Every heading level follows a typography role, with explicit heading overrides last, and preserves\n // inherited heading values on empty input. Deprecated level1/2 follow `heading` like level3 since the\n // display tier was removed (2026-10-17 user decision, \"큰 글자 정책은 없애\").\n const aliases = { level1: \"heading\", level2: \"heading\", level3: \"heading\", level4: \"titleLarge\", level5: \"title\" } as const;\n for (const key of Object.keys(input.tokens?.heading ?? {})) {\n if (!Object.prototype.hasOwnProperty.call(heading, key)) throw new TypeError(\"Unsupported design profile heading level\");\n }\n const headings = Object.fromEntries(Object.entries(base.tokens.heading).map(([key, value]) => {\n const level = key as keyof HeadingTokens;\n const alias = level in aliases ? aliases[level as keyof typeof aliases] : undefined;\n return [level, { ...value, ...(alias ? input.tokens?.typography?.[alias] : undefined), ...input.tokens?.heading?.[level] }];\n })) as unknown as HeadingTokens;\n // The complete base shadow record has the same key-preservation guarantee.\n const elevation = Object.fromEntries(Object.entries(base.tokens.shadow).map(([key, value]) => [key, { ...value, ...input.tokens?.shadow?.[key as keyof ShadowTokens] }])) as unknown as ShadowTokens;\n const requestedFonts = input.tokens?.fontFamily;\n for (const role of Object.keys(requestedFonts ?? {})) {\n if (![\"ui\", \"code\", \"display\", \"reading\"].includes(role)) throw new TypeError(\"Unsupported design profile font role\");\n const families = requestedFonts?.[role as keyof FontFamilyRoles];\n if (families !== undefined && (!Array.isArray(families) || !families.length || families.some(family => typeof family !== \"string\" || !family.trim()))) throw new TypeError(\"Design profile font families must not be empty\");\n }\n const display = requestedFonts?.display ?? base.tokens.fontFamily.display;\n const reading = requestedFonts?.reading ?? base.tokens.fontFamily.reading;\n const profile: HjmDesignProfile = {\n id: input.id ?? base.id, palette,\n tokens: {\n radius: { ...base.tokens.radius, ...input.tokens?.radius },\n // Copy caller-owned arrays: freezing the resolved profile must never freeze app input.\n fontFamily: { ui: [...(input.tokens?.fontFamily?.ui ?? base.tokens.fontFamily.ui)], code: [...(input.tokens?.fontFamily?.code ?? base.tokens.fontFamily.code)],\n ...(display ? { display: [...display] } : {}), ...(reading ? { reading: [...reading] } : {}) },\n typography: type, heading: headings, shadow: elevation,\n },\n material: { ...base.material, ...input.material, surface: input.material?.surface === null ? null\n : input.material?.surface === undefined ? base.material.surface ?? null\n : { blurStrength: 0, fillOpacity: 1, insetShadows: [], ...base.material.surface, ...input.material.surface } },\n interactions: { ...base.interactions, ...input.interactions },\n compositions: { ...base.compositions, ...input.compositions },\n screens: { ...base.screens, ...input.screens },\n };\n if (!profile.id.trim()) throw new TypeError(\"Design profile id must not be empty\");\n for (const mode of [\"light\", \"dark\"] as const) {\n for (const [key, value] of Object.entries(palette[mode])) {\n if (!(key in THEMES[mode]) || !/^#[0-9a-f]{6}$/i.test(value)) throw new TypeError(`Invalid design profile palette ${mode}.${key}`);\n }\n if (checkPaletteContrast(palette[mode]).length) throw new RangeError(`Design profile ${mode} palette fails required contrast pairs`);\n }\n for (const [key, value] of Object.entries(profile.tokens.radius)) {\n if (!(key in radius) || !Number.isFinite(value) || value < 0 || value > 999) throw new RangeError(\"Invalid design profile radius\");\n }\n // Circles/pills retain their semantic geometry; product corners apply to other roles.\n if (profile.tokens.radius.full !== radius.full) throw new RangeError(\"Design profile must preserve full radius\");\n // No profile may enlarge text past the HJM ceiling, `typography.heading` (2026-10-17 user decision, \"글자 너무 커\",\n // \"큰 글자 정책은 없애\"). Before, up to 96 was allowed and presets drew 30–56px headings.\n for (const value of [...Object.values(type), ...Object.values(headings)]) {\n if (!Number.isFinite(value.fontSize) || value.fontSize < 11 || value.fontSize > typography.heading.fontSize || !Number.isFinite(value.lineHeight) || value.lineHeight < value.fontSize || value.lineHeight > 144) throw new RangeError(\"Invalid design profile typography\");\n choose(value.fontWeight, [\"400\", \"500\", \"600\", \"700\", \"800\"], \"fontWeight\");\n }\n for (const families of Object.values(profile.tokens.fontFamily)) {\n if (!Array.isArray(families) || !families.length || families.some(family => typeof family !== \"string\" || !family.trim())) throw new TypeError(\"Design profile font families must not be empty\");\n }\n for (const token of Object.values(elevation)) {\n if (!/^#[0-9a-f]{6}$/i.test(token.color) || !Number.isFinite(token.opacity) || token.opacity < 0 || token.opacity > 1 || !Number.isFinite(token.radius) || token.radius < 0 || token.radius > 96 || !Number.isFinite(token.offsetY) || Math.abs(token.offsetY) > 96) throw new RangeError(\"Invalid design profile shadow\");\n }\n const surface = profile.material.surface;\n if (surface) {\n // Keep a readable semantic fill rather than copying a low-alpha reference card.\n // Native can fail to supply blur and must always retain its opaque fallback.\n if (!Number.isFinite(surface.blurStrength) || surface.blurStrength < 0 || surface.blurStrength > 1 || !Number.isFinite(surface.fillOpacity) || surface.fillOpacity < 0.85 || surface.fillOpacity > 1) throw new RangeError(\"Invalid design profile surface material\");\n if (!Array.isArray(surface.insetShadows) || surface.insetShadows.length > 2) throw new RangeError(\"Invalid design profile inset shadows\");\n for (const token of surface.insetShadows) {\n if (!/^#[0-9a-f]{6}$/i.test(token.color) || !Number.isFinite(token.opacity) || token.opacity < 0 || token.opacity > 1 || !Number.isFinite(token.radius) || token.radius < 0 || token.radius > 96 || !Number.isFinite(token.offsetY) || Math.abs(token.offsetY) > 96 || !Number.isFinite(token.offsetX) || Math.abs(token.offsetX) > 96) throw new RangeError(\"Invalid design profile inset shadow\");\n }\n }\n const effects = Object.fromEntries(([\"canvas\", \"card\"] as const).map(role => {\n const descriptor = profile.material[role];\n if (descriptor === null) return [role, null];\n resolveEffectSurface(descriptor);\n // Deep-copy material data as well: a preset resolver must not own caller state.\n return [role, { ...descriptor, ...(descriptor.layers ? { layers: [...descriptor.layers] } : {}), ...(descriptor.colors ? { colors: descriptor.colors.map(color => ({ ...color })) } : {}) }];\n })) as Pick<HjmDesignProfile[\"material\"], \"canvas\" | \"card\">;\n const material = { ...effects, surface: surface ? { ...surface, insetShadows: surface.insetShadows.map(token => ({ ...token })) } : null };\n choose(profile.interactions.contentTransition, [\"fade\", \"rise\", \"slide\", \"scale\"], \"contentTransition\");\n choose(profile.interactions.selectionMotion, [\"none\", \"slide\"], \"selectionMotion\");\n choose(profile.compositions.collection, [\"rows\", \"cards\", \"grid\"], \"collection\");\n choose(profile.compositions.toolbar, [\"inline\", \"collapsible\"], \"toolbar\");\n choose(profile.screens.overview, [\"dashboard\", \"editorial\", \"landscape\"], \"overview\");\n return freeze({ ...profile, material });\n}\n\nexport const hjmDesignPresets: Readonly<Record<HjmDesignPreset, HjmDesignProfile>> = freeze({\n neutral: merge(neutral, {}),\n retro: merge(neutral, presetInputs.retro),\n paper: merge(neutral, presetInputs.paper),\n forest: merge(neutral, presetInputs.forest),\n minimal: merge(neutral, presetInputs.minimal),\n editorial: merge(neutral, presetInputs.editorial),\n brutalist: merge(neutral, presetInputs.brutalist),\n glass: merge(neutral, presetInputs.glass),\n aurora: merge(neutral, presetInputs.aurora),\n terminal: merge(neutral, presetInputs.terminal),\n clay: merge(neutral, presetInputs.clay),\n});\n\nexport function defineHjmDesignProfile(input: HjmDesignProfileInput = {}): HjmDesignProfile {\n const base = hjmDesignPresets[input.extends ?? \"neutral\"];\n if (!base) throw new TypeError(\"Unknown HJM design preset\");\n return merge(base, input);\n}\n\n/** Resolve the readable fill against black/white backdrop extremes using the\n * final product palette, including brandPalette overrides. Blur is decorative:\n * it cannot be used as evidence of text contrast over arbitrary app content. */\nexport function resolveDesignProfileSurfaceMaterial(profile: HjmDesignProfile | undefined, palette: Readonly<ThemeColors>): SurfaceMaterial | null {\n const material = profile?.material.surface;\n if (!material) return null;\n // Transparency requires a real backdrop effect. Plain/clay surfaces stay solid\n // on both hosts instead of becoming tint-only imitations of a glass material.\n if (!material.blurStrength) return { ...material, fillOpacity: 1 };\n return { ...material, fillOpacity: resolveSurfaceFillOpacity(material.fillOpacity, palette) };\n}\n"]}
1
+ {"version":3,"file":"design-profile.js","sourceRoot":"","sources":["../src/design-profile.ts"],"names":[],"mappings":"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","sourcesContent":["import { buttonRecipe, type ButtonAppearance, type ButtonShape } from \"./base-recipes.js\";\nimport { THEMES, type ResolvedTheme, type ThemeColors } from \"./colors.js\";\nimport { radius, fontFamily, typography, heading, shadow, fontWeight, type FontWeightValue, type FontFamilyRoles } from \"./foundations.js\";\nimport { checkPaletteContrast, resolveSurfaceFillOpacity } from \"./palette-contrast.js\";\nimport { resolveEffectSurface, type EffectSurfaceDescriptor } from \"./effect-surface.js\";\nimport type { ContentTransitionPreset } from \"./content-transition.js\";\n\n/** A product chooses one portable profile; the renderer owns each host translation.\n * Keep business state/callbacks outside it so a visual change cannot replace a draft.\n * See docs/design-profile.md for the staged renderer integration and coverage limits. */\nexport type HjmDesignPreset = \"neutral\" | \"retro\" | \"paper\" | \"forest\" | \"minimal\" | \"editorial\" | \"brutalist\" | \"glass\" | \"aurora\" | \"terminal\" | \"clay\";\ntype RadiusTokens = Readonly<Record<keyof typeof radius, number>>;\ntype TypeToken = Readonly<{ fontSize: number; lineHeight: number; fontWeight: FontWeightValue }>;\ntype TypographyTokens = Readonly<Record<keyof typeof typography, TypeToken>>;\ntype HeadingTokens = Readonly<Record<keyof typeof heading, TypeToken>>;\ntype ShadowToken = Readonly<{ color: string; opacity: number; radius: number; offsetY: number }>;\ntype ShadowTokens = Readonly<Record<keyof typeof shadow, ShadowToken>>;\ntype SurfaceMaterial = Readonly<{\n /** Host-relative strength; Web maps 1 to 32px, Native host calibrates its own blur. */\n blurStrength: number;\n /** Requested semantic fill; the renderer raises opacity when background contrast requires it. */\n fillOpacity: number;\n insetShadows: readonly Readonly<ShadowToken & { offsetX: number }>[];\n}>;\ntype Palette = Readonly<Record<ResolvedTheme, Readonly<ThemeColors>>>;\nexport type HjmDesignProfile = Readonly<{\n id: string;\n /** Optional brand defaults. The shared renderer still owns behavior, dimensions and states. */\n controls?: Readonly<{ button?: Readonly<{ appearance: ButtonAppearance; shape: ButtonShape }> }>;\n palette: Palette;\n tokens: Readonly<{\n radius: RadiusTokens;\n fontFamily: FontFamilyRoles;\n typography: TypographyTokens;\n heading: HeadingTokens;\n shadow: ShadowTokens;\n }>;\n material: Readonly<Record<\"canvas\" | \"card\", EffectSurfaceDescriptor | null> & { surface?: SurfaceMaterial | null }>;\n interactions: Readonly<{\n contentTransition: ContentTransitionPreset;\n selectionMotion: \"none\" | \"slide\";\n }>;\n compositions: Readonly<{\n collection: \"rows\" | \"cards\" | \"grid\";\n toolbar: \"inline\" | \"collapsible\";\n }>;\n screens: Readonly<{ overview: \"dashboard\" | \"editorial\" | \"landscape\" }>;\n}>;\n\n/** A custom app profile is data, not a mutable global registry or renderer import.\n * Partial records inherit the selected preset independently in light and dark. */\nexport type HjmDesignProfileInput = Readonly<{\n extends?: HjmDesignPreset;\n id?: string;\n controls?: Readonly<{ button?: Readonly<{ appearance?: ButtonAppearance; shape?: ButtonShape }> }>;\n palette?: Readonly<Partial<Record<ResolvedTheme, Readonly<Partial<ThemeColors>>>>>;\n tokens?: Readonly<{\n radius?: Readonly<Partial<RadiusTokens>>;\n fontFamily?: Readonly<Partial<HjmDesignProfile[\"tokens\"][\"fontFamily\"]>>;\n typography?: Readonly<Partial<Record<keyof typeof typography, Partial<TypeToken>>>>;\n heading?: Readonly<Partial<Record<keyof typeof heading, Partial<TypeToken>>>>;\n shadow?: Readonly<Partial<Record<keyof typeof shadow, Partial<ShadowToken>>>>;\n }>;\n material?: Readonly<Partial<Pick<HjmDesignProfile[\"material\"], \"canvas\" | \"card\">> & { surface?: Partial<SurfaceMaterial> | null }>;\n interactions?: Readonly<Partial<HjmDesignProfile[\"interactions\"]>>;\n compositions?: Readonly<Partial<HjmDesignProfile[\"compositions\"]>>;\n screens?: Readonly<Partial<HjmDesignProfile[\"screens\"]>>;\n}>;\n\nconst neutral: HjmDesignProfile = {\n id: \"neutral\", palette: THEMES,\n tokens: { radius, fontFamily, typography, heading, shadow },\n material: { canvas: null, card: null, surface: null },\n interactions: { contentTransition: \"fade\", selectionMotion: \"none\" },\n compositions: { collection: \"rows\", toolbar: \"inline\" },\n screens: { overview: \"dashboard\" },\n};\n\n/** System serif stack for editorial's display/reading roles; nothing is downloaded. `ui-serif` comes first because\n * Safari maps it to New York and Native translates it to the host serif (Chrome skips it). AppleMyungjo/Batang/\n * Noto Serif KR give Hangul a serif face where installed; otherwise Hangul falls back to the host font. */\nconst serifStack = [\"ui-serif\", \"Iowan Old Style\", \"Georgia\", \"AppleMyungjo\", \"Batang\", \"Noto Serif KR\", \"serif\"] as const;\n\n/** Profiles deliberately differ in interaction and arrangement, not just hue.\n * No font asset is bundled or implied: custom font loading remains product-owned. */\nconst presetInputs: Readonly<Record<Exclude<HjmDesignPreset, \"neutral\">, HjmDesignProfileInput>> = {\n retro: {\n id: \"retro\",\n palette: {\n light: { bg: \"#fff8e8\", surface: \"#fffdf5\", surfaceAlt: \"#eee0c5\", surfaceAccent: \"#f6d4a0\", border: \"#d1bd96\", borderControl: \"#75604b\", primary: \"#973c20\", contentBrand: \"#80321a\", text: \"#2c2119\", textBody: \"#413123\", textMuted: \"#594637\", textSub: \"#695646\", textWeak: \"#857461\" },\n dark: { bg: \"#211a16\", surface: \"#2d241d\", surfaceAlt: \"#3b3025\", surfaceAccent: \"#5e3827\", border: \"#807260\", borderControl: \"#b7a387\", primary: \"#af5437\", contentBrand: \"#ffc38b\", text: \"#fff5e1\", textBody: \"#ead8bb\", textMuted: \"#d5c1a3\", textSub: \"#bea88b\", textWeak: \"#a18e74\" },\n },\n tokens: { radius: { sm: 2, md: 4, lg: 6, xl: 8 } },\n material: { canvas: { layers: [\"noise\"], intensity: 0.08, active: false, seed: \"retro\" } },\n interactions: { contentTransition: \"slide\", selectionMotion: \"none\" },\n compositions: { collection: \"grid\", toolbar: \"inline\" },\n screens: { overview: \"dashboard\" },\n },\n paper: {\n id: \"paper\",\n palette: {\n light: { bg: \"#f9f5ed\", surface: \"#fffdf8\", surfaceAlt: \"#eee8dc\", surfaceAccent: \"#e7dac8\", border: \"#d6cabb\", borderControl: \"#776b5c\", primary: \"#665039\", contentBrand: \"#58432e\", text: \"#28231c\", textBody: \"#40382d\", textMuted: \"#5b5145\", textSub: \"#6e6253\", textWeak: \"#887b69\" },\n dark: { bg: \"#1b1916\", surface: \"#27231e\", surfaceAlt: \"#332d25\", surfaceAccent: \"#4f4132\", border: \"#847561\", borderControl: \"#b8a68c\", primary: \"#83684c\", contentBrand: \"#e3bf91\", text: \"#f8f0e1\", textBody: \"#e5d9c4\", textMuted: \"#d0c0a6\", textSub: \"#b8a78d\", textWeak: \"#a18e72\" },\n },\n tokens: { radius: { sm: 4, md: 6, lg: 8, xl: 12 } },\n // A-02's ruled-paper finding is distinct from grain. A static low-opacity\n // tile adds that voice without rotating controls or aligning content baselines.\n material: { canvas: { layers: [\"grain\", \"ruled\"], ruledSpacing: 24, intensity: 0.06, active: false, seed: \"paper\" } },\n interactions: { contentTransition: \"fade\", selectionMotion: \"none\" },\n compositions: { collection: \"rows\", toolbar: \"collapsible\" },\n screens: { overview: \"editorial\" },\n },\n forest: {\n id: \"forest\",\n palette: {\n light: { bg: \"#f2f7ef\", surface: \"#fbfdf8\", surfaceAlt: \"#e0ebda\", surfaceAccent: \"#d5e8c9\", border: \"#bdcdb5\", borderControl: \"#65765c\", primary: \"#285c35\", contentBrand: \"#23512d\", text: \"#1d2b1b\", textBody: \"#30422c\", textMuted: \"#485c41\", textSub: \"#5c6e54\", textWeak: \"#7b8b71\" },\n dark: { bg: \"#111c15\", surface: \"#1b2a1e\", surfaceAlt: \"#293a2a\", surfaceAccent: \"#304d32\", border: \"#6b816a\", borderControl: \"#95ac8d\", primary: \"#477c54\", contentBrand: \"#a8d994\", text: \"#eff7e9\", textBody: \"#d8e9cf\", textMuted: \"#bdd4b3\", textSub: \"#a1bd94\", textWeak: \"#87a17b\" },\n },\n tokens: { radius: { sm: 10, md: 16, lg: 24, xl: 32 } },\n material: { canvas: { layers: [\"mesh\", \"glow\"], intensity: 0.1, active: false, seed: \"forest\" } },\n interactions: { contentTransition: \"rise\", selectionMotion: \"slide\" },\n compositions: { collection: \"cards\", toolbar: \"collapsible\" },\n screens: { overview: \"landscape\" },\n },\n // minimal, editorial and terminal looked alike in light mode (near-white, only terminal's font differed) at the\n // 2026-10-17 user review. Each now carries its identity through palette, type, elevation and arrangement together.\n // minimal: achromatic hairlines on white, no shadow anywhere (overlays rely on their border and scrim), the shared\n // medium-weight headings, airy body leading and framed cards for the generous card padding.\n minimal: {\n id: \"minimal\",\n palette: {\n light: { bg: \"#ffffff\", surface: \"#fafafa\", surfaceAlt: \"#f2f2f2\", surfaceAccent: \"#ededed\", border: \"#e6e6e6\", borderControl: \"#767676\", primary: \"#3d3d3d\", contentBrand: \"#2e2e2e\", text: \"#111111\", textBody: \"#2b2b2b\", textMuted: \"#4a4a4a\", textSub: \"#5e5e5e\", textWeak: \"#8a8a8a\" },\n dark: { bg: \"#101010\", surface: \"#151515\", surfaceAlt: \"#1c1c1c\", surfaceAccent: \"#2a2a2a\", border: \"#333333\", borderControl: \"#8f8f8f\", primary: \"#6e6e6e\", contentBrand: \"#e2e2e2\", text: \"#f2f2f2\", textBody: \"#dedede\", textMuted: \"#c6c6c6\", textSub: \"#a3a3a3\", textWeak: \"#8a8a8a\" },\n },\n tokens: { radius: { sm: 4, md: 8, lg: 12, xl: 16 }, shadow: { raised: { opacity: 0 }, floating: { opacity: 0 } },\n typography: { body: { lineHeight: 26 } } },\n interactions: { contentTransition: \"fade\", selectionMotion: \"none\" },\n compositions: { collection: \"cards\", toolbar: \"inline\" }, screens: { overview: \"dashboard\" },\n },\n // editorial: serif display and reading roles over a warm ink-on-paper palette with a deep wine accent, airy body\n // leading, flat print corners, and rows, which the shared layout divides with rule lines. Its enlarged 56/42/30\n // headings were removed with the display tier (2026-10-17 user decision, \"큰 글자 정책은 없애\").\n editorial: {\n id: \"editorial\",\n palette: {\n light: { bg: \"#fdfbf7\", surface: \"#f7f3ec\", surfaceAlt: \"#efe9df\", surfaceAccent: \"#f1e4ea\", border: \"#cfc5b8\", borderControl: \"#6f655a\", primary: \"#7a1f3d\", contentBrand: \"#6b1a35\", text: \"#1b1714\", textBody: \"#2e2823\", textMuted: \"#4a423b\", textSub: \"#5f564d\", textWeak: \"#8a7f73\" },\n dark: { bg: \"#14110e\", surface: \"#1c1814\", surfaceAlt: \"#26211b\", surfaceAccent: \"#3f2430\", border: \"#5e554b\", borderControl: \"#a3988b\", primary: \"#ad4566\", contentBrand: \"#f2b8c9\", text: \"#f6f0e7\", textBody: \"#e6ddd1\", textMuted: \"#cfc4b6\", textSub: \"#b0a596\", textWeak: \"#958a7c\" },\n },\n tokens: { radius: { sm: 0, md: 2, lg: 2, xl: 4 }, fontFamily: { display: serifStack, reading: serifStack }, shadow: { raised: { opacity: 0 } },\n typography: { body: { lineHeight: 26 } } },\n interactions: { contentTransition: \"rise\", selectionMotion: \"none\" },\n compositions: { collection: \"rows\", toolbar: \"collapsible\" }, screens: { overview: \"editorial\" },\n },\n brutalist: {\n id: \"brutalist\",\n // Headings stay heavy (800) on purpose: the foundation headings became lighter on 2026-10-17, but the user\n // kept brutalist at 800 after comparing it in Storybook, because thick borders and hard shadows need the\n // heaviest headings to hold their weight. Do not align this with the 500 default. Only the weight differs:\n // the enlarged 48/38/30 sizes were removed with the display tier the same day (\"큰 글자 정책은 없애\"), so\n // sizes follow the shared scale. `typography.heading` carries Heading level1–3 through the profile alias.\n // docs/design-profile.md documents the same exception.\n palette: { light: { primary: \"#171717\", contentBrand: \"#171717\", surfaceAccent: \"#e8ed91\", border: \"#171717\" }, dark: { primary: \"#727272\", contentBrand: \"#f0f3a3\", surfaceAccent: \"#393a1c\", border: \"#cccccc\" } },\n tokens: { radius: { sm: 0, md: 0, lg: 0, xl: 0 }, shadow: { raised: { radius: 0, offsetY: 4, opacity: 0.25 }, floating: { radius: 0, offsetY: 6, opacity: 0.3 } }, typography: { heading: { fontWeight: fontWeight.heavy } } },\n\n interactions: { contentTransition: \"slide\", selectionMotion: \"none\" },\n compositions: { collection: \"cards\", toolbar: \"inline\" }, screens: { overview: \"editorial\" },\n },\n glass: {\n id: \"glass\",\n palette: { // Stronger ink tiers keep glass visibly translucent under the existing\n // contrast rules; the neutral weak/subtle tiers required an opaque fill.\n light: { primary: \"#435e91\", contentBrand: \"#354c78\", surfaceAccent: \"#e4ecf7\", textSub: \"#5b6879\", textWeak: \"#748292\" }, dark: { primary: \"#5673a3\", contentBrand: \"#c1d8ff\", surfaceAccent: \"#233654\" } },\n tokens: { radius: { sm: 12, md: 18, lg: 26, xl: 36 }, shadow: { floating: { radius: 24, opacity: 0.12, offsetY: 8 } } },\n material: { canvas: { layers: [\"mesh\"], intensity: 0.16, active: false, seed: \"glass\" }, card: { layers: [\"glow\"], intensity: 0.06, active: false, seed: \"glass-card\" }, surface: { blurStrength: 0.75, fillOpacity: 0.88, insetShadows: [] } },\n interactions: { contentTransition: \"fade\", selectionMotion: \"slide\" },\n compositions: { collection: \"cards\", toolbar: \"inline\" }, screens: { overview: \"landscape\" },\n },\n aurora: {\n id: \"aurora\",\n palette: { light: { primary: \"#62409b\", contentBrand: \"#58388b\", surfaceAccent: \"#ece2fa\" }, dark: { primary: \"#8161b1\", contentBrand: \"#dbc3ff\", surfaceAccent: \"#392651\" } },\n tokens: { radius: { sm: 8, md: 14, lg: 22, xl: 30 } },\n material: { canvas: { layers: [\"mesh\", \"glow\"], intensity: 0.2, active: true, period: 30, seed: \"aurora\" } },\n interactions: { contentTransition: \"scale\", selectionMotion: \"slide\" },\n compositions: { collection: \"grid\", toolbar: \"collapsible\" }, screens: { overview: \"landscape\" },\n },\n // terminal: monospace for every role (display/reading follow ui), square corners, no shadow, ruled rows, green\n // phosphor primary with amber brand text. Dark is a black console. Light cannot be a black console: the accent\n // foregrounds (ACCENTS.light, used by notices and status text) are fixed dark inks that the profile palette does not\n // replace, so a dark light-mode canvas would pass the palette check yet leave them unreadable. Light therefore uses\n // the darkest green-grey canvas on which those inks still reach 4.5:1 (about 4.6 on bg, 5.0 on surface).\n terminal: {\n id: \"terminal\",\n palette: {\n light: { bg: \"#c8d4c4\", surface: \"#d1dbcd\", surfaceAlt: \"#ccd7c8\", surfaceAccent: \"#cadbc5\", border: \"#6f8069\", borderControl: \"#33463a\", primary: \"#164f25\", contentBrand: \"#5c3200\", text: \"#04160a\", textBody: \"#0b2412\", textMuted: \"#15301c\", textSub: \"#1f3a26\", textWeak: \"#4a5d4d\", danger: \"#7f0e0e\" },\n dark: { bg: \"#050a06\", surface: \"#0b130d\", surfaceAlt: \"#122016\", surfaceAccent: \"#173a20\", border: \"#2f6b3e\", borderControl: \"#4fae66\", primary: \"#1f7a3a\", contentBrand: \"#ffb84d\", text: \"#9cf5ae\", textBody: \"#86e39a\", textMuted: \"#74cf89\", textSub: \"#62b877\", textWeak: \"#4d9a61\", danger: \"#ff8a7a\" },\n },\n tokens: { radius: { sm: 0, md: 0, lg: 0, xl: 0 }, fontFamily: { ui: fontFamily.code }, shadow: { raised: { opacity: 0 }, floating: { radius: 0, offsetY: 0, opacity: 0 } } },\n interactions: { contentTransition: \"fade\", selectionMotion: \"none\" },\n compositions: { collection: \"rows\", toolbar: \"collapsible\" }, screens: { overview: \"dashboard\" },\n },\n clay: {\n id: \"clay\",\n palette: { light: { primary: \"#904663\", contentBrand: \"#803b57\", surfaceAccent: \"#f7e1eb\" }, dark: { primary: \"#a25e7d\", contentBrand: \"#f1bed4\", surfaceAccent: \"#482b3a\" } },\n tokens: { radius: { sm: 14, md: 22, lg: 32, xl: 44 }, shadow: { raised: { radius: 16, offsetY: 6, opacity: 0.12 }, floating: { radius: 28, offsetY: 12, opacity: 0.18 } } },\n material: { card: { layers: [\"grain\"], intensity: 0.04, active: false, seed: \"clay\" }, surface: { blurStrength: 0, fillOpacity: 1, insetShadows: [\n { color: \"#ffffff\", opacity: 0.22, radius: 10, offsetX: 3, offsetY: 4 },\n { color: \"#000000\", opacity: 0.12, radius: 12, offsetX: -3, offsetY: -4 },\n ] } },\n interactions: { contentTransition: \"scale\", selectionMotion: \"slide\" },\n compositions: { collection: \"cards\", toolbar: \"collapsible\" }, screens: { overview: \"dashboard\" },\n },\n};\n\nfunction freeze<T>(value: T): T {\n if (value !== null && typeof value === \"object\") {\n for (const item of Object.values(value)) freeze(item);\n Object.freeze(value);\n }\n return value;\n}\n\nfunction choose<T extends string>(value: T, allowed: readonly T[], field: string): void {\n if (!allowed.includes(value)) throw new TypeError(`Unsupported design profile ${field}`);\n}\n\nfunction merge(base: HjmDesignProfile, input: HjmDesignProfileInput): HjmDesignProfile {\n for (const role of Object.keys(input.material ?? {})) {\n if (![\"canvas\", \"card\", \"surface\"].includes(role)) throw new TypeError(\"Unsupported design profile material role\");\n }\n const requestedSurface = input.material?.surface;\n if (requestedSurface !== undefined && requestedSurface !== null && (typeof requestedSurface !== \"object\" || Array.isArray(requestedSurface))) throw new TypeError(\"Invalid design profile surface material\");\n for (const key of Object.keys(requestedSurface ?? {})) {\n if (![\"blurStrength\", \"fillOpacity\", \"insetShadows\"].includes(key)) throw new TypeError(\"Unsupported design profile surface material field\");\n }\n const palette = {\n light: { ...base.palette.light, ...input.palette?.light },\n dark: { ...base.palette.dark, ...input.palette?.dark },\n };\n // fromEntries loses fixed keys; iteration over the complete base preserves every role.\n const type = Object.fromEntries(Object.entries(base.tokens.typography).map(([key, value]) => [key, { ...value, ...input.tokens?.typography?.[key as keyof TypographyTokens] }])) as unknown as TypographyTokens;\n // Every heading level follows a typography role, with explicit heading overrides last, and preserves\n // inherited heading values on empty input. Deprecated level1/2 follow `heading` like level3 since the\n // display tier was removed (2026-10-17 user decision, \"큰 글자 정책은 없애\").\n const aliases = { level1: \"heading\", level2: \"heading\", level3: \"heading\", level4: \"titleLarge\", level5: \"title\" } as const;\n for (const key of Object.keys(input.tokens?.heading ?? {})) {\n if (!Object.prototype.hasOwnProperty.call(heading, key)) throw new TypeError(\"Unsupported design profile heading level\");\n }\n const headings = Object.fromEntries(Object.entries(base.tokens.heading).map(([key, value]) => {\n const level = key as keyof HeadingTokens;\n const alias = level in aliases ? aliases[level as keyof typeof aliases] : undefined;\n return [level, { ...value, ...(alias ? input.tokens?.typography?.[alias] : undefined), ...input.tokens?.heading?.[level] }];\n })) as unknown as HeadingTokens;\n // The complete base shadow record has the same key-preservation guarantee.\n const elevation = Object.fromEntries(Object.entries(base.tokens.shadow).map(([key, value]) => [key, { ...value, ...input.tokens?.shadow?.[key as keyof ShadowTokens] }])) as unknown as ShadowTokens;\n const requestedFonts = input.tokens?.fontFamily;\n for (const role of Object.keys(requestedFonts ?? {})) {\n if (![\"ui\", \"code\", \"display\", \"reading\"].includes(role)) throw new TypeError(\"Unsupported design profile font role\");\n const families = requestedFonts?.[role as keyof FontFamilyRoles];\n if (families !== undefined && (!Array.isArray(families) || !families.length || families.some(family => typeof family !== \"string\" || !family.trim()))) throw new TypeError(\"Design profile font families must not be empty\");\n }\n const display = requestedFonts?.display ?? base.tokens.fontFamily.display;\n const reading = requestedFonts?.reading ?? base.tokens.fontFamily.reading;\n const profile: HjmDesignProfile = {\n id: input.id ?? base.id, palette,\n ...(input.controls || base.controls ? { controls: { button: {\n appearance: input.controls?.button?.appearance ?? base.controls?.button?.appearance ?? buttonRecipe.defaults.appearance,\n shape: input.controls?.button?.shape ?? base.controls?.button?.shape ?? buttonRecipe.defaults.shape,\n } } } : {}),\n tokens: {\n radius: { ...base.tokens.radius, ...input.tokens?.radius },\n // Copy caller-owned arrays: freezing the resolved profile must never freeze app input.\n fontFamily: { ui: [...(input.tokens?.fontFamily?.ui ?? base.tokens.fontFamily.ui)], code: [...(input.tokens?.fontFamily?.code ?? base.tokens.fontFamily.code)],\n ...(display ? { display: [...display] } : {}), ...(reading ? { reading: [...reading] } : {}) },\n typography: type, heading: headings, shadow: elevation,\n },\n material: { ...base.material, ...input.material, surface: input.material?.surface === null ? null\n : input.material?.surface === undefined ? base.material.surface ?? null\n : { blurStrength: 0, fillOpacity: 1, insetShadows: [], ...base.material.surface, ...input.material.surface } },\n interactions: { ...base.interactions, ...input.interactions },\n compositions: { ...base.compositions, ...input.compositions },\n screens: { ...base.screens, ...input.screens },\n };\n for (const key of Object.keys(input.controls ?? {})) if (key !== \"button\") throw new TypeError(\"Unsupported design profile control\");\n for (const key of Object.keys(input.controls?.button ?? {})) if (key !== \"appearance\" && key !== \"shape\") throw new TypeError(\"Unsupported design profile button setting\");\n if (profile.controls?.button) {\n choose(profile.controls.button.appearance, [\"flat\", \"raised\"], \"button appearance\");\n choose(profile.controls.button.shape, [\"rounded\", \"pill\"], \"button shape\");\n }\n if (!profile.id.trim()) throw new TypeError(\"Design profile id must not be empty\");\n for (const mode of [\"light\", \"dark\"] as const) {\n for (const [key, value] of Object.entries(palette[mode])) {\n if (!(key in THEMES[mode]) || !/^#[0-9a-f]{6}$/i.test(value)) throw new TypeError(`Invalid design profile palette ${mode}.${key}`);\n }\n if (checkPaletteContrast(palette[mode]).length) throw new RangeError(`Design profile ${mode} palette fails required contrast pairs`);\n }\n for (const [key, value] of Object.entries(profile.tokens.radius)) {\n if (!(key in radius) || !Number.isFinite(value) || value < 0 || value > 999) throw new RangeError(\"Invalid design profile radius\");\n }\n // Circles/pills retain their semantic geometry; product corners apply to other roles.\n if (profile.tokens.radius.full !== radius.full) throw new RangeError(\"Design profile must preserve full radius\");\n // No profile may enlarge text past the HJM ceiling, `typography.heading` (2026-10-17 user decision, \"글자 너무 커\",\n // \"큰 글자 정책은 없애\"). Before, up to 96 was allowed and presets drew 30–56px headings.\n for (const value of [...Object.values(type), ...Object.values(headings)]) {\n if (!Number.isFinite(value.fontSize) || value.fontSize < 11 || value.fontSize > typography.heading.fontSize || !Number.isFinite(value.lineHeight) || value.lineHeight < value.fontSize || value.lineHeight > 144) throw new RangeError(\"Invalid design profile typography\");\n choose(value.fontWeight, [\"400\", \"500\", \"600\", \"700\", \"800\"], \"fontWeight\");\n }\n for (const families of Object.values(profile.tokens.fontFamily)) {\n if (!Array.isArray(families) || !families.length || families.some(family => typeof family !== \"string\" || !family.trim())) throw new TypeError(\"Design profile font families must not be empty\");\n }\n for (const token of Object.values(elevation)) {\n if (!/^#[0-9a-f]{6}$/i.test(token.color) || !Number.isFinite(token.opacity) || token.opacity < 0 || token.opacity > 1 || !Number.isFinite(token.radius) || token.radius < 0 || token.radius > 96 || !Number.isFinite(token.offsetY) || Math.abs(token.offsetY) > 96) throw new RangeError(\"Invalid design profile shadow\");\n }\n const surface = profile.material.surface;\n if (surface) {\n // Keep a readable semantic fill rather than copying a low-alpha reference card.\n // Native can fail to supply blur and must always retain its opaque fallback.\n if (!Number.isFinite(surface.blurStrength) || surface.blurStrength < 0 || surface.blurStrength > 1 || !Number.isFinite(surface.fillOpacity) || surface.fillOpacity < 0.85 || surface.fillOpacity > 1) throw new RangeError(\"Invalid design profile surface material\");\n if (!Array.isArray(surface.insetShadows) || surface.insetShadows.length > 2) throw new RangeError(\"Invalid design profile inset shadows\");\n for (const token of surface.insetShadows) {\n if (!/^#[0-9a-f]{6}$/i.test(token.color) || !Number.isFinite(token.opacity) || token.opacity < 0 || token.opacity > 1 || !Number.isFinite(token.radius) || token.radius < 0 || token.radius > 96 || !Number.isFinite(token.offsetY) || Math.abs(token.offsetY) > 96 || !Number.isFinite(token.offsetX) || Math.abs(token.offsetX) > 96) throw new RangeError(\"Invalid design profile inset shadow\");\n }\n }\n const effects = Object.fromEntries(([\"canvas\", \"card\"] as const).map(role => {\n const descriptor = profile.material[role];\n if (descriptor === null) return [role, null];\n resolveEffectSurface(descriptor);\n // Deep-copy material data as well: a preset resolver must not own caller state.\n return [role, { ...descriptor, ...(descriptor.layers ? { layers: [...descriptor.layers] } : {}), ...(descriptor.colors ? { colors: descriptor.colors.map(color => ({ ...color })) } : {}) }];\n })) as Pick<HjmDesignProfile[\"material\"], \"canvas\" | \"card\">;\n const material = { ...effects, surface: surface ? { ...surface, insetShadows: surface.insetShadows.map(token => ({ ...token })) } : null };\n choose(profile.interactions.contentTransition, [\"fade\", \"rise\", \"slide\", \"scale\"], \"contentTransition\");\n choose(profile.interactions.selectionMotion, [\"none\", \"slide\"], \"selectionMotion\");\n choose(profile.compositions.collection, [\"rows\", \"cards\", \"grid\"], \"collection\");\n choose(profile.compositions.toolbar, [\"inline\", \"collapsible\"], \"toolbar\");\n choose(profile.screens.overview, [\"dashboard\", \"editorial\", \"landscape\"], \"overview\");\n return freeze({ ...profile, material });\n}\n\nexport const hjmDesignPresets: Readonly<Record<HjmDesignPreset, HjmDesignProfile>> = freeze({\n neutral: merge(neutral, {}),\n retro: merge(neutral, presetInputs.retro),\n paper: merge(neutral, presetInputs.paper),\n forest: merge(neutral, presetInputs.forest),\n minimal: merge(neutral, presetInputs.minimal),\n editorial: merge(neutral, presetInputs.editorial),\n brutalist: merge(neutral, presetInputs.brutalist),\n glass: merge(neutral, presetInputs.glass),\n aurora: merge(neutral, presetInputs.aurora),\n terminal: merge(neutral, presetInputs.terminal),\n clay: merge(neutral, presetInputs.clay),\n});\n\nexport function defineHjmDesignProfile(input: HjmDesignProfileInput = {}): HjmDesignProfile {\n const base = hjmDesignPresets[input.extends ?? \"neutral\"];\n if (!base) throw new TypeError(\"Unknown HJM design preset\");\n return merge(base, input);\n}\n\n/** Resolve the readable fill against black/white backdrop extremes using the\n * final product palette, including brandPalette overrides. Blur is decorative:\n * it cannot be used as evidence of text contrast over arbitrary app content. */\nexport function resolveDesignProfileSurfaceMaterial(profile: HjmDesignProfile | undefined, palette: Readonly<ThemeColors>): SurfaceMaterial | null {\n const material = profile?.material.surface;\n if (!material) return null;\n // Transparency requires a real backdrop effect. Plain/clay surfaces stay solid\n // on both hosts instead of becoming tint-only imitations of a glass material.\n if (!material.blurStrength) return { ...material, fillOpacity: 1 };\n return { ...material, fillOpacity: resolveSurfaceFillOpacity(material.fillOpacity, palette) };\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -15,7 +15,7 @@ export { ACCENTS, THEMES, accentFill, accentTint, brandGradient, isThemePreferen
15
15
  export { backdrop, breakpoint, control, easing, fontFamily, fontWeight, glyph, heading, layer, layout, letterSpacing, motion, motionPreset, numeric, opacity, overlay, radius, scrim, shadow, spacing, spring, stateLayer, stroke, typography, type BackdropReference, type FontFamily, type FontWeight, type FontWeightValue, type GlyphSize, type HeadingLevel, type LetterSpacing, type NumericVariant, type ReducedMotionBehavior, type TextVariant, } from "./foundations.js";
16
16
  export { resolveResponsiveValue, resolveWindowClass, validateResponsiveValue, windowClassOrder, type ResponsiveValue, type WindowClass, } from "./responsive.js";
17
17
  export { gridDefaults, gridGaps, gridRecipe, resolveGridLayout, validateGridDescriptor, type GridDescriptor, type GridGap, type GridGapToken, type ResolveGridLayoutOptions, type ResolvedGridLayout, } from "./grid.js";
18
- export { accordionRecipe, alertDialogRecipe, avatarRecipe, badgeRecipe, bottomNavigationRecipe, bottomCtaRecipe, buttonRecipe, cardRecipe, chipRecipe, comboboxRecipe, counterBadgeRecipe, dialogRecipe, dividerRecipe, emptyStateRecipe, fieldRecipe, formatCounterBadgeCount, iconButtonRecipe, iconRecipe, linkRecipe, listRecipe, listRowRecipe, loadMoreRecipe, menuRecipe, noticeRecipe, progressRecipe, searchFieldRecipe, selectRecipe, selectionGroupRecipe, sectionRecipe, segmentedControlRecipe, selectionControlRecipe, sheetRecipe, skeletonRecipe, spinnerRecipe, surfaceDefaults, surfaceGeometry, stackRecipe, statisticRecipe, surfaceRecipe, switchRecipe, tabsRecipe, textRecipe, resolveTextDefaultWeight, toastRecipe, tooltipRecipe, topBarRecipe, type AccordionDensity, type AlertDialogTone, type AvatarShape, type AvatarSize, type BadgeSize, type BadgeTone, type BadgeVariant, type BottomNavigationDensity, type BottomNavigationDistribution, type BottomNavigationPresentation, type ButtonSize, type ButtonTone, type CardHeadingLevel, type ChipSize, type SelectDensity, type SelectSize, type CounterBadgeSize, type CounterBadgeTone, type CounterBadgeVariant, type DialogSize, type FieldShape, type FieldVariant, type IconButtonShape, type IconButtonSize, type IconTone, type IconWeight, type LinkTone, type LinkVariant, type LoadMoreDensity, type ListRowDensity, type MenuDensity, type MenuItemTone, type NoticeTone, type ProgressSize, type ProgressTone, type SearchFieldSize, type SegmentedControlSize, type SelectionControlKind, type SelectionControlPresentation, type SelectionControlSize, type SelectionGroupOrientation, type SelectionGroupPresentation, type SpinnerSize, type SpinnerTone, type StackAlign, type StackAxis, type StackGap, type StackJustify, type StatisticDensity, type StatisticPresentation, type SurfaceTone, type SurfacePadding, type SurfaceRadius, type SwitchSize, type TabSize, type TabsLayout, type TabsOverflow, type TabsIndicator, type TextEmphasis, type TextTone, type ToastPlacement, type ToastTone, type ToastToneMark, } from "./recipes.js";
18
+ export { accordionRecipe, alertDialogRecipe, avatarRecipe, badgeRecipe, bottomNavigationRecipe, bottomCtaRecipe, buttonRecipe, resolveButtonDepth, cardRecipe, chipRecipe, comboboxRecipe, counterBadgeRecipe, dialogRecipe, dividerRecipe, emptyStateRecipe, fieldRecipe, formatCounterBadgeCount, iconButtonRecipe, iconRecipe, linkRecipe, listRecipe, listRowRecipe, loadMoreRecipe, menuRecipe, noticeRecipe, progressRecipe, resolveProgressSegments, searchFieldRecipe, selectRecipe, selectionGroupRecipe, sectionRecipe, segmentedControlRecipe, selectionControlRecipe, sheetRecipe, skeletonRecipe, spinnerRecipe, surfaceDefaults, surfaceGeometry, stackRecipe, statisticRecipe, surfaceRecipe, switchRecipe, tabsRecipe, textRecipe, resolveTextDefaultWeight, toastRecipe, tooltipRecipe, topBarRecipe, type AccordionDensity, type AlertDialogTone, type AvatarShape, type AvatarSize, type BadgeAdornmentContext, type BadgeSize, type BadgeTone, type BadgeVariant, type BottomNavigationDensity, type BottomNavigationDistribution, type BottomNavigationPresentation, type ButtonSize, type ButtonTone, type CardHeadingLevel, type ChipSize, type SelectDensity, type SelectSize, type CounterBadgeSize, type CounterBadgeTone, type CounterBadgeVariant, type DialogSize, type FieldShape, type FieldVariant, type IconButtonShape, type IconButtonSize, type IconTone, type IconWeight, type LinkTone, type LinkVariant, type LoadMoreDensity, type ListRowDensity, type MenuDensity, type MenuItemTone, type NoticeTone, type ProgressSize, type ProgressTone, type SearchFieldSize, type SegmentedControlSize, type SelectionControlKind, type SelectionControlPresentation, type SelectionControlSize, type SelectionGroupOrientation, type SelectionGroupPresentation, type SpinnerSize, type SpinnerTone, type StackAlign, type StackAxis, type StackGap, type StackJustify, type StatisticDensity, type StatisticPresentation, type SurfaceTone, type SurfacePadding, type SurfaceRadius, type SwitchSize, type TabSize, type TabsLayout, type TabsOverflow, type TabsIndicator, type TextEmphasis, type TextTone, type ToastPlacement, type ToastTone, type ToastToneMark, } from "./recipes.js";
19
19
  export { accentColor, resolveColorReference, solidAccentColor, themeColor, type AccentColorReference, type AccentFillReference, type ColorReference, type ColorReferencePalette, type ThemeColorReference, } from "./color-references.js";
20
20
  export { componentCatalog, componentIdOf, getComponentSurfaceStatus, recipeRegistry, summarizeComponentRoadmap, type ComponentCatalogEntry, type ComponentCategory, type ComponentName, type ComponentPlatform, type ComponentRoadmap, type ComponentRoadmapState, type ComponentSurface, type ComponentSurfaceMaturity, type ComponentSurfaceStatus, type ComponentStatus, type RecipeName, } from "./catalog.js";
21
21
  export { designSystemVersion } from "./version.js";
@@ -80,4 +80,5 @@ export * from "./asset.js";
80
80
  export * from "./dataviz.js";
81
81
  export * from "./menubar.js";
82
82
  export * from "./context-menu.js";
83
+ export * from "./time-picker.js";
83
84
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ export { ACCENTS, THEMES, accentFill, accentTint, brandGradient, isThemePreferen
15
15
  export { backdrop, breakpoint, control, easing, fontFamily, fontWeight, glyph, heading, layer, layout, letterSpacing, motion, motionPreset, numeric, opacity, overlay, radius, scrim, shadow, spacing, spring, stateLayer, stroke, typography, } from "./foundations.js";
16
16
  export { resolveResponsiveValue, resolveWindowClass, validateResponsiveValue, windowClassOrder, } from "./responsive.js";
17
17
  export { gridDefaults, gridGaps, gridRecipe, resolveGridLayout, validateGridDescriptor, } from "./grid.js";
18
- export { accordionRecipe, alertDialogRecipe, avatarRecipe, badgeRecipe, bottomNavigationRecipe, bottomCtaRecipe, buttonRecipe, cardRecipe, chipRecipe, comboboxRecipe, counterBadgeRecipe, dialogRecipe, dividerRecipe, emptyStateRecipe, fieldRecipe, formatCounterBadgeCount, iconButtonRecipe, iconRecipe, linkRecipe, listRecipe, listRowRecipe, loadMoreRecipe, menuRecipe, noticeRecipe, progressRecipe, searchFieldRecipe, selectRecipe, selectionGroupRecipe, sectionRecipe, segmentedControlRecipe, selectionControlRecipe, sheetRecipe, skeletonRecipe, spinnerRecipe, surfaceDefaults, surfaceGeometry, stackRecipe, statisticRecipe, surfaceRecipe, switchRecipe, tabsRecipe, textRecipe, resolveTextDefaultWeight, toastRecipe, tooltipRecipe, topBarRecipe, } from "./recipes.js";
18
+ export { accordionRecipe, alertDialogRecipe, avatarRecipe, badgeRecipe, bottomNavigationRecipe, bottomCtaRecipe, buttonRecipe, resolveButtonDepth, cardRecipe, chipRecipe, comboboxRecipe, counterBadgeRecipe, dialogRecipe, dividerRecipe, emptyStateRecipe, fieldRecipe, formatCounterBadgeCount, iconButtonRecipe, iconRecipe, linkRecipe, listRecipe, listRowRecipe, loadMoreRecipe, menuRecipe, noticeRecipe, progressRecipe, resolveProgressSegments, searchFieldRecipe, selectRecipe, selectionGroupRecipe, sectionRecipe, segmentedControlRecipe, selectionControlRecipe, sheetRecipe, skeletonRecipe, spinnerRecipe, surfaceDefaults, surfaceGeometry, stackRecipe, statisticRecipe, surfaceRecipe, switchRecipe, tabsRecipe, textRecipe, resolveTextDefaultWeight, toastRecipe, tooltipRecipe, topBarRecipe, } from "./recipes.js";
19
19
  export { accentColor, resolveColorReference, solidAccentColor, themeColor, } from "./color-references.js";
20
20
  export { componentCatalog, componentIdOf, getComponentSurfaceStatus, recipeRegistry, summarizeComponentRoadmap, } from "./catalog.js";
21
21
  export { designSystemVersion } from "./version.js";
@@ -89,4 +89,5 @@ export * from "./asset.js";
89
89
  export * from "./dataviz.js";
90
90
  export * from "./menubar.js";
91
91
  export * from "./context-menu.js";
92
+ export * from "./time-picker.js";
92
93
  //# sourceMappingURL=index.js.map