@wildo-ai/presets-components 1.1.3 → 1.1.5

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 (707) hide show
  1. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  2. package/dist/esm/components/actions/action-bar.js +61 -7
  3. package/dist/esm/components/actions/action-bar.js.map +1 -1
  4. package/dist/esm/components/actions/action-bar.labels.d.ts.map +1 -1
  5. package/dist/esm/components/actions/action-button.d.ts.map +1 -1
  6. package/dist/esm/components/actions/action-button.js +3 -3
  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.js +62 -3
  12. package/dist/esm/components/actions/button.js.map +1 -1
  13. package/dist/esm/components/actions/button.labels.d.ts.map +1 -1
  14. package/dist/esm/components/ai-elements/artifacts/artifact-browser.d.ts.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.js +1 -1
  19. package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
  20. package/dist/esm/components/ai-elements/artifacts/code-block.labels.d.ts.map +1 -1
  21. package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts +4 -0
  22. package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts.map +1 -0
  23. package/dist/esm/components/ai-elements/artifacts/diff-block.js +165 -0
  24. package/dist/esm/components/ai-elements/artifacts/diff-block.js.map +1 -0
  25. package/dist/esm/components/ai-elements/artifacts/diff-block.labels.d.ts +3 -0
  26. package/dist/esm/components/ai-elements/artifacts/diff-block.labels.d.ts.map +1 -0
  27. package/dist/esm/components/ai-elements/artifacts/diff-block.labels.js +63 -0
  28. package/dist/esm/components/ai-elements/artifacts/diff-block.labels.js.map +1 -0
  29. package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
  30. package/dist/esm/components/ai-elements/artifacts/image.labels.d.ts.map +1 -1
  31. package/dist/esm/components/ai-elements/artifacts/shiki-highlighter-runtime.d.ts.map +1 -1
  32. package/dist/esm/components/ai-elements/artifacts/shiki-highlighter.lazy.d.ts.map +1 -1
  33. package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
  34. package/dist/esm/components/ai-elements/artifacts/web-preview.labels.d.ts.map +1 -1
  35. package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
  36. package/dist/esm/components/ai-elements/chat/conversation.labels.d.ts.map +1 -1
  37. package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
  38. package/dist/esm/components/ai-elements/chat/message.labels.d.ts.map +1 -1
  39. package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
  40. package/dist/esm/components/ai-elements/chat/prompt-input.labels.d.ts.map +1 -1
  41. package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
  42. package/dist/esm/components/ai-elements/chat/sources.labels.d.ts.map +1 -1
  43. package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
  44. package/dist/esm/components/ai-elements/chat/suggestion.labels.d.ts.map +1 -1
  45. package/dist/esm/components/ai-elements/decision/approval-argument-fields.d.ts +68 -0
  46. package/dist/esm/components/ai-elements/decision/approval-argument-fields.d.ts.map +1 -0
  47. package/dist/esm/components/ai-elements/decision/approval-argument-fields.js +208 -0
  48. package/dist/esm/components/ai-elements/decision/approval-argument-fields.js.map +1 -0
  49. package/dist/esm/components/ai-elements/decision/approval.d.ts +36 -4
  50. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  51. package/dist/esm/components/ai-elements/decision/approval.js +77 -7
  52. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  53. package/dist/esm/components/ai-elements/decision/decision-request.d.ts.map +1 -1
  54. package/dist/esm/components/ai-elements/decision/decision-request.labels.d.ts.map +1 -1
  55. package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
  56. package/dist/esm/components/ai-elements/execution/confirmation.labels.d.ts.map +1 -1
  57. package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
  58. package/dist/esm/components/ai-elements/execution/queue.labels.d.ts.map +1 -1
  59. package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
  60. package/dist/esm/components/ai-elements/execution/task.js +1 -1
  61. package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
  62. package/dist/esm/components/ai-elements/execution/task.labels.d.ts.map +1 -1
  63. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  64. package/dist/esm/components/ai-elements/execution/tool.js +8 -1
  65. package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
  66. package/dist/esm/components/ai-elements/execution/tool.labels.d.ts.map +1 -1
  67. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  68. package/dist/esm/components/ai-elements/graph/canvas.labels.d.ts.map +1 -1
  69. package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
  70. package/dist/esm/components/ai-elements/graph/connection.labels.d.ts.map +1 -1
  71. package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
  72. package/dist/esm/components/ai-elements/graph/controls.labels.d.ts.map +1 -1
  73. package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
  74. package/dist/esm/components/ai-elements/graph/edge.labels.d.ts.map +1 -1
  75. package/dist/esm/components/ai-elements/graph/graph-runtime.d.ts.map +1 -1
  76. package/dist/esm/components/ai-elements/graph/graph.lazy.d.ts.map +1 -1
  77. package/dist/esm/components/ai-elements/graph/graph.lazy.js +15 -15
  78. package/dist/esm/components/ai-elements/graph/graph.lazy.js.map +1 -1
  79. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  80. package/dist/esm/components/ai-elements/graph/node.labels.d.ts.map +1 -1
  81. package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
  82. package/dist/esm/components/ai-elements/graph/panel.labels.d.ts.map +1 -1
  83. package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
  84. package/dist/esm/components/ai-elements/graph/toolbar.labels.d.ts.map +1 -1
  85. package/dist/esm/components/ai-elements/meta/agent.d.ts +0 -1
  86. package/dist/esm/components/ai-elements/meta/agent.d.ts.map +1 -1
  87. package/dist/esm/components/ai-elements/meta/agent.js +23 -18
  88. package/dist/esm/components/ai-elements/meta/agent.js.map +1 -1
  89. package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
  90. package/dist/esm/components/ai-elements/meta/context.labels.d.ts.map +1 -1
  91. package/dist/esm/components/ai-elements/meta/context.lazy.d.ts.map +1 -1
  92. package/dist/esm/components/ai-elements/meta/context.lazy.js +13 -11
  93. package/dist/esm/components/ai-elements/meta/context.lazy.js.map +1 -1
  94. package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
  95. package/dist/esm/components/ai-elements/meta/model-selector.labels.d.ts.map +1 -1
  96. package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
  97. package/dist/esm/components/ai-elements/meta/open-in-chat.labels.d.ts.map +1 -1
  98. package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
  99. package/dist/esm/components/ai-elements/shared/loader.labels.d.ts.map +1 -1
  100. package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
  101. package/dist/esm/components/ai-elements/shared/shimmer.labels.d.ts.map +1 -1
  102. package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
  103. package/dist/esm/components/ai-elements/stream/execution-stream.labels.d.ts.map +1 -1
  104. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts +6 -0
  105. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
  106. package/dist/esm/components/ai-elements/trace/chain-of-thought.js +13 -1
  107. package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
  108. package/dist/esm/components/ai-elements/trace/chain-of-thought.labels.d.ts.map +1 -1
  109. package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
  110. package/dist/esm/components/ai-elements/trace/checkpoint.labels.d.ts.map +1 -1
  111. package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
  112. package/dist/esm/components/ai-elements/trace/inline-citation.labels.d.ts.map +1 -1
  113. package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
  114. package/dist/esm/components/ai-elements/trace/plan.labels.d.ts.map +1 -1
  115. package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
  116. package/dist/esm/components/ai-elements/trace/reasoning.labels.d.ts.map +1 -1
  117. package/dist/esm/components/app/app-layout-consent-gate.d.ts +23 -0
  118. package/dist/esm/components/app/app-layout-consent-gate.d.ts.map +1 -0
  119. package/dist/esm/components/app/app-layout-consent-gate.js +133 -0
  120. package/dist/esm/components/app/app-layout-consent-gate.js.map +1 -0
  121. package/dist/esm/components/app/app-layout-document-acceptance-gate.d.ts +19 -0
  122. package/dist/esm/components/app/app-layout-document-acceptance-gate.d.ts.map +1 -0
  123. package/dist/esm/components/app/app-layout-document-acceptance-gate.js +56 -0
  124. package/dist/esm/components/app/app-layout-document-acceptance-gate.js.map +1 -0
  125. package/dist/esm/components/app/app-layout-main-container.d.ts.map +1 -1
  126. package/dist/esm/components/app/app-layout-main-container.labels.d.ts.map +1 -1
  127. package/dist/esm/components/app/app-layout-main-container.labels.js +21 -0
  128. package/dist/esm/components/app/app-layout-main-container.labels.js.map +1 -1
  129. package/dist/esm/components/app/public-layout-main-container.d.ts +1 -1
  130. package/dist/esm/components/app/public-layout-main-container.d.ts.map +1 -1
  131. package/dist/esm/components/app/public-layout-main-container.js +9 -8
  132. package/dist/esm/components/app/public-layout-main-container.js.map +1 -1
  133. package/dist/esm/components/app/public-layout-main-container.labels.d.ts.map +1 -1
  134. package/dist/esm/components/app/public-layout-terms.d.ts +46 -0
  135. package/dist/esm/components/app/public-layout-terms.d.ts.map +1 -0
  136. package/dist/esm/components/app/public-layout-terms.js +137 -0
  137. package/dist/esm/components/app/public-layout-terms.js.map +1 -0
  138. package/dist/esm/components/billing/billing-format.utils.d.ts.map +1 -1
  139. package/dist/esm/components/billing/billing-invoice-history.d.ts +1 -1
  140. package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
  141. package/dist/esm/components/billing/billing-invoice-history.js +3 -1
  142. package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
  143. package/dist/esm/components/billing/billing-invoice-history.labels.d.ts.map +1 -1
  144. package/dist/esm/components/billing/billing-invoice-history.labels.js +1 -0
  145. package/dist/esm/components/billing/billing-invoice-history.labels.js.map +1 -1
  146. package/dist/esm/components/billing/billing-plan-change-preview.d.ts +5 -0
  147. package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +1 -0
  148. package/dist/esm/components/billing/billing-plan-change-preview.js +22 -0
  149. package/dist/esm/components/billing/billing-plan-change-preview.js.map +1 -0
  150. package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts +3 -0
  151. package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts.map +1 -0
  152. package/dist/esm/components/billing/billing-plan-change-preview.labels.js +19 -0
  153. package/dist/esm/components/billing/billing-plan-change-preview.labels.js.map +1 -0
  154. package/dist/esm/components/billing/billing-portal-link.d.ts +1 -1
  155. package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
  156. package/dist/esm/components/billing/billing-portal-link.js +3 -1
  157. package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
  158. package/dist/esm/components/billing/billing-portal-link.labels.d.ts.map +1 -1
  159. package/dist/esm/components/billing/billing-portal-link.labels.js +1 -0
  160. package/dist/esm/components/billing/billing-portal-link.labels.js.map +1 -1
  161. package/dist/esm/components/billing/billing-pricing-table.d.ts +1 -1
  162. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  163. package/dist/esm/components/billing/billing-pricing-table.js +4 -2
  164. package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
  165. package/dist/esm/components/billing/billing-pricing-table.labels.d.ts.map +1 -1
  166. package/dist/esm/components/billing/billing-pricing-table.labels.js +1 -0
  167. package/dist/esm/components/billing/billing-pricing-table.labels.js.map +1 -1
  168. package/dist/esm/components/billing/billing-subscription-status.d.ts +1 -1
  169. package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
  170. package/dist/esm/components/billing/billing-subscription-status.js +3 -1
  171. package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
  172. package/dist/esm/components/billing/billing-subscription-status.labels.d.ts.map +1 -1
  173. package/dist/esm/components/billing/billing-subscription-status.labels.js +1 -0
  174. package/dist/esm/components/billing/billing-subscription-status.labels.js.map +1 -1
  175. package/dist/esm/components/billing/billing-usage-dashboard.d.ts +1 -1
  176. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  177. package/dist/esm/components/billing/billing-usage-dashboard.js +4 -4
  178. package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
  179. package/dist/esm/components/billing/billing-usage-dashboard.labels.d.ts.map +1 -1
  180. package/dist/esm/components/billing/billing-usage-dashboard.labels.js +2 -0
  181. package/dist/esm/components/billing/billing-usage-dashboard.labels.js.map +1 -1
  182. package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
  183. package/dist/esm/components/data-display/avatar.labels.d.ts.map +1 -1
  184. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  185. package/dist/esm/components/data-display/badge.js +16 -15
  186. package/dist/esm/components/data-display/badge.js.map +1 -1
  187. package/dist/esm/components/data-display/badge.labels.d.ts.map +1 -1
  188. package/dist/esm/components/data-display/description-list.d.ts +2 -1
  189. package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
  190. package/dist/esm/components/data-display/description-list.js +24 -8
  191. package/dist/esm/components/data-display/description-list.js.map +1 -1
  192. package/dist/esm/components/data-display/description-list.labels.d.ts.map +1 -1
  193. package/dist/esm/components/data-display/duration.d.ts +15 -0
  194. package/dist/esm/components/data-display/duration.d.ts.map +1 -0
  195. package/dist/esm/components/data-display/duration.js +50 -0
  196. package/dist/esm/components/data-display/duration.js.map +1 -0
  197. package/dist/esm/components/data-display/duration.labels.d.ts +15 -0
  198. package/dist/esm/components/data-display/duration.labels.d.ts.map +1 -0
  199. package/dist/esm/components/data-display/duration.labels.js +35 -0
  200. package/dist/esm/components/data-display/duration.labels.js.map +1 -0
  201. package/dist/esm/components/data-display/formatters/display-field-address.d.ts +21 -0
  202. package/dist/esm/components/data-display/formatters/display-field-address.d.ts.map +1 -0
  203. package/dist/esm/components/data-display/formatters/display-field-address.js +75 -0
  204. package/dist/esm/components/data-display/formatters/display-field-address.js.map +1 -0
  205. package/dist/esm/components/data-display/formatters/display-field-address.labels.d.ts +3 -0
  206. package/dist/esm/components/data-display/formatters/display-field-address.labels.d.ts.map +1 -0
  207. package/dist/esm/components/data-display/formatters/display-field-address.labels.js +13 -0
  208. package/dist/esm/components/data-display/formatters/display-field-address.labels.js.map +1 -0
  209. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
  210. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js +6 -2
  211. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
  212. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.labels.d.ts.map +1 -1
  213. package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
  214. package/dist/esm/components/data-display/formatters/display-field-boolean.js +2 -2
  215. package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
  216. package/dist/esm/components/data-display/formatters/display-field-boolean.labels.d.ts.map +1 -1
  217. package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
  218. package/dist/esm/components/data-display/formatters/display-field-code.js +2 -2
  219. package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
  220. package/dist/esm/components/data-display/formatters/display-field-code.labels.d.ts.map +1 -1
  221. package/dist/esm/components/data-display/formatters/display-field-date.d.ts +3 -3
  222. package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
  223. package/dist/esm/components/data-display/formatters/display-field-date.js +17 -4
  224. package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
  225. package/dist/esm/components/data-display/formatters/display-field-date.labels.d.ts.map +1 -1
  226. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts +3 -3
  227. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
  228. package/dist/esm/components/data-display/formatters/display-field-datetime.js +17 -4
  229. package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
  230. package/dist/esm/components/data-display/formatters/display-field-datetime.labels.d.ts.map +1 -1
  231. package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
  232. package/dist/esm/components/data-display/formatters/display-field-duration.labels.d.ts.map +1 -1
  233. package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
  234. package/dist/esm/components/data-display/formatters/display-field-enum.js +12 -8
  235. package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
  236. package/dist/esm/components/data-display/formatters/display-field-enum.labels.d.ts.map +1 -1
  237. package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
  238. package/dist/esm/components/data-display/formatters/display-field-file-audio.js +2 -1
  239. package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
  240. package/dist/esm/components/data-display/formatters/display-field-file-audio.labels.d.ts.map +1 -1
  241. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts +4 -1
  242. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
  243. package/dist/esm/components/data-display/formatters/display-field-file-document.js +18 -5
  244. package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
  245. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.d.ts.map +1 -1
  246. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.js +20 -0
  247. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.js.map +1 -1
  248. package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
  249. package/dist/esm/components/data-display/formatters/display-field-file-gallery.labels.d.ts.map +1 -1
  250. package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
  251. package/dist/esm/components/data-display/formatters/display-field-file-image.js +3 -1
  252. package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
  253. package/dist/esm/components/data-display/formatters/display-field-file-image.labels.d.ts.map +1 -1
  254. package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
  255. package/dist/esm/components/data-display/formatters/display-field-file-video.labels.d.ts.map +1 -1
  256. package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
  257. package/dist/esm/components/data-display/formatters/display-field-file.js +2 -2
  258. package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
  259. package/dist/esm/components/data-display/formatters/display-field-file.labels.d.ts.map +1 -1
  260. package/dist/esm/components/data-display/formatters/display-field-file.labels.js +1 -0
  261. package/dist/esm/components/data-display/formatters/display-field-file.labels.js.map +1 -1
  262. package/dist/esm/components/data-display/formatters/display-field-format.utils.d.ts.map +1 -1
  263. package/dist/esm/components/data-display/formatters/display-field-i18n.utils.d.ts.map +1 -1
  264. package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
  265. package/dist/esm/components/data-display/formatters/display-field-money.labels.d.ts.map +1 -1
  266. package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
  267. package/dist/esm/components/data-display/formatters/display-field-number.js +2 -2
  268. package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
  269. package/dist/esm/components/data-display/formatters/display-field-number.labels.d.ts.map +1 -1
  270. package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
  271. package/dist/esm/components/data-display/formatters/display-field-phone.labels.d.ts.map +1 -1
  272. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
  273. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.labels.d.ts.map +1 -1
  274. package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
  275. package/dist/esm/components/data-display/formatters/display-field-range-date.labels.d.ts.map +1 -1
  276. package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
  277. package/dist/esm/components/data-display/formatters/display-field-range-datetime.labels.d.ts.map +1 -1
  278. package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
  279. package/dist/esm/components/data-display/formatters/display-field-range-money.labels.d.ts.map +1 -1
  280. package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
  281. package/dist/esm/components/data-display/formatters/display-field-range-number.labels.d.ts.map +1 -1
  282. package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
  283. package/dist/esm/components/data-display/formatters/display-field-range-time.labels.d.ts.map +1 -1
  284. package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
  285. package/dist/esm/components/data-display/formatters/display-field-string.js +82 -7
  286. package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
  287. package/dist/esm/components/data-display/formatters/display-field-string.labels.d.ts.map +1 -1
  288. package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
  289. package/dist/esm/components/data-display/formatters/display-field-time.labels.d.ts.map +1 -1
  290. package/dist/esm/components/data-display/identifier.d.ts +19 -0
  291. package/dist/esm/components/data-display/identifier.d.ts.map +1 -0
  292. package/dist/esm/components/data-display/identifier.js +21 -0
  293. package/dist/esm/components/data-display/identifier.js.map +1 -0
  294. package/dist/esm/components/data-display/kbd.d.ts +17 -0
  295. package/dist/esm/components/data-display/kbd.d.ts.map +1 -0
  296. package/dist/esm/components/data-display/kbd.js +18 -0
  297. package/dist/esm/components/data-display/kbd.js.map +1 -0
  298. package/dist/esm/components/data-display/markdown-content.d.ts.map +1 -1
  299. package/dist/esm/components/data-display/markdown-stream-runtime.d.ts.map +1 -1
  300. package/dist/esm/components/data-display/markdown-stream.lazy.d.ts.map +1 -1
  301. package/dist/esm/components/data-display/markdown-stream.lazy.js +13 -2
  302. package/dist/esm/components/data-display/markdown-stream.lazy.js.map +1 -1
  303. package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
  304. package/dist/esm/components/data-display/notification-indicator.js +3 -11
  305. package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
  306. package/dist/esm/components/data-display/notification-indicator.labels.d.ts.map +1 -1
  307. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.d.ts +63 -0
  308. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.d.ts.map +1 -0
  309. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.js +75 -0
  310. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.js.map +1 -0
  311. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.d.ts +32 -0
  312. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.d.ts.map +1 -0
  313. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.js +36 -0
  314. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.js.map +1 -0
  315. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts +46 -6
  316. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts.map +1 -1
  317. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.js +70 -46
  318. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.js.map +1 -1
  319. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts +12 -2
  320. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts.map +1 -1
  321. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.js +3 -2
  322. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.js.map +1 -1
  323. package/dist/esm/components/data-display/timeline.d.ts +3 -0
  324. package/dist/esm/components/data-display/timeline.d.ts.map +1 -0
  325. package/dist/esm/components/data-display/timeline.js +92 -0
  326. package/dist/esm/components/data-display/timeline.js.map +1 -0
  327. package/dist/esm/components/feedback/celebration-overlay.d.ts +13 -4
  328. package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
  329. package/dist/esm/components/feedback/celebration-overlay.js +146 -22
  330. package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
  331. package/dist/esm/components/feedback/celebration-overlay.labels.d.ts.map +1 -1
  332. package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
  333. package/dist/esm/components/feedback/danger-zone.labels.d.ts.map +1 -1
  334. package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
  335. package/dist/esm/components/feedback/empty-state.js +11 -1
  336. package/dist/esm/components/feedback/empty-state.js.map +1 -1
  337. package/dist/esm/components/feedback/empty-state.labels.d.ts.map +1 -1
  338. package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
  339. package/dist/esm/components/feedback/error-display.labels.d.ts.map +1 -1
  340. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  341. package/dist/esm/components/feedback/features/feature-limit-indicator.labels.d.ts.map +1 -1
  342. package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
  343. package/dist/esm/components/feedback/features/feature-lock-badge.labels.d.ts.map +1 -1
  344. package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
  345. package/dist/esm/components/feedback/features/feature-unavailable-dialog.labels.d.ts.map +1 -1
  346. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
  347. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
  348. package/dist/esm/components/feedback/features/feature-unavailable-prompt.labels.d.ts.map +1 -1
  349. package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
  350. package/dist/esm/components/feedback/loading-overlay.labels.d.ts.map +1 -1
  351. package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
  352. package/dist/esm/components/feedback/loading-spinner.labels.d.ts.map +1 -1
  353. package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
  354. package/dist/esm/components/feedback/notification-center.js +6 -6
  355. package/dist/esm/components/feedback/notification-center.js.map +1 -1
  356. package/dist/esm/components/feedback/operations-confirm-critical.d.ts +1 -1
  357. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  358. package/dist/esm/components/feedback/operations-confirm-critical.js +9 -7
  359. package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
  360. package/dist/esm/components/feedback/operations-confirm-critical.labels.d.ts.map +1 -1
  361. package/dist/esm/components/feedback/progress.d.ts.map +1 -1
  362. package/dist/esm/components/feedback/progress.labels.d.ts.map +1 -1
  363. package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
  364. package/dist/esm/components/feedback/skeleton.labels.d.ts.map +1 -1
  365. package/dist/esm/components/feedback/toast.d.ts.map +1 -1
  366. package/dist/esm/components/feedback/toast.labels.d.ts.map +1 -1
  367. package/dist/esm/components/form/autosave-indicator.d.ts.map +1 -1
  368. package/dist/esm/components/form/autosave-indicator.labels.d.ts.map +1 -1
  369. package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
  370. package/dist/esm/components/form/chromes/field.js +11 -3
  371. package/dist/esm/components/form/chromes/field.js.map +1 -1
  372. package/dist/esm/components/form/chromes/field.labels.d.ts.map +1 -1
  373. package/dist/esm/components/form/chromes/form-primitive.d.ts.map +1 -1
  374. package/dist/esm/components/form/chromes/form-primitive.labels.d.ts.map +1 -1
  375. package/dist/esm/components/form/chromes/form-primitive.labels.js +28 -0
  376. package/dist/esm/components/form/chromes/form-primitive.labels.js.map +1 -1
  377. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  378. package/dist/esm/components/form/combobox.js +4 -3
  379. package/dist/esm/components/form/combobox.js.map +1 -1
  380. package/dist/esm/components/form/combobox.labels.d.ts.map +1 -1
  381. package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
  382. package/dist/esm/components/form/controls/boolean/checkbox.js +2 -2
  383. package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
  384. package/dist/esm/components/form/controls/boolean/checkbox.labels.d.ts.map +1 -1
  385. package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
  386. package/dist/esm/components/form/controls/boolean/switch.labels.d.ts.map +1 -1
  387. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
  388. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.labels.d.ts.map +1 -1
  389. package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
  390. package/dist/esm/components/form/controls/boolean/toggle.labels.d.ts.map +1 -1
  391. package/dist/esm/components/form/controls/code-editor/cm6-editor-appearance.d.ts.map +1 -1
  392. package/dist/esm/components/form/controls/code-editor/cm6-editor.d.ts.map +1 -1
  393. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.d.ts.map +1 -1
  394. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.js +11 -2
  395. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.js.map +1 -1
  396. package/dist/esm/components/form/controls/code-editor/form-field-code.d.ts.map +1 -1
  397. package/dist/esm/components/form/controls/code-editor/markdown-editor.d.ts.map +1 -1
  398. package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
  399. package/dist/esm/components/form/controls/date-time/calendar.labels.d.ts.map +1 -1
  400. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  401. package/dist/esm/components/form/controls/date-time/date-range-picker.labels.d.ts.map +1 -1
  402. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  403. package/dist/esm/components/form/controls/date-time/datepicker.labels.d.ts.map +1 -1
  404. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  405. package/dist/esm/components/form/controls/date-time/datetime-picker.labels.d.ts.map +1 -1
  406. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  407. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.d.ts.map +1 -1
  408. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.js +11 -2
  409. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.js.map +1 -1
  410. package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
  411. package/dist/esm/components/form/controls/date-time/time-picker.labels.d.ts.map +1 -1
  412. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  413. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.d.ts.map +1 -1
  414. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.js +11 -2
  415. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.js.map +1 -1
  416. package/dist/esm/components/form/controls/enum/radio.d.ts +1 -1
  417. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  418. package/dist/esm/components/form/controls/enum/radio.js +13 -12
  419. package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
  420. package/dist/esm/components/form/controls/enum/radio.labels.d.ts.map +1 -1
  421. package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
  422. package/dist/esm/components/form/controls/enum/select-multiple.js +5 -3
  423. package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
  424. package/dist/esm/components/form/controls/enum/select-multiple.labels.d.ts.map +1 -1
  425. package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
  426. package/dist/esm/components/form/controls/enum/select.labels.d.ts.map +1 -1
  427. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  428. package/dist/esm/components/form/controls/enum/toggle-group.js +96 -5
  429. package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
  430. package/dist/esm/components/form/controls/enum/toggle-group.labels.d.ts.map +1 -1
  431. package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
  432. package/dist/esm/components/form/controls/file/file-upload.labels.d.ts.map +1 -1
  433. package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
  434. package/dist/esm/components/form/controls/file/image-crop.labels.d.ts.map +1 -1
  435. package/dist/esm/components/form/controls/file/providers/dropbox-picker.d.ts +44 -0
  436. package/dist/esm/components/form/controls/file/providers/dropbox-picker.d.ts.map +1 -0
  437. package/dist/esm/components/form/controls/file/providers/dropbox-picker.js +137 -0
  438. package/dist/esm/components/form/controls/file/providers/dropbox-picker.js.map +1 -0
  439. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.d.ts +22 -0
  440. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.d.ts.map +1 -0
  441. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.js +27 -0
  442. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.js.map +1 -0
  443. package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts +54 -0
  444. package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts.map +1 -0
  445. package/dist/esm/components/form/controls/file/providers/google-drive-picker.js +159 -0
  446. package/dist/esm/components/form/controls/file/providers/google-drive-picker.js.map +1 -0
  447. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts +22 -0
  448. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts.map +1 -0
  449. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js +27 -0
  450. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js.map +1 -0
  451. package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts +41 -0
  452. package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts.map +1 -0
  453. package/dist/esm/components/form/controls/file/providers/onedrive-picker.js +129 -0
  454. package/dist/esm/components/form/controls/file/providers/onedrive-picker.js.map +1 -0
  455. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts +22 -0
  456. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts.map +1 -0
  457. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js +27 -0
  458. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js.map +1 -0
  459. package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
  460. package/dist/esm/components/form/controls/input-group.labels.d.ts.map +1 -1
  461. package/dist/esm/components/form/controls/input.d.ts.map +1 -1
  462. package/dist/esm/components/form/controls/input.labels.d.ts.map +1 -1
  463. package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
  464. package/dist/esm/components/form/controls/number/slider.labels.d.ts.map +1 -1
  465. package/dist/esm/components/form/controls/number/slider.labels.js +9 -2
  466. package/dist/esm/components/form/controls/number/slider.labels.js.map +1 -1
  467. package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
  468. package/dist/esm/components/form/controls/string/color-input.labels.d.ts.map +1 -1
  469. package/dist/esm/components/form/controls/string/color-picker-surface.d.ts.map +1 -1
  470. package/dist/esm/components/form/controls/string/color-picker-surface.js.map +1 -1
  471. package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
  472. package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
  473. package/dist/esm/components/form/controls/string/input-otp.labels.d.ts.map +1 -1
  474. package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
  475. package/dist/esm/components/form/controls/string/password-input.labels.d.ts.map +1 -1
  476. package/dist/esm/components/form/controls/string/password-input.labels.js +9 -2
  477. package/dist/esm/components/form/controls/string/password-input.labels.js.map +1 -1
  478. package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
  479. package/dist/esm/components/form/controls/string/textarea.labels.d.ts.map +1 -1
  480. package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
  481. package/dist/esm/components/layout/aspect-ratio.labels.d.ts.map +1 -1
  482. package/dist/esm/components/layout/carousel.d.ts.map +1 -1
  483. package/dist/esm/components/layout/carousel.labels.d.ts.map +1 -1
  484. package/dist/esm/components/layout/divider.d.ts.map +1 -1
  485. package/dist/esm/components/layout/divider.labels.d.ts.map +1 -1
  486. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  487. package/dist/esm/components/layout/resizable.labels.d.ts.map +1 -1
  488. package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
  489. package/dist/esm/components/layout/scroll-area.labels.d.ts.map +1 -1
  490. package/dist/esm/components/layout/separator.d.ts.map +1 -1
  491. package/dist/esm/components/layout/separator.labels.d.ts.map +1 -1
  492. package/dist/esm/components/navigation/app-level/activity-bar.d.ts.map +1 -1
  493. package/dist/esm/components/navigation/app-level/activity-bar.labels.d.ts.map +1 -1
  494. package/dist/esm/components/navigation/app-level/command-menu.d.ts.map +1 -1
  495. package/dist/esm/components/navigation/app-level/command-menu.js +2 -2
  496. package/dist/esm/components/navigation/app-level/command-menu.js.map +1 -1
  497. package/dist/esm/components/navigation/app-level/command-menu.labels.d.ts.map +1 -1
  498. package/dist/esm/components/navigation/app-level/control-panel.d.ts.map +1 -1
  499. package/dist/esm/components/navigation/app-level/control-panel.labels.d.ts.map +1 -1
  500. package/dist/esm/components/navigation/app-level/menu-user-org.d.ts.map +1 -1
  501. package/dist/esm/components/navigation/app-level/menu-user-org.labels.d.ts.map +1 -1
  502. package/dist/esm/components/navigation/app-level/menubar.d.ts.map +1 -1
  503. package/dist/esm/components/navigation/app-level/menubar.js +35 -13
  504. package/dist/esm/components/navigation/app-level/menubar.js.map +1 -1
  505. package/dist/esm/components/navigation/app-level/menubar.labels.d.ts.map +1 -1
  506. package/dist/esm/components/navigation/app-level/navigation-back.d.ts.map +1 -1
  507. package/dist/esm/components/navigation/app-level/navigation-back.js +10 -2
  508. package/dist/esm/components/navigation/app-level/navigation-back.js.map +1 -1
  509. package/dist/esm/components/navigation/app-level/navigation-back.labels.d.ts.map +1 -1
  510. package/dist/esm/components/navigation/app-level/notification-center.d.ts.map +1 -1
  511. package/dist/esm/components/navigation/app-level/notification-center.js.map +1 -1
  512. package/dist/esm/components/navigation/app-level/notification-center.labels.d.ts.map +1 -1
  513. package/dist/esm/components/navigation/app-level/notification-center.labels.js +15 -0
  514. package/dist/esm/components/navigation/app-level/notification-center.labels.js.map +1 -1
  515. package/dist/esm/components/navigation/app-level/quick-action-button.d.ts.map +1 -1
  516. package/dist/esm/components/navigation/app-level/quick-action-button.labels.d.ts.map +1 -1
  517. package/dist/esm/components/navigation/app-level/quick-action-button.labels.js +4 -0
  518. package/dist/esm/components/navigation/app-level/quick-action-button.labels.js.map +1 -1
  519. package/dist/esm/components/navigation/app-level/quick-switcher.d.ts.map +1 -1
  520. package/dist/esm/components/navigation/app-level/quick-switcher.labels.d.ts.map +1 -1
  521. package/dist/esm/components/navigation/app-level/sidebar.d.ts.map +1 -1
  522. package/dist/esm/components/navigation/app-level/sidebar.js +38 -22
  523. package/dist/esm/components/navigation/app-level/sidebar.js.map +1 -1
  524. package/dist/esm/components/navigation/app-level/sidebar.labels.d.ts.map +1 -1
  525. package/dist/esm/components/navigation/app-level/sidebar.labels.js +1 -0
  526. package/dist/esm/components/navigation/app-level/sidebar.labels.js.map +1 -1
  527. package/dist/esm/components/navigation/app-level/status-bar.d.ts.map +1 -1
  528. package/dist/esm/components/navigation/app-level/status-bar.labels.d.ts.map +1 -1
  529. package/dist/esm/components/navigation/app-level/toolbar.d.ts.map +1 -1
  530. package/dist/esm/components/navigation/app-level/toolbar.labels.d.ts.map +1 -1
  531. package/dist/esm/components/navigation/app-level/utility-panel.d.ts.map +1 -1
  532. package/dist/esm/components/navigation/app-level/utility-panel.js +30 -5
  533. package/dist/esm/components/navigation/app-level/utility-panel.js.map +1 -1
  534. package/dist/esm/components/navigation/app-level/utility-panel.labels.d.ts.map +1 -1
  535. package/dist/esm/components/navigation/app-level/utility-panel.labels.js.map +1 -1
  536. package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
  537. package/dist/esm/components/navigation/breadcrumb.labels.d.ts.map +1 -1
  538. package/dist/esm/components/navigation/command.d.ts.map +1 -1
  539. package/dist/esm/components/navigation/command.js +2 -2
  540. package/dist/esm/components/navigation/command.js.map +1 -1
  541. package/dist/esm/components/navigation/command.labels.d.ts.map +1 -1
  542. package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
  543. package/dist/esm/components/navigation/menu-bar.labels.d.ts.map +1 -1
  544. package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
  545. package/dist/esm/components/navigation/navbar.labels.d.ts.map +1 -1
  546. package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
  547. package/dist/esm/components/navigation/sidebar.labels.d.ts.map +1 -1
  548. package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
  549. package/dist/esm/components/overlays/containers/alert-dialog.js +11 -1
  550. package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
  551. package/dist/esm/components/overlays/containers/alert-dialog.labels.d.ts.map +1 -1
  552. package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
  553. package/dist/esm/components/overlays/containers/alert.labels.d.ts.map +1 -1
  554. package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
  555. package/dist/esm/components/overlays/containers/dialog.js +11 -1
  556. package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
  557. package/dist/esm/components/overlays/containers/dialog.labels.d.ts.map +1 -1
  558. package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
  559. package/dist/esm/components/overlays/containers/drawer.labels.d.ts.map +1 -1
  560. package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
  561. package/dist/esm/components/overlays/containers/sheet.labels.d.ts.map +1 -1
  562. package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
  563. package/dist/esm/components/overlays/floating/context-menu.labels.d.ts.map +1 -1
  564. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
  565. package/dist/esm/components/overlays/floating/dropdown-menu.labels.d.ts.map +1 -1
  566. package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
  567. package/dist/esm/components/overlays/floating/hover-card.labels.d.ts.map +1 -1
  568. package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
  569. package/dist/esm/components/overlays/floating/popover.labels.d.ts.map +1 -1
  570. package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
  571. package/dist/esm/components/overlays/floating/tooltip.labels.d.ts.map +1 -1
  572. package/dist/esm/components/sections/accordion.d.ts.map +1 -1
  573. package/dist/esm/components/sections/accordion.labels.d.ts.map +1 -1
  574. package/dist/esm/components/sections/card.d.ts.map +1 -1
  575. package/dist/esm/components/sections/card.js +71 -6
  576. package/dist/esm/components/sections/card.js.map +1 -1
  577. package/dist/esm/components/sections/card.labels.d.ts.map +1 -1
  578. package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
  579. package/dist/esm/components/sections/collapsible.labels.d.ts.map +1 -1
  580. package/dist/esm/components/sections/content-section.d.ts.map +1 -1
  581. package/dist/esm/components/sections/content-section.js +36 -6
  582. package/dist/esm/components/sections/content-section.js.map +1 -1
  583. package/dist/esm/components/sections/disclosure-nesting.d.ts.map +1 -1
  584. package/dist/esm/components/sections/option-gesture.d.ts +15 -0
  585. package/dist/esm/components/sections/option-gesture.d.ts.map +1 -0
  586. package/dist/esm/components/sections/option-gesture.js +66 -0
  587. package/dist/esm/components/sections/option-gesture.js.map +1 -0
  588. package/dist/esm/components/sections/pagination.d.ts.map +1 -1
  589. package/dist/esm/components/sections/pagination.labels.d.ts.map +1 -1
  590. package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
  591. package/dist/esm/components/sections/stacked-layout.labels.d.ts.map +1 -1
  592. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  593. package/dist/esm/components/sections/stepper.labels.d.ts.map +1 -1
  594. package/dist/esm/components/sections/table.d.ts.map +1 -1
  595. package/dist/esm/components/sections/table.labels.d.ts.map +1 -1
  596. package/dist/esm/components/sections/tabs.d.ts.map +1 -1
  597. package/dist/esm/components/sections/tabs.js +64 -15
  598. package/dist/esm/components/sections/tabs.js.map +1 -1
  599. package/dist/esm/components/sections/tabs.labels.d.ts.map +1 -1
  600. package/dist/esm/components/typography/heading.d.ts.map +1 -1
  601. package/dist/esm/components/typography/heading.labels.d.ts.map +1 -1
  602. package/dist/esm/components/typography/label.d.ts.map +1 -1
  603. package/dist/esm/components/typography/label.labels.d.ts.map +1 -1
  604. package/dist/esm/components/typography/link.d.ts.map +1 -1
  605. package/dist/esm/components/typography/link.js +9 -3
  606. package/dist/esm/components/typography/link.js.map +1 -1
  607. package/dist/esm/components/typography/link.labels.d.ts.map +1 -1
  608. package/dist/esm/components/typography/text.d.ts +1 -1
  609. package/dist/esm/components/typography/text.d.ts.map +1 -1
  610. package/dist/esm/components/typography/text.js +3 -2
  611. package/dist/esm/components/typography/text.js.map +1 -1
  612. package/dist/esm/components/typography/text.labels.d.ts.map +1 -1
  613. package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
  614. package/dist/esm/config/billing-shell.presets.d.ts.map +1 -1
  615. package/dist/esm/config/index.d.ts.map +1 -1
  616. package/dist/esm/config/preset-design-system.d.ts.map +1 -1
  617. package/dist/esm/config/preset-design-system.js +37 -60
  618. package/dist/esm/config/preset-design-system.js.map +1 -1
  619. package/dist/esm/config/preset-error-pages.d.ts.map +1 -1
  620. package/dist/esm/config/preset-kits.d.ts.map +1 -1
  621. package/dist/esm/config/preset-navigation.d.ts.map +1 -1
  622. package/dist/esm/config/preset-navigation.js +0 -5
  623. package/dist/esm/config/preset-navigation.js.map +1 -1
  624. package/dist/esm/config/preset-resources.d.ts.map +1 -1
  625. package/dist/esm/config/preset-shell.d.ts.map +1 -1
  626. package/dist/esm/config/preset-utils.d.ts.map +1 -1
  627. package/dist/esm/config/presets.d.ts.map +1 -1
  628. package/dist/esm/config/resources/application.resource-presets.d.ts +2 -0
  629. package/dist/esm/config/resources/application.resource-presets.d.ts.map +1 -1
  630. package/dist/esm/config/resources/application.resource-presets.js +163 -7
  631. package/dist/esm/config/resources/application.resource-presets.js.map +1 -1
  632. package/dist/esm/config/resources/billing.resource-presets.d.ts.map +1 -1
  633. package/dist/esm/config/resources/billing.resource-presets.js +1 -0
  634. package/dist/esm/config/resources/billing.resource-presets.js.map +1 -1
  635. package/dist/esm/config/resources/guidance.resource-presets.d.ts.map +1 -1
  636. package/dist/esm/config/resources/guidance.resource-presets.js +21 -5
  637. package/dist/esm/config/resources/guidance.resource-presets.js.map +1 -1
  638. package/dist/esm/config/resources/identity.resource-presets.d.ts.map +1 -1
  639. package/dist/esm/config/resources/identity.resource-presets.js +25 -3
  640. package/dist/esm/config/resources/identity.resource-presets.js.map +1 -1
  641. package/dist/esm/config/resources/index.d.ts.map +1 -1
  642. package/dist/esm/config/resources/index.js.map +1 -1
  643. package/dist/esm/config/resources/organizations.resource-presets.d.ts.map +1 -1
  644. package/dist/esm/config/resources/organizations.resource-presets.js +90 -12
  645. package/dist/esm/config/resources/organizations.resource-presets.js.map +1 -1
  646. package/dist/esm/config/resources/resource.config.utils.d.ts.map +1 -1
  647. package/dist/esm/config/resources/security.resource-presets.d.ts +8 -2
  648. package/dist/esm/config/resources/security.resource-presets.d.ts.map +1 -1
  649. package/dist/esm/config/resources/security.resource-presets.js +185 -29
  650. package/dist/esm/config/resources/security.resource-presets.js.map +1 -1
  651. package/dist/esm/config/resources/webhooks.resource-presets.d.ts.map +1 -1
  652. package/dist/esm/config/resources/webhooks.resource-presets.js +27 -2
  653. package/dist/esm/config/resources/webhooks.resource-presets.js.map +1 -1
  654. package/dist/esm/index.d.ts +7 -1
  655. package/dist/esm/index.d.ts.map +1 -1
  656. package/dist/esm/index.js +7 -1
  657. package/dist/esm/index.js.map +1 -1
  658. package/dist/esm/lottie/lottie.content.definitions.d.ts.map +1 -1
  659. package/dist/esm/lottie/lottie.definitions.d.ts.map +1 -1
  660. package/dist/esm/mermaid-stub.d.ts.map +1 -1
  661. package/dist/esm/registration/register-common-enums.d.ts.map +1 -1
  662. package/dist/esm/registration/register-common-enums.js +48 -34
  663. package/dist/esm/registration/register-common-enums.js.map +1 -1
  664. package/dist/esm/registration/register-default-animations.d.ts.map +1 -1
  665. package/dist/esm/registration/register-default-icons.d.ts.map +1 -1
  666. package/dist/esm/registration/register-default-icons.js +3 -1
  667. package/dist/esm/registration/register-default-icons.js.map +1 -1
  668. package/dist/esm/registration/register-default-presets.d.ts.map +1 -1
  669. package/dist/esm/registration/register-default-presets.js +36 -4
  670. package/dist/esm/registration/register-default-presets.js.map +1 -1
  671. package/dist/esm/registration/register-provider-components.d.ts +31 -0
  672. package/dist/esm/registration/register-provider-components.d.ts.map +1 -0
  673. package/dist/esm/registration/register-provider-components.js +50 -0
  674. package/dist/esm/registration/register-provider-components.js.map +1 -0
  675. package/dist/esm/shiki-subset.d.ts +11 -3
  676. package/dist/esm/shiki-subset.d.ts.map +1 -1
  677. package/dist/esm/shiki-subset.js +10 -2
  678. package/dist/esm/shiki-subset.js.map +1 -1
  679. package/dist/esm/theme-exports.d.ts.map +1 -1
  680. package/dist/esm/themes/cozy.theme.d.ts.map +1 -1
  681. package/dist/esm/themes/cozy.theme.js +19 -5
  682. package/dist/esm/themes/cozy.theme.js.map +1 -1
  683. package/dist/esm/themes/dense.theme.d.ts.map +1 -1
  684. package/dist/esm/themes/dense.theme.js +56 -10
  685. package/dist/esm/themes/dense.theme.js.map +1 -1
  686. package/dist/esm/themes/editorial.theme.d.ts.map +1 -1
  687. package/dist/esm/themes/editorial.theme.js +19 -5
  688. package/dist/esm/themes/editorial.theme.js.map +1 -1
  689. package/dist/esm/themes/glass.theme.d.ts.map +1 -1
  690. package/dist/esm/themes/glass.theme.js +5 -1
  691. package/dist/esm/themes/glass.theme.js.map +1 -1
  692. package/dist/esm/themes/neo-brutalist.theme.d.ts.map +1 -1
  693. package/dist/esm/themes/neo-brutalist.theme.js +9 -2
  694. package/dist/esm/themes/neo-brutalist.theme.js.map +1 -1
  695. package/dist/esm/themes/terminal.theme.d.ts.map +1 -1
  696. package/dist/esm/themes/terminal.theme.js +19 -5
  697. package/dist/esm/themes/terminal.theme.js.map +1 -1
  698. package/dist/esm/themes/trading.theme.d.ts.map +1 -1
  699. package/dist/esm/themes/trading.theme.js +22 -6
  700. package/dist/esm/themes/trading.theme.js.map +1 -1
  701. package/dist/tsconfig.build.tsbuildinfo +1 -1
  702. package/package.json +29 -44
  703. package/dist/esm/.native.tsbuildinfo +0 -1
  704. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts +0 -16
  705. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +0 -1
  706. package/dist/esm/components/form/controls/form-field-checkbox-group.js +0 -143
  707. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"editorial.theme.js","sourceRoot":"","sources":["../../../../src/themes/editorial.theme.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,qCAAqC,CAAC;AAG7C,SAAS,MAAM,CAAC,CAA+C;IAC7D,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAChI,CAAC;AAED,+DAA+D;AAC/D,kBAAkB;AAClB,EAAE;AACF,wEAAwE;AACxE,gCAAgC;AAChC,wEAAwE;AACxE,EAAE;AACF,cAAc;AACd,iFAAiF;AACjF,wEAAwE;AACxE,+CAA+C;AAC/C,2EAA2E;AAC3E,4DAA4D;AAC5D,0EAA0E;AAC1E,wEAAwE;AACxE,kDAAkD;AAClD,mEAAmE;AACnE,yEAAyE;AACzE,4CAA4C;AAC5C,uEAAuE;AACvE,yEAAyE;AACzE,wEAAwE;AACxE,8EAA8E;AAC9E,sEAAsE;AACtE,sDAAsD;AACtD,+DAA+D;AAE/D,yBAAyB;AAEzB,MAAM,EAAE,GAAG;IACT,0DAA0D;IAC1D,QAAQ,EAAE,6BAA6B;IACvC,2EAA2E;IAC3E,IAAI,EAAE,6BAA6B;IACnC,MAAM,EAAE,YAAY;IACpB,KAAK,EACH,gJAAgJ;IAClJ,QAAQ,EAAE,yEAAyE;IACnF,OAAO,EACL,wGAAwG;CAC3G,CAAC;AAEF,+DAA+D;AAC/D,iCAAiC;AACjC,+DAA+D;AAC/D,0EAA0E;AAC1E,wEAAwE;AACxE,yEAAyE;AACzE,wEAAwE;AACxE,qEAAqE;AACrE,yEAAyE;AACzE,uEAAuE;AACvE,kEAAkE;AAClE,uEAAuE;AACvE,wEAAwE;AACxE,uEAAuE;AACvE,uEAAuE;AACvE,uEAAuE;AACvE,sEAAsE;AACtE,oEAAoE;AACpE,8DAA8D;AAC9D,wEAAwE;AACxE,oEAAoE;AACpE,EAAE;AACF,iEAAiE;AACjE,0EAA0E;AAC1E,+DAA+D;AAC/D,MAAM,SAAS,GAAG;IAChB,WAAW,EACT,kMAAkM;IACpM,WAAW,EACT,uJAAuJ;IACzJ,UAAU,EACR,6JAA6J;IAC/J,aAAa,EACX,iPAAiP;IACnP,YAAY,EACV,iQAAiQ;IACnQ,gBAAgB,EACd,6YAA6Y;IAC/Y,aAAa,EACX,oNAAoN;IACtN,YAAY,EACV,iOAAiO;CACpO,CAAC;AAEF,+DAA+D;AAC/D,cAAc;AACd,uEAAuE;AACvE,wEAAwE;AACxE,+DAA+D;AAE/D,MAAM,gBAAgB,GAA2B;IAC/C,EAAE,EAAE,iDAAiD;IACrD,EAAE,EAAE,0CAA0C;IAC9C,EAAE,EAAE,wCAAwC;IAC5C,EAAE,EAAE,mCAAmC;IACvC,IAAI,EAAE,yDAAyD;IAC/D,SAAS,EAAE,sDAAsD;CAClE,CAAC;AAEF,MAAM,WAAW,GAAiD;IAChE,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QACnC,IAAI,EAAE,sCAAsC,EAAE,CAAC,MAAM,oDAAoD;QACzG,MAAM,EAAE;YACN,KAAK,EAAE,qBAAqB;YAC5B,MAAM,EAAE,sBAAsB;YAC9B,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,OAAO,EAAE,EAAE,CAAC,OAAO;SACpB;QACD,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;KAC9C,CAAC;IAEF,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QACrC,IAAI,EAAE,0CAA0C,EAAE,CAAC,MAAM,oDAAoD;QAC7G,MAAM,EAAE;YACN,KAAK,EAAE,uBAAuB;YAC9B,MAAM,EAAE,wBAAwB;YAChC,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,OAAO,EAAE,EAAE,CAAC,OAAO;SACpB;QACD,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;KAC9C,CAAC;IAEF,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QACnC,IAAI,EAAE,kCAAkC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,oDAAoD;QAChH,MAAM,EAAE;YACN,KAAK,EAAE,2CAA2C;YAClD,MAAM,EAAE,oBAAoB;YAC5B,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,QAAQ,EAAE,+DAA+D;YACzE,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,OAAO,EAAE,EAAE,CAAC,OAAO;SACpB;QACD,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;KAC9C,CAAC;IAEF,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QACvC,IAAI,EAAE,8CAA8C,EAAE,CAAC,MAAM,oDAAoD;QACjH,MAAM,EAAE;YACN,KAAK,EAAE,yBAAyB;YAChC,MAAM,EAAE,0BAA0B;YAClC,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,OAAO,EAAE,EAAE,CAAC,OAAO;SACpB;QACD,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;KAC9C,CAAC;IAEF,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACjC,IAAI,EAAE,mBAAmB,EAAE,CAAC,MAAM,oDAAoD;QACtF,MAAM,EAAE;YACN,KAAK,EAAE,gBAAgB;YACvB,MAAM,EAAE,oBAAoB;YAC5B,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,QAAQ,EAAE,0DAA0D;YACpE,WAAW,EAAE,gBAAgB;YAC7B,IAAI,EAAE,4BAA4B;YAClC,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,OAAO,EAAE,EAAE,CAAC,OAAO;SACpB;QACD,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;KAC9C,CAAC;IAEF,sEAAsE;IACtE,0EAA0E;IAC1E,sEAAsE;IACtE,mBAAmB;IACnB,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAChC,IAAI,EAAE,qHAAqH;QAC3H,MAAM,EAAE;YACN,KAAK,EAAE,6CAA6C;YACpD,MAAM,EAAE,wBAAwB;YAChC,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,OAAO,EAAE,EAAE,CAAC,OAAO;SACpB;QACD,KAAK,EAAE;YACL,EAAE,EAAE,+CAA+C;YACnD,EAAE,EAAE,0CAA0C;YAC9C,EAAE,EAAE,wCAAwC;YAC5C,EAAE,EAAE,mCAAmC;YACvC,IAAI,EAAE,yDAAyD;YAC/D,SAAS,EAAE,sDAAsD;SAClE;QACD,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;KAC9C,CAAC;IAEF,sEAAsE;IACtE,+DAA+D;IAC/D,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAClC,IAAI,EAAE,yFAAyF,EAAE,CAAC,MAAM,8MAA8M;QACtT,MAAM,EAAE;YACN,KAAK,EAAE,sBAAsB;YAC7B,MAAM,EAAE,sBAAsB;YAC9B,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,OAAO,EAAE,EAAE,CAAC,OAAO;SACpB;QACD,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE;YACN,UAAU,EACR,oJAAoJ;SACvJ;KACF,CAAC;CACH,CAAC;AAEF,+DAA+D;AAC/D,UAAU;AACV,8EAA8E;AAC9E,kEAAkE;AAClE,sEAAsE;AACtE,uEAAuE;AACvE,wEAAwE;AACxE,+DAA+D;AAE/D,MAAM,OAAO,GAAmC;IAC9C,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAC5B,IAAI,EAAE,iCAAiC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,MAAM,EAAE;KAClE,CAAC;IAEF,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAC5B,0EAA0E;QAC1E,2EAA2E;QAC3E,gDAAgD;QAChD,IAAI,EAAE,oDAAoD,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE;KACjF,CAAC;IAEF,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAC9B,qEAAqE;QACrE,wDAAwD;QACxD,2EAA2E;QAC3E,yEAAyE;QACzE,IAAI,EAAE,iDAAiD,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,gFAAgF;QAC3J,MAAM,EAAE;YACN,KAAK,EAAE,SAAS,CAAC,gBAAgB;YACjC,IAAI,EAAE,SAAS,CAAC,YAAY;SAC7B;KACF,CAAC;IAEF,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC/B,kEAAkE;QAClE,kEAAkE;QAClE,2BAA2B;QAC3B,IAAI,EAAE,iCAAiC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,kFAAkF;QAC7I,MAAM,EAAE;YACN,KAAK,EAAE,SAAS,CAAC,aAAa;YAC9B,IAAI,EAAE,SAAS,CAAC,YAAY;SAC7B;KACF,CAAC;IAEF,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC7B,IAAI,EAAE,+BAA+B,EAAE,CAAC,MAAM,EAAE;KACjD,CAAC;IAEF,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAC9B,IAAI,EAAE,2DAA2D;KAClE,CAAC;IAEF,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QACjC,qEAAqE;QACrE,IAAI,EAAE,mFAAmF;KAC1F,CAAC;IAEF,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC7B,wCAAwC;QACxC,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE;YACN,OAAO,EAAE;gBACP,YAAY,EAAE,QAAQ;aACvB;SACF;KACF,CAAC;IAEF,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QACjC,4DAA4D;QAC5D,IAAI,EAAE,iCAAiC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,gFAAgF;QAC3I,MAAM,EAAE;YACN,KAAK,EAAE,SAAS,CAAC,gBAAgB;YACjC,IAAI,EAAE,SAAS,CAAC,YAAY;SAC7B;KACF,CAAC;CACH,CAAC;AAEF,+DAA+D;AAC/D,eAAe;AACf,qEAAqE;AACrE,oDAAoD;AACpD,+DAA+D;AAE/D,MAAM,WAAW,GAAiD;IAChE,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QACnC,IAAI,EAAE,iBAAiB,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,2HAA2H;QACtK,MAAM,EAAE;YACN,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,QAAQ,EAAE,wEAAwE;YAClF,OAAO,EAAE,EAAE,CAAC,OAAO;SACpB;QACD,KAAK,EAAE;YACL,EAAE,EAAE,wCAAwC;YAC5C,EAAE,EAAE,0CAA0C;YAC9C,EAAE,EAAE,wCAAwC;SAC7C;QACD,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;KAC9C,CAAC;IAEF,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAClC,IAAI,EAAE,eAAe,EAAE,CAAC,MAAM,kFAAkF;QAChH,MAAM,EAAE;YACN,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,QAAQ,EAAE,wEAAwE;YAClF,OAAO,EAAE,EAAE,CAAC,OAAO;SACpB;QACD,KAAK,EAAE;YACL,EAAE,EAAE,wCAAwC;YAC5C,EAAE,EAAE,0CAA0C;YAC9C,EAAE,EAAE,wCAAwC;SAC7C;QACD,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;KAC9C,CAAC;IAEF,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QACtC,kEAAkE;QAClE,kDAAkD;QAClD,IAAI,EAAE,2IAA2I;QACjJ,MAAM,EAAE;YACN,KAAK,EAAE,kFAAkF;YACzF,QAAQ,EAAE,4CAA4C;YACtD,OAAO,EAAE,iCAAiC;SAC3C;QACD,KAAK,EAAE;YACL,EAAE,EAAE,wCAAwC;YAC5C,EAAE,EAAE,0CAA0C;YAC9C,EAAE,EAAE,wCAAwC;SAC7C;QACD,MAAM,EAAE;YACN,UAAU,EACR,sIAAsI;SACzI;KACF,CAAC;IAEF,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QACpC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE;QAC/B,MAAM,EAAE;YACN,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,QAAQ,EACN,kHAAkH;YACpH,QAAQ,EAAE,wEAAwE;YAClF,OAAO,EAAE,EAAE,CAAC,OAAO;SACpB;QACD,MAAM,EAAE;YACN,UAAU,EACR,0IAA0I;SAC7I;KACF,CAAC;IAEF,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAClC,IAAI,EAAE,6DAA6D;QACnE,MAAM,EAAE;YACN,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,QAAQ,EAAE,iCAAiC;YAC3C,QAAQ,EAAE,wEAAwE;YAClF,OAAO,EAAE,EAAE,CAAC,OAAO;SACpB;QACD,MAAM,EAAE;YACN,UAAU,EACR,2HAA2H;SAC9H;KACF,CAAC;CACH,CAAC;AAEF,+DAA+D;AAC/D,YAAY;AACZ,mEAAmE;AACnE,mEAAmE;AACnE,+DAA+D;AAE/D,MAAM,iBAAiB,GAAG;IACxB,MAAM,EAAE,EAAE,KAAK,EAAE,2CAA2C,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE;IACpG,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE;CAC9C,CAAC;AAEF,MAAM,SAAS,GAA+C;IAC5D,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjC,IAAI,EAAE,qCAAqC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,QAAQ,2DAA2D;QAC9H,GAAG,iBAAiB;KACrB,CAAC;IACF,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAC9B,IAAI,EAAE,wBAAwB,EAAE,CAAC,MAAM,iFAAiF;QACxH,GAAG,iBAAiB;KACrB,CAAC;IACF,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjC,IAAI,EAAE,8BAA8B,EAAE,CAAC,MAAM,oFAAoF;QACjI,GAAG,iBAAiB;KACrB,CAAC;IACF,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjC,IAAI,EAAE,8BAA8B,EAAE,CAAC,MAAM,oFAAoF;QACjI,GAAG,iBAAiB;KACrB,CAAC;IACF,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAC/B,IAAI,EAAE,sCAAsC,EAAE,CAAC,MAAM,wFAAwF;QAC7I,GAAG,iBAAiB;KACrB,CAAC;CACH,CAAC;AAEF,+DAA+D;AAC/D,aAAa;AACb,uEAAuE;AACvE,yEAAyE;AACzE,gCAAgC;AAChC,+DAA+D;AAE/D,MAAM,UAAU,GAAgD;IAC9D,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACjC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,yBAAyB;QAC3C,MAAM,EAAE;YACN,KAAK,EAAE,gBAAgB;YACvB,KAAK,EAAE,+EAA+E;YACtF,QAAQ,EACN,gKAAgK;YAClK,QAAQ,EAAE,yEAAyE;SACpF;QACD,KAAK,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE;QACnE,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE;KAC7C,CAAC;IACF,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QACpC,kEAAkE;QAClE,wDAAwD;QACxD,IAAI,EAAE,uFAAuF;QAC7F,MAAM,EAAE;YACN,KAAK,EAAE,uBAAuB;YAC9B,KAAK,EAAE,+EAA+E;YACtF,QAAQ,EACN,uIAAuI;YACzI,QAAQ,EAAE,yEAAyE;SACpF;QACD,KAAK,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,mBAAmB,EAAE;QACnF,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE;KAC7C,CAAC;IACF,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAC/B,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,2BAA2B,EAAE,CAAC,QAAQ,qBAAqB;QAC7E,MAAM,EAAE;YACN,KAAK,EAAE,2CAA2C;YAClD,KAAK,EAAE,+EAA+E;YACtF,QAAQ,EACN,6GAA6G;YAC/G,QAAQ,EAAE,yEAAyE;SACpF;QACD,KAAK,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,mBAAmB,EAAE;QAClF,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE;KAC7C,CAAC;IACF,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QACpC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,qDAAqD;QACvE,MAAM,EAAE;YACN,KAAK,EAAE,gBAAgB;YACvB,KAAK,EAAE,+EAA+E;YACtF,QAAQ,EACN,mIAAmI;YACrI,QAAQ,EAAE,yEAAyE;SACpF;QACD,KAAK,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE;QACnE,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE;KAC7C,CAAC;CACH,CAAC;AAEF,+DAA+D;AAC/D,6BAA6B;AAC7B,+DAA+D;AAE/D,MAAM,eAAe,GAAqB,MAAM,CAAC;IAC/C,iEAAiE;IACjE,IAAI,EAAE,sCAAsC;IAC5C,MAAM,EAAE;QACN,KAAK,EAAE,SAAS,CAAC,aAAa;QAC9B,IAAI,EAAE,SAAS,CAAC,YAAY;KAC7B;CACF,CAAC,CAAC;AAEH,MAAM,OAAO,GAA6C;IACxD,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;IACvE,6EAA6E;IAC7E,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC;CAClF,CAAC;AAEF,MAAM,QAAQ,GAAqB,MAAM,CAAC;IACxC,IAAI,EAAE,GAAG,qBAAqB,kBAAkB,EAAE,CAAC,MAAM,6BAA6B;CACvF,CAAC,CAAC;AAEH,MAAM,cAAc,GAAqB,MAAM,CAAC;IAC9C,IAAI,EAAE,+DAA+D;CACtE,CAAC,CAAC;AAEH,MAAM,cAAc,GAAqB,MAAM,CAAC;IAC9C,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE;QACN,KAAK,EAAE,0HAA0H;QACjI,IAAI,EAAE,6HAA6H;KACpI;CACF,CAAC,CAAC;AAEH,+DAA+D;AAC/D,aAAa;AACb,yEAAyE;AACzE,wEAAwE;AACxE,qEAAqE;AACrE,4CAA4C;AAC5C,+DAA+D;AAE/D,MAAM,UAAU,GAAgD;IAC9D,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAClC,uEAAuE;QACvE,oEAAoE;QACpE,mDAAmD;QACnD,IAAI,EAAE,yEAAyE;QAC/E,KAAK,EAAE;YACL,OAAO,EAAE,UAAU;YACnB,EAAE,EAAE,UAAU;YACd,EAAE,EAAE,UAAU;YACd,EAAE,EAAE,UAAU;YACd,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;SACd;KACF,CAAC;IACF,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAC/B,kEAAkE;QAClE,qEAAqE;QACrE,IAAI,EAAE,qDAAqD;QAC3D,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,EAAE;KACzD,CAAC;IACF,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAChC,sEAAsE;QACtE,qEAAqE;QACrE,8EAA8E;QAC9E,wEAAwE;QACxE,qEAAqE;QACrE,oEAAoE;QACpE,IAAI,EAAE,+FAA+F;QACrG,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE;KACxD,CAAC;IACF,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QACtC,IAAI,EAAE,kEAAkE;QACxE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE;KAC1C,CAAC;IACF,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAC/B,IAAI,EAAE,yFAAyF;QAC/F,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE;KACzD,CAAC;CACH,CAAC;AAEF,+DAA+D;AAC/D,UAAU;AACV,iEAAiE;AACjE,mEAAmE;AACnE,mEAAmE;AACnE,gEAAgE;AAChE,8CAA8C;AAC9C,+DAA+D;AAE/D,MAAM,OAAO,GAAmC;IAC9C,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,UAAU;IACrC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ;IAChC,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,UAAU;IACnC,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,QAAQ;IACjC,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,QAAQ;IACnC,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM;IAChC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS;IACjC,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,QAAQ;CACtC,CAAC;AAEF,+DAA+D;AAC/D,sDAAsD;AACtD,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,wEAAwE;AACxE,iEAAiE;AACjE,qEAAqE;AACrE,0DAA0D;AAC1D,+DAA+D;AAE/D,SAAS,aAAa,CAAC,UAAkB,EAAE,SAAiB;IAC1D,OAAO;QACL,IAAI,EAAE,oBAAoB,CAAC,KAAK;QAChC,YAAY,EAAE,uBAAuB,CAAC,UAAU;QAChD,UAAU,EAAE,UAAU;QACtB,SAAS,EAAE,SAAS;KACrB,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,EAAE,IAAI,EAAE,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1G,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,EAAE,IAAI,EAAE,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;AACpG,CAAC;AAED,MAAM,oBAAoB,GAA6C;IACrE,uEAAuE;IACvE,sEAAsE;IACtE,wBAAwB;IACxB,UAAU,EAAE,aAAa,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAC9D,UAAU,EAAE,aAAa,CAAC,gBAAgB,EAAE,eAAe,CAAC;IAE5D,qEAAqE;IACrE,qEAAqE;IACrE,qEAAqE;IACrE,wDAAwD;IACxD,OAAO,EAAE,aAAa,CAAC,eAAe,EAAE,eAAe,CAAC;IACxD,oBAAoB,EAAE,aAAa,CAAC,gBAAgB,EAAE,eAAe,CAAC;IAEtE,gEAAgE;IAChE,SAAS,EAAE,aAAa,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1D,sBAAsB,EAAE,aAAa,CAAC,gBAAgB,EAAE,eAAe,CAAC;IAExE,gEAAgE;IAChE,KAAK,EAAE,aAAa,CAAC,cAAc,EAAE,eAAe,CAAC;IACrD,kBAAkB,EAAE,aAAa,CAAC,gBAAgB,EAAE,cAAc,CAAC;IAEnE,oEAAoE;IACpE,MAAM,EAAE,aAAa,CAAC,eAAe,EAAE,gBAAgB,CAAC;IACxD,IAAI,EAAE,aAAa,CAAC,eAAe,EAAE,eAAe,CAAC;IACrD,KAAK,EAAE,aAAa,CAAC,eAAe,EAAE,gBAAgB,CAAC;IAEvD,oEAAoE;IACpE,sEAAsE;IACtE,qBAAqB;IACrB,WAAW,EAAE,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAC1D,wBAAwB,EAAE,WAAW,CAAC,OAAO,CAAC;IAE9C,oEAAoE;IACpE,wEAAwE;IACxE,mCAAmC;IACnC,sBAAsB,EAAE,aAAa,CAAC,eAAe,EAAE,eAAe,CAAC;IACvE,qBAAqB,EAAE,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IACpE,oBAAoB,EAAE,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAEnE,oEAAoE;IACpE,kEAAkE;IAClE,sEAAsE;IACtE,iEAAiE;IACjE,iDAAiD;IACjD,cAAc,EAAE,YAAY,CAC1B,2HAA2H,CAC5H;IACD,WAAW,EAAE,YAAY,CACvB,4GAA4G,CAC7G;CACF,CAAC;AAEF,+DAA+D;AAC/D,kBAAkB;AAClB,+DAA+D;AAE/D,MAAM,CAAC,MAAM,cAAc,GAAwB;IACjD,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,WAAW;IACjB,WAAW,EACT,2iBAA2iB;IAE7iB,oBAAoB;IACpB,OAAO;IAEP,WAAW;IACX,OAAO;IACP,WAAW;IACX,SAAS;IACT,UAAU;IACV,eAAe;IACf,OAAO;IACP,QAAQ;IACR,cAAc;IACd,cAAc;IACd,UAAU;IACV,MAAM,EAAE,KAAK;IACb,eAAe,EAAE,SAAS;IAC1B,UAAU,EAAE;QACV,oEAAoE;QACpE,iCAAiC;QACjC,eAAe,EAAE,GAAG;QACpB,cAAc,EAAE,GAAG;QACnB,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACzD,IAAI,EAAE;YACJ,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,QAAQ;YACvB,WAAW,EAAE,IAAI;YACjB,iBAAiB,EAAE,QAAQ;YAC3B,YAAY,EAAE,EAAE;SACjB;QACD,OAAO,EAAE;YACP,QAAQ,EAAE,yFAAyF;YACnG,WAAW,EAAE,CAAC;SACf;QACD,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE;QACjE,MAAM,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;QAClG,UAAU,EAAE;YACV,aAAa,EAAE,EAAE;YACjB,eAAe,EAAE,GAAG;YACpB,gBAAgB,EAAE,EAAE;YACpB,cAAc,EAAE,EAAE;YAClB,eAAe,EAAE,EAAE;YACnB,iBAAiB,EAAE,EAAE;YACrB,gBAAgB,EAAE,EAAE;SACrB;QACD,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,EAAE;QACzE,UAAU,EAAE;YACV,aAAa,EAAE,GAAG;YAClB,cAAc,EAAE,GAAG;YACnB,gBAAgB,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9D,iBAAiB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACtD,iBAAiB,EAAE,IAAI;YACvB,oBAAoB,EAAE,EAAE;YACxB,aAAa,EAAE,EAAE;YACjB,cAAc,EAAE,EAAE;SACnB;QACD,8BAA8B,EAAE,EAAE;KACnC;CACF,CAAC","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// Editorial theme\n//\n// Persona: long-form reading, knowledge bases, thought-leadership SaaS,\n// publication-grade dashboards.\n// References: NYTimes, Stripe Press, Substack, The Verge, Vercel Press.\n//\n// Design DNA:\n// - SERIF headings (Source Serif 4 / Crimson Pro / Tiempos / Georgia fallback)\n// — every other theme in the lineup is sans; serif is the immediate\n// visual signature of \"publication-grade\".\n// - Humanist-sans body (Source Sans 3 / Inter) with generous line-height\n// so paragraphs feel like article copy, not UI strings.\n// - Hairline borders only (`border-foreground/10`), almost no shadows —\n// editorial layouts trust whitespace and typography to do the heavy\n// lifting; box-shadows would feel \"gadget-y\".\n// - 2px radius — the page reads as paper, not as plastic chrome.\n// - GENEROUS spacing scale (largest in lineup) — column-grid breathing\n// room, like a printed magazine spread.\n// - Single-accent palette: warm off-white background, charcoal text,\n// deep ink-blue accent. The whole page is monochrome until you reach\n// a link, a tag, or a focus ring — then a single intentional color.\n// - Slow, elegant motion (normal duration, ease-out) — refined, not snappy.\n// - Underlined links by default (web-typographic convention), hover\n// thickens the underline rather than removing it.\n// ============================================================\n\n// -- Shared constants --\n\nconst ED = {\n /** Hairline rule: hugely subtle, lets typography lead. */\n hairline: 'border border-foreground/10',\n /** Slightly stronger hairline for surfaces that need a definitive edge. */\n edge: 'border border-foreground/15',\n radius: 'rounded-sm',\n focus:\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background',\n disabled: 'disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]',\n invalid:\n 'aria-invalid:ring-destructive/30 dark:aria-invalid:ring-destructive/50 aria-invalid:border-destructive',\n};\n\n// ============================================================\n// MOTION PERSONALITY — Editorial\n// ============================================================\n// Hover/focus : NORMAL (250ms) + DEFAULT → bidirectional state-change\n// tempo. DEFAULT (Material\n// Standard) is correct here\n// over ENTER because hover\n// flips both ways and a\n// pure ease-out feels mushy\n// when reverting to rest.\n// Overlay enter: SLOW (350ms) + ENTER → \"page-turn\" pacing.\n// ENTER (pure decelerate)\n// for the slow settle that\n// defines publication UI.\n// Overlay exit : NORMAL (250ms) + EXIT → quicker than enter (rule\n// of thumb: exit < enter,\n// \"out faster than in\").\n// Backdrop : SLOW/NORMAL + ENTER/EXIT → matches overlays.\n// Gestures : NONE — print/serif aesthetics avoid bouncy\n// interactivity. The tempo IS the personality; springs\n// would feel like Material Design pasted into NYT.\n//\n// TR-14 motion-coherence: backdrop animations now carry explicit\n// ENTER/EXIT easing tokens (previously omitted, fell back to CSS `ease`).\n// ============================================================\nconst ED_MOTION = {\n interactive:\n 'transition-[background-color,color,border-color,box-shadow,text-decoration-thickness] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-default)] motion-reduce:transition-none',\n formControl:\n 'transition-[color,border-color,box-shadow] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-default)] motion-reduce:transition-none',\n selectable:\n 'transition-[background-color,color,border-color] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-default)] motion-reduce:transition-none',\n enterFadeZoom:\n '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:\n '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:\n '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:\n '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:\n '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\n// ============================================================\n// INTERACTIVE\n// Editorial buttons are restrained: no shadows, hairline borders, type\n// is the focal point. Press feedback is a subtle bg shift, not a scale.\n// ============================================================\n\nconst interactiveSizes: Record<string, string> = {\n xs: 'h-7 px-3 text-xs gap-1.5 pointer-coarse:min-h-9',\n sm: 'h-8 px-3.5 gap-2 pointer-coarse:min-h-11',\n md: 'h-10 px-5 py-2 pointer-coarse:min-h-11',\n lg: 'h-12 px-7 pointer-coarse:min-h-12',\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 [InteractiveVariant.PRIMARY]: recipe({\n base: `bg-primary text-primary-foreground ${ED.radius} font-medium text-sm tracking-tight cursor-pointer`,\n states: {\n hover: 'hover:bg-primary/90',\n active: 'active:bg-primary/80',\n focus: ED.focus,\n disabled: ED.disabled,\n invalid: ED.invalid,\n },\n sizes: interactiveSizes,\n motion: { transition: ED_MOTION.interactive },\n }),\n\n [InteractiveVariant.SECONDARY]: recipe({\n base: `bg-secondary text-secondary-foreground ${ED.radius} font-medium text-sm tracking-tight cursor-pointer`,\n states: {\n hover: 'hover:bg-secondary/80',\n active: 'active:bg-secondary/70',\n focus: ED.focus,\n disabled: ED.disabled,\n invalid: ED.invalid,\n },\n sizes: interactiveSizes,\n motion: { transition: ED_MOTION.interactive },\n }),\n\n [InteractiveVariant.OUTLINE]: recipe({\n base: `bg-transparent text-foreground ${ED.edge} ${ED.radius} font-medium text-sm tracking-tight cursor-pointer`,\n states: {\n hover: 'hover:bg-muted hover:border-foreground/25',\n active: 'active:bg-muted/80',\n focus: ED.focus,\n selected: 'data-[state=on]:bg-muted data-[state=on]:border-foreground/30',\n disabled: ED.disabled,\n invalid: ED.invalid,\n },\n sizes: interactiveSizes,\n motion: { transition: ED_MOTION.interactive },\n }),\n\n [InteractiveVariant.DESTRUCTIVE]: recipe({\n base: `bg-destructive text-destructive-foreground ${ED.radius} font-medium text-sm tracking-tight cursor-pointer`,\n states: {\n hover: 'hover:bg-destructive/90',\n active: 'active:bg-destructive/80',\n focus: ED.focus,\n highlighted: 'focus:bg-destructive/10 focus:text-destructive',\n disabled: ED.disabled,\n invalid: ED.invalid,\n },\n sizes: interactiveSizes,\n motion: { transition: ED_MOTION.interactive },\n }),\n\n [InteractiveVariant.GHOST]: recipe({\n base: `text-foreground ${ED.radius} font-medium text-sm tracking-tight cursor-pointer`,\n states: {\n hover: 'hover:bg-muted',\n active: 'active:bg-muted/80',\n focus: ED.focus,\n selected: 'data-[state=on]:bg-muted data-[state=on]:text-foreground',\n highlighted: 'focus:bg-muted',\n open: 'data-[state=open]:bg-muted',\n disabled: ED.disabled,\n invalid: ED.invalid,\n },\n sizes: interactiveSizes,\n motion: { transition: ED_MOTION.interactive },\n }),\n\n // Editorial links: underlined by default, web-typographic convention.\n // Hover thickens the decoration rather than removing it (the underline IS\n // the affordance — never strip it on hover, that's an anti-pattern in\n // long-form copy).\n [InteractiveVariant.LINK]: recipe({\n base: 'text-primary underline underline-offset-[3px] decoration-primary/40 decoration-1 font-medium text-sm cursor-pointer',\n states: {\n hover: 'hover:decoration-primary hover:decoration-2',\n active: 'active:text-primary/80',\n focus: ED.focus,\n disabled: ED.disabled,\n invalid: ED.invalid,\n },\n sizes: {\n xs: 'h-7 px-2 text-xs gap-1 pointer-coarse:min-h-9',\n sm: 'h-8 px-2 gap-1.5 pointer-coarse:min-h-11',\n md: 'h-10 px-2 py-2 pointer-coarse:min-h-11',\n lg: 'h-12 px-2 pointer-coarse:min-h-12',\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 motion: { transition: ED_MOTION.interactive },\n }),\n\n // Editorial accent: a refined letterpress-feel button — primary fill,\n // restrained gradient sweep (no rainbow), small caps tracking.\n [InteractiveVariant.ACCENT]: recipe({\n base: `relative bg-primary text-primary-foreground font-semibold uppercase tracking-[0.08em] ${ED.radius} bg-[length:200%_100%] bg-gradient-to-r from-accent-gradient-from via-accent-gradient-via to-accent-gradient-to animate-[gradient-rotate_5s_ease_infinite] motion-reduce:animate-none text-xs cursor-pointer`,\n states: {\n hover: 'hover:brightness-105',\n active: 'active:brightness-95',\n focus: ED.focus,\n disabled: ED.disabled,\n invalid: ED.invalid,\n },\n sizes: interactiveSizes,\n motion: {\n transition:\n 'transition-[background-position,filter] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-default)] motion-reduce:transition-none',\n },\n }),\n};\n\n// ============================================================\n// SURFACE\n// SURFACE PERSONALITY — paper, not chrome: hairlines over shadows, page shell\n// as paper stock, transient notices as restrained clipping cards.\n// Editorial surfaces are paper, not chrome. Hairline rules + warm bg.\n// No drop shadows on cards (a magazine doesn't levitate its articles).\n// Dialogs get one soft shadow because they ARE elevated above the page.\n// ============================================================\n\nconst surface: ComponentStyleTheme['surface'] = {\n [SurfaceVariant.BASE]: recipe({\n base: `bg-background text-foreground ${ED.hairline} ${ED.radius}`,\n }),\n\n [SurfaceVariant.CARD]: recipe({\n // Content card: distinct `surface-raised` fill + editorial edge + radius.\n // Restrained — no shadow on an inline card (editorial reserves shadows for\n // genuinely floating surfaces). Always painted.\n base: `bg-surface-raised text-surface-raised-foreground ${ED.edge} ${ED.radius}`,\n }),\n\n [SurfaceVariant.RAISED]: recipe({\n // Popover: a small shadow IS warranted (it's actually floating), but\n // restrained — no two-step \"md+xl\" stack like Material.\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-background fill-background text-foreground ${ED.edge} ${ED.radius} shadow-[0_4px_12px_rgba(0,0,0,0.04)] dark:shadow-[0_4px_12px_rgba(0,0,0,0.4)]`,\n motion: {\n enter: ED_MOTION.enterDirectional,\n exit: ED_MOTION.exitFadeZoom,\n },\n }),\n\n [SurfaceVariant.OVERLAY]: recipe({\n // Dialog: this is the only surface where editorial accepts a real\n // shadow — modals genuinely lift \"off the page\" and the eye needs\n // depth to lock onto them.\n base: `bg-background text-foreground ${ED.edge} ${ED.radius} shadow-[0_24px_64px_rgba(0,0,0,0.12)] dark:shadow-[0_24px_64px_rgba(0,0,0,0.6)]`,\n motion: {\n enter: ED_MOTION.enterFadeZoom,\n exit: ED_MOTION.exitFadeZoom,\n },\n }),\n\n [SurfaceVariant.INSET]: recipe({\n base: `bg-muted/40 text-foreground ${ED.radius}`,\n }),\n\n [SurfaceVariant.SUNKEN]: recipe({\n base: 'bg-muted/30 text-foreground border-r border-foreground/10',\n }),\n\n [SurfaceVariant.TAB_PANEL]: recipe({\n // A paper continuation below the tab rule: no shadow, no top border.\n base: 'bg-background text-foreground border-x border-b border-foreground/12 rounded-b-sm',\n }),\n\n [SurfaceVariant.SHELL]: recipe({\n // Page shell is simply the paper stock.\n base: 'bg-background text-foreground',\n policy: {\n content: {\n wrapStrategy: 'pretty',\n },\n },\n }),\n\n [SurfaceVariant.TRANSIENT]: recipe({\n // Toast: newspaper notice card — hairline, restrained lift.\n base: `bg-background text-foreground ${ED.edge} ${ED.radius} shadow-[0_8px_24px_rgba(0,0,0,0.08)] dark:shadow-[0_8px_24px_rgba(0,0,0,0.5)]`,\n motion: {\n enter: ED_MOTION.enterDirectional,\n exit: ED_MOTION.exitFadeZoom,\n },\n }),\n};\n\n// ============================================================\n// FORM_CONTROL\n// Inputs are quiet. Hairline border, no shadow. Focus ring becomes a\n// solid 2px ring (the only loud thing in the form).\n// ============================================================\n\nconst formControl: Record<FormControlVariant, UIBehaviorRecipe> = {\n [FormControlVariant.DEFAULT]: recipe({\n base: `bg-background ${ED.edge} ${ED.radius} text-base md:text-sm text-foreground placeholder:text-muted-foreground selection:bg-primary/20 selection:text-foreground`,\n states: {\n focus: ED.focus,\n disabled: 'disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]',\n invalid: ED.invalid,\n },\n sizes: {\n md: 'h-10 px-3 py-2 pointer-coarse:min-h-11',\n sm: 'h-9 px-3 text-sm pointer-coarse:min-h-11',\n lg: 'h-12 px-4 py-2 pointer-coarse:min-h-12',\n },\n motion: { transition: ED_MOTION.formControl },\n }),\n\n [FormControlVariant.FILLED]: recipe({\n base: `bg-muted/50 ${ED.radius} border-0 text-base md:text-sm text-foreground placeholder:text-muted-foreground`,\n states: {\n focus: ED.focus,\n disabled: 'disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]',\n invalid: ED.invalid,\n },\n sizes: {\n md: 'h-10 px-3 py-2 pointer-coarse:min-h-11',\n sm: 'h-9 px-3 text-sm pointer-coarse:min-h-11',\n lg: 'h-12 px-4 py-2 pointer-coarse:min-h-12',\n },\n motion: { transition: ED_MOTION.formControl },\n }),\n\n [FormControlVariant.UNDERLINED]: recipe({\n // The most editorial-looking form variant: a single hairline rule\n // under the field — like filling in a paper form.\n base: 'bg-transparent border-0 border-b border-foreground/20 rounded-none text-base md:text-sm text-foreground placeholder:text-muted-foreground',\n states: {\n focus: 'focus-visible:outline-none focus-visible:border-primary focus-visible:border-b-2',\n disabled: 'disabled:opacity-[var(--opacity-disabled)]',\n invalid: 'aria-invalid:border-destructive',\n },\n sizes: {\n md: 'h-10 px-0 py-2 pointer-coarse:min-h-11',\n sm: 'h-9 px-0 text-sm pointer-coarse:min-h-11',\n lg: 'h-12 px-0 py-2 pointer-coarse:min-h-12',\n },\n motion: {\n transition:\n 'transition-[border-color] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-default)] motion-reduce:transition-none',\n },\n }),\n\n [FormControlVariant.CHECKBOX]: recipe({\n base: `${ED.edge} ${ED.radius}`,\n states: {\n focus: ED.focus,\n selected:\n 'data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary',\n disabled: 'disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]',\n invalid: ED.invalid,\n },\n motion: {\n transition:\n 'transition-[color,box-shadow] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-default)] motion-reduce:transition-none',\n },\n }),\n\n [FormControlVariant.SWITCH]: recipe({\n base: 'data-[state=unchecked]:bg-muted border border-foreground/15',\n states: {\n focus: ED.focus,\n selected: 'data-[state=checked]:bg-primary',\n disabled: 'disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]',\n invalid: ED.invalid,\n },\n motion: {\n transition:\n 'transition-all duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-default)] motion-reduce:transition-none',\n },\n }),\n};\n\n// ============================================================\n// INDICATOR\n// Editorial indicators are muted, restrained. No fill saturation —\n// indicator background is a tint, text carries the semantic color.\n// ============================================================\n\nconst edIndicatorShared = {\n states: { hover: '[a&]:hover:opacity-[var(--opacity-hover)]', focus: ED.focus, invalid: ED.invalid },\n motion: { transition: ED_MOTION.interactive },\n};\n\nconst indicator: Record<IndicatorVariant, UIBehaviorRecipe> = {\n [IndicatorVariant.NEUTRAL]: recipe({\n base: `bg-muted/60 text-muted-foreground ${ED.radius} ${ED.hairline} px-2 py-0.5 text-xs font-medium uppercase tracking-wider`,\n ...edIndicatorShared,\n }),\n [IndicatorVariant.INFO]: recipe({\n base: `bg-info/10 text-info ${ED.radius} border border-info/20 px-2 py-0.5 text-xs font-medium uppercase tracking-wider`,\n ...edIndicatorShared,\n }),\n [IndicatorVariant.SUCCESS]: recipe({\n base: `bg-success/10 text-success ${ED.radius} border border-success/20 px-2 py-0.5 text-xs font-medium uppercase tracking-wider`,\n ...edIndicatorShared,\n }),\n [IndicatorVariant.WARNING]: recipe({\n base: `bg-warning/10 text-warning ${ED.radius} border border-warning/20 px-2 py-0.5 text-xs font-medium uppercase tracking-wider`,\n ...edIndicatorShared,\n }),\n [IndicatorVariant.ERROR]: recipe({\n base: `bg-destructive/10 text-destructive ${ED.radius} border border-destructive/25 px-2 py-0.5 text-xs font-medium uppercase tracking-wider`,\n ...edIndicatorShared,\n }),\n};\n\n// ============================================================\n// SELECTABLE\n// The underline-active tab pattern is editorial-iconic (think TOC of a\n// magazine). Pill and indicator variants follow but the underline is the\n// theme's signature selectable.\n// ============================================================\n\nconst selectable: Record<SelectableVariant, UIBehaviorRecipe> = {\n [SelectableVariant.FILLED]: recipe({\n base: `${ED.radius} text-sm outline-hidden`,\n states: {\n hover: 'hover:bg-muted',\n focus: 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/60',\n selected:\n 'data-[active=true]:bg-muted data-[active=true]:text-foreground data-[active=true]:font-medium data-[state=active]:bg-muted data-[state=active]:text-foreground',\n disabled: 'disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]',\n },\n sizes: { sm: 'h-7 text-xs', md: 'h-9 text-sm', lg: 'h-12 text-sm' },\n motion: { transition: ED_MOTION.selectable },\n }),\n [SelectableVariant.UNDERLINE]: recipe({\n // Editorial signature: 1px hairline becomes 2px solid on active —\n // the same visual language as section headers in print.\n base: 'rounded-none border-b border-transparent text-sm text-muted-foreground outline-hidden',\n states: {\n hover: 'hover:text-foreground',\n focus: 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/60',\n selected:\n 'data-[state=active]:border-b-2 data-[state=active]:border-primary data-[state=active]:text-foreground data-[state=active]:font-medium',\n disabled: 'disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]',\n },\n sizes: { sm: 'h-8 text-xs pb-1', md: 'h-10 text-sm pb-2', lg: 'h-12 text-sm pb-3' },\n motion: { transition: ED_MOTION.selectable },\n }),\n [SelectableVariant.PILL]: recipe({\n base: `${ED.radius} text-sm outline-hidden ${ED.hairline} border-transparent`,\n states: {\n hover: 'hover:bg-muted hover:border-foreground/15',\n focus: 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/60',\n selected:\n 'data-[state=active]:bg-foreground data-[state=active]:text-background data-[state=active]:border-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: ED_MOTION.selectable },\n }),\n [SelectableVariant.INDICATOR]: recipe({\n base: `${ED.radius} text-sm outline-hidden border-s border-transparent`,\n states: {\n hover: 'hover:bg-muted',\n focus: 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/60',\n selected:\n 'data-[active=true]:border-s-2 data-[active=true]:border-primary data-[active=true]:text-foreground data-[active=true]:font-medium',\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: ED_MOTION.selectable },\n }),\n};\n\n// ============================================================\n// OVERLAY, DIVIDER, SKELETON\n// ============================================================\n\nconst overlayBackdrop: UIBehaviorRecipe = recipe({\n // Editorial backdrop: warm sepia-tinted scrim, very subtle blur.\n base: 'bg-foreground/40 backdrop-blur-[2px]',\n motion: {\n enter: ED_MOTION.backdropEnter,\n exit: ED_MOTION.backdropExit,\n },\n});\n\nconst divider: Record<DividerVariant, UIBehaviorRecipe> = {\n [DividerVariant.DEFAULT]: recipe({ base: 'bg-foreground/12 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-foreground/12' }),\n};\n\nconst skeleton: UIBehaviorRecipe = recipe({\n base: `${SKELETON_NEUTRAL_TINT} animate-pulse ${ED.radius} motion-reduce:animate-none`,\n});\n\nconst loadingSpinner: UIBehaviorRecipe = recipe({\n base: 'text-muted-foreground animate-spin motion-reduce:animate-none',\n});\n\nconst loadingOverlay: UIBehaviorRecipe = recipe({\n base: 'bg-background/85',\n motion: {\n enter: 'animate-in fade-in-0 duration-[var(--motion-duration-slow)] ease-[var(--motion-easing-enter)] motion-reduce:animate-none',\n exit: 'animate-out fade-out-0 duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-exit)] motion-reduce:animate-none',\n },\n});\n\n// ============================================================\n// TYPOGRAPHY\n// The signature of the theme. Serif headings, generous body line-height,\n// classical scale. We keep the mid-tier sizes so existing layouts don't\n// shift — but h1 stays large because editorial is unapologetic about\n// hero typography (it's the article title).\n// ============================================================\n\nconst typography: Record<TypographyVariant, UIBehaviorRecipe> = {\n [TypographyVariant.HEADING]: recipe({\n // `font-heading` resolves to the serif stack (see requiredCustomTokens\n // below). Tracking-tight on serifs prevents the natural air between\n // wide letters from looking sloppy at large sizes.\n base: 'font-heading font-semibold leading-tight tracking-tight text-foreground',\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-lg',\n },\n }),\n [TypographyVariant.BODY]: recipe({\n // `leading-relaxed` (1.625) on body is the most editorial-feeling\n // change in the whole theme — it turns UI strings into article copy.\n base: 'font-sans text-foreground text-base leading-relaxed',\n sizes: { sm: 'text-sm', md: 'text-base', lg: 'text-lg' },\n }),\n [TypographyVariant.LABEL]: recipe({\n // Small caps tracking on labels — print-typography idiom for \"section\n // marker\" / \"metadata\". Pairs with the indicator uppercase tracking.\n // `font-sans` (NOT `font-body`) — only `font-sans/serif/mono/heading/display`\n // are exposed as Tailwind utilities via @theme; `font-sans` resolves to\n // `var(--font-body)` which our requiredCustomTokens overrides to the\n // humanist-sans stack. Using `font-body` here would silently no-op.\n base: 'font-sans font-medium text-2xs leading-none uppercase tracking-[0.08em] text-muted-foreground',\n sizes: { sm: 'text-2xs', md: 'text-xs', lg: 'text-sm' },\n }),\n [TypographyVariant.DESCRIPTION]: recipe({\n base: 'font-sans text-muted-foreground text-base leading-relaxed italic',\n sizes: { sm: 'text-sm', md: 'text-base' },\n }),\n [TypographyVariant.CODE]: recipe({\n base: 'font-mono text-[0.9em] bg-muted/60 rounded-sm px-1.5 py-0.5 border border-foreground/10',\n sizes: { sm: 'text-xs', md: 'text-sm', lg: 'text-base' },\n }),\n};\n\n// ============================================================\n// SPACING\n// Editorial is the most spacious theme. We're not optimising for\n// information density — we're optimising for legibility, breathing\n// room, and the \"magazine spread\" feel. Card and container padding\n// are deliberately bigger than glass (the previous spaciousness\n// champion) to push the lineup further apart.\n// ============================================================\n\nconst spacing: ComponentStyleTheme['spacing'] = {\n [SpacingSemantic.ELEMENT]: '0.625rem',\n [SpacingSemantic.ITEM]: '0.5rem',\n [SpacingSemantic.GROUP]: '1.125rem',\n [SpacingSemantic.FIELD]: '1.5rem',\n [SpacingSemantic.SECTION]: '2.5rem',\n [SpacingSemantic.REGION]: '4rem',\n [SpacingSemantic.CARD]: '1.75rem',\n [SpacingSemantic.CONTAINER]: '2.5rem',\n};\n\n// ============================================================\n// REQUIRED CUSTOM TOKENS — palette + serif font stack\n//\n// Editorial is fully defined by its serif headings + warm-paper palette.\n// Without these overrides the theme would inherit the host's sans-serif\n// stack and read as \"default theme with bigger margins\". Same mechanism\n// as neo-brutalist: `requiredCustomTokens` is applied AFTER both\n// `applyDesignTokens` and `applyTypographyConfiguration` (TR-11), so\n// these wins over both host palette AND host font config.\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 { type: DesignTokenValueType.COLOR, modeStrategy: DesignTokenModeStrategy.SINGLE, value: oklch };\n}\n\nfunction stringSingle(value: string): DesignTokenConfiguration {\n return { type: DesignTokenValueType.STRING, modeStrategy: DesignTokenModeStrategy.SINGLE, value };\n}\n\nconst requiredCustomTokens: Record<string, DesignTokenConfiguration> = {\n // === Page palette: warm off-white \"newsprint\" in light, deep ink-grey\n // in dark. The slight warmth (0.005 chroma at hue 80) reads as paper,\n // not as cold UI white.\n background: colorOverride('0.985 0.005 80', '0.145 0.008 270'),\n foreground: colorOverride('0.18 0.008 270', '0.96 0.005 80'),\n\n // === Accent: deep ink-blue (the classic \"publication\" color). Light\n // mode at L=0.42 ensures black-on-blue would be too low contrast, so\n // primary-foreground stays white. Dark mode lifts to 0.68 so it pops\n // against the dark page without losing the ink quality.\n primary: colorOverride('0.42 0.13 255', '0.68 0.14 255'),\n 'primary-foreground': colorOverride('0.985 0.005 80', '0.10 0.01 270'),\n\n // === Secondary: very pale cream / very deep slate (almost-bg).\n secondary: colorOverride('0.95 0.008 80', '0.21 0.01 270'),\n 'secondary-foreground': colorOverride('0.20 0.008 270', '0.95 0.005 80'),\n\n // === Muted: even paler — for inset surfaces, code blocks, etc.\n muted: colorOverride('0.94 0.01 80', '0.22 0.01 270'),\n 'muted-foreground': colorOverride('0.45 0.015 270', '0.70 0.01 80'),\n\n // === Borders: hairline-grey, never approaches foreground darkness.\n border: colorOverride('0.88 0.005 80', '0.30 0.008 270'),\n ring: colorOverride('0.42 0.13 255', '0.68 0.14 255'),\n input: colorOverride('0.88 0.005 80', '0.30 0.008 270'),\n\n // === Destructive: a refined publishing red — warmer and more \"ink\"\n // than the default theme's cool red. Light L=0.50 is comfortable with\n // white text (~6:1).\n destructive: colorOverride('0.50 0.20 28', '0.62 0.22 28'),\n 'destructive-foreground': colorSingle('1 0 0'),\n\n // === Accent gradient: subdued ink-blue → muted gold → terracotta —\n // a \"library spine\" gradient, nothing neon. Dramatically less saturated\n // than default's violet/blue/pink.\n 'accent-gradient-from': colorOverride('0.42 0.13 255', '0.68 0.14 255'),\n 'accent-gradient-via': colorOverride('0.65 0.10 80', '0.72 0.10 80'),\n 'accent-gradient-to': colorOverride('0.55 0.13 30', '0.65 0.14 30'),\n\n // === Font stacks: the heart of the theme. Serif heading + humanist\n // sans body. Hosts that @font-face Source Serif 4 / Source Sans 3\n // get the canonical look; everyone else falls through to system serif\n // (Georgia/Iowan Old Style on macOS, Cambria on Windows) — still\n // distinctively serif vs the rest of the lineup.\n 'font-heading': stringSingle(\n \"'Source Serif 4', 'Source Serif Pro', 'Crimson Pro', 'Tiempos Text', 'Iowan Old Style', Georgia, 'Times New Roman', serif\"\n ),\n 'font-body': stringSingle(\n \"'Source Sans 3', 'Source Sans Pro', Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif\"\n ),\n};\n\n// ============================================================\n// ASSEMBLED THEME\n// ============================================================\n\nexport const editorialTheme: ComponentStyleTheme = {\n id: 'editorial',\n name: 'Editorial',\n description:\n 'Publication-grade theme for long-form reading and knowledge bases. Serif headings (Source Serif / Crimson Pro / Georgia fallback), humanist-sans body with relaxed line-height, hairline borders (no shadows on cards — only on dialogs), 2px radius, generous spacing scale (largest in lineup). Warm-paper palette with deep ink-blue accent and a subdued ink-gold-terracotta accent gradient. Slow ease-out motion, underlined links by default. Ships its own serif/sans font stacks via requiredCustomTokens — host fonts are 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: '2px',\n backgroundLayer: undefined,\n chartStyle: {\n // Editorial charts are restrained: thin lines, no fills, no tooltip\n // shadows, classical typography.\n colorShadeLight: 600,\n colorShadeDark: 400,\n gridPadding: { top: 30, right: 20, bottom: 30, left: 60 },\n axis: {\n showAxisLine: true,\n showTicks: true,\n splitLineType: 'dashed',\n hideOverlap: true,\n yAxisNameLocation: 'middle',\n yAxisNameGap: 50,\n },\n tooltip: {\n extraCss: 'border: 1px solid color-mix(in oklch, currentColor 15%, transparent); box-shadow: none;',\n borderWidth: 1,\n },\n animation: { enabled: true, durationMs: 500, easing: 'cubicOut' },\n series: { lineWidth: 1.5, pointSize: 4, areaOpacity: 0.08, barBorderRadius: 0, pieBorderWidth: 1 },\n typography: {\n titleFontSize: 17,\n titleFontWeight: 600,\n subtitleFontSize: 13,\n legendFontSize: 12,\n tooltipFontSize: 12,\n axisLabelFontSize: 11,\n axisNameFontSize: 12,\n },\n emphasis: { shadowBlur: 0, shadowColor: 'transparent', shadowOffsetX: 0 },\n responsive: {\n smallMaxWidth: 400,\n mediumMaxWidth: 799,\n smallGridPadding: { top: 20, right: 10, bottom: 20, left: 30 },\n mediumGridPadding: { left: 50, right: 20, bottom: 40 },\n hideLegendOnSmall: true,\n smallAxisLabelRotate: 45,\n smallFontSize: 10,\n mediumFontSize: 11,\n },\n multiSeriesLegendBottomPadding: 50,\n },\n};\n"]}
