@yewdiel21/motion-kit 0.9.1 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (458) hide show
  1. package/README.md +72 -0
  2. package/dist/auto/index.d.ts +72 -3
  3. package/dist/auto/index.js +139 -3
  4. package/dist/auto/index.js.map +1 -1
  5. package/dist/{chunk-BFC27F2G.js → chunk-6P4P7NU6.js} +2 -218
  6. package/dist/chunk-6P4P7NU6.js.map +1 -0
  7. package/dist/chunk-CU6SXW3E.js +20334 -0
  8. package/dist/chunk-CU6SXW3E.js.map +1 -0
  9. package/dist/{chunk-XDWBVFHQ.js → chunk-EY4BJKC4.js} +1203 -29
  10. package/dist/chunk-EY4BJKC4.js.map +1 -0
  11. package/dist/chunk-QP4QJOEN.js +72 -0
  12. package/dist/chunk-QP4QJOEN.js.map +1 -0
  13. package/dist/css/components/activity-feed.css +240 -0
  14. package/dist/css/components/attachment.css +266 -0
  15. package/dist/css/components/breadcrumb.css +110 -0
  16. package/dist/css/components/calendar.css +159 -0
  17. package/dist/css/components/chart-tooltip.css +168 -0
  18. package/dist/css/components/chart.css +296 -0
  19. package/dist/css/components/code-block.css +264 -0
  20. package/dist/css/components/color-area.css +82 -0
  21. package/dist/css/components/color-field.css +67 -0
  22. package/dist/css/components/color-picker.css +131 -0
  23. package/dist/css/components/color-slider.css +113 -0
  24. package/dist/css/components/command-search.css +252 -0
  25. package/dist/css/components/context-menu.css +23 -0
  26. package/dist/css/components/credit-card.css +288 -0
  27. package/dist/css/components/data-table.css +591 -0
  28. package/dist/css/components/date-range-picker.css +168 -0
  29. package/dist/css/components/date-time-picker.css +178 -0
  30. package/dist/css/components/drawer.css +58 -0
  31. package/dist/css/components/editable-table.css +201 -0
  32. package/dist/css/components/empty-state.css +61 -0
  33. package/dist/css/components/file-explorer.css +633 -0
  34. package/dist/css/components/filter-builder.css +232 -0
  35. package/dist/css/components/hold-confirm.css +87 -0
  36. package/dist/css/components/hover-card.css +20 -0
  37. package/dist/css/components/image-preview.css +195 -0
  38. package/dist/css/components/input-otp.css +10 -0
  39. package/dist/css/components/json-viewer.css +272 -0
  40. package/dist/css/components/like-button.css +78 -0
  41. package/dist/css/components/link-preview.css +275 -0
  42. package/dist/css/components/loading-button.css +77 -0
  43. package/dist/css/components/multi-select.css +267 -0
  44. package/dist/css/components/notification-bell.css +127 -0
  45. package/dist/css/components/pagination.css +11 -0
  46. package/dist/css/components/password-strength.css +183 -0
  47. package/dist/css/components/popover.css +25 -0
  48. package/dist/css/components/progress.css +140 -0
  49. package/dist/css/components/quantity.css +16 -0
  50. package/dist/css/components/questionnaire.css +217 -0
  51. package/dist/css/components/range-calendar.css +186 -0
  52. package/dist/css/components/range-slider.css +192 -0
  53. package/dist/css/components/resizable-panel.css +243 -0
  54. package/dist/css/components/rich-text-editor.css +284 -0
  55. package/dist/css/components/scratch-card.css +75 -0
  56. package/dist/css/components/skeleton.css +108 -0
  57. package/dist/css/components/slot-picker.css +126 -0
  58. package/dist/css/components/split-view.css +19 -0
  59. package/dist/css/components/star-rating.css +80 -0
  60. package/dist/css/components/stat-card.css +164 -0
  61. package/dist/css/components/studio-dock.css +35 -0
  62. package/dist/css/components/swipe-actions.css +105 -0
  63. package/dist/css/components/tag-input.css +244 -0
  64. package/dist/css/components/time-field.css +88 -0
  65. package/dist/css/components/timeline.css +219 -0
  66. package/dist/css/components/tooltip.css +79 -0
  67. package/dist/css/components/trailer.css +37 -0
  68. package/dist/css/components/tree-view.css +210 -0
  69. package/dist/css/components/virtual-list.css +195 -0
  70. package/dist/css/controls.css +65 -0
  71. package/dist/css/tokens.css +185 -181
  72. package/dist/elements/index.d.ts +742 -5
  73. package/dist/elements/index.js +1527 -8
  74. package/dist/elements/index.js.map +1 -1
  75. package/dist/{engine-GDGwQnJE.d.ts → engine-Cn6IhE3z.d.ts} +1 -1
  76. package/dist/engine-QECQnGz1.d.ts +33 -0
  77. package/dist/index.css +10113 -181
  78. package/dist/index.d.ts +89 -5
  79. package/dist/index.js +285 -9
  80. package/dist/index.js.map +1 -1
  81. package/dist/react/index.d.ts +678 -23
  82. package/dist/react/index.js +2389 -7
  83. package/dist/react/index.js.map +1 -1
  84. package/dist/{reduced-B98f8LPs.d.ts → reduced-BBUusld6.d.ts} +206 -2
  85. package/dist/reveal-DEvp6U6T.d.ts +2381 -0
  86. package/dist/{store-pHiUvxP8.d.ts → store-DjkTBX7f.d.ts} +2 -2
  87. package/package.json +1 -1
  88. package/registry.json +583 -104
  89. package/skills/motion-kit/SKILL.md +209 -189
  90. package/src/auto/auto-init.ts +136 -0
  91. package/src/components/activity-feed/README.md +56 -0
  92. package/src/components/activity-feed/activity-feed.css +239 -0
  93. package/src/components/activity-feed/element.ts +36 -0
  94. package/src/components/activity-feed/engine.ts +351 -0
  95. package/src/components/activity-feed/react.tsx +32 -0
  96. package/src/components/attachment/README.md +27 -0
  97. package/src/components/attachment/attachment.css +265 -0
  98. package/src/components/attachment/element.ts +50 -0
  99. package/src/components/attachment/engine.ts +469 -0
  100. package/src/components/attachment/react.tsx +65 -0
  101. package/src/components/breadcrumb/README.md +38 -0
  102. package/src/components/breadcrumb/breadcrumb.css +109 -0
  103. package/src/components/breadcrumb/element.ts +27 -0
  104. package/src/components/breadcrumb/engine.ts +249 -0
  105. package/src/components/breadcrumb/react.tsx +30 -0
  106. package/src/components/calendar/README.md +82 -0
  107. package/src/components/calendar/calendar.css +158 -0
  108. package/src/components/calendar/element.ts +27 -0
  109. package/src/components/calendar/engine.ts +412 -0
  110. package/src/components/calendar/react.tsx +69 -0
  111. package/src/components/chart/README.md +24 -0
  112. package/src/components/chart/chart.css +295 -0
  113. package/src/components/chart/element.ts +41 -0
  114. package/src/components/chart/engine.ts +811 -0
  115. package/src/components/chart/react.tsx +50 -0
  116. package/src/components/chart-tooltip/README.md +53 -0
  117. package/src/components/chart-tooltip/chart-tooltip.css +167 -0
  118. package/src/components/chart-tooltip/element.ts +37 -0
  119. package/src/components/chart-tooltip/engine.ts +442 -0
  120. package/src/components/chart-tooltip/react.tsx +47 -0
  121. package/src/components/code-block/README.md +19 -0
  122. package/src/components/code-block/code-block.css +263 -0
  123. package/src/components/code-block/element.ts +34 -0
  124. package/src/components/code-block/engine.ts +254 -0
  125. package/src/components/code-block/highlight.ts +244 -0
  126. package/src/components/code-block/react.tsx +94 -0
  127. package/src/components/color-area/README.md +50 -0
  128. package/src/components/color-area/color-area.css +81 -0
  129. package/src/components/color-area/element.ts +26 -0
  130. package/src/components/color-area/engine.ts +246 -0
  131. package/src/components/color-area/react.tsx +42 -0
  132. package/src/components/color-field/README.md +43 -0
  133. package/src/components/color-field/color-field.css +66 -0
  134. package/src/components/color-field/element.ts +26 -0
  135. package/src/components/color-field/engine.ts +174 -0
  136. package/src/components/color-field/react.tsx +42 -0
  137. package/src/components/color-picker/README.md +45 -0
  138. package/src/components/color-picker/color-picker.css +130 -0
  139. package/src/components/color-picker/element.ts +45 -0
  140. package/src/components/color-picker/engine.ts +314 -0
  141. package/src/components/color-picker/react.tsx +47 -0
  142. package/src/components/color-slider/README.md +55 -0
  143. package/src/components/color-slider/color-slider.css +112 -0
  144. package/src/components/color-slider/element.ts +26 -0
  145. package/src/components/color-slider/engine.ts +234 -0
  146. package/src/components/color-slider/react.tsx +45 -0
  147. package/src/components/command-search/README.md +15 -0
  148. package/src/components/command-search/command-search.css +251 -0
  149. package/src/components/command-search/element.ts +36 -0
  150. package/src/components/command-search/engine.ts +356 -0
  151. package/src/components/command-search/match.ts +53 -0
  152. package/src/components/command-search/react.tsx +66 -0
  153. package/src/components/context-menu/README.md +31 -0
  154. package/src/components/context-menu/context-menu.css +22 -0
  155. package/src/components/context-menu/element.ts +40 -0
  156. package/src/components/context-menu/engine.ts +153 -0
  157. package/src/components/context-menu/react.tsx +57 -0
  158. package/src/components/credit-card/README.md +20 -0
  159. package/src/components/credit-card/card.ts +77 -0
  160. package/src/components/credit-card/credit-card.css +287 -0
  161. package/src/components/credit-card/element.ts +33 -0
  162. package/src/components/credit-card/engine.ts +410 -0
  163. package/src/components/credit-card/react.tsx +36 -0
  164. package/src/components/data-table/README.md +83 -0
  165. package/src/components/data-table/data-table.css +590 -0
  166. package/src/components/data-table/element.ts +54 -0
  167. package/src/components/data-table/engine.ts +1059 -0
  168. package/src/components/data-table/react.tsx +94 -0
  169. package/src/components/date-range-picker/README.md +51 -0
  170. package/src/components/date-range-picker/date-range-picker.css +167 -0
  171. package/src/components/date-range-picker/element.ts +52 -0
  172. package/src/components/date-range-picker/engine.ts +352 -0
  173. package/src/components/date-range-picker/react.tsx +57 -0
  174. package/src/components/date-time-picker/README.md +48 -0
  175. package/src/components/date-time-picker/date-time-picker.css +177 -0
  176. package/src/components/date-time-picker/element.ts +47 -0
  177. package/src/components/date-time-picker/engine.ts +350 -0
  178. package/src/components/date-time-picker/react.tsx +54 -0
  179. package/src/components/dialog/README.md +103 -102
  180. package/src/components/dialog/element.ts +123 -118
  181. package/src/components/dialog/engine.ts +449 -432
  182. package/src/components/drawer/README.md +28 -0
  183. package/src/components/drawer/drawer.css +57 -0
  184. package/src/components/drawer/element.ts +21 -0
  185. package/src/components/drawer/engine.ts +56 -0
  186. package/src/components/drawer/react.tsx +85 -0
  187. package/src/components/editable-table/README.md +67 -0
  188. package/src/components/editable-table/editable-table.css +200 -0
  189. package/src/components/editable-table/element.ts +45 -0
  190. package/src/components/editable-table/engine.ts +775 -0
  191. package/src/components/editable-table/react.tsx +79 -0
  192. package/src/components/empty-state/README.md +41 -0
  193. package/src/components/empty-state/element.ts +23 -0
  194. package/src/components/empty-state/empty-state.css +60 -0
  195. package/src/components/empty-state/engine.ts +232 -0
  196. package/src/components/empty-state/react.tsx +34 -0
  197. package/src/components/file-explorer/README.md +67 -0
  198. package/src/components/file-explorer/element.ts +39 -0
  199. package/src/components/file-explorer/engine.ts +1307 -0
  200. package/src/components/file-explorer/file-explorer.css +632 -0
  201. package/src/components/file-explorer/react.tsx +77 -0
  202. package/src/components/filter-builder/README.md +47 -0
  203. package/src/components/filter-builder/element.ts +34 -0
  204. package/src/components/filter-builder/engine.ts +365 -0
  205. package/src/components/filter-builder/filter-builder.css +231 -0
  206. package/src/components/filter-builder/react.tsx +36 -0
  207. package/src/components/hold-confirm/README.md +13 -0
  208. package/src/components/hold-confirm/element.ts +24 -0
  209. package/src/components/hold-confirm/engine.ts +216 -0
  210. package/src/components/hold-confirm/hold-confirm.css +86 -0
  211. package/src/components/hold-confirm/react.tsx +28 -0
  212. package/src/components/hover-card/README.md +20 -0
  213. package/src/components/hover-card/element.ts +8 -0
  214. package/src/components/hover-card/engine.ts +131 -0
  215. package/src/components/hover-card/hover-card.css +19 -0
  216. package/src/components/hover-card/react.tsx +19 -0
  217. package/src/components/image-preview/README.md +16 -0
  218. package/src/components/image-preview/element.ts +26 -0
  219. package/src/components/image-preview/engine.ts +325 -0
  220. package/src/components/image-preview/image-preview.css +194 -0
  221. package/src/components/image-preview/react.tsx +43 -0
  222. package/src/components/input-otp/README.md +18 -0
  223. package/src/components/input-otp/element.ts +14 -0
  224. package/src/components/input-otp/engine.ts +106 -0
  225. package/src/components/input-otp/input-otp.css +9 -0
  226. package/src/components/input-otp/react.tsx +21 -0
  227. package/src/components/json-viewer/README.md +56 -0
  228. package/src/components/json-viewer/element.ts +37 -0
  229. package/src/components/json-viewer/engine.ts +440 -0
  230. package/src/components/json-viewer/json-viewer.css +271 -0
  231. package/src/components/json-viewer/react.tsx +56 -0
  232. package/src/components/like-button/README.md +13 -0
  233. package/src/components/like-button/element.ts +47 -0
  234. package/src/components/like-button/engine.ts +145 -0
  235. package/src/components/like-button/like-button.css +77 -0
  236. package/src/components/like-button/react.tsx +39 -0
  237. package/src/components/link-preview/README.md +19 -0
  238. package/src/components/link-preview/element.ts +29 -0
  239. package/src/components/link-preview/engine.ts +192 -0
  240. package/src/components/link-preview/link-preview.css +274 -0
  241. package/src/components/link-preview/react.tsx +101 -0
  242. package/src/components/loading-button/README.md +45 -0
  243. package/src/components/loading-button/element.ts +34 -0
  244. package/src/components/loading-button/engine.ts +201 -0
  245. package/src/components/loading-button/loading-button.css +76 -0
  246. package/src/components/loading-button/react.tsx +43 -0
  247. package/src/components/multi-select/README.md +48 -0
  248. package/src/components/multi-select/element.ts +28 -0
  249. package/src/components/multi-select/engine.ts +294 -0
  250. package/src/components/multi-select/multi-select.css +266 -0
  251. package/src/components/multi-select/react.tsx +39 -0
  252. package/src/components/notification-bell/README.md +14 -0
  253. package/src/components/notification-bell/element.ts +48 -0
  254. package/src/components/notification-bell/engine.ts +202 -0
  255. package/src/components/notification-bell/notification-bell.css +126 -0
  256. package/src/components/notification-bell/react.tsx +57 -0
  257. package/src/components/pagination/README.md +17 -0
  258. package/src/components/pagination/element.ts +14 -0
  259. package/src/components/pagination/engine.ts +102 -0
  260. package/src/components/pagination/pagination.css +10 -0
  261. package/src/components/pagination/react.tsx +22 -0
  262. package/src/components/password-strength/README.md +17 -0
  263. package/src/components/password-strength/element.ts +22 -0
  264. package/src/components/password-strength/engine.ts +212 -0
  265. package/src/components/password-strength/password-strength.css +182 -0
  266. package/src/components/password-strength/react.tsx +36 -0
  267. package/src/components/password-strength/score.ts +62 -0
  268. package/src/components/popover/README.md +44 -0
  269. package/src/components/popover/element.ts +31 -0
  270. package/src/components/popover/engine.ts +114 -0
  271. package/src/components/popover/popover.css +24 -0
  272. package/src/components/popover/react.tsx +50 -0
  273. package/src/components/progress/README.md +17 -0
  274. package/src/components/progress/element.ts +30 -0
  275. package/src/components/progress/engine.ts +173 -0
  276. package/src/components/progress/progress.css +139 -0
  277. package/src/components/progress/react.tsx +35 -0
  278. package/src/components/quantity/README.md +20 -0
  279. package/src/components/quantity/element.ts +14 -0
  280. package/src/components/quantity/engine.ts +85 -0
  281. package/src/components/quantity/quantity.css +15 -0
  282. package/src/components/quantity/react.tsx +21 -0
  283. package/src/components/questionnaire/README.md +32 -0
  284. package/src/components/questionnaire/element.ts +118 -0
  285. package/src/components/questionnaire/engine.ts +255 -0
  286. package/src/components/questionnaire/questionnaire.css +216 -0
  287. package/src/components/questionnaire/react.tsx +140 -0
  288. package/src/components/range-calendar/README.md +58 -0
  289. package/src/components/range-calendar/element.ts +42 -0
  290. package/src/components/range-calendar/engine.ts +390 -0
  291. package/src/components/range-calendar/range-calendar.css +185 -0
  292. package/src/components/range-calendar/react.tsx +56 -0
  293. package/src/components/range-slider/README.md +23 -0
  294. package/src/components/range-slider/element.ts +53 -0
  295. package/src/components/range-slider/engine.ts +316 -0
  296. package/src/components/range-slider/range-slider.css +191 -0
  297. package/src/components/range-slider/react.tsx +66 -0
  298. package/src/components/resizable-panel/README.md +61 -0
  299. package/src/components/resizable-panel/element.ts +36 -0
  300. package/src/components/resizable-panel/engine.ts +551 -0
  301. package/src/components/resizable-panel/react.tsx +74 -0
  302. package/src/components/resizable-panel/resizable-panel.css +242 -0
  303. package/src/components/rich-text-editor/README.md +57 -0
  304. package/src/components/rich-text-editor/element.ts +34 -0
  305. package/src/components/rich-text-editor/engine.ts +673 -0
  306. package/src/components/rich-text-editor/react.tsx +60 -0
  307. package/src/components/rich-text-editor/rich-text-editor.css +283 -0
  308. package/src/components/scratch-card/README.md +15 -0
  309. package/src/components/scratch-card/element.ts +30 -0
  310. package/src/components/scratch-card/engine.ts +257 -0
  311. package/src/components/scratch-card/react.tsx +40 -0
  312. package/src/components/scratch-card/scratch-card.css +74 -0
  313. package/src/components/skeleton/README.md +15 -0
  314. package/src/components/skeleton/element.ts +32 -0
  315. package/src/components/skeleton/engine.ts +104 -0
  316. package/src/components/skeleton/react.tsx +41 -0
  317. package/src/components/skeleton/skeleton.css +107 -0
  318. package/src/components/slot-picker/README.md +68 -0
  319. package/src/components/slot-picker/element.ts +27 -0
  320. package/src/components/slot-picker/engine.ts +412 -0
  321. package/src/components/slot-picker/react.tsx +76 -0
  322. package/src/components/slot-picker/slot-picker.css +125 -0
  323. package/src/components/split-view/README.md +50 -0
  324. package/src/components/split-view/element.ts +34 -0
  325. package/src/components/split-view/engine.ts +114 -0
  326. package/src/components/split-view/react.tsx +63 -0
  327. package/src/components/split-view/split-view.css +18 -0
  328. package/src/components/star-rating/README.md +14 -0
  329. package/src/components/star-rating/element.ts +26 -0
  330. package/src/components/star-rating/engine.ts +217 -0
  331. package/src/components/star-rating/react.tsx +33 -0
  332. package/src/components/star-rating/star-rating.css +79 -0
  333. package/src/components/stat-card/README.md +42 -0
  334. package/src/components/stat-card/element.ts +40 -0
  335. package/src/components/stat-card/engine.ts +283 -0
  336. package/src/components/stat-card/react.tsx +36 -0
  337. package/src/components/stat-card/stat-card.css +163 -0
  338. package/src/components/studio-dock/README.md +44 -0
  339. package/src/components/studio-dock/element.ts +11 -0
  340. package/src/components/studio-dock/engine.ts +212 -0
  341. package/src/components/studio-dock/react.tsx +23 -0
  342. package/src/components/studio-dock/studio-dock.css +34 -0
  343. package/src/components/swipe-actions/README.md +19 -0
  344. package/src/components/swipe-actions/element.ts +26 -0
  345. package/src/components/swipe-actions/engine.ts +260 -0
  346. package/src/components/swipe-actions/react.tsx +80 -0
  347. package/src/components/swipe-actions/swipe-actions.css +104 -0
  348. package/src/components/tag-input/README.md +42 -0
  349. package/src/components/tag-input/element.ts +39 -0
  350. package/src/components/tag-input/engine.ts +313 -0
  351. package/src/components/tag-input/react.tsx +54 -0
  352. package/src/components/tag-input/tag-input.css +243 -0
  353. package/src/components/time-field/README.md +54 -0
  354. package/src/components/time-field/element.ts +38 -0
  355. package/src/components/time-field/engine.ts +110 -0
  356. package/src/components/time-field/react.tsx +45 -0
  357. package/src/components/time-field/time-field.css +87 -0
  358. package/src/components/timeline/README.md +57 -0
  359. package/src/components/timeline/element.ts +31 -0
  360. package/src/components/timeline/engine.ts +300 -0
  361. package/src/components/timeline/react.tsx +59 -0
  362. package/src/components/timeline/timeline.css +218 -0
  363. package/src/components/tooltip/README.md +46 -0
  364. package/src/components/tooltip/element.ts +22 -0
  365. package/src/components/tooltip/engine.ts +288 -0
  366. package/src/components/tooltip/react.tsx +30 -0
  367. package/src/components/tooltip/tooltip.css +78 -0
  368. package/src/components/trailer/README.md +28 -0
  369. package/src/components/trailer/element.ts +13 -0
  370. package/src/components/trailer/engine.ts +189 -0
  371. package/src/components/trailer/react.tsx +16 -0
  372. package/src/components/trailer/trailer.css +36 -0
  373. package/src/components/tree-view/README.md +61 -0
  374. package/src/components/tree-view/element.ts +32 -0
  375. package/src/components/tree-view/engine.ts +569 -0
  376. package/src/components/tree-view/react.tsx +78 -0
  377. package/src/components/tree-view/tree-view.css +209 -0
  378. package/src/components/virtual-list/README.md +81 -0
  379. package/src/components/virtual-list/element.ts +42 -0
  380. package/src/components/virtual-list/engine.ts +678 -0
  381. package/src/components/virtual-list/react.tsx +101 -0
  382. package/src/components/virtual-list/virtual-list.css +194 -0
  383. package/src/core/chips.ts +196 -0
  384. package/src/core/color.ts +304 -0
  385. package/src/core/date-range.ts +67 -0
  386. package/src/core/dates.ts +108 -0
  387. package/src/core/files.ts +107 -0
  388. package/src/core/filter.ts +229 -0
  389. package/src/core/gsap.ts +80 -65
  390. package/src/core/listbox.ts +332 -0
  391. package/src/core/mark.ts +29 -0
  392. package/src/core/position.ts +89 -0
  393. package/src/core/relative-time.ts +77 -0
  394. package/src/core/segment-field.ts +373 -0
  395. package/src/core/segments.ts +153 -0
  396. package/src/core/tree.ts +116 -0
  397. package/src/core/virtual.ts +79 -0
  398. package/src/css/controls/README.md +14 -0
  399. package/src/css/controls/status.css +63 -0
  400. package/src/css/tokens.css +186 -182
  401. package/src/elements/index.ts +171 -0
  402. package/src/index.ts +97 -0
  403. package/src/motion/micro.ts +248 -0
  404. package/src/motion/sheet.ts +88 -65
  405. package/src/motion/surface.ts +9 -0
  406. package/src/react/index.ts +78 -0
  407. package/src/react/use-action-button.ts +6 -0
  408. package/src/react/use-editorial-reveal.ts +7 -0
  409. package/src/react/use-film-hero.ts +6 -0
  410. package/src/react/use-font-cycle.ts +7 -0
  411. package/src/react/use-image-zoom.ts +5 -0
  412. package/src/react/use-joined-cta.ts +5 -0
  413. package/src/react/use-local-clock.ts +5 -0
  414. package/src/react/use-scroll-dock.ts +5 -0
  415. package/src/react/use-sticker.ts +5 -0
  416. package/src/react/use-studio-dock.ts +8 -0
  417. package/src/react/use-thumbnail-nav.ts +7 -0
  418. package/src/react/use-trailer.ts +6 -0
  419. package/src/react/use-weight-hover.ts +5 -0
  420. package/src/recipes/action-button/README.md +31 -0
  421. package/src/recipes/action-button/action-button.css +113 -0
  422. package/src/recipes/action-button/create-action-button.ts +56 -0
  423. package/src/recipes/editorial-reveal/README.md +35 -0
  424. package/src/recipes/editorial-reveal/create-editorial-reveal.ts +91 -0
  425. package/src/recipes/editorial-reveal/editorial-reveal.css +17 -0
  426. package/src/recipes/film-hero/README.md +23 -0
  427. package/src/recipes/film-hero/create-film-hero.ts +65 -0
  428. package/src/recipes/film-hero/film-hero.css +29 -0
  429. package/src/recipes/font-cycle/README.md +11 -0
  430. package/src/recipes/font-cycle/create-font-cycle.ts +126 -0
  431. package/src/recipes/font-cycle/font-cycle.css +36 -0
  432. package/src/recipes/image-zoom/README.md +16 -0
  433. package/src/recipes/image-zoom/create-image-zoom.ts +27 -0
  434. package/src/recipes/image-zoom/image-zoom.css +7 -0
  435. package/src/recipes/joined-cta/README.md +13 -0
  436. package/src/recipes/joined-cta/create-joined-cta.ts +22 -0
  437. package/src/recipes/joined-cta/joined-cta.css +17 -0
  438. package/src/recipes/local-clock/README.md +31 -0
  439. package/src/recipes/local-clock/create-local-clock.ts +61 -0
  440. package/src/recipes/scroll-dock/README.md +46 -0
  441. package/src/recipes/scroll-dock/create-scroll-dock.ts +72 -0
  442. package/src/recipes/scroll-dock/scroll-dock.css +70 -0
  443. package/src/recipes/sticker/README.md +59 -0
  444. package/src/recipes/sticker/create-sticker.ts +490 -0
  445. package/src/recipes/sticker/sticker.css +112 -0
  446. package/src/recipes/thumbnail-nav/README.md +16 -0
  447. package/src/recipes/thumbnail-nav/create-thumbnail-nav.ts +165 -0
  448. package/src/recipes/thumbnail-nav/thumbnail-nav.css +108 -0
  449. package/src/recipes/weight-hover/README.md +37 -0
  450. package/src/recipes/weight-hover/create-weight-hover.ts +136 -0
  451. package/src/recipes/weight-hover/weight-hover.css +7 -0
  452. package/dist/chunk-BFC27F2G.js.map +0 -1
  453. package/dist/chunk-J6OCFNGU.js +0 -177
  454. package/dist/chunk-J6OCFNGU.js.map +0 -1
  455. package/dist/chunk-JQMJQSXD.js +0 -2374
  456. package/dist/chunk-JQMJQSXD.js.map +0 -1
  457. package/dist/chunk-XDWBVFHQ.js.map +0 -1
  458. package/dist/reveal-C0hCDcB_.d.ts +0 -415
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  ANIMATIONS,
3
3
  animate,
