@yewdiel21/motion-kit 0.10.0 → 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 (365) hide show
  1. package/README.md +155 -93
  2. package/dist/auto/index.d.ts +53 -3
  3. package/dist/auto/index.js +101 -3
  4. package/dist/auto/index.js.map +1 -1
  5. package/dist/{chunk-IKQ5FODN.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-XAKC2QY7.js → chunk-EY4BJKC4.js} +3 -28
  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/chart-tooltip.css +168 -0
  17. package/dist/css/components/chart.css +296 -0
  18. package/dist/css/components/code-block.css +264 -0
  19. package/dist/css/components/color-area.css +82 -0
  20. package/dist/css/components/color-field.css +67 -0
  21. package/dist/css/components/color-picker.css +131 -0
  22. package/dist/css/components/color-slider.css +113 -0
  23. package/dist/css/components/command-search.css +252 -0
  24. package/dist/css/components/context-menu.css +23 -0
  25. package/dist/css/components/credit-card.css +288 -0
  26. package/dist/css/components/data-table.css +591 -0
  27. package/dist/css/components/date-range-picker.css +168 -0
  28. package/dist/css/components/date-time-picker.css +178 -0
  29. package/dist/css/components/drawer.css +58 -0
  30. package/dist/css/components/editable-table.css +201 -0
  31. package/dist/css/components/empty-state.css +61 -0
  32. package/dist/css/components/file-explorer.css +633 -0
  33. package/dist/css/components/filter-builder.css +232 -0
  34. package/dist/css/components/hold-confirm.css +87 -0
  35. package/dist/css/components/hover-card.css +13 -7
  36. package/dist/css/components/image-preview.css +195 -0
  37. package/dist/css/components/json-viewer.css +272 -0
  38. package/dist/css/components/like-button.css +78 -0
  39. package/dist/css/components/link-preview.css +275 -0
  40. package/dist/css/components/loading-button.css +77 -0
  41. package/dist/css/components/multi-select.css +267 -0
  42. package/dist/css/components/notification-bell.css +127 -0
  43. package/dist/css/components/password-strength.css +183 -0
  44. package/dist/css/components/popover.css +25 -0
  45. package/dist/css/components/progress.css +140 -0
  46. package/dist/css/components/questionnaire.css +217 -0
  47. package/dist/css/components/range-calendar.css +186 -0
  48. package/dist/css/components/range-slider.css +192 -0
  49. package/dist/css/components/resizable-panel.css +243 -0
  50. package/dist/css/components/rich-text-editor.css +284 -0
  51. package/dist/css/components/scratch-card.css +75 -0
  52. package/dist/css/components/skeleton.css +108 -0
  53. package/dist/css/components/split-view.css +19 -0
  54. package/dist/css/components/star-rating.css +80 -0
  55. package/dist/css/components/stat-card.css +164 -0
  56. package/dist/css/components/swipe-actions.css +105 -0
  57. package/dist/css/components/tag-input.css +244 -0
  58. package/dist/css/components/time-field.css +88 -0
  59. package/dist/css/components/timeline.css +219 -0
  60. package/dist/css/components/tooltip.css +79 -0
  61. package/dist/css/components/tree-view.css +210 -0
  62. package/dist/css/components/virtual-list.css +195 -0
  63. package/dist/css/tokens.css +185 -181
  64. package/dist/elements/index.d.ts +674 -5
  65. package/dist/elements/index.js +1361 -8
  66. package/dist/elements/index.js.map +1 -1
  67. package/dist/{engine-GDGwQnJE.d.ts → engine-Cn6IhE3z.d.ts} +1 -1
  68. package/dist/engine-QECQnGz1.d.ts +33 -0
  69. package/dist/index.css +9104 -189
  70. package/dist/index.d.ts +89 -5
  71. package/dist/index.js +243 -9
  72. package/dist/index.js.map +1 -1
  73. package/dist/react/index.d.ts +579 -23
  74. package/dist/react/index.js +2042 -7
  75. package/dist/react/index.js.map +1 -1
  76. package/dist/{reduced-BmBzKH94.d.ts → reduced-BBUusld6.d.ts} +9 -2
  77. package/dist/reveal-DEvp6U6T.d.ts +2381 -0
  78. package/dist/{store-DYb3tTsZ.d.ts → store-DjkTBX7f.d.ts} +2 -2
  79. package/package.json +1 -1
  80. package/registry.json +406 -1
  81. package/src/auto/auto-init.ts +98 -0
  82. package/src/components/activity-feed/README.md +56 -0
  83. package/src/components/activity-feed/activity-feed.css +239 -0
  84. package/src/components/activity-feed/element.ts +36 -0
  85. package/src/components/activity-feed/engine.ts +351 -0
  86. package/src/components/activity-feed/react.tsx +32 -0
  87. package/src/components/attachment/README.md +27 -0
  88. package/src/components/attachment/attachment.css +265 -0
  89. package/src/components/attachment/element.ts +50 -0
  90. package/src/components/attachment/engine.ts +469 -0
  91. package/src/components/attachment/react.tsx +65 -0
  92. package/src/components/breadcrumb/README.md +38 -0
  93. package/src/components/breadcrumb/breadcrumb.css +109 -0
  94. package/src/components/breadcrumb/element.ts +27 -0
  95. package/src/components/breadcrumb/engine.ts +249 -0
  96. package/src/components/breadcrumb/react.tsx +30 -0
  97. package/src/components/chart/README.md +24 -0
  98. package/src/components/chart/chart.css +295 -0
  99. package/src/components/chart/element.ts +41 -0
  100. package/src/components/chart/engine.ts +811 -0
  101. package/src/components/chart/react.tsx +50 -0
  102. package/src/components/chart-tooltip/README.md +53 -0
  103. package/src/components/chart-tooltip/chart-tooltip.css +167 -0
  104. package/src/components/chart-tooltip/element.ts +37 -0
  105. package/src/components/chart-tooltip/engine.ts +442 -0
  106. package/src/components/chart-tooltip/react.tsx +47 -0
  107. package/src/components/code-block/README.md +19 -0
  108. package/src/components/code-block/code-block.css +263 -0
  109. package/src/components/code-block/element.ts +34 -0
  110. package/src/components/code-block/engine.ts +254 -0
  111. package/src/components/code-block/highlight.ts +244 -0
  112. package/src/components/code-block/react.tsx +94 -0
  113. package/src/components/color-area/README.md +50 -0
  114. package/src/components/color-area/color-area.css +81 -0
  115. package/src/components/color-area/element.ts +26 -0
  116. package/src/components/color-area/engine.ts +246 -0
  117. package/src/components/color-area/react.tsx +42 -0
  118. package/src/components/color-field/README.md +43 -0
  119. package/src/components/color-field/color-field.css +66 -0
  120. package/src/components/color-field/element.ts +26 -0
  121. package/src/components/color-field/engine.ts +174 -0
  122. package/src/components/color-field/react.tsx +42 -0
  123. package/src/components/color-picker/README.md +45 -0
  124. package/src/components/color-picker/color-picker.css +130 -0
  125. package/src/components/color-picker/element.ts +45 -0
  126. package/src/components/color-picker/engine.ts +314 -0
  127. package/src/components/color-picker/react.tsx +47 -0
  128. package/src/components/color-slider/README.md +55 -0
  129. package/src/components/color-slider/color-slider.css +112 -0
  130. package/src/components/color-slider/element.ts +26 -0
  131. package/src/components/color-slider/engine.ts +234 -0
  132. package/src/components/color-slider/react.tsx +45 -0
  133. package/src/components/command-search/README.md +15 -0
  134. package/src/components/command-search/command-search.css +251 -0
  135. package/src/components/command-search/element.ts +36 -0
  136. package/src/components/command-search/engine.ts +356 -0
  137. package/src/components/command-search/match.ts +53 -0
  138. package/src/components/command-search/react.tsx +66 -0
  139. package/src/components/context-menu/README.md +31 -0
  140. package/src/components/context-menu/context-menu.css +22 -0
  141. package/src/components/context-menu/element.ts +40 -0
  142. package/src/components/context-menu/engine.ts +153 -0
  143. package/src/components/context-menu/react.tsx +57 -0
  144. package/src/components/credit-card/README.md +20 -0
  145. package/src/components/credit-card/card.ts +77 -0
  146. package/src/components/credit-card/credit-card.css +287 -0
  147. package/src/components/credit-card/element.ts +33 -0
  148. package/src/components/credit-card/engine.ts +410 -0
  149. package/src/components/credit-card/react.tsx +36 -0
  150. package/src/components/data-table/README.md +83 -0
  151. package/src/components/data-table/data-table.css +590 -0
  152. package/src/components/data-table/element.ts +54 -0
  153. package/src/components/data-table/engine.ts +1059 -0
  154. package/src/components/data-table/react.tsx +94 -0
  155. package/src/components/date-range-picker/README.md +51 -0
  156. package/src/components/date-range-picker/date-range-picker.css +167 -0
  157. package/src/components/date-range-picker/element.ts +52 -0
  158. package/src/components/date-range-picker/engine.ts +352 -0
  159. package/src/components/date-range-picker/react.tsx +57 -0
  160. package/src/components/date-time-picker/README.md +48 -0
  161. package/src/components/date-time-picker/date-time-picker.css +177 -0
  162. package/src/components/date-time-picker/element.ts +47 -0
  163. package/src/components/date-time-picker/engine.ts +350 -0
  164. package/src/components/date-time-picker/react.tsx +54 -0
  165. package/src/components/dialog/README.md +103 -102
  166. package/src/components/dialog/element.ts +123 -118
  167. package/src/components/dialog/engine.ts +449 -432
  168. package/src/components/drawer/README.md +28 -0
  169. package/src/components/drawer/drawer.css +57 -0
  170. package/src/components/drawer/element.ts +21 -0
  171. package/src/components/drawer/engine.ts +56 -0
  172. package/src/components/drawer/react.tsx +85 -0
  173. package/src/components/editable-table/README.md +67 -0
  174. package/src/components/editable-table/editable-table.css +200 -0
  175. package/src/components/editable-table/element.ts +45 -0
  176. package/src/components/editable-table/engine.ts +775 -0
  177. package/src/components/editable-table/react.tsx +79 -0
  178. package/src/components/empty-state/README.md +41 -0
  179. package/src/components/empty-state/element.ts +23 -0
  180. package/src/components/empty-state/empty-state.css +60 -0
  181. package/src/components/empty-state/engine.ts +232 -0
  182. package/src/components/empty-state/react.tsx +34 -0
  183. package/src/components/file-explorer/README.md +67 -0
  184. package/src/components/file-explorer/element.ts +39 -0
  185. package/src/components/file-explorer/engine.ts +1307 -0
  186. package/src/components/file-explorer/file-explorer.css +632 -0
  187. package/src/components/file-explorer/react.tsx +77 -0
  188. package/src/components/filter-builder/README.md +47 -0
  189. package/src/components/filter-builder/element.ts +34 -0
  190. package/src/components/filter-builder/engine.ts +365 -0
  191. package/src/components/filter-builder/filter-builder.css +231 -0
  192. package/src/components/filter-builder/react.tsx +36 -0
  193. package/src/components/hold-confirm/README.md +13 -0
  194. package/src/components/hold-confirm/element.ts +24 -0
  195. package/src/components/hold-confirm/engine.ts +216 -0
  196. package/src/components/hold-confirm/hold-confirm.css +86 -0
  197. package/src/components/hold-confirm/react.tsx +28 -0
  198. package/src/components/hover-card/README.md +6 -2
  199. package/src/components/hover-card/engine.ts +68 -6
  200. package/src/components/hover-card/hover-card.css +13 -7
  201. package/src/components/image-preview/README.md +16 -0
  202. package/src/components/image-preview/element.ts +26 -0
  203. package/src/components/image-preview/engine.ts +325 -0
  204. package/src/components/image-preview/image-preview.css +194 -0
  205. package/src/components/image-preview/react.tsx +43 -0
  206. package/src/components/json-viewer/README.md +56 -0
  207. package/src/components/json-viewer/element.ts +37 -0
  208. package/src/components/json-viewer/engine.ts +440 -0
  209. package/src/components/json-viewer/json-viewer.css +271 -0
  210. package/src/components/json-viewer/react.tsx +56 -0
  211. package/src/components/like-button/README.md +13 -0
  212. package/src/components/like-button/element.ts +47 -0
  213. package/src/components/like-button/engine.ts +145 -0
  214. package/src/components/like-button/like-button.css +77 -0
  215. package/src/components/like-button/react.tsx +39 -0
  216. package/src/components/link-preview/README.md +19 -0
  217. package/src/components/link-preview/element.ts +29 -0
  218. package/src/components/link-preview/engine.ts +192 -0
  219. package/src/components/link-preview/link-preview.css +274 -0
  220. package/src/components/link-preview/react.tsx +101 -0
  221. package/src/components/loading-button/README.md +45 -0
  222. package/src/components/loading-button/element.ts +34 -0
  223. package/src/components/loading-button/engine.ts +201 -0
  224. package/src/components/loading-button/loading-button.css +76 -0
  225. package/src/components/loading-button/react.tsx +43 -0
  226. package/src/components/multi-select/README.md +48 -0
  227. package/src/components/multi-select/element.ts +28 -0
  228. package/src/components/multi-select/engine.ts +294 -0
  229. package/src/components/multi-select/multi-select.css +266 -0
  230. package/src/components/multi-select/react.tsx +39 -0
  231. package/src/components/notification-bell/README.md +14 -0
  232. package/src/components/notification-bell/element.ts +48 -0
  233. package/src/components/notification-bell/engine.ts +202 -0
  234. package/src/components/notification-bell/notification-bell.css +126 -0
  235. package/src/components/notification-bell/react.tsx +57 -0
  236. package/src/components/password-strength/README.md +17 -0
  237. package/src/components/password-strength/element.ts +22 -0
  238. package/src/components/password-strength/engine.ts +212 -0
  239. package/src/components/password-strength/password-strength.css +182 -0
  240. package/src/components/password-strength/react.tsx +36 -0
  241. package/src/components/password-strength/score.ts +62 -0
  242. package/src/components/popover/README.md +44 -0
  243. package/src/components/popover/element.ts +31 -0
  244. package/src/components/popover/engine.ts +114 -0
  245. package/src/components/popover/popover.css +24 -0
  246. package/src/components/popover/react.tsx +50 -0
  247. package/src/components/progress/README.md +17 -0
  248. package/src/components/progress/element.ts +30 -0
  249. package/src/components/progress/engine.ts +173 -0
  250. package/src/components/progress/progress.css +139 -0
  251. package/src/components/progress/react.tsx +35 -0
  252. package/src/components/questionnaire/README.md +32 -0
  253. package/src/components/questionnaire/element.ts +118 -0
  254. package/src/components/questionnaire/engine.ts +255 -0
  255. package/src/components/questionnaire/questionnaire.css +216 -0
  256. package/src/components/questionnaire/react.tsx +140 -0
  257. package/src/components/range-calendar/README.md +58 -0
  258. package/src/components/range-calendar/element.ts +42 -0
  259. package/src/components/range-calendar/engine.ts +390 -0
  260. package/src/components/range-calendar/range-calendar.css +185 -0
  261. package/src/components/range-calendar/react.tsx +56 -0
  262. package/src/components/range-slider/README.md +23 -0
  263. package/src/components/range-slider/element.ts +53 -0
  264. package/src/components/range-slider/engine.ts +316 -0
  265. package/src/components/range-slider/range-slider.css +191 -0
  266. package/src/components/range-slider/react.tsx +66 -0
  267. package/src/components/resizable-panel/README.md +61 -0
  268. package/src/components/resizable-panel/element.ts +36 -0
  269. package/src/components/resizable-panel/engine.ts +551 -0
  270. package/src/components/resizable-panel/react.tsx +74 -0
  271. package/src/components/resizable-panel/resizable-panel.css +242 -0
  272. package/src/components/rich-text-editor/README.md +57 -0
  273. package/src/components/rich-text-editor/element.ts +34 -0
  274. package/src/components/rich-text-editor/engine.ts +673 -0
  275. package/src/components/rich-text-editor/react.tsx +60 -0
  276. package/src/components/rich-text-editor/rich-text-editor.css +283 -0
  277. package/src/components/scratch-card/README.md +15 -0
  278. package/src/components/scratch-card/element.ts +30 -0
  279. package/src/components/scratch-card/engine.ts +257 -0
  280. package/src/components/scratch-card/react.tsx +40 -0
  281. package/src/components/scratch-card/scratch-card.css +74 -0
  282. package/src/components/skeleton/README.md +15 -0
  283. package/src/components/skeleton/element.ts +32 -0
  284. package/src/components/skeleton/engine.ts +104 -0
  285. package/src/components/skeleton/react.tsx +41 -0
  286. package/src/components/skeleton/skeleton.css +107 -0
  287. package/src/components/split-view/README.md +50 -0
  288. package/src/components/split-view/element.ts +34 -0
  289. package/src/components/split-view/engine.ts +114 -0
  290. package/src/components/split-view/react.tsx +63 -0
  291. package/src/components/split-view/split-view.css +18 -0
  292. package/src/components/star-rating/README.md +14 -0
  293. package/src/components/star-rating/element.ts +26 -0
  294. package/src/components/star-rating/engine.ts +217 -0
  295. package/src/components/star-rating/react.tsx +33 -0
  296. package/src/components/star-rating/star-rating.css +79 -0
  297. package/src/components/stat-card/README.md +42 -0
  298. package/src/components/stat-card/element.ts +40 -0
  299. package/src/components/stat-card/engine.ts +283 -0
  300. package/src/components/stat-card/react.tsx +36 -0
  301. package/src/components/stat-card/stat-card.css +163 -0
  302. package/src/components/swipe-actions/README.md +19 -0
  303. package/src/components/swipe-actions/element.ts +26 -0
  304. package/src/components/swipe-actions/engine.ts +260 -0
  305. package/src/components/swipe-actions/react.tsx +80 -0
  306. package/src/components/swipe-actions/swipe-actions.css +104 -0
  307. package/src/components/tag-input/README.md +42 -0
  308. package/src/components/tag-input/element.ts +39 -0
  309. package/src/components/tag-input/engine.ts +313 -0
  310. package/src/components/tag-input/react.tsx +54 -0
  311. package/src/components/tag-input/tag-input.css +243 -0
  312. package/src/components/time-field/README.md +54 -0
  313. package/src/components/time-field/element.ts +38 -0
  314. package/src/components/time-field/engine.ts +110 -0
  315. package/src/components/time-field/react.tsx +45 -0
  316. package/src/components/time-field/time-field.css +87 -0
  317. package/src/components/timeline/README.md +57 -0
  318. package/src/components/timeline/element.ts +31 -0
  319. package/src/components/timeline/engine.ts +300 -0
  320. package/src/components/timeline/react.tsx +59 -0
  321. package/src/components/timeline/timeline.css +218 -0
  322. package/src/components/tooltip/README.md +46 -0
  323. package/src/components/tooltip/element.ts +22 -0
  324. package/src/components/tooltip/engine.ts +288 -0
  325. package/src/components/tooltip/react.tsx +30 -0
  326. package/src/components/tooltip/tooltip.css +78 -0
  327. package/src/components/tree-view/README.md +61 -0
  328. package/src/components/tree-view/element.ts +32 -0
  329. package/src/components/tree-view/engine.ts +569 -0
  330. package/src/components/tree-view/react.tsx +78 -0
  331. package/src/components/tree-view/tree-view.css +209 -0
  332. package/src/components/virtual-list/README.md +81 -0
  333. package/src/components/virtual-list/element.ts +42 -0
  334. package/src/components/virtual-list/engine.ts +678 -0
  335. package/src/components/virtual-list/react.tsx +101 -0
  336. package/src/components/virtual-list/virtual-list.css +194 -0
  337. package/src/core/chips.ts +196 -0
  338. package/src/core/color.ts +304 -0
  339. package/src/core/date-range.ts +67 -0
  340. package/src/core/dates.ts +11 -1
  341. package/src/core/files.ts +107 -0
  342. package/src/core/filter.ts +229 -0
  343. package/src/core/gsap.ts +80 -65
  344. package/src/core/listbox.ts +332 -0
  345. package/src/core/mark.ts +29 -0
  346. package/src/core/position.ts +89 -0
  347. package/src/core/relative-time.ts +77 -0
  348. package/src/core/segment-field.ts +373 -0
  349. package/src/core/segments.ts +153 -0
  350. package/src/core/tree.ts +116 -0
  351. package/src/core/virtual.ts +79 -0
  352. package/src/css/tokens.css +186 -182
  353. package/src/elements/index.ts +147 -0
  354. package/src/index.ts +72 -0
  355. package/src/motion/micro.ts +248 -0
  356. package/src/motion/sheet.ts +88 -65
  357. package/src/motion/surface.ts +9 -0
  358. package/src/react/index.ts +57 -0
  359. package/dist/chunk-IKQ5FODN.js.map +0 -1
  360. package/dist/chunk-J6OCFNGU.js +0 -177
  361. package/dist/chunk-J6OCFNGU.js.map +0 -1
  362. package/dist/chunk-TFNRIZHU.js +0 -3977
  363. package/dist/chunk-TFNRIZHU.js.map +0 -1
  364. package/dist/chunk-XAKC2QY7.js.map +0 -1
  365. package/dist/reveal-jsX-uwUz.d.ts +0 -625
