@archytechtor/ui 0.0.0-stage → 0.1.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 (449) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +105 -2
  3. package/dist/components/accordion/accordion.d.ts +25 -0
  4. package/dist/components/accordion/accordion.js +88 -0
  5. package/dist/components/accordion/index.d.ts +3 -0
  6. package/dist/components/accordion/index.js +1 -0
  7. package/dist/components/accordion/types.d.ts +39 -0
  8. package/dist/components/alert/alert.d.ts +25 -0
  9. package/dist/components/alert/alert.js +59 -0
  10. package/dist/components/alert/index.d.ts +3 -0
  11. package/dist/components/alert/index.js +3 -0
  12. package/dist/components/alert/types.d.ts +32 -0
  13. package/dist/components/alert/types.js +19 -0
  14. package/dist/components/alert-dialog/alert-dialog.d.ts +73 -0
  15. package/dist/components/alert-dialog/alert-dialog.js +170 -0
  16. package/dist/components/alert-dialog/index.d.ts +3 -0
  17. package/dist/components/alert-dialog/index.js +1 -0
  18. package/dist/components/alert-dialog/types.d.ts +80 -0
  19. package/dist/components/aspect-ratio/aspect-ratio.d.ts +8 -0
  20. package/dist/components/aspect-ratio/aspect-ratio.js +20 -0
  21. package/dist/components/aspect-ratio/index.d.ts +3 -0
  22. package/dist/components/aspect-ratio/index.js +1 -0
  23. package/dist/components/aspect-ratio/types.d.ts +8 -0
  24. package/dist/components/attachment/attachment.d.ts +57 -0
  25. package/dist/components/attachment/attachment.js +139 -0
  26. package/dist/components/attachment/index.d.ts +3 -0
  27. package/dist/components/attachment/index.js +3 -0
  28. package/dist/components/attachment/types.d.ts +79 -0
  29. package/dist/components/attachment/types.js +43 -0
  30. package/dist/components/avatar/avatar.d.ts +39 -0
  31. package/dist/components/avatar/avatar.js +88 -0
  32. package/dist/components/avatar/index.d.ts +3 -0
  33. package/dist/components/avatar/index.js +3 -0
  34. package/dist/components/avatar/types.d.ts +54 -0
  35. package/dist/components/avatar/types.js +21 -0
  36. package/dist/components/badge/badge.d.ts +7 -0
  37. package/dist/components/badge/badge.js +23 -0
  38. package/dist/components/badge/index.d.ts +3 -0
  39. package/dist/components/badge/index.js +3 -0
  40. package/dist/components/badge/types.d.ts +21 -0
  41. package/dist/components/badge/types.js +26 -0
  42. package/dist/components/breadcrumb/breadcrumb.d.ts +43 -0
  43. package/dist/components/breadcrumb/breadcrumb.js +115 -0
  44. package/dist/components/breadcrumb/index.d.ts +3 -0
  45. package/dist/components/breadcrumb/index.js +1 -0
  46. package/dist/components/breadcrumb/types.d.ts +36 -0
  47. package/dist/components/bubble/bubble.d.ts +25 -0
  48. package/dist/components/bubble/bubble.js +69 -0
  49. package/dist/components/bubble/index.d.ts +3 -0
  50. package/dist/components/bubble/index.js +3 -0
  51. package/dist/components/bubble/types.d.ts +51 -0
  52. package/dist/components/bubble/types.js +60 -0
  53. package/dist/components/button/button.d.ts +7 -0
  54. package/dist/components/button/button.js +155 -0
  55. package/dist/components/button/index.d.ts +4 -0
  56. package/dist/components/button/index.js +4 -0
  57. package/dist/components/button/types.d.ts +80 -0
  58. package/dist/components/button/types.js +99 -0
  59. package/dist/components/button/use-hold-to-confirm.d.ts +25 -0
  60. package/dist/components/button/use-hold-to-confirm.js +161 -0
  61. package/dist/components/button-group/button-group.d.ts +20 -0
  62. package/dist/components/button-group/button-group.js +62 -0
  63. package/dist/components/button-group/index.d.ts +3 -0
  64. package/dist/components/button-group/index.js +3 -0
  65. package/dist/components/button-group/types.d.ts +30 -0
  66. package/dist/components/button-group/types.js +19 -0
  67. package/dist/components/calendar/calendar.d.ts +15 -0
  68. package/dist/components/calendar/calendar.js +157 -0
  69. package/dist/components/calendar/index.d.ts +3 -0
  70. package/dist/components/calendar/index.js +1 -0
  71. package/dist/components/calendar/types.d.ts +21 -0
  72. package/dist/components/card/card.d.ts +43 -0
  73. package/dist/components/card/card.js +97 -0
  74. package/dist/components/card/index.d.ts +3 -0
  75. package/dist/components/card/index.js +3 -0
  76. package/dist/components/card/types.d.ts +44 -0
  77. package/dist/components/card/types.js +19 -0
  78. package/dist/components/carousel/carousel.d.ts +36 -0
  79. package/dist/components/carousel/carousel.js +190 -0
  80. package/dist/components/carousel/index.d.ts +3 -0
  81. package/dist/components/carousel/index.js +1 -0
  82. package/dist/components/carousel/types.d.ts +79 -0
  83. package/dist/components/chart/chart.d.ts +35 -0
  84. package/dist/components/chart/chart.js +212 -0
  85. package/dist/components/chart/index.d.ts +3 -0
  86. package/dist/components/chart/index.js +1 -0
  87. package/dist/components/chart/types.d.ts +89 -0
  88. package/dist/components/chart/types.js +7 -0
  89. package/dist/components/checkbox/checkbox.d.ts +7 -0
  90. package/dist/components/checkbox/checkbox.js +31 -0
  91. package/dist/components/checkbox/index.d.ts +3 -0
  92. package/dist/components/checkbox/index.js +1 -0
  93. package/dist/components/checkbox/types.d.ts +25 -0
  94. package/dist/components/code-block/code-block.d.ts +49 -0
  95. package/dist/components/code-block/code-block.js +188 -0
  96. package/dist/components/code-block/highlighter.d.ts +15 -0
  97. package/dist/components/code-block/highlighter.js +123 -0
  98. package/dist/components/code-block/index.d.ts +5 -0
  99. package/dist/components/code-block/index.js +5 -0
  100. package/dist/components/code-block/types.d.ts +94 -0
  101. package/dist/components/code-block/types.js +38 -0
  102. package/dist/components/code-block/use-highlighted-code.d.ts +9 -0
  103. package/dist/components/code-block/use-highlighted-code.js +67 -0
  104. package/dist/components/collapsible/collapsible.d.ts +19 -0
  105. package/dist/components/collapsible/collapsible.js +44 -0
  106. package/dist/components/collapsible/index.d.ts +3 -0
  107. package/dist/components/collapsible/index.js +1 -0
  108. package/dist/components/collapsible/types.d.ts +26 -0
  109. package/dist/components/combobox/combobox.d.ts +104 -0
  110. package/dist/components/combobox/combobox.js +365 -0
  111. package/dist/components/combobox/index.d.ts +3 -0
  112. package/dist/components/combobox/index.js +1 -0
  113. package/dist/components/combobox/types.d.ts +229 -0
  114. package/dist/components/command/command.d.ts +55 -0
  115. package/dist/components/command/command.js +179 -0
  116. package/dist/components/command/index.d.ts +3 -0
  117. package/dist/components/command/index.js +1 -0
  118. package/dist/components/command/types.d.ts +69 -0
  119. package/dist/components/context-menu/context-menu.d.ts +92 -0
  120. package/dist/components/context-menu/context-menu.js +270 -0
  121. package/dist/components/context-menu/index.d.ts +3 -0
  122. package/dist/components/context-menu/index.js +1 -0
  123. package/dist/components/context-menu/types.d.ts +138 -0
  124. package/dist/components/data-table/data-table-features.d.ts +21 -0
  125. package/dist/components/data-table/data-table-features.js +22 -0
  126. package/dist/components/data-table/data-table.d.ts +69 -0
  127. package/dist/components/data-table/data-table.js +283 -0
  128. package/dist/components/data-table/index.d.ts +4 -0
  129. package/dist/components/data-table/index.js +3 -0
  130. package/dist/components/data-table/types.d.ts +63 -0
  131. package/dist/components/date-input/date-input.d.ts +7 -0
  132. package/dist/components/date-input/date-input.js +147 -0
  133. package/dist/components/date-input/index.d.ts +3 -0
  134. package/dist/components/date-input/index.js +1 -0
  135. package/dist/components/date-input/types.d.ts +27 -0
  136. package/dist/components/date-picker/date-picker.d.ts +7 -0
  137. package/dist/components/date-picker/date-picker.js +74 -0
  138. package/dist/components/date-picker/index.d.ts +3 -0
  139. package/dist/components/date-picker/index.js +1 -0
  140. package/dist/components/date-picker/types.d.ts +38 -0
  141. package/dist/components/date-range-picker/date-range-picker.d.ts +7 -0
  142. package/dist/components/date-range-picker/date-range-picker.js +89 -0
  143. package/dist/components/date-range-picker/index.d.ts +3 -0
  144. package/dist/components/date-range-picker/index.js +1 -0
  145. package/dist/components/date-range-picker/types.d.ts +43 -0
  146. package/dist/components/dialog/dialog.d.ts +61 -0
  147. package/dist/components/dialog/dialog.js +160 -0
  148. package/dist/components/dialog/index.d.ts +3 -0
  149. package/dist/components/dialog/index.js +1 -0
  150. package/dist/components/dialog/types.d.ts +68 -0
  151. package/dist/components/drawer/drawer.d.ts +69 -0
  152. package/dist/components/drawer/drawer.js +245 -0
  153. package/dist/components/drawer/index.d.ts +3 -0
  154. package/dist/components/drawer/index.js +1 -0
  155. package/dist/components/drawer/types.d.ts +93 -0
  156. package/dist/components/dropdown-menu/dropdown-menu.d.ts +92 -0
  157. package/dist/components/dropdown-menu/dropdown-menu.js +268 -0
  158. package/dist/components/dropdown-menu/index.d.ts +3 -0
  159. package/dist/components/dropdown-menu/index.js +1 -0
  160. package/dist/components/dropdown-menu/types.d.ts +143 -0
  161. package/dist/components/empty/empty.d.ts +37 -0
  162. package/dist/components/empty/empty.js +84 -0
  163. package/dist/components/empty/index.d.ts +3 -0
  164. package/dist/components/empty/index.js +3 -0
  165. package/dist/components/empty/types.d.ts +39 -0
  166. package/dist/components/empty/types.js +13 -0
  167. package/dist/components/expanded-card/expanded-card.d.ts +43 -0
  168. package/dist/components/expanded-card/expanded-card.js +352 -0
  169. package/dist/components/expanded-card/index.d.ts +3 -0
  170. package/dist/components/expanded-card/index.js +1 -0
  171. package/dist/components/expanded-card/types.d.ts +52 -0
  172. package/dist/components/field/field.d.ts +62 -0
  173. package/dist/components/field/field.js +173 -0
  174. package/dist/components/field/index.d.ts +3 -0
  175. package/dist/components/field/index.js +3 -0
  176. package/dist/components/field/types.d.ts +81 -0
  177. package/dist/components/field/types.js +21 -0
  178. package/dist/components/form/form.d.ts +49 -0
  179. package/dist/components/form/form.js +136 -0
  180. package/dist/components/form/index.d.ts +3 -0
  181. package/dist/components/form/index.js +1 -0
  182. package/dist/components/form/types.d.ts +59 -0
  183. package/dist/components/hover-card/hover-card.d.ts +19 -0
  184. package/dist/components/hover-card/hover-card.js +63 -0
  185. package/dist/components/hover-card/index.d.ts +3 -0
  186. package/dist/components/hover-card/index.js +1 -0
  187. package/dist/components/hover-card/types.d.ts +27 -0
  188. package/dist/components/image-gallery/image-gallery.d.ts +8 -0
  189. package/dist/components/image-gallery/image-gallery.js +294 -0
  190. package/dist/components/image-gallery/index.d.ts +4 -0
  191. package/dist/components/image-gallery/index.js +3 -0
  192. package/dist/components/image-gallery/masonry.d.ts +11 -0
  193. package/dist/components/image-gallery/masonry.js +62 -0
  194. package/dist/components/image-gallery/types.d.ts +80 -0
  195. package/dist/components/input/index.d.ts +3 -0
  196. package/dist/components/input/index.js +1 -0
  197. package/dist/components/input/input.d.ts +7 -0
  198. package/dist/components/input/input.js +18 -0
  199. package/dist/components/input/types.d.ts +28 -0
  200. package/dist/components/input-group/index.d.ts +3 -0
  201. package/dist/components/input-group/index.js +3 -0
  202. package/dist/components/input-group/input-group.d.ts +37 -0
  203. package/dist/components/input-group/input-group.js +103 -0
  204. package/dist/components/input-group/types.d.ts +64 -0
  205. package/dist/components/input-group/types.js +31 -0
  206. package/dist/components/input-otp/index.d.ts +3 -0
  207. package/dist/components/input-otp/index.js +1 -0
  208. package/dist/components/input-otp/input-otp.d.ts +25 -0
  209. package/dist/components/input-otp/input-otp.js +76 -0
  210. package/dist/components/input-otp/types.d.ts +43 -0
  211. package/dist/components/item/index.d.ts +3 -0
  212. package/dist/components/item/index.js +3 -0
  213. package/dist/components/item/item.d.ts +61 -0
  214. package/dist/components/item/item.js +149 -0
  215. package/dist/components/item/types.d.ts +75 -0
  216. package/dist/components/item/types.js +48 -0
  217. package/dist/components/kbd/index.d.ts +3 -0
  218. package/dist/components/kbd/index.js +1 -0
  219. package/dist/components/kbd/kbd.d.ts +13 -0
  220. package/dist/components/kbd/kbd.js +30 -0
  221. package/dist/components/kbd/types.d.ts +9 -0
  222. package/dist/components/label/index.d.ts +3 -0
  223. package/dist/components/label/index.js +1 -0
  224. package/dist/components/label/label.d.ts +7 -0
  225. package/dist/components/label/label.js +17 -0
  226. package/dist/components/label/types.d.ts +8 -0
  227. package/dist/components/loader/index.d.ts +3 -0
  228. package/dist/components/loader/index.js +3 -0
  229. package/dist/components/loader/loader.d.ts +8 -0
  230. package/dist/components/loader/loader.js +386 -0
  231. package/dist/components/loader/types.d.ts +27 -0
  232. package/dist/components/loader/types.js +58 -0
  233. package/dist/components/marker/index.d.ts +3 -0
  234. package/dist/components/marker/index.js +3 -0
  235. package/dist/components/marker/marker.d.ts +19 -0
  236. package/dist/components/marker/marker.js +51 -0
  237. package/dist/components/marker/types.d.ts +30 -0
  238. package/dist/components/marker/types.js +16 -0
  239. package/dist/components/menubar/index.d.ts +3 -0
  240. package/dist/components/menubar/index.js +1 -0
  241. package/dist/components/menubar/menubar.d.ts +98 -0
  242. package/dist/components/menubar/menubar.js +284 -0
  243. package/dist/components/menubar/types.d.ts +146 -0
  244. package/dist/components/message/index.d.ts +3 -0
  245. package/dist/components/message/index.js +1 -0
  246. package/dist/components/message/message.d.ts +37 -0
  247. package/dist/components/message/message.js +83 -0
  248. package/dist/components/message/types.d.ts +32 -0
  249. package/dist/components/message-scroller/index.d.ts +4 -0
  250. package/dist/components/message-scroller/index.js +3 -0
  251. package/dist/components/message-scroller/message-scroller-primitive.d.ts +21 -0
  252. package/dist/components/message-scroller/message-scroller-primitive.js +1349 -0
  253. package/dist/components/message-scroller/message-scroller.d.ts +39 -0
  254. package/dist/components/message-scroller/message-scroller.js +103 -0
  255. package/dist/components/message-scroller/types.d.ts +107 -0
  256. package/dist/components/money-input/index.d.ts +3 -0
  257. package/dist/components/money-input/index.js +1 -0
  258. package/dist/components/money-input/money-input.d.ts +7 -0
  259. package/dist/components/money-input/money-input.js +143 -0
  260. package/dist/components/money-input/types.d.ts +20 -0
  261. package/dist/components/morph-image/index.d.ts +3 -0
  262. package/dist/components/morph-image/index.js +3 -0
  263. package/dist/components/morph-image/morph-image.d.ts +8 -0
  264. package/dist/components/morph-image/morph-image.js +155 -0
  265. package/dist/components/morph-image/types.d.ts +38 -0
  266. package/dist/components/morph-image/types.js +18 -0
  267. package/dist/components/native-select/index.d.ts +3 -0
  268. package/dist/components/native-select/index.js +3 -0
  269. package/dist/components/native-select/native-select.d.ts +20 -0
  270. package/dist/components/native-select/native-select.js +57 -0
  271. package/dist/components/native-select/types.d.ts +52 -0
  272. package/dist/components/native-select/types.js +23 -0
  273. package/dist/components/navigation-menu/index.d.ts +3 -0
  274. package/dist/components/navigation-menu/index.js +3 -0
  275. package/dist/components/navigation-menu/navigation-menu.d.ts +50 -0
  276. package/dist/components/navigation-menu/navigation-menu.js +145 -0
  277. package/dist/components/navigation-menu/types.d.ts +79 -0
  278. package/dist/components/navigation-menu/types.js +15 -0
  279. package/dist/components/number-stepper/index.d.ts +3 -0
  280. package/dist/components/number-stepper/index.js +3 -0
  281. package/dist/components/number-stepper/number-stepper.d.ts +9 -0
  282. package/dist/components/number-stepper/number-stepper.js +223 -0
  283. package/dist/components/number-stepper/types.d.ts +47 -0
  284. package/dist/components/number-stepper/types.js +174 -0
  285. package/dist/components/pagination/index.d.ts +3 -0
  286. package/dist/components/pagination/index.js +1 -0
  287. package/dist/components/pagination/pagination.d.ts +43 -0
  288. package/dist/components/pagination/pagination.js +121 -0
  289. package/dist/components/pagination/types.d.ts +37 -0
  290. package/dist/components/phone-input/index.d.ts +3 -0
  291. package/dist/components/phone-input/index.js +1 -0
  292. package/dist/components/phone-input/phone-input.d.ts +7 -0
  293. package/dist/components/phone-input/phone-input.js +54 -0
  294. package/dist/components/phone-input/types.d.ts +12 -0
  295. package/dist/components/popover/index.d.ts +3 -0
  296. package/dist/components/popover/index.js +1 -0
  297. package/dist/components/popover/popover.d.ts +37 -0
  298. package/dist/components/popover/popover.js +100 -0
  299. package/dist/components/popover/types.d.ts +51 -0
  300. package/dist/components/progress/index.d.ts +3 -0
  301. package/dist/components/progress/index.js +1 -0
  302. package/dist/components/progress/progress.d.ts +32 -0
  303. package/dist/components/progress/progress.js +100 -0
  304. package/dist/components/progress/types.d.ts +31 -0
  305. package/dist/components/questionnaire/index.d.ts +3 -0
  306. package/dist/components/questionnaire/index.js +1 -0
  307. package/dist/components/questionnaire/questionnaire-primitive.js +1563 -0
  308. package/dist/components/questionnaire/questionnaire.d.ts +91 -0
  309. package/dist/components/questionnaire/questionnaire.js +315 -0
  310. package/dist/components/questionnaire/types.d.ts +203 -0
  311. package/dist/components/radio-group/index.d.ts +3 -0
  312. package/dist/components/radio-group/index.js +1 -0
  313. package/dist/components/radio-group/radio-group.d.ts +13 -0
  314. package/dist/components/radio-group/radio-group.js +44 -0
  315. package/dist/components/radio-group/types.d.ts +33 -0
  316. package/dist/components/reorder-list/index.d.ts +3 -0
  317. package/dist/components/reorder-list/index.js +1 -0
  318. package/dist/components/reorder-list/reorder-list.d.ts +19 -0
  319. package/dist/components/reorder-list/reorder-list.js +279 -0
  320. package/dist/components/reorder-list/types.d.ts +65 -0
  321. package/dist/components/resizable/index.d.ts +3 -0
  322. package/dist/components/resizable/index.js +1 -0
  323. package/dist/components/resizable/resizable.d.ts +19 -0
  324. package/dist/components/resizable/resizable.js +44 -0
  325. package/dist/components/resizable/types.d.ts +89 -0
  326. package/dist/components/scroll-area/index.d.ts +3 -0
  327. package/dist/components/scroll-area/index.js +1 -0
  328. package/dist/components/scroll-area/scroll-area.d.ts +13 -0
  329. package/dist/components/scroll-area/scroll-area.js +47 -0
  330. package/dist/components/scroll-area/types.d.ts +19 -0
  331. package/dist/components/select/index.d.ts +3 -0
  332. package/dist/components/select/index.js +1 -0
  333. package/dist/components/select/select.d.ts +61 -0
  334. package/dist/components/select/select.js +183 -0
  335. package/dist/components/select/types.d.ts +100 -0
  336. package/dist/components/separator/index.d.ts +3 -0
  337. package/dist/components/separator/index.js +1 -0
  338. package/dist/components/separator/separator.d.ts +7 -0
  339. package/dist/components/separator/separator.js +20 -0
  340. package/dist/components/separator/types.d.ts +9 -0
  341. package/dist/components/sheet/index.d.ts +3 -0
  342. package/dist/components/sheet/index.js +1 -0
  343. package/dist/components/sheet/sheet.d.ts +61 -0
  344. package/dist/components/sheet/sheet.js +155 -0
  345. package/dist/components/sheet/types.d.ts +69 -0
  346. package/dist/components/sidebar/index.d.ts +3 -0
  347. package/dist/components/sidebar/index.js +3 -0
  348. package/dist/components/sidebar/sidebar.d.ts +145 -0
  349. package/dist/components/sidebar/sidebar.js +550 -0
  350. package/dist/components/sidebar/types.d.ts +186 -0
  351. package/dist/components/sidebar/types.js +42 -0
  352. package/dist/components/sidebar/use-mobile.js +21 -0
  353. package/dist/components/skeleton/index.d.ts +3 -0
  354. package/dist/components/skeleton/index.js +1 -0
  355. package/dist/components/skeleton/skeleton.d.ts +8 -0
  356. package/dist/components/skeleton/skeleton.js +18 -0
  357. package/dist/components/skeleton/types.d.ts +5 -0
  358. package/dist/components/slider/index.d.ts +3 -0
  359. package/dist/components/slider/index.js +1 -0
  360. package/dist/components/slider/slider.d.ts +7 -0
  361. package/dist/components/slider/slider.js +106 -0
  362. package/dist/components/slider/types.d.ts +39 -0
  363. package/dist/components/spinner/index.d.ts +3 -0
  364. package/dist/components/spinner/index.js +1 -0
  365. package/dist/components/spinner/spinner.d.ts +7 -0
  366. package/dist/components/spinner/spinner.js +21 -0
  367. package/dist/components/spinner/types.d.ts +8 -0
  368. package/dist/components/switch/index.d.ts +3 -0
  369. package/dist/components/switch/index.js +3 -0
  370. package/dist/components/switch/switch.d.ts +7 -0
  371. package/dist/components/switch/switch.js +32 -0
  372. package/dist/components/switch/types.d.ts +37 -0
  373. package/dist/components/switch/types.js +23 -0
  374. package/dist/components/table/index.d.ts +3 -0
  375. package/dist/components/table/index.js +1 -0
  376. package/dist/components/table/table.d.ts +49 -0
  377. package/dist/components/table/table.js +112 -0
  378. package/dist/components/table/types.d.ts +33 -0
  379. package/dist/components/tabs/index.d.ts +3 -0
  380. package/dist/components/tabs/index.js +3 -0
  381. package/dist/components/tabs/tabs.d.ts +25 -0
  382. package/dist/components/tabs/tabs.js +81 -0
  383. package/dist/components/tabs/types.d.ts +61 -0
  384. package/dist/components/tabs/types.js +18 -0
  385. package/dist/components/textarea/index.d.ts +3 -0
  386. package/dist/components/textarea/index.js +1 -0
  387. package/dist/components/textarea/textarea.d.ts +7 -0
  388. package/dist/components/textarea/textarea.js +17 -0
  389. package/dist/components/textarea/types.d.ts +26 -0
  390. package/dist/components/toast/index.d.ts +3 -0
  391. package/dist/components/toast/index.js +1 -0
  392. package/dist/components/toast/toast.d.ts +63 -0
  393. package/dist/components/toast/toast.js +321 -0
  394. package/dist/components/toast/types.d.ts +120 -0
  395. package/dist/components/toggle/index.d.ts +3 -0
  396. package/dist/components/toggle/index.js +3 -0
  397. package/dist/components/toggle/toggle.d.ts +7 -0
  398. package/dist/components/toggle/toggle.js +32 -0
  399. package/dist/components/toggle/types.d.ts +35 -0
  400. package/dist/components/toggle/types.js +37 -0
  401. package/dist/components/toggle-group/index.d.ts +3 -0
  402. package/dist/components/toggle-group/index.js +1 -0
  403. package/dist/components/toggle-group/toggle-group.d.ts +13 -0
  404. package/dist/components/toggle-group/toggle-group.js +88 -0
  405. package/dist/components/toggle-group/types.d.ts +52 -0
  406. package/dist/components/tooltip/index.d.ts +3 -0
  407. package/dist/components/tooltip/index.js +1 -0
  408. package/dist/components/tooltip/tooltip.d.ts +25 -0
  409. package/dist/components/tooltip/tooltip.js +79 -0
  410. package/dist/components/tooltip/types.d.ts +48 -0
  411. package/dist/components/trace/index.d.ts +3 -0
  412. package/dist/components/trace/index.js +1 -0
  413. package/dist/components/trace/trace.d.ts +52 -0
  414. package/dist/components/trace/trace.js +132 -0
  415. package/dist/components/trace/types.d.ts +54 -0
  416. package/dist/components/typography/index.d.ts +3 -0
  417. package/dist/components/typography/index.js +3 -0
  418. package/dist/components/typography/types.d.ts +29 -0
  419. package/dist/components/typography/types.js +25 -0
  420. package/dist/components/typography/typography.d.ts +7 -0
  421. package/dist/components/typography/typography.js +40 -0
  422. package/dist/components/video-player/index.d.ts +6 -0
  423. package/dist/components/video-player/index.js +5 -0
  424. package/dist/components/video-player/types.d.ts +143 -0
  425. package/dist/components/video-player/use-video-player.js +319 -0
  426. package/dist/components/video-player/video-player-context.d.ts +45 -0
  427. package/dist/components/video-player/video-player-context.js +15 -0
  428. package/dist/components/video-player/video-player-controls.d.ts +38 -0
  429. package/dist/components/video-player/video-player-controls.js +226 -0
  430. package/dist/components/video-player/video-player-overlay.d.ts +13 -0
  431. package/dist/components/video-player/video-player-overlay.js +113 -0
  432. package/dist/components/video-player/video-player.d.ts +8 -0
  433. package/dist/components/video-player/video-player.js +139 -0
  434. package/dist/index.d.ts +244 -0
  435. package/dist/index.js +114 -0
  436. package/dist/lib/floating.d.ts +44 -0
  437. package/dist/lib/focus-source.js +51 -0
  438. package/dist/lib/format.d.ts +67 -0
  439. package/dist/lib/format.js +130 -0
  440. package/dist/lib/locale.d.ts +104 -0
  441. package/dist/lib/locale.js +103 -0
  442. package/dist/lib/part-props.d.ts +15 -0
  443. package/dist/lib/use-controllable-state.js +22 -0
  444. package/dist/lib/utils.d.ts +9 -0
  445. package/dist/lib/utils.js +16 -0
  446. package/dist/styles/index.css +126 -0
  447. package/dist/styles/theme.css +80 -0
  448. package/dist/styles/utilities.css +553 -0
  449. package/package.json +89 -3