4
- confetti,
5
4
  leave
6
- } from "./chunk-J6OCFNGU.js";
5
+ } from "./chunk-QP4QJOEN.js";
7
6
  import {
8
7
  captureLayout,
8
+ createActionButton,
9
9
  createCardDock,
10
10
  createCascade,
11
11
  createContrast,
@@ -15,12 +15,18 @@ import {
15
15
  createDetails,
16
16
  createDockPill,
17
17
  createDragRuler,
18
+ createEditorialReveal,
18
19
  createFillText,
20
+ createFilmHero,
19
21
  createFitText,
20
22
  createFlow,
23
+ createFontCycle,
21
24
  createFrameZoom,
25
+ createImageZoom,
22
26
  createInfiniteReel,
27
+ createJoinedCta,
23
28
  createLetters,
29
+ createLocalClock,
24
30
  createMarquee,
25
31
  createMaskText,
26
32
  createParallax,
@@ -31,39 +37,39 @@ import {
31
37
  createRepelBento,
32
38
  createReveal,
33
39
  createRotator,
40
+ createScrollDock,
34
41
  createSlotText,
35
42
  createSnapStrip,
36
43
  createSortable,
37
44
  createSpring,
38
45
  createSpringCards,
46
+ createSticker,
39
47
  createStretchFooter,
40
48
  createTabs,
41
49
  createTextRoll,
50
+ createThumbnailNav,
42
51
  createTicketMenu,
52
+ createWeightHover,
43
53
  createWords,
44
54
  installDetailsMotion,
45
55
  moveItem,
46
56
  pileLayers,
47
57
  pileStyle,
48
58
  reflowLayout,
49
- slideIndicator,
50
59
  toggleDetails,
51
60
  trackScroll
52
- } from "./chunk-XDWBVFHQ.js";
61
+ } from "./chunk-EY4BJKC4.js";
53
62
  import {
54
63
  NAV_STYLES,
55
64
  PENDING_ID,
56
65
  TOAST_LIMIT,
57
66
  capturePending,
58
- chatBackgroundOf,
59
67
  chatMessage,
60
68
  clearToasts,
61
69
  createChat,
62
- createChatBackground,
63
70
  createCursor,
64
71
  createIsland,
65
72
  createNav,
66
- createSteps,
67
73
  createThemePicker,
68
74
  createToaster,
69
75
  dismissToast,
@@ -77,38 +83,124 @@ import {
77
83
  subscribeToasts,
78
84
  toast,
79
85
  toastTimers
80
- } from "./chunk-BFC27F2G.js";
86
+ } from "./chunk-6P4P7NU6.js";
81
87
  import {
88
+ BRAND_LABELS,
89
+ CHANNEL_LABELS,
82
90
  CustomEase,
83
91
  EASE,
84
92
  ELASTIC,
85
93
  Flip,
86
94
  MORPH_STYLES,
95
+ OPERATORS,
87
96
  PATHS,
88
97
  SIGNATURE_LINEAR,
98
+ STRENGTH_LABELS,
89
99
  ScrollTrigger,
90
100
  SplitText,
101
+ acceptsFile,
91
102
  anchorSurface,
92
103
  attachDragDismiss,
93
104
  attachFloating,
94
105
  backdropVeil,
106
+ bandDuration,
95
107
  bezier,
96
108
  bindPointer,
109
+ blurIn,
110
+ blurOut,
111
+ burst,
112
+ cardLength,
113
+ channelText,
97
114
  channels,
115
+ chatBackgroundOf,
116
+ checkStates,
98
117
  clampRect,
99
118
  clearAnchor,
100
119
  clearStyles,
101
120
  closeModal,
121
+ codeLines,
122
+ collapse,
123
+ confetti,
102
124
  countTo,
125
+ createActivityFeed,
126
+ createAttachment,
127
+ createBreadcrumb,
128
+ createCalendar,
103
129
  createChannelState,
130
+ createChart,
131
+ createChartTooltip,
132
+ createChatBackground,
133
+ createCodeBlock,
134
+ createColorArea,
135
+ createColorField,
136
+ createColorPicker,
137
+ createColorSlider,
138
+ createCommandSearch,
139
+ createContextMenu,
140
+ createCreditCard,
141
+ createDataTable,
142
+ createDateRangePicker,
143
+ createDateTimePicker,
104
144
  createDialog,
145
+ createDrawer,
146
+ createEditableTable,
147
+ createEmptyState,
148
+ createFileExplorer,
149
+ createFilterBuilder,
150
+ createHoldConfirm,
151
+ createHoverCard,
152
+ createImagePreview,
153
+ createInputOtp,
154
+ createJsonViewer,
155
+ createLikeButton,
156
+ createLinkPreview,
157
+ createLoadingButton,
105
158
  createMenu,
159
+ createMultiSelect,
160
+ createNotificationBell,
161
+ createPagination,
162
+ createPasswordStrength,
163
+ createPopover,
164
+ createProgress,
165
+ createQuantity,
166
+ createQuestionnaire,
167
+ createRangeCalendar,
168
+ createRangeSlider,
169
+ createResizablePanel,
170
+ createRichTextEditor,
171
+ createScratchCard,
172
+ createSizes,
173
+ createSkeleton,
174
+ createSlotPicker,
175
+ createSplitView,
176
+ createStarRating,
177
+ createStatCard,
178
+ createSteps,
179
+ createStudioDock,
180
+ createSwipeActions,
181
+ createTagInput,
182
+ createTimeField,
183
+ createTimeline,
184
+ createTooltip,
185
+ createTrailer,
186
+ createTreeView,
187
+ createVirtualList,
188
+ cvcLength,
189
+ dateTimeKey,
190
+ dayKey,
191
+ dayLabel,
192
+ describeAccept,
193
+ describeFilter,
194
+ detectBrand,
106
195
  dockWindow,
107
196
  easeInCubic,
108
197
  easeOut,
109
198
  easeOutCubic,
110
199
  eased,
200
+ emptyFilter,
111
201
  fadeBackdrop,
202
+ fileFamily,
203
+ findNode,
112
204
  floatingAvailable,
113
205
  flowIn,
114
206
  flowInContent,
@@ -118,32 +210,71 @@ import {
118
210
  flowInPalette,
119
211
  flowOut,
120
212
  forgetFloat,
213
+ formatBytes,
214
+ formatColor,
215
+ formatNumber,
216
+ formatSize,
217
+ formatTime,
218
+ getChannel,
121
219
  ghostOf,
122
220
  gsap,
221
+ hasConditions,
222
+ hsvToRgb,
123
223
  isMorphing,
224
+ jsonPath,
225
+ languageFamily,
124
226
  liftWindow,
227
+ linkDomain,
125
228
  liquidClose,
126
229
  liquidOpen,
230
+ luhn,
231
+ luminance,
232
+ matchScore,
233
+ matchesFilter,
127
234
  morphClose,
128
235
  morphCloseWithGhost,
129
236
  morphOpen,
130
237
  motionSpring,
131
238
  nextFrame,
239
+ normaliseSizes,
132
240
  openModal,
241
+ parseColor,
242
+ parseExpiry,
243
+ parseTime,
244
+ place,
133
245
  pointer,
246
+ press,
134
247
  pushUnderlay,
248
+ rangeKeys,
249
+ rangeLength,
250
+ readAnswers,
135
251
  registerMotion,
252
+ relativeTime,
136
253
  releaseShared,
137
254
  releaseUnderlay,
255
+ renderCode,
138
256
  requestFrame,
139
257
  revealCounter,
140
258
  revealFrom,
259
+ rgbToHsv,
260
+ ringPulse,
261
+ rollDigits,
262
+ safeHref,
263
+ safeImage,
264
+ sanitizeHtml,
141
265
  savedFloat,
266
+ scorePassword,
267
+ searchTree,
268
+ setChannel,
269
+ shake,
142
270
  shareBack,
143
271
  shareInto,
144
272
  sheetClose,
145
273
  sheetOpen,
146
274
  showOrigin,
275
+ skeletonBones,
276
+ slideIndicator,
277
+ sortEntries,
147
278
  splitGraphemes,
148
279
  splitWords,
149
280
  spring,
@@ -155,9 +286,16 @@ import {
155
286
  stepChannel,
156
287
  stopMorph,
157
288
  takeMovement,
289
+ toDate,
290
+ toDateTimeValue,
291
+ toHex,
292
+ toHsva,
293
+ toRange,
294
+ toggleCheck,
295
+ tokenize,
158
296
  transparentColor,
159
297
  tweenNumber
160
- } from "./chunk-JQMJQSXD.js";
298
+ } from "./chunk-CU6SXW3E.js";
161
299
  import "./chunk-RVSKEBIC.js";
162
300
  import {
163
301
  clamp,
@@ -222,6 +360,8 @@ function audioEnergy(stream, onEnergy, { fftSize = 256, smoothing = 0.3 } = {})
222
360
  }
223
361
  export {
224
362
  ANIMATIONS,
363
+ BRAND_LABELS,
364
+ CHANNEL_LABELS,
225
365
  CustomEase,
226
366
  EASE,
227
367
  ELASTIC,
@@ -229,91 +369,182 @@ export {
229
369
  MK_HEAD_SCRIPT,
230
370
  MORPH_STYLES,
231
371
  NAV_STYLES,
372
+ OPERATORS,
232
373
  PATHS,
233
374
  PENDING_ID,
234
375
  SIGNATURE_LINEAR,
376
+ STRENGTH_LABELS,
235
377
  ScrollTrigger,
236
378
  SplitText,
237
379
  TIMING,
238
380
  TOAST_LIMIT,
381
+ acceptsFile,
239
382
  anchorSurface,
240
383
  animate,
241
384
  attachDragDismiss,
242
385
  attachFloating,
243
386
  audioEnergy,
244
387
  backdropVeil,
388
+ bandDuration,
245
389
  bezier,
246
390
  bindPointer,
391
+ blurIn,
392
+ blurOut,
393
+ burst,
247
394
  captureLayout,
248
395
  capturePending,
396
+ cardLength,
397
+ channelText,
249
398
  channels,
250
399
  chatBackgroundOf,
251
400
  chatMessage,
401
+ checkStates,
252
402
  clamp,
253
403
  clampRect,
254
404
  clearAnchor,
255
405
  clearStyles,
256
406
  clearToasts,
257
407
  closeModal,
408
+ codeLines,
409
+ collapse,
258
410
  confetti,
259
411
  countTo,
412
+ createActionButton,
413
+ createActivityFeed,
414
+ createAttachment,
415
+ createBreadcrumb,
416
+ createCalendar,
260
417
  createCardDock,
261
418
  createCascade,
262
419
  createChannelState,
420
+ createChart,
421
+ createChartTooltip,
263
422
  createChat,
264
423
  createChatBackground,
424
+ createCodeBlock,
425
+ createColorArea,
426
+ createColorField,
427
+ createColorPicker,
428
+ createColorSlider,
429
+ createCommandSearch,
430
+ createContextMenu,
265
431
  createContrast,
266
432
  createCounter,
433
+ createCreditCard,
267
434
  createCursor,
268
435
  createCurvedCarousel,
436
+ createDataTable,
437
+ createDateRangePicker,
438
+ createDateTimePicker,
269
439
  createDepthGrid,
270
440
  createDetails,
271
441
  createDialog,
272
442
  createDockPill,
273
443
  createDragRuler,
444
+ createDrawer,
445
+ createEditableTable,
446
+ createEditorialReveal,
447
+ createEmptyState,
448
+ createFileExplorer,
274
449
  createFillText,
450
+ createFilmHero,
451
+ createFilterBuilder,
275
452
  createFitText,
276
453
  createFlow,
454
+ createFontCycle,
277
455
  createFrameZoom,
456
+ createHoldConfirm,
457
+ createHoverCard,
458
+ createImagePreview,
459
+ createImageZoom,
278
460
  createInfiniteReel,
461
+ createInputOtp,
279
462
  createIsland,
463
+ createJoinedCta,
464
+ createJsonViewer,
280
465
  createLetters,
466
+ createLikeButton,
467
+ createLinkPreview,
468
+ createLoadingButton,
469
+ createLocalClock,
281
470
  createMarquee,
282
471
  createMaskText,
283
472
  createMenu,
473
+ createMultiSelect,
284
474
  createNav,
475
+ createNotificationBell,
476
+ createPagination,
285
477
  createParallax,
478
+ createPasswordStrength,
286
479
  createPile,
287
480
  createPop,
481
+ createPopover,
482
+ createProgress,
483
+ createQuantity,
484
+ createQuestionnaire,
288
485
  createRadialMenu,
486
+ createRangeCalendar,
487
+ createRangeSlider,
289
488
  createReflow,
290
489
  createRepelBento,
490
+ createResizablePanel,
291
491
  createReveal,
492
+ createRichTextEditor,
292
493
  createRotator,
293
494
  createScope,
495
+ createScratchCard,
496
+ createScrollDock,
497
+ createSizes,
498
+ createSkeleton,
499
+ createSlotPicker,
294
500
  createSlotText,
295
501
  createSnapStrip,
296
502
  createSortable,
503
+ createSplitView,
297
504
  createSpring,
298
505
  createSpringCards,
506
+ createStarRating,
507
+ createStatCard,
299
508
  createSteps,
509
+ createSticker,
300
510
  createStretchFooter,
511
+ createStudioDock,
512
+ createSwipeActions,
301
513
  createTabs,
514
+ createTagInput,
302
515
  createTextRoll,
303
516
  createThemePicker,
517
+ createThumbnailNav,
304
518
  createTicketMenu,
519
+ createTimeField,
520
+ createTimeline,
305
521
  createToaster,
522
+ createTooltip,
523
+ createTrailer,
524
+ createTreeView,
525
+ createVirtualList,
526
+ createWeightHover,
306
527
  createWords,
528
+ cvcLength,
307
529
  damp,
530
+ dateTimeKey,
531
+ dayKey,
532
+ dayLabel,
533
+ describeAccept,
534
+ describeFilter,
535
+ detectBrand,
308
536
  dismissToast,
309
537
  dockWindow,
310
538
  easeInCubic,
311
539
  easeOut,
312
540
  easeOutCubic,
313
541
  eased,
542
+ emptyFilter,
314
543
  enterMessages,
315
544
  entrances,
316
545
  fadeBackdrop,
546
+ fileFamily,
547
+ findNode,
317
548
  fitComposer,
318
549
  floatingAvailable,
319
550
  flowIn,
@@ -324,17 +555,32 @@ export {
324
555
  flowInPalette,
325
556
  flowOut,
326
557
  forgetFloat,
558
+ formatBytes,
559
+ formatColor,
560
+ formatNumber,
561
+ formatSize,
562
+ formatTime,
563
+ getChannel,
327
564
  getToasts,
328
565
  ghostOf,
329
566
  gsap,
567
+ hasConditions,
568
+ hsvToRgb,
330
569
  installDetailsMotion,
331
570
  isMorphing,
571
+ jsonPath,
572
+ languageFamily,
332
573
  leave,
333
574
  lerp,
334
575
  liftWindow,
576
+ linkDomain,
335
577
  liquidClose,
336
578
  liquidOpen,
579
+ luhn,
580
+ luminance,
337
581
  mapRange,
582
+ matchScore,
583
+ matchesFilter,
338
584
  morphClose,
339
585
  morphCloseWithGhost,
340
586
  morphOpen,
@@ -342,29 +588,52 @@ export {
342
588
  motionSpring,
343
589
  moveItem,
344
590
  nextFrame,
591
+ normaliseSizes,
345
592
  openModal,
593
+ parseColor,
594
+ parseExpiry,
595
+ parseTime,
346
596
  pileLayers,
347
597
  pileStyle,
598
+ place,
348
599
  pointer,
600
+ press,
349
601
  pushUnderlay,
602
+ rangeKeys,
603
+ rangeLength,
604
+ readAnswers,
350
605
  reduced,
351
606
  reflowLayout,
352
607
  registerMotion,
608
+ relativeTime,
353
609
  releaseShared,
354
610
  releaseUnderlay,
355
611
  removeToast,
612
+ renderCode,
356
613
  requestFrame,
357
614
  revealCounter,
358
615
  revealFrom,
359
616
  revealShell,
617
+ rgbToHsv,
618
+ ringPulse,
619
+ rollDigits,
620
+ safeHref,
621
+ safeImage,
622
+ sanitizeHtml,
360
623
  savedFloat,
624
+ scorePassword,
361
625
  scrollToLatest,
626
+ searchTree,
627
+ setChannel,
628
+ shake,
362
629
  shareBack,
363
630
  shareInto,
364
631
  sheetClose,
365
632
  sheetOpen,
366
633
  showOrigin,
634
+ skeletonBones,
367
635
  slideIndicator,
636
+ sortEntries,
368
637
  splitGraphemes,
369
638
  splitWords,
370
639
  spring,
@@ -378,9 +647,16 @@ export {
378
647
  subscribe,
379
648
  subscribeToasts,
380
649
  takeMovement,
650
+ toDate,
651
+ toDateTimeValue,
652
+ toHex,
653
+ toHsva,
654
+ toRange,
381
655
  toast,
382
656
  toastTimers,
657
+ toggleCheck,
383
658
  toggleDetails,
659
+ tokenize,
384
660
  trackScroll,
385
661
  transparentColor,
386
662
  tweenNumber,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/chat-background/audio.ts"],"sourcesContent":["/*\n * Microphone energy for the chat background: FFT 256,\n * smoothing .3, −90…−10 dB; the lowest 40 % of the bins, ×3, clamped to 1, with\n * attack .8 and release .15. The caller passes a MediaStream it already has\n * permission for: this never asks for the microphone.\n */\n\nexport interface AudioEnergy {\n stop(): void;\n}\n\nexport function audioEnergy(\n stream: MediaStream,\n onEnergy: (energy: number) => void,\n { fftSize = 256, smoothing = 0.3 }: { fftSize?: number; smoothing?: number } = {},\n): AudioEnergy {\n const AudioCtor = (globalThis as { AudioContext?: typeof AudioContext }).AudioContext;\n if (!AudioCtor) {\n onEnergy(0);\n return { stop() {} };\n }\n const context = new AudioCtor();\n const analyser = context.createAnalyser();\n analyser.fftSize = fftSize;\n analyser.smoothingTimeConstant = smoothing;\n analyser.minDecibels = -90;\n analyser.maxDecibels = -10;\n const input = context.createMediaStreamSource(stream);\n input.connect(analyser);\n const bins = new Uint8Array(analyser.frequencyBinCount);\n let energy = 0;\n let frame = 0;\n let stopped = false;\n const tick = () => {\n if (stopped) return;\n analyser.getByteFrequencyData(bins);\n const count = Math.ceil(bins.length * 0.4);\n let sum = 0;\n for (let i = 0; i < count; i++) sum += bins[i] ?? 0;\n const target = Math.min(((sum / (count * 255)) * 3), 1);\n energy += (target - energy) * (target > energy ? 0.8 : 0.15);\n onEnergy(energy);\n frame = requestAnimationFrame(tick);\n };\n tick();\n return {\n stop() {\n if (stopped) return;\n stopped = true;\n cancelAnimationFrame(frame);\n input.disconnect();\n void context.close();\n onEnergy(0);\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,SAAS,YACd,QACA,UACA,EAAE,UAAU,KAAK,YAAY,IAAI,IAA8C,CAAC,GACnE;AACb,QAAM,YAAa,WAAsD;AACzE,MAAI,CAAC,WAAW;AACd,aAAS,CAAC;AACV,WAAO,EAAE,OAAO;AAAA,IAAC,EAAE;AAAA,EACrB;AACA,QAAM,UAAU,IAAI,UAAU;AAC9B,QAAM,WAAW,QAAQ,eAAe;AACxC,WAAS,UAAU;AACnB,WAAS,wBAAwB;AACjC,WAAS,cAAc;AACvB,WAAS,cAAc;AACvB,QAAM,QAAQ,QAAQ,wBAAwB,MAAM;AACpD,QAAM,QAAQ,QAAQ;AACtB,QAAM,OAAO,IAAI,WAAW,SAAS,iBAAiB;AACtD,MAAI,SAAS;AACb,MAAI,QAAQ;AACZ,MAAI,UAAU;AACd,QAAM,OAAO,MAAM;AACjB,QAAI,QAAS;AACb,aAAS,qBAAqB,IAAI;AAClC,UAAM,QAAQ,KAAK,KAAK,KAAK,SAAS,GAAG;AACzC,QAAI,MAAM;AACV,aAAS,IAAI,GAAG,IAAI,OAAO,IAAK,QAAO,KAAK,CAAC,KAAK;AAClD,UAAM,SAAS,KAAK,IAAM,OAAO,QAAQ,OAAQ,GAAI,CAAC;AACtD,eAAW,SAAS,WAAW,SAAS,SAAS,MAAM;AACvD,aAAS,MAAM;AACf,YAAQ,sBAAsB,IAAI;AAAA,EACpC;AACA,OAAK;AACL,SAAO;AAAA,IACL,OAAO;AACL,UAAI,QAAS;AACb,gBAAU;AACV,2BAAqB,KAAK;AAC1B,YAAM,WAAW;AACjB,WAAK,QAAQ,MAAM;AACnB,eAAS,CAAC;AAAA,IACZ;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/components/chat-background/audio.ts"],"sourcesContent":["/*\n * Microphone energy for the chat background: FFT 256,\n * smoothing .3, −90…−10 dB; the lowest 40 % of the bins, ×3, clamped to 1, with\n * attack .8 and release .15. The caller passes a MediaStream it already has\n * permission for: this never asks for the microphone.\n */\n\nexport interface AudioEnergy {\n stop(): void;\n}\n\nexport function audioEnergy(\n stream: MediaStream,\n onEnergy: (energy: number) => void,\n { fftSize = 256, smoothing = 0.3 }: { fftSize?: number; smoothing?: number } = {},\n): AudioEnergy {\n const AudioCtor = (globalThis as { AudioContext?: typeof AudioContext }).AudioContext;\n if (!AudioCtor) {\n onEnergy(0);\n return { stop() {} };\n }\n const context = new AudioCtor();\n const analyser = context.createAnalyser();\n analyser.fftSize = fftSize;\n analyser.smoothingTimeConstant = smoothing;\n analyser.minDecibels = -90;\n analyser.maxDecibels = -10;\n const input = context.createMediaStreamSource(stream);\n input.connect(analyser);\n const bins = new Uint8Array(analyser.frequencyBinCount);\n let energy = 0;\n let frame = 0;\n let stopped = false;\n const tick = () => {\n if (stopped) return;\n analyser.getByteFrequencyData(bins);\n const count = Math.ceil(bins.length * 0.4);\n let sum = 0;\n for (let i = 0; i < count; i++) sum += bins[i] ?? 0;\n const target = Math.min(((sum / (count * 255)) * 3), 1);\n energy += (target - energy) * (target > energy ? 0.8 : 0.15);\n onEnergy(energy);\n frame = requestAnimationFrame(tick);\n };\n tick();\n return {\n stop() {\n if (stopped) return;\n stopped = true;\n cancelAnimationFrame(frame);\n input.disconnect();\n void context.close();\n onEnergy(0);\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,SAAS,YACd,QACA,UACA,EAAE,UAAU,KAAK,YAAY,IAAI,IAA8C,CAAC,GACnE;AACb,QAAM,YAAa,WAAsD;AACzE,MAAI,CAAC,WAAW;AACd,aAAS,CAAC;AACV,WAAO,EAAE,OAAO;AAAA,IAAC,EAAE;AAAA,EACrB;AACA,QAAM,UAAU,IAAI,UAAU;AAC9B,QAAM,WAAW,QAAQ,eAAe;AACxC,WAAS,UAAU;AACnB,WAAS,wBAAwB;AACjC,WAAS,cAAc;AACvB,WAAS,cAAc;AACvB,QAAM,QAAQ,QAAQ,wBAAwB,MAAM;AACpD,QAAM,QAAQ,QAAQ;AACtB,QAAM,OAAO,IAAI,WAAW,SAAS,iBAAiB;AACtD,MAAI,SAAS;AACb,MAAI,QAAQ;AACZ,MAAI,UAAU;AACd,QAAM,OAAO,MAAM;AACjB,QAAI,QAAS;AACb,aAAS,qBAAqB,IAAI;AAClC,UAAM,QAAQ,KAAK,KAAK,KAAK,SAAS,GAAG;AACzC,QAAI,MAAM;AACV,aAAS,IAAI,GAAG,IAAI,OAAO,IAAK,QAAO,KAAK,CAAC,KAAK;AAClD,UAAM,SAAS,KAAK,IAAM,OAAO,QAAQ,OAAQ,GAAI,CAAC;AACtD,eAAW,SAAS,WAAW,SAAS,SAAS,MAAM;AACvD,aAAS,MAAM;AACf,YAAQ,sBAAsB,IAAI;AAAA,EACpC;AACA,OAAK;AACL,SAAO;AAAA,IACL,OAAO;AACL,UAAI,QAAS;AACb,gBAAU;AACV,2BAAqB,KAAK;AAC1B,YAAM,WAAW;AACjB,WAAK,QAAQ,MAAM;AACnB,eAAS,CAAC;AAAA,IACZ;AAAA,EACF;AACF;","names":[]}