@@ -1,6 +1,6 @@
1
1
  import { I as Instance } from './types-BkS_raL8.js';
2
2
  import { Flip } from 'gsap/Flip';
3
- import { R as RevealHandle } from './reveal-jsX-uwUz.js';
3
+ import { a0 as RevealHandle } from './reveal-DEvp6U6T.js';
4
4
 
5
5
  interface ThemePickerOptions {
6
6
  /** Theme ids to show, in order. Default: visible presets, or all with showHidden. */
@@ -192,4 +192,4 @@ declare const toastTimers: {
192
192
  clear(id: number): void;
193
193
  };
194
194
 
195
- export { createIsland as A, createNav as B, type ChatInstance as C, createThemePicker as D, createToaster as E, dismissToast as F, getToasts as G, morphPendingToReply as H, type IslandInstance as I, removeToast as J, revealShell as K, subscribeToasts as L, toastTimers as M, type NavInstance as N, PENDING_ID as P, type ThemePickerInstance as T, type ToasterInstance as a, type ChatRole as b, type NavStyle as c, type CursorInstance as d, type ChatLabels as e, type ChatOptions as f, type CursorOptions as g, type CursorVariant as h, type IslandOptions as i, NAV_STYLES as j, type NavOptions as k, type NavigateDetail as l, TOAST_LIMIT as m, type ThemePickerOptions as n, type ToastAction as o, type ToastItem as p, type ToastOptions as q, type ToastTone as r, type ToasterLabels as s, toast as t, type ToasterOptions as u, capturePending as v, chatMessage as w, clearToasts as x, createChat as y, createCursor as z };
195
+ export { createNav as A, createThemePicker as B, type ChatInstance as C, createToaster as D, dismissToast as E, getToasts as F, morphPendingToReply as G, removeToast as H, type IslandInstance as I, revealShell as J, subscribeToasts as K, toast as L, toastTimers as M, NAV_STYLES as N, PENDING_ID as P, TOAST_LIMIT as T, type ChatLabels as a, type ChatOptions as b, type ChatRole as c, type CursorInstance as d, type CursorOptions as e, type CursorVariant as f, type IslandOptions as g, type NavInstance as h, type NavOptions as i, type NavStyle as j, type NavigateDetail as k, type ThemePickerInstance as l, type ThemePickerOptions as m, type ToastAction as n, type ToastItem as o, type ToastOptions as p, type ToastTone as q, type ToasterInstance as r, type ToasterLabels as s, type ToasterOptions as t, capturePending as u, chatMessage as v, clearToasts as w, createChat as x, createCursor as y, createIsland as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yewdiel21/motion-kit",
3
- "version": "0.10.0",
3
+ "version": "0.14.0",
4
4
  "description": "Motion toolkit for vanilla, Astro and React: GSAP recipes, accessible components, 19 themes, CSS controls and optional WebGL effects.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
package/registry.json CHANGED
@@ -407,7 +407,7 @@
407
407
  },
408
408
  "hover-card": {
409
409
  "kind": "component",
410
- "description": "Vista previa con apertura por puntero, foco o toque y cierre con Escape.",
410
+ "description": "Vista previa con apertura por puntero, foco o toque, posición dentro del viewport y cierre con Escape.",
411
411
  "files": ["components/hover-card/engine.ts", "components/hover-card/hover-card.css", "components/hover-card/README.md"],
412
412
  "element": "components/hover-card/element.ts",
413
413
  "react": "components/hover-card/react.tsx",
@@ -538,6 +538,411 @@
538
538
  "files": ["recipes/local-clock/create-local-clock.ts", "recipes/local-clock/README.md"],
539
539
  "react": "react/use-local-clock.ts",
540
540
  "since": "0.10.0"
541
+ },
542
+ "attachment": {
543
+ "kind": "component",
544
+ "description": "Selector de archivos con arrastrar y soltar, validación, tarjetas con progreso y vista previa de imágenes.",
545
+ "files": ["components/attachment/engine.ts", "components/attachment/attachment.css", "components/attachment/README.md"],
546
+ "element": "components/attachment/element.ts",
547
+ "react": "components/attachment/react.tsx",
548
+ "since": "0.11.0"
549
+ },
550
+ "skeleton": {
551
+ "kind": "component",
552
+ "description": "Marcador de carga de texto, avatar, imagen o tarjeta con pulso o brillo y estado accesible.",
553
+ "files": ["components/skeleton/engine.ts", "components/skeleton/skeleton.css", "components/skeleton/README.md"],
554
+ "element": "components/skeleton/element.ts",
555
+ "react": "components/skeleton/react.tsx",
556
+ "since": "0.11.0"
557
+ },
558
+ "questionnaire": {
559
+ "kind": "component",
560
+ "description": "Cuestionario por pasos con texto, opción única y múltiple, validación de obligatorios y finalización.",
561
+ "files": ["components/questionnaire/engine.ts", "components/questionnaire/questionnaire.css", "components/questionnaire/README.md"],
562
+ "element": "components/questionnaire/element.ts",
563
+ "react": "components/questionnaire/react.tsx",
564
+ "requires": ["steps"],
565
+ "since": "0.11.0"
566
+ },
567
+ "code-block": {
568
+ "kind": "component",
569
+ "description": "Bloque de código con título, lenguaje, números de línea y copiar con confirmación.",
570
+ "files": ["components/code-block/engine.ts", "components/code-block/highlight.ts", "components/code-block/code-block.css", "components/code-block/README.md"],
571
+ "element": "components/code-block/element.ts",
572
+ "react": "components/code-block/react.tsx",
573
+ "since": "0.11.0"
574
+ },
575
+ "context-menu": {
576
+ "kind": "component",
577
+ "description": "Menú contextual con clic derecho, tecla Menú, Shift+F10 o pulsación larga, dentro del viewport.",
578
+ "files": ["components/context-menu/engine.ts", "components/context-menu/context-menu.css", "components/context-menu/README.md"],
579
+ "element": "components/context-menu/element.ts",
580
+ "react": "components/context-menu/react.tsx",
581
+ "requires": ["menu"],
582
+ "since": "0.11.0"
583
+ },
584
+ "drawer": {
585
+ "kind": "component",
586
+ "description": "Panel lateral izquierdo o derecho y hoja inferior sobre el diálogo nativo, con foco y bloqueo de scroll.",
587
+ "files": ["components/drawer/engine.ts", "components/drawer/drawer.css", "components/drawer/README.md"],
588
+ "element": "components/drawer/element.ts",
589
+ "react": "components/drawer/react.tsx",
590
+ "requires": ["dialog"],
591
+ "since": "0.11.0"
592
+ },
593
+ "link-preview": {
594
+ "kind": "component",
595
+ "description": "Tarjeta de enlace con miniatura, sitio, título y descripción, o enlace que la previsualiza al señalar.",
596
+ "files": ["components/link-preview/engine.ts", "components/link-preview/link-preview.css", "components/link-preview/README.md"],
597
+ "element": "components/link-preview/element.ts",
598
+ "react": "components/link-preview/react.tsx",
599
+ "requires": ["hover-card"],
600
+ "since": "0.11.0"
601
+ },
602
+ "progress": {
603
+ "kind": "component",
604
+ "description": "Barra o anillo de progreso, determinado o indeterminado, con límites y porcentaje opcional.",
605
+ "files": ["components/progress/engine.ts", "components/progress/progress.css", "components/progress/README.md"],
606
+ "element": "components/progress/element.ts",
607
+ "react": "components/progress/react.tsx",
608
+ "since": "0.11.0"
609
+ },
610
+ "range-slider": {
611
+ "kind": "component",
612
+ "description": "Valor o intervalo sobre inputs range nativos, con pasos, límites, relleno y salida formateada.",
613
+ "files": ["components/range-slider/engine.ts", "components/range-slider/range-slider.css", "components/range-slider/README.md"],
614
+ "element": "components/range-slider/element.ts",
615
+ "react": "components/range-slider/react.tsx",
616
+ "since": "0.11.0"
617
+ },
618
+ "chart": {
619
+ "kind": "component",
620
+ "description": "Gráfica SVG de línea, área y barras agrupadas o apiladas, con tooltip, teclado y tabla accesible.",
621
+ "files": ["components/chart/engine.ts", "components/chart/chart.css", "components/chart/README.md"],
622
+ "element": "components/chart/element.ts",
623
+ "react": "components/chart/react.tsx",
624
+ "since": "0.11.0"
625
+ },
626
+ "credit-card": {
627
+ "kind": "component",
628
+ "description": "Tarjeta de crédito que se rellena al escribir y gira en 3D al llegar al CVC, con campos nativos y validación.",
629
+ "files": ["components/credit-card/engine.ts", "components/credit-card/card.ts", "components/credit-card/credit-card.css", "components/credit-card/README.md"],
630
+ "element": "components/credit-card/element.ts",
631
+ "react": "components/credit-card/react.tsx",
632
+ "since": "0.12.0"
633
+ },
634
+ "command-search": {
635
+ "kind": "component",
636
+ "description": "Paleta de comandos con ⌘K, búsqueda aproximada con letras marcadas, grupos y teclado.",
637
+ "files": ["components/command-search/engine.ts", "components/command-search/match.ts", "components/command-search/command-search.css", "components/command-search/README.md"],
638
+ "element": "components/command-search/element.ts",
639
+ "react": "components/command-search/react.tsx",
640
+ "since": "0.12.0"
641
+ },
642
+ "hold-confirm": {
643
+ "kind": "component",
644
+ "description": "Botón que confirma al mantenerlo pulsado: relleno, etiqueta que cambia, ✓ y partículas.",
645
+ "files": ["components/hold-confirm/engine.ts", "components/hold-confirm/hold-confirm.css", "components/hold-confirm/README.md"],
646
+ "element": "components/hold-confirm/element.ts",
647
+ "react": "components/hold-confirm/react.tsx",
648
+ "since": "0.12.0"
649
+ },
650
+ "image-preview": {
651
+ "kind": "component",
652
+ "description": "Visor de imágenes en diálogo que crece desde la miniatura, con galería, zoom y arrastre para cerrar.",
653
+ "files": ["components/image-preview/engine.ts", "components/image-preview/image-preview.css", "components/image-preview/README.md"],
654
+ "element": "components/image-preview/element.ts",
655
+ "react": "components/image-preview/react.tsx",
656
+ "since": "0.12.0"
657
+ },
658
+ "like-button": {
659
+ "kind": "component",
660
+ "description": "Botón de me gusta con corazón que rebota, partículas y contador que rueda.",
661
+ "files": ["components/like-button/engine.ts", "components/like-button/like-button.css", "components/like-button/README.md"],
662
+ "element": "components/like-button/element.ts",
663
+ "react": "components/like-button/react.tsx",
664
+ "since": "0.12.0"
665
+ },
666
+ "notification-bell": {
667
+ "kind": "component",
668
+ "description": "Campana de notificaciones que oscila al llegar una, con insignia, ondas y mensaje.",
669
+ "files": ["components/notification-bell/engine.ts", "components/notification-bell/notification-bell.css", "components/notification-bell/README.md"],
670
+ "element": "components/notification-bell/element.ts",
671
+ "react": "components/notification-bell/react.tsx",
672
+ "since": "0.12.0"
673
+ },
674
+ "password-strength": {
675
+ "kind": "component",
676
+ "description": "Contraseña con medidor de fortaleza en cascada, requisitos que se marcan y mostrar/ocultar.",
677
+ "files": ["components/password-strength/engine.ts", "components/password-strength/score.ts", "components/password-strength/password-strength.css", "components/password-strength/README.md"],
678
+ "element": "components/password-strength/element.ts",
679
+ "react": "components/password-strength/react.tsx",
680
+ "since": "0.12.0"
681
+ },
682
+ "scratch-card": {
683
+ "kind": "component",
684
+ "description": "Rasca y gana para cupones: cubierta metalizada en canvas, revelado con blur y confeti.",
685
+ "files": ["components/scratch-card/engine.ts", "components/scratch-card/scratch-card.css", "components/scratch-card/README.md"],
686
+ "element": "components/scratch-card/element.ts",
687
+ "react": "components/scratch-card/react.tsx",
688
+ "since": "0.12.0"
689
+ },
690
+ "star-rating": {
691
+ "kind": "component",
692
+ "description": "Valoración con estrellas sobre radios nativos, vista previa en cascada y rebote al elegir.",
693
+ "files": ["components/star-rating/engine.ts", "components/star-rating/star-rating.css", "components/star-rating/README.md"],
694
+ "element": "components/star-rating/element.ts",
695
+ "react": "components/star-rating/react.tsx",
696
+ "since": "0.12.0"
697
+ },
698
+ "swipe-actions": {
699
+ "kind": "component",
700
+ "description": "Filas de lista que se deslizan para mostrar acciones; el deslizamiento largo ejecuta la principal.",
701
+ "files": ["components/swipe-actions/engine.ts", "components/swipe-actions/swipe-actions.css", "components/swipe-actions/README.md"],
702
+ "element": "components/swipe-actions/element.ts",
703
+ "react": "components/swipe-actions/react.tsx",
704
+ "since": "0.12.0"
705
+ },
706
+ "color-slider": {
707
+ "kind": "component",
708
+ "description": "Deslizador de un canal de color (tono, opacidad…) con pista degradada y lupa.",
709
+ "files": ["components/color-slider/engine.ts", "components/color-slider/color-slider.css", "components/color-slider/README.md"],
710
+ "element": "components/color-slider/element.ts",
711
+ "react": "components/color-slider/react.tsx",
712
+ "since": "0.13.0"
713
+ },
714
+ "color-area": {
715
+ "kind": "component",
716
+ "description": "Área de saturación y brillo con arrastre, teclado y lupa de color.",
717
+ "files": ["components/color-area/engine.ts", "components/color-area/color-area.css", "components/color-area/README.md"],
718
+ "element": "components/color-area/element.ts",
719
+ "react": "components/color-area/react.tsx",
720
+ "since": "0.13.0"
721
+ },
722
+ "color-field": {
723
+ "kind": "component",
724
+ "description": "Campo de color que acepta hex, rgb() o hsl(), con muestra y validación.",
725
+ "files": ["components/color-field/engine.ts", "components/color-field/color-field.css", "components/color-field/README.md"],
726
+ "element": "components/color-field/element.ts",
727
+ "react": "components/color-field/react.tsx",
728
+ "since": "0.13.0"
729
+ },
730
+ "color-picker": {
731
+ "kind": "component",
732
+ "description": "Selector de color que crece desde su muestra: área, tono, opacidad, código, guardados y cuentagotas.",
733
+ "files": ["components/color-picker/engine.ts", "components/color-picker/color-picker.css", "components/color-picker/README.md"],
734
+ "element": "components/color-picker/element.ts",
735
+ "react": "components/color-picker/react.tsx",
736
+ "requires": ["dialog", "color-area", "color-slider", "color-field"],
737
+ "since": "0.13.0"
738
+ },
739
+ "time-field": {
740
+ "kind": "component",
741
+ "description": "Hora por segmentos (24 h o a. m./p. m.) con dígitos que ruedan y teclado.",
742
+ "files": ["components/time-field/engine.ts", "components/time-field/time-field.css", "components/time-field/README.md"],
743
+ "element": "components/time-field/element.ts",
744
+ "react": "components/time-field/react.tsx",
745
+ "since": "0.13.0"
746
+ },
747
+ "range-calendar": {
748
+ "kind": "component",
749
+ "description": "Calendario de rango con vista previa, banda animada, días no disponibles y teclado.",
750
+ "files": ["components/range-calendar/engine.ts", "components/range-calendar/range-calendar.css", "components/range-calendar/README.md"],
751
+ "element": "components/range-calendar/element.ts",
752
+ "react": "components/range-calendar/react.tsx",
753
+ "since": "0.13.0"
754
+ },
755
+ "date-range-picker": {
756
+ "kind": "component",
757
+ "description": "Fechas de inicio y fin por segmentos con calendario de rango que crece desde su botón.",
758
+ "files": ["components/date-range-picker/engine.ts", "components/date-range-picker/date-range-picker.css", "components/date-range-picker/README.md"],
759
+ "element": "components/date-range-picker/element.ts",
760
+ "react": "components/date-range-picker/react.tsx",
761
+ "requires": ["dialog", "range-calendar"],
762
+ "since": "0.13.0"
763
+ },
764
+ "tooltip": {
765
+ "kind": "component",
766
+ "description": "Información contextual que aparece al señalar o enfocar, con posición automática y flecha.",
767
+ "files": ["components/tooltip/engine.ts", "components/tooltip/tooltip.css", "components/tooltip/README.md"],
768
+ "element": "components/tooltip/element.ts",
769
+ "react": "components/tooltip/react.tsx",
770
+ "since": "0.14.0"
771
+ },
772
+ "popover": {
773
+ "kind": "component",
774
+ "description": "Panel flotante interactivo que crece desde su botón y queda anclado a él.",
775
+ "files": ["components/popover/engine.ts", "components/popover/popover.css", "components/popover/README.md"],
776
+ "element": "components/popover/element.ts",
777
+ "react": "components/popover/react.tsx",
778
+ "requires": ["dialog"],
779
+ "since": "0.14.0"
780
+ },
781
+ "loading-button": {
782
+ "kind": "component",
783
+ "description": "Botón con estados de carga, éxito y error que cambia de ancho, color e icono.",
784
+ "files": ["components/loading-button/engine.ts", "components/loading-button/loading-button.css", "components/loading-button/README.md"],
785
+ "element": "components/loading-button/element.ts",
786
+ "react": "components/loading-button/react.tsx",
787
+ "since": "0.14.0"
788
+ },
789
+ "breadcrumb": {
790
+ "kind": "component",
791
+ "description": "Ruta de navegación jerárquica que agrupa los niveles intermedios cuando falta espacio.",
792
+ "files": ["components/breadcrumb/engine.ts", "components/breadcrumb/breadcrumb.css", "components/breadcrumb/README.md"],
793
+ "element": "components/breadcrumb/element.ts",
794
+ "react": "components/breadcrumb/react.tsx",
795
+ "since": "0.14.0"
796
+ },
797
+ "empty-state": {
798
+ "kind": "component",
799
+ "description": "Estado vacío con ilustración animada, texto y acciones.",
800
+ "files": ["components/empty-state/engine.ts", "components/empty-state/empty-state.css", "components/empty-state/README.md"],
801
+ "element": "components/empty-state/element.ts",
802
+ "react": "components/empty-state/react.tsx",
803
+ "since": "0.14.0"
804
+ },
805
+ "stat-card": {
806
+ "kind": "component",
807
+ "description": "Tarjeta de KPI con cifra que cuenta, tendencia, comparativa y minigráfica.",
808
+ "files": ["components/stat-card/engine.ts", "components/stat-card/stat-card.css", "components/stat-card/README.md"],
809
+ "element": "components/stat-card/element.ts",
810
+ "react": "components/stat-card/react.tsx",
811
+ "since": "0.14.0"
812
+ },
813
+ "chart-tooltip": {
814
+ "kind": "component",
815
+ "description": "Tooltip avanzado para gráficas: guía, valores por serie, variación y fijado.",
816
+ "files": ["components/chart-tooltip/engine.ts", "components/chart-tooltip/chart-tooltip.css", "components/chart-tooltip/README.md"],
817
+ "element": "components/chart-tooltip/element.ts",
818
+ "react": "components/chart-tooltip/react.tsx",
819
+ "since": "0.14.0"
820
+ },
821
+ "multi-select": {
822
+ "kind": "component",
823
+ "description": "Selección múltiple con chips, búsqueda y lista navegable con teclado.",
824
+ "files": ["components/multi-select/engine.ts", "components/multi-select/multi-select.css", "components/multi-select/README.md"],
825
+ "element": "components/multi-select/element.ts",
826
+ "react": "components/multi-select/react.tsx",
827
+ "since": "0.14.0"
828
+ },
829
+ "tag-input": {
830
+ "kind": "component",
831
+ "description": "Entrada de etiquetas con autocompletado, validación y chips animados.",
832
+ "files": ["components/tag-input/engine.ts", "components/tag-input/tag-input.css", "components/tag-input/README.md"],
833
+ "element": "components/tag-input/element.ts",
834
+ "react": "components/tag-input/react.tsx",
835
+ "since": "0.14.0"
836
+ },
837
+ "date-time-picker": {
838
+ "kind": "component",
839
+ "description": "Fecha y hora en un solo campo por segmentos, con calendario y hora en un panel.",
840
+ "files": ["components/date-time-picker/engine.ts", "components/date-time-picker/date-time-picker.css", "components/date-time-picker/README.md"],
841
+ "element": "components/date-time-picker/element.ts",
842
+ "react": "components/date-time-picker/react.tsx",
843
+ "requires": ["dialog", "range-calendar", "time-field"],
844
+ "since": "0.14.0"
845
+ },
846
+ "filter-builder": {
847
+ "kind": "component",
848
+ "description": "Constructor de filtros con condiciones y grupos combinados con Y/O.",
849
+ "files": ["components/filter-builder/engine.ts", "components/filter-builder/filter-builder.css", "components/filter-builder/README.md"],
850
+ "element": "components/filter-builder/element.ts",
851
+ "react": "components/filter-builder/react.tsx",
852
+ "since": "0.14.0"
853
+ },
854
+ "timeline": {
855
+ "kind": "component",
856
+ "description": "Historial de actividades, cambios y eventos con una línea que se dibuja.",
857
+ "files": ["components/timeline/engine.ts", "components/timeline/timeline.css", "components/timeline/README.md"],
858
+ "element": "components/timeline/element.ts",
859
+ "react": "components/timeline/react.tsx",
860
+ "since": "0.14.0"
861
+ },
862
+ "activity-feed": {
863
+ "kind": "component",
864
+ "description": "Registro de acciones de usuarios agrupado por día, con novedades en vivo.",
865
+ "files": ["components/activity-feed/engine.ts", "components/activity-feed/activity-feed.css", "components/activity-feed/README.md"],
866
+ "element": "components/activity-feed/element.ts",
867
+ "react": "components/activity-feed/react.tsx",
868
+ "since": "0.14.0"
869
+ },
870
+ "tree-view": {
871
+ "kind": "component",
872
+ "description": "Jerarquía con nodos expandibles, casillas de tres estados y búsqueda.",
873
+ "files": ["components/tree-view/engine.ts", "components/tree-view/tree-view.css", "components/tree-view/README.md"],
874
+ "element": "components/tree-view/element.ts",
875
+ "react": "components/tree-view/react.tsx",
876
+ "since": "0.14.0"
877
+ },
878
+ "file-explorer": {
879
+ "kind": "component",
880
+ "description": "Explorador de carpetas y archivos con árbol, ruta, vistas y acciones.",
881
+ "files": ["components/file-explorer/engine.ts", "components/file-explorer/file-explorer.css", "components/file-explorer/README.md"],
882
+ "element": "components/file-explorer/element.ts",
883
+ "react": "components/file-explorer/react.tsx",
884
+ "requires": ["tree-view", "breadcrumb"],
885
+ "since": "0.14.0"
886
+ },
887
+ "json-viewer": {
888
+ "kind": "component",
889
+ "description": "Visor de JSON con nodos expandibles, tipos, búsqueda y copia.",
890
+ "files": ["components/json-viewer/engine.ts", "components/json-viewer/json-viewer.css", "components/json-viewer/README.md"],
891
+ "element": "components/json-viewer/element.ts",
892
+ "react": "components/json-viewer/react.tsx",
893
+ "requires": ["tree-view"],
894
+ "since": "0.14.0"
895
+ },
896
+ "virtual-list": {
897
+ "kind": "component",
898
+ "description": "Lista virtual que dibuja solo lo visible de miles de elementos.",
899
+ "files": ["components/virtual-list/engine.ts", "components/virtual-list/virtual-list.css", "components/virtual-list/README.md"],
900
+ "element": "components/virtual-list/element.ts",
901
+ "react": "components/virtual-list/react.tsx",
902
+ "since": "0.14.0"
903
+ },
904
+ "resizable-panel": {
905
+ "kind": "component",
906
+ "description": "Paneles que se ajustan arrastrando divisores, con teclado y colapso.",
907
+ "files": ["components/resizable-panel/engine.ts", "components/resizable-panel/resizable-panel.css", "components/resizable-panel/README.md"],
908
+ "element": "components/resizable-panel/element.ts",
909
+ "react": "components/resizable-panel/react.tsx",
910
+ "since": "0.14.0"
911
+ },
912
+ "split-view": {
913
+ "kind": "component",
914
+ "description": "Dos áreas de trabajo con divisor, orientación y tamaño configurables.",
915
+ "files": ["components/split-view/engine.ts", "components/split-view/split-view.css", "components/split-view/README.md"],
916
+ "element": "components/split-view/element.ts",
917
+ "react": "components/split-view/react.tsx",
918
+ "requires": ["resizable-panel"],
919
+ "since": "0.14.0"
920
+ },
921
+ "data-table": {
922
+ "kind": "component",
923
+ "description": "Tabla de datos con orden, filtros, selección, paginación, acciones y columnas configurables.",
924
+ "files": ["components/data-table/engine.ts", "components/data-table/data-table.css", "components/data-table/README.md"],
925
+ "element": "components/data-table/element.ts",
926
+ "react": "components/data-table/react.tsx",
927
+ "requires": ["pagination", "menu", "popover", "empty-state"],
928
+ "since": "0.14.0"
929
+ },
930
+ "editable-table": {
931
+ "kind": "component",
932
+ "description": "Tabla con edición de celdas, validación y guardado de cambios.",
933
+ "files": ["components/editable-table/engine.ts", "components/editable-table/editable-table.css", "components/editable-table/README.md"],
934
+ "element": "components/editable-table/element.ts",
935
+ "react": "components/editable-table/react.tsx",
936
+ "requires": ["data-table"],
937
+ "since": "0.14.0"
938
+ },
939
+ "rich-text-editor": {
940
+ "kind": "component",
941
+ "description": "Editor de texto enriquecido con barra de formato, atajos y pegado limpio.",
942
+ "files": ["components/rich-text-editor/engine.ts", "components/rich-text-editor/rich-text-editor.css", "components/rich-text-editor/README.md"],
943
+ "element": "components/rich-text-editor/element.ts",
944
+ "react": "components/rich-text-editor/react.tsx",
945
+ "since": "0.14.0"
541
946
  }
542
947
  }