@@ -0,0 +1,80 @@
1
+ /*
2
+ * Токены @archytechtor/ui: CSS-переменные в OKLCH.
3
+ * Светлая тема — :root, тёмная — класс .dark на корне.
4
+ * Переменные лежат в @layer base: переопределение в приложении всегда побеждает,
5
+ * в каком бы месте файла оно ни стояло.
6
+ */
7
+ @layer base {
8
+ :root {
9
+ color-scheme: light;
10
+ --radius: 0.625rem;
11
+ --background: oklch(1 0 0);
12
+ --foreground: oklch(0 0 0);
13
+ --card: oklch(1 0 0);
14
+ --card-foreground: oklch(0 0 0);
15
+ --popover: oklch(1 0 0);
16
+ --popover-foreground: oklch(0 0 0);
17
+ --primary: oklch(0 0 0);
18
+ --primary-foreground: oklch(0.985 0 0);
19
+ --secondary: oklch(0.97 0 0);
20
+ --secondary-foreground: oklch(0.205 0 0);
21
+ --muted: oklch(0.97 0 0);
22
+ --muted-foreground: oklch(0.556 0 0);
23
+ --accent: oklch(0.97 0 0);
24
+ --accent-foreground: oklch(0.205 0 0);
25
+ --destructive: oklch(0.577 0.245 27.325);
26
+ --destructive-foreground: oklch(0.97 0.01 17);
27
+ --border: oklch(0.922 0 0);
28
+ --input: oklch(0.922 0 0);
29
+ --ring: oklch(0.708 0 0);
30
+ --chart-1: oklch(0.809 0.105 251.813);
31
+ --chart-2: oklch(0.623 0.214 259.815);
32
+ --chart-3: oklch(0.546 0.245 262.881);
33
+ --chart-4: oklch(0.488 0.243 264.376);
34
+ --chart-5: oklch(0.424 0.199 265.638);
35
+ --sidebar: oklch(0.985 0 0);
36
+ --sidebar-foreground: oklch(0 0 0);
37
+ --sidebar-primary: oklch(0.205 0 0);
38
+ --sidebar-primary-foreground: oklch(0.985 0 0);
39
+ --sidebar-accent: oklch(0.97 0 0);
40
+ --sidebar-accent-foreground: oklch(0.205 0 0);
41
+ --sidebar-border: oklch(0.922 0 0);
42
+ --sidebar-ring: oklch(0.708 0 0);
43
+ }
44
+
45
+ .dark {
46
+ color-scheme: dark;
47
+ --background: oklch(0.145 0 0);
48
+ --foreground: oklch(0.985 0 0);
49
+ --card: oklch(0.205 0 0);
50
+ --card-foreground: oklch(0.985 0 0);
51
+ --popover: oklch(0.205 0 0);
52
+ --popover-foreground: oklch(0.985 0 0);
53
+ --primary: oklch(0.922 0 0);
54
+ --primary-foreground: oklch(0.205 0 0);
55
+ --secondary: oklch(0.269 0 0);
56
+ --secondary-foreground: oklch(0.985 0 0);
57
+ --muted: oklch(0.269 0 0);
58
+ --muted-foreground: oklch(0.708 0 0);
59
+ --accent: oklch(0.371 0 0);
60
+ --accent-foreground: oklch(0.985 0 0);
61
+ --destructive: oklch(0.704 0.191 22.216);
62
+ --destructive-foreground: oklch(0.58 0.22 27);
63
+ --border: oklch(1 0 0 / 10%);
64
+ --input: oklch(1 0 0 / 15%);
65
+ --ring: oklch(0.556 0 0);
66
+ --chart-1: oklch(0.809 0.105 251.813);
67
+ --chart-2: oklch(0.623 0.214 259.815);
68
+ --chart-3: oklch(0.546 0.245 262.881);
69
+ --chart-4: oklch(0.488 0.243 264.376);
70
+ --chart-5: oklch(0.424 0.199 265.638);
71
+ --sidebar: oklch(0.205 0 0);
72
+ --sidebar-foreground: oklch(0.985 0 0);
73
+ --sidebar-primary: oklch(0.488 0.243 264.376);
74
+ --sidebar-primary-foreground: oklch(0.985 0 0);
75
+ --sidebar-accent: oklch(0.269 0 0);
76
+ --sidebar-accent-foreground: oklch(0.985 0 0);
77
+ --sidebar-border: oklch(1 0 0 / 10%);
78
+ --sidebar-ring: oklch(0.439 0 0);
79
+ }
80
+ }
@@ -0,0 +1,553 @@
1
+ /*
2
+ * Утилиты: no-scrollbar, scroll-fade (затухание краёв прокрутки) и shimmer (блик по тексту).
3
+ * Подключаются из index.css.
4
+ */
5
+ @utility no-scrollbar {
6
+ -ms-overflow-style: none;
7
+ scrollbar-width: none;
8
+
9
+ &::-webkit-scrollbar {
10
+ display: none;
11
+ }
12
+ }
13
+
14
+ /* scroll-fade */
15
+ @property --scroll-fade-t {
16
+ syntax: "<length-percentage>";
17
+ inherits: false;
18
+ initial-value: 0px;
19
+ }
20
+ @property --scroll-fade-b {
21
+ syntax: "<length-percentage>";
22
+ inherits: false;
23
+ initial-value: 0px;
24
+ }
25
+ @property --scroll-fade-s {
26
+ syntax: "<length-percentage>";
27
+ inherits: false;
28
+ initial-value: 0px;
29
+ }
30
+ @property --scroll-fade-e {
31
+ syntax: "<length-percentage>";
32
+ inherits: false;
33
+ initial-value: 0px;
34
+ }
35
+ @property --scroll-fade-mask {
36
+ syntax: "*";
37
+ inherits: false;
38
+ }
39
+
40
+ @theme inline {
41
+ @keyframes scroll-fade-reveal-t {
42
+ from {
43
+ --scroll-fade-t: 0px;
44
+ }
45
+ to {
46
+ --scroll-fade-t: var(--_scroll-fade-size-t, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
47
+ }
48
+ }
49
+ @keyframes scroll-fade-reveal-b {
50
+ from {
51
+ --scroll-fade-b: var(--_scroll-fade-size-b, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
52
+ }
53
+ to {
54
+ --scroll-fade-b: 0px;
55
+ }
56
+ }
57
+ @keyframes scroll-fade-reveal-s {
58
+ from {
59
+ --scroll-fade-s: 0px;
60
+ }
61
+ to {
62
+ --scroll-fade-s: var(--_scroll-fade-size-s, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
63
+ }
64
+ }
65
+ @keyframes scroll-fade-reveal-e {
66
+ from {
67
+ --scroll-fade-e: var(--_scroll-fade-size-e, var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10))));
68
+ }
69
+ to {
70
+ --scroll-fade-e: 0px;
71
+ }
72
+ }
73
+ }
74
+
75
+ @utility scroll-fade {
76
+ --_scroll-fade-size-t: var(
77
+ --scroll-fade-t-size,
78
+ var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
79
+ );
80
+ --_scroll-fade-size-b: var(
81
+ --scroll-fade-b-size,
82
+ var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
83
+ );
84
+ --scroll-fade-block: linear-gradient(
85
+ to bottom,
86
+ transparent 0,
87
+ #000 var(--scroll-fade-t, 0px),
88
+ #000 calc(100% - var(--scroll-fade-b, 0px)),
89
+ transparent 100%
90
+ );
91
+ -webkit-mask-image: var(--scroll-fade-mask, var(--scroll-fade-block));
92
+ mask-image: var(--scroll-fade-mask, var(--scroll-fade-block));
93
+ -webkit-mask-composite: source-in;
94
+ mask-composite: intersect;
95
+ -webkit-mask-repeat: no-repeat;
96
+ mask-repeat: no-repeat;
97
+
98
+ @supports (animation-timeline: scroll()) {
99
+ animation:
100
+ scroll-fade-reveal-t 1ms ease-in-out,
101
+ scroll-fade-reveal-b 1ms ease-in-out;
102
+ animation-timeline: scroll(self y), scroll(self y);
103
+ animation-range:
104
+ 0 var(--scroll-fade-reveal, calc(var(--spacing) * 24)),
105
+ calc(100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24))) 100%;
106
+ animation-fill-mode: both;
107
+ }
108
+
109
+ @supports not (animation-timeline: scroll()) {
110
+ --scroll-fade-t: var(--_scroll-fade-size-t);
111
+ --scroll-fade-b: var(--_scroll-fade-size-b);
112
+ }
113
+ }
114
+
115
+ @utility scroll-fade-y {
116
+ --_scroll-fade-size-t: var(
117
+ --scroll-fade-t-size,
118
+ var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
119
+ );
120
+ --_scroll-fade-size-b: var(
121
+ --scroll-fade-b-size,
122
+ var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
123
+ );
124
+ --scroll-fade-block: linear-gradient(
125
+ to bottom,
126
+ transparent 0,
127
+ #000 var(--scroll-fade-t, 0px),
128
+ #000 calc(100% - var(--scroll-fade-b, 0px)),
129
+ transparent 100%
130
+ );
131
+ -webkit-mask-image: var(--scroll-fade-mask, var(--scroll-fade-block));
132
+ mask-image: var(--scroll-fade-mask, var(--scroll-fade-block));
133
+ -webkit-mask-composite: source-in;
134
+ mask-composite: intersect;
135
+ -webkit-mask-repeat: no-repeat;
136
+ mask-repeat: no-repeat;
137
+
138
+ @supports (animation-timeline: scroll()) {
139
+ animation:
140
+ scroll-fade-reveal-t 1ms ease-in-out,
141
+ scroll-fade-reveal-b 1ms ease-in-out;
142
+ animation-timeline: scroll(self y), scroll(self y);
143
+ animation-range:
144
+ 0 var(--scroll-fade-reveal, calc(var(--spacing) * 24)),
145
+ calc(100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24))) 100%;
146
+ animation-fill-mode: both;
147
+ }
148
+
149
+ @supports not (animation-timeline: scroll()) {
150
+ --scroll-fade-t: var(--_scroll-fade-size-t);
151
+ --scroll-fade-b: var(--_scroll-fade-size-b);
152
+ }
153
+ }
154
+
155
+ @utility scroll-fade-x {
156
+ --_scroll-fade-size-s: var(
157
+ --scroll-fade-s-size,
158
+ var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
159
+ );
160
+ --_scroll-fade-size-e: var(
161
+ --scroll-fade-e-size,
162
+ var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
163
+ );
164
+ --scroll-fade-inline: linear-gradient(
165
+ to right,
166
+ transparent 0,
167
+ #000 var(--scroll-fade-s, 0px),
168
+ #000 calc(100% - var(--scroll-fade-e, 0px)),
169
+ transparent 100%
170
+ );
171
+ &:where([dir="rtl"], [dir="rtl"] *) {
172
+ --scroll-fade-inline: linear-gradient(
173
+ to left,
174
+ transparent 0,
175
+ #000 var(--scroll-fade-s, 0px),
176
+ #000 calc(100% - var(--scroll-fade-e, 0px)),
177
+ transparent 100%
178
+ );
179
+ }
180
+ -webkit-mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline));
181
+ mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline));
182
+ -webkit-mask-composite: source-in;
183
+ mask-composite: intersect;
184
+ -webkit-mask-repeat: no-repeat;
185
+ mask-repeat: no-repeat;
186
+
187
+ @supports (animation-timeline: scroll()) {
188
+ animation:
189
+ scroll-fade-reveal-s 1ms ease-in-out,
190
+ scroll-fade-reveal-e 1ms ease-in-out;
191
+ animation-timeline: scroll(self inline), scroll(self inline);
192
+ animation-range:
193
+ 0 var(--scroll-fade-reveal, calc(var(--spacing) * 24)),
194
+ calc(100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24))) 100%;
195
+ animation-fill-mode: both;
196
+ }
197
+
198
+ @supports not (animation-timeline: scroll()) {
199
+ --scroll-fade-s: var(--_scroll-fade-size-s);
200
+ --scroll-fade-e: var(--_scroll-fade-size-e);
201
+ }
202
+ }
203
+
204
+ @utility scroll-fade-t {
205
+ --_scroll-fade-size-t: var(
206
+ --scroll-fade-t-size,
207
+ var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
208
+ );
209
+ --scroll-fade-mask: linear-gradient(
210
+ to bottom,
211
+ transparent 0,
212
+ #000 var(--scroll-fade-t, 0px),
213
+ #000 100%
214
+ );
215
+ -webkit-mask-image: var(--scroll-fade-mask);
216
+ mask-image: var(--scroll-fade-mask);
217
+ -webkit-mask-composite: source-in;
218
+ mask-composite: intersect;
219
+ -webkit-mask-repeat: no-repeat;
220
+ mask-repeat: no-repeat;
221
+
222
+ @supports (animation-timeline: scroll()) {
223
+ animation: scroll-fade-reveal-t 1ms ease-in-out;
224
+ animation-timeline: scroll(self y);
225
+ animation-range: 0 var(--scroll-fade-reveal, calc(var(--spacing) * 24));
226
+ animation-fill-mode: both;
227
+ }
228
+
229
+ @supports not (animation-timeline: scroll()) {
230
+ --scroll-fade-t: var(--_scroll-fade-size-t);
231
+ }
232
+ }
233
+
234
+ @utility scroll-fade-b {
235
+ --_scroll-fade-size-b: var(
236
+ --scroll-fade-b-size,
237
+ var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
238
+ );
239
+ --scroll-fade-mask: linear-gradient(
240
+ to bottom,
241
+ #000 0,
242
+ #000 calc(100% - var(--scroll-fade-b, 0px)),
243
+ transparent 100%
244
+ );
245
+ -webkit-mask-image: var(--scroll-fade-mask);
246
+ mask-image: var(--scroll-fade-mask);
247
+ -webkit-mask-composite: source-in;
248
+ mask-composite: intersect;
249
+ -webkit-mask-repeat: no-repeat;
250
+ mask-repeat: no-repeat;
251
+
252
+ @supports (animation-timeline: scroll()) {
253
+ animation: scroll-fade-reveal-b 1ms ease-in-out;
254
+ animation-timeline: scroll(self y);
255
+ animation-range: calc(
256
+ 100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24))
257
+ )
258
+ 100%;
259
+ animation-fill-mode: both;
260
+ }
261
+
262
+ @supports not (animation-timeline: scroll()) {
263
+ --scroll-fade-b: var(--_scroll-fade-size-b);
264
+ }
265
+ }
266
+
267
+ @utility scroll-fade-l {
268
+ --_scroll-fade-size-s: var(
269
+ --scroll-fade-s-size,
270
+ var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
271
+ );
272
+ --scroll-fade-mask: linear-gradient(
273
+ to right,
274
+ transparent 0,
275
+ #000 var(--scroll-fade-s, 0px),
276
+ #000 100%
277
+ );
278
+ -webkit-mask-image: var(--scroll-fade-mask);
279
+ mask-image: var(--scroll-fade-mask);
280
+ -webkit-mask-composite: source-in;
281
+ mask-composite: intersect;
282
+ -webkit-mask-repeat: no-repeat;
283
+ mask-repeat: no-repeat;
284
+
285
+ @supports (animation-timeline: scroll()) {
286
+ animation: scroll-fade-reveal-s 1ms ease-in-out;
287
+ animation-timeline: scroll(self x);
288
+ animation-range: 0 var(--scroll-fade-reveal, calc(var(--spacing) * 24));
289
+ animation-fill-mode: both;
290
+ }
291
+
292
+ @supports not (animation-timeline: scroll()) {
293
+ --scroll-fade-s: var(--_scroll-fade-size-s);
294
+ }
295
+ }
296
+
297
+ @utility scroll-fade-r {
298
+ --_scroll-fade-size-e: var(
299
+ --scroll-fade-e-size,
300
+ var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
301
+ );
302
+ --scroll-fade-mask: linear-gradient(
303
+ to right,
304
+ #000 0,
305
+ #000 calc(100% - var(--scroll-fade-e, 0px)),
306
+ transparent 100%
307
+ );
308
+ -webkit-mask-image: var(--scroll-fade-mask);
309
+ mask-image: var(--scroll-fade-mask);
310
+ -webkit-mask-composite: source-in;
311
+ mask-composite: intersect;
312
+ -webkit-mask-repeat: no-repeat;
313
+ mask-repeat: no-repeat;
314
+
315
+ @supports (animation-timeline: scroll()) {
316
+ animation: scroll-fade-reveal-e 1ms ease-in-out;
317
+ animation-timeline: scroll(self x);
318
+ animation-range: calc(
319
+ 100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24))
320
+ )
321
+ 100%;
322
+ animation-fill-mode: both;
323
+ }
324
+
325
+ @supports not (animation-timeline: scroll()) {
326
+ --scroll-fade-e: var(--_scroll-fade-size-e);
327
+ }
328
+ }
329
+
330
+ @utility scroll-fade-s {
331
+ --_scroll-fade-size-s: var(
332
+ --scroll-fade-s-size,
333
+ var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
334
+ );
335
+ --scroll-fade-mask: linear-gradient(
336
+ to right,
337
+ transparent 0,
338
+ #000 var(--scroll-fade-s, 0px),
339
+ #000 100%
340
+ );
341
+ &:where([dir="rtl"], [dir="rtl"] *) {
342
+ --scroll-fade-mask: linear-gradient(
343
+ to left,
344
+ transparent 0,
345
+ #000 var(--scroll-fade-s, 0px),
346
+ #000 100%
347
+ );
348
+ }
349
+ -webkit-mask-image: var(--scroll-fade-mask);
350
+ mask-image: var(--scroll-fade-mask);
351
+ -webkit-mask-composite: source-in;
352
+ mask-composite: intersect;
353
+ -webkit-mask-repeat: no-repeat;
354
+ mask-repeat: no-repeat;
355
+
356
+ @supports (animation-timeline: scroll()) {
357
+ animation: scroll-fade-reveal-s 1ms ease-in-out;
358
+ animation-timeline: scroll(self inline);
359
+ animation-range: 0 var(--scroll-fade-reveal, calc(var(--spacing) * 24));
360
+ animation-fill-mode: both;
361
+ }
362
+
363
+ @supports not (animation-timeline: scroll()) {
364
+ --scroll-fade-s: var(--_scroll-fade-size-s);
365
+ }
366
+ }
367
+
368
+ @utility scroll-fade-e {
369
+ --_scroll-fade-size-e: var(
370
+ --scroll-fade-e-size,
371
+ var(--scroll-fade-size, min(12%, calc(var(--spacing) * 10)))
372
+ );
373
+ --scroll-fade-mask: linear-gradient(
374
+ to right,
375
+ #000 0,
376
+ #000 calc(100% - var(--scroll-fade-e, 0px)),
377
+ transparent 100%
378
+ );
379
+ &:where([dir="rtl"], [dir="rtl"] *) {
380
+ --scroll-fade-mask: linear-gradient(
381
+ to left,
382
+ #000 0,
383
+ #000 calc(100% - var(--scroll-fade-e, 0px)),
384
+ transparent 100%
385
+ );
386
+ }
387
+ -webkit-mask-image: var(--scroll-fade-mask);
388
+ mask-image: var(--scroll-fade-mask);
389
+ -webkit-mask-composite: source-in;
390
+ mask-composite: intersect;
391
+ -webkit-mask-repeat: no-repeat;
392
+ mask-repeat: no-repeat;
393
+
394
+ @supports (animation-timeline: scroll()) {
395
+ animation: scroll-fade-reveal-e 1ms ease-in-out;
396
+ animation-timeline: scroll(self inline);
397
+ animation-range: calc(
398
+ 100% - var(--scroll-fade-reveal, calc(var(--spacing) * 24))
399
+ )
400
+ 100%;
401
+ animation-fill-mode: both;
402
+ }
403
+
404
+ @supports not (animation-timeline: scroll()) {
405
+ --scroll-fade-e: var(--_scroll-fade-size-e);
406
+ }
407
+ }
408
+
409
+ @utility scroll-fade-* {
410
+ --scroll-fade-size: calc(var(--spacing) * --value(integer));
411
+ --scroll-fade-size: --value([length], [percentage]);
412
+ }
413
+
414
+ @utility scroll-fade-t-* {
415
+ --scroll-fade-t-size: calc(var(--spacing) * --value(integer));
416
+ --scroll-fade-t-size: --value([length], [percentage]);
417
+ }
418
+
419
+ @utility scroll-fade-b-* {
420
+ --scroll-fade-b-size: calc(var(--spacing) * --value(integer));
421
+ --scroll-fade-b-size: --value([length], [percentage]);
422
+ }
423
+
424
+ @utility scroll-fade-s-* {
425
+ --scroll-fade-s-size: calc(var(--spacing) * --value(integer));
426
+ --scroll-fade-s-size: --value([length], [percentage]);
427
+ }
428
+
429
+ @utility scroll-fade-e-* {
430
+ --scroll-fade-e-size: calc(var(--spacing) * --value(integer));
431
+ --scroll-fade-e-size: --value([length], [percentage]);
432
+ }
433
+
434
+ @utility scroll-fade-none {
435
+ --scroll-fade-mask: none;
436
+ }
437
+
438
+ /* shimmer */
439
+ @property --shimmer-angle {
440
+ syntax: "<angle>";
441
+ inherits: true;
442
+ initial-value: 20deg;
443
+ }
444
+ @property --shimmer-image {
445
+ syntax: "*";
446
+ inherits: false;
447
+ }
448
+ @property --shimmer-text-fill {
449
+ syntax: "*";
450
+ inherits: false;
451
+ }
452
+
453
+ @theme inline {
454
+ @keyframes tw-shimmer {
455
+ from {
456
+ background-position: 100% 0;
457
+ }
458
+ to {
459
+ background-position: 0 0;
460
+ }
461
+ }
462
+ }
463
+
464
+ @utility shimmer {
465
+ --_spread: var(--shimmer-spread, calc(3ch + 40px));
466
+ --_base: currentColor;
467
+ --_highlight: var(
468
+ --shimmer-color,
469
+ oklch(from currentColor l c h / calc(alpha* 0.2))
470
+ );
471
+
472
+ background-image: var(
473
+ --shimmer-image,
474
+ linear-gradient(
475
+ calc(90deg + var(--shimmer-angle)),
476
+ var(--_base) calc(50% - var(--_spread)),
477
+ color-mix(in oklch, var(--_highlight), var(--_base) 50%)
478
+ calc(50% - var(--_spread) * 0.5),
479
+ var(--_highlight) 50%,
480
+ color-mix(in oklch, var(--_highlight), var(--_base) 50%)
481
+ calc(50% + var(--_spread) * 0.5),
482
+ var(--_base) calc(50% + var(--_spread))
483
+ )
484
+ );
485
+ background-repeat: no-repeat;
486
+ background-size: calc(200% + var(--_spread) * 2) 100%;
487
+ background-position: 0 0;
488
+ background-clip: text;
489
+ -webkit-background-clip: text;
490
+ -webkit-text-fill-color: var(--shimmer-text-fill, transparent);
491
+ animation: tw-shimmer var(--shimmer-duration, 2s) linear infinite;
492
+
493
+ @variant dark {
494
+ --_highlight: var(
495
+ --shimmer-color,
496
+ oklch(from currentColor max(0.8, calc(l + 0.4)) c h / calc(alpha + 0.4))
497
+ );
498
+ }
499
+
500
+ &:where([dir="rtl"], [dir="rtl"] *) {
501
+ animation-direction: reverse;
502
+ }
503
+
504
+ @media (prefers-reduced-motion: reduce) {
505
+ animation: none;
506
+ background-image: none;
507
+ -webkit-text-fill-color: currentColor;
508
+ }
509
+ }
510
+
511
+ @utility shimmer-once {
512
+ animation-iteration-count: 1;
513
+ }
514
+
515
+ @utility shimmer-reverse {
516
+ animation-direction: reverse;
517
+ }
518
+
519
+ @utility shimmer-none {
520
+ --shimmer-image: none;
521
+ --shimmer-text-fill: currentColor;
522
+ }
523
+
524
+ @utility shimmer-color-* {
525
+ --shimmer-color: --value(--color, [color]);
526
+ --shimmer-color: color-mix(
527
+ in oklch,
528
+ --value(--color, [color]) calc(--modifier(integer) * 1%),
529
+ transparent
530
+ );
531
+ }
532
+
533
+ @utility shimmer-duration-* {
534
+ --shimmer-duration: calc(--value(integer) * 1ms);
535
+ }
536
+
537
+ @utility shimmer-spread-* {
538
+ --shimmer-spread: calc(var(--spacing) * --value(integer));
539
+ --shimmer-spread: --value([length], [percentage]);
540
+ }
541
+
542
+ @utility shimmer-angle-* {
543
+ --shimmer-angle: calc(--value(integer) * 1deg);
544
+ }
545
+
546
+ /* Без анимации, если в системе включено «уменьшить движение» */
547
+ @media (prefers-reduced-motion: reduce) {
548
+ .shimmer {
549
+ animation: none;
550
+ background-image: none;
551
+ -webkit-text-fill-color: currentColor;
552
+ }
553
+ }