@wildo-ai/presets-components 1.1.1 → 1.1.3

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 (503) hide show
  1. package/dist/esm/.native.tsbuildinfo +1 -0
  2. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  3. package/dist/esm/components/actions/action-bar.labels.d.ts.map +1 -1
  4. package/dist/esm/components/actions/action-button.d.ts +1 -4
  5. package/dist/esm/components/actions/action-button.d.ts.map +1 -1
  6. package/dist/esm/components/actions/action-button.js +21 -5
  7. package/dist/esm/components/actions/action-button.js.map +1 -1
  8. package/dist/esm/components/actions/action-button.labels.d.ts.map +1 -1
  9. package/dist/esm/components/actions/button-group.d.ts.map +1 -1
  10. package/dist/esm/components/actions/button.d.ts.map +1 -1
  11. package/dist/esm/components/actions/button.labels.d.ts.map +1 -1
  12. package/dist/esm/components/ai-elements/artifacts/artifact-browser.d.ts.map +1 -1
  13. package/dist/esm/components/ai-elements/artifacts/artifact-browser.js +7 -3
  14. package/dist/esm/components/ai-elements/artifacts/artifact-browser.js.map +1 -1
  15. package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
  16. package/dist/esm/components/ai-elements/artifacts/artifact.labels.d.ts.map +1 -1
  17. package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
  18. package/dist/esm/components/ai-elements/artifacts/code-block.labels.d.ts.map +1 -1
  19. package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
  20. package/dist/esm/components/ai-elements/artifacts/image.labels.d.ts.map +1 -1
  21. package/dist/esm/components/ai-elements/artifacts/shiki-highlighter-runtime.d.ts.map +1 -1
  22. package/dist/esm/components/ai-elements/artifacts/shiki-highlighter.lazy.d.ts.map +1 -1
  23. package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
  24. package/dist/esm/components/ai-elements/artifacts/web-preview.labels.d.ts.map +1 -1
  25. package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
  26. package/dist/esm/components/ai-elements/chat/conversation.labels.d.ts.map +1 -1
  27. package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
  28. package/dist/esm/components/ai-elements/chat/message.labels.d.ts.map +1 -1
  29. package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
  30. package/dist/esm/components/ai-elements/chat/prompt-input.labels.d.ts.map +1 -1
  31. package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
  32. package/dist/esm/components/ai-elements/chat/sources.labels.d.ts.map +1 -1
  33. package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
  34. package/dist/esm/components/ai-elements/chat/suggestion.labels.d.ts.map +1 -1
  35. package/dist/esm/components/ai-elements/decision/approval.d.ts +18 -3
  36. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  37. package/dist/esm/components/ai-elements/decision/approval.js +5 -3
  38. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  39. package/dist/esm/components/ai-elements/decision/decision-request.d.ts.map +1 -1
  40. package/dist/esm/components/ai-elements/decision/decision-request.labels.d.ts.map +1 -1
  41. package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
  42. package/dist/esm/components/ai-elements/execution/confirmation.labels.d.ts.map +1 -1
  43. package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
  44. package/dist/esm/components/ai-elements/execution/queue.labels.d.ts.map +1 -1
  45. package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
  46. package/dist/esm/components/ai-elements/execution/task.js +10 -2
  47. package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
  48. package/dist/esm/components/ai-elements/execution/task.labels.d.ts.map +1 -1
  49. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  50. package/dist/esm/components/ai-elements/execution/tool.labels.d.ts.map +1 -1
  51. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  52. package/dist/esm/components/ai-elements/graph/canvas.labels.d.ts.map +1 -1
  53. package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
  54. package/dist/esm/components/ai-elements/graph/connection.labels.d.ts.map +1 -1
  55. package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
  56. package/dist/esm/components/ai-elements/graph/controls.labels.d.ts.map +1 -1
  57. package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
  58. package/dist/esm/components/ai-elements/graph/edge.labels.d.ts.map +1 -1
  59. package/dist/esm/components/ai-elements/graph/graph-runtime.d.ts.map +1 -1
  60. package/dist/esm/components/ai-elements/graph/graph.lazy.d.ts.map +1 -1
  61. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  62. package/dist/esm/components/ai-elements/graph/node.labels.d.ts.map +1 -1
  63. package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
  64. package/dist/esm/components/ai-elements/graph/panel.labels.d.ts.map +1 -1
  65. package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
  66. package/dist/esm/components/ai-elements/graph/toolbar.labels.d.ts.map +1 -1
  67. package/dist/esm/components/ai-elements/meta/agent.d.ts.map +1 -1
  68. package/dist/esm/components/ai-elements/meta/agent.js +23 -3
  69. package/dist/esm/components/ai-elements/meta/agent.js.map +1 -1
  70. package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
  71. package/dist/esm/components/ai-elements/meta/context.labels.d.ts.map +1 -1
  72. package/dist/esm/components/ai-elements/meta/context.lazy.d.ts.map +1 -1
  73. package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
  74. package/dist/esm/components/ai-elements/meta/model-selector.labels.d.ts.map +1 -1
  75. package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
  76. package/dist/esm/components/ai-elements/meta/open-in-chat.labels.d.ts.map +1 -1
  77. package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
  78. package/dist/esm/components/ai-elements/shared/loader.labels.d.ts.map +1 -1
  79. package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
  80. package/dist/esm/components/ai-elements/shared/shimmer.labels.d.ts.map +1 -1
  81. package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
  82. package/dist/esm/components/ai-elements/stream/execution-stream.labels.d.ts.map +1 -1
  83. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
  84. package/dist/esm/components/ai-elements/trace/chain-of-thought.labels.d.ts.map +1 -1
  85. package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
  86. package/dist/esm/components/ai-elements/trace/checkpoint.labels.d.ts.map +1 -1
  87. package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
  88. package/dist/esm/components/ai-elements/trace/inline-citation.labels.d.ts.map +1 -1
  89. package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
  90. package/dist/esm/components/ai-elements/trace/plan.labels.d.ts.map +1 -1
  91. package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
  92. package/dist/esm/components/ai-elements/trace/reasoning.labels.d.ts.map +1 -1
  93. package/dist/esm/components/app/app-layout-main-container.d.ts.map +1 -1
  94. package/dist/esm/components/app/app-layout-main-container.labels.d.ts.map +1 -1
  95. package/dist/esm/components/app/app-layout-main-container.labels.js +10 -2
  96. package/dist/esm/components/app/app-layout-main-container.labels.js.map +1 -1
  97. package/dist/esm/components/app/public-layout-main-container.d.ts.map +1 -1
  98. package/dist/esm/components/app/public-layout-main-container.js +52 -5
  99. package/dist/esm/components/app/public-layout-main-container.js.map +1 -1
  100. package/dist/esm/components/app/public-layout-main-container.labels.d.ts.map +1 -1
  101. package/dist/esm/components/billing/billing-format.utils.d.ts.map +1 -1
  102. package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
  103. package/dist/esm/components/billing/billing-invoice-history.labels.d.ts.map +1 -1
  104. package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
  105. package/dist/esm/components/billing/billing-portal-link.labels.d.ts.map +1 -1
  106. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  107. package/dist/esm/components/billing/billing-pricing-table.labels.d.ts.map +1 -1
  108. package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
  109. package/dist/esm/components/billing/billing-subscription-status.labels.d.ts.map +1 -1
  110. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  111. package/dist/esm/components/billing/billing-usage-dashboard.labels.d.ts.map +1 -1
  112. package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
  113. package/dist/esm/components/data-display/avatar.labels.d.ts.map +1 -1
  114. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  115. package/dist/esm/components/data-display/badge.labels.d.ts.map +1 -1
  116. package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
  117. package/dist/esm/components/data-display/description-list.js +10 -7
  118. package/dist/esm/components/data-display/description-list.js.map +1 -1
  119. package/dist/esm/components/data-display/description-list.labels.d.ts.map +1 -1
  120. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
  121. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.labels.d.ts.map +1 -1
  122. package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
  123. package/dist/esm/components/data-display/formatters/display-field-boolean.js +20 -1
  124. package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
  125. package/dist/esm/components/data-display/formatters/display-field-boolean.labels.d.ts.map +1 -1
  126. package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
  127. package/dist/esm/components/data-display/formatters/display-field-code.labels.d.ts.map +1 -1
  128. package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
  129. package/dist/esm/components/data-display/formatters/display-field-date.labels.d.ts.map +1 -1
  130. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
  131. package/dist/esm/components/data-display/formatters/display-field-datetime.labels.d.ts.map +1 -1
  132. package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
  133. package/dist/esm/components/data-display/formatters/display-field-duration.labels.d.ts.map +1 -1
  134. package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
  135. package/dist/esm/components/data-display/formatters/display-field-enum.labels.d.ts.map +1 -1
  136. package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
  137. package/dist/esm/components/data-display/formatters/display-field-file-audio.labels.d.ts.map +1 -1
  138. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
  139. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.d.ts.map +1 -1
  140. package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
  141. package/dist/esm/components/data-display/formatters/display-field-file-gallery.labels.d.ts.map +1 -1
  142. package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
  143. package/dist/esm/components/data-display/formatters/display-field-file-image.labels.d.ts.map +1 -1
  144. package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
  145. package/dist/esm/components/data-display/formatters/display-field-file-video.labels.d.ts.map +1 -1
  146. package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
  147. package/dist/esm/components/data-display/formatters/display-field-file.labels.d.ts.map +1 -1
  148. package/dist/esm/components/data-display/formatters/display-field-format.utils.d.ts.map +1 -1
  149. package/dist/esm/components/data-display/formatters/display-field-i18n.utils.d.ts.map +1 -1
  150. package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
  151. package/dist/esm/components/data-display/formatters/display-field-money.labels.d.ts.map +1 -1
  152. package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
  153. package/dist/esm/components/data-display/formatters/display-field-number.labels.d.ts.map +1 -1
  154. package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
  155. package/dist/esm/components/data-display/formatters/display-field-phone.labels.d.ts.map +1 -1
  156. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
  157. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.labels.d.ts.map +1 -1
  158. package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
  159. package/dist/esm/components/data-display/formatters/display-field-range-date.labels.d.ts.map +1 -1
  160. package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
  161. package/dist/esm/components/data-display/formatters/display-field-range-datetime.labels.d.ts.map +1 -1
  162. package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
  163. package/dist/esm/components/data-display/formatters/display-field-range-money.labels.d.ts.map +1 -1
  164. package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
  165. package/dist/esm/components/data-display/formatters/display-field-range-number.labels.d.ts.map +1 -1
  166. package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
  167. package/dist/esm/components/data-display/formatters/display-field-range-time.labels.d.ts.map +1 -1
  168. package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
  169. package/dist/esm/components/data-display/formatters/display-field-string.js +3 -0
  170. package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
  171. package/dist/esm/components/data-display/formatters/display-field-string.labels.d.ts.map +1 -1
  172. package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
  173. package/dist/esm/components/data-display/formatters/display-field-time.labels.d.ts.map +1 -1
  174. package/dist/esm/components/data-display/markdown-content.d.ts.map +1 -1
  175. package/dist/esm/components/data-display/markdown-stream-runtime.d.ts.map +1 -1
  176. package/dist/esm/components/data-display/markdown-stream.lazy.d.ts.map +1 -1
  177. package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
  178. package/dist/esm/components/data-display/notification-indicator.labels.d.ts.map +1 -1
  179. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts.map +1 -1
  180. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts.map +1 -1
  181. package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
  182. package/dist/esm/components/feedback/celebration-overlay.labels.d.ts.map +1 -1
  183. package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
  184. package/dist/esm/components/feedback/danger-zone.labels.d.ts.map +1 -1
  185. package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
  186. package/dist/esm/components/feedback/empty-state.labels.d.ts.map +1 -1
  187. package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
  188. package/dist/esm/components/feedback/error-display.labels.d.ts.map +1 -1
  189. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  190. package/dist/esm/components/feedback/features/feature-limit-indicator.labels.d.ts.map +1 -1
  191. package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
  192. package/dist/esm/components/feedback/features/feature-lock-badge.labels.d.ts.map +1 -1
  193. package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
  194. package/dist/esm/components/feedback/features/feature-unavailable-dialog.labels.d.ts.map +1 -1
  195. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
  196. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js +7 -0
  197. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
  198. package/dist/esm/components/feedback/features/feature-unavailable-prompt.labels.d.ts.map +1 -1
  199. package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
  200. package/dist/esm/components/feedback/loading-overlay.labels.d.ts.map +1 -1
  201. package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
  202. package/dist/esm/components/feedback/loading-spinner.labels.d.ts.map +1 -1
  203. package/dist/esm/components/feedback/notification-center.d.ts +5 -3
  204. package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
  205. package/dist/esm/components/feedback/notification-center.js +7 -5
  206. package/dist/esm/components/feedback/notification-center.js.map +1 -1
  207. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  208. package/dist/esm/components/feedback/operations-confirm-critical.labels.d.ts.map +1 -1
  209. package/dist/esm/components/feedback/progress.d.ts.map +1 -1
  210. package/dist/esm/components/feedback/progress.labels.d.ts.map +1 -1
  211. package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
  212. package/dist/esm/components/feedback/skeleton.labels.d.ts.map +1 -1
  213. package/dist/esm/components/feedback/toast.d.ts.map +1 -1
  214. package/dist/esm/components/feedback/toast.labels.d.ts.map +1 -1
  215. package/dist/esm/components/form/autosave-indicator.d.ts.map +1 -1
  216. package/dist/esm/components/form/autosave-indicator.labels.d.ts.map +1 -1
  217. package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
  218. package/dist/esm/components/form/chromes/field.labels.d.ts.map +1 -1
  219. package/dist/esm/components/form/chromes/form-primitive.d.ts.map +1 -1
  220. package/dist/esm/components/form/chromes/form-primitive.labels.d.ts.map +1 -1
  221. package/dist/esm/components/form/chromes/form-primitive.labels.js +2 -2
  222. package/dist/esm/components/form/chromes/form-primitive.labels.js.map +1 -1
  223. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  224. package/dist/esm/components/form/combobox.labels.d.ts.map +1 -1
  225. package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
  226. package/dist/esm/components/form/controls/boolean/checkbox.labels.d.ts.map +1 -1
  227. package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
  228. package/dist/esm/components/form/controls/boolean/switch.labels.d.ts.map +1 -1
  229. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
  230. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.labels.d.ts.map +1 -1
  231. package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
  232. package/dist/esm/components/form/controls/boolean/toggle.labels.d.ts.map +1 -1
  233. package/dist/esm/components/form/controls/code-editor/cm6-editor-appearance.d.ts.map +1 -1
  234. package/dist/esm/components/form/controls/code-editor/cm6-editor.d.ts.map +1 -1
  235. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.d.ts.map +1 -1
  236. package/dist/esm/components/form/controls/code-editor/form-field-code.d.ts.map +1 -1
  237. package/dist/esm/components/form/controls/code-editor/markdown-editor.d.ts.map +1 -1
  238. package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
  239. package/dist/esm/components/form/controls/date-time/calendar.labels.d.ts.map +1 -1
  240. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  241. package/dist/esm/components/form/controls/date-time/date-range-picker.labels.d.ts.map +1 -1
  242. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  243. package/dist/esm/components/form/controls/date-time/datepicker.labels.d.ts.map +1 -1
  244. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  245. package/dist/esm/components/form/controls/date-time/datetime-picker.labels.d.ts.map +1 -1
  246. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  247. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.d.ts.map +1 -1
  248. package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
  249. package/dist/esm/components/form/controls/date-time/time-picker.labels.d.ts.map +1 -1
  250. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  251. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.d.ts.map +1 -1
  252. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  253. package/dist/esm/components/form/controls/enum/radio.labels.d.ts.map +1 -1
  254. package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
  255. package/dist/esm/components/form/controls/enum/select-multiple.labels.d.ts.map +1 -1
  256. package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
  257. package/dist/esm/components/form/controls/enum/select.labels.d.ts.map +1 -1
  258. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  259. package/dist/esm/components/form/controls/enum/toggle-group.labels.d.ts.map +1 -1
  260. package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
  261. package/dist/esm/components/form/controls/file/file-upload.labels.d.ts.map +1 -1
  262. package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
  263. package/dist/esm/components/form/controls/file/image-crop.labels.d.ts.map +1 -1
  264. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
  265. package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
  266. package/dist/esm/components/form/controls/input-group.labels.d.ts.map +1 -1
  267. package/dist/esm/components/form/controls/input.d.ts.map +1 -1
  268. package/dist/esm/components/form/controls/input.labels.d.ts.map +1 -1
  269. package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
  270. package/dist/esm/components/form/controls/number/slider.labels.d.ts.map +1 -1
  271. package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
  272. package/dist/esm/components/form/controls/string/color-input.labels.d.ts.map +1 -1
  273. package/dist/esm/components/form/controls/string/color-picker-surface.d.ts.map +1 -1
  274. package/dist/esm/components/form/controls/string/color-picker-surface.js +1 -1
  275. package/dist/esm/components/form/controls/string/color-picker-surface.js.map +1 -1
  276. package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
  277. package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
  278. package/dist/esm/components/form/controls/string/input-otp.labels.d.ts.map +1 -1
  279. package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
  280. package/dist/esm/components/form/controls/string/password-input.labels.d.ts.map +1 -1
  281. package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
  282. package/dist/esm/components/form/controls/string/textarea.labels.d.ts.map +1 -1
  283. package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
  284. package/dist/esm/components/layout/aspect-ratio.labels.d.ts.map +1 -1
  285. package/dist/esm/components/layout/carousel.d.ts.map +1 -1
  286. package/dist/esm/components/layout/carousel.labels.d.ts.map +1 -1
  287. package/dist/esm/components/layout/divider.d.ts.map +1 -1
  288. package/dist/esm/components/layout/divider.labels.d.ts.map +1 -1
  289. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  290. package/dist/esm/components/layout/resizable.labels.d.ts.map +1 -1
  291. package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
  292. package/dist/esm/components/layout/scroll-area.labels.d.ts.map +1 -1
  293. package/dist/esm/components/layout/separator.d.ts.map +1 -1
  294. package/dist/esm/components/layout/separator.labels.d.ts.map +1 -1
  295. package/dist/esm/components/navigation/app-level/activity-bar.d.ts.map +1 -1
  296. package/dist/esm/components/navigation/app-level/activity-bar.labels.d.ts.map +1 -1
  297. package/dist/esm/components/navigation/app-level/command-menu.d.ts.map +1 -1
  298. package/dist/esm/components/navigation/app-level/command-menu.labels.d.ts.map +1 -1
  299. package/dist/esm/components/navigation/app-level/control-panel.d.ts.map +1 -1
  300. package/dist/esm/components/navigation/app-level/control-panel.labels.d.ts.map +1 -1
  301. package/dist/esm/components/navigation/app-level/menu-user-org.d.ts.map +1 -1
  302. package/dist/esm/components/navigation/app-level/menu-user-org.js +8 -2
  303. package/dist/esm/components/navigation/app-level/menu-user-org.js.map +1 -1
  304. package/dist/esm/components/navigation/app-level/menu-user-org.labels.d.ts.map +1 -1
  305. package/dist/esm/components/navigation/app-level/menubar.d.ts.map +1 -1
  306. package/dist/esm/components/navigation/app-level/menubar.labels.d.ts.map +1 -1
  307. package/dist/esm/components/navigation/app-level/navigation-back.d.ts.map +1 -1
  308. package/dist/esm/components/navigation/app-level/navigation-back.labels.d.ts.map +1 -1
  309. package/dist/esm/components/navigation/app-level/notification-center.d.ts.map +1 -1
  310. package/dist/esm/components/navigation/app-level/notification-center.js +22 -19
  311. package/dist/esm/components/navigation/app-level/notification-center.js.map +1 -1
  312. package/dist/esm/components/navigation/app-level/notification-center.labels.d.ts.map +1 -1
  313. package/dist/esm/components/navigation/app-level/notification-center.labels.js +11 -14
  314. package/dist/esm/components/navigation/app-level/notification-center.labels.js.map +1 -1
  315. package/dist/esm/components/navigation/app-level/quick-action-button.d.ts.map +1 -1
  316. package/dist/esm/components/navigation/app-level/quick-action-button.labels.d.ts.map +1 -1
  317. package/dist/esm/components/navigation/app-level/quick-switcher.d.ts.map +1 -1
  318. package/dist/esm/components/navigation/app-level/quick-switcher.labels.d.ts.map +1 -1
  319. package/dist/esm/components/navigation/app-level/sidebar.d.ts.map +1 -1
  320. package/dist/esm/components/navigation/app-level/sidebar.js +32 -15
  321. package/dist/esm/components/navigation/app-level/sidebar.js.map +1 -1
  322. package/dist/esm/components/navigation/app-level/sidebar.labels.d.ts.map +1 -1
  323. package/dist/esm/components/navigation/app-level/status-bar.d.ts.map +1 -1
  324. package/dist/esm/components/navigation/app-level/status-bar.labels.d.ts.map +1 -1
  325. package/dist/esm/components/navigation/app-level/toolbar.d.ts.map +1 -1
  326. package/dist/esm/components/navigation/app-level/toolbar.labels.d.ts.map +1 -1
  327. package/dist/esm/components/navigation/app-level/utility-panel.d.ts.map +1 -1
  328. package/dist/esm/components/navigation/app-level/utility-panel.js +41 -8
  329. package/dist/esm/components/navigation/app-level/utility-panel.js.map +1 -1
  330. package/dist/esm/components/navigation/app-level/utility-panel.labels.d.ts.map +1 -1
  331. package/dist/esm/components/navigation/app-level/utility-panel.labels.js +1 -0
  332. package/dist/esm/components/navigation/app-level/utility-panel.labels.js.map +1 -1
  333. package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
  334. package/dist/esm/components/navigation/breadcrumb.labels.d.ts.map +1 -1
  335. package/dist/esm/components/navigation/command.d.ts.map +1 -1
  336. package/dist/esm/components/navigation/command.labels.d.ts.map +1 -1
  337. package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
  338. package/dist/esm/components/navigation/menu-bar.labels.d.ts.map +1 -1
  339. package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
  340. package/dist/esm/components/navigation/navbar.labels.d.ts.map +1 -1
  341. package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
  342. package/dist/esm/components/navigation/sidebar.labels.d.ts.map +1 -1
  343. package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
  344. package/dist/esm/components/overlays/containers/alert-dialog.labels.d.ts.map +1 -1
  345. package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
  346. package/dist/esm/components/overlays/containers/alert.labels.d.ts.map +1 -1
  347. package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
  348. package/dist/esm/components/overlays/containers/dialog.labels.d.ts.map +1 -1
  349. package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
  350. package/dist/esm/components/overlays/containers/drawer.labels.d.ts.map +1 -1
  351. package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
  352. package/dist/esm/components/overlays/containers/sheet.js +2 -2
  353. package/dist/esm/components/overlays/containers/sheet.js.map +1 -1
  354. package/dist/esm/components/overlays/containers/sheet.labels.d.ts.map +1 -1
  355. package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
  356. package/dist/esm/components/overlays/floating/context-menu.labels.d.ts.map +1 -1
  357. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
  358. package/dist/esm/components/overlays/floating/dropdown-menu.labels.d.ts.map +1 -1
  359. package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
  360. package/dist/esm/components/overlays/floating/hover-card.labels.d.ts.map +1 -1
  361. package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
  362. package/dist/esm/components/overlays/floating/popover.labels.d.ts.map +1 -1
  363. package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
  364. package/dist/esm/components/overlays/floating/tooltip.labels.d.ts.map +1 -1
  365. package/dist/esm/components/sections/accordion.d.ts.map +1 -1
  366. package/dist/esm/components/sections/accordion.js +43 -13
  367. package/dist/esm/components/sections/accordion.js.map +1 -1
  368. package/dist/esm/components/sections/accordion.labels.d.ts.map +1 -1
  369. package/dist/esm/components/sections/card.d.ts.map +1 -1
  370. package/dist/esm/components/sections/card.labels.d.ts.map +1 -1
  371. package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
  372. package/dist/esm/components/sections/collapsible.js +17 -3
  373. package/dist/esm/components/sections/collapsible.js.map +1 -1
  374. package/dist/esm/components/sections/collapsible.labels.d.ts.map +1 -1
  375. package/dist/esm/components/sections/content-section.d.ts.map +1 -1
  376. package/dist/esm/components/sections/content-section.js +11 -7
  377. package/dist/esm/components/sections/content-section.js.map +1 -1
  378. package/dist/esm/components/sections/disclosure-nesting.d.ts +20 -0
  379. package/dist/esm/components/sections/disclosure-nesting.d.ts.map +1 -0
  380. package/dist/esm/components/sections/disclosure-nesting.js +20 -0
  381. package/dist/esm/components/sections/disclosure-nesting.js.map +1 -0
  382. package/dist/esm/components/sections/pagination.d.ts.map +1 -1
  383. package/dist/esm/components/sections/pagination.labels.d.ts.map +1 -1
  384. package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
  385. package/dist/esm/components/sections/stacked-layout.labels.d.ts.map +1 -1
  386. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  387. package/dist/esm/components/sections/stepper.labels.d.ts.map +1 -1
  388. package/dist/esm/components/sections/table.d.ts.map +1 -1
  389. package/dist/esm/components/sections/table.labels.d.ts.map +1 -1
  390. package/dist/esm/components/sections/tabs.d.ts.map +1 -1
  391. package/dist/esm/components/sections/tabs.js +141 -10
  392. package/dist/esm/components/sections/tabs.js.map +1 -1
  393. package/dist/esm/components/sections/tabs.labels.d.ts.map +1 -1
  394. package/dist/esm/components/typography/heading.d.ts.map +1 -1
  395. package/dist/esm/components/typography/heading.labels.d.ts.map +1 -1
  396. package/dist/esm/components/typography/label.d.ts.map +1 -1
  397. package/dist/esm/components/typography/label.labels.d.ts.map +1 -1
  398. package/dist/esm/components/typography/link.d.ts.map +1 -1
  399. package/dist/esm/components/typography/link.labels.d.ts.map +1 -1
  400. package/dist/esm/components/typography/text.d.ts.map +1 -1
  401. package/dist/esm/components/typography/text.labels.d.ts.map +1 -1
  402. package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
  403. package/dist/esm/config/billing-shell.presets.d.ts.map +1 -1
  404. package/dist/esm/config/index.d.ts.map +1 -1
  405. package/dist/esm/config/preset-design-system.d.ts.map +1 -1
  406. package/dist/esm/config/preset-error-pages.d.ts.map +1 -1
  407. package/dist/esm/config/preset-kits.d.ts.map +1 -1
  408. package/dist/esm/config/preset-kits.js +0 -4
  409. package/dist/esm/config/preset-kits.js.map +1 -1
  410. package/dist/esm/config/preset-navigation.d.ts.map +1 -1
  411. package/dist/esm/config/preset-resources.d.ts.map +1 -1
  412. package/dist/esm/config/preset-shell.d.ts.map +1 -1
  413. package/dist/esm/config/preset-shell.js +0 -4
  414. package/dist/esm/config/preset-shell.js.map +1 -1
  415. package/dist/esm/config/preset-utils.d.ts.map +1 -1
  416. package/dist/esm/config/presets.d.ts.map +1 -1
  417. package/dist/esm/config/presets.js +0 -1
  418. package/dist/esm/config/presets.js.map +1 -1
  419. package/dist/esm/config/resources/application.resource-presets.d.ts.map +1 -1
  420. package/dist/esm/config/resources/application.resource-presets.js +6 -6
  421. package/dist/esm/config/resources/application.resource-presets.js.map +1 -1
  422. package/dist/esm/config/resources/billing.resource-presets.d.ts.map +1 -1
  423. package/dist/esm/config/resources/billing.resource-presets.js +8 -8
  424. package/dist/esm/config/resources/billing.resource-presets.js.map +1 -1
  425. package/dist/esm/config/resources/guidance.resource-presets.d.ts.map +1 -1
  426. package/dist/esm/config/resources/guidance.resource-presets.js +7 -7
  427. package/dist/esm/config/resources/guidance.resource-presets.js.map +1 -1
  428. package/dist/esm/config/resources/identity.resource-presets.d.ts.map +1 -1
  429. package/dist/esm/config/resources/identity.resource-presets.js +13 -7
  430. package/dist/esm/config/resources/identity.resource-presets.js.map +1 -1
  431. package/dist/esm/config/resources/index.d.ts +23 -1
  432. package/dist/esm/config/resources/index.d.ts.map +1 -1
  433. package/dist/esm/config/resources/index.js +24 -3
  434. package/dist/esm/config/resources/index.js.map +1 -1
  435. package/dist/esm/config/resources/organizations.resource-presets.d.ts.map +1 -1
  436. package/dist/esm/config/resources/organizations.resource-presets.js +8 -8
  437. package/dist/esm/config/resources/organizations.resource-presets.js.map +1 -1
  438. package/dist/esm/config/resources/resource.config.utils.d.ts.map +1 -1
  439. package/dist/esm/config/resources/security.resource-presets.d.ts.map +1 -1
  440. package/dist/esm/config/resources/security.resource-presets.js +104 -13
  441. package/dist/esm/config/resources/security.resource-presets.js.map +1 -1
  442. package/dist/esm/config/resources/webhooks.resource-presets.d.ts.map +1 -1
  443. package/dist/esm/index.d.ts +0 -3
  444. package/dist/esm/index.d.ts.map +1 -1
  445. package/dist/esm/index.js +0 -3
  446. package/dist/esm/index.js.map +1 -1
  447. package/dist/esm/lottie/lottie.content.definitions.d.ts.map +1 -1
  448. package/dist/esm/lottie/lottie.definitions.d.ts.map +1 -1
  449. package/dist/esm/mermaid-stub.d.ts.map +1 -1
  450. package/dist/esm/registration/register-common-enums.d.ts.map +1 -1
  451. package/dist/esm/registration/register-common-enums.js +20 -1
  452. package/dist/esm/registration/register-common-enums.js.map +1 -1
  453. package/dist/esm/registration/register-default-animations.d.ts.map +1 -1
  454. package/dist/esm/registration/register-default-icons.d.ts.map +1 -1
  455. package/dist/esm/registration/register-default-presets.d.ts.map +1 -1
  456. package/dist/esm/registration/register-default-presets.js +0 -4
  457. package/dist/esm/registration/register-default-presets.js.map +1 -1
  458. package/dist/esm/shiki-subset.d.ts.map +1 -1
  459. package/dist/esm/theme-exports.d.ts.map +1 -1
  460. package/dist/esm/themes/cozy.theme.d.ts.map +1 -1
  461. package/dist/esm/themes/cozy.theme.js +8 -3
  462. package/dist/esm/themes/cozy.theme.js.map +1 -1
  463. package/dist/esm/themes/dense.theme.d.ts.map +1 -1
  464. package/dist/esm/themes/dense.theme.js +8 -5
  465. package/dist/esm/themes/dense.theme.js.map +1 -1
  466. package/dist/esm/themes/editorial.theme.d.ts.map +1 -1
  467. package/dist/esm/themes/editorial.theme.js +8 -3
  468. package/dist/esm/themes/editorial.theme.js.map +1 -1
  469. package/dist/esm/themes/glass.theme.d.ts.map +1 -1
  470. package/dist/esm/themes/glass.theme.js +10 -4
  471. package/dist/esm/themes/glass.theme.js.map +1 -1
  472. package/dist/esm/themes/neo-brutalist.theme.d.ts.map +1 -1
  473. package/dist/esm/themes/neo-brutalist.theme.js +8 -3
  474. package/dist/esm/themes/neo-brutalist.theme.js.map +1 -1
  475. package/dist/esm/themes/terminal.theme.d.ts.map +1 -1
  476. package/dist/esm/themes/terminal.theme.js +8 -3
  477. package/dist/esm/themes/terminal.theme.js.map +1 -1
  478. package/dist/esm/themes/trading.theme.d.ts.map +1 -1
  479. package/dist/esm/themes/trading.theme.js +8 -3
  480. package/dist/esm/themes/trading.theme.js.map +1 -1
  481. package/dist/tsconfig.build.tsbuildinfo +1 -1
  482. package/package.json +7 -7
  483. package/dist/esm/.builder.pid +0 -9
  484. package/dist/esm/components/billing/billing-plan-change-preview.d.ts +0 -13
  485. package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +0 -1
  486. package/dist/esm/components/billing/billing-plan-change-preview.js +0 -44
  487. package/dist/esm/components/billing/billing-plan-change-preview.js.map +0 -1
  488. package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts +0 -3
  489. package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts.map +0 -1
  490. package/dist/esm/components/billing/billing-plan-change-preview.labels.js +0 -36
  491. package/dist/esm/components/billing/billing-plan-change-preview.labels.js.map +0 -1
  492. package/dist/esm/components/billing/billing-promotion-code-input.d.ts +0 -10
  493. package/dist/esm/components/billing/billing-promotion-code-input.d.ts.map +0 -1
  494. package/dist/esm/components/billing/billing-promotion-code-input.js +0 -68
  495. package/dist/esm/components/billing/billing-promotion-code-input.js.map +0 -1
  496. package/dist/esm/components/billing/billing-promotion-code-input.labels.d.ts +0 -3
  497. package/dist/esm/components/billing/billing-promotion-code-input.labels.d.ts.map +0 -1
  498. package/dist/esm/components/billing/billing-promotion-code-input.labels.js +0 -14
  499. package/dist/esm/components/billing/billing-promotion-code-input.labels.js.map +0 -1
  500. package/dist/esm/config/resources/infrastructure.resource-presets.d.ts +0 -16
  501. package/dist/esm/config/resources/infrastructure.resource-presets.d.ts.map +0 -1
  502. package/dist/esm/config/resources/infrastructure.resource-presets.js +0 -110
  503. package/dist/esm/config/resources/infrastructure.resource-presets.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"glass.theme.js","sourceRoot":"","sources":["../../../../src/themes/glass.theme.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ComponentStyleTheme, GlassMaterialProfile } from '@wildo-ai/presets-components-models';\nimport {\n GlassMaterialDepth,\n GlassMaterialNestedStrategy,\n GlassMaterialPriority,\n GlassMaterialPressFeedback,\n GlassMaterialVariant,\n GlassSurfaceShape,\n InteractiveVariant,\n MaterialCapabilityTier,\n MaterialKind,\n MaterialProfileRole,\n ShellAppearance,\n SurfaceVariant,\n FormControlVariant,\n IndicatorVariant,\n SelectableVariant,\n TypographyVariant,\n SpacingSemantic,\n} from '@wildo-ai/presets-components-models';\nimport type { UIBehaviorRecipe } from '@wildo-ai/presets-components-models';\n\nfunction recipe(r: Partial<UIBehaviorRecipe> & { base: string }): UIBehaviorRecipe {\n return { base: r.base, states: r.states ?? {}, sizes: r.sizes, motion: r.motion ?? {}, gesture: r.gesture, material: r.material, policy: r.policy };\n}\n\n// ============================================================\n// Glass / Apple Liquid Glass inspired theme\n//\n// Based on Apple WWDC 2025 Liquid Glass and Kube's constrained web refraction\n// model. Optical light belongs to the material runtime, never recipe shadows.\n//\n// Visual DNA:\n// - Backdrop: role/depth-scaled scatter, adaptive tone, and physical refraction\n// - Edge: environment pickup plus signed bright and opposing dark device-pixel rims\n// - Recipes: semantic typography/layout only; no painted material highlights\n// - Radius: generous (xl-2xl for containers, lg-xl for controls)\n// - Motion: 250-350ms ease-out, scale(0.98) on press\n// - Depth: physical thickness and bezel width increase per surface level\n// ============================================================\n\n// -- Shared constants --\n\nconst disabled = \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\";\nconst invalid = \"aria-invalid:ring-destructive/30 aria-invalid:border-destructive/40\";\nconst focus = \"focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:outline-none\";\n\n// ============================================================\n// MOTION PERSONALITY — Glass (Apple Liquid Glass)\n// ============================================================\n// Hover/focus : NORMAL (250ms) + SPRING → smooth refraction settle.\n// SPRING easing here is the\n// cubic-bezier ease-out token\n// (cubic-bezier(0.22, 1, 0.36, 1)\n// ≈ easeOutExpo) — monotonic,\n// slow tail, NO overshoot.\n// It matches Apple UIKit's\n// \"material settling\" feel,\n// not Material Design bounce.\n// Overlay enter: SLOW (350ms) + ENTER → pure decelerate.\n// Overlay exit : NORMAL (250ms) + EXIT → pure accelerate (out faster\n// than in — UX rule of thumb).\n// Backdrop : SLOW/NORMAL + ENTER/EXIT → matches overlays.\n// Gestures : SPRING physics on motion.dev (stiffness 300-400,\n// damping 26-30) — touch-first; whileTap scale-only,\n// whileHover scale + horizontal nudge for selectable.\n// Tuned to feel like UIKit, not React-Spring defaults.\n//\n// TR-14 motion-coherence: switched interactive/formControl/selectable\n// from EMPHASIZED (cubic-bezier(0.2, 0, 0, 1.2) — has 20% Y overshoot,\n// reads as \"Material bounce\") to SPRING (no overshoot, slow soft tail —\n// \"Liquid Glass settle\"). Backdrop animations now have explicit easing.\n// ============================================================\nconst GL_MOTION = {\n interactive: \"transition-[background-color,color,border-color,box-shadow,transform,backdrop-filter] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-spring)] motion-reduce:transition-none\",\n formControl: \"transition-[color,border-color,box-shadow,background-color,backdrop-filter] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-spring)] motion-reduce:transition-none\",\n selectable: \"transition-[background-color,color,border-color,backdrop-filter] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-spring)] motion-reduce:transition-none\",\n enterFadeZoom: \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:duration-[var(--motion-duration-slow)] data-[state=open]:ease-[var(--motion-easing-enter)] motion-reduce:data-[state=open]:animate-none\",\n exitFadeZoom: \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:duration-[var(--motion-duration-normal)] data-[state=closed]:ease-[var(--motion-easing-exit)] motion-reduce:data-[state=closed]:animate-none\",\n enterDirectional: \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:duration-[var(--motion-duration-slow)] data-[state=open]:ease-[var(--motion-easing-enter)] data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 motion-reduce:data-[state=open]:animate-none\",\n backdropEnter: \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:duration-[var(--motion-duration-slow)] data-[state=open]:ease-[var(--motion-easing-enter)] motion-reduce:data-[state=open]:animate-none\",\n backdropExit: \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:duration-[var(--motion-duration-normal)] data-[state=closed]:ease-[var(--motion-easing-exit)] motion-reduce:data-[state=closed]:animate-none\",\n};\n\nconst GLASS_CAPABILITIES = [\n MaterialCapabilityTier.FALLBACK,\n MaterialCapabilityTier.BACKDROP,\n MaterialCapabilityTier.REFRACTIVE,\n];\n\nfunction glassMaterialProfile(\n depth: GlassMaterialDepth,\n priority: GlassMaterialPriority,\n overrides: Partial<GlassMaterialProfile['optics']>,\n maxRefractiveAreaPx: number,\n fallbackOverrides: Partial<GlassMaterialProfile['fallback']> = {},\n boxShadow = '0 10px 30px color-mix(in oklch, black 12%, transparent)',\n pressFeedback: GlassMaterialPressFeedback = GlassMaterialPressFeedback.NONE,\n): GlassMaterialProfile {\n return {\n kind: MaterialKind.GLASS,\n variant: GlassMaterialVariant.REGULAR,\n depth,\n capabilities: GLASS_CAPABILITIES,\n optics: {\n shape: GlassSurfaceShape.CONVEX_SQUIRCLE,\n bezelWidthPx: 18,\n glassThicknessPx: 18,\n refractiveIndex: 1.5,\n backdropBlurPx: 5,\n backdropSaturation: 1.15,\n dynamicRangeCompression: 0.16,\n adaptiveToneOpacity: 0.16,\n tint: 'var(--surface-overlay)',\n tintOpacity: 0.16,\n rimWidthDevicePx: 2,\n edgeHighlightOpacity: 0.52,\n edgeShadowOpacity: 0.38,\n edgeEnvironmentSaturation: 4,\n lightAngleDeg: -60,\n ...overrides,\n },\n fallback: {\n background: 'color-mix(in oklch, var(--surface-overlay) 90%, transparent)',\n borderColor: 'color-mix(in oklch, var(--foreground) 12%, transparent)',\n ...fallbackOverrides,\n },\n elevation: { boxShadow },\n accessibility: {\n reducedTransparencyTier: MaterialCapabilityTier.FALLBACK,\n increasedContrastTier: MaterialCapabilityTier.FALLBACK,\n forcedColorsTier: MaterialCapabilityTier.FALLBACK,\n },\n interaction: pressFeedback === GlassMaterialPressFeedback.SCALE\n ? { pressFeedback, pressedScale: 0.985 }\n : { pressFeedback },\n composition: {\n nestedStrategy: GlassMaterialNestedStrategy.FLATTEN,\n },\n performance: {\n priority,\n maxRefractiveAreaPx,\n maxOpticalMapPixels: Math.max(maxRefractiveAreaPx, 420_000),\n pauseWhenDocumentHidden: true,\n },\n };\n}\n\nconst materials: NonNullable<ComponentStyleTheme['materials']> = {\n [MaterialProfileRole.STANDARD_CONTENT]: { kind: MaterialKind.STANDARD },\n [MaterialProfileRole.GLASS_CONTROL]: glassMaterialProfile(\n GlassMaterialDepth.THIN,\n GlassMaterialPriority.CONTROL,\n {\n bezelWidthPx: 9,\n glassThicknessPx: 7,\n backdropBlurPx: 2.5,\n dynamicRangeCompression: 0.05,\n adaptiveToneOpacity: 0.07,\n tintOpacity: 0.09,\n rimWidthDevicePx: 1.75,\n edgeHighlightOpacity: 0.48,\n edgeShadowOpacity: 0.28,\n edgeEnvironmentSaturation: 3.5,\n },\n 180_000,\n {},\n '0 4px 14px color-mix(in oklch, black 16%, transparent)',\n GlassMaterialPressFeedback.SCALE,\n ),\n [MaterialProfileRole.GLASS_CONTROL_EMPHASIS]: glassMaterialProfile(\n GlassMaterialDepth.THIN,\n GlassMaterialPriority.CONTROL,\n {\n bezelWidthPx: 10,\n glassThicknessPx: 9,\n backdropBlurPx: 2.5,\n dynamicRangeCompression: 0.04,\n adaptiveToneOpacity: 0.06,\n tint: 'var(--primary)',\n tintOpacity: 0.28,\n rimWidthDevicePx: 1.75,\n edgeHighlightOpacity: 0.56,\n edgeShadowOpacity: 0.32,\n edgeEnvironmentSaturation: 4.5,\n },\n 180_000,\n { background: 'color-mix(in oklch, var(--primary) 92%, transparent)' },\n '0 5px 16px color-mix(in oklch, black 18%, transparent)',\n GlassMaterialPressFeedback.SCALE,\n ),\n [MaterialProfileRole.GLASS_CONTROL_DESTRUCTIVE]: glassMaterialProfile(\n GlassMaterialDepth.THIN,\n GlassMaterialPriority.CONTROL,\n {\n bezelWidthPx: 10,\n glassThicknessPx: 9,\n backdropBlurPx: 2.5,\n dynamicRangeCompression: 0.04,\n adaptiveToneOpacity: 0.06,\n tint: 'var(--destructive)',\n tintOpacity: 0.3,\n rimWidthDevicePx: 1.75,\n edgeHighlightOpacity: 0.54,\n edgeShadowOpacity: 0.34,\n edgeEnvironmentSaturation: 4.5,\n },\n 180_000,\n { background: 'color-mix(in oklch, var(--destructive) 92%, transparent)' },\n '0 5px 16px color-mix(in oklch, black 18%, transparent)',\n GlassMaterialPressFeedback.SCALE,\n ),\n [MaterialProfileRole.GLASS_NAVIGATION]: glassMaterialProfile(\n GlassMaterialDepth.REGULAR,\n GlassMaterialPriority.NAVIGATION,\n {\n bezelWidthPx: 14,\n glassThicknessPx: 14,\n backdropBlurPx: 7,\n dynamicRangeCompression: 0.16,\n adaptiveToneOpacity: 0.16,\n tintOpacity: 0.15,\n rimWidthDevicePx: 2,\n edgeHighlightOpacity: 0.55,\n edgeShadowOpacity: 0.4,\n edgeEnvironmentSaturation: 4.5,\n },\n 420_000,\n {},\n '0 10px 28px color-mix(in oklch, black 20%, transparent)',\n ),\n [MaterialProfileRole.GLASS_OVERLAY]: glassMaterialProfile(\n GlassMaterialDepth.THICK,\n GlassMaterialPriority.OVERLAY,\n {\n bezelWidthPx: 24,\n glassThicknessPx: 28,\n backdropBlurPx: 16,\n dynamicRangeCompression: 0.26,\n adaptiveToneOpacity: 0.2,\n tintOpacity: 0.24,\n rimWidthDevicePx: 2.25,\n edgeHighlightOpacity: 0.6,\n edgeShadowOpacity: 0.45,\n edgeEnvironmentSaturation: 5,\n },\n 520_000,\n {},\n '0 18px 50px color-mix(in oklch, black 26%, transparent)',\n ),\n [MaterialProfileRole.GLASS_TRANSIENT]: glassMaterialProfile(\n GlassMaterialDepth.REGULAR,\n GlassMaterialPriority.NAVIGATION,\n {\n bezelWidthPx: 16,\n glassThicknessPx: 17,\n backdropBlurPx: 9,\n dynamicRangeCompression: 0.2,\n adaptiveToneOpacity: 0.18,\n tintOpacity: 0.18,\n rimWidthDevicePx: 2,\n edgeHighlightOpacity: 0.55,\n edgeShadowOpacity: 0.4,\n edgeEnvironmentSaturation: 4.5,\n },\n 260_000,\n {},\n '0 12px 34px color-mix(in oklch, black 22%, transparent)',\n ),\n [MaterialProfileRole.GLASS_CLEAR]: {\n ...glassMaterialProfile(\n GlassMaterialDepth.THIN,\n GlassMaterialPriority.PASSIVE,\n {\n bezelWidthPx: 12,\n glassThicknessPx: 10,\n backdropBlurPx: 0,\n dynamicRangeCompression: 0,\n adaptiveToneOpacity: 0.035,\n tintOpacity: 0.04,\n rimWidthDevicePx: 1.75,\n edgeHighlightOpacity: 0.48,\n edgeShadowOpacity: 0.28,\n edgeEnvironmentSaturation: 4,\n },\n 180_000,\n {},\n '0 5px 16px color-mix(in oklch, black 16%, transparent)',\n ),\n variant: GlassMaterialVariant.CLEAR,\n },\n};\n\n// -- Gesture configs (motion.dev) --\n// Apple-inspired spring physics: smooth, slightly bouncy, elegant\n\nconst GL_GESTURE = {\n /**\n * Buttons, interactive elements: scale-only press feedback.\n *\n * Apple Liquid Glass is a touch-first design language; on touch devices a\n * `whileHover` lift never fires (no real hover) and on desktop a -1px Y\n * translate would move a control away from the geometry sampled by its\n * backdrop. Press-in scale is the shared feedback until material-geometry\n * interpolation lands.\n */\n interactive: {\n whileHover: { scale: 1.01 },\n whileTap: { scale: 0.98 },\n transition: { type: \"spring\" as const, stiffness: 400, damping: 28 },\n } as const,\n\n /** Selectable items: subtle horizontal nudge (intentional for list affordance). */\n selectable: {\n whileHover: { x: 2 },\n whileTap: { scale: 0.99 },\n transition: { type: \"spring\" as const, stiffness: 400, damping: 30 },\n } as const,\n};\n\nconst sizes: Record<string, string> = {\n xs: \"h-7 px-3 text-xs gap-1 pointer-coarse:min-h-9\",\n sm: \"h-8 px-3.5 gap-1.5 pointer-coarse:min-h-11\",\n md: \"h-9 px-5 py-2 pointer-coarse:min-h-11\",\n lg: \"h-11 px-7 pointer-coarse:min-h-11\",\n icon: \"size-9 pointer-coarse:min-h-11 pointer-coarse:min-w-11\",\n \"icon-sm\": \"size-7 pointer-coarse:min-h-9 pointer-coarse:min-w-9\",\n};\n\n// ============================================================\n// INTERACTIVE\n// ============================================================\n\nconst interactive: Record<InteractiveVariant, UIBehaviorRecipe> = {\n [InteractiveVariant.PRIMARY]: recipe({\n base: 'text-primary-foreground rounded-xl border border-transparent font-medium text-sm cursor-pointer',\n states: {\n hover: 'hover:opacity-95',\n active: 'active:opacity-90',\n focus, disabled, invalid,\n },\n sizes,\n motion: { transition: GL_MOTION.interactive },\n gesture: GL_GESTURE.interactive,\n material: MaterialProfileRole.GLASS_CONTROL_EMPHASIS,\n }),\n\n [InteractiveVariant.DESTRUCTIVE]: recipe({\n base: 'text-destructive-foreground rounded-xl border border-transparent font-medium text-sm cursor-pointer',\n states: {\n hover: 'hover:opacity-95',\n active: 'active:opacity-90',\n focus, disabled, invalid,\n highlighted: \"focus:bg-destructive/15 focus:text-destructive\",\n },\n sizes,\n motion: { transition: GL_MOTION.interactive },\n gesture: GL_GESTURE.interactive,\n material: MaterialProfileRole.GLASS_CONTROL_DESTRUCTIVE,\n }),\n\n [InteractiveVariant.OUTLINE]: recipe({\n base: 'text-foreground rounded-xl border border-transparent font-medium text-sm cursor-pointer',\n states: {\n hover: 'hover:opacity-90',\n active: 'active:opacity-80',\n focus, disabled, invalid,\n selected: `data-[state=on]:bg-white/15 dark:data-[state=on]:bg-white/10 data-[state=on]:text-foreground data-[state=on]:border-white/25`,\n },\n sizes,\n motion: { transition: GL_MOTION.interactive },\n gesture: GL_GESTURE.interactive,\n material: MaterialProfileRole.GLASS_CONTROL,\n }),\n\n [InteractiveVariant.SECONDARY]: recipe({\n base: 'text-secondary-foreground rounded-xl border border-transparent font-medium text-sm cursor-pointer',\n states: {\n hover: 'hover:opacity-90',\n active: 'active:opacity-80',\n focus, disabled, invalid,\n },\n sizes,\n motion: { transition: GL_MOTION.interactive },\n gesture: GL_GESTURE.interactive,\n material: MaterialProfileRole.GLASS_CONTROL,\n }),\n\n [InteractiveVariant.GHOST]: recipe({\n // `text-foreground` (not `/80`) so ghost buttons stay legible on the\n // strongest blur surfaces — alpha-mixed text fades against the bright\n // overlay background. Hover states already supply a subtle bg.\n base: \"text-foreground rounded-xl font-medium text-sm cursor-pointer\",\n states: {\n hover: \"hover:bg-white/12 dark:hover:bg-white/8\",\n active: \"active:bg-white/18 dark:active:bg-white/12\",\n focus, disabled, invalid,\n selected: \"data-[state=on]:bg-white/15 dark:data-[state=on]:bg-white/10 data-[state=on]:text-foreground\",\n highlighted: \"focus:bg-white/12 dark:focus:bg-white/8 focus:text-foreground\",\n open: `data-[state=open]:bg-white/12 dark:data-[state=open]:bg-white/8 data-[state=open]:text-foreground`,\n },\n sizes,\n motion: { transition: GL_MOTION.interactive },\n gesture: GL_GESTURE.interactive,\n // Ghost controls are tint-only children of their surrounding material.\n // Giving every sidebar/menu row its own refractive filter creates a stack\n // of metallic lenses and violates the no-glass-on-glass hierarchy.\n material: MaterialProfileRole.STANDARD_CONTENT,\n }),\n\n [InteractiveVariant.LINK]: recipe({\n base: \"text-primary underline-offset-4 font-medium text-sm cursor-pointer\",\n states: {\n hover: \"hover:underline hover:text-primary/80\",\n active: \"active:text-primary/60\",\n focus, disabled, invalid,\n },\n sizes: { xs: \"h-7 px-3 text-xs gap-1 pointer-coarse:min-h-9\", sm: \"h-8 px-3.5 gap-1.5 pointer-coarse:min-h-11\", md: \"h-9 px-5 py-2 pointer-coarse:min-h-11\", lg: \"h-11 px-7 pointer-coarse:min-h-11\", icon: \"size-9 pointer-coarse:min-h-11 pointer-coarse:min-w-11\", \"icon-sm\": \"size-7 pointer-coarse:min-h-9 pointer-coarse:min-w-9\" },\n motion: { transition: GL_MOTION.interactive },\n }),\n\n [InteractiveVariant.ACCENT]: recipe({\n base: 'relative text-primary-foreground font-semibold border border-transparent rounded-xl text-sm cursor-pointer',\n states: {\n hover: 'hover:opacity-95',\n active: 'active:scale-[0.98]',\n focus,\n disabled: 'disabled:opacity-[var(--opacity-disabled)] disabled:pointer-events-none disabled:backdrop-blur-none',\n },\n sizes: sizes,\n motion: {\n transition: 'transition-[shadow,transform,backdrop-filter] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-spring)] motion-reduce:transition-none',\n },\n gesture: GL_GESTURE.interactive,\n material: MaterialProfileRole.GLASS_CONTROL_EMPHASIS,\n }),\n};\n\n// ============================================================\n// SURFACE\n// SURFACE PERSONALITY — semantic content surfaces stay standard. Glass is\n// selected independently for navigation and transient interaction layers.\n// ============================================================\n\nconst surface: ComponentStyleTheme['surface'] = {\n [SurfaceVariant.BASE]: recipe({\n // General content container: deliberately standard, never a glass lens.\n base: 'bg-surface-raised text-surface-raised-foreground rounded-3xl border border-border shadow-sm',\n material: MaterialProfileRole.STANDARD_CONTENT,\n }),\n\n [SurfaceVariant.CARD]: recipe({\n // Authored content grouping: standard raised material, even in Glass.\n base: 'bg-surface-raised text-surface-raised-foreground rounded-3xl border border-border shadow-sm',\n material: MaterialProfileRole.STANDARD_CONTENT,\n }),\n [SurfaceVariant.RAISED]: recipe({\n base: 'fill-surface-overlay text-foreground rounded-2xl border border-transparent',\n material: MaterialProfileRole.GLASS_OVERLAY,\n motion: {\n enter: GL_MOTION.enterDirectional,\n exit: GL_MOTION.exitFadeZoom,\n },\n }),\n [SurfaceVariant.OVERLAY]: recipe({\n base: 'text-foreground rounded-3xl border border-transparent',\n material: MaterialProfileRole.GLASS_OVERLAY,\n motion: {\n enter: GL_MOTION.enterFadeZoom,\n exit: GL_MOTION.exitFadeZoom,\n },\n }),\n [SurfaceVariant.INSET]: recipe({\n // Recessed: inverted glass — darker, less blur\n base: 'bg-surface-inset text-surface-inset-foreground rounded-xl',\n material: MaterialProfileRole.STANDARD_CONTENT,\n }),\n [SurfaceVariant.SUNKEN]: recipe({\n base: 'text-foreground border-r border-transparent',\n material: MaterialProfileRole.GLASS_NAVIGATION,\n }),\n\n [SurfaceVariant.TAB_PANEL]: recipe({\n // The content panel stays standard; only the selection capsule may be glass.\n base: 'bg-surface-raised text-surface-raised-foreground rounded-b-3xl border-x border-b border-border',\n material: MaterialProfileRole.STANDARD_CONTENT,\n }),\n\n [SurfaceVariant.SHELL]: recipe({\n // Transparent continuous scene under independently materialized chrome.\n base: 'bg-transparent text-foreground',\n material: MaterialProfileRole.STANDARD_CONTENT,\n }),\n\n [SurfaceVariant.TRANSIENT]: recipe({\n base: 'text-foreground rounded-2xl border border-transparent',\n material: MaterialProfileRole.GLASS_TRANSIENT,\n motion: {\n enter: GL_MOTION.enterDirectional,\n exit: GL_MOTION.exitFadeZoom,\n },\n }),\n};\n\n// ============================================================\n// FORM_CONTROL\n// ============================================================\n\nconst formControl: Record<FormControlVariant, UIBehaviorRecipe> = {\n [FormControlVariant.DEFAULT]: recipe({\n base: 'bg-surface-inset/80 border border-border/60 rounded-xl text-base md:text-sm placeholder:text-foreground/40 selection:bg-primary/30 selection:text-foreground',\n states: {\n focus: `focus-visible:bg-white/15 dark:focus-visible:bg-white/10 focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:outline-none`,\n disabled: \"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)] disabled:backdrop-blur-none\",\n invalid,\n },\n sizes: { md: \"h-9 px-3.5 py-1 pointer-coarse:min-h-11\", sm: \"h-8 px-3 py-1 text-sm pointer-coarse:min-h-11\", lg: \"h-11 px-4 py-2 pointer-coarse:min-h-11\" },\n motion: { transition: GL_MOTION.formControl },\n }),\n [FormControlVariant.FILLED]: recipe({\n base: `bg-white/30 dark:bg-black/35 border-0 rounded-xl text-base md:text-sm placeholder:text-foreground/40`,\n states: {\n focus: \"focus-visible:bg-white/22 dark:focus-visible:bg-white/12 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:outline-none\",\n disabled: \"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]\",\n invalid,\n },\n sizes: { md: \"h-9 px-3.5 py-1 pointer-coarse:min-h-11\", sm: \"h-8 px-3 py-1 text-sm pointer-coarse:min-h-11\", lg: \"h-11 px-4 py-2 pointer-coarse:min-h-11\" },\n motion: { transition: GL_MOTION.formControl },\n }),\n [FormControlVariant.UNDERLINED]: recipe({\n base: \"bg-transparent border-0 border-b border-white/15 dark:border-white/10 rounded-none text-base md:text-sm placeholder:text-foreground/40\",\n states: {\n focus: \"focus-visible:border-primary/50 focus-visible:border-b-2\",\n disabled: \"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]\",\n invalid: \"aria-invalid:border-destructive/50\",\n },\n sizes: { md: \"h-9 px-0 py-1 pointer-coarse:min-h-11\", sm: \"h-8 px-0 py-1 text-sm pointer-coarse:min-h-11\", lg: \"h-11 px-0 py-2 pointer-coarse:min-h-11\" },\n motion: { transition: \"transition-[border-color] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-spring)] motion-reduce:transition-none\" },\n }),\n\n [FormControlVariant.CHECKBOX]: recipe({\n base: 'bg-surface-inset/80 border border-border/60',\n states: {\n focus: \"focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:outline-none\",\n selected: \"data-[state=checked]:bg-primary/80 data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary/40\",\n disabled: \"disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]\",\n invalid,\n },\n motion: { transition: \"transition-[color,box-shadow,background-color,backdrop-filter] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-spring)] motion-reduce:transition-none\" },\n }),\n\n [FormControlVariant.SWITCH]: recipe({\n base: `data-[state=unchecked]:bg-white/30 dark:data-[state=unchecked]:bg-black/35 border border-white/10 dark:border-white/5`,\n states: {\n focus: \"focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:outline-none\",\n selected: \"data-[state=checked]:bg-primary/80\",\n disabled: \"disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]\",\n invalid,\n },\n motion: { transition: \"transition-all duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-spring)] motion-reduce:transition-none\" },\n }),\n};\n\n// ============================================================\n// INDICATOR\n// ============================================================\n\nconst glIndicatorShared = {\n states: { hover: \"[a&]:hover:opacity-[var(--opacity-hover)]\", focus, invalid },\n motion: { transition: GL_MOTION.interactive },\n};\n\nconst indicator: Record<IndicatorVariant, UIBehaviorRecipe> = {\n [IndicatorVariant.NEUTRAL]: recipe({ base: 'bg-foreground/10 text-foreground border border-border/50 rounded-full px-2.5 py-0.5 text-xs font-medium', ...glIndicatorShared }),\n [IndicatorVariant.INFO]: recipe({ base: 'bg-info/15 text-info border border-info/15 rounded-full px-2.5 py-0.5 text-xs font-medium', ...glIndicatorShared }),\n [IndicatorVariant.SUCCESS]: recipe({ base: 'bg-success/15 text-success border border-success/15 rounded-full px-2.5 py-0.5 text-xs font-medium', ...glIndicatorShared }),\n [IndicatorVariant.WARNING]: recipe({ base: 'bg-warning/15 text-warning border border-warning/15 rounded-full px-2.5 py-0.5 text-xs font-medium', ...glIndicatorShared }),\n [IndicatorVariant.ERROR]: recipe({ base: 'bg-destructive/15 text-destructive border border-destructive/15 rounded-full px-2.5 py-0.5 text-xs font-medium', ...glIndicatorShared }),\n};\n\n// ============================================================\n// SELECTABLE\n// ============================================================\n\nconst selectable: Record<SelectableVariant, UIBehaviorRecipe> = {\n [SelectableVariant.FILLED]: recipe({\n base: \"rounded-xl text-sm outline-hidden\",\n states: {\n hover: \"hover:bg-white/10 dark:hover:bg-white/8\",\n focus: \"focus-visible:ring-2 focus-visible:ring-ring\",\n active: \"active:bg-white/15\",\n selected: 'data-[active=true]:bg-primary/12 data-[active=true]:text-primary data-[state=active]:bg-primary/12 data-[state=active]:text-primary',\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n },\n sizes: { sm: \"h-7 text-xs\", md: \"h-8 text-sm\", lg: \"h-12 text-sm\" },\n motion: { transition: GL_MOTION.selectable },\n gesture: GL_GESTURE.selectable,\n }),\n [SelectableVariant.UNDERLINE]: recipe({\n // Use `text-muted-foreground` for the inactive state and `text-foreground`\n // on hover — alpha-mixed text on translucent surfaces was unreliable.\n base: \"rounded-none border-b-2 border-transparent text-sm text-muted-foreground outline-hidden\",\n states: {\n hover: \"hover:text-foreground\",\n focus: \"focus-visible:ring-2 focus-visible:ring-ring\",\n selected: \"data-[state=active]:border-primary data-[state=active]:text-primary\",\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n },\n sizes: { sm: \"h-7 text-xs pb-1\", md: \"h-8 text-sm pb-2\", lg: \"h-10 text-sm pb-3\" },\n motion: { transition: GL_MOTION.selectable },\n }),\n [SelectableVariant.PILL]: recipe({\n base: \"rounded-full text-sm outline-hidden\",\n states: {\n hover: 'hover:bg-white/10',\n focus: \"focus-visible:ring-2 focus-visible:ring-ring\",\n selected: 'data-[state=active]:bg-primary/12 data-[state=active]:text-primary data-[state=active]:border data-[state=active]:border-primary/15',\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n },\n sizes: { sm: \"h-7 px-3 text-xs\", md: \"h-8 px-4 text-sm\", lg: \"h-10 px-5 text-sm\" },\n motion: { transition: GL_MOTION.selectable },\n gesture: GL_GESTURE.selectable,\n }),\n [SelectableVariant.INDICATOR]: recipe({\n base: \"rounded-xl text-sm outline-hidden\",\n states: {\n hover: \"hover:bg-white/8\",\n focus: \"focus-visible:ring-2 focus-visible:ring-ring\",\n selected: `data-[active=true]:border-s-2 data-[active=true]:border-primary data-[active=true]:bg-primary/8 data-[active=true]:text-primary`,\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n },\n sizes: { sm: \"h-7 text-xs\", md: \"h-8 text-sm\", lg: \"h-12 text-sm\" },\n motion: { transition: GL_MOTION.selectable },\n gesture: GL_GESTURE.selectable,\n }),\n};\n\n// ============================================================\n// OVERLAY, DIVIDER, SKELETON\n// ============================================================\n\nconst overlayBackdrop: UIBehaviorRecipe = recipe({\n base: 'bg-black/25 dark:bg-black/45 backdrop-blur-[2px]',\n motion: {\n enter: GL_MOTION.backdropEnter,\n exit: GL_MOTION.backdropExit,\n },\n});\n\nconst divider: UIBehaviorRecipe = recipe({ base: \"bg-white/10 dark:bg-white/5 shrink-0\" });\n\nconst skeleton: UIBehaviorRecipe = recipe({ base: 'bg-white/8 dark:bg-white/5 animate-pulse rounded-xl motion-reduce:animate-none' });\n\nconst loadingSpinner: UIBehaviorRecipe = recipe({\n base: \"text-muted-foreground animate-spin motion-reduce:animate-none\",\n motion: { transition: \"transition-opacity duration-[var(--motion-duration-fast)] ease-[var(--motion-easing-default)] motion-reduce:transition-none\" },\n});\n\nconst loadingOverlay: UIBehaviorRecipe = recipe({\n base: 'bg-background/80 backdrop-blur-[2px]',\n motion: {\n enter: \"animate-in fade-in-0 duration-[var(--motion-duration-fast)] ease-[var(--motion-easing-enter)] motion-reduce:animate-none\",\n exit: \"animate-out fade-out-0 duration-[var(--motion-duration-fast)] ease-[var(--motion-easing-exit)] motion-reduce:animate-none\",\n },\n});\n\n// ============================================================\n// TYPOGRAPHY\n// ============================================================\n\nconst typography: Record<TypographyVariant, UIBehaviorRecipe> = {\n [TypographyVariant.HEADING]: recipe({\n // Glass keeps a slightly bolder h1 (`text-4xl`) than the default theme's\n // rebalanced `text-3xl` (TR-8). The rationale is theme-specific: glass\n // surfaces are translucent — large headings act as a visual anchor that\n // the eye can lock onto against shifting backdrops. Default's tighter\n // ladder makes sense on opaque cards; glass needs the extra tier of\n // visual weight. Intentional divergence — do NOT homogenise to default.\n base: \"font-semibold leading-none tracking-tight text-foreground\",\n sizes: { h1: \"text-4xl\", h2: \"text-2xl\", h3: \"text-xl\", h4: \"text-lg\", md: \"text-lg\" },\n }),\n // Body / Label / Description: use semantic foreground tokens — `/90`, `/80`, `/50`\n // alpha-mixes blow out on translucent glass surfaces (compositing on top of\n // the page background means the text loses contrast unpredictably). The\n // `text-muted-foreground` token is designed to remain legible against any\n // surface in the system and respects user-customised palettes.\n [TypographyVariant.BODY]: recipe({\n base: \"text-foreground text-sm\",\n sizes: { sm: \"text-xs\", md: \"text-sm\", lg: \"text-base\" },\n }),\n [TypographyVariant.LABEL]: recipe({\n base: \"font-medium text-sm leading-none text-foreground\",\n sizes: { sm: \"text-xs\", md: \"text-sm\", lg: \"text-base\" },\n }),\n [TypographyVariant.DESCRIPTION]: recipe({\n base: \"text-muted-foreground text-sm\",\n sizes: { sm: \"text-xs\", md: \"text-sm\" },\n }),\n [TypographyVariant.CODE]: recipe({\n base: 'font-mono text-sm bg-white/8 dark:bg-white/5 rounded-lg px-1.5 py-0.5 border border-white/10',\n sizes: { sm: \"text-xs\", md: \"text-sm\", lg: \"text-base\" },\n }),\n};\n\n// ============================================================\n// ASSEMBLED THEME\n// ============================================================\n\n// ============================================================\n// SPACING\n//\n// Apple / Liquid Glass aesthetic demands generous whitespace.\n// Frosted surfaces look best with breathing room around content.\n// The wider radius (xl-2xl) also needs proportionally larger\n// internal padding so content doesn't crowd curved corners.\n//\n// Philosophy: \"let the glass breathe\" — spacious, airy, elegant.\n// ============================================================\n\nconst spacing: ComponentStyleTheme['spacing'] = {\n [SpacingSemantic.ELEMENT]: '0.625rem', // 10px (default 8px) — elements feel less cramped\n [SpacingSemantic.ITEM]: '0.375rem', // 6px (default 4px) — list items slightly roomier\n [SpacingSemantic.GROUP]: '1rem', // 16px (default 12px) — groups stand apart clearly\n [SpacingSemantic.FIELD]: '1.25rem', // 20px (default 16px) — generous form field spacing\n [SpacingSemantic.SECTION]: '2rem', // 32px (default 24px) — sections breathe\n [SpacingSemantic.REGION]: '3rem', // 48px (default 32px) — major regions widely separated\n [SpacingSemantic.CARD]: '1.5rem', // 24px (default 16px) — more internal padding for glass panels\n [SpacingSemantic.CONTAINER]: '2rem', // 32px (default 24px) — spacious page containers\n};\n\nexport const glassTheme: ComponentStyleTheme = {\n id: 'glass',\n name: 'Glass',\n description: 'A progressive Liquid Glass material: role-scaled depth, adaptive transmitted-background blur and tone, Snell-law bezel refraction, and signed environment-aware edge lighting in Chromium, with standard content surfaces beneath the functional navigation/control layer.',\n\n spacing,\n materials,\n materialRuntimePolicy: {\n maxRefractiveSurfaces: 8,\n maxTotalRefractiveAreaPx: 760_000,\n },\n\n interactive,\n surface,\n formControl,\n indicator,\n selectable,\n overlayBackdrop,\n divider,\n skeleton,\n loadingSpinner,\n loadingOverlay,\n typography,\n radius: '0.75rem',\n shellAppearance: ShellAppearance.CONTINUOUS,\n backgroundLayer: {\n background: 'var(--background)',\n classes: 'opacity-100',\n },\n chartStyle: {\n colorShadeLight: 400,\n colorShadeDark: 300,\n gridPadding: { top: 30, right: 20, bottom: 30, left: 60 },\n axis: { showAxisLine: false, showTicks: false, splitLineType: 'none', hideOverlap: true, yAxisNameLocation: 'middle', yAxisNameGap: 50 },\n // TT-3: Use surface tokens instead of hardcoded `rgba(255,255,255,...)`\n // so the chart tooltip darkens correctly under `.dark` and tracks tenant\n // surface re-colorings. Dropping `!important` lets recipe-level overrides\n // win when needed; ECharts injects this into a portal where there's no\n // competing background to override anymore.\n tooltip: {\n extraCss: 'backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); background: color-mix(in oklch, var(--surface-overlay) 60%, transparent); border: 1px solid color-mix(in oklch, var(--border) 30%, transparent); box-shadow: 0 8px 32px color-mix(in oklch, var(--foreground) 8%, transparent);',\n borderWidth: 0,\n },\n animation: { enabled: true, durationMs: 300, easing: 'cubicInOut' },\n series: { lineWidth: 1.5, pointSize: 5, areaOpacity: 0.15, barBorderRadius: 4, pieBorderWidth: 1 },\n typography: { titleFontSize: 16, titleFontWeight: 500, subtitleFontSize: 13, legendFontSize: 12, tooltipFontSize: 12, axisLabelFontSize: 11, axisNameFontSize: 12 },\n emphasis: { shadowBlur: 20, shadowColor: 'rgba(0, 0, 0, 0.1)', shadowOffsetX: 0 },\n responsive: { smallMaxWidth: 400, mediumMaxWidth: 799, smallGridPadding: { top: 20, right: 10, bottom: 20, left: 30 }, mediumGridPadding: { left: 50, right: 20, bottom: 40 }, hideLegendOnSmall: true, smallAxisLabelRotate: 45, smallFontSize: 10, mediumFontSize: 11 },\n multiSeriesLegendBottomPadding: 50,\n },\n};\n"]}