1
+ {"version":3,"file":"editorial.theme.js","sourceRoot":"","sources":["../../../../src/themes/editorial.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// Editorial theme\n//\n// Persona: long-form reading, knowledge bases, thought-leadership SaaS,\n// publication-grade dashboards.\n// References: NYTimes, Stripe Press, Substack, The Verge, Vercel Press.\n//\n// Design DNA:\n// - SERIF headings (Source Serif 4 / Crimson Pro / Tiempos / Georgia fallback)\n// — every other theme in the lineup is sans; serif is the immediate\n// visual signature of \"publication-grade\".\n// - Humanist-sans body (Source Sans 3 / Inter) with generous line-height\n// so paragraphs feel like article copy, not UI strings.\n// - Hairline borders only (`border-foreground/10`), almost no shadows —\n// editorial layouts trust whitespace and typography to do the heavy\n// lifting; box-shadows would feel \"gadget-y\".\n// - 2px radius — the page reads as paper, not as plastic chrome.\n// - GENEROUS spacing scale (largest in lineup) — column-grid breathing\n// room, like a printed magazine spread.\n// - Single-accent palette: warm off-white background, charcoal text,\n// deep ink-blue accent. The whole page is monochrome until you reach\n// a link, a tag, or a focus ring — then a single intentional color.\n// - Slow, elegant motion (normal duration, ease-out) — refined, not snappy.\n// - Underlined links by default (web-typographic convention), hover\n// thickens the underline rather than removing it.\n// ============================================================\n\n// -- Shared constants --\n\nconst ED = {\n /** Hairline rule: hugely subtle, lets typography lead. */\n hairline: 'border border-foreground/10',\n /** Slightly stronger hairline for surfaces that need a definitive edge. */\n edge: 'border border-foreground/15',\n /*\n * A TEXT INPUT's edge, as distinct from `edge`. An input's border is its only cue that it is an\n * input, so it owes 3:1 against the page (WCAG 2.1 SC 1.4.11); `edge` is this theme's foreground\n * at a low alpha, which cannot reach that at any strength this theme uses (foreground/30 is 1.95:1\n * in light). `border-strong` is palette-derived and pinned at 3:1 on the token, so it follows this\n * theme's own colours. Hairlines and card edges keep `edge`: a line between two regions is\n * decoration and owes nothing (#1443, after #1322).\n */\n inputEdge: 'border border-border-strong',\n radius: 'rounded-sm',\n focus:\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background',\n disabled: 'disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)] aria-disabled:cursor-not-allowed aria-disabled:opacity-[var(--opacity-disabled)]',\n invalid:\n 'aria-invalid:ring-destructive/30 dark:aria-invalid:ring-destructive/50 aria-invalid:border-destructive',\n};\n\n// ============================================================\n// MOTION PERSONALITY — Editorial\n// ============================================================\n// Hover/focus : NORMAL (250ms) + DEFAULT → bidirectional state-change\n// tempo. DEFAULT (Material\n// Standard) is correct here\n// over ENTER because hover\n// flips both ways and a\n// pure ease-out feels mushy\n// when reverting to rest.\n// Overlay enter: SLOW (350ms) + ENTER → \"page-turn\" pacing.\n// ENTER (pure decelerate)\n// for the slow settle that\n// defines publication UI.\n// Overlay exit : NORMAL (250ms) + EXIT → quicker than enter (rule\n// of thumb: exit < enter,\n// \"out faster than in\").\n// Backdrop : SLOW/NORMAL + ENTER/EXIT → matches overlays.\n// Gestures : NONE — print/serif aesthetics avoid bouncy\n// interactivity. The tempo IS the personality; springs\n// would feel like Material Design pasted into NYT.\n//\n// TR-14 motion-coherence: backdrop animations now carry explicit\n// ENTER/EXIT easing tokens (previously omitted, fell back to CSS `ease`).\n// ============================================================\nconst ED_MOTION = {\n interactive:\n 'transition-[background-color,color,border-color,box-shadow,text-decoration-thickness] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-default)] motion-reduce:transition-none',\n formControl:\n 'transition-[color,border-color,box-shadow] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-default)] motion-reduce:transition-none',\n selectable:\n 'transition-[background-color,color,border-color] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-default)] motion-reduce:transition-none',\n enterFadeZoom:\n '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:\n '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:\n '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:\n '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:\n '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\n// ============================================================\n// INTERACTIVE\n// Editorial buttons are restrained: no shadows, hairline borders, type\n// is the focal point. Press feedback is a subtle bg shift, not a scale.\n// ============================================================\n\nconst interactiveSizes: Record<string, string> = {\n xs: 'h-7 px-3 text-xs gap-1.5 pointer-coarse:min-h-9',\n sm: 'h-8 px-3.5 gap-2 pointer-coarse:min-h-11',\n md: 'h-10 px-5 py-2 pointer-coarse:min-h-11',\n lg: 'h-12 px-7 pointer-coarse:min-h-12',\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 [InteractiveVariant.PRIMARY]: recipe({\n base: `bg-primary text-primary-foreground ${ED.radius} font-medium text-sm tracking-tight cursor-pointer`,\n states: {\n hover: 'hover:bg-primary/90',\n active: 'active:bg-primary/80',\n focus: ED.focus,\n disabled: ED.disabled,\n invalid: ED.invalid,\n },\n sizes: interactiveSizes,\n motion: { transition: ED_MOTION.interactive },\n }),\n\n [InteractiveVariant.SECONDARY]: recipe({\n base: `bg-secondary text-secondary-foreground ${ED.radius} font-medium text-sm tracking-tight cursor-pointer`,\n states: {\n hover: 'hover:bg-secondary/80',\n active: 'active:bg-secondary/70',\n focus: ED.focus,\n disabled: ED.disabled,\n invalid: ED.invalid,\n },\n sizes: interactiveSizes,\n motion: { transition: ED_MOTION.interactive },\n }),\n\n [InteractiveVariant.OUTLINE]: recipe({\n base: `bg-transparent text-foreground ${ED.edge} ${ED.radius} font-medium text-sm tracking-tight cursor-pointer`,\n states: {\n hover: 'hover:bg-muted hover:border-foreground/25',\n active: 'active:bg-muted/80',\n focus: ED.focus,\n selected: 'data-[state=on]:bg-muted data-[state=on]:border-foreground/30',\n disabled: ED.disabled,\n invalid: ED.invalid,\n },\n sizes: interactiveSizes,\n motion: { transition: ED_MOTION.interactive },\n }),\n\n [InteractiveVariant.DESTRUCTIVE]: recipe({\n base: `bg-destructive text-destructive-foreground ${ED.radius} font-medium text-sm tracking-tight cursor-pointer`,\n states: {\n hover: 'hover:bg-destructive/90',\n active: 'active:bg-destructive/80',\n focus: ED.focus,\n highlighted: 'focus:bg-destructive/10 focus:text-destructive',\n disabled: ED.disabled,\n invalid: ED.invalid,\n },\n sizes: interactiveSizes,\n motion: { transition: ED_MOTION.interactive },\n }),\n\n [InteractiveVariant.GHOST]: recipe({\n base: `text-foreground ${ED.radius} font-medium text-sm tracking-tight cursor-pointer`,\n states: {\n hover: 'hover:bg-muted',\n active: 'active:bg-muted/80',\n focus: ED.focus,\n selected: 'data-[state=on]:bg-muted data-[state=on]:text-foreground',\n highlighted: 'focus:bg-muted',\n open: 'data-[state=open]:bg-muted',\n disabled: ED.disabled,\n invalid: ED.invalid,\n },\n sizes: interactiveSizes,\n motion: { transition: ED_MOTION.interactive },\n }),\n\n // Editorial links: underlined by default, web-typographic convention.\n // Hover thickens the decoration rather than removing it (the underline IS\n // the affordance — never strip it on hover, that's an anti-pattern in\n // long-form copy).\n [InteractiveVariant.LINK]: recipe({\n base: 'text-primary underline underline-offset-[3px] decoration-primary/40 decoration-1 font-medium text-sm cursor-pointer',\n states: {\n hover: 'hover:decoration-primary hover:decoration-2',\n active: 'active:text-primary/80',\n focus: ED.focus,\n disabled: ED.disabled,\n invalid: ED.invalid,\n },\n sizes: {\n xs: 'h-7 px-2 text-xs gap-1 pointer-coarse:min-h-9',\n sm: 'h-8 px-2 gap-1.5 pointer-coarse:min-h-11',\n md: 'h-10 px-2 py-2 pointer-coarse:min-h-11',\n lg: 'h-12 px-2 pointer-coarse:min-h-12',\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 motion: { transition: ED_MOTION.interactive },\n }),\n\n // Editorial accent: a refined letterpress-feel button — primary fill,\n // restrained gradient sweep (no rainbow), small caps tracking.\n [InteractiveVariant.ACCENT]: recipe({\n base: `relative bg-primary text-primary-foreground font-semibold uppercase tracking-[0.08em] ${ED.radius} bg-[length:200%_100%] bg-gradient-to-r from-accent-gradient-from via-accent-gradient-via to-accent-gradient-to animate-[gradient-rotate_5s_ease_infinite] motion-reduce:animate-none text-xs cursor-pointer`,\n states: {\n hover: 'hover:brightness-105',\n active: 'active:brightness-95',\n focus: ED.focus,\n disabled: ED.disabled,\n invalid: ED.invalid,\n },\n sizes: interactiveSizes,\n motion: {\n transition:\n 'transition-[background-position,filter] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-default)] motion-reduce:transition-none',\n },\n }),\n};\n\n// ============================================================\n// SURFACE\n// SURFACE PERSONALITY — paper, not chrome: hairlines over shadows, page shell\n// as paper stock, transient notices as restrained clipping cards.\n// Editorial surfaces are paper, not chrome. Hairline rules + warm bg.\n// No drop shadows on cards (a magazine doesn't levitate its articles).\n// Dialogs get one soft shadow because they ARE elevated above the page.\n// ============================================================\n\nconst surface: ComponentStyleTheme['surface'] = {\n [SurfaceVariant.BASE]: recipe({\n base: `bg-background text-foreground ${ED.hairline} ${ED.radius}`,\n }),\n\n [SurfaceVariant.CARD]: recipe({\n // Content card: distinct `surface-raised` fill + editorial edge + radius.\n // Restrained — no shadow on an inline card (editorial reserves shadows for\n // genuinely floating surfaces). Always painted.\n base: `bg-surface-raised text-surface-raised-foreground ${ED.edge} ${ED.radius}`,\n }),\n\n [SurfaceVariant.RAISED]: recipe({\n // Popover: a small shadow IS warranted (it's actually floating), but\n // restrained — no two-step \"md+xl\" stack like Material.\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-background fill-background text-foreground ${ED.edge} ${ED.radius} shadow-[0_4px_12px_rgba(0,0,0,0.04)] dark:shadow-[0_4px_12px_rgba(0,0,0,0.4)]`,\n motion: {\n enter: ED_MOTION.enterDirectional,\n exit: ED_MOTION.exitFadeZoom,\n },\n }),\n\n [SurfaceVariant.OVERLAY]: recipe({\n // Dialog: this is the only surface where editorial accepts a real\n // shadow — modals genuinely lift \"off the page\" and the eye needs\n // depth to lock onto them.\n base: `bg-background text-foreground ${ED.edge} ${ED.radius} shadow-[0_24px_64px_rgba(0,0,0,0.12)] dark:shadow-[0_24px_64px_rgba(0,0,0,0.6)]`,\n motion: {\n enter: ED_MOTION.enterFadeZoom,\n exit: ED_MOTION.exitFadeZoom,\n },\n }),\n\n [SurfaceVariant.INSET]: recipe({\n base: `bg-muted/40 text-foreground ${ED.radius}`,\n }),\n\n [SurfaceVariant.SUNKEN]: recipe({\n base: 'bg-muted/30 text-foreground border-r border-foreground/10',\n }),\n\n [SurfaceVariant.TAB_PANEL]: recipe({\n // A paper continuation below the tab rule: no shadow, no top border.\n base: 'bg-background text-foreground border-x border-b border-foreground/12 rounded-b-sm',\n }),\n\n [SurfaceVariant.SHELL]: recipe({\n // Page shell is simply the paper stock.\n base: 'bg-background text-foreground',\n policy: {\n content: {\n wrapStrategy: 'pretty',\n },\n },\n }),\n\n [SurfaceVariant.TRANSIENT]: recipe({\n // Toast: newspaper notice card — hairline, restrained lift.\n base: `bg-background text-foreground ${ED.edge} ${ED.radius} shadow-[0_8px_24px_rgba(0,0,0,0.08)] dark:shadow-[0_8px_24px_rgba(0,0,0,0.5)]`,\n motion: {\n enter: ED_MOTION.enterDirectional,\n exit: ED_MOTION.exitFadeZoom,\n },\n }),\n};\n\n// ============================================================\n// FORM_CONTROL\n// Inputs are quiet. Hairline border, no shadow. Focus ring becomes a\n// solid 2px ring (the only loud thing in the form).\n// ============================================================\n\nconst formControl: Record<FormControlVariant, UIBehaviorRecipe> = {\n [FormControlVariant.DEFAULT]: recipe({\n base: `bg-background ${ED.inputEdge} ${ED.radius} text-base md:text-sm text-foreground placeholder:text-muted-foreground selection:bg-primary/20 selection:text-foreground`,\n states: {\n focus: ED.focus,\n disabled: 'disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]',\n invalid: ED.invalid,\n },\n sizes: {\n md: 'h-10 px-3 py-2 pointer-coarse:min-h-11',\n sm: 'h-9 px-3 text-sm pointer-coarse:min-h-11',\n lg: 'h-12 px-4 py-2 pointer-coarse:min-h-12',\n },\n motion: { transition: ED_MOTION.formControl },\n }),\n\n [FormControlVariant.FILLED]: recipe({\n // Fill PLUS a bottom indicator line: a fill alone (about 1.3:1) marks nothing as an input, and `invalid` sets a border colour a borderless field cannot show.\n base: `bg-muted/50 rounded-t-sm rounded-b-none border-0 border-b border-border-strong text-base md:text-sm text-foreground placeholder:text-muted-foreground`,\n states: {\n focus: ED.focus,\n disabled: 'disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]',\n invalid: ED.invalid,\n },\n sizes: {\n md: 'h-10 px-3 py-2 pointer-coarse:min-h-11',\n sm: 'h-9 px-3 text-sm pointer-coarse:min-h-11',\n lg: 'h-12 px-4 py-2 pointer-coarse:min-h-12',\n },\n motion: { transition: ED_MOTION.formControl },\n }),\n\n [FormControlVariant.UNDERLINED]: recipe({\n // The most editorial-looking form variant: a single hairline rule\n // under the field — like filling in a paper form.\n base: 'bg-transparent border-0 border-b border-border-strong rounded-none text-base md:text-sm text-foreground placeholder:text-muted-foreground',\n states: {\n focus: 'focus-visible:outline-none focus-visible:border-primary focus-visible:border-b-2',\n disabled: 'disabled:opacity-[var(--opacity-disabled)]',\n invalid: 'aria-invalid:border-destructive',\n },\n sizes: {\n md: 'h-10 px-0 py-2 pointer-coarse:min-h-11',\n sm: 'h-9 px-0 text-sm pointer-coarse:min-h-11',\n lg: 'h-12 px-0 py-2 pointer-coarse:min-h-12',\n },\n motion: {\n transition:\n 'transition-[border-color] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-default)] motion-reduce:transition-none',\n },\n }),\n\n [FormControlVariant.CHECKBOX]: recipe({\n base: `${ED.inputEdge} ${ED.radius}`,\n states: {\n focus: ED.focus,\n selected:\n 'data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary',\n disabled: 'disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]',\n invalid: ED.invalid,\n },\n motion: {\n transition:\n 'transition-[color,box-shadow] duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-default)] motion-reduce:transition-none',\n },\n }),\n\n [FormControlVariant.SWITCH]: recipe({\n base: 'data-[state=unchecked]:bg-muted border border-foreground/15',\n states: {\n focus: ED.focus,\n selected: 'data-[state=checked]:bg-primary',\n disabled: 'disabled:cursor-not-allowed disabled:opacity-[var(--opacity-disabled)]',\n invalid: ED.invalid,\n },\n motion: {\n transition:\n 'transition-all duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-default)] motion-reduce:transition-none',\n },\n }),\n};\n\n// ============================================================\n// INDICATOR\n// Editorial indicators are muted, restrained. No fill saturation —\n// indicator background is a tint, text carries the semantic color.\n// ============================================================\n\nconst edIndicatorShared = {\n states: { hover: '[a&]:hover:opacity-[var(--opacity-hover)]', focus: ED.focus, invalid: ED.invalid },\n motion: { transition: ED_MOTION.interactive },\n};\n\nconst indicator: Record<IndicatorVariant, UIBehaviorRecipe> = {\n [IndicatorVariant.NEUTRAL]: recipe({\n base: `bg-muted/60 text-muted-foreground ${ED.radius} ${ED.hairline} px-2 py-0.5 text-xs font-medium uppercase tracking-wider`,\n ...edIndicatorShared,\n }),\n [IndicatorVariant.INFO]: recipe({\n base: `bg-info/10 text-info ${ED.radius} border border-info/20 px-2 py-0.5 text-xs font-medium uppercase tracking-wider`,\n ...edIndicatorShared,\n }),\n [IndicatorVariant.SUCCESS]: recipe({\n base: `bg-success/10 text-success ${ED.radius} border border-success/20 px-2 py-0.5 text-xs font-medium uppercase tracking-wider`,\n ...edIndicatorShared,\n }),\n [IndicatorVariant.WARNING]: recipe({\n base: `bg-warning/10 text-warning ${ED.radius} border border-warning/20 px-2 py-0.5 text-xs font-medium uppercase tracking-wider`,\n ...edIndicatorShared,\n }),\n [IndicatorVariant.ERROR]: recipe({\n base: `bg-destructive/10 text-destructive ${ED.radius} border border-destructive/25 px-2 py-0.5 text-xs font-medium uppercase tracking-wider`,\n ...edIndicatorShared,\n }),\n};\n\n// ============================================================\n// SELECTABLE\n// The underline-active tab pattern is editorial-iconic (think TOC of a\n// magazine). Pill and indicator variants follow but the underline is the\n// theme's signature selectable.\n// ============================================================\n\nconst selectable: Record<SelectableVariant, UIBehaviorRecipe> = {\n [SelectableVariant.FILLED]: recipe({\n base: `${ED.radius} text-sm outline-hidden`,\n states: {\n hover: 'hover:bg-muted',\n focus: 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/60',\n selected:\n 'data-[active=true]:bg-muted data-[active=true]:text-foreground data-[active=true]:font-medium data-[state=active]:bg-muted data-[state=active]:text-foreground',\n disabled: 'disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]',\n },\n sizes: { sm: 'h-7 text-xs', md: 'h-9 text-sm', lg: 'h-12 text-sm' },\n motion: { transition: ED_MOTION.selectable },\n }),\n [SelectableVariant.UNDERLINE]: recipe({\n // Editorial signature: 1px hairline becomes 2px solid on active —\n // the same visual language as section headers in print.\n base: 'rounded-none border-b border-transparent text-sm text-muted-foreground outline-hidden',\n states: {\n hover: 'hover:text-foreground',\n focus: 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/60',\n selected:\n 'data-[state=active]:border-b-2 data-[state=active]:border-primary data-[state=active]:text-foreground data-[state=active]:font-medium',\n disabled: 'disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]',\n },\n sizes: { sm: 'h-8 text-xs pb-1', md: 'h-10 text-sm pb-2', lg: 'h-12 text-sm pb-3' },\n motion: { transition: ED_MOTION.selectable },\n }),\n [SelectableVariant.PILL]: recipe({\n base: `${ED.radius} text-sm outline-hidden ${ED.hairline} border-transparent`,\n states: {\n hover: 'hover:bg-muted hover:border-foreground/15',\n focus: 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/60',\n selected:\n 'data-[state=active]:bg-foreground data-[state=active]:text-background data-[state=active]:border-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: ED_MOTION.selectable },\n }),\n [SelectableVariant.INDICATOR]: recipe({\n base: `${ED.radius} text-sm outline-hidden border-s border-transparent`,\n states: {\n hover: 'hover:bg-muted',\n focus: 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/60',\n selected:\n 'data-[active=true]:border-s-2 data-[active=true]:border-primary data-[active=true]:text-foreground data-[active=true]:font-medium',\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: ED_MOTION.selectable },\n }),\n};\n\n// ============================================================\n// OVERLAY, DIVIDER, SKELETON\n// ============================================================\n\nconst overlayBackdrop: UIBehaviorRecipe = recipe({\n // Editorial backdrop: warm sepia-tinted scrim, very subtle blur.\n base: 'bg-foreground/40 backdrop-blur-[2px]',\n motion: {\n enter: ED_MOTION.backdropEnter,\n exit: ED_MOTION.backdropExit,\n },\n});\n\nconst divider: Record<DividerVariant, UIBehaviorRecipe> = {\n [DividerVariant.DEFAULT]: recipe({ base: 'bg-foreground/12 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-foreground/12' }),\n};\n\nconst skeleton: UIBehaviorRecipe = recipe({\n base: `${SKELETON_NEUTRAL_TINT} animate-pulse ${ED.radius} motion-reduce:animate-none`,\n});\n\nconst loadingSpinner: UIBehaviorRecipe = recipe({\n base: 'text-muted-foreground animate-spin motion-reduce:animate-none',\n});\n\nconst loadingOverlay: UIBehaviorRecipe = recipe({\n base: 'bg-background/85',\n motion: {\n enter: 'animate-in fade-in-0 duration-[var(--motion-duration-slow)] ease-[var(--motion-easing-enter)] motion-reduce:animate-none',\n exit: 'animate-out fade-out-0 duration-[var(--motion-duration-normal)] ease-[var(--motion-easing-exit)] motion-reduce:animate-none',\n },\n});\n\n// ============================================================\n// TYPOGRAPHY\n// The signature of the theme. Serif headings, generous body line-height,\n// classical scale. We keep the mid-tier sizes so existing layouts don't\n// shift — but h1 stays large because editorial is unapologetic about\n// hero typography (it's the article title).\n// ============================================================\n\nconst typography: Record<TypographyVariant, UIBehaviorRecipe> = {\n [TypographyVariant.HEADING]: recipe({\n // `font-heading` resolves to the serif stack (see requiredCustomTokens\n // below). Tracking-tight on serifs prevents the natural air between\n // wide letters from looking sloppy at large sizes.\n base: 'font-heading font-semibold leading-tight tracking-tight text-foreground',\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-lg',\n },\n }),\n [TypographyVariant.BODY]: recipe({\n // `leading-relaxed` (1.625) on body is the most editorial-feeling\n // change in the whole theme — it turns UI strings into article copy.\n base: 'font-sans text-foreground text-base leading-relaxed',\n sizes: { sm: 'text-sm', md: 'text-base', lg: 'text-lg' },\n }),\n [TypographyVariant.LABEL]: recipe({\n // Small caps tracking on labels — print-typography idiom for \"section\n // marker\" / \"metadata\". Pairs with the indicator uppercase tracking.\n // `font-sans` (NOT `font-body`) — only `font-sans/serif/mono/heading/display`\n // are exposed as Tailwind utilities via @theme; `font-sans` resolves to\n // `var(--font-body)` which our requiredCustomTokens overrides to the\n // humanist-sans stack. Using `font-body` here would silently no-op.\n base: 'font-sans font-medium text-2xs leading-none uppercase tracking-[0.08em] text-muted-foreground',\n sizes: { sm: 'text-2xs', md: 'text-xs', lg: 'text-sm' },\n }),\n [TypographyVariant.DESCRIPTION]: recipe({\n base: 'font-sans text-muted-foreground text-base leading-relaxed italic',\n sizes: { sm: 'text-sm', md: 'text-base' },\n }),\n [TypographyVariant.EYEBROW]: recipe({\n base: 'font-sans text-foreground-subtle text-xs font-medium uppercase tracking-[0.18em]',\n sizes: { sm: 'text-2xs', md: 'text-xs' },\n }),\n [TypographyVariant.CODE]: recipe({\n base: 'font-mono text-[0.9em] bg-muted/60 rounded-sm px-1.5 py-0.5 border border-foreground/10',\n sizes: { sm: 'text-xs', md: 'text-sm', lg: 'text-base' },\n }),\n};\n\n// ============================================================\n// SPACING\n// Editorial is the most spacious theme. We're not optimising for\n// information density — we're optimising for legibility, breathing\n// room, and the \"magazine spread\" feel. Card and container padding\n// are deliberately bigger than glass (the previous spaciousness\n// champion) to push the lineup further apart.\n// ============================================================\n\nconst spacing: ComponentStyleTheme['spacing'] = {\n [SpacingSemantic.ELEMENT]: '0.625rem',\n [SpacingSemantic.ITEM]: '0.5rem',\n [SpacingSemantic.GROUP]: '1.125rem',\n [SpacingSemantic.FIELD]: '1.5rem',\n [SpacingSemantic.SECTION]: '2.5rem',\n [SpacingSemantic.REGION]: '4rem',\n [SpacingSemantic.CARD]: '1.75rem',\n [SpacingSemantic.CONTAINER]: '2.5rem',\n};\n\n// ============================================================\n// REQUIRED CUSTOM TOKENS — palette + serif font stack\n//\n// Editorial is fully defined by its serif headings + warm-paper palette.\n// Without these overrides the theme would inherit the host's sans-serif\n// stack and read as \"default theme with bigger margins\". Same mechanism\n// as neo-brutalist: `requiredCustomTokens` is applied AFTER both\n// `applyDesignTokens` and `applyTypographyConfiguration` (TR-11), so\n// these wins over both host palette AND host font config.\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 { type: DesignTokenValueType.COLOR, modeStrategy: DesignTokenModeStrategy.SINGLE, value: oklch };\n}\n\nfunction stringSingle(value: string): DesignTokenConfiguration {\n return { type: DesignTokenValueType.STRING, modeStrategy: DesignTokenModeStrategy.SINGLE, value };\n}\n\nconst requiredCustomTokens: Record<string, DesignTokenConfiguration> = {\n // === Page palette: warm off-white \"newsprint\" in light, deep ink-grey\n // in dark. The slight warmth (0.005 chroma at hue 80) reads as paper,\n // not as cold UI white.\n background: colorOverride('0.985 0.005 80', '0.145 0.008 270'),\n foreground: colorOverride('0.18 0.008 270', '0.96 0.005 80'),\n\n // === Accent: deep ink-blue (the classic \"publication\" color). Light\n // mode at L=0.42 ensures black-on-blue would be too low contrast, so\n // primary-foreground stays white. Dark mode lifts to 0.68 so it pops\n // against the dark page without losing the ink quality.\n primary: colorOverride('0.42 0.13 255', '0.68 0.14 255'),\n 'primary-foreground': colorOverride('0.985 0.005 80', '0.10 0.01 270'),\n\n // === Secondary: very pale cream / very deep slate (almost-bg).\n secondary: colorOverride('0.95 0.008 80', '0.21 0.01 270'),\n 'secondary-foreground': colorOverride('0.20 0.008 270', '0.95 0.005 80'),\n\n // === Muted: even paler — for inset surfaces, code blocks, etc.\n muted: colorOverride('0.94 0.01 80', '0.22 0.01 270'),\n 'muted-foreground': colorOverride('0.45 0.015 270', '0.70 0.01 80'),\n\n // === Borders: hairline-grey, never approaches foreground darkness.\n border: colorOverride('0.88 0.005 80', '0.30 0.008 270'),\n ring: colorOverride('0.42 0.13 255', '0.68 0.14 255'),\n input: colorOverride('0.88 0.005 80', '0.30 0.008 270'),\n\n // === Destructive: a refined publishing red — warmer and more \"ink\"\n // than the default theme's cool red. Light L=0.50 is comfortable with\n // white text (~6:1).\n destructive: colorOverride('0.50 0.20 28', '0.62 0.22 28'),\n 'destructive-foreground': colorSingle('1 0 0'),\n\n // === Accent gradient: subdued ink-blue → muted gold → terracotta —\n // a \"library spine\" gradient, nothing neon. Dramatically less saturated\n // than default's violet/blue/pink.\n 'accent-gradient-from': colorOverride('0.42 0.13 255', '0.68 0.14 255'),\n 'accent-gradient-via': colorOverride('0.65 0.10 80', '0.72 0.10 80'),\n 'accent-gradient-to': colorOverride('0.55 0.13 30', '0.65 0.14 30'),\n\n // === Font stacks: the heart of the theme. Serif heading + humanist\n // sans body. Hosts that @font-face Source Serif 4 / Source Sans 3\n // get the canonical look; everyone else falls through to system serif\n // (Georgia/Iowan Old Style on macOS, Cambria on Windows) — still\n // distinctively serif vs the rest of the lineup.\n 'font-heading': stringSingle(\n \"'Source Serif 4', 'Source Serif Pro', 'Crimson Pro', 'Tiempos Text', 'Iowan Old Style', Georgia, 'Times New Roman', serif\"\n ),\n 'font-body': stringSingle(\n \"'Source Sans 3', 'Source Sans Pro', Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif\"\n ),\n};\n\n// ============================================================\n// ASSEMBLED THEME\n// ============================================================\n\nexport const editorialTheme: ComponentStyleTheme = {\n id: 'editorial',\n name: 'Editorial',\n description:\n 'Publication-grade theme for long-form reading and knowledge bases. Serif headings (Source Serif / Crimson Pro / Georgia fallback), humanist-sans body with relaxed line-height, hairline borders (no shadows on cards — only on dialogs), 2px radius, generous spacing scale (largest in lineup). Warm-paper palette with deep ink-blue accent and a subdued ink-gold-terracotta accent gradient. Slow ease-out motion, underlined links by default. Ships its own serif/sans font stacks via requiredCustomTokens — host fonts are 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: '2px',\n backgroundLayer: undefined,\n chartStyle: {\n // Editorial charts are restrained: thin lines, no fills, no tooltip\n // shadows, classical typography.\n colorShadeLight: 600,\n colorShadeDark: 400,\n gridPadding: { top: 30, right: 20, bottom: 30, left: 60 },\n axis: {\n showAxisLine: true,\n showTicks: true,\n splitLineType: 'dashed',\n hideOverlap: true,\n yAxisNameLocation: 'middle',\n yAxisNameGap: 50,\n },\n tooltip: {\n extraCss: 'border: 1px solid color-mix(in oklch, currentColor 15%, transparent); box-shadow: none;',\n borderWidth: 1,\n },\n animation: { enabled: true, durationMs: 500, easing: 'cubicOut' },\n series: { lineWidth: 1.5, pointSize: 4, areaOpacity: 0.08, barBorderRadius: 0, pieBorderWidth: 1 },\n typography: {\n titleFontSize: 17,\n titleFontWeight: 600,\n subtitleFontSize: 13,\n legendFontSize: 12,\n tooltipFontSize: 12,\n axisLabelFontSize: 11,\n axisNameFontSize: 12,\n },\n emphasis: { shadowBlur: 0, shadowColor: 'transparent', shadowOffsetX: 0 },\n responsive: {\n smallMaxWidth: 400,\n mediumMaxWidth: 799,\n smallGridPadding: { top: 20, right: 10, bottom: 20, left: 30 },\n mediumGridPadding: { left: 50, right: 20, bottom: 40 },\n hideLegendOnSmall: true,\n smallAxisLabelRotate: 45,\n smallFontSize: 10,\n mediumFontSize: 11,\n },\n multiSeriesLegendBottomPadding: 50,\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"glass.theme.d.ts","sourceRoot":"","sources":["../../../src/themes/glass.theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAwB,MAAM,qCAAqC,CAAC;AAiuBrG,eAAO,MAAM,UAAU,EAAE,mBAkDxB,CAAC"}
1
+ {"version":3,"file":"glass.theme.d.ts","sourceRoot":"","sources":["../../../../src/themes/glass.theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAwB,MAAM,qCAAqC,CAAC;AAquBrG,eAAO,MAAM,UAAU,EAAE,mBAkDxB,CAAC"}
@@ -17,7 +17,7 @@ function recipe(r) {
17
17
  // - Depth: physical thickness and bezel width increase per surface level
18
18
  // ============================================================
19
19
  // -- Shared constants --
20
- const disabled = "disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)]";
20
+ const disabled = "disabled:pointer-events-none disabled:opacity-[var(--opacity-disabled)] aria-disabled:cursor-not-allowed aria-disabled:opacity-[var(--opacity-disabled)]";
21
21
  const invalid = "aria-invalid:ring-destructive/30 aria-invalid:border-destructive/40";
22
22
  const focus = "focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background focus-visible:outline-none";
23
23
  // ============================================================
@@ -579,6 +579,10 @@ const typography = {
579
579
  base: "text-muted-foreground text-sm",
580
580
  sizes: { sm: "text-xs", md: "text-sm" },
581
581
  }),
582
+ [TypographyVariant.EYEBROW]: recipe({
583
+ base: "text-foreground-subtle text-2xs font-medium uppercase tracking-wider",
584
+ sizes: { sm: "text-2xs", md: "text-xs" },
585
+ }),
582
586
  [TypographyVariant.CODE]: recipe({
583
587
  base: 'font-mono text-sm bg-white/8 dark:bg-white/5 rounded-lg px-1.5 py-0.5 border border-white/10',
584
588
  sizes: { sm: "text-xs", md: "text-sm", lg: "text-base" },
@@ -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 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
+ {"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)] aria-disabled:cursor-not-allowed aria-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.EYEBROW]: recipe({\n base: \"text-foreground-subtle text-2xs font-medium uppercase tracking-wider\",\n sizes: { sm: \"text-2xs\", md: \"text-xs\" },\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;AAwmBzG,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;AA+mBzG,eAAO,MAAM,iBAAiB,EAAE,mBAkC/B,CAAC"}