543
948
  }
@@ -17,6 +17,55 @@ import { createSticker } from '../recipes/sticker/create-sticker';
17
17
  import { createScrollDock } from '../recipes/scroll-dock/create-scroll-dock';
18
18
  import { createLocalClock } from '../recipes/local-clock/create-local-clock';
19
19
  import { createTrailer } from '../components/trailer/engine';
20
+ import { createCreditCard } from '../components/credit-card/engine';
21
+ import { createCommandSearch } from '../components/command-search/engine';
22
+ import { createHoldConfirm } from '../components/hold-confirm/engine';
23
+ import { createImagePreview } from '../components/image-preview/engine';
24
+ import { createLikeButton } from '../components/like-button/engine';
25
+ import { createNotificationBell } from '../components/notification-bell/engine';
26
+ import { createPasswordStrength } from '../components/password-strength/engine';
27
+ import { createScratchCard } from '../components/scratch-card/engine';
28
+ import { createStarRating } from '../components/star-rating/engine';
29
+ import { createSwipeActions } from '../components/swipe-actions/engine';
30
+ import { createAttachment } from '../components/attachment/engine';
31
+ import { createSkeleton } from '../components/skeleton/engine';
32
+ import { createQuestionnaire } from '../components/questionnaire/engine';
33
+ import { createCodeBlock } from '../components/code-block/engine';
34
+ import { createContextMenu } from '../components/context-menu/engine';
35
+ import { createDrawer } from '../components/drawer/engine';
36
+ import { createLinkPreview } from '../components/link-preview/engine';
37
+ import { createProgress } from '../components/progress/engine';
38
+ import { createRangeSlider } from '../components/range-slider/engine';
39
+ import { createChart } from '../components/chart/engine';
40
+ import { createColorSlider } from '../components/color-slider/engine';
41
+ import { createColorArea } from '../components/color-area/engine';
42
+ import { createColorField } from '../components/color-field/engine';
43
+ import { createColorPicker } from '../components/color-picker/engine';
44
+ import { createTimeField } from '../components/time-field/engine';
45
+ import { createRangeCalendar } from '../components/range-calendar/engine';
46
+ import { createDateRangePicker } from '../components/date-range-picker/engine';
47
+ import { createTooltip } from '../components/tooltip/engine';
48
+ import { createPopover } from '../components/popover/engine';
49
+ import { createLoadingButton } from '../components/loading-button/engine';
50
+ import { createBreadcrumb } from '../components/breadcrumb/engine';
51
+ import { createEmptyState } from '../components/empty-state/engine';
52
+ import { createStatCard } from '../components/stat-card/engine';
53
+ import { createChartTooltip } from '../components/chart-tooltip/engine';
54
+ import { createMultiSelect } from '../components/multi-select/engine';
55
+ import { createTagInput } from '../components/tag-input/engine';
56
+ import { createDateTimePicker } from '../components/date-time-picker/engine';
57
+ import { createFilterBuilder } from '../components/filter-builder/engine';
58
+ import { createTimeline } from '../components/timeline/engine';
59
+ import { createActivityFeed } from '../components/activity-feed/engine';
60
+ import { createTreeView } from '../components/tree-view/engine';
61
+ import { createFileExplorer } from '../components/file-explorer/engine';
62
+ import { createJsonViewer } from '../components/json-viewer/engine';
63
+ import { createVirtualList } from '../components/virtual-list/engine';
64
+ import { createResizablePanel } from '../components/resizable-panel/engine';
65
+ import { createSplitView } from '../components/split-view/engine';
66
+ import { createDataTable } from '../components/data-table/engine';
67
+ import { createEditableTable } from '../components/editable-table/engine';
68
+ import { createRichTextEditor } from '../components/rich-text-editor/engine';
20
69
  import { ScrollTrigger } from '../core/gsap';
21
70
  import { warnOnce, type Instance } from '../core/types';
22
71
  import { createSpringCards } from '../recipes/spring-cards/create-spring-cards';
@@ -73,6 +122,55 @@ const factories = {
73
122
  'input-otp': createInputOtp,
74
123
  'calendar': createCalendar,
75
124
  'slot-picker': createSlotPicker,
125
+ 'credit-card': createCreditCard,
126
+ 'command-search': createCommandSearch,
127
+ 'hold-confirm': createHoldConfirm,
128
+ 'image-preview': createImagePreview,
129
+ 'like-button': createLikeButton,
130
+ 'notification-bell': createNotificationBell,
131
+ 'password-strength': createPasswordStrength,
132
+ 'scratch-card': createScratchCard,
133
+ 'star-rating': createStarRating,
134
+ 'swipe-actions': createSwipeActions,
135
+ 'attachment': createAttachment,
136
+ 'skeleton': createSkeleton,
137
+ 'questionnaire': createQuestionnaire,
138
+ 'code-block': createCodeBlock,
139
+ 'context-menu': createContextMenu,
140
+ 'drawer': createDrawer,
141
+ 'link-preview': createLinkPreview,
142
+ 'progress': createProgress,
143
+ 'range-slider': createRangeSlider,
144
+ 'chart': createChart,
145
+ 'color-slider': createColorSlider,
146
+ 'color-area': createColorArea,
147
+ 'color-field': createColorField,
148
+ 'color-picker': createColorPicker,
149
+ 'time-field': createTimeField,
150
+ 'range-calendar': createRangeCalendar,
151
+ 'date-range-picker': createDateRangePicker,
152
+ 'tooltip': createTooltip,
153
+ 'popover': createPopover,
154
+ 'loading-button': createLoadingButton,
155
+ 'breadcrumb': createBreadcrumb,
156
+ 'empty-state': createEmptyState,
157
+ 'stat-card': createStatCard,
158
+ 'chart-tooltip': createChartTooltip,
159
+ 'multi-select': createMultiSelect,
160
+ 'tag-input': createTagInput,
161
+ 'date-time-picker': createDateTimePicker,
162
+ 'filter-builder': createFilterBuilder,
163
+ 'timeline': createTimeline,
164
+ 'activity-feed': createActivityFeed,
165
+ 'tree-view': createTreeView,
166
+ 'file-explorer': createFileExplorer,
167
+ 'json-viewer': createJsonViewer,
168
+ 'virtual-list': createVirtualList,
169
+ 'resizable-panel': createResizablePanel,
170
+ 'split-view': createSplitView,
171
+ 'data-table': createDataTable,
172
+ 'editable-table': createEditableTable,
173
+ 'rich-text-editor': createRichTextEditor,
76
174
  'weight-hover': createWeightHover,
77
175
  'sticker': createSticker,
78
176
  'scroll-dock': createScrollDock,
@@ -0,0 +1,56 @@
1
+ # activity-feed
2
+
3
+ Registro de acciones de usuarios en el sistema: lo más reciente arriba, agrupado por día («Hoy», «Ayer», «Lunes, 16 de noviembre»). Cada entrada tiene un avatar (foto, o iniciales sobre un color que sale del nombre, así cada persona conserva el suyo) con una insignia del tipo de acción, la frase «**Ana Gómez** comentó en <u>Tarea 12</u>», una hora relativa que se actualiza cada minuto y, si hace falta, una cita.
4
+
5
+ La actividad nueva (`prepend()`) entra arriba: las entradas de abajo se deslizan (el resorte de layout del kit, .62 s) mientras las nuevas caen saliendo de un blur y conservan un resaltado suave que se apaga. Si quien lee bajó por la lista, en lugar de moverle el contenido aparece una píldora «↑ 3 novedades» (el número rueda con cada llegada); al pulsarla sube y las mete. «Cargar más» al final pide entradas antiguas a `onLoadMore()` y las deja entrar en cascada; cuando ya no hay, lo dice.
6
+
7
+ ## HTML / Astro
8
+
9
+ ```html
10
+ <mk-activity-feed class="mk-activity-feed" style="--mk-af-height: 28rem"
11
+ items='[{"id":"1","actor":"Ana Gómez","action":"comentó en","target":"Tarea 12","href":"/tareas/12","time":"2026-11-23T09:12","kind":"comment","detail":"¿Lo vemos mañana?"},
12
+ {"id":"2","actor":{"name":"Luis Peña","avatar":"/luis.jpg"},"action":"cerró","target":"Tarea 9","time":"2026-11-22T18:40","kind":"complete"}]'></mk-activity-feed>
13
+
14
+ <script>
15
+ const feed = document.querySelector('mk-activity-feed');
16
+ // Llega algo en vivo (un socket, un intervalo…):
17
+ feed.prependItems([{ id: '3', actor: 'Sofía Ruiz', action: 'subió', target: 'propuesta.pdf', time: new Date(), kind: 'upload' }]);
18
+ // Entradas antiguas cuando quieras:
19
+ feed.appendItems(older);
20
+ </script>
21
+ ```
22
+
23
+ ## React
24
+
25
+ ```tsx
26
+ const feed = useRef<ActivityFeedHandle>(null);
27
+
28
+ <ActivityFeed ref={feed} items={recent} onLoadMore={() => api.olderThan(cursor)} style={{ maxHeight: 448 }} />;
29
+
30
+ // después
31
+ feed.current?.prepend([nueva]);
32
+ ```
33
+
34
+ ## Opciones
35
+
36
+ | Opción | Atributo | Por defecto | Qué hace |
37
+ |---|---|---|---|
38
+ | `items` | `items` (JSON) | `[]` | `{ id, actor, action, target?, href?, time, detail?, kind? }[]`; `actor` es un nombre o `{ name, avatar? }`. |
39
+ | `onLoadMore()` | — | — | Muestra «Cargar más»; resuelve con las entradas anteriores o con `[]` cuando no hay más. |
40
+ | `locale` | `locale` | el `lang` más cercano | Idioma de las fechas. |
41
+ | `label` | `label` | `'Actividad'` | Nombre accesible. |
42
+ | `emptyLabel` | `empty-label` | `'Sin actividad todavía'` | Texto sin entradas. |
43
+
44
+ `kind` (la insignia): `comment`, `create`, `update`, `delete`, `upload`, `complete` o `mention`.
45
+
46
+ ## API
47
+
48
+ `prepend(items)` (en el elemento, `prependItems`), `append(items)` (`appendItems`), `setItems(items)`, `items`, `destroy()`.
49
+
50
+ ## Variables CSS
51
+
52
+ `--mk-af-height` (alto máximo antes de desplazarse dentro; también vale `max-height` en el elemento), `--mk-af-avatar-l` y `--mk-af-avatar-ink-l` (luminosidad del fondo y de las iniciales del avatar).
53
+
54
+ ## Accesibilidad
55
+
56
+ Un `role="feed"` con cada entrada como `article`; las horas son `<time datetime>` con la fecha completa en su título. Un estado discreto anuncia lo nuevo («Sofía Ruiz subió propuesta.pdf», «3 novedades») y lo que se cargó. Al pulsar la píldora el foco pasa a la primera entrada nueva. Con movimiento reducido todo cambia sin animación.