1
+ {"version":3,"file":"glass.theme.js","sourceRoot":"","sources":["../../../../src/themes/glass.theme.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ComponentStyleTheme, GlassMaterialProfile } from '@wildo-ai/presets-components-models';\nimport {\n DividerVariant,\n GlassMaterialDepth,\n GlassMaterialNestedStrategy,\n GlassMaterialPriority,\n GlassMaterialPressFeedback,\n GlassMaterialVariant,\n GlassSurfaceShape,\n InteractiveVariant,\n MaterialCapabilityTier,\n MaterialKind,\n MaterialProfileRole,\n ShellAppearance,\n SurfaceVariant,\n FormControlVariant,\n IndicatorVariant,\n SelectableVariant,\n TypographyVariant,\n SpacingSemantic,\n} from '@wildo-ai/presets-components-models';\nimport type { UIBehaviorRecipe } from '@wildo-ai/presets-components-models';\n\nfunction recipe(r: Partial<UIBehaviorRecipe> & { base: string }): UIBehaviorRecipe {\n return { base: r.base, states: r.states ?? {}, sizes: r.sizes, motion: r.motion ?? {}, gesture: r.gesture, material: r.material, policy: r.policy };\n}\n\n// ============================================================\n// Glass / Apple Liquid Glass inspired theme\n//\n// Based on Apple WWDC 2025 Liquid Glass and Kube's constrained web refraction\n// model. Optical light belongs to the material runtime, never recipe shadows.\n//\n// Visual DNA:\n// - Backdrop: role/depth-scaled scatter, adaptive tone, and physical refraction\n// - Edge: environment pickup plus signed bright and opposing dark device-pixel rims\n// - Recipes: semantic typography/layout only; no painted material highlights\n// - Radius: generous (xl-2xl for containers, lg-xl for controls)\n// - Motion: 250-350ms ease-out, scale(0.98) on press\n// - Depth: physical thickness and bezel width increase per surface level\n// ============================================================\n\n// -- Shared constants --\n\nconst disabled = \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\";\nconst invalid = \"aria-invalid:ring-destructive/30 aria-invalid:border-destructive/40\";\nconst focus = \"focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:outline-none\";\n\n// ============================================================\n// MOTION PERSONALITY — Glass (Apple Liquid Glass)\n// ============================================================\n// Hover/focus : NORMAL (250ms) + SPRING → smooth refraction settle.\n// SPRING easing here is the\n// cubic-bezier ease-out token\n// (cubic-bezier(0.22, 1, 0.36, 1)\n// ≈ easeOutExpo) — monotonic,\n// slow tail, NO overshoot.\n// It matches Apple UIKit's\n// \"material settling\" feel,\n// not Material Design bounce.\n// Overlay enter: SLOW (350ms) + ENTER → pure decelerate.\n// Overlay exit : NORMAL (250ms) + EXIT → pure accelerate (out faster\n// than in — UX rule of thumb).\n// Backdrop : SLOW/NORMAL + ENTER/EXIT → matches overlays.\n// Gestures : SPRING physics on motion.dev (stiffness 300-400,\n// damping 26-30) — touch-first; whileTap scale-only,\n// whileHover scale + horizontal nudge for selectable.\n// Tuned to feel like UIKit, not React-Spring defaults.\n//\n// TR-14 motion-coherence: switched interactive/formControl/selectable\n// from EMPHASIZED (cubic-bezier(0.2, 0, 0, 1.2) — has 20% Y overshoot,\n// reads as \"Material bounce\") to SPRING (no overshoot, slow soft tail —\n// \"Liquid Glass settle\"). Backdrop animations now have explicit easing.\n// ============================================================\nconst GL_MOTION = {\n interactive: \"transition-[background-color,color,border-color,box-shadow,transform,backdrop-filter] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-spring)] motion-reduce:transition-none\",\n formControl: \"transition-[color,border-color,box-shadow,background-color,backdrop-filter] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-spring)] motion-reduce:transition-none\",\n selectable: \"transition-[background-color,color,border-color,backdrop-filter] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-spring)] motion-reduce:transition-none\",\n enterFadeZoom: \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:duration-[var(--motion-duration-slow)] data-[state=open]:ease-[var(--motion-easing-enter)] motion-reduce:data-[state=open]:animate-none\",\n exitFadeZoom: \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:duration-[var(--motion-duration-normal)] data-[state=closed]:ease-[var(--motion-easing-exit)] motion-reduce:data-[state=closed]:animate-none\",\n enterDirectional: \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:duration-[var(--motion-duration-slow)] data-[state=open]:ease-[var(--motion-easing-enter)] data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 motion-reduce:data-[state=open]:animate-none\",\n backdropEnter: \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:duration-[var(--motion-duration-slow)] data-[state=open]:ease-[var(--motion-easing-enter)] motion-reduce:data-[state=open]:animate-none\",\n backdropExit: \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:duration-[var(--motion-duration-normal)] data-[state=closed]:ease-[var(--motion-easing-exit)] motion-reduce:data-[state=closed]:animate-none\",\n};\n\nconst GLASS_CAPABILITIES = [\n MaterialCapabilityTier.FALLBACK,\n MaterialCapabilityTier.BACKDROP,\n MaterialCapabilityTier.REFRACTIVE,\n];\n\nfunction glassMaterialProfile(\n depth: GlassMaterialDepth,\n priority: GlassMaterialPriority,\n overrides: Partial<GlassMaterialProfile['optics']>,\n maxRefractiveAreaPx: number,\n fallbackOverrides: Partial<GlassMaterialProfile['fallback']> = {},\n boxShadow = '0 10px 30px color-mix(in oklch, black 12%, transparent)',\n pressFeedback: GlassMaterialPressFeedback = GlassMaterialPressFeedback.NONE,\n): GlassMaterialProfile {\n return {\n kind: MaterialKind.GLASS,\n variant: GlassMaterialVariant.REGULAR,\n depth,\n capabilities: GLASS_CAPABILITIES,\n optics: {\n shape: GlassSurfaceShape.CONVEX_SQUIRCLE,\n bezelWidthPx: 18,\n glassThicknessPx: 18,\n refractiveIndex: 1.5,\n backdropBlurPx: 5,\n backdropSaturation: 1.15,\n dynamicRangeCompression: 0.16,\n adaptiveToneOpacity: 0.16,\n tint: 'var(--surface-overlay)',\n tintOpacity: 0.16,\n rimWidthDevicePx: 2,\n edgeHighlightOpacity: 0.52,\n edgeShadowOpacity: 0.38,\n edgeEnvironmentSaturation: 4,\n lightAngleDeg: -60,\n ...overrides,\n },\n fallback: {\n background: 'color-mix(in oklch, var(--surface-overlay) 90%, transparent)',\n borderColor: 'color-mix(in oklch, var(--foreground) 12%, transparent)',\n ...fallbackOverrides,\n },\n elevation: { boxShadow },\n accessibility: {\n reducedTransparencyTier: MaterialCapabilityTier.FALLBACK,\n increasedContrastTier: MaterialCapabilityTier.FALLBACK,\n forcedColorsTier: MaterialCapabilityTier.FALLBACK,\n },\n interaction: pressFeedback === GlassMaterialPressFeedback.SCALE\n ? { pressFeedback, pressedScale: 0.985 }\n : { pressFeedback },\n composition: {\n nestedStrategy: GlassMaterialNestedStrategy.FLATTEN,\n },\n performance: {\n priority,\n maxRefractiveAreaPx,\n maxOpticalMapPixels: Math.max(maxRefractiveAreaPx, 420_000),\n pauseWhenDocumentHidden: true,\n },\n };\n}\n\nconst materials: NonNullable<ComponentStyleTheme['materials']> = {\n [MaterialProfileRole.STANDARD_CONTENT]: { kind: MaterialKind.STANDARD },\n [MaterialProfileRole.GLASS_CONTROL]: glassMaterialProfile(\n GlassMaterialDepth.THIN,\n GlassMaterialPriority.CONTROL,\n {\n bezelWidthPx: 9,\n glassThicknessPx: 7,\n backdropBlurPx: 2.5,\n dynamicRangeCompression: 0.05,\n adaptiveToneOpacity: 0.07,\n tintOpacity: 0.09,\n rimWidthDevicePx: 1.75,\n edgeHighlightOpacity: 0.48,\n edgeShadowOpacity: 0.28,\n edgeEnvironmentSaturation: 3.5,\n },\n 180_000,\n {},\n '0 4px 14px color-mix(in oklch, black 16%, transparent)',\n GlassMaterialPressFeedback.SCALE,\n ),\n [MaterialProfileRole.GLASS_CONTROL_EMPHASIS]: glassMaterialProfile(\n GlassMaterialDepth.THIN,\n GlassMaterialPriority.CONTROL,\n {\n bezelWidthPx: 10,\n glassThicknessPx: 9,\n backdropBlurPx: 2.5,\n dynamicRangeCompression: 0.04,\n adaptiveToneOpacity: 0.06,\n tint: 'var(--primary)',\n tintOpacity: 0.28,\n rimWidthDevicePx: 1.75,\n edgeHighlightOpacity: 0.56,\n edgeShadowOpacity: 0.32,\n edgeEnvironmentSaturation: 4.5,\n },\n 180_000,\n { background: 'color-mix(in oklch, var(--primary) 92%, transparent)' },\n '0 5px 16px color-mix(in oklch, black 18%, transparent)',\n GlassMaterialPressFeedback.SCALE,\n ),\n [MaterialProfileRole.GLASS_CONTROL_DESTRUCTIVE]: glassMaterialProfile(\n GlassMaterialDepth.THIN,\n GlassMaterialPriority.CONTROL,\n {\n bezelWidthPx: 10,\n glassThicknessPx: 9,\n backdropBlurPx: 2.5,\n dynamicRangeCompression: 0.04,\n adaptiveToneOpacity: 0.06,\n tint: 'var(--destructive)',\n tintOpacity: 0.3,\n rimWidthDevicePx: 1.75,\n edgeHighlightOpacity: 0.54,\n edgeShadowOpacity: 0.34,\n edgeEnvironmentSaturation: 4.5,\n },\n 180_000,\n { background: 'color-mix(in oklch, var(--destructive) 92%, transparent)' },\n '0 5px 16px color-mix(in oklch, black 18%, transparent)',\n GlassMaterialPressFeedback.SCALE,\n ),\n [MaterialProfileRole.GLASS_NAVIGATION]: glassMaterialProfile(\n GlassMaterialDepth.REGULAR,\n GlassMaterialPriority.NAVIGATION,\n {\n bezelWidthPx: 14,\n glassThicknessPx: 14,\n backdropBlurPx: 7,\n dynamicRangeCompression: 0.16,\n adaptiveToneOpacity: 0.16,\n tintOpacity: 0.15,\n rimWidthDevicePx: 2,\n edgeHighlightOpacity: 0.55,\n edgeShadowOpacity: 0.4,\n edgeEnvironmentSaturation: 4.5,\n },\n 420_000,\n {},\n '0 10px 28px color-mix(in oklch, black 20%, transparent)',\n ),\n [MaterialProfileRole.GLASS_OVERLAY]: glassMaterialProfile(\n GlassMaterialDepth.THICK,\n GlassMaterialPriority.OVERLAY,\n {\n bezelWidthPx: 24,\n glassThicknessPx: 28,\n backdropBlurPx: 16,\n dynamicRangeCompression: 0.26,\n adaptiveToneOpacity: 0.2,\n tintOpacity: 0.24,\n rimWidthDevicePx: 2.25,\n edgeHighlightOpacity: 0.6,\n edgeShadowOpacity: 0.45,\n edgeEnvironmentSaturation: 5,\n },\n 520_000,\n {},\n '0 18px 50px color-mix(in oklch, black 26%, transparent)',\n ),\n [MaterialProfileRole.GLASS_TRANSIENT]: glassMaterialProfile(\n GlassMaterialDepth.REGULAR,\n GlassMaterialPriority.NAVIGATION,\n {\n bezelWidthPx: 16,\n glassThicknessPx: 17,\n backdropBlurPx: 9,\n dynamicRangeCompression: 0.2,\n adaptiveToneOpacity: 0.18,\n tintOpacity: 0.18,\n rimWidthDevicePx: 2,\n edgeHighlightOpacity: 0.55,\n edgeShadowOpacity: 0.4,\n edgeEnvironmentSaturation: 4.5,\n },\n 260_000,\n {},\n '0 12px 34px color-mix(in oklch, black 22%, transparent)',\n ),\n [MaterialProfileRole.GLASS_CLEAR]: {\n ...glassMaterialProfile(\n GlassMaterialDepth.THIN,\n GlassMaterialPriority.PASSIVE,\n {\n bezelWidthPx: 12,\n glassThicknessPx: 10,\n backdropBlurPx: 0,\n dynamicRangeCompression: 0,\n adaptiveToneOpacity: 0.035,\n tintOpacity: 0.04,\n rimWidthDevicePx: 1.75,\n edgeHighlightOpacity: 0.48,\n edgeShadowOpacity: 0.28,\n edgeEnvironmentSaturation: 4,\n },\n 180_000,\n {},\n '0 5px 16px color-mix(in oklch, black 16%, transparent)',\n ),\n variant: GlassMaterialVariant.CLEAR,\n },\n};\n\n// -- Gesture configs (motion.dev) --\n// Apple-inspired spring physics: smooth, slightly bouncy, elegant\n\nconst GL_GESTURE = {\n /**\n * Buttons, interactive elements: scale-only press feedback.\n *\n * Apple Liquid Glass is a touch-first design language; on touch devices a\n * `whileHover` lift never fires (no real hover) and on desktop a -1px Y\n * translate would move a control away from the geometry sampled by its\n * backdrop. Press-in scale is the shared feedback until material-geometry\n * interpolation lands.\n */\n interactive: {\n whileHover: { scale: 1.01 },\n whileTap: { scale: 0.98 },\n transition: { type: \"spring\" as const, stiffness: 400, damping: 28 },\n } as const,\n\n /** Selectable items: subtle horizontal nudge (intentional for list affordance). */\n selectable: {\n whileHover: { x: 2 },\n whileTap: { scale: 0.99 },\n transition: { type: \"spring\" as const, stiffness: 400, damping: 30 },\n } as const,\n};\n\nconst sizes: Record<string, string> = {\n xs: \"h-7 px-3 text-xs gap-1 pointer-coarse:min-h-9\",\n sm: \"h-8 px-3.5 gap-1.5 pointer-coarse:min-h-11\",\n md: \"h-9 px-5 py-2 pointer-coarse:min-h-11\",\n lg: \"h-11 px-7 pointer-coarse:min-h-11\",\n icon: \"size-9 pointer-coarse:min-h-11 pointer-coarse:min-w-11\",\n \"icon-sm\": \"size-7 pointer-coarse:min-h-9 pointer-coarse:min-w-9\",\n};\n\n// ============================================================\n// INTERACTIVE\n// ============================================================\n\nconst interactive: Record<InteractiveVariant, UIBehaviorRecipe> = {\n [InteractiveVariant.PRIMARY]: recipe({\n base: 'text-primary-foreground rounded-xl border border-transparent font-medium text-sm cursor-pointer',\n states: {\n hover: 'hover:opacity-95',\n active: 'active:opacity-90',\n focus, disabled, invalid,\n },\n sizes,\n motion: { transition: GL_MOTION.interactive },\n gesture: GL_GESTURE.interactive,\n material: MaterialProfileRole.GLASS_CONTROL_EMPHASIS,\n }),\n\n [InteractiveVariant.DESTRUCTIVE]: recipe({\n base: 'text-destructive-foreground rounded-xl border border-transparent font-medium text-sm cursor-pointer',\n states: {\n hover: 'hover:opacity-95',\n active: 'active:opacity-90',\n focus, disabled, invalid,\n highlighted: \"focus:bg-destructive/15 focus:text-destructive\",\n },\n sizes,\n motion: { transition: GL_MOTION.interactive },\n gesture: GL_GESTURE.interactive,\n material: MaterialProfileRole.GLASS_CONTROL_DESTRUCTIVE,\n }),\n\n [InteractiveVariant.OUTLINE]: recipe({\n base: 'text-foreground rounded-xl border border-transparent font-medium text-sm cursor-pointer',\n states: {\n hover: 'hover:opacity-90',\n active: 'active:opacity-80',\n focus, disabled, invalid,\n selected: `data-[state=on]:bg-white/15 dark:data-[state=on]:bg-white/10 data-[state=on]:text-foreground data-[state=on]:border-white/25`,\n },\n sizes,\n motion: { transition: GL_MOTION.interactive },\n gesture: GL_GESTURE.interactive,\n material: MaterialProfileRole.GLASS_CONTROL,\n }),\n\n [InteractiveVariant.SECONDARY]: recipe({\n base: 'text-secondary-foreground rounded-xl border border-transparent font-medium text-sm cursor-pointer',\n states: {\n hover: 'hover:opacity-90',\n active: 'active:opacity-80',\n focus, disabled, invalid,\n },\n sizes,\n motion: { transition: GL_MOTION.interactive },\n gesture: GL_GESTURE.interactive,\n material: MaterialProfileRole.GLASS_CONTROL,\n }),\n\n [InteractiveVariant.GHOST]: recipe({\n // `text-foreground` (not `/80`) so ghost buttons stay legible on the\n // strongest blur surfaces — alpha-mixed text fades against the bright\n // overlay background. Hover states already supply a subtle bg.\n base: \"text-foreground rounded-xl font-medium text-sm cursor-pointer\",\n states: {\n hover: \"hover:bg-white/12 dark:hover:bg-white/8\",\n active: \"active:bg-white/18 dark:active:bg-white/12\",\n focus, disabled, invalid,\n selected: \"data-[state=on]:bg-white/15 dark:data-[state=on]:bg-white/10 data-[state=on]:text-foreground\",\n highlighted: \"focus:bg-white/12 dark:focus:bg-white/8 focus:text-foreground\",\n open: `data-[state=open]:bg-white/12 dark:data-[state=open]:bg-white/8 data-[state=open]:text-foreground`,\n },\n sizes,\n motion: { transition: GL_MOTION.interactive },\n gesture: GL_GESTURE.interactive,\n // Ghost controls are tint-only children of their surrounding material.\n // Giving every sidebar/menu row its own refractive filter creates a stack\n // of metallic lenses and violates the no-glass-on-glass hierarchy.\n material: MaterialProfileRole.STANDARD_CONTENT,\n }),\n\n [InteractiveVariant.LINK]: recipe({\n base: \"text-primary underline-offset-4 font-medium text-sm cursor-pointer\",\n states: {\n hover: \"hover:underline hover:text-primary/80\",\n active: \"active:text-primary/60\",\n focus, disabled, invalid,\n },\n sizes: { xs: \"h-7 px-3 text-xs gap-1 pointer-coarse:min-h-9\", sm: \"h-8 px-3.5 gap-1.5 pointer-coarse:min-h-11\", md: \"h-9 px-5 py-2 pointer-coarse:min-h-11\", lg: \"h-11 px-7 pointer-coarse:min-h-11\", icon: \"size-9 pointer-coarse:min-h-11 pointer-coarse:min-w-11\", \"icon-sm\": \"size-7 pointer-coarse:min-h-9 pointer-coarse:min-w-9\" },\n motion: { transition: GL_MOTION.interactive },\n }),\n\n [InteractiveVariant.ACCENT]: recipe({\n base: 'relative text-primary-foreground font-semibold border border-transparent rounded-xl text-sm cursor-pointer',\n states: {\n hover: 'hover:opacity-95',\n active: 'active:scale-[0.98]',\n focus,\n disabled: 'disabled:opacity-[var(--opacity-disabled)] disabled:pointer-events-none disabled:backdrop-blur-none',\n },\n sizes: sizes,\n motion: {\n transition: 'transition-[shadow,transform,backdrop-filter] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-spring)] motion-reduce:transition-none',\n },\n gesture: GL_GESTURE.interactive,\n material: MaterialProfileRole.GLASS_CONTROL_EMPHASIS,\n }),\n};\n\n// ============================================================\n// SURFACE\n// SURFACE PERSONALITY — semantic content surfaces stay standard. Glass is\n// selected independently for navigation and transient interaction layers.\n// ============================================================\n\nconst surface: ComponentStyleTheme['surface'] = {\n [SurfaceVariant.BASE]: recipe({\n // General content container: deliberately standard, never a glass lens.\n base: 'bg-surface-raised text-surface-raised-foreground rounded-3xl border border-border shadow-sm',\n material: MaterialProfileRole.STANDARD_CONTENT,\n }),\n\n [SurfaceVariant.CARD]: recipe({\n // Authored content grouping: standard raised material, even in Glass.\n base: 'bg-surface-raised text-surface-raised-foreground rounded-3xl border border-border shadow-sm',\n material: MaterialProfileRole.STANDARD_CONTENT,\n }),\n [SurfaceVariant.RAISED]: recipe({\n base: 'fill-surface-overlay text-foreground rounded-2xl border border-transparent',\n material: MaterialProfileRole.GLASS_OVERLAY,\n motion: {\n enter: GL_MOTION.enterDirectional,\n exit: GL_MOTION.exitFadeZoom,\n },\n }),\n [SurfaceVariant.OVERLAY]: recipe({\n base: 'text-foreground rounded-3xl border border-transparent',\n material: MaterialProfileRole.GLASS_OVERLAY,\n motion: {\n enter: GL_MOTION.enterFadeZoom,\n exit: GL_MOTION.exitFadeZoom,\n },\n }),\n [SurfaceVariant.INSET]: recipe({\n // Recessed: inverted glass — darker, less blur\n base: 'bg-surface-inset text-surface-inset-foreground rounded-xl',\n material: MaterialProfileRole.STANDARD_CONTENT,\n }),\n [SurfaceVariant.SUNKEN]: recipe({\n base: 'text-foreground border-r border-transparent',\n material: MaterialProfileRole.GLASS_NAVIGATION,\n }),\n\n [SurfaceVariant.TAB_PANEL]: recipe({\n // The content panel stays standard; only the selection capsule may be glass.\n base: 'bg-surface-raised text-surface-raised-foreground rounded-b-3xl border-x border-b border-border',\n material: MaterialProfileRole.STANDARD_CONTENT,\n }),\n\n [SurfaceVariant.SHELL]: recipe({\n // Transparent continuous scene under independently materialized chrome.\n base: 'bg-transparent text-foreground',\n material: MaterialProfileRole.STANDARD_CONTENT,\n }),\n\n [SurfaceVariant.TRANSIENT]: recipe({\n base: 'text-foreground rounded-2xl border border-transparent',\n material: MaterialProfileRole.GLASS_TRANSIENT,\n motion: {\n enter: GL_MOTION.enterDirectional,\n exit: GL_MOTION.exitFadeZoom,\n },\n }),\n};\n\n// ============================================================\n// FORM_CONTROL\n// ============================================================\n\nconst formControl: Record<FormControlVariant, UIBehaviorRecipe> = {\n [FormControlVariant.DEFAULT]: recipe({\n base: 'bg-surface-inset/80 border border-border/60 rounded-xl text-base md:text-sm placeholder:text-foreground/40 selection:bg-primary/30 selection:text-foreground',\n states: {\n focus: `focus-visible:bg-white/15 dark:focus-visible:bg-white/10 focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:outline-none`,\n disabled: \"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)] disabled:backdrop-blur-none\",\n invalid,\n },\n sizes: { md: \"h-9 px-3.5 py-1 pointer-coarse:min-h-11\", sm: \"h-8 px-3 py-1 text-sm pointer-coarse:min-h-11\", lg: \"h-11 px-4 py-2 pointer-coarse:min-h-11\" },\n motion: { transition: GL_MOTION.formControl },\n }),\n [FormControlVariant.FILLED]: recipe({\n base: `bg-white/30 dark:bg-black/35 border-0 rounded-xl text-base md:text-sm placeholder:text-foreground/40`,\n states: {\n focus: \"focus-visible:bg-white/22 dark:focus-visible:bg-white/12 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:outline-none\",\n disabled: \"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]\",\n invalid,\n },\n sizes: { md: \"h-9 px-3.5 py-1 pointer-coarse:min-h-11\", sm: \"h-8 px-3 py-1 text-sm pointer-coarse:min-h-11\", lg: \"h-11 px-4 py-2 pointer-coarse:min-h-11\" },\n motion: { transition: GL_MOTION.formControl },\n }),\n [FormControlVariant.UNDERLINED]: recipe({\n base: \"bg-transparent border-0 border-b border-white/15 dark:border-white/10 rounded-none text-base md:text-sm placeholder:text-foreground/40\",\n states: {\n focus: \"focus-visible:border-primary/50 focus-visible:border-b-2\",\n disabled: \"disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]\",\n invalid: \"aria-invalid:border-destructive/50\",\n },\n sizes: { md: \"h-9 px-0 py-1 pointer-coarse:min-h-11\", sm: \"h-8 px-0 py-1 text-sm pointer-coarse:min-h-11\", lg: \"h-11 px-0 py-2 pointer-coarse:min-h-11\" },\n motion: { transition: \"transition-[border-color] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-spring)] motion-reduce:transition-none\" },\n }),\n\n [FormControlVariant.CHECKBOX]: recipe({\n base: 'bg-surface-inset/80 border border-border/60',\n states: {\n focus: \"focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:outline-none\",\n selected: \"data-[state=checked]:bg-primary/80 data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary/40\",\n disabled: \"disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]\",\n invalid,\n },\n motion: { transition: \"transition-[color,box-shadow,background-color,backdrop-filter] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-spring)] motion-reduce:transition-none\" },\n }),\n\n [FormControlVariant.SWITCH]: recipe({\n base: `data-[state=unchecked]:bg-white/30 dark:data-[state=unchecked]:bg-black/35 border border-white/10 dark:border-white/5`,\n states: {\n focus: \"focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:outline-none\",\n selected: \"data-[state=checked]:bg-primary/80\",\n disabled: \"disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]\",\n invalid,\n },\n motion: { transition: \"transition-all duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-spring)] motion-reduce:transition-none\" },\n }),\n};\n\n// ============================================================\n// INDICATOR\n// ============================================================\n\nconst glIndicatorShared = {\n states: { hover: \"[a&]:hover:opacity-[var(--opacity-hover)]\", focus, invalid },\n motion: { transition: GL_MOTION.interactive },\n};\n\nconst indicator: Record<IndicatorVariant, UIBehaviorRecipe> = {\n [IndicatorVariant.NEUTRAL]: recipe({ base: 'bg-foreground/10 text-foreground border border-border/50 rounded-full px-2.5 py-0.5 text-xs font-medium', ...glIndicatorShared }),\n [IndicatorVariant.INFO]: recipe({ base: 'bg-info/15 text-info border border-info/15 rounded-full px-2.5 py-0.5 text-xs font-medium', ...glIndicatorShared }),\n [IndicatorVariant.SUCCESS]: recipe({ base: 'bg-success/15 text-success border border-success/15 rounded-full px-2.5 py-0.5 text-xs font-medium', ...glIndicatorShared }),\n [IndicatorVariant.WARNING]: recipe({ base: 'bg-warning/15 text-warning border border-warning/15 rounded-full px-2.5 py-0.5 text-xs font-medium', ...glIndicatorShared }),\n [IndicatorVariant.ERROR]: recipe({ base: 'bg-destructive/15 text-destructive border border-destructive/15 rounded-full px-2.5 py-0.5 text-xs font-medium', ...glIndicatorShared }),\n};\n\n// ============================================================\n// SELECTABLE\n// ============================================================\n\nconst selectable: Record<SelectableVariant, UIBehaviorRecipe> = {\n [SelectableVariant.FILLED]: recipe({\n base: \"rounded-xl text-sm outline-hidden\",\n states: {\n hover: \"hover:bg-white/10 dark:hover:bg-white/8\",\n focus: \"focus-visible:ring-2 focus-visible:ring-ring\",\n active: \"active:bg-white/15\",\n selected: 'data-[active=true]:bg-primary/12 data-[active=true]:text-primary data-[state=active]:bg-primary/12 data-[state=active]:text-primary',\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n },\n sizes: { sm: \"h-7 text-xs\", md: \"h-8 text-sm\", lg: \"h-12 text-sm\" },\n motion: { transition: GL_MOTION.selectable },\n gesture: GL_GESTURE.selectable,\n }),\n [SelectableVariant.UNDERLINE]: recipe({\n // Use `text-muted-foreground` for the inactive state and `text-foreground`\n // on hover — alpha-mixed text on translucent surfaces was unreliable.\n base: \"rounded-none border-b-2 border-transparent text-sm text-muted-foreground outline-hidden\",\n states: {\n hover: \"hover:text-foreground\",\n focus: \"focus-visible:ring-2 focus-visible:ring-ring\",\n selected: \"data-[state=active]:border-primary data-[state=active]:text-primary\",\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n },\n sizes: { sm: \"h-7 text-xs pb-1\", md: \"h-8 text-sm pb-2\", lg: \"h-10 text-sm pb-3\" },\n motion: { transition: GL_MOTION.selectable },\n }),\n [SelectableVariant.PILL]: recipe({\n base: \"rounded-full text-sm outline-hidden\",\n states: {\n hover: 'hover:bg-white/10',\n focus: \"focus-visible:ring-2 focus-visible:ring-ring\",\n selected: 'data-[state=active]:bg-primary/12 data-[state=active]:text-primary data-[state=active]:border data-[state=active]:border-primary/15',\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n },\n sizes: { sm: \"h-7 px-3 text-xs\", md: \"h-8 px-4 text-sm\", lg: \"h-10 px-5 text-sm\" },\n motion: { transition: GL_MOTION.selectable },\n gesture: GL_GESTURE.selectable,\n }),\n [SelectableVariant.INDICATOR]: recipe({\n base: \"rounded-xl text-sm outline-hidden\",\n states: {\n hover: \"hover:bg-white/8\",\n focus: \"focus-visible:ring-2 focus-visible:ring-ring\",\n selected: `data-[active=true]:border-s-2 data-[active=true]:border-primary data-[active=true]:bg-primary/8 data-[active=true]:text-primary`,\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n },\n sizes: { sm: \"h-7 text-xs\", md: \"h-8 text-sm\", lg: \"h-12 text-sm\" },\n motion: { transition: GL_MOTION.selectable },\n gesture: GL_GESTURE.selectable,\n }),\n};\n\n// ============================================================\n// OVERLAY, DIVIDER, SKELETON\n// ============================================================\n\nconst overlayBackdrop: UIBehaviorRecipe = recipe({\n base: 'bg-black/25 dark:bg-black/45 backdrop-blur-[2px]',\n motion: {\n enter: GL_MOTION.backdropEnter,\n exit: GL_MOTION.backdropExit,\n },\n});\n\nconst divider: Record<DividerVariant, UIBehaviorRecipe> = {\n [DividerVariant.DEFAULT]: recipe({ base: 'bg-white/10 dark:bg-white/5 shrink-0' }),\n // Nested-disclosure guide: the theme's own divider material, as a left edge.\n [DividerVariant.NESTING_GUIDE]: recipe({ base: 'border-s border-white/10 dark:border-white/5' }),\n};\n\n// Glass halves the shared alpha: its panels are already translucent, so a full-strength tint reads\n// as a second pane rather than a ghost. Still the neutral token — never a palette entry.\nconst skeleton: UIBehaviorRecipe = recipe({ base: `bg-foreground/5 animate-pulse rounded-xl motion-reduce:animate-none` });\n\nconst loadingSpinner: UIBehaviorRecipe = recipe({\n base: \"text-muted-foreground animate-spin motion-reduce:animate-none\",\n motion: { transition: \"transition-opacity duration-[var(--motion-duration-fast)] ease-[var(--motion-easing-default)] motion-reduce:transition-none\" },\n});\n\nconst loadingOverlay: UIBehaviorRecipe = recipe({\n base: 'bg-background/80 backdrop-blur-[2px]',\n motion: {\n enter: \"animate-in fade-in-0 duration-[var(--motion-duration-fast)] ease-[var(--motion-easing-enter)] motion-reduce:animate-none\",\n exit: \"animate-out fade-out-0 duration-[var(--motion-duration-fast)] ease-[var(--motion-easing-exit)] motion-reduce:animate-none\",\n },\n});\n\n// ============================================================\n// TYPOGRAPHY\n// ============================================================\n\nconst typography: Record<TypographyVariant, UIBehaviorRecipe> = {\n [TypographyVariant.HEADING]: recipe({\n // Glass keeps a slightly bolder h1 (`text-4xl`) than the default theme's\n // rebalanced `text-3xl` (TR-8). The rationale is theme-specific: glass\n // surfaces are translucent — large headings act as a visual anchor that\n // the eye can lock onto against shifting backdrops. Default's tighter\n // ladder makes sense on opaque cards; glass needs the extra tier of\n // visual weight. Intentional divergence — do NOT homogenise to default.\n base: \"font-semibold leading-none tracking-tight text-foreground\",\n sizes: { h1: \"text-4xl\", h2: \"text-2xl\", h3: \"text-xl\", h4: \"text-lg\", h5: \"text-base\", md: \"text-lg\" },\n }),\n // Body / Label / Description: use semantic foreground tokens — `/90`, `/80`, `/50`\n // alpha-mixes blow out on translucent glass surfaces (compositing on top of\n // the page background means the text loses contrast unpredictably). The\n // `text-muted-foreground` token is designed to remain legible against any\n // surface in the system and respects user-customised palettes.\n [TypographyVariant.BODY]: recipe({\n base: \"text-foreground text-sm\",\n sizes: { sm: \"text-xs\", md: \"text-sm\", lg: \"text-base\" },\n }),\n [TypographyVariant.LABEL]: recipe({\n base: \"font-medium text-sm leading-none text-foreground\",\n sizes: { sm: \"text-xs\", md: \"text-sm\", lg: \"text-base\" },\n }),\n [TypographyVariant.DESCRIPTION]: recipe({\n base: \"text-muted-foreground text-sm\",\n sizes: { sm: \"text-xs\", md: \"text-sm\" },\n }),\n [TypographyVariant.CODE]: recipe({\n base: 'font-mono text-sm bg-white/8 dark:bg-white/5 rounded-lg px-1.5 py-0.5 border border-white/10',\n sizes: { sm: \"text-xs\", md: \"text-sm\", lg: \"text-base\" },\n }),\n};\n\n// ============================================================\n// ASSEMBLED THEME\n// ============================================================\n\n// ============================================================\n// SPACING\n//\n// Apple / Liquid Glass aesthetic demands generous whitespace.\n// Frosted surfaces look best with breathing room around content.\n// The wider radius (xl-2xl) also needs proportionally larger\n// internal padding so content doesn't crowd curved corners.\n//\n// Philosophy: \"let the glass breathe\" — spacious, airy, elegant.\n// ============================================================\n\nconst spacing: ComponentStyleTheme['spacing'] = {\n [SpacingSemantic.ELEMENT]: '0.625rem', // 10px (default 8px) — elements feel less cramped\n [SpacingSemantic.ITEM]: '0.375rem', // 6px (default 4px) — list items slightly roomier\n [SpacingSemantic.GROUP]: '1rem', // 16px (default 12px) — groups stand apart clearly\n [SpacingSemantic.FIELD]: '1.25rem', // 20px (default 16px) — generous form field spacing\n [SpacingSemantic.SECTION]: '2rem', // 32px (default 24px) — sections breathe\n [SpacingSemantic.REGION]: '3rem', // 48px (default 32px) — major regions widely separated\n [SpacingSemantic.CARD]: '1.5rem', // 24px (default 16px) — more internal padding for glass panels\n [SpacingSemantic.CONTAINER]: '2rem', // 32px (default 24px) — spacious page containers\n};\n\nexport const glassTheme: ComponentStyleTheme = {\n id: 'glass',\n name: 'Glass',\n description: 'A progressive Liquid Glass material: role-scaled depth, adaptive transmitted-background blur and tone, Snell-law bezel refraction, and signed environment-aware edge lighting in Chromium, with standard content surfaces beneath the functional navigation/control layer.',\n\n spacing,\n materials,\n materialRuntimePolicy: {\n maxRefractiveSurfaces: 8,\n maxTotalRefractiveAreaPx: 760_000,\n },\n\n interactive,\n surface,\n formControl,\n indicator,\n selectable,\n overlayBackdrop,\n divider,\n skeleton,\n loadingSpinner,\n loadingOverlay,\n typography,\n radius: '0.75rem',\n shellAppearance: ShellAppearance.CONTINUOUS,\n backgroundLayer: {\n background: 'var(--background)',\n classes: 'opacity-100',\n },\n chartStyle: {\n colorShadeLight: 400,\n colorShadeDark: 300,\n gridPadding: { top: 30, right: 20, bottom: 30, left: 60 },\n axis: { showAxisLine: false, showTicks: false, splitLineType: 'none', hideOverlap: true, yAxisNameLocation: 'middle', yAxisNameGap: 50 },\n // TT-3: Use surface tokens instead of hardcoded `rgba(255,255,255,...)`\n // so the chart tooltip darkens correctly under `.dark` and tracks tenant\n // surface re-colorings. Dropping `!important` lets recipe-level overrides\n // win when needed; ECharts injects this into a portal where there's no\n // competing background to override anymore.\n tooltip: {\n extraCss: 'backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); background: color-mix(in oklch, var(--surface-overlay) 60%, transparent); border: 1px solid color-mix(in oklch, var(--border) 30%, transparent); box-shadow: 0 8px 32px color-mix(in oklch, var(--foreground) 8%, transparent);',\n borderWidth: 0,\n },\n animation: { enabled: true, durationMs: 300, easing: 'cubicInOut' },\n series: { lineWidth: 1.5, pointSize: 5, areaOpacity: 0.15, barBorderRadius: 4, pieBorderWidth: 1 },\n typography: { titleFontSize: 16, titleFontWeight: 500, subtitleFontSize: 13, legendFontSize: 12, tooltipFontSize: 12, axisLabelFontSize: 11, axisNameFontSize: 12 },\n emphasis: { shadowBlur: 20, shadowColor: 'rgba(0, 0, 0, 0.1)', shadowOffsetX: 0 },\n responsive: { smallMaxWidth: 400, mediumMaxWidth: 799, smallGridPadding: { top: 20, right: 10, bottom: 20, left: 30 }, mediumGridPadding: { left: 50, right: 20, bottom: 40 }, hideLegendOnSmall: true, smallAxisLabelRotate: 45, smallFontSize: 10, mediumFontSize: 11 },\n multiSeriesLegendBottomPadding: 50,\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"neo-brutalist.theme.d.ts","sourceRoot":"","sources":["../../../../src/themes/neo-brutalist.theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAA4B,MAAM,qCAAqC,CAAC;AAimBzG,eAAO,MAAM,iBAAiB,EAAE,mBAkC/B,CAAC"}
1
+ {"version":3,"file":"neo-brutalist.theme.d.ts","sourceRoot":"","sources":["../../../src/themes/neo-brutalist.theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAA4B,MAAM,qCAAqC,CAAC;AAwmBzG,eAAO,MAAM,iBAAiB,EAAE,mBAkC/B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { InteractiveVariant, SurfaceVariant, FormControlVariant, IndicatorVariant, SelectableVariant, TypographyVariant, SpacingSemantic, DesignTokenModeStrategy, DesignTokenValueType, } from '@wildo-ai/presets-components-models';
1
+ import { DividerVariant, InteractiveVariant, SurfaceVariant, FormControlVariant, IndicatorVariant, SelectableVariant, TypographyVariant, SpacingSemantic, DesignTokenModeStrategy, DesignTokenValueType, SKELETON_NEUTRAL_TINT, } from '@wildo-ai/presets-components-models';
2
2
  function recipe(r) {
3
3
  return { base: r.base, states: r.states ?? {}, sizes: r.sizes, motion: r.motion ?? {}, gesture: r.gesture, policy: r.policy };
4
4
  }
@@ -354,9 +354,13 @@ const overlayBackdrop = recipe({
354
354
  },
355
355
  });
356
356
  // Reference: dropdown separator "-mx-1 my-1 h-0.5 bg-border"
357
- const divider = recipe({ base: "bg-foreground shrink-0" });
357
+ const divider = {
358
+ [DividerVariant.DEFAULT]: recipe({ base: 'bg-foreground shrink-0' }),
359
+ // Nested-disclosure guide: the theme's own divider material, as a left edge.
360
+ [DividerVariant.NESTING_GUIDE]: recipe({ base: 'border-s-2 border-foreground' }),
361
+ };
358
362
  // Reference: skeleton "animate-pulse rounded-base bg-secondary-background border-2 border-border"
359
- const skeleton = recipe({ base: `bg-secondary ${NB.border} animate-pulse ${NB.radius} motion-reduce:animate-none` });
363
+ const skeleton = recipe({ base: `${SKELETON_NEUTRAL_TINT} ${NB.border} animate-pulse ${NB.radius} motion-reduce:animate-none` });
360
364
  const loadingSpinner = recipe({
361
365
  base: `text-foreground animate-spin ${NB.border} motion-reduce:animate-none`,
362
366
  });
@@ -390,6 +394,7 @@ const typography = {
390
394
  h2: "text-3xl",
391
395
  h3: "text-2xl",
392
396
  h4: "text-xl",
397
+ h5: "text-lg",
393
398
  md: "text-xl",
394
399
  },
395
400
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"neo-brutalist.theme.js","sourceRoot":"","sources":["../../../../src/themes/neo-brutalist.theme.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ComponentStyleTheme, DesignTokenConfiguration } from '@wildo-ai/presets-components-models';\nimport {\n InteractiveVariant,\n SurfaceVariant,\n FormControlVariant,\n IndicatorVariant,\n SelectableVariant,\n TypographyVariant,\n SpacingSemantic,\n DesignTokenModeStrategy,\n DesignTokenValueType,\n} from '@wildo-ai/presets-components-models';\nimport type { UIBehaviorRecipe } from '@wildo-ai/presets-components-models';\n\nfunction recipe(r: Partial<UIBehaviorRecipe> & { base: string }): UIBehaviorRecipe {\n return { base: r.base, states: r.states ?? {}, sizes: r.sizes, motion: r.motion ?? {}, gesture: r.gesture, policy: r.policy };\n}\n\n// ============================================================\n// Neo-Brutalist theme\n//\n// Extracted from neobrutalism.dev v3 reference repo (exact classes).\n//\n// Design tokens (from reference CSS variables):\n// --border-radius: 5px → rounded-lg (via global --radius token)\n// --shadow: 4px 4px 0px 0px var(--border) → shadow-[4px_4px_0px_0px_var(--foreground)]\n// --heading-font-weight: 700 → font-bold\n// --base-font-weight: 500 → font-medium\n// border: 2px solid → border-2 border-foreground\n// overlay: rgba(0,0,0,0.8) → bg-black/80\n//\n// Hover pattern: translate toward shadow + flatten (press-in)\n// hover:translate-x-[4px] hover:translate-y-[4px] hover:shadow-none\n//\n// Key differences from shadcn:\n// - Card bg = primary (main) color, not white\n// - Select/dropdown bg = primary color\n// - Tooltip bg = primary color\n// - Close buttons: opacity-100 (no subtlety)\n// - Sidebar header/footer: border-b-2/border-t-2\n// - Accordion trigger: bg-primary, text-primary-foreground\n// - Skeleton: border-2 on skeleton\n// - Progress bar indicator: border-r-2\n// ============================================================\n\n// -- Shared constants matching reference --\n\nconst NB = {\n // References the global --radius token (set to 5px by theme.radius below).\n // Always use rounded-* tiers, never hardcoded rounded-[Npx].\n radius: \"rounded-lg\",\n border: \"border-2 border-foreground\",\n shadow: \"shadow-[4px_4px_0px_0px_var(--foreground)]\",\n hover: \"hover:translate-x-[4px] hover:translate-y-[4px] hover:shadow-none\",\n focus: \"focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-foreground focus-visible:ring-offset-2\",\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n invalid: \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n};\n\n// ============================================================\n// MOTION PERSONALITY — Neo-Brutalist\n// ============================================================\n// Hover/focus : INSTANT (50ms) + LINEAR → abrupt, no polish.\n// The 4px translate-x/-y on\n// press is THE motion (the\n// button \"lands\" against\n// the hard-offset shadow).\n// Overlay enter: FAST (150ms) + LINEAR → directional slide-2.\n// Overlay exit : INSTANT (50ms) + LINEAR → close = vanish (matches\n// the abrupt press feedback).\n// Backdrop : FAST/INSTANT + LINEAR → consistent.\n// Gestures : NONE — CSS translate IS the press feedback. Adding\n// motion.dev springs would soften the \"thud\" that is\n// the brutalist signature.\n//\n// Why LINEAR explicitly: previously overlay/backdrop omitted ease-,\n// so Tailwind/browser fell back to the soft `ease` curve — quietly\n// undermining the abrupt brutalist personality. TR-14 motion-coherence\n// pass adds explicit LINEAR easing to every overlay/backdrop.\n// ============================================================\nconst NB_MOTION = {\n interactive: \"transition-[background-color,color,border-color,box-shadow,transform] duration-[var(--motion-duration-instant)] ease-[var(--motion-easing-linear)] motion-reduce:transition-none\",\n formControl: \"transition-[color,border-color,box-shadow] duration-[var(--motion-duration-instant)] ease-[var(--motion-easing-linear)] motion-reduce:transition-none\",\n selectable: \"transition-[background-color,color,border-color,outline-color] duration-[var(--motion-duration-instant)] ease-[var(--motion-easing-linear)] motion-reduce:transition-none\",\n enterFadeZoom: \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:duration-[var(--motion-duration-fast)] data-[state=open]:ease-[var(--motion-easing-linear)] motion-reduce:data-[state=open]:animate-none\",\n exitFadeZoom: \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:duration-[var(--motion-duration-instant)] data-[state=closed]:ease-[var(--motion-easing-linear)] motion-reduce:data-[state=closed]:animate-none\",\n enterDirectional: \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:duration-[var(--motion-duration-fast)] data-[state=open]:ease-[var(--motion-easing-linear)] data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 motion-reduce:data-[state=open]:animate-none\",\n backdropEnter: \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:duration-[var(--motion-duration-fast)] data-[state=open]:ease-[var(--motion-easing-linear)] motion-reduce:data-[state=open]:animate-none\",\n backdropExit: \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:duration-[var(--motion-duration-instant)] data-[state=closed]:ease-[var(--motion-easing-linear)] motion-reduce:data-[state=closed]:animate-none\",\n};\n\n// ============================================================\n// INTERACTIVE\n// Reference: button.tsx variants\n// ============================================================\n\nconst interactiveSizes: Record<string, string> = {\n xs: \"h-8 px-2.5 text-xs gap-1 pointer-coarse:min-h-10\",\n sm: \"h-9 px-3 pointer-coarse:min-h-11\",\n md: \"h-10 px-4 py-2 pointer-coarse:min-h-11\",\n lg: \"h-11 px-8 pointer-coarse:min-h-11\",\n icon: \"size-10 pointer-coarse:min-h-11 pointer-coarse:min-w-11\",\n \"icon-sm\": \"size-8 pointer-coarse:min-h-9 pointer-coarse:min-w-9\",\n};\n\nconst interactive: Record<InteractiveVariant, UIBehaviorRecipe> = {\n // Reference variant: \"default\" → bg-main text-main-foreground shadow-shadow hover:shift\n [InteractiveVariant.PRIMARY]: recipe({\n base: `bg-primary text-primary-foreground ${NB.border} ${NB.shadow} ${NB.radius} font-medium text-sm cursor-pointer`,\n states: { hover: NB.hover, active: \"active:translate-x-[4px] active:translate-y-[4px] active:shadow-none\", focus: NB.focus, disabled: NB.disabled, invalid: NB.invalid },\n sizes: interactiveSizes,\n motion: { transition: NB_MOTION.interactive },\n }),\n\n // Reference variant: \"neutral\" → bg-bw (secondary bg) text-text shadow-shadow hover:shift\n [InteractiveVariant.SECONDARY]: recipe({\n base: `bg-secondary text-secondary-foreground ${NB.border} ${NB.shadow} ${NB.radius} font-medium text-sm cursor-pointer`,\n states: { hover: NB.hover, active: \"active:translate-x-[4px] active:translate-y-[4px] active:shadow-none\", focus: NB.focus, disabled: NB.disabled, invalid: NB.invalid },\n sizes: interactiveSizes,\n motion: { transition: NB_MOTION.interactive },\n }),\n\n // Reference variant: \"reverse\" → bg-main, NO shadow, gains shadow on hover\n [InteractiveVariant.OUTLINE]: recipe({\n base: `bg-primary text-primary-foreground ${NB.border} ${NB.radius} font-medium text-sm cursor-pointer`,\n states: {\n hover: \"hover:-translate-x-[4px] hover:-translate-y-[4px] hover:shadow-[4px_4px_0px_0px_var(--foreground)]\",\n active: \"active:translate-x-0 active:translate-y-0 active:shadow-none\",\n focus: NB.focus,\n selected: \"data-[state=on]:bg-primary data-[state=on]:text-primary-foreground data-[state=on]:border-foreground data-[state=on]:shadow-[2px_2px_0px_0px_var(--foreground)]\",\n disabled: NB.disabled, invalid: NB.invalid,\n },\n sizes: interactiveSizes,\n motion: { transition: NB_MOTION.interactive },\n }),\n\n // Destructive — same pattern as primary but destructive colors\n [InteractiveVariant.DESTRUCTIVE]: recipe({\n base: `bg-destructive text-destructive-foreground ${NB.border} ${NB.shadow} ${NB.radius} font-medium text-sm cursor-pointer`,\n states: { hover: NB.hover, active: \"active:translate-x-[4px] active:translate-y-[4px] active:shadow-none\", focus: NB.focus, highlighted: \"focus:bg-destructive focus:text-destructive-foreground focus:border-foreground\", disabled: NB.disabled, invalid: NB.invalid },\n sizes: interactiveSizes,\n motion: { transition: NB_MOTION.interactive },\n }),\n\n // Reference variant: \"noShadow\" → bg-main, border, no shadow, no hover shift\n [InteractiveVariant.GHOST]: recipe({\n base: `text-foreground ${NB.border} border-transparent ${NB.radius} font-medium text-sm cursor-pointer`,\n states: {\n hover: \"hover:bg-primary hover:text-primary-foreground hover:border-foreground\",\n active: \"active:bg-primary/80 active:text-primary-foreground\",\n focus: NB.focus,\n selected: \"data-[state=on]:bg-primary data-[state=on]:text-primary-foreground data-[state=on]:border-foreground\",\n highlighted: \"focus:bg-primary focus:text-primary-foreground focus:border-foreground\",\n open: \"data-[state=open]:bg-primary data-[state=open]:text-primary-foreground data-[state=open]:border-foreground\",\n disabled: NB.disabled, invalid: NB.invalid,\n },\n sizes: interactiveSizes,\n motion: { transition: NB_MOTION.interactive },\n }),\n\n [InteractiveVariant.LINK]: recipe({\n base: `text-primary underline underline-offset-4 decoration-2 ${NB.radius} font-medium text-sm cursor-pointer`,\n states: {\n hover: \"hover:decoration-foreground\",\n active: \"active:text-primary/80\",\n focus: NB.focus, disabled: NB.disabled, invalid: NB.invalid,\n },\n sizes: { xs: \"h-8 px-2.5 text-xs gap-1 pointer-coarse:min-h-10\", sm: \"h-9 px-3 pointer-coarse:min-h-11\", md: \"h-10 px-4 py-2 pointer-coarse:min-h-11\", lg: \"h-11 px-8 pointer-coarse:min-h-11\", icon: \"size-10 pointer-coarse:min-h-11 pointer-coarse:min-w-11\", \"icon-sm\": \"size-8 pointer-coarse:min-h-9 pointer-coarse:min-w-9\" },\n motion: { transition: NB_MOTION.interactive },\n }),\n\n [InteractiveVariant.ACCENT]: recipe({\n // TT-2: Reuse the same theme-resolvable accent-gradient stops as the\n // default theme so tenant rebrands flow through (was hardcoded\n // violet/pink/amber). The neo-brutalist motion + border treatment is\n // unchanged.\n base: `bg-primary text-primary-foreground font-black ${NB.border} shadow-[4px_4px_0px_0px_var(--foreground)] bg-[length:300%_100%] bg-gradient-to-r from-accent-gradient-from via-accent-gradient-via to-accent-gradient-to animate-[gradient-rotate_4s_steps(8)_infinite] motion-reduce:animate-none ${NB.radius} text-sm cursor-pointer`,\n states: {\n hover: 'hover:translate-x-[4px] hover:translate-y-[4px] hover:shadow-none',\n active: 'active:translate-x-[4px] active:translate-y-[4px] active:shadow-none',\n focus: 'focus-visible:ring-2 focus-visible:ring-foreground focus-visible:ring-offset-2',\n disabled: NB.disabled,\n invalid: NB.invalid,\n },\n sizes: interactiveSizes,\n motion: {\n transition: 'transition-[transform,shadow,background-position] duration-[var(--motion-duration-instant)] ease-[var(--motion-easing-linear)] motion-reduce:transition-none',\n },\n }),\n};\n\n// ============================================================\n// SURFACE\n// Reference: card.tsx, dialog.tsx, select.tsx (content), tooltip.tsx\n// SURFACE PERSONALITY — poster-board panels: hard borders, hard shadows,\n// saturated callouts. New variants keep the same physical cut-paper logic.\n// ============================================================\n\nconst surface: ComponentStyleTheme['surface'] = {\n // Reference card: \"bg-background text-foreground border-2 border-border shadow-shadow rounded-base font-base\"\n [SurfaceVariant.BASE]: recipe({\n base: `bg-background text-foreground ${NB.border} ${NB.shadow} ${NB.radius} font-medium`,\n }),\n\n // Reference card with a lifted fill: hard border + offset shadow over the\n // elevated `surface-raised` so the card reads against the page. Always painted.\n [SurfaceVariant.CARD]: recipe({\n base: `bg-surface-raised text-surface-raised-foreground ${NB.border} ${NB.shadow} ${NB.radius} font-medium`,\n }),\n\n // Reference dropdown/tooltip: \"bg-main text-main-foreground border-2 border-border rounded-base\"\n // Popovers/dropdowns use primary color bg in neo-brutalism\n [SurfaceVariant.RAISED]: recipe({\n // `fill-*` mirrors `bg-*` so the Tooltip's Radix arrow (an SVG painted via\n // `fill`, inherited across Radix's arrow-wrapper span) matches the body.\n base: `bg-primary fill-primary text-primary-foreground ${NB.border} ${NB.radius} font-medium`,\n motion: {\n enter: NB_MOTION.enterDirectional,\n exit: NB_MOTION.exitFadeZoom,\n },\n }),\n\n // Reference dialog: \"bg-background border-2 border-border shadow-shadow rounded-base\"\n [SurfaceVariant.OVERLAY]: recipe({\n base: `bg-background text-foreground ${NB.border} ${NB.shadow} ${NB.radius}`,\n motion: {\n enter: NB_MOTION.enterFadeZoom + \" data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]\",\n exit: NB_MOTION.exitFadeZoom + \" data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]\",\n },\n }),\n\n // Reference sidebar inset: \"bg-secondary-background\"\n [SurfaceVariant.INSET]: recipe({\n base: `bg-secondary text-foreground ${NB.radius}`,\n }),\n\n // Reference sidebar: \"bg-secondary-background text-foreground\" + border-r-2\n [SurfaceVariant.SUNKEN]: recipe({\n base: \"bg-secondary text-foreground\",\n }),\n\n [SurfaceVariant.TAB_PANEL]: recipe({\n // Tab panel is still loud, but drops the top border so it locks to the tabs.\n base: `bg-background text-foreground border-x-2 border-b-2 border-border ${NB.shadow} rounded-b-lg font-medium`,\n }),\n\n [SurfaceVariant.SHELL]: recipe({\n // Page shell: flat poster background; children carry the hard frames.\n base: 'bg-background text-foreground font-medium',\n }),\n\n [SurfaceVariant.TRANSIENT]: recipe({\n // Toast: punchy callout, primary color plus the signature hard shadow.\n base: `bg-primary text-primary-foreground ${NB.border} ${NB.shadow} ${NB.radius} font-medium`,\n motion: {\n enter: NB_MOTION.enterDirectional,\n exit: NB_MOTION.exitFadeZoom,\n },\n }),\n};\n\n// ============================================================\n// FORM_CONTROL\n// Reference: input.tsx, textarea.tsx, select trigger\n// ============================================================\n\nconst formControl: Record<FormControlVariant, UIBehaviorRecipe> = {\n // Reference input: \"bg-secondary-background border-2 border-border rounded-base text-sm font-base text-foreground placeholder:text-foreground/50\"\n [FormControlVariant.DEFAULT]: recipe({\n base: `bg-secondary ${NB.border} ${NB.radius} text-base md:text-sm font-medium text-foreground placeholder:text-foreground/50 selection:bg-primary selection:text-primary-foreground`,\n states: { focus: NB.focus, disabled: \"disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]\", invalid: NB.invalid },\n sizes: { md: \"h-10 px-3 py-2 pointer-coarse:min-h-11\", sm: \"h-9 px-3 text-sm pointer-coarse:min-h-11\", lg: \"h-12 px-4 py-2 pointer-coarse:min-h-12\" },\n motion: { transition: NB_MOTION.formControl },\n }),\n\n [FormControlVariant.FILLED]: recipe({\n base: `bg-muted ${NB.border} ${NB.radius} text-base md:text-sm font-medium text-foreground placeholder:text-foreground/50`,\n states: { focus: NB.focus, disabled: \"disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]\", invalid: NB.invalid },\n sizes: { md: \"h-10 px-3 py-2 pointer-coarse:min-h-11\", sm: \"h-9 px-3 text-sm pointer-coarse:min-h-11\", lg: \"h-12 px-4 py-2 pointer-coarse:min-h-12\" },\n motion: { transition: NB_MOTION.formControl },\n }),\n\n [FormControlVariant.UNDERLINED]: recipe({\n base: `bg-transparent border-0 border-b-2 border-foreground rounded-none text-base md:text-sm font-medium text-foreground placeholder:text-foreground/50`,\n states: { focus: \"focus-visible:border-primary\", disabled: \"disabled:opacity-[var(--opacity-disabled)]\", invalid: \"aria-invalid:border-destructive\" },\n sizes: { md: \"h-10 px-0 py-2 pointer-coarse:min-h-11\", sm: \"h-9 px-0 text-sm pointer-coarse:min-h-11\", lg: \"h-12 px-0 py-2 pointer-coarse:min-h-12\" },\n motion: { transition: \"transition-[border-color] duration-[var(--motion-duration-instant)] ease-[var(--motion-easing-linear)] motion-reduce:transition-none\" },\n }),\n\n [FormControlVariant.CHECKBOX]: recipe({\n base: `${NB.border} ${NB.radius} shadow-[2px_2px_0px_0px_var(--foreground)]`,\n states: {\n focus: NB.focus,\n selected: `data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-foreground`,\n disabled: \"disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]\",\n invalid: NB.invalid,\n },\n motion: { transition: \"transition-[color,box-shadow] duration-[var(--motion-duration-instant)] ease-[var(--motion-easing-linear)] motion-reduce:transition-none\" },\n }),\n\n [FormControlVariant.SWITCH]: recipe({\n base: `data-[state=unchecked]:bg-secondary ${NB.border} shadow-[2px_2px_0px_0px_var(--foreground)]`,\n states: {\n focus: NB.focus,\n selected: \"data-[state=checked]:bg-primary\",\n disabled: \"disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]\",\n invalid: NB.invalid,\n },\n motion: { transition: \"transition-all duration-[var(--motion-duration-instant)] ease-[var(--motion-easing-linear)] motion-reduce:transition-none\" },\n }),\n};\n\n// ============================================================\n// INDICATOR\n// Reference: badge.tsx — \"border-2 border-border rounded-base px-2.5 py-0.5 text-xs font-base\"\n// ============================================================\n\nconst nbIndicatorShared = {\n states: { hover: \"[a&]:hover:opacity-[var(--opacity-hover)]\", focus: NB.focus, invalid: NB.invalid },\n motion: { transition: NB_MOTION.interactive },\n};\n\nconst indicator: Record<IndicatorVariant, UIBehaviorRecipe> = {\n [IndicatorVariant.NEUTRAL]: recipe({ base: `bg-secondary text-foreground ${NB.border} ${NB.radius} px-2.5 py-0.5 text-xs font-medium`, ...nbIndicatorShared }),\n [IndicatorVariant.INFO]: recipe({ base: `bg-info text-info-foreground ${NB.border} ${NB.radius} px-2.5 py-0.5 text-xs font-medium`, ...nbIndicatorShared }),\n [IndicatorVariant.SUCCESS]: recipe({ base: `bg-success text-success-foreground ${NB.border} ${NB.radius} px-2.5 py-0.5 text-xs font-medium`, ...nbIndicatorShared }),\n [IndicatorVariant.WARNING]: recipe({ base: `bg-warning text-warning-foreground ${NB.border} ${NB.radius} px-2.5 py-0.5 text-xs font-medium`, ...nbIndicatorShared }),\n [IndicatorVariant.ERROR]: recipe({ base: `bg-destructive text-destructive-foreground ${NB.border} ${NB.radius} px-2.5 py-0.5 text-xs font-medium`, ...nbIndicatorShared }),\n};\n\n// ============================================================\n// SELECTABLE\n// Reference: tabs.tsx trigger, sidebar menu-button\n// TabsTrigger: \"rounded-base border-2 border-transparent ... data-[state=active]:bg-main data-[state=active]:text-main-foreground data-[state=active]:border-border\"\n// SidebarMenuButton: \"hover:bg-main hover:text-main-foreground hover:outline-border\"\n// ============================================================\n\nconst selectable: Record<SelectableVariant, UIBehaviorRecipe> = {\n [SelectableVariant.FILLED]: recipe({\n base: `${NB.radius} text-sm font-medium outline-hidden border-2 border-transparent`,\n states: {\n hover: \"hover:bg-primary hover:text-primary-foreground hover:border-foreground\",\n focus: \"focus-visible:ring-2 focus-visible:ring-foreground\",\n active: \"active:bg-primary active:text-primary-foreground\",\n selected: \"data-[active=true]:bg-primary data-[active=true]:text-primary-foreground data-[active=true]:border-foreground data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-foreground\",\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n },\n sizes: { sm: \"h-7 text-xs\", md: \"h-8 text-sm\", lg: \"h-12 text-sm\" },\n motion: { transition: NB_MOTION.selectable },\n }),\n [SelectableVariant.UNDERLINE]: recipe({\n // Tailwind v4 only ships `border-{0,2,4,8}` utilities by default — `border-b-3`\n // would silently produce no underline. Use the arbitrary `[3px]` value so the\n // brutalist heavier-than-base underline (2px badges, 3px tab indicator) renders.\n base: \"rounded-none border-b-[3px] border-transparent text-sm font-medium outline-hidden\",\n states: {\n hover: \"hover:text-foreground\",\n focus: \"focus-visible:ring-2 focus-visible:ring-foreground\",\n selected: \"data-[state=active]:border-foreground data-[state=active]:text-foreground data-[state=active]:font-bold\",\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n },\n sizes: { sm: \"h-8 text-xs pb-1\", md: \"h-9 text-sm pb-2\", lg: \"h-11 text-sm pb-3\" },\n motion: { transition: NB_MOTION.selectable },\n }),\n [SelectableVariant.PILL]: recipe({\n base: `${NB.radius} border-2 border-transparent text-sm font-medium outline-hidden`,\n states: {\n hover: \"hover:border-foreground\",\n focus: \"focus-visible:ring-2 focus-visible:ring-foreground\",\n selected: `data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-foreground data-[state=active]:shadow-[2px_2px_0px_0px_var(--foreground)]`,\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n },\n sizes: { sm: \"h-8 px-3 text-xs\", md: \"h-9 px-4 text-sm\", lg: \"h-11 px-5 text-sm\" },\n motion: { transition: NB_MOTION.selectable },\n }),\n [SelectableVariant.INDICATOR]: recipe({\n // Same Tailwind v4 caveat as UNDERLINE: `border-s-3` is not a built-in utility\n // and would silently fail. Use arbitrary `[3px]` so the brutalist start-edge\n // indicator stays visually heavier than its 2px peers.\n base: `${NB.radius} text-sm font-medium outline-hidden border-s-[3px] border-transparent`,\n states: {\n hover: \"hover:bg-accent\",\n focus: \"focus-visible:ring-2 focus-visible:ring-foreground\",\n selected: \"data-[active=true]:border-foreground data-[active=true]:bg-primary data-[active=true]:text-primary-foreground data-[active=true]:font-bold\",\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n },\n sizes: { sm: \"h-8 text-xs\", md: \"h-9 text-sm\", lg: \"h-12 text-sm\" },\n motion: { transition: NB_MOTION.selectable },\n }),\n};\n\n// ============================================================\n// OVERLAY, DIVIDER, SKELETON\n// Reference: dialog overlay \"bg-overlay\" = rgba(0,0,0,0.8)\n// Reference: skeleton \"border-2 border-border bg-secondary-background animate-pulse rounded-base\"\n// ============================================================\n\nconst overlayBackdrop: UIBehaviorRecipe = recipe({\n base: \"bg-black/80\",\n motion: {\n enter: NB_MOTION.backdropEnter,\n exit: NB_MOTION.backdropExit,\n },\n});\n\n// Reference: dropdown separator \"-mx-1 my-1 h-0.5 bg-border\"\nconst divider: UIBehaviorRecipe = recipe({ base: \"bg-foreground shrink-0\" });\n\n// Reference: skeleton \"animate-pulse rounded-base bg-secondary-background border-2 border-border\"\nconst skeleton: UIBehaviorRecipe = recipe({ base: `bg-secondary ${NB.border} animate-pulse ${NB.radius} motion-reduce:animate-none` });\n\nconst loadingSpinner: UIBehaviorRecipe = recipe({\n base: `text-foreground animate-spin ${NB.border} motion-reduce:animate-none`,\n});\n\nconst loadingOverlay: UIBehaviorRecipe = recipe({\n base: `bg-background/80 ${NB.border}`,\n motion: {\n enter: \"animate-in fade-in-0 duration-[var(--motion-duration-fast)] ease-[var(--motion-easing-linear)] motion-reduce:animate-none\",\n exit: \"animate-out fade-out-0 duration-[var(--motion-duration-instant)] ease-[var(--motion-easing-linear)] motion-reduce:animate-none\",\n },\n});\n\n// ============================================================\n// TYPOGRAPHY\n// Reference: CardTitle \"font-heading leading-none\"\n// Reference: CardDescription \"text-sm font-base\"\n// Reference: DialogTitle \"text-lg font-heading leading-none tracking-tight\"\n// Reference: Label \"text-sm font-heading leading-none\"\n// ============================================================\n\nconst typography: Record<TypographyVariant, UIBehaviorRecipe> = {\n [TypographyVariant.HEADING]: recipe({\n // Neo-brutalist typography is loud by definition. Pump h1 a full step\n // above the default theme (text-5xl vs text-4xl) so headings land with\n // the same weight as the 2px borders + 4px hard shadows — anything\n // smaller looks visually outweighed by the chrome. `display` is wired\n // here for future hero/marketing surfaces; the current Heading component\n // looks up `h{level}`, so it's an opt-in via `getRecipe(...).sizes.display`\n // until a `Display`/`Hero` companion ships (tracked in audit doc).\n base: \"font-bold leading-none tracking-tight\",\n sizes: {\n display: \"text-6xl\",\n h1: \"text-5xl\",\n h2: \"text-3xl\",\n h3: \"text-2xl\",\n h4: \"text-xl\",\n md: \"text-xl\",\n },\n }),\n [TypographyVariant.BODY]: recipe({\n base: \"text-foreground text-sm font-medium\",\n sizes: { sm: \"text-xs\", md: \"text-sm\", lg: \"text-base\" },\n }),\n // Reference: Label \"text-sm font-heading\"\n [TypographyVariant.LABEL]: recipe({\n base: \"font-bold text-sm leading-none\",\n sizes: { sm: \"text-xs\", md: \"text-sm\", lg: \"text-base\" },\n }),\n // Reference: DialogDescription \"text-sm font-base text-foreground\" (NOT muted — brutalism is direct)\n [TypographyVariant.DESCRIPTION]: recipe({\n base: \"text-foreground text-sm font-medium\",\n sizes: { sm: \"text-xs\", md: \"text-sm\" },\n }),\n [TypographyVariant.CODE]: recipe({\n base: `font-mono text-sm bg-secondary ${NB.border} border-foreground/20 ${NB.radius} px-1.5 py-0.5`,\n sizes: { sm: \"text-xs\", md: \"text-sm\", lg: \"text-base\" },\n }),\n};\n\n// ============================================================\n// ASSEMBLED THEME\n// ============================================================\n\n// ============================================================\n// SPACING\n//\n// Neo-brutalism is graphic and chunky: 2px borders and 4px hard\n// shadows add visual weight around every element. The spacing\n// scale accounts for this by:\n// - Enlarging card/container padding so content doesn't bump\n// into thick borders.\n// - Slightly increasing field/section gaps so adjacent shadows\n// never overlap.\n// - Item/element gaps stay close to default since inline items\n// don't carry their own shadow boxes.\n// ============================================================\n\nconst spacing: ComponentStyleTheme['spacing'] = {\n [SpacingSemantic.ELEMENT]: '0.625rem', // 10px (default 8px) — room for shadow offsets\n [SpacingSemantic.ITEM]: '0.375rem', // 6px (default 4px) — slightly roomier list items\n [SpacingSemantic.GROUP]: '0.875rem', // 14px (default 12px) — groups stand out more\n [SpacingSemantic.FIELD]: '1.25rem', // 20px (default 16px) — shadow-friendly field gaps\n [SpacingSemantic.SECTION]: '1.75rem', // 28px (default 24px) — sections breathe around shadows\n [SpacingSemantic.REGION]: '2.5rem', // 40px (default 32px) — regions clearly separated\n [SpacingSemantic.CARD]: '1.25rem', // 20px (default 16px) — internal padding clears 2px border\n [SpacingSemantic.CONTAINER]: '1.75rem', // 28px (default 24px) — page padding accommodates shadow\n};\n\n// ============================================================\n// REQUIRED CUSTOM TOKENS — palette + font overrides\n//\n// Neo-brutalism is defined as much by its palette/typography as by its\n// borders and shadows. Without these overrides, the theme inherited the\n// host's corporate primary (a soft sky blue) and the host font stack\n// (Inter), which fought the brutalist DNA — heavy borders + hard shadows\n// against a polite, conventional palette read as \"shadcn with extra\n// outlines\" rather than the neobrutalism.dev v3 reference.\n//\n// `requiredCustomTokens` is consumed by UIContext at theme-apply time\n// (see `mergeThemeRequiredCustomTokens` + `applyCustomTokens`), which\n// writes each entry as `--<key>: <value>` onto `document.documentElement`\n// via `style.setProperty`. Inline-style precedence (1,0,0,0) beats the\n// `:root` rules emitted by the design-token CSS generator (0,1,0), so\n// these declarations override the standard `--primary`, `--background`,\n// etc. tokens for the lifetime of the theme.\n//\n// Palette is derived from neobrutalism.dev v3 reference variables:\n// --main: #88aaee (light) / #4a7dde (dark) → primary brutalist blue\n// --bg: #f5f5f5 (light) / #272933 (dark) → page background\n// --text: #000 (light) / #fff (dark) → high-contrast foreground\n// --border: same as text → \"drawn-with-marker\" outlines\n// ============================================================\n\nfunction colorOverride(lightOklch: string, darkOklch: string): DesignTokenConfiguration {\n return {\n type: DesignTokenValueType.COLOR,\n modeStrategy: DesignTokenModeStrategy.LIGHT_DARK,\n lightValue: lightOklch,\n darkValue: darkOklch,\n };\n}\n\nfunction colorSingle(oklch: string): DesignTokenConfiguration {\n return {\n type: DesignTokenValueType.COLOR,\n modeStrategy: DesignTokenModeStrategy.SINGLE,\n value: oklch,\n };\n}\n\nfunction stringSingle(value: string): DesignTokenConfiguration {\n return {\n type: DesignTokenValueType.STRING,\n modeStrategy: DesignTokenModeStrategy.SINGLE,\n value,\n };\n}\n\nconst requiredCustomTokens: Record<string, DesignTokenConfiguration> = {\n // === Brutalist blue (~#88aaee in light, ~#7da0e8 in dark) — the chrome\n // accent on which cards, popovers, dropdowns and tooltips paint themselves.\n //\n // Both lightness values are deliberately above L≈0.68 so the always-black\n // primary-foreground keeps a comfortable ≥4.5:1 contrast (WCAG AA body).\n // An earlier draft used L=0.58 in dark, which dipped to ~3.9:1 — the\n // brutalist DNA explicitly demands \"high contrast everything\", so we trade\n // a touch of dark-mode chroma for legibility instead of switching the text\n // to white (which would soften the brutalist look).\n primary: colorOverride('0.74 0.115 264', '0.70 0.135 264'),\n // Pure black on the chrome accent — brutalism is high contrast, not soft.\n 'primary-foreground': colorSingle('0 0 0'),\n\n // === Page background: warm off-white in light, deep slate in dark\n // (matches neobrutalism.dev `--bg` / `--bg-dark` variables).\n background: colorOverride('0.965 0 0', '0.272 0.013 280'),\n // === Body text: pure black on light, pure white on dark — high contrast\n // is non-negotiable for the brutalist style.\n foreground: colorOverride('0 0 0', '1 0 0'),\n\n // === Borders + focus rings: same as foreground so the 2px outlines read\n // as \"drawn with a marker\" and the focus ring picks up the same color.\n border: colorOverride('0 0 0', '1 0 0'),\n ring: colorOverride('0 0 0', '1 0 0'),\n input: colorOverride('0 0 0', '1 0 0'),\n\n // === Secondary surface: pure white in light (the classic \"white card\"),\n // and the same deep slate as bg in dark for visual continuity.\n secondary: colorOverride('1 0 0', '0.21 0.013 280'),\n 'secondary-foreground': colorOverride('0 0 0', '1 0 0'),\n\n // === Muted backgrounds: a faint blue tint of the primary so muted\n // surfaces stay \"in the family\" instead of going neutral grey.\n muted: colorOverride('0.95 0.015 264', '0.32 0.02 280'),\n 'muted-foreground': colorOverride('0.30 0.02 264', '0.78 0.02 264'),\n\n // === Destructive: hot brutalist red (#ff3838) — the OG \"stop\" color, not\n // the muted desaturated red the corporate default ships.\n destructive: colorOverride('0.65 0.26 27', '0.62 0.26 27'),\n 'destructive-foreground': colorSingle('1 0 0'),\n\n // === Accent (the rotating gradient stops): keep them in the brutalist\n // blue family rather than violet/blue/pink — uniform color story. Dark\n // value matches `primary` (0.70) so the gradient stays bright on dark\n // backgrounds where ACCENT chrome is most visible.\n 'accent-gradient-from': colorOverride('0.74 0.115 264', '0.70 0.135 264'),\n 'accent-gradient-via': colorOverride('0.85 0.18 90', '0.80 0.20 90'), // electric yellow midpoint\n 'accent-gradient-to': colorOverride('0.62 0.24 0', '0.58 0.26 0'), // hot pink endpoint\n\n // === Font stack: prefer architectural / monospaced-leaning families that\n // ship with most OSes, falling through to system. The brutalist DNA still\n // mostly comes from the borders + shadows + colors, but a more rigid\n // letterform reinforces it. Hosts wanting full fidelity (Public Sans,\n // Archivo Black, IBM Plex Sans) should @font-face them in app CSS — the\n // declarations below will pick them up automatically once available.\n 'font-body': stringSingle(\"'Public Sans', 'IBM Plex Sans', Inter, ui-sans-serif, system-ui, sans-serif\"),\n 'font-heading': stringSingle(\"'Archivo Black', 'Public Sans', 'IBM Plex Sans', Inter, ui-sans-serif, system-ui, sans-serif\"),\n};\n\nexport const neoBrutalistTheme: ComponentStyleTheme = {\n id: 'neo-brutalist',\n name: 'Neo-Brutalist',\n description: 'Based on neobrutalism.dev v3. 2px borders, 4px hard-offset shadows, 5px radius, 700/500 font weight split, heavy 80% overlay, primary-colored dropdowns/tooltips. Ships its own brutalist palette (#88aaee chrome blue, pure black/white duotone, hot red destructive) and architectural font stack via requiredCustomTokens — host palette/fonts are fully overridden when this theme is active.',\n\n requiredCustomTokens,\n spacing,\n\n interactive,\n surface,\n formControl,\n indicator,\n selectable,\n overlayBackdrop,\n divider,\n skeleton,\n loadingSpinner,\n loadingOverlay,\n typography,\n radius: '5px',\n backgroundLayer: undefined,\n chartStyle: {\n colorShadeLight: 600,\n colorShadeDark: 500,\n gridPadding: { top: 30, right: 20, bottom: 30, left: 60 },\n axis: { showAxisLine: true, showTicks: true, splitLineType: 'solid', hideOverlap: true, yAxisNameLocation: 'middle', yAxisNameGap: 50 },\n tooltip: { extraCss: 'border: 2px solid currentColor; box-shadow: 4px 4px 0 currentColor;', borderWidth: 0 },\n animation: { enabled: true, durationMs: 100, easing: 'linear' },\n series: { lineWidth: 3, pointSize: 6, areaOpacity: 0.4, barBorderRadius: 0, pieBorderWidth: 3 },\n typography: { titleFontSize: 18, titleFontWeight: 800, subtitleFontSize: 14, legendFontSize: 13, tooltipFontSize: 13, axisLabelFontSize: 12, axisNameFontSize: 13 },\n emphasis: { shadowBlur: 0, shadowColor: 'transparent', shadowOffsetX: 0 },\n responsive: { smallMaxWidth: 400, mediumMaxWidth: 799, smallGridPadding: { top: 20, right: 10, bottom: 20, left: 30 }, mediumGridPadding: { left: 50, right: 20, bottom: 40 }, hideLegendOnSmall: true, smallAxisLabelRotate: 45, smallFontSize: 11, mediumFontSize: 12 },\n multiSeriesLegendBottomPadding: 50,\n },\n};\n"]}
1
+ {"version":3,"file":"neo-brutalist.theme.js","sourceRoot":"","sources":["../../../../src/themes/neo-brutalist.theme.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ComponentStyleTheme, DesignTokenConfiguration } from '@wildo-ai/presets-components-models';\nimport {\n DividerVariant,\n InteractiveVariant,\n SurfaceVariant,\n FormControlVariant,\n IndicatorVariant,\n SelectableVariant,\n TypographyVariant,\n SpacingSemantic,\n DesignTokenModeStrategy,\n DesignTokenValueType,\n SKELETON_NEUTRAL_TINT,\n} from '@wildo-ai/presets-components-models';\nimport type { UIBehaviorRecipe } from '@wildo-ai/presets-components-models';\n\nfunction recipe(r: Partial<UIBehaviorRecipe> & { base: string }): UIBehaviorRecipe {\n return { base: r.base, states: r.states ?? {}, sizes: r.sizes, motion: r.motion ?? {}, gesture: r.gesture, policy: r.policy };\n}\n\n// ============================================================\n// Neo-Brutalist theme\n//\n// Extracted from neobrutalism.dev v3 reference repo (exact classes).\n//\n// Design tokens (from reference CSS variables):\n// --border-radius: 5px → rounded-lg (via global --radius token)\n// --shadow: 4px 4px 0px 0px var(--border) → shadow-[4px_4px_0px_0px_var(--foreground)]\n// --heading-font-weight: 700 → font-bold\n// --base-font-weight: 500 → font-medium\n// border: 2px solid → border-2 border-foreground\n// overlay: rgba(0,0,0,0.8) → bg-black/80\n//\n// Hover pattern: translate toward shadow + flatten (press-in)\n// hover:translate-x-[4px] hover:translate-y-[4px] hover:shadow-none\n//\n// Key differences from shadcn:\n// - Card bg = primary (main) color, not white\n// - Select/dropdown bg = primary color\n// - Tooltip bg = primary color\n// - Close buttons: opacity-100 (no subtlety)\n// - Sidebar header/footer: border-b-2/border-t-2\n// - Accordion trigger: bg-primary, text-primary-foreground\n// - Skeleton: border-2 on skeleton\n// - Progress bar indicator: border-r-2\n// ============================================================\n\n// -- Shared constants matching reference --\n\nconst NB = {\n // References the global --radius token (set to 5px by theme.radius below).\n // Always use rounded-* tiers, never hardcoded rounded-[Npx].\n radius: \"rounded-lg\",\n border: \"border-2 border-foreground\",\n shadow: \"shadow-[4px_4px_0px_0px_var(--foreground)]\",\n hover: \"hover:translate-x-[4px] hover:translate-y-[4px] hover:shadow-none\",\n focus: \"focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-foreground focus-visible:ring-offset-2\",\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n invalid: \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n};\n\n// ============================================================\n// MOTION PERSONALITY — Neo-Brutalist\n// ============================================================\n// Hover/focus : INSTANT (50ms) + LINEAR → abrupt, no polish.\n// The 4px translate-x/-y on\n// press is THE motion (the\n// button \"lands\" against\n// the hard-offset shadow).\n// Overlay enter: FAST (150ms) + LINEAR → directional slide-2.\n// Overlay exit : INSTANT (50ms) + LINEAR → close = vanish (matches\n// the abrupt press feedback).\n// Backdrop : FAST/INSTANT + LINEAR → consistent.\n// Gestures : NONE — CSS translate IS the press feedback. Adding\n// motion.dev springs would soften the \"thud\" that is\n// the brutalist signature.\n//\n// Why LINEAR explicitly: previously overlay/backdrop omitted ease-,\n// so Tailwind/browser fell back to the soft `ease` curve — quietly\n// undermining the abrupt brutalist personality. TR-14 motion-coherence\n// pass adds explicit LINEAR easing to every overlay/backdrop.\n// ============================================================\nconst NB_MOTION = {\n interactive: \"transition-[background-color,color,border-color,box-shadow,transform] duration-[var(--motion-duration-instant)] ease-[var(--motion-easing-linear)] motion-reduce:transition-none\",\n formControl: \"transition-[color,border-color,box-shadow] duration-[var(--motion-duration-instant)] ease-[var(--motion-easing-linear)] motion-reduce:transition-none\",\n selectable: \"transition-[background-color,color,border-color,outline-color] duration-[var(--motion-duration-instant)] ease-[var(--motion-easing-linear)] motion-reduce:transition-none\",\n enterFadeZoom: \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:duration-[var(--motion-duration-fast)] data-[state=open]:ease-[var(--motion-easing-linear)] motion-reduce:data-[state=open]:animate-none\",\n exitFadeZoom: \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:duration-[var(--motion-duration-instant)] data-[state=closed]:ease-[var(--motion-easing-linear)] motion-reduce:data-[state=closed]:animate-none\",\n enterDirectional: \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:duration-[var(--motion-duration-fast)] data-[state=open]:ease-[var(--motion-easing-linear)] data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 motion-reduce:data-[state=open]:animate-none\",\n backdropEnter: \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:duration-[var(--motion-duration-fast)] data-[state=open]:ease-[var(--motion-easing-linear)] motion-reduce:data-[state=open]:animate-none\",\n backdropExit: \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:duration-[var(--motion-duration-instant)] data-[state=closed]:ease-[var(--motion-easing-linear)] motion-reduce:data-[state=closed]:animate-none\",\n};\n\n// ============================================================\n// INTERACTIVE\n// Reference: button.tsx variants\n// ============================================================\n\nconst interactiveSizes: Record<string, string> = {\n xs: \"h-8 px-2.5 text-xs gap-1 pointer-coarse:min-h-10\",\n sm: \"h-9 px-3 pointer-coarse:min-h-11\",\n md: \"h-10 px-4 py-2 pointer-coarse:min-h-11\",\n lg: \"h-11 px-8 pointer-coarse:min-h-11\",\n icon: \"size-10 pointer-coarse:min-h-11 pointer-coarse:min-w-11\",\n \"icon-sm\": \"size-8 pointer-coarse:min-h-9 pointer-coarse:min-w-9\",\n};\n\nconst interactive: Record<InteractiveVariant, UIBehaviorRecipe> = {\n // Reference variant: \"default\" → bg-main text-main-foreground shadow-shadow hover:shift\n [InteractiveVariant.PRIMARY]: recipe({\n base: `bg-primary text-primary-foreground ${NB.border} ${NB.shadow} ${NB.radius} font-medium text-sm cursor-pointer`,\n states: { hover: NB.hover, active: \"active:translate-x-[4px] active:translate-y-[4px] active:shadow-none\", focus: NB.focus, disabled: NB.disabled, invalid: NB.invalid },\n sizes: interactiveSizes,\n motion: { transition: NB_MOTION.interactive },\n }),\n\n // Reference variant: \"neutral\" → bg-bw (secondary bg) text-text shadow-shadow hover:shift\n [InteractiveVariant.SECONDARY]: recipe({\n base: `bg-secondary text-secondary-foreground ${NB.border} ${NB.shadow} ${NB.radius} font-medium text-sm cursor-pointer`,\n states: { hover: NB.hover, active: \"active:translate-x-[4px] active:translate-y-[4px] active:shadow-none\", focus: NB.focus, disabled: NB.disabled, invalid: NB.invalid },\n sizes: interactiveSizes,\n motion: { transition: NB_MOTION.interactive },\n }),\n\n // Reference variant: \"reverse\" → bg-main, NO shadow, gains shadow on hover\n [InteractiveVariant.OUTLINE]: recipe({\n base: `bg-primary text-primary-foreground ${NB.border} ${NB.radius} font-medium text-sm cursor-pointer`,\n states: {\n hover: \"hover:-translate-x-[4px] hover:-translate-y-[4px] hover:shadow-[4px_4px_0px_0px_var(--foreground)]\",\n active: \"active:translate-x-0 active:translate-y-0 active:shadow-none\",\n focus: NB.focus,\n selected: \"data-[state=on]:bg-primary data-[state=on]:text-primary-foreground data-[state=on]:border-foreground data-[state=on]:shadow-[2px_2px_0px_0px_var(--foreground)]\",\n disabled: NB.disabled, invalid: NB.invalid,\n },\n sizes: interactiveSizes,\n motion: { transition: NB_MOTION.interactive },\n }),\n\n // Destructive — same pattern as primary but destructive colors\n [InteractiveVariant.DESTRUCTIVE]: recipe({\n base: `bg-destructive text-destructive-foreground ${NB.border} ${NB.shadow} ${NB.radius} font-medium text-sm cursor-pointer`,\n states: { hover: NB.hover, active: \"active:translate-x-[4px] active:translate-y-[4px] active:shadow-none\", focus: NB.focus, highlighted: \"focus:bg-destructive focus:text-destructive-foreground focus:border-foreground\", disabled: NB.disabled, invalid: NB.invalid },\n sizes: interactiveSizes,\n motion: { transition: NB_MOTION.interactive },\n }),\n\n // Reference variant: \"noShadow\" → bg-main, border, no shadow, no hover shift\n [InteractiveVariant.GHOST]: recipe({\n base: `text-foreground ${NB.border} border-transparent ${NB.radius} font-medium text-sm cursor-pointer`,\n states: {\n hover: \"hover:bg-primary hover:text-primary-foreground hover:border-foreground\",\n active: \"active:bg-primary/80 active:text-primary-foreground\",\n focus: NB.focus,\n selected: \"data-[state=on]:bg-primary data-[state=on]:text-primary-foreground data-[state=on]:border-foreground\",\n highlighted: \"focus:bg-primary focus:text-primary-foreground focus:border-foreground\",\n open: \"data-[state=open]:bg-primary data-[state=open]:text-primary-foreground data-[state=open]:border-foreground\",\n disabled: NB.disabled, invalid: NB.invalid,\n },\n sizes: interactiveSizes,\n motion: { transition: NB_MOTION.interactive },\n }),\n\n [InteractiveVariant.LINK]: recipe({\n base: `text-primary underline underline-offset-4 decoration-2 ${NB.radius} font-medium text-sm cursor-pointer`,\n states: {\n hover: \"hover:decoration-foreground\",\n active: \"active:text-primary/80\",\n focus: NB.focus, disabled: NB.disabled, invalid: NB.invalid,\n },\n sizes: { xs: \"h-8 px-2.5 text-xs gap-1 pointer-coarse:min-h-10\", sm: \"h-9 px-3 pointer-coarse:min-h-11\", md: \"h-10 px-4 py-2 pointer-coarse:min-h-11\", lg: \"h-11 px-8 pointer-coarse:min-h-11\", icon: \"size-10 pointer-coarse:min-h-11 pointer-coarse:min-w-11\", \"icon-sm\": \"size-8 pointer-coarse:min-h-9 pointer-coarse:min-w-9\" },\n motion: { transition: NB_MOTION.interactive },\n }),\n\n [InteractiveVariant.ACCENT]: recipe({\n // TT-2: Reuse the same theme-resolvable accent-gradient stops as the\n // default theme so tenant rebrands flow through (was hardcoded\n // violet/pink/amber). The neo-brutalist motion + border treatment is\n // unchanged.\n base: `bg-primary text-primary-foreground font-black ${NB.border} shadow-[4px_4px_0px_0px_var(--foreground)] bg-[length:300%_100%] bg-gradient-to-r from-accent-gradient-from via-accent-gradient-via to-accent-gradient-to animate-[gradient-rotate_4s_steps(8)_infinite] motion-reduce:animate-none ${NB.radius} text-sm cursor-pointer`,\n states: {\n hover: 'hover:translate-x-[4px] hover:translate-y-[4px] hover:shadow-none',\n active: 'active:translate-x-[4px] active:translate-y-[4px] active:shadow-none',\n focus: 'focus-visible:ring-2 focus-visible:ring-foreground focus-visible:ring-offset-2',\n disabled: NB.disabled,\n invalid: NB.invalid,\n },\n sizes: interactiveSizes,\n motion: {\n transition: 'transition-[transform,shadow,background-position] duration-[var(--motion-duration-instant)] ease-[var(--motion-easing-linear)] motion-reduce:transition-none',\n },\n }),\n};\n\n// ============================================================\n// SURFACE\n// Reference: card.tsx, dialog.tsx, select.tsx (content), tooltip.tsx\n// SURFACE PERSONALITY — poster-board panels: hard borders, hard shadows,\n// saturated callouts. New variants keep the same physical cut-paper logic.\n// ============================================================\n\nconst surface: ComponentStyleTheme['surface'] = {\n // Reference card: \"bg-background text-foreground border-2 border-border shadow-shadow rounded-base font-base\"\n [SurfaceVariant.BASE]: recipe({\n base: `bg-background text-foreground ${NB.border} ${NB.shadow} ${NB.radius} font-medium`,\n }),\n\n // Reference card with a lifted fill: hard border + offset shadow over the\n // elevated `surface-raised` so the card reads against the page. Always painted.\n [SurfaceVariant.CARD]: recipe({\n base: `bg-surface-raised text-surface-raised-foreground ${NB.border} ${NB.shadow} ${NB.radius} font-medium`,\n }),\n\n // Reference dropdown/tooltip: \"bg-main text-main-foreground border-2 border-border rounded-base\"\n // Popovers/dropdowns use primary color bg in neo-brutalism\n [SurfaceVariant.RAISED]: recipe({\n // `fill-*` mirrors `bg-*` so the Tooltip's Radix arrow (an SVG painted via\n // `fill`, inherited across Radix's arrow-wrapper span) matches the body.\n base: `bg-primary fill-primary text-primary-foreground ${NB.border} ${NB.radius} font-medium`,\n motion: {\n enter: NB_MOTION.enterDirectional,\n exit: NB_MOTION.exitFadeZoom,\n },\n }),\n\n // Reference dialog: \"bg-background border-2 border-border shadow-shadow rounded-base\"\n [SurfaceVariant.OVERLAY]: recipe({\n base: `bg-background text-foreground ${NB.border} ${NB.shadow} ${NB.radius}`,\n motion: {\n enter: NB_MOTION.enterFadeZoom + \" data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]\",\n exit: NB_MOTION.exitFadeZoom + \" data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]\",\n },\n }),\n\n // Reference sidebar inset: \"bg-secondary-background\"\n [SurfaceVariant.INSET]: recipe({\n base: `bg-secondary text-foreground ${NB.radius}`,\n }),\n\n // Reference sidebar: \"bg-secondary-background text-foreground\" + border-r-2\n [SurfaceVariant.SUNKEN]: recipe({\n base: \"bg-secondary text-foreground\",\n }),\n\n [SurfaceVariant.TAB_PANEL]: recipe({\n // Tab panel is still loud, but drops the top border so it locks to the tabs.\n base: `bg-background text-foreground border-x-2 border-b-2 border-border ${NB.shadow} rounded-b-lg font-medium`,\n }),\n\n [SurfaceVariant.SHELL]: recipe({\n // Page shell: flat poster background; children carry the hard frames.\n base: 'bg-background text-foreground font-medium',\n }),\n\n [SurfaceVariant.TRANSIENT]: recipe({\n // Toast: punchy callout, primary color plus the signature hard shadow.\n base: `bg-primary text-primary-foreground ${NB.border} ${NB.shadow} ${NB.radius} font-medium`,\n motion: {\n enter: NB_MOTION.enterDirectional,\n exit: NB_MOTION.exitFadeZoom,\n },\n }),\n};\n\n// ============================================================\n// FORM_CONTROL\n// Reference: input.tsx, textarea.tsx, select trigger\n// ============================================================\n\nconst formControl: Record<FormControlVariant, UIBehaviorRecipe> = {\n // Reference input: \"bg-secondary-background border-2 border-border rounded-base text-sm font-base text-foreground placeholder:text-foreground/50\"\n [FormControlVariant.DEFAULT]: recipe({\n base: `bg-secondary ${NB.border} ${NB.radius} text-base md:text-sm font-medium text-foreground placeholder:text-foreground/50 selection:bg-primary selection:text-primary-foreground`,\n states: { focus: NB.focus, disabled: \"disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]\", invalid: NB.invalid },\n sizes: { md: \"h-10 px-3 py-2 pointer-coarse:min-h-11\", sm: \"h-9 px-3 text-sm pointer-coarse:min-h-11\", lg: \"h-12 px-4 py-2 pointer-coarse:min-h-12\" },\n motion: { transition: NB_MOTION.formControl },\n }),\n\n [FormControlVariant.FILLED]: recipe({\n base: `bg-muted ${NB.border} ${NB.radius} text-base md:text-sm font-medium text-foreground placeholder:text-foreground/50`,\n states: { focus: NB.focus, disabled: \"disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]\", invalid: NB.invalid },\n sizes: { md: \"h-10 px-3 py-2 pointer-coarse:min-h-11\", sm: \"h-9 px-3 text-sm pointer-coarse:min-h-11\", lg: \"h-12 px-4 py-2 pointer-coarse:min-h-12\" },\n motion: { transition: NB_MOTION.formControl },\n }),\n\n [FormControlVariant.UNDERLINED]: recipe({\n base: `bg-transparent border-0 border-b-2 border-foreground rounded-none text-base md:text-sm font-medium text-foreground placeholder:text-foreground/50`,\n states: { focus: \"focus-visible:border-primary\", disabled: \"disabled:opacity-[var(--opacity-disabled)]\", invalid: \"aria-invalid:border-destructive\" },\n sizes: { md: \"h-10 px-0 py-2 pointer-coarse:min-h-11\", sm: \"h-9 px-0 text-sm pointer-coarse:min-h-11\", lg: \"h-12 px-0 py-2 pointer-coarse:min-h-12\" },\n motion: { transition: \"transition-[border-color] duration-[var(--motion-duration-instant)] ease-[var(--motion-easing-linear)] motion-reduce:transition-none\" },\n }),\n\n [FormControlVariant.CHECKBOX]: recipe({\n base: `${NB.border} ${NB.radius} shadow-[2px_2px_0px_0px_var(--foreground)]`,\n states: {\n focus: NB.focus,\n selected: `data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-foreground`,\n disabled: \"disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]\",\n invalid: NB.invalid,\n },\n motion: { transition: \"transition-[color,box-shadow] duration-[var(--motion-duration-instant)] ease-[var(--motion-easing-linear)] motion-reduce:transition-none\" },\n }),\n\n [FormControlVariant.SWITCH]: recipe({\n base: `data-[state=unchecked]:bg-secondary ${NB.border} shadow-[2px_2px_0px_0px_var(--foreground)]`,\n states: {\n focus: NB.focus,\n selected: \"data-[state=checked]:bg-primary\",\n disabled: \"disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]\",\n invalid: NB.invalid,\n },\n motion: { transition: \"transition-all duration-[var(--motion-duration-instant)] ease-[var(--motion-easing-linear)] motion-reduce:transition-none\" },\n }),\n};\n\n// ============================================================\n// INDICATOR\n// Reference: badge.tsx — \"border-2 border-border rounded-base px-2.5 py-0.5 text-xs font-base\"\n// ============================================================\n\nconst nbIndicatorShared = {\n states: { hover: \"[a&]:hover:opacity-[var(--opacity-hover)]\", focus: NB.focus, invalid: NB.invalid },\n motion: { transition: NB_MOTION.interactive },\n};\n\nconst indicator: Record<IndicatorVariant, UIBehaviorRecipe> = {\n [IndicatorVariant.NEUTRAL]: recipe({ base: `bg-secondary text-foreground ${NB.border} ${NB.radius} px-2.5 py-0.5 text-xs font-medium`, ...nbIndicatorShared }),\n [IndicatorVariant.INFO]: recipe({ base: `bg-info text-info-foreground ${NB.border} ${NB.radius} px-2.5 py-0.5 text-xs font-medium`, ...nbIndicatorShared }),\n [IndicatorVariant.SUCCESS]: recipe({ base: `bg-success text-success-foreground ${NB.border} ${NB.radius} px-2.5 py-0.5 text-xs font-medium`, ...nbIndicatorShared }),\n [IndicatorVariant.WARNING]: recipe({ base: `bg-warning text-warning-foreground ${NB.border} ${NB.radius} px-2.5 py-0.5 text-xs font-medium`, ...nbIndicatorShared }),\n [IndicatorVariant.ERROR]: recipe({ base: `bg-destructive text-destructive-foreground ${NB.border} ${NB.radius} px-2.5 py-0.5 text-xs font-medium`, ...nbIndicatorShared }),\n};\n\n// ============================================================\n// SELECTABLE\n// Reference: tabs.tsx trigger, sidebar menu-button\n// TabsTrigger: \"rounded-base border-2 border-transparent ... data-[state=active]:bg-main data-[state=active]:text-main-foreground data-[state=active]:border-border\"\n// SidebarMenuButton: \"hover:bg-main hover:text-main-foreground hover:outline-border\"\n// ============================================================\n\nconst selectable: Record<SelectableVariant, UIBehaviorRecipe> = {\n [SelectableVariant.FILLED]: recipe({\n base: `${NB.radius} text-sm font-medium outline-hidden border-2 border-transparent`,\n states: {\n hover: \"hover:bg-primary hover:text-primary-foreground hover:border-foreground\",\n focus: \"focus-visible:ring-2 focus-visible:ring-foreground\",\n active: \"active:bg-primary active:text-primary-foreground\",\n selected: \"data-[active=true]:bg-primary data-[active=true]:text-primary-foreground data-[active=true]:border-foreground data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-foreground\",\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n },\n sizes: { sm: \"h-7 text-xs\", md: \"h-8 text-sm\", lg: \"h-12 text-sm\" },\n motion: { transition: NB_MOTION.selectable },\n }),\n [SelectableVariant.UNDERLINE]: recipe({\n // Tailwind v4 only ships `border-{0,2,4,8}` utilities by default — `border-b-3`\n // would silently produce no underline. Use the arbitrary `[3px]` value so the\n // brutalist heavier-than-base underline (2px badges, 3px tab indicator) renders.\n base: \"rounded-none border-b-[3px] border-transparent text-sm font-medium outline-hidden\",\n states: {\n hover: \"hover:text-foreground\",\n focus: \"focus-visible:ring-2 focus-visible:ring-foreground\",\n selected: \"data-[state=active]:border-foreground data-[state=active]:text-foreground data-[state=active]:font-bold\",\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n },\n sizes: { sm: \"h-8 text-xs pb-1\", md: \"h-9 text-sm pb-2\", lg: \"h-11 text-sm pb-3\" },\n motion: { transition: NB_MOTION.selectable },\n }),\n [SelectableVariant.PILL]: recipe({\n base: `${NB.radius} border-2 border-transparent text-sm font-medium outline-hidden`,\n states: {\n hover: \"hover:border-foreground\",\n focus: \"focus-visible:ring-2 focus-visible:ring-foreground\",\n selected: `data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:border-foreground data-[state=active]:shadow-[2px_2px_0px_0px_var(--foreground)]`,\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n },\n sizes: { sm: \"h-8 px-3 text-xs\", md: \"h-9 px-4 text-sm\", lg: \"h-11 px-5 text-sm\" },\n motion: { transition: NB_MOTION.selectable },\n }),\n [SelectableVariant.INDICATOR]: recipe({\n // Same Tailwind v4 caveat as UNDERLINE: `border-s-3` is not a built-in utility\n // and would silently fail. Use arbitrary `[3px]` so the brutalist start-edge\n // indicator stays visually heavier than its 2px peers.\n base: `${NB.radius} text-sm font-medium outline-hidden border-s-[3px] border-transparent`,\n states: {\n hover: \"hover:bg-accent\",\n focus: \"focus-visible:ring-2 focus-visible:ring-foreground\",\n selected: \"data-[active=true]:border-foreground data-[active=true]:bg-primary data-[active=true]:text-primary-foreground data-[active=true]:font-bold\",\n disabled: \"disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]\",\n },\n sizes: { sm: \"h-8 text-xs\", md: \"h-9 text-sm\", lg: \"h-12 text-sm\" },\n motion: { transition: NB_MOTION.selectable },\n }),\n};\n\n// ============================================================\n// OVERLAY, DIVIDER, SKELETON\n// Reference: dialog overlay \"bg-overlay\" = rgba(0,0,0,0.8)\n// Reference: skeleton \"border-2 border-border bg-secondary-background animate-pulse rounded-base\"\n// ============================================================\n\nconst overlayBackdrop: UIBehaviorRecipe = recipe({\n base: \"bg-black/80\",\n motion: {\n enter: NB_MOTION.backdropEnter,\n exit: NB_MOTION.backdropExit,\n },\n});\n\n// Reference: dropdown separator \"-mx-1 my-1 h-0.5 bg-border\"\nconst divider: Record<DividerVariant, UIBehaviorRecipe> = {\n [DividerVariant.DEFAULT]: recipe({ base: 'bg-foreground shrink-0' }),\n // Nested-disclosure guide: the theme's own divider material, as a left edge.\n [DividerVariant.NESTING_GUIDE]: recipe({ base: 'border-s-2 border-foreground' }),\n};\n\n// Reference: skeleton \"animate-pulse rounded-base bg-secondary-background border-2 border-border\"\nconst skeleton: UIBehaviorRecipe = recipe({ base: `${SKELETON_NEUTRAL_TINT} ${NB.border} animate-pulse ${NB.radius} motion-reduce:animate-none` });\n\nconst loadingSpinner: UIBehaviorRecipe = recipe({\n base: `text-foreground animate-spin ${NB.border} motion-reduce:animate-none`,\n});\n\nconst loadingOverlay: UIBehaviorRecipe = recipe({\n base: `bg-background/80 ${NB.border}`,\n motion: {\n enter: \"animate-in fade-in-0 duration-[var(--motion-duration-fast)] ease-[var(--motion-easing-linear)] motion-reduce:animate-none\",\n exit: \"animate-out fade-out-0 duration-[var(--motion-duration-instant)] ease-[var(--motion-easing-linear)] motion-reduce:animate-none\",\n },\n});\n\n// ============================================================\n// TYPOGRAPHY\n// Reference: CardTitle \"font-heading leading-none\"\n// Reference: CardDescription \"text-sm font-base\"\n// Reference: DialogTitle \"text-lg font-heading leading-none tracking-tight\"\n// Reference: Label \"text-sm font-heading leading-none\"\n// ============================================================\n\nconst typography: Record<TypographyVariant, UIBehaviorRecipe> = {\n [TypographyVariant.HEADING]: recipe({\n // Neo-brutalist typography is loud by definition. Pump h1 a full step\n // above the default theme (text-5xl vs text-4xl) so headings land with\n // the same weight as the 2px borders + 4px hard shadows — anything\n // smaller looks visually outweighed by the chrome. `display` is wired\n // here for future hero/marketing surfaces; the current Heading component\n // looks up `h{level}`, so it's an opt-in via `getRecipe(...).sizes.display`\n // until a `Display`/`Hero` companion ships (tracked in audit doc).\n base: \"font-bold leading-none tracking-tight\",\n sizes: {\n display: \"text-6xl\",\n h1: \"text-5xl\",\n h2: \"text-3xl\",\n h3: \"text-2xl\",\n h4: \"text-xl\",\n h5: \"text-lg\",\n md: \"text-xl\",\n },\n }),\n [TypographyVariant.BODY]: recipe({\n base: \"text-foreground text-sm font-medium\",\n sizes: { sm: \"text-xs\", md: \"text-sm\", lg: \"text-base\" },\n }),\n // Reference: Label \"text-sm font-heading\"\n [TypographyVariant.LABEL]: recipe({\n base: \"font-bold text-sm leading-none\",\n sizes: { sm: \"text-xs\", md: \"text-sm\", lg: \"text-base\" },\n }),\n // Reference: DialogDescription \"text-sm font-base text-foreground\" (NOT muted — brutalism is direct)\n [TypographyVariant.DESCRIPTION]: recipe({\n base: \"text-foreground text-sm font-medium\",\n sizes: { sm: \"text-xs\", md: \"text-sm\" },\n }),\n [TypographyVariant.CODE]: recipe({\n base: `font-mono text-sm bg-secondary ${NB.border} border-foreground/20 ${NB.radius} px-1.5 py-0.5`,\n sizes: { sm: \"text-xs\", md: \"text-sm\", lg: \"text-base\" },\n }),\n};\n\n// ============================================================\n// ASSEMBLED THEME\n// ============================================================\n\n// ============================================================\n// SPACING\n//\n// Neo-brutalism is graphic and chunky: 2px borders and 4px hard\n// shadows add visual weight around every element. The spacing\n// scale accounts for this by:\n// - Enlarging card/container padding so content doesn't bump\n// into thick borders.\n// - Slightly increasing field/section gaps so adjacent shadows\n// never overlap.\n// - Item/element gaps stay close to default since inline items\n// don't carry their own shadow boxes.\n// ============================================================\n\nconst spacing: ComponentStyleTheme['spacing'] = {\n [SpacingSemantic.ELEMENT]: '0.625rem', // 10px (default 8px) — room for shadow offsets\n [SpacingSemantic.ITEM]: '0.375rem', // 6px (default 4px) — slightly roomier list items\n [SpacingSemantic.GROUP]: '0.875rem', // 14px (default 12px) — groups stand out more\n [SpacingSemantic.FIELD]: '1.25rem', // 20px (default 16px) — shadow-friendly field gaps\n [SpacingSemantic.SECTION]: '1.75rem', // 28px (default 24px) — sections breathe around shadows\n [SpacingSemantic.REGION]: '2.5rem', // 40px (default 32px) — regions clearly separated\n [SpacingSemantic.CARD]: '1.25rem', // 20px (default 16px) — internal padding clears 2px border\n [SpacingSemantic.CONTAINER]: '1.75rem', // 28px (default 24px) — page padding accommodates shadow\n};\n\n// ============================================================\n// REQUIRED CUSTOM TOKENS — palette + font overrides\n//\n// Neo-brutalism is defined as much by its palette/typography as by its\n// borders and shadows. Without these overrides, the theme inherited the\n// host's corporate primary (a soft sky blue) and the host font stack\n// (Inter), which fought the brutalist DNA — heavy borders + hard shadows\n// against a polite, conventional palette read as \"shadcn with extra\n// outlines\" rather than the neobrutalism.dev v3 reference.\n//\n// `requiredCustomTokens` is consumed by UIContext at theme-apply time\n// (see `mergeThemeRequiredCustomTokens` + `applyCustomTokens`), which\n// writes each entry as `--<key>: <value>` onto `document.documentElement`\n// via `style.setProperty`. Inline-style precedence (1,0,0,0) beats the\n// `:root` rules emitted by the design-token CSS generator (0,1,0), so\n// these declarations override the standard `--primary`, `--background`,\n// etc. tokens for the lifetime of the theme.\n//\n// Palette is derived from neobrutalism.dev v3 reference variables:\n// --main: #88aaee (light) / #4a7dde (dark) → primary brutalist blue\n// --bg: #f5f5f5 (light) / #272933 (dark) → page background\n// --text: #000 (light) / #fff (dark) → high-contrast foreground\n// --border: same as text → \"drawn-with-marker\" outlines\n// ============================================================\n\nfunction colorOverride(lightOklch: string, darkOklch: string): DesignTokenConfiguration {\n return {\n type: DesignTokenValueType.COLOR,\n modeStrategy: DesignTokenModeStrategy.LIGHT_DARK,\n lightValue: lightOklch,\n darkValue: darkOklch,\n };\n}\n\nfunction colorSingle(oklch: string): DesignTokenConfiguration {\n return {\n type: DesignTokenValueType.COLOR,\n modeStrategy: DesignTokenModeStrategy.SINGLE,\n value: oklch,\n };\n}\n\nfunction stringSingle(value: string): DesignTokenConfiguration {\n return {\n type: DesignTokenValueType.STRING,\n modeStrategy: DesignTokenModeStrategy.SINGLE,\n value,\n };\n}\n\nconst requiredCustomTokens: Record<string, DesignTokenConfiguration> = {\n // === Brutalist blue (~#88aaee in light, ~#7da0e8 in dark) — the chrome\n // accent on which cards, popovers, dropdowns and tooltips paint themselves.\n //\n // Both lightness values are deliberately above L≈0.68 so the always-black\n // primary-foreground keeps a comfortable ≥4.5:1 contrast (WCAG AA body).\n // An earlier draft used L=0.58 in dark, which dipped to ~3.9:1 — the\n // brutalist DNA explicitly demands \"high contrast everything\", so we trade\n // a touch of dark-mode chroma for legibility instead of switching the text\n // to white (which would soften the brutalist look).\n primary: colorOverride('0.74 0.115 264', '0.70 0.135 264'),\n // Pure black on the chrome accent — brutalism is high contrast, not soft.\n 'primary-foreground': colorSingle('0 0 0'),\n\n // === Page background: warm off-white in light, deep slate in dark\n // (matches neobrutalism.dev `--bg` / `--bg-dark` variables).\n background: colorOverride('0.965 0 0', '0.272 0.013 280'),\n // === Body text: pure black on light, pure white on dark — high contrast\n // is non-negotiable for the brutalist style.\n foreground: colorOverride('0 0 0', '1 0 0'),\n\n // === Borders + focus rings: same as foreground so the 2px outlines read\n // as \"drawn with a marker\" and the focus ring picks up the same color.\n border: colorOverride('0 0 0', '1 0 0'),\n ring: colorOverride('0 0 0', '1 0 0'),\n input: colorOverride('0 0 0', '1 0 0'),\n\n // === Secondary surface: pure white in light (the classic \"white card\"),\n // and the same deep slate as bg in dark for visual continuity.\n secondary: colorOverride('1 0 0', '0.21 0.013 280'),\n 'secondary-foreground': colorOverride('0 0 0', '1 0 0'),\n\n // === Muted backgrounds: a faint blue tint of the primary so muted\n // surfaces stay \"in the family\" instead of going neutral grey.\n muted: colorOverride('0.95 0.015 264', '0.32 0.02 280'),\n 'muted-foreground': colorOverride('0.30 0.02 264', '0.78 0.02 264'),\n\n // === Destructive: hot brutalist red (#ff3838) — the OG \"stop\" color, not\n // the muted desaturated red the corporate default ships.\n destructive: colorOverride('0.65 0.26 27', '0.62 0.26 27'),\n 'destructive-foreground': colorSingle('1 0 0'),\n\n // === Accent (the rotating gradient stops): keep them in the brutalist\n // blue family rather than violet/blue/pink — uniform color story. Dark\n // value matches `primary` (0.70) so the gradient stays bright on dark\n // backgrounds where ACCENT chrome is most visible.\n 'accent-gradient-from': colorOverride('0.74 0.115 264', '0.70 0.135 264'),\n 'accent-gradient-via': colorOverride('0.85 0.18 90', '0.80 0.20 90'), // electric yellow midpoint\n 'accent-gradient-to': colorOverride('0.62 0.24 0', '0.58 0.26 0'), // hot pink endpoint\n\n // === Font stack: prefer architectural / monospaced-leaning families that\n // ship with most OSes, falling through to system. The brutalist DNA still\n // mostly comes from the borders + shadows + colors, but a more rigid\n // letterform reinforces it. Hosts wanting full fidelity (Public Sans,\n // Archivo Black, IBM Plex Sans) should @font-face them in app CSS — the\n // declarations below will pick them up automatically once available.\n 'font-body': stringSingle(\"'Public Sans', 'IBM Plex Sans', Inter, ui-sans-serif, system-ui, sans-serif\"),\n 'font-heading': stringSingle(\"'Archivo Black', 'Public Sans', 'IBM Plex Sans', Inter, ui-sans-serif, system-ui, sans-serif\"),\n};\n\nexport const neoBrutalistTheme: ComponentStyleTheme = {\n id: 'neo-brutalist',\n name: 'Neo-Brutalist',\n description: 'Based on neobrutalism.dev v3. 2px borders, 4px hard-offset shadows, 5px radius, 700/500 font weight split, heavy 80% overlay, primary-colored dropdowns/tooltips. Ships its own brutalist palette (#88aaee chrome blue, pure black/white duotone, hot red destructive) and architectural font stack via requiredCustomTokens — host palette/fonts are fully overridden when this theme is active.',\n\n requiredCustomTokens,\n spacing,\n\n interactive,\n surface,\n formControl,\n indicator,\n selectable,\n overlayBackdrop,\n divider,\n skeleton,\n loadingSpinner,\n loadingOverlay,\n typography,\n radius: '5px',\n backgroundLayer: undefined,\n chartStyle: {\n colorShadeLight: 600,\n colorShadeDark: 500,\n gridPadding: { top: 30, right: 20, bottom: 30, left: 60 },\n axis: { showAxisLine: true, showTicks: true, splitLineType: 'solid', hideOverlap: true, yAxisNameLocation: 'middle', yAxisNameGap: 50 },\n tooltip: { extraCss: 'border: 2px solid currentColor; box-shadow: 4px 4px 0 currentColor;', borderWidth: 0 },\n animation: { enabled: true, durationMs: 100, easing: 'linear' },\n series: { lineWidth: 3, pointSize: 6, areaOpacity: 0.4, barBorderRadius: 0, pieBorderWidth: 3 },\n typography: { titleFontSize: 18, titleFontWeight: 800, subtitleFontSize: 14, legendFontSize: 13, tooltipFontSize: 13, axisLabelFontSize: 12, axisNameFontSize: 13 },\n emphasis: { shadowBlur: 0, shadowColor: 'transparent', shadowOffsetX: 0 },\n responsive: { smallMaxWidth: 400, mediumMaxWidth: 799, smallGridPadding: { top: 20, right: 10, bottom: 20, left: 30 }, mediumGridPadding: { left: 50, right: 20, bottom: 40 }, hideLegendOnSmall: true, smallAxisLabelRotate: 45, smallFontSize: 11, mediumFontSize: 12 },\n multiSeriesLegendBottomPadding: 50,\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.theme.d.ts","sourceRoot":"","sources":["../../../../src/themes/terminal.theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAA4B,MAAM,qCAAqC,CAAC;AAgqBzG,eAAO,MAAM,aAAa,EAAE,mBAgE3B,CAAC"}
1
+ {"version":3,"file":"terminal.theme.d.ts","sourceRoot":"","sources":["../../../src/themes/terminal.theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAA4B,MAAM,qCAAqC,CAAC;AAuqBzG,eAAO,MAAM,aAAa,EAAE,mBAgE3B,CAAC"}