@windmorph/react 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 (761) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +23 -0
  3. package/README.md +149 -2
  4. package/dist/cli.d.ts +1 -0
  5. package/dist/cli.js +112 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/components/app-bar/AppBarItems.js +23 -0
  8. package/dist/components/app-bar/AppBarItems.js.map +1 -0
  9. package/dist/components/app-bar/TopAppBar.d.ts +89 -0
  10. package/dist/components/app-bar/TopAppBar.js +103 -0
  11. package/dist/components/app-bar/TopAppBar.js.map +1 -0
  12. package/dist/components/app-bar/app-bar-styles.d.ts +280 -0
  13. package/dist/components/app-bar/app-bar-styles.js +142 -0
  14. package/dist/components/app-bar/app-bar-styles.js.map +1 -0
  15. package/dist/components/app-bar/app-bar-tokens.d.ts +7 -0
  16. package/dist/components/app-bar/app-bar-tokens.js +64 -0
  17. package/dist/components/app-bar/app-bar-tokens.js.map +1 -0
  18. package/dist/components/app-bar/use-app-bar-scroll.d.ts +6 -0
  19. package/dist/components/app-bar/use-app-bar-scroll.js +139 -0
  20. package/dist/components/app-bar/use-app-bar-scroll.js.map +1 -0
  21. package/dist/components/autocomplete/Autocomplete.d.ts +142 -0
  22. package/dist/components/autocomplete/Autocomplete.js +284 -0
  23. package/dist/components/autocomplete/Autocomplete.js.map +1 -0
  24. package/dist/components/badge/Badge.d.ts +71 -0
  25. package/dist/components/badge/Badge.js +72 -0
  26. package/dist/components/badge/Badge.js.map +1 -0
  27. package/dist/components/badge/badge-styles.d.ts +100 -0
  28. package/dist/components/badge/badge-styles.js +43 -0
  29. package/dist/components/badge/badge-styles.js.map +1 -0
  30. package/dist/components/badge/badge-tokens.d.ts +7 -0
  31. package/dist/components/badge/badge-tokens.js +40 -0
  32. package/dist/components/badge/badge-tokens.js.map +1 -0
  33. package/dist/components/button/Button.d.ts +91 -0
  34. package/dist/components/button/Button.js +96 -0
  35. package/dist/components/button/Button.js.map +1 -0
  36. package/dist/components/button/ButtonContext.d.ts +30 -0
  37. package/dist/components/button/ButtonContext.js +18 -0
  38. package/dist/components/button/ButtonContext.js.map +1 -0
  39. package/dist/components/button/DensityZeroButtons.js +25 -0
  40. package/dist/components/button/DensityZeroButtons.js.map +1 -0
  41. package/dist/components/button/button-pending.d.ts +10 -0
  42. package/dist/components/button/button-pending.js +166 -0
  43. package/dist/components/button/button-pending.js.map +1 -0
  44. package/dist/components/button/button-styles.d.ts +216 -0
  45. package/dist/components/button/button-styles.js +199 -0
  46. package/dist/components/button/button-styles.js.map +1 -0
  47. package/dist/components/button/button-tokens.d.ts +10 -0
  48. package/dist/components/button/button-tokens.js +257 -0
  49. package/dist/components/button/button-tokens.js.map +1 -0
  50. package/dist/components/button/connected-shapes.js +152 -0
  51. package/dist/components/button/connected-shapes.js.map +1 -0
  52. package/dist/components/card/Card.d.ts +60 -0
  53. package/dist/components/card/Card.js +69 -0
  54. package/dist/components/card/Card.js.map +1 -0
  55. package/dist/components/card/card-styles.d.ts +42 -0
  56. package/dist/components/card/card-styles.js +64 -0
  57. package/dist/components/card/card-styles.js.map +1 -0
  58. package/dist/components/card/card-tokens.d.ts +7 -0
  59. package/dist/components/card/card-tokens.js +84 -0
  60. package/dist/components/card/card-tokens.js.map +1 -0
  61. package/dist/components/carousel/Carousel.d.ts +124 -0
  62. package/dist/components/carousel/Carousel.js +387 -0
  63. package/dist/components/carousel/Carousel.js.map +1 -0
  64. package/dist/components/carousel/carousel-keylines.js +486 -0
  65. package/dist/components/carousel/carousel-keylines.js.map +1 -0
  66. package/dist/components/carousel/carousel-press-area.js +35 -0
  67. package/dist/components/carousel/carousel-press-area.js.map +1 -0
  68. package/dist/components/carousel/carousel-styles.d.ts +188 -0
  69. package/dist/components/carousel/carousel-styles.js +116 -0
  70. package/dist/components/carousel/carousel-styles.js.map +1 -0
  71. package/dist/components/carousel/carousel-tokens.d.ts +7 -0
  72. package/dist/components/carousel/carousel-tokens.js +18 -0
  73. package/dist/components/carousel/carousel-tokens.js.map +1 -0
  74. package/dist/components/checkbox/Checkbox.d.ts +78 -0
  75. package/dist/components/checkbox/Checkbox.js +77 -0
  76. package/dist/components/checkbox/Checkbox.js.map +1 -0
  77. package/dist/components/checkbox/checkbox-box.js +34 -0
  78. package/dist/components/checkbox/checkbox-box.js.map +1 -0
  79. package/dist/components/checkbox/checkbox-styles.d.ts +100 -0
  80. package/dist/components/checkbox/checkbox-styles.js +54 -0
  81. package/dist/components/checkbox/checkbox-styles.js.map +1 -0
  82. package/dist/components/checkbox/checkbox-tokens.d.ts +7 -0
  83. package/dist/components/checkbox/checkbox-tokens.js +41 -0
  84. package/dist/components/checkbox/checkbox-tokens.js.map +1 -0
  85. package/dist/components/chip/Chip.d.ts +171 -0
  86. package/dist/components/chip/Chip.js +348 -0
  87. package/dist/components/chip/Chip.js.map +1 -0
  88. package/dist/components/chip/ChipSet.d.ts +70 -0
  89. package/dist/components/chip/ChipSet.js +198 -0
  90. package/dist/components/chip/ChipSet.js.map +1 -0
  91. package/dist/components/chip/chip-styles.d.ts +263 -0
  92. package/dist/components/chip/chip-styles.js +360 -0
  93. package/dist/components/chip/chip-styles.js.map +1 -0
  94. package/dist/components/chip/chip-tokens.d.ts +13 -0
  95. package/dist/components/chip/chip-tokens.js +185 -0
  96. package/dist/components/chip/chip-tokens.js.map +1 -0
  97. package/dist/components/date-picker/CalendarGrid.js +94 -0
  98. package/dist/components/date-picker/CalendarGrid.js.map +1 -0
  99. package/dist/components/date-picker/CompactDateDialog.js +63 -0
  100. package/dist/components/date-picker/CompactDateDialog.js.map +1 -0
  101. package/dist/components/date-picker/DateField.d.ts +161 -0
  102. package/dist/components/date-picker/DateField.js +393 -0
  103. package/dist/components/date-picker/DateField.js.map +1 -0
  104. package/dist/components/date-picker/DateInput.d.ts +20 -0
  105. package/dist/components/date-picker/DateInput.js +99 -0
  106. package/dist/components/date-picker/DateInput.js.map +1 -0
  107. package/dist/components/date-picker/DatePicker.d.ts +165 -0
  108. package/dist/components/date-picker/DatePicker.js +492 -0
  109. package/dist/components/date-picker/DatePicker.js.map +1 -0
  110. package/dist/components/date-picker/PickerDialog.d.ts +121 -0
  111. package/dist/components/date-picker/PickerDialog.js +161 -0
  112. package/dist/components/date-picker/PickerDialog.js.map +1 -0
  113. package/dist/components/date-picker/calendar-parts.js +141 -0
  114. package/dist/components/date-picker/calendar-parts.js.map +1 -0
  115. package/dist/components/date-picker/date-format.js +72 -0
  116. package/dist/components/date-picker/date-format.js.map +1 -0
  117. package/dist/components/date-picker/date-picker-styles.d.ts +247 -0
  118. package/dist/components/date-picker/date-picker-styles.js +163 -0
  119. package/dist/components/date-picker/date-picker-styles.js.map +1 -0
  120. package/dist/components/date-picker/date-picker-tokens.d.ts +7 -0
  121. package/dist/components/date-picker/date-picker-tokens.js +104 -0
  122. package/dist/components/date-picker/date-picker-tokens.js.map +1 -0
  123. package/dist/components/date-picker/picker-dialog-context.js +8 -0
  124. package/dist/components/date-picker/picker-dialog-context.js.map +1 -0
  125. package/dist/components/date-picker/picker-dialog-styles.d.ts +95 -0
  126. package/dist/components/date-picker/picker-dialog-styles.js +57 -0
  127. package/dist/components/date-picker/picker-dialog-styles.js.map +1 -0
  128. package/dist/components/date-picker/picker-icons.js +24 -0
  129. package/dist/components/date-picker/picker-icons.js.map +1 -0
  130. package/dist/components/date-picker/use-media-query.js +21 -0
  131. package/dist/components/date-picker/use-media-query.js.map +1 -0
  132. package/dist/components/date-picker/use-size-transform.js +62 -0
  133. package/dist/components/date-picker/use-size-transform.js.map +1 -0
  134. package/dist/components/date-picker/use-view-exit.js +68 -0
  135. package/dist/components/date-picker/use-view-exit.js.map +1 -0
  136. package/dist/components/dialog/Dialog.d.ts +267 -0
  137. package/dist/components/dialog/Dialog.js +521 -0
  138. package/dist/components/dialog/Dialog.js.map +1 -0
  139. package/dist/components/dialog/dialog-styles.d.ts +335 -0
  140. package/dist/components/dialog/dialog-styles.js +377 -0
  141. package/dist/components/dialog/dialog-styles.js.map +1 -0
  142. package/dist/components/dialog/dialog-tokens.d.ts +7 -0
  143. package/dist/components/dialog/dialog-tokens.js +57 -0
  144. package/dist/components/dialog/dialog-tokens.js.map +1 -0
  145. package/dist/components/divider/Divider.d.ts +59 -0
  146. package/dist/components/divider/Divider.js +53 -0
  147. package/dist/components/divider/Divider.js.map +1 -0
  148. package/dist/components/divider/divider-styles.d.ts +90 -0
  149. package/dist/components/divider/divider-styles.js +66 -0
  150. package/dist/components/divider/divider-styles.js.map +1 -0
  151. package/dist/components/divider/divider-tokens.d.ts +7 -0
  152. package/dist/components/divider/divider-tokens.js +16 -0
  153. package/dist/components/divider/divider-tokens.js.map +1 -0
  154. package/dist/components/fab/Fab.d.ts +130 -0
  155. package/dist/components/fab/Fab.js +137 -0
  156. package/dist/components/fab/Fab.js.map +1 -0
  157. package/dist/components/fab/FabTooltip.js +36 -0
  158. package/dist/components/fab/FabTooltip.js.map +1 -0
  159. package/dist/components/fab/fab-styles.d.ts +286 -0
  160. package/dist/components/fab/fab-styles.js +131 -0
  161. package/dist/components/fab/fab-styles.js.map +1 -0
  162. package/dist/components/fab/fab-tokens.d.ts +12 -0
  163. package/dist/components/fab/fab-tokens.js +105 -0
  164. package/dist/components/fab/fab-tokens.js.map +1 -0
  165. package/dist/components/fab-menu/FabMenu.d.ts +156 -0
  166. package/dist/components/fab-menu/FabMenu.js +291 -0
  167. package/dist/components/fab-menu/FabMenu.js.map +1 -0
  168. package/dist/components/fab-menu/fab-menu-stagger.js +51 -0
  169. package/dist/components/fab-menu/fab-menu-stagger.js.map +1 -0
  170. package/dist/components/fab-menu/fab-menu-styles.d.ts +166 -0
  171. package/dist/components/fab-menu/fab-menu-styles.js +107 -0
  172. package/dist/components/fab-menu/fab-menu-styles.js.map +1 -0
  173. package/dist/components/fab-menu/fab-menu-tokens.d.ts +7 -0
  174. package/dist/components/fab-menu/fab-menu-tokens.js +120 -0
  175. package/dist/components/fab-menu/fab-menu-tokens.js.map +1 -0
  176. package/dist/components/icon-button/IconButton.d.ts +125 -0
  177. package/dist/components/icon-button/IconButton.js +112 -0
  178. package/dist/components/icon-button/IconButton.js.map +1 -0
  179. package/dist/components/icon-button/icon-button-styles.d.ts +217 -0
  180. package/dist/components/icon-button/icon-button-styles.js +244 -0
  181. package/dist/components/icon-button/icon-button-styles.js.map +1 -0
  182. package/dist/components/icon-button/icon-button-tokens.d.ts +11 -0
  183. package/dist/components/icon-button/icon-button-tokens.js +215 -0
  184. package/dist/components/icon-button/icon-button-tokens.js.map +1 -0
  185. package/dist/components/list/List.d.ts +265 -0
  186. package/dist/components/list/List.js +1386 -0
  187. package/dist/components/list/List.js.map +1 -0
  188. package/dist/components/list/ListMedia.d.ts +88 -0
  189. package/dist/components/list/ListMedia.js +132 -0
  190. package/dist/components/list/ListMedia.js.map +1 -0
  191. package/dist/components/list/list-styles.d.ts +375 -0
  192. package/dist/components/list/list-styles.js +220 -0
  193. package/dist/components/list/list-styles.js.map +1 -0
  194. package/dist/components/list/list-tokens.d.ts +7 -0
  195. package/dist/components/list/list-tokens.js +92 -0
  196. package/dist/components/list/list-tokens.js.map +1 -0
  197. package/dist/components/loading-indicator/LoadingIndicator.d.ts +65 -0
  198. package/dist/components/loading-indicator/LoadingIndicator.js +92 -0
  199. package/dist/components/loading-indicator/LoadingIndicator.js.map +1 -0
  200. package/dist/components/loading-indicator/lazy-loading-indicator.js +25 -0
  201. package/dist/components/loading-indicator/lazy-loading-indicator.js.map +1 -0
  202. package/dist/components/loading-indicator/loading-indicator-frames.js +149 -0
  203. package/dist/components/loading-indicator/loading-indicator-frames.js.map +1 -0
  204. package/dist/components/loading-indicator/loading-indicator-styles.d.ts +36 -0
  205. package/dist/components/loading-indicator/loading-indicator-styles.js +22 -0
  206. package/dist/components/loading-indicator/loading-indicator-styles.js.map +1 -0
  207. package/dist/components/loading-indicator/loading-indicator-tokens.d.ts +7 -0
  208. package/dist/components/loading-indicator/loading-indicator-tokens.js +44 -0
  209. package/dist/components/loading-indicator/loading-indicator-tokens.js.map +1 -0
  210. package/dist/components/menu/Menu.d.ts +215 -0
  211. package/dist/components/menu/Menu.js +715 -0
  212. package/dist/components/menu/Menu.js.map +1 -0
  213. package/dist/components/menu/menu-styles.d.ts +354 -0
  214. package/dist/components/menu/menu-styles.js +219 -0
  215. package/dist/components/menu/menu-styles.js.map +1 -0
  216. package/dist/components/menu/menu-tokens.d.ts +7 -0
  217. package/dist/components/menu/menu-tokens.js +93 -0
  218. package/dist/components/menu/menu-tokens.js.map +1 -0
  219. package/dist/components/menu/menu-trigger.d.ts +51 -0
  220. package/dist/components/menu/menu-trigger.js +100 -0
  221. package/dist/components/menu/menu-trigger.js.map +1 -0
  222. package/dist/components/menu/use-reveal-entering.js +42 -0
  223. package/dist/components/menu/use-reveal-entering.js.map +1 -0
  224. package/dist/components/navigation/NavItem.d.ts +54 -0
  225. package/dist/components/navigation/NavItem.js +182 -0
  226. package/dist/components/navigation/NavItem.js.map +1 -0
  227. package/dist/components/navigation/NavigationBar.d.ts +64 -0
  228. package/dist/components/navigation/NavigationBar.js +121 -0
  229. package/dist/components/navigation/NavigationBar.js.map +1 -0
  230. package/dist/components/navigation/NavigationRail.d.ts +91 -0
  231. package/dist/components/navigation/NavigationRail.js +285 -0
  232. package/dist/components/navigation/NavigationRail.js.map +1 -0
  233. package/dist/components/navigation/nav-item-styles.d.ts +190 -0
  234. package/dist/components/navigation/nav-item-styles.js +123 -0
  235. package/dist/components/navigation/nav-item-styles.js.map +1 -0
  236. package/dist/components/navigation/navigation-styles.d.ts +239 -0
  237. package/dist/components/navigation/navigation-styles.js +134 -0
  238. package/dist/components/navigation/navigation-styles.js.map +1 -0
  239. package/dist/components/navigation/navigation-tokens.d.ts +9 -0
  240. package/dist/components/navigation/navigation-tokens.js +114 -0
  241. package/dist/components/navigation/navigation-tokens.js.map +1 -0
  242. package/dist/components/navigation/use-hide-on-scroll.js +115 -0
  243. package/dist/components/navigation/use-hide-on-scroll.js.map +1 -0
  244. package/dist/components/navigation/use-item-arrow-keys.js +37 -0
  245. package/dist/components/navigation/use-item-arrow-keys.js.map +1 -0
  246. package/dist/components/navigation/use-rail-item-morph.js +61 -0
  247. package/dist/components/navigation/use-rail-item-morph.js.map +1 -0
  248. package/dist/components/progress/ProgressIndicator.d.ts +95 -0
  249. package/dist/components/progress/ProgressIndicator.js +426 -0
  250. package/dist/components/progress/ProgressIndicator.js.map +1 -0
  251. package/dist/components/progress/progress-geometry.js +285 -0
  252. package/dist/components/progress/progress-geometry.js.map +1 -0
  253. package/dist/components/progress/progress-styles.d.ts +81 -0
  254. package/dist/components/progress/progress-styles.js +43 -0
  255. package/dist/components/progress/progress-styles.js.map +1 -0
  256. package/dist/components/progress/progress-tokens.d.ts +7 -0
  257. package/dist/components/progress/progress-tokens.js +39 -0
  258. package/dist/components/progress/progress-tokens.js.map +1 -0
  259. package/dist/components/pull-to-refresh/PullToRefresh.d.ts +94 -0
  260. package/dist/components/pull-to-refresh/PullToRefresh.js +395 -0
  261. package/dist/components/pull-to-refresh/PullToRefresh.js.map +1 -0
  262. package/dist/components/pull-to-refresh/pull-to-refresh-math.js +37 -0
  263. package/dist/components/pull-to-refresh/pull-to-refresh-math.js.map +1 -0
  264. package/dist/components/pull-to-refresh/pull-to-refresh-styles.d.ts +53 -0
  265. package/dist/components/pull-to-refresh/pull-to-refresh-styles.js +14 -0
  266. package/dist/components/pull-to-refresh/pull-to-refresh-styles.js.map +1 -0
  267. package/dist/components/radio/RadioGroup.d.ts +121 -0
  268. package/dist/components/radio/RadioGroup.js +163 -0
  269. package/dist/components/radio/RadioGroup.js.map +1 -0
  270. package/dist/components/radio/radio-ring.js +21 -0
  271. package/dist/components/radio/radio-ring.js.map +1 -0
  272. package/dist/components/radio/radio-styles.d.ts +155 -0
  273. package/dist/components/radio/radio-styles.js +60 -0
  274. package/dist/components/radio/radio-styles.js.map +1 -0
  275. package/dist/components/radio/radio-tokens.d.ts +7 -0
  276. package/dist/components/radio/radio-tokens.js +31 -0
  277. package/dist/components/radio/radio-tokens.js.map +1 -0
  278. package/dist/components/search/SearchAppBar.d.ts +45 -0
  279. package/dist/components/search/SearchAppBar.js +61 -0
  280. package/dist/components/search/SearchAppBar.js.map +1 -0
  281. package/dist/components/search/SearchBar.d.ts +147 -0
  282. package/dist/components/search/SearchBar.js +412 -0
  283. package/dist/components/search/SearchBar.js.map +1 -0
  284. package/dist/components/search/search-styles.d.ts +243 -0
  285. package/dist/components/search/search-styles.js +143 -0
  286. package/dist/components/search/search-styles.js.map +1 -0
  287. package/dist/components/search/search-tokens.d.ts +9 -0
  288. package/dist/components/search/search-tokens.js +70 -0
  289. package/dist/components/search/search-tokens.js.map +1 -0
  290. package/dist/components/select/Select.d.ts +187 -0
  291. package/dist/components/select/Select.js +319 -0
  292. package/dist/components/select/Select.js.map +1 -0
  293. package/dist/components/select/field-shell.d.ts +29 -0
  294. package/dist/components/select/field-shell.js +135 -0
  295. package/dist/components/select/field-shell.js.map +1 -0
  296. package/dist/components/select/option-list.d.ts +81 -0
  297. package/dist/components/select/option-list.js +291 -0
  298. package/dist/components/select/option-list.js.map +1 -0
  299. package/dist/components/select/search-list.js +135 -0
  300. package/dist/components/select/search-list.js.map +1 -0
  301. package/dist/components/select/selection-cap.js +30 -0
  302. package/dist/components/select/selection-cap.js.map +1 -0
  303. package/dist/components/sheet/BottomSheet.d.ts +154 -0
  304. package/dist/components/sheet/BottomSheet.js +442 -0
  305. package/dist/components/sheet/BottomSheet.js.map +1 -0
  306. package/dist/components/sheet/SheetTrigger.d.ts +25 -0
  307. package/dist/components/sheet/SheetTrigger.js +46 -0
  308. package/dist/components/sheet/SheetTrigger.js.map +1 -0
  309. package/dist/components/sheet/SideSheet.d.ts +139 -0
  310. package/dist/components/sheet/SideSheet.js +289 -0
  311. package/dist/components/sheet/SideSheet.js.map +1 -0
  312. package/dist/components/sheet/bottom-sheet-gesture.js +30 -0
  313. package/dist/components/sheet/bottom-sheet-gesture.js.map +1 -0
  314. package/dist/components/sheet/lazy-bottom-sheet.js +33 -0
  315. package/dist/components/sheet/lazy-bottom-sheet.js.map +1 -0
  316. package/dist/components/sheet/sheet-gesture.js +48 -0
  317. package/dist/components/sheet/sheet-gesture.js.map +1 -0
  318. package/dist/components/sheet/sheet-icons.js +31 -0
  319. package/dist/components/sheet/sheet-icons.js.map +1 -0
  320. package/dist/components/sheet/sheet-settle.js +58 -0
  321. package/dist/components/sheet/sheet-settle.js.map +1 -0
  322. package/dist/components/sheet/sheet-styles.d.ts +312 -0
  323. package/dist/components/sheet/sheet-styles.js +229 -0
  324. package/dist/components/sheet/sheet-styles.js.map +1 -0
  325. package/dist/components/sheet/sheet-tokens.d.ts +12 -0
  326. package/dist/components/sheet/sheet-tokens.js +115 -0
  327. package/dist/components/sheet/sheet-tokens.js.map +1 -0
  328. package/dist/components/sheet/side-swipe-gesture.js +22 -0
  329. package/dist/components/sheet/side-swipe-gesture.js.map +1 -0
  330. package/dist/components/sheet/use-peek-inert.js +32 -0
  331. package/dist/components/sheet/use-peek-inert.js.map +1 -0
  332. package/dist/components/sheet/use-side-swipe.js +174 -0
  333. package/dist/components/sheet/use-side-swipe.js.map +1 -0
  334. package/dist/components/slider/Slider.d.ts +129 -0
  335. package/dist/components/slider/Slider.js +295 -0
  336. package/dist/components/slider/Slider.js.map +1 -0
  337. package/dist/components/slider/slider-geometry.js +138 -0
  338. package/dist/components/slider/slider-geometry.js.map +1 -0
  339. package/dist/components/slider/slider-styles.d.ts +133 -0
  340. package/dist/components/slider/slider-styles.js +97 -0
  341. package/dist/components/slider/slider-styles.js.map +1 -0
  342. package/dist/components/slider/slider-tokens.d.ts +7 -0
  343. package/dist/components/slider/slider-tokens.js +66 -0
  344. package/dist/components/slider/slider-tokens.js.map +1 -0
  345. package/dist/components/slider/use-touch-track.js +138 -0
  346. package/dist/components/slider/use-touch-track.js.map +1 -0
  347. package/dist/components/snackbar/Snackbar.d.ts +96 -0
  348. package/dist/components/snackbar/Snackbar.js +253 -0
  349. package/dist/components/snackbar/Snackbar.js.map +1 -0
  350. package/dist/components/snackbar/snackbar-state.d.ts +58 -0
  351. package/dist/components/snackbar/snackbar-state.js +73 -0
  352. package/dist/components/snackbar/snackbar-state.js.map +1 -0
  353. package/dist/components/snackbar/snackbar-styles.d.ts +109 -0
  354. package/dist/components/snackbar/snackbar-styles.js +67 -0
  355. package/dist/components/snackbar/snackbar-styles.js.map +1 -0
  356. package/dist/components/snackbar/snackbar-tokens.d.ts +7 -0
  357. package/dist/components/snackbar/snackbar-tokens.js +54 -0
  358. package/dist/components/snackbar/snackbar-tokens.js.map +1 -0
  359. package/dist/components/split-button/SplitButton.d.ts +109 -0
  360. package/dist/components/split-button/SplitButton.js +195 -0
  361. package/dist/components/split-button/SplitButton.js.map +1 -0
  362. package/dist/components/split-button/split-button-styles.d.ts +214 -0
  363. package/dist/components/split-button/split-button-styles.js +164 -0
  364. package/dist/components/split-button/split-button-styles.js.map +1 -0
  365. package/dist/components/split-button/split-button-tokens.d.ts +7 -0
  366. package/dist/components/split-button/split-button-tokens.js +36 -0
  367. package/dist/components/split-button/split-button-tokens.js.map +1 -0
  368. package/dist/components/switch/Switch.d.ts +82 -0
  369. package/dist/components/switch/Switch.js +165 -0
  370. package/dist/components/switch/Switch.js.map +1 -0
  371. package/dist/components/switch/switch-styles.d.ts +96 -0
  372. package/dist/components/switch/switch-styles.js +68 -0
  373. package/dist/components/switch/switch-styles.js.map +1 -0
  374. package/dist/components/switch/switch-thumb.js +41 -0
  375. package/dist/components/switch/switch-thumb.js.map +1 -0
  376. package/dist/components/switch/switch-tokens.d.ts +7 -0
  377. package/dist/components/switch/switch-tokens.js +78 -0
  378. package/dist/components/switch/switch-tokens.js.map +1 -0
  379. package/dist/components/tabs/Tabs.d.ts +120 -0
  380. package/dist/components/tabs/Tabs.js +346 -0
  381. package/dist/components/tabs/Tabs.js.map +1 -0
  382. package/dist/components/tabs/tabs-styles.d.ts +198 -0
  383. package/dist/components/tabs/tabs-styles.js +99 -0
  384. package/dist/components/tabs/tabs-styles.js.map +1 -0
  385. package/dist/components/tabs/tabs-tokens.d.ts +7 -0
  386. package/dist/components/tabs/tabs-tokens.js +121 -0
  387. package/dist/components/tabs/tabs-tokens.js.map +1 -0
  388. package/dist/components/text-field/TextField.d.ts +175 -0
  389. package/dist/components/text-field/TextField.js +250 -0
  390. package/dist/components/text-field/TextField.js.map +1 -0
  391. package/dist/components/text-field/text-field-styles.d.ts +252 -0
  392. package/dist/components/text-field/text-field-styles.js +209 -0
  393. package/dist/components/text-field/text-field-styles.js.map +1 -0
  394. package/dist/components/text-field/text-field-tokens.d.ts +7 -0
  395. package/dist/components/text-field/text-field-tokens.js +177 -0
  396. package/dist/components/text-field/text-field-tokens.js.map +1 -0
  397. package/dist/components/time-picker/TimePicker.d.ts +142 -0
  398. package/dist/components/time-picker/TimePicker.js +700 -0
  399. package/dist/components/time-picker/TimePicker.js.map +1 -0
  400. package/dist/components/time-picker/time-picker-styles.d.ts +175 -0
  401. package/dist/components/time-picker/time-picker-styles.js +112 -0
  402. package/dist/components/time-picker/time-picker-styles.js.map +1 -0
  403. package/dist/components/time-picker/time-picker-tokens.d.ts +7 -0
  404. package/dist/components/time-picker/time-picker-tokens.js +86 -0
  405. package/dist/components/time-picker/time-picker-tokens.js.map +1 -0
  406. package/dist/components/toolbar/Toolbar.d.ts +209 -0
  407. package/dist/components/toolbar/Toolbar.js +282 -0
  408. package/dist/components/toolbar/Toolbar.js.map +1 -0
  409. package/dist/components/toolbar/toolbar-styles.d.ts +403 -0
  410. package/dist/components/toolbar/toolbar-styles.js +253 -0
  411. package/dist/components/toolbar/toolbar-styles.js.map +1 -0
  412. package/dist/components/toolbar/toolbar-tokens.d.ts +27 -0
  413. package/dist/components/toolbar/toolbar-tokens.js +117 -0
  414. package/dist/components/toolbar/toolbar-tokens.js.map +1 -0
  415. package/dist/components/toolbar/use-toolbar-scroll-expansion.d.ts +56 -0
  416. package/dist/components/toolbar/use-toolbar-scroll-expansion.js +86 -0
  417. package/dist/components/toolbar/use-toolbar-scroll-expansion.js.map +1 -0
  418. package/dist/components/tooltip/Tooltip.d.ts +131 -0
  419. package/dist/components/tooltip/Tooltip.js +388 -0
  420. package/dist/components/tooltip/Tooltip.js.map +1 -0
  421. package/dist/components/tooltip/lazy-tooltip.js +35 -0
  422. package/dist/components/tooltip/lazy-tooltip.js.map +1 -0
  423. package/dist/components/tooltip/tooltip-placement.d.ts +16 -0
  424. package/dist/components/tooltip/tooltip-placement.js +14 -0
  425. package/dist/components/tooltip/tooltip-placement.js.map +1 -0
  426. package/dist/components/tooltip/tooltip-styles.d.ts +142 -0
  427. package/dist/components/tooltip/tooltip-styles.js +81 -0
  428. package/dist/components/tooltip/tooltip-styles.js.map +1 -0
  429. package/dist/components/tooltip/tooltip-tokens.d.ts +9 -0
  430. package/dist/components/tooltip/tooltip-tokens.js +72 -0
  431. package/dist/components/tooltip/tooltip-tokens.js.map +1 -0
  432. package/dist/components/tooltip/tooltip-trigger.d.ts +42 -0
  433. package/dist/components/tooltip/tooltip-trigger.js +115 -0
  434. package/dist/components/tooltip/tooltip-trigger.js.map +1 -0
  435. package/dist/composites/button-group/ButtonGroup.d.ts +116 -0
  436. package/dist/composites/button-group/ButtonGroup.js +270 -0
  437. package/dist/composites/button-group/ButtonGroup.js.map +1 -0
  438. package/dist/composites/button-group/button-group-styles.d.ts +73 -0
  439. package/dist/composites/button-group/button-group-styles.js +87 -0
  440. package/dist/composites/button-group/button-group-styles.js.map +1 -0
  441. package/dist/composites/button-group/lazy-overflow-menu.js +43 -0
  442. package/dist/composites/button-group/lazy-overflow-menu.js.map +1 -0
  443. package/dist/composites/button-group/overflow-menu-list.js +26 -0
  444. package/dist/composites/button-group/overflow-menu-list.js.map +1 -0
  445. package/dist/composites/button-group/use-overflow.js +75 -0
  446. package/dist/composites/button-group/use-overflow.js.map +1 -0
  447. package/dist/composites/button-group/use-press-expansion.js +155 -0
  448. package/dist/composites/button-group/use-press-expansion.js.map +1 -0
  449. package/dist/index.d.ts +142 -0
  450. package/dist/index.js +136 -0
  451. package/dist/motion/get-m3-spring.d.ts +6 -0
  452. package/dist/motion/get-m3-spring.js +10 -0
  453. package/dist/motion/get-m3-spring.js.map +1 -0
  454. package/dist/motion/reduced-motion.js +19 -0
  455. package/dist/motion/reduced-motion.js.map +1 -0
  456. package/dist/motion/use-m3-spring.d.ts +13 -0
  457. package/dist/motion/use-m3-spring.js +22 -0
  458. package/dist/motion/use-m3-spring.js.map +1 -0
  459. package/dist/next/NextRouterProvider.d.ts +13 -0
  460. package/dist/next/NextRouterProvider.js +26 -0
  461. package/dist/next/NextRouterProvider.js.map +1 -0
  462. package/dist/next/get-theme-from-cookies.d.ts +32 -0
  463. package/dist/next/get-theme-from-cookies.js +27 -0
  464. package/dist/next/get-theme-from-cookies.js.map +1 -0
  465. package/dist/next/navigation-guard.d.ts +30 -0
  466. package/dist/next/navigation-guard.js +68 -0
  467. package/dist/next/navigation-guard.js.map +1 -0
  468. package/dist/next.d.ts +5 -0
  469. package/dist/next.js +5 -0
  470. package/dist/primitives/ButtonBase.d.ts +115 -0
  471. package/dist/primitives/ButtonBase.js +231 -0
  472. package/dist/primitives/ButtonBase.js.map +1 -0
  473. package/dist/primitives/DomDirectionLocale.d.ts +18 -0
  474. package/dist/primitives/DomDirectionLocale.js +28 -0
  475. package/dist/primitives/DomDirectionLocale.js.map +1 -0
  476. package/dist/primitives/Field.d.ts +50 -0
  477. package/dist/primitives/Field.js +74 -0
  478. package/dist/primitives/Field.js.map +1 -0
  479. package/dist/primitives/IconFaces.js +23 -0
  480. package/dist/primitives/IconFaces.js.map +1 -0
  481. package/dist/primitives/Overlay.d.ts +39 -0
  482. package/dist/primitives/Overlay.js +86 -0
  483. package/dist/primitives/Overlay.js.map +1 -0
  484. package/dist/primitives/SelectionControl.d.ts +55 -0
  485. package/dist/primitives/SelectionControl.js +58 -0
  486. package/dist/primitives/SelectionControl.js.map +1 -0
  487. package/dist/primitives/Surface.d.ts +123 -0
  488. package/dist/primitives/Surface.js +68 -0
  489. package/dist/primitives/Surface.js.map +1 -0
  490. package/dist/primitives/ToolbarContext.js +12 -0
  491. package/dist/primitives/ToolbarContext.js.map +1 -0
  492. package/dist/primitives/TouchTarget.d.ts +14 -0
  493. package/dist/primitives/TouchTarget.js +20 -0
  494. package/dist/primitives/TouchTarget.js.map +1 -0
  495. package/dist/primitives/TriggerContext.d.ts +34 -0
  496. package/dist/primitives/TriggerContext.js +24 -0
  497. package/dist/primitives/TriggerContext.js.map +1 -0
  498. package/dist/primitives/hidden-input-focus.js +27 -0
  499. package/dist/primitives/hidden-input-focus.js.map +1 -0
  500. package/dist/primitives/icon-faces-styles.d.ts +9 -0
  501. package/dist/primitives/icon-faces-styles.js +45 -0
  502. package/dist/primitives/icon-faces-styles.js.map +1 -0
  503. package/dist/primitives/locale-with-direction.d.ts +9 -0
  504. package/dist/primitives/locale-with-direction.js +17 -0
  505. package/dist/primitives/locale-with-direction.js.map +1 -0
  506. package/dist/primitives/morph-path.d.ts +25 -0
  507. package/dist/primitives/morph-path.js +38 -0
  508. package/dist/primitives/morph-path.js.map +1 -0
  509. package/dist/primitives/selection-control-styles.d.ts +54 -0
  510. package/dist/primitives/selection-control-styles.js +44 -0
  511. package/dist/primitives/selection-control-styles.js.map +1 -0
  512. package/dist/primitives/use-m3-interaction.d.ts +51 -0
  513. package/dist/primitives/use-m3-interaction.js +149 -0
  514. package/dist/primitives/use-m3-interaction.js.map +1 -0
  515. package/dist/primitives/use-m3-morph.d.ts +18 -0
  516. package/dist/primitives/use-m3-morph.js +36 -0
  517. package/dist/primitives/use-m3-morph.js.map +1 -0
  518. package/dist/primitives/use-presence.d.ts +19 -0
  519. package/dist/primitives/use-presence.js +37 -0
  520. package/dist/primitives/use-presence.js.map +1 -0
  521. package/dist/primitives.d.ts +36 -0
  522. package/dist/primitives.js +34 -0
  523. package/dist/shapes/corner-rounding.d.ts +13 -0
  524. package/dist/shapes/corner-rounding.js +18 -0
  525. package/dist/shapes/corner-rounding.js.map +1 -0
  526. package/dist/shapes/cubic.d.ts +52 -0
  527. package/dist/shapes/cubic.js +189 -0
  528. package/dist/shapes/cubic.js.map +1 -0
  529. package/dist/shapes/feature-mapping.js +80 -0
  530. package/dist/shapes/feature-mapping.js.map +1 -0
  531. package/dist/shapes/features.d.ts +23 -0
  532. package/dist/shapes/features.js +82 -0
  533. package/dist/shapes/features.js.map +1 -0
  534. package/dist/shapes/float-mapping.js +65 -0
  535. package/dist/shapes/float-mapping.js.map +1 -0
  536. package/dist/shapes/generated/material-shape-path-record.d.ts +11 -0
  537. package/dist/shapes/generated/material-shape-path-record.js +48 -0
  538. package/dist/shapes/generated/material-shape-path-record.js.map +1 -0
  539. package/dist/shapes/generated/material-shape-paths.d.ts +78 -0
  540. package/dist/shapes/generated/material-shape-paths.js +218 -0
  541. package/dist/shapes/generated/material-shape-paths.js.map +1 -0
  542. package/dist/shapes/mask.d.ts +14 -0
  543. package/dist/shapes/mask.js +24 -0
  544. package/dist/shapes/mask.js.map +1 -0
  545. package/dist/shapes/material-shapes.d.ts +11 -0
  546. package/dist/shapes/material-shapes.js +250 -0
  547. package/dist/shapes/material-shapes.js.map +1 -0
  548. package/dist/shapes/morph.d.ts +25 -0
  549. package/dist/shapes/morph.js +97 -0
  550. package/dist/shapes/morph.js.map +1 -0
  551. package/dist/shapes/path.d.ts +33 -0
  552. package/dist/shapes/path.js +47 -0
  553. package/dist/shapes/path.js.map +1 -0
  554. package/dist/shapes/point.d.ts +28 -0
  555. package/dist/shapes/point.js +103 -0
  556. package/dist/shapes/point.js.map +1 -0
  557. package/dist/shapes/polygon-measure.js +140 -0
  558. package/dist/shapes/polygon-measure.js.map +1 -0
  559. package/dist/shapes/rounded-polygon.d.ts +44 -0
  560. package/dist/shapes/rounded-polygon.js +278 -0
  561. package/dist/shapes/rounded-polygon.js.map +1 -0
  562. package/dist/shapes/shape-path.d.ts +15 -0
  563. package/dist/shapes/shapes.d.ts +53 -0
  564. package/dist/shapes/shapes.js +171 -0
  565. package/dist/shapes/shapes.js.map +1 -0
  566. package/dist/styles/generated/components.css +710 -0
  567. package/dist/styles/generated/theme.css +247 -0
  568. package/dist/styles/generated/themes.css +3361 -0
  569. package/dist/styles/generated/tokens.css +284 -0
  570. package/dist/styles/styles.css +15 -0
  571. package/dist/styles/utilities.css +283 -0
  572. package/dist/styles.compiled.css +2 -0
  573. package/dist/theme/ThemeProvider.d.ts +72 -0
  574. package/dist/theme/ThemeProvider.js +144 -0
  575. package/dist/theme/ThemeProvider.js.map +1 -0
  576. package/dist/theme/ThemeScope.d.ts +32 -0
  577. package/dist/theme/ThemeScope.js +67 -0
  578. package/dist/theme/ThemeScope.js.map +1 -0
  579. package/dist/theme/ThemeScript.d.ts +26 -0
  580. package/dist/theme/ThemeScript.js +44 -0
  581. package/dist/theme/ThemeScript.js.map +1 -0
  582. package/dist/theme/context.d.ts +32 -0
  583. package/dist/theme/context.js +47 -0
  584. package/dist/theme/context.js.map +1 -0
  585. package/dist/theme/create-theme.d.ts +60 -0
  586. package/dist/theme/create-theme.js +47 -0
  587. package/dist/theme/create-theme.js.map +1 -0
  588. package/dist/theme/css.js +54 -0
  589. package/dist/theme/css.js.map +1 -0
  590. package/dist/theme/parse-palettes.js +40 -0
  591. package/dist/theme/parse-palettes.js.map +1 -0
  592. package/dist/theme/scheme.d.ts +6 -0
  593. package/dist/theme/scheme.js +118 -0
  594. package/dist/theme/scheme.js.map +1 -0
  595. package/dist/theme/state.d.ts +38 -0
  596. package/dist/theme/state.js +93 -0
  597. package/dist/theme/state.js.map +1 -0
  598. package/dist/theme/storage.js +21 -0
  599. package/dist/theme/storage.js.map +1 -0
  600. package/dist/tokens/breakpoints.d.ts +15 -0
  601. package/dist/tokens/breakpoints.js +16 -0
  602. package/dist/tokens/breakpoints.js.map +1 -0
  603. package/dist/tokens/color.d.ts +104 -0
  604. package/dist/tokens/color.js +147 -0
  605. package/dist/tokens/color.js.map +1 -0
  606. package/dist/tokens/component.d.ts +110 -0
  607. package/dist/tokens/component.js +67 -0
  608. package/dist/tokens/component.js.map +1 -0
  609. package/dist/tokens/density.d.ts +20 -0
  610. package/dist/tokens/density.js +27 -0
  611. package/dist/tokens/density.js.map +1 -0
  612. package/dist/tokens/elevation.d.ts +44 -0
  613. package/dist/tokens/elevation.js +45 -0
  614. package/dist/tokens/elevation.js.map +1 -0
  615. package/dist/tokens/motion.d.ts +79 -0
  616. package/dist/tokens/motion.js +126 -0
  617. package/dist/tokens/motion.js.map +1 -0
  618. package/dist/tokens/shape.d.ts +22 -0
  619. package/dist/tokens/shape.js +22 -0
  620. package/dist/tokens/shape.js.map +1 -0
  621. package/dist/tokens/spring-velocity.d.ts +19 -0
  622. package/dist/tokens/spring-velocity.js +44 -0
  623. package/dist/tokens/spring-velocity.js.map +1 -0
  624. package/dist/tokens/state.d.ts +18 -0
  625. package/dist/tokens/state.js +19 -0
  626. package/dist/tokens/state.js.map +1 -0
  627. package/dist/tokens/typography.d.ts +64 -0
  628. package/dist/tokens/typography.js +60 -0
  629. package/dist/tokens/typography.js.map +1 -0
  630. package/dist/tokens/z-index.d.ts +17 -0
  631. package/dist/tokens/z-index.js +18 -0
  632. package/dist/tokens/z-index.js.map +1 -0
  633. package/dist/utils/announce.js +51 -0
  634. package/dist/utils/announce.js.map +1 -0
  635. package/dist/utils/assert-collection-children.js +26 -0
  636. package/dist/utils/assert-collection-children.js.map +1 -0
  637. package/dist/utils/closed-by.d.ts +9 -0
  638. package/dist/utils/closed-by.js +12 -0
  639. package/dist/utils/closed-by.js.map +1 -0
  640. package/dist/utils/cn.d.ts +31 -0
  641. package/dist/utils/cn.js +37 -0
  642. package/dist/utils/cn.js.map +1 -0
  643. package/dist/utils/composite-keys.js +32 -0
  644. package/dist/utils/composite-keys.js.map +1 -0
  645. package/dist/utils/focus-visible.js +14 -0
  646. package/dist/utils/focus-visible.js.map +1 -0
  647. package/dist/utils/focus.js +51 -0
  648. package/dist/utils/focus.js.map +1 -0
  649. package/dist/utils/focusable-disabled.js +12 -0
  650. package/dist/utils/focusable-disabled.js.map +1 -0
  651. package/dist/utils/keep-pressed-in-place.d.ts +60 -0
  652. package/dist/utils/keep-pressed-in-place.js +127 -0
  653. package/dist/utils/keep-pressed-in-place.js.map +1 -0
  654. package/dist/utils/load-on-demand.js +111 -0
  655. package/dist/utils/load-on-demand.js.map +1 -0
  656. package/dist/utils/merge-data-tokens.d.ts +9 -0
  657. package/dist/utils/merge-data-tokens.js +15 -0
  658. package/dist/utils/merge-data-tokens.js.map +1 -0
  659. package/dist/utils/natural-size.js +53 -0
  660. package/dist/utils/natural-size.js.map +1 -0
  661. package/dist/utils/nearest-reveal.js +28 -0
  662. package/dist/utils/nearest-reveal.js.map +1 -0
  663. package/dist/utils/placement.js +14 -0
  664. package/dist/utils/placement.js.map +1 -0
  665. package/dist/utils/radio-group-keys.js +74 -0
  666. package/dist/utils/radio-group-keys.js.map +1 -0
  667. package/dist/utils/rendered-description.js +17 -0
  668. package/dist/utils/rendered-description.js.map +1 -0
  669. package/dist/utils/root-props.d.ts +103 -0
  670. package/dist/utils/root-props.js +51 -0
  671. package/dist/utils/root-props.js.map +1 -0
  672. package/dist/utils/search.d.ts +11 -0
  673. package/dist/utils/search.js +18 -0
  674. package/dist/utils/search.js.map +1 -0
  675. package/dist/utils/shortcut.js +20 -0
  676. package/dist/utils/shortcut.js.map +1 -0
  677. package/dist/utils/split-data-attributes.d.ts +12 -0
  678. package/dist/utils/split-data-attributes.js +20 -0
  679. package/dist/utils/split-data-attributes.js.map +1 -0
  680. package/dist/utils/toolbar-keys.js +28 -0
  681. package/dist/utils/toolbar-keys.js.map +1 -0
  682. package/dist/utils/tv.d.ts +7 -0
  683. package/dist/utils/tv.js +9 -0
  684. package/dist/utils/tv.js.map +1 -0
  685. package/dist/utils/typeahead.js +64 -0
  686. package/dist/utils/typeahead.js.map +1 -0
  687. package/dist/utils/warn-once.js +30 -0
  688. package/dist/utils/warn-once.js.map +1 -0
  689. package/dist/vendor/material-color-utilities/blend/blend.js +88 -0
  690. package/dist/vendor/material-color-utilities/blend/blend.js.map +1 -0
  691. package/dist/vendor/material-color-utilities/contrast/contrast.js +131 -0
  692. package/dist/vendor/material-color-utilities/contrast/contrast.js.map +1 -0
  693. package/dist/vendor/material-color-utilities/dislike/dislike_analyzer.js +58 -0
  694. package/dist/vendor/material-color-utilities/dislike/dislike_analyzer.js.map +1 -0
  695. package/dist/vendor/material-color-utilities/dynamiccolor/color_spec_2021.js +620 -0
  696. package/dist/vendor/material-color-utilities/dynamiccolor/color_spec_2021.js.map +1 -0
  697. package/dist/vendor/material-color-utilities/dynamiccolor/color_spec_2025.js +786 -0
  698. package/dist/vendor/material-color-utilities/dynamiccolor/color_spec_2025.js.map +1 -0
  699. package/dist/vendor/material-color-utilities/dynamiccolor/contrast_curve.js +59 -0
  700. package/dist/vendor/material-color-utilities/dynamiccolor/contrast_curve.js.map +1 -0
  701. package/dist/vendor/material-color-utilities/dynamiccolor/dynamic_color.js +420 -0
  702. package/dist/vendor/material-color-utilities/dynamiccolor/dynamic_color.js.map +1 -0
  703. package/dist/vendor/material-color-utilities/dynamiccolor/dynamic_scheme.js +701 -0
  704. package/dist/vendor/material-color-utilities/dynamiccolor/dynamic_scheme.js.map +1 -0
  705. package/dist/vendor/material-color-utilities/dynamiccolor/material_dynamic_colors.js +374 -0
  706. package/dist/vendor/material-color-utilities/dynamiccolor/material_dynamic_colors.js.map +1 -0
  707. package/dist/vendor/material-color-utilities/dynamiccolor/tone_delta_pair.js +65 -0
  708. package/dist/vendor/material-color-utilities/dynamiccolor/tone_delta_pair.js.map +1 -0
  709. package/dist/vendor/material-color-utilities/dynamiccolor/variant.js +38 -0
  710. package/dist/vendor/material-color-utilities/dynamiccolor/variant.js.map +1 -0
  711. package/dist/vendor/material-color-utilities/hct/cam16.js +309 -0
  712. package/dist/vendor/material-color-utilities/hct/cam16.js.map +1 -0
  713. package/dist/vendor/material-color-utilities/hct/hct.js +148 -0
  714. package/dist/vendor/material-color-utilities/hct/hct.js.map +1 -0
  715. package/dist/vendor/material-color-utilities/hct/hct_solver.js +660 -0
  716. package/dist/vendor/material-color-utilities/hct/hct_solver.js.map +1 -0
  717. package/dist/vendor/material-color-utilities/hct/viewing_conditions.js +117 -0
  718. package/dist/vendor/material-color-utilities/hct/viewing_conditions.js.map +1 -0
  719. package/dist/vendor/material-color-utilities/index.js +51 -0
  720. package/dist/vendor/material-color-utilities/index.js.map +1 -0
  721. package/dist/vendor/material-color-utilities/palettes/core_palette.js +22 -0
  722. package/dist/vendor/material-color-utilities/palettes/core_palette.js.map +1 -0
  723. package/dist/vendor/material-color-utilities/palettes/tonal_palette.js +134 -0
  724. package/dist/vendor/material-color-utilities/palettes/tonal_palette.js.map +1 -0
  725. package/dist/vendor/material-color-utilities/scheme/scheme.js +21 -0
  726. package/dist/vendor/material-color-utilities/scheme/scheme.js.map +1 -0
  727. package/dist/vendor/material-color-utilities/scheme/scheme_android.js +21 -0
  728. package/dist/vendor/material-color-utilities/scheme/scheme_android.js.map +1 -0
  729. package/dist/vendor/material-color-utilities/scheme/scheme_content.js +22 -0
  730. package/dist/vendor/material-color-utilities/scheme/scheme_content.js.map +1 -0
  731. package/dist/vendor/material-color-utilities/scheme/scheme_expressive.js +38 -0
  732. package/dist/vendor/material-color-utilities/scheme/scheme_expressive.js.map +1 -0
  733. package/dist/vendor/material-color-utilities/scheme/scheme_fidelity.js +22 -0
  734. package/dist/vendor/material-color-utilities/scheme/scheme_fidelity.js.map +1 -0
  735. package/dist/vendor/material-color-utilities/scheme/scheme_fruit_salad.js +22 -0
  736. package/dist/vendor/material-color-utilities/scheme/scheme_fruit_salad.js.map +1 -0
  737. package/dist/vendor/material-color-utilities/scheme/scheme_monochrome.js +22 -0
  738. package/dist/vendor/material-color-utilities/scheme/scheme_monochrome.js.map +1 -0
  739. package/dist/vendor/material-color-utilities/scheme/scheme_neutral.js +36 -0
  740. package/dist/vendor/material-color-utilities/scheme/scheme_neutral.js.map +1 -0
  741. package/dist/vendor/material-color-utilities/scheme/scheme_rainbow.js +22 -0
  742. package/dist/vendor/material-color-utilities/scheme/scheme_rainbow.js.map +1 -0
  743. package/dist/vendor/material-color-utilities/scheme/scheme_tonal_spot.js +41 -0
  744. package/dist/vendor/material-color-utilities/scheme/scheme_tonal_spot.js.map +1 -0
  745. package/dist/vendor/material-color-utilities/scheme/scheme_vibrant.js +39 -0
  746. package/dist/vendor/material-color-utilities/scheme/scheme_vibrant.js.map +1 -0
  747. package/dist/vendor/material-color-utilities/score/score.js +115 -0
  748. package/dist/vendor/material-color-utilities/score/score.js.map +1 -0
  749. package/dist/vendor/material-color-utilities/temperature/temperature_cache.js +227 -0
  750. package/dist/vendor/material-color-utilities/temperature/temperature_cache.js.map +1 -0
  751. package/dist/vendor/material-color-utilities/utils/color_utils.js +246 -0
  752. package/dist/vendor/material-color-utilities/utils/color_utils.js.map +1 -0
  753. package/dist/vendor/material-color-utilities/utils/image_utils.js +21 -0
  754. package/dist/vendor/material-color-utilities/utils/image_utils.js.map +1 -0
  755. package/dist/vendor/material-color-utilities/utils/math_utils.js +119 -0
  756. package/dist/vendor/material-color-utilities/utils/math_utils.js.map +1 -0
  757. package/dist/vendor/material-color-utilities/utils/string_utils.js +74 -0
  758. package/dist/vendor/material-color-utilities/utils/string_utils.js.map +1 -0
  759. package/dist/vendor/material-color-utilities/utils/theme_utils.js +24 -0
  760. package/dist/vendor/material-color-utilities/utils/theme_utils.js.map +1 -0
  761. package/package.json +114 -3
@@ -0,0 +1,285 @@
1
+ import { CornerRounding } from "../../shapes/corner-rounding.js";
2
+ import { circle, star } from "../../shapes/shapes.js";
3
+ import { cubicsToPath, polygonToPath } from "../../shapes/path.js";
4
+ import { getMorph } from "../../primitives/morph-path.js";
5
+ const DEFAULT_STROKES = {
6
+ active: 4,
7
+ track: 4
8
+ };
9
+ /** Round caps reach half the thicker stroke past each end (Compose `currentStrokeCapWidth`). */
10
+ const capOf = (strokes) => Math.max(strokes.active, strokes.track) / 2;
11
+ const MIN_CIRCULAR_VERTICES = 5;
12
+ /**
13
+ * The box that holds the strokes. Thicker strokes grow it by the extra thickness, keeping the
14
+ * wave's room: Compose's thick samples use 8px strokes in a 14px linear and a 52px wavy
15
+ * circular indicator (the spec's "thicker variants").
16
+ */
17
+ const linearHeight = (wavy, strokes = DEFAULT_STROKES) => Math.max(strokes.active, strokes.track) + (wavy ? 6 : 0);
18
+ /**
19
+ * The circular box. An explicit `size` (clamped to the spec's range) is the diameter, whatever
20
+ * the strokes; as in Compose, only the ring and its wave grow, the strokes keep their width.
21
+ */
22
+ const circularSize = (wavy, strokes = DEFAULT_STROKES, size) => size === void 0 ? (wavy ? 48 : 40) + Math.max(strokes.active, strokes.track) - 4 : Math.min(Math.max(size, 24), 240);
23
+ /** The wave travels one wavelength per second (`waveSpeed = wavelength`). */
24
+ const WAVE_PERIOD_MS = 1e3;
25
+ /** CSS-style cubic-bézier easing, solved for x by Newton–Raphson with a bisection fallback. */
26
+ function cubicBezier(x1, y1, x2, y2) {
27
+ const bez = (a, b, t) => 3 * a * t * (1 - t) ** 2 + 3 * b * t * t * (1 - t) + t ** 3;
28
+ const slope = (a, b, t) => 3 * a * (1 - t) ** 2 + 6 * (b - a) * t * (1 - t) + 3 * (1 - b) * t * t;
29
+ return (x) => {
30
+ if (x <= 0) return 0;
31
+ if (x >= 1) return 1;
32
+ let t = x;
33
+ for (let i = 0; i < 8; i++) {
34
+ const d = slope(x1, x2, t);
35
+ if (Math.abs(d) < 1e-6) break;
36
+ t -= (bez(x1, x2, t) - x) / d;
37
+ }
38
+ if (t < 0 || t > 1 || Math.abs(bez(x1, x2, t) - x) > 1e-5) {
39
+ let lo = 0;
40
+ let hi = 1;
41
+ for (let i = 0; i < 40; i++) {
42
+ t = (lo + hi) / 2;
43
+ if (bez(x1, x2, t) < x) lo = t;
44
+ else hi = t;
45
+ }
46
+ }
47
+ return bez(y1, y2, t);
48
+ };
49
+ }
50
+ /** `EasingEmphasizedAccelerateCubicBezier`. */
51
+ const emphasizedAccelerate = cubicBezier(.3, 0, .8, .15);
52
+ /** `EasingStandardCubicBezier`. */
53
+ const standard = cubicBezier(.2, 0, 0, 1);
54
+ /** `EasingEmphasizedDecelerateCubicBezier`. */
55
+ const emphasizedDecelerate = cubicBezier(.05, .7, .1, 1);
56
+ /** `WavyProgressIndicatorDefaults.indicatorAmplitude`: no wave below 10% or above 95%. */
57
+ const amplitudeFor = (progress) => progress <= .1 || progress >= .95 ? 0 : 1;
58
+ /**
59
+ * Compose's indeterminate linear keyframes over a 1750ms cycle: each value eases from 0 to 1
60
+ * (emphasized accelerate) between its delay and delay + duration, then holds at 1.
61
+ * Returns [firstTail, firstHead, secondTail, secondHead] as fractions of the width.
62
+ */
63
+ function indeterminateLinearFractions(elapsedMs) {
64
+ const t = elapsedMs % 1750;
65
+ const at = (delay, duration) => emphasizedAccelerate(Math.min(Math.max((t - delay) / duration, 0), 1));
66
+ return [
67
+ at(250, 1e3),
68
+ at(0, 1e3),
69
+ at(900, 850),
70
+ at(650, 850)
71
+ ];
72
+ }
73
+ /** The indeterminate circular cycle (Compose `CircularAnimationProgressDuration`). */
74
+ const CIRCULAR_CYCLE_MS = 6e3;
75
+ const CIRCULAR_STEP_MS = 300;
76
+ const CIRCULAR_STEP_EVERY_MS = 1500;
77
+ const CIRCULAR_MIN_SWEEP = .1;
78
+ const CIRCULAR_MAX_SWEEP = .87;
79
+ /**
80
+ * Compose's indeterminate circular motion over a 6000ms cycle: a linear 1080° turn, plus a
81
+ * 90° step every 1500ms (300ms, emphasized decelerate), while the arc grows from 10% to 87%
82
+ * of the ring and shrinks back (3000ms each, standard easing). Compose attaches each easing
83
+ * to the keyframe after the move, so its steps run linear; the easings here are the ones its
84
+ * comments describe. `rotation` is in degrees clockwise from 12 o'clock; `sweep` is a fraction.
85
+ */
86
+ function indeterminateCircular(elapsedMs) {
87
+ const t = (elapsedMs % CIRCULAR_CYCLE_MS + CIRCULAR_CYCLE_MS) % CIRCULAR_CYCLE_MS;
88
+ const global = t / CIRCULAR_CYCLE_MS * 1080;
89
+ const step = Math.floor(t / CIRCULAR_STEP_EVERY_MS);
90
+ const within = t - step * CIRCULAR_STEP_EVERY_MS;
91
+ const additional = (step + emphasizedDecelerate(Math.min(within / CIRCULAR_STEP_MS, 1))) * 90;
92
+ const half = CIRCULAR_CYCLE_MS / 2;
93
+ const range = .77;
94
+ const sweep = t < half ? CIRCULAR_MIN_SWEEP + range * standard(t / half) : CIRCULAR_MAX_SWEEP - range * standard((t - half) / half);
95
+ return {
96
+ rotation: (global + additional) % 360,
97
+ sweep
98
+ };
99
+ }
100
+ const clampNum = (v, lo, hi) => Math.min(Math.max(v, lo), hi);
101
+ const fmt = (n) => String(Math.round(n * 100) / 100);
102
+ /**
103
+ * One wavy (or flat) stroke segment from x0 to x1. The wave is Compose's: quadratic
104
+ * half-waves with their control point halfway along, peaking at (height − stroke) / 2,
105
+ * scaled by `amplitude` about the centre line and shifted by `waveOffset` wavelengths.
106
+ */
107
+ function waveSegment(x0, x1, height, amplitude, wavelength, waveOffset, stroke = 4) {
108
+ const mid = height / 2;
109
+ if (amplitude === 0 || x1 <= x0) return `M${fmt(x0)} ${fmt(mid)}L${fmt(x1)} ${fmt(mid)}`;
110
+ const shift = waveOffset * wavelength;
111
+ const half = wavelength / 2;
112
+ const peak = (height - stroke) * amplitude;
113
+ const wave = (u) => {
114
+ const k = Math.floor(u / half);
115
+ const t = (u - k * half) / half;
116
+ const sign = k % 2 === 0 ? 1 : -1;
117
+ return {
118
+ y: mid + peak * 2 * t * (1 - t) * sign,
119
+ slope: peak * sign * 2 * (1 - 2 * t) / half
120
+ };
121
+ };
122
+ let d = `M${fmt(x0)} ${fmt(wave(x0 + shift).y)}`;
123
+ let u = x0 + shift;
124
+ const end = x1 + shift;
125
+ while (u < end - 1e-6) {
126
+ const next = Math.min((Math.floor(u / half + 1e-9) + 1) * half, end);
127
+ const { y, slope } = wave(u);
128
+ const cx = (u + next) / 2 - shift;
129
+ const cy = y + slope * (next - u) / 2;
130
+ d += `Q${fmt(cx)} ${fmt(cy)} ${fmt(next - shift)} ${fmt(wave(next).y)}`;
131
+ u = next;
132
+ }
133
+ return d;
134
+ }
135
+ /**
136
+ * Compose `LinearProgressDrawingCache.updateDrawPaths`: the active segments (tail/head
137
+ * pairs) and the track filling the gaps between them, inset for the round caps, with a 4px
138
+ * gap that shrinks while the progress is still entering.
139
+ */
140
+ function linearPaths(width, height, fractions, amplitude, waveOffset, wavelength, strokes = DEFAULT_STROKES) {
141
+ const cap = capOf(strokes);
142
+ const mid = height / 2;
143
+ const active = [];
144
+ let track = "";
145
+ let nextEnd = width - cap;
146
+ track += `M${fmt(nextEnd)} ${fmt(mid)}`;
147
+ let gap = 4;
148
+ let activeVisible = false;
149
+ for (let i = 0; i < fractions.length / 2; i++) {
150
+ const start = fractions[i * 2];
151
+ const end = fractions[i * 2 + 1];
152
+ const tail = start * width;
153
+ const head = end * width;
154
+ if (i === 0) {
155
+ gap = head < cap ? 0 : Math.min(head - cap, 4);
156
+ activeVisible = head >= cap;
157
+ }
158
+ const adjHead = clampNum(head, cap, width - cap);
159
+ const adjTail = clampNum(tail, cap, width - cap);
160
+ if (Math.abs(end - start) > 0 && head >= cap) active.push(waveSegment(adjTail, adjHead, height, amplitude, wavelength, waveOffset, strokes.active));
161
+ const spacing = activeVisible ? gap + cap * 2 : gap;
162
+ if (nextEnd > adjHead + spacing) track += `L${fmt(Math.max(cap, adjHead + spacing))} ${fmt(mid)}`;
163
+ if (head > tail) {
164
+ nextEnd = Math.max(cap, adjTail - spacing);
165
+ track += `M${fmt(nextEnd)} ${fmt(mid)}`;
166
+ }
167
+ }
168
+ if (nextEnd > cap) track += `L${fmt(cap)} ${fmt(mid)}`;
169
+ return {
170
+ active,
171
+ track
172
+ };
173
+ }
174
+ /**
175
+ * The stop indicator (Compose `drawStopIndicator`, wavy version): a dot at the track's end, at
176
+ * most 4px (inset by a quarter of a thicker track), that shrinks once the progress reaches it.
177
+ */
178
+ function stopIndicator(width, height, progress, strokes = DEFAULT_STROKES) {
179
+ let size = Math.min(strokes.track, 4);
180
+ let x = width - size - (size === strokes.track ? 0 : strokes.track / 4);
181
+ const progressX = width * progress + capOf(strokes);
182
+ if (x <= progressX) {
183
+ size = Math.max(0, size - (progressX - x));
184
+ x = progressX;
185
+ }
186
+ return size > 0 ? {
187
+ cx: x + size / 2,
188
+ cy: height / 2,
189
+ r: size / 2
190
+ } : null;
191
+ }
192
+ /**
193
+ * Flat circular indicator (Compose `CircularProgressIndicator`): the arc and the track as
194
+ * fractions of a circle starting at 12 o'clock, the gap being (4px + stroke) of circumference.
195
+ */
196
+ function circularFlatArcs(progress, size = 40, stroke = 4) {
197
+ const gap = (4 + stroke) / (Math.PI * size);
198
+ const g = Math.min(progress, gap);
199
+ return {
200
+ active: progress,
201
+ trackStart: progress + g,
202
+ trackLength: Math.max(0, 1 - progress - 2 * g)
203
+ };
204
+ }
205
+ /** A circle path from 12 o'clock, clockwise, for `pathLength="1"` dashes. */
206
+ function circlePath(size, stroke = 4) {
207
+ const r = (size - stroke) / 2;
208
+ const c = size / 2;
209
+ return `M${c} ${c - r}A${r} ${r} 0 1 1 ${c} ${c + r}A${r} ${r} 0 1 1 ${c} ${c - r}Z`;
210
+ }
211
+ const wavyShapes = /* @__PURE__ */ new Map();
212
+ /** Compose `CircularShapes`: a circle and a 0.75-inner-radius star with matched vertices. */
213
+ function circularWavyShapes(size = 48, wavelength = 15, stroke = 4) {
214
+ const r = size / 2 - stroke / 2;
215
+ const vertices = Math.max(MIN_CIRCULAR_VERTICES, Math.round(2 * Math.PI * r / wavelength));
216
+ let shapes = wavyShapes.get(vertices);
217
+ if (!shapes) {
218
+ shapes = {
219
+ track: circle({ numVertices: vertices }).normalized(),
220
+ active: star(vertices, {
221
+ innerRadius: .75,
222
+ rounding: new CornerRounding(.35, .4),
223
+ innerRounding: new CornerRounding(.5)
224
+ }).normalized()
225
+ };
226
+ wavyShapes.set(vertices, shapes);
227
+ }
228
+ return {
229
+ ...shapes,
230
+ vertices
231
+ };
232
+ }
233
+ /**
234
+ * Paths for the wavy circular indicator, scaled to (size − stroke) and centred, starting at
235
+ * 12 o'clock: the flat track circle and the active ring morphed from that circle towards
236
+ * the star by `amplitude`.
237
+ */
238
+ function circularWavyPaths(amplitude, size = 48, stroke = 4) {
239
+ const { track, active } = circularWavyShapes(size, 15, stroke);
240
+ const scale = size - stroke;
241
+ const offset = stroke / 2;
242
+ const place = {
243
+ scale,
244
+ translateX: offset,
245
+ translateY: offset,
246
+ startAngle: 270
247
+ };
248
+ const twice = {
249
+ ...place,
250
+ repeatPath: true,
251
+ closePath: false
252
+ };
253
+ const activePolygon = amplitude >= 1 ? active : amplitude <= 0 ? track : null;
254
+ const activePath = activePolygon ? polygonToPath(activePolygon, twice) : cubicsToPath(getMorph(track, active).asCubics(amplitude), {
255
+ ...twice,
256
+ rotationPivotX: .5,
257
+ rotationPivotY: .5
258
+ });
259
+ return {
260
+ track: polygonToPath(track, place),
261
+ active: activePath
262
+ };
263
+ }
264
+ /**
265
+ * Track spacing for the wavy circle (Compose `updateDrawPaths`): the gap plus both caps,
266
+ * shrinking while the progress is smaller, as fractions of the circumference.
267
+ */
268
+ function circularWavyTrack(progress, size = 48, strokes = DEFAULT_STROKES) {
269
+ const cap = capOf(strokes);
270
+ const length = Math.PI * (size - strokes.active);
271
+ const stop = progress * length;
272
+ const spacing = Math.min(stop, cap) * 2 + Math.min(stop, 4);
273
+ const start = (stop + spacing) / length;
274
+ const end = (length - spacing) / length;
275
+ return {
276
+ start,
277
+ length: Math.max(0, end - start)
278
+ };
279
+ }
280
+ /** One revolution of the circular wave takes a second per vertex (Compose). */
281
+ const circularWavePeriod = (vertices) => WAVE_PERIOD_MS * vertices;
282
+ //#endregion
283
+ export { CIRCULAR_CYCLE_MS, DEFAULT_STROKES, WAVE_PERIOD_MS, amplitudeFor, circlePath, circularFlatArcs, circularSize, circularWavePeriod, circularWavyPaths, circularWavyShapes, circularWavyTrack, cubicBezier, emphasizedAccelerate, emphasizedDecelerate, indeterminateCircular, indeterminateLinearFractions, linearHeight, linearPaths, standard, stopIndicator, waveSegment };
284
+
285
+ //# sourceMappingURL=progress-geometry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-geometry.js","names":[],"sources":["../../../src/components/progress/progress-geometry.ts"],"sourcesContent":["import { getMorph } from '../../primitives/morph-path';\nimport { CornerRounding } from '../../shapes/corner-rounding';\nimport { cubicsToPath, polygonToPath } from '../../shapes/path';\nimport type { RoundedPolygon } from '../../shapes/rounded-polygon';\nimport { circle, star } from '../../shapes/shapes';\n\n/*\n * Geometry and timing of Compose's progress indicators (ProgressIndicator.kt,\n * WavyProgressIndicator.kt, Linear/CircularWavyProgressModifiers.kt and the\n * Linear/CircularProgressIndicator tokens), as pure functions of the inputs.\n */\n\n/** The default thickness of the active indicator and the track (`ActiveThickness`, `TrackThickness`). */\nexport const STROKE = 4;\nexport const GAP = 4;\nexport const STOP = 4;\n\n/** Stroke widths of the active indicator and the track, in px. */\nexport interface Strokes {\n active: number;\n track: number;\n}\n\nexport const DEFAULT_STROKES: Strokes = { active: STROKE, track: STROKE };\n\n/** Round caps reach half the thicker stroke past each end (Compose `currentStrokeCapWidth`). */\nconst capOf = (strokes: Strokes) => Math.max(strokes.active, strokes.track) / 2;\n\nexport const LINEAR_WIDTH = 240;\nexport const LINEAR_FLAT_HEIGHT = 4;\nexport const LINEAR_WAVE_HEIGHT = 10;\n/** `ActiveWaveAmplitude`: the wave's peak either side of the centre line. */\nexport const LINEAR_AMPLITUDE = 3;\nexport const LINEAR_WAVELENGTH = 40;\nexport const LINEAR_INDETERMINATE_WAVELENGTH = 20;\n\nexport const CIRCULAR_FLAT_SIZE = 40;\nexport const CIRCULAR_WAVE_SIZE = 48;\nexport const CIRCULAR_WAVELENGTH = 15;\nconst MIN_CIRCULAR_VERTICES = 5;\n\n/**\n * The box that holds the strokes. Thicker strokes grow it by the extra thickness, keeping the\n * wave's room: Compose's thick samples use 8px strokes in a 14px linear and a 52px wavy\n * circular indicator (the spec's \"thicker variants\").\n */\nexport const linearHeight = (wavy: boolean, strokes: Strokes = DEFAULT_STROKES) =>\n Math.max(strokes.active, strokes.track) + (wavy ? LINEAR_AMPLITUDE * 2 : 0);\n\n/** The spec's range for a circular indicator: \"can range from 24dp to 240dp\". */\nexport const CIRCULAR_MIN_SIZE = 24;\nexport const CIRCULAR_MAX_SIZE = 240;\n\n/**\n * The circular box. An explicit `size` (clamped to the spec's range) is the diameter, whatever\n * the strokes; as in Compose, only the ring and its wave grow, the strokes keep their width.\n */\nexport const circularSize = (wavy: boolean, strokes: Strokes = DEFAULT_STROKES, size?: number) =>\n size === undefined\n ? (wavy ? CIRCULAR_WAVE_SIZE : CIRCULAR_FLAT_SIZE) +\n Math.max(strokes.active, strokes.track) -\n STROKE\n : Math.min(Math.max(size, CIRCULAR_MIN_SIZE), CIRCULAR_MAX_SIZE);\n\n/** The wave travels one wavelength per second (`waveSpeed = wavelength`). */\nexport const WAVE_PERIOD_MS = 1000;\n/** Amplitude changes take `DurationLong2` (500ms). */\nexport const AMPLITUDE_DURATION_MS = 500;\n\n/** CSS-style cubic-bézier easing, solved for x by Newton–Raphson with a bisection fallback. */\nexport function cubicBezier(x1: number, y1: number, x2: number, y2: number) {\n const bez = (a: number, b: number, t: number) =>\n 3 * a * t * (1 - t) ** 2 + 3 * b * t * t * (1 - t) + t ** 3;\n const slope = (a: number, b: number, t: number) =>\n 3 * a * (1 - t) ** 2 + 6 * (b - a) * t * (1 - t) + 3 * (1 - b) * t * t;\n return (x: number) => {\n if (x <= 0) return 0;\n if (x >= 1) return 1;\n let t = x;\n for (let i = 0; i < 8; i++) {\n const d = slope(x1, x2, t);\n if (Math.abs(d) < 1e-6) break;\n t -= (bez(x1, x2, t) - x) / d;\n }\n if (t < 0 || t > 1 || Math.abs(bez(x1, x2, t) - x) > 1e-5) {\n let lo = 0;\n let hi = 1;\n for (let i = 0; i < 40; i++) {\n t = (lo + hi) / 2;\n if (bez(x1, x2, t) < x) lo = t;\n else hi = t;\n }\n }\n return bez(y1, y2, t);\n };\n}\n\n/** `EasingEmphasizedAccelerateCubicBezier`. */\nexport const emphasizedAccelerate = cubicBezier(0.3, 0, 0.8, 0.15);\n/** `EasingStandardCubicBezier`. */\nexport const standard = cubicBezier(0.2, 0, 0, 1);\n/** `EasingEmphasizedDecelerateCubicBezier`. */\nexport const emphasizedDecelerate = cubicBezier(0.05, 0.7, 0.1, 1);\n\n/** `WavyProgressIndicatorDefaults.indicatorAmplitude`: no wave below 10% or above 95%. */\nexport const amplitudeFor = (progress: number) => (progress <= 0.1 || progress >= 0.95 ? 0 : 1);\n\n/**\n * Compose's indeterminate linear keyframes over a 1750ms cycle: each value eases from 0 to 1\n * (emphasized accelerate) between its delay and delay + duration, then holds at 1.\n * Returns [firstTail, firstHead, secondTail, secondHead] as fractions of the width.\n */\nexport function indeterminateLinearFractions(elapsedMs: number): number[] {\n const t = elapsedMs % 1750;\n const at = (delay: number, duration: number) =>\n emphasizedAccelerate(Math.min(Math.max((t - delay) / duration, 0), 1));\n return [at(250, 1000), at(0, 1000), at(900, 850), at(650, 850)];\n}\n\n/** The indeterminate circular cycle (Compose `CircularAnimationProgressDuration`). */\nexport const CIRCULAR_CYCLE_MS = 6000;\nconst CIRCULAR_STEP_MS = 300;\nconst CIRCULAR_STEP_EVERY_MS = 1500;\nconst CIRCULAR_MIN_SWEEP = 0.1;\nconst CIRCULAR_MAX_SWEEP = 0.87;\n\n/**\n * Compose's indeterminate circular motion over a 6000ms cycle: a linear 1080° turn, plus a\n * 90° step every 1500ms (300ms, emphasized decelerate), while the arc grows from 10% to 87%\n * of the ring and shrinks back (3000ms each, standard easing). Compose attaches each easing\n * to the keyframe after the move, so its steps run linear; the easings here are the ones its\n * comments describe. `rotation` is in degrees clockwise from 12 o'clock; `sweep` is a fraction.\n */\nexport function indeterminateCircular(elapsedMs: number): { rotation: number; sweep: number } {\n const t = ((elapsedMs % CIRCULAR_CYCLE_MS) + CIRCULAR_CYCLE_MS) % CIRCULAR_CYCLE_MS;\n const global = (t / CIRCULAR_CYCLE_MS) * 1080;\n const step = Math.floor(t / CIRCULAR_STEP_EVERY_MS);\n const within = t - step * CIRCULAR_STEP_EVERY_MS;\n const additional = (step + emphasizedDecelerate(Math.min(within / CIRCULAR_STEP_MS, 1))) * 90;\n const half = CIRCULAR_CYCLE_MS / 2;\n const range = CIRCULAR_MAX_SWEEP - CIRCULAR_MIN_SWEEP;\n const sweep =\n t < half\n ? CIRCULAR_MIN_SWEEP + range * standard(t / half)\n : CIRCULAR_MAX_SWEEP - range * standard((t - half) / half);\n return { rotation: (global + additional) % 360, sweep };\n}\n\nconst clampNum = (v: number, lo: number, hi: number) => Math.min(Math.max(v, lo), hi);\nconst fmt = (n: number) => String(Math.round(n * 100) / 100);\n\n/**\n * One wavy (or flat) stroke segment from x0 to x1. The wave is Compose's: quadratic\n * half-waves with their control point halfway along, peaking at (height − stroke) / 2,\n * scaled by `amplitude` about the centre line and shifted by `waveOffset` wavelengths.\n */\nexport function waveSegment(\n x0: number,\n x1: number,\n height: number,\n amplitude: number,\n wavelength: number,\n waveOffset: number,\n stroke = STROKE,\n): string {\n const mid = height / 2;\n if (amplitude === 0 || x1 <= x0) return `M${fmt(x0)} ${fmt(mid)}L${fmt(x1)} ${fmt(mid)}`;\n const shift = waveOffset * wavelength;\n const half = wavelength / 2;\n const peak = (height - stroke) * amplitude;\n const wave = (u: number) => {\n const k = Math.floor(u / half);\n const t = (u - k * half) / half;\n const sign = k % 2 === 0 ? 1 : -1;\n return {\n y: mid + peak * 2 * t * (1 - t) * sign,\n slope: (peak * sign * 2 * (1 - 2 * t)) / half,\n };\n };\n let d = `M${fmt(x0)} ${fmt(wave(x0 + shift).y)}`;\n let u = x0 + shift;\n const end = x1 + shift;\n while (u < end - 1e-6) {\n const next = Math.min((Math.floor(u / half + 1e-9) + 1) * half, end);\n const { y, slope } = wave(u);\n // Each half-wave is a parabola, so its restriction to [u, next] is exactly this quadratic.\n const cx = (u + next) / 2 - shift;\n const cy = y + (slope * (next - u)) / 2;\n d += `Q${fmt(cx)} ${fmt(cy)} ${fmt(next - shift)} ${fmt(wave(next).y)}`;\n u = next;\n }\n return d;\n}\n\nexport interface LinearPaths {\n active: string[];\n track: string;\n}\n\n/**\n * Compose `LinearProgressDrawingCache.updateDrawPaths`: the active segments (tail/head\n * pairs) and the track filling the gaps between them, inset for the round caps, with a 4px\n * gap that shrinks while the progress is still entering.\n */\nexport function linearPaths(\n width: number,\n height: number,\n fractions: readonly number[],\n amplitude: number,\n waveOffset: number,\n wavelength: number,\n strokes: Strokes = DEFAULT_STROKES,\n): LinearPaths {\n const cap = capOf(strokes);\n const mid = height / 2;\n const active: string[] = [];\n let track = '';\n let nextEnd = width - cap;\n track += `M${fmt(nextEnd)} ${fmt(mid)}`;\n let gap = GAP;\n let activeVisible = false;\n for (let i = 0; i < fractions.length / 2; i++) {\n const start = fractions[i * 2]!;\n const end = fractions[i * 2 + 1]!;\n const tail = start * width;\n const head = end * width;\n if (i === 0) {\n gap = head < cap ? 0 : Math.min(head - cap, GAP);\n activeVisible = head >= cap;\n }\n const adjHead = clampNum(head, cap, width - cap);\n const adjTail = clampNum(tail, cap, width - cap);\n if (Math.abs(end - start) > 0 && head >= cap) {\n active.push(\n waveSegment(adjTail, adjHead, height, amplitude, wavelength, waveOffset, strokes.active),\n );\n }\n const spacing = activeVisible ? gap + cap * 2 : gap;\n if (nextEnd > adjHead + spacing) {\n track += `L${fmt(Math.max(cap, adjHead + spacing))} ${fmt(mid)}`;\n }\n if (head > tail) {\n nextEnd = Math.max(cap, adjTail - spacing);\n track += `M${fmt(nextEnd)} ${fmt(mid)}`;\n }\n }\n if (nextEnd > cap) track += `L${fmt(cap)} ${fmt(mid)}`;\n return { active, track };\n}\n\n/**\n * The stop indicator (Compose `drawStopIndicator`, wavy version): a dot at the track's end, at\n * most 4px (inset by a quarter of a thicker track), that shrinks once the progress reaches it.\n */\nexport function stopIndicator(\n width: number,\n height: number,\n progress: number,\n strokes: Strokes = DEFAULT_STROKES,\n) {\n let size = Math.min(strokes.track, STOP);\n let x = width - size - (size === strokes.track ? 0 : strokes.track / 4);\n const progressX = width * progress + capOf(strokes);\n if (x <= progressX) {\n size = Math.max(0, size - (progressX - x));\n x = progressX;\n }\n return size > 0 ? { cx: x + size / 2, cy: height / 2, r: size / 2 } : null;\n}\n\n/* --------------------------------------------------------------------- Circular */\n\n/**\n * Flat circular indicator (Compose `CircularProgressIndicator`): the arc and the track as\n * fractions of a circle starting at 12 o'clock, the gap being (4px + stroke) of circumference.\n */\nexport function circularFlatArcs(progress: number, size = CIRCULAR_FLAT_SIZE, stroke = STROKE) {\n const gap = (GAP + stroke) / (Math.PI * size);\n const g = Math.min(progress, gap);\n return {\n active: progress,\n trackStart: progress + g,\n trackLength: Math.max(0, 1 - progress - 2 * g),\n };\n}\n\n/** A circle path from 12 o'clock, clockwise, for `pathLength=\"1\"` dashes. */\nexport function circlePath(size: number, stroke = STROKE) {\n const r = (size - stroke) / 2;\n const c = size / 2;\n return `M${c} ${c - r}A${r} ${r} 0 1 1 ${c} ${c + r}A${r} ${r} 0 1 1 ${c} ${c - r}Z`;\n}\n\nconst wavyShapes = new Map<number, { track: RoundedPolygon; active: RoundedPolygon }>();\n\n/** Compose `CircularShapes`: a circle and a 0.75-inner-radius star with matched vertices. */\nexport function circularWavyShapes(\n size = CIRCULAR_WAVE_SIZE,\n wavelength = CIRCULAR_WAVELENGTH,\n stroke = STROKE,\n) {\n const r = size / 2 - stroke / 2;\n const vertices = Math.max(MIN_CIRCULAR_VERTICES, Math.round((2 * Math.PI * r) / wavelength));\n let shapes = wavyShapes.get(vertices);\n if (!shapes) {\n shapes = {\n track: circle({ numVertices: vertices }).normalized(),\n active: star(vertices, {\n innerRadius: 0.75,\n rounding: new CornerRounding(0.35, 0.4),\n innerRounding: new CornerRounding(0.5),\n }).normalized(),\n };\n wavyShapes.set(vertices, shapes);\n }\n return { ...shapes, vertices };\n}\n\n/**\n * Paths for the wavy circular indicator, scaled to (size − stroke) and centred, starting at\n * 12 o'clock: the flat track circle and the active ring morphed from that circle towards\n * the star by `amplitude`.\n */\nexport function circularWavyPaths(amplitude: number, size = CIRCULAR_WAVE_SIZE, stroke = STROKE) {\n const { track, active } = circularWavyShapes(size, CIRCULAR_WAVELENGTH, stroke);\n const scale = size - stroke;\n const offset = stroke / 2;\n const place = { scale, translateX: offset, translateY: offset, startAngle: 270 };\n // The active ring is drawn twice (Compose's `repeatPath`), so a dash shifted along it by\n // the wave offset never runs off the end; give it `pathLength=\"2\"`.\n const twice = { ...place, repeatPath: true, closePath: false };\n const activePolygon: RoundedPolygon | null =\n amplitude >= 1 ? active : amplitude <= 0 ? track : null;\n const activePath = activePolygon\n ? polygonToPath(activePolygon, twice)\n : cubicsToPath(getMorph(track, active).asCubics(amplitude), {\n ...twice,\n rotationPivotX: 0.5,\n rotationPivotY: 0.5,\n });\n return { track: polygonToPath(track, place), active: activePath };\n}\n\n/**\n * Track spacing for the wavy circle (Compose `updateDrawPaths`): the gap plus both caps,\n * shrinking while the progress is smaller, as fractions of the circumference.\n */\nexport function circularWavyTrack(\n progress: number,\n size = CIRCULAR_WAVE_SIZE,\n strokes: Strokes = DEFAULT_STROKES,\n) {\n const cap = capOf(strokes);\n const length = Math.PI * (size - strokes.active);\n const stop = progress * length;\n const spacing = Math.min(stop, cap) * 2 + Math.min(stop, GAP);\n const start = (stop + spacing) / length;\n const end = (length - spacing) / length;\n return { start, length: Math.max(0, end - start) };\n}\n\n/** One revolution of the circular wave takes a second per vertex (Compose). */\nexport const circularWavePeriod = (vertices: number) => WAVE_PERIOD_MS * vertices;\n"],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { VariantProps } from "../../utils/tv.js";
2
+ //#region src/components/progress/progress-styles.d.ts
3
+ /** Variant definitions for {@link LinearProgressIndicator}; extend them to add variants. */
4
+ export declare const linearProgressStyles: import("tailwind-variants").TVReturnType<{
5
+ wavy: {
6
+ true: {};
7
+ false: {};
8
+ };
9
+ }, {
10
+ root: string;
11
+ svg: string;
12
+ track: string[];
13
+ indicator: string[];
14
+ stop: string;
15
+ }, undefined, {
16
+ wavy: {
17
+ true: {};
18
+ false: {};
19
+ };
20
+ }, {
21
+ root: string;
22
+ svg: string;
23
+ track: string[];
24
+ indicator: string[];
25
+ stop: string;
26
+ }, import("tailwind-variants").TVReturnTypeLike<{
27
+ wavy: {
28
+ true: {};
29
+ false: {};
30
+ };
31
+ }, {
32
+ root: string;
33
+ svg: string;
34
+ track: string[];
35
+ indicator: string[];
36
+ stop: string;
37
+ }>>;
38
+ /** Variant definitions for {@link CircularProgressIndicator}; extend them to add variants. */
39
+ export declare const circularProgressStyles: import("tailwind-variants").TVReturnType<{
40
+ wavy: {
41
+ true: {};
42
+ false: {};
43
+ };
44
+ }, {
45
+ root: string;
46
+ svg: string;
47
+ track: string[];
48
+ indicator: string[];
49
+ }, undefined, {
50
+ wavy: {
51
+ true: {};
52
+ false: {};
53
+ };
54
+ }, {
55
+ root: string;
56
+ svg: string;
57
+ track: string[];
58
+ indicator: string[];
59
+ }, import("tailwind-variants").TVReturnTypeLike<{
60
+ wavy: {
61
+ true: {};
62
+ false: {};
63
+ };
64
+ }, {
65
+ root: string;
66
+ svg: string;
67
+ track: string[];
68
+ indicator: string[];
69
+ }>>;
70
+ /**
71
+ * The variants of {@link linearProgressStyles}, for building on its styles. They are the recipe's keys, not
72
+ * component props: their names (`hasIcon`, `isOpen`…) follow the classes and may change.
73
+ */
74
+ export type LinearProgressStyleProps = VariantProps<typeof linearProgressStyles>;
75
+ /**
76
+ * The variants of {@link circularProgressStyles}, for building on its styles. They are the recipe's keys, not
77
+ * component props: their names (`hasIcon`, `isOpen`…) follow the classes and may change.
78
+ */
79
+ export type CircularProgressStyleProps = VariantProps<typeof circularProgressStyles>;
80
+ //#endregion
81
+ //# sourceMappingURL=progress-styles.d.ts.map
@@ -0,0 +1,43 @@
1
+ import { tv } from "../../utils/tv.js";
2
+ //#region src/components/progress/progress-styles.ts
3
+ /** Variant definitions for {@link LinearProgressIndicator}; extend them to add variants. */
4
+ const linearProgressStyles = tv({
5
+ slots: {
6
+ root: "block h-(--m3-progress-height) w-[240px] max-w-full shrink-0",
7
+ svg: "block size-full overflow-visible rtl:-scale-x-100",
8
+ track: ["fill-none stroke-[var(--_md-comp-progress-indicator-track-color)] [stroke-linecap:round]", "forced-colors:stroke-[GrayText]"],
9
+ indicator: [
10
+ "fill-none stroke-[var(--_md-comp-progress-indicator-active-indicator-color)]",
11
+ "forced-colors:stroke-[CanvasText]",
12
+ "[stroke-linecap:round] [stroke-linejoin:round]"
13
+ ],
14
+ stop: "fill-[var(--_md-comp-progress-indicator-stop-indicator-color)] forced-colors:fill-[CanvasText]"
15
+ },
16
+ variants: { wavy: {
17
+ true: {},
18
+ false: {}
19
+ } },
20
+ defaultVariants: { wavy: false }
21
+ });
22
+ /** Variant definitions for {@link CircularProgressIndicator}; extend them to add variants. */
23
+ const circularProgressStyles = tv({
24
+ slots: {
25
+ root: "inline-block size-(--m3-progress-size) shrink-0",
26
+ svg: "block size-full overflow-visible",
27
+ track: ["fill-none stroke-[var(--_md-comp-progress-indicator-track-color)] [stroke-linecap:round]", "forced-colors:stroke-[GrayText]"],
28
+ indicator: [
29
+ "fill-none stroke-[var(--_md-comp-progress-indicator-active-indicator-color)]",
30
+ "forced-colors:stroke-[CanvasText]",
31
+ "[stroke-linecap:round] [stroke-linejoin:round]"
32
+ ]
33
+ },
34
+ variants: { wavy: {
35
+ true: {},
36
+ false: {}
37
+ } },
38
+ defaultVariants: { wavy: false }
39
+ });
40
+ //#endregion
41
+ export { circularProgressStyles, linearProgressStyles };
42
+
43
+ //# sourceMappingURL=progress-styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-styles.js","names":[],"sources":["../../../src/components/progress/progress-styles.ts"],"sourcesContent":["import { tv, type VariantProps } from '../../utils/tv';\n\n/*\n * Values follow Compose Material 3 (ProgressIndicator.kt, WavyProgressIndicator.kt and the\n * ProgressIndicator / Linear / Circular tokens): `primary` active indicator and stop dot on\n * a `secondary-container` track, round strokes and a 4px gap. The stroke widths come from the\n * `thickness` props (4px by default) as SVG attributes, and the box from them: the linear\n * height and circular size are the `--m3-progress-height` / `--m3-progress-size` variables\n * the component sets (linear 4px, 10px wavy; circular 40px, 48px wavy, at 4px). Only the\n * linear indicator mirrors in RTL; the spec keeps circular indicators clockwise.\n *\n * The colours come from the component tokens (`progress-tokens.ts`,\n * `--md-comp-progress-indicator-*`); each root carries\n * `data-tokens=\"md-comp-progress-indicator\"`, and the parts read one private variable each. A\n * consumer class (`stroke-current`) still wins.\n *\n * Forced colours (2026-10-15): browsers don't force SVG strokes, so they kept the theme's\n * colours (a 1.2:1 track on a white high-contrast canvas). There the indicator and stop dot\n * are `CanvasText` and the track `GrayText`.\n * Every class is written out in full so Tailwind can find it.\n */\n\n/** Variant definitions for {@link LinearProgressIndicator}; extend them to add variants. */\nexport const linearProgressStyles = tv({\n slots: {\n root: 'block h-(--m3-progress-height) w-[240px] max-w-full shrink-0',\n svg: 'block size-full overflow-visible rtl:-scale-x-100',\n track: [\n 'fill-none stroke-[var(--_md-comp-progress-indicator-track-color)] [stroke-linecap:round]',\n 'forced-colors:stroke-[GrayText]',\n ],\n indicator: [\n 'fill-none stroke-[var(--_md-comp-progress-indicator-active-indicator-color)]',\n 'forced-colors:stroke-[CanvasText]',\n '[stroke-linecap:round] [stroke-linejoin:round]',\n ],\n stop: 'fill-[var(--_md-comp-progress-indicator-stop-indicator-color)] forced-colors:fill-[CanvasText]',\n },\n variants: {\n wavy: { true: {}, false: {} },\n },\n defaultVariants: { wavy: false },\n});\n\n/** Variant definitions for {@link CircularProgressIndicator}; extend them to add variants. */\nexport const circularProgressStyles = tv({\n slots: {\n root: 'inline-block size-(--m3-progress-size) shrink-0',\n svg: 'block size-full overflow-visible',\n track: [\n 'fill-none stroke-[var(--_md-comp-progress-indicator-track-color)] [stroke-linecap:round]',\n 'forced-colors:stroke-[GrayText]',\n ],\n indicator: [\n 'fill-none stroke-[var(--_md-comp-progress-indicator-active-indicator-color)]',\n 'forced-colors:stroke-[CanvasText]',\n '[stroke-linecap:round] [stroke-linejoin:round]',\n ],\n },\n variants: {\n wavy: { true: {}, false: {} },\n },\n defaultVariants: { wavy: false },\n});\n\n/**\n * The variants of {@link linearProgressStyles}, for building on its styles. They are the recipe's keys, not\n * component props: their names (`hasIcon`, `isOpen`…) follow the classes and may change.\n */\nexport type LinearProgressStyleProps = VariantProps<typeof linearProgressStyles>;\n/**\n * The variants of {@link circularProgressStyles}, for building on its styles. They are the recipe's keys, not\n * component props: their names (`hasIcon`, `isOpen`…) follow the classes and may change.\n */\nexport type CircularProgressStyleProps = VariantProps<typeof circularProgressStyles>;\n"],"mappings":";;;AAuBA,MAAa,uBAAuB,GAAG;CACrC,OAAO;EACL,MAAM;EACN,KAAK;EACL,OAAO,CACL,4FACA,iCACF;EACA,WAAW;GACT;GACA;GACA;EACF;EACA,MAAM;CACR;CACA,UAAU,EACR,MAAM;EAAE,MAAM,CAAC;EAAG,OAAO,CAAC;CAAE,EAC9B;CACA,iBAAiB,EAAE,MAAM,MAAM;AACjC,CAAC;;AAGD,MAAa,yBAAyB,GAAG;CACvC,OAAO;EACL,MAAM;EACN,KAAK;EACL,OAAO,CACL,4FACA,iCACF;EACA,WAAW;GACT;GACA;GACA;EACF;CACF;CACA,UAAU,EACR,MAAM;EAAE,MAAM,CAAC;EAAG,OAAO,CAAC;CAAE,EAC9B;CACA,iBAAiB,EAAE,MAAM,MAAM;AACjC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ComponentTokenSet } from "../../tokens/component.js";
2
+ import "../../index.js";
3
+ //#region src/components/progress/progress-tokens.d.ts
4
+ /** The tokens of the progress indicators: `--md-comp-progress-indicator-<part>`. */
5
+ export declare const progressIndicatorTokenSet: ComponentTokenSet<"active-indicator-color" | "track-color" | "stop-indicator-color">;
6
+ //#endregion
7
+ //# sourceMappingURL=progress-tokens.d.ts.map
@@ -0,0 +1,39 @@
1
+ import { color, defineComponentTokens } from "../../tokens/component.js";
2
+ //#region src/components/progress/progress-tokens.ts
3
+ /** The tokens of the progress indicators: `--md-comp-progress-indicator-<part>`. */
4
+ const progressIndicatorTokenSet = defineComponentTokens({
5
+ name: "md-comp-progress-indicator",
6
+ tokens: {
7
+ "active-indicator-color": {
8
+ value: color("primary"),
9
+ description: "The active indicator: the line or arc that shows progress.",
10
+ compose: "ProgressIndicatorTokens.ActiveIndicatorColor",
11
+ paints: {
12
+ property: "stroke",
13
+ slot: "indicator"
14
+ }
15
+ },
16
+ "track-color": {
17
+ value: color("secondary-container"),
18
+ description: "The track behind the active indicator.",
19
+ compose: "ProgressIndicatorTokens.TrackColor",
20
+ paints: {
21
+ property: "stroke",
22
+ slot: "track"
23
+ }
24
+ },
25
+ "stop-indicator-color": {
26
+ value: color("primary"),
27
+ description: "The stop dot at the end of a determinate linear indicator's track.",
28
+ compose: "ProgressIndicatorTokens.StopIndicatorColor",
29
+ paints: {
30
+ property: "fill",
31
+ slot: "stop"
32
+ }
33
+ }
34
+ }
35
+ });
36
+ //#endregion
37
+ export { progressIndicatorTokenSet };
38
+
39
+ //# sourceMappingURL=progress-tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-tokens.js","names":[],"sources":["../../../src/components/progress/progress-tokens.ts"],"sourcesContent":["import { color, defineComponentTokens } from '../../tokens/component';\n\n/*\n * The progress indicators' component tokens, M3's `md.comp.progress-indicator.*` names\n * (checked against m3.material.io's token tables, 2026-10-14), with Compose's\n * ProgressIndicatorTokens defaults. Linear and circular indicators share them (each root\n * carries `data-tokens=\"md-comp-progress-indicator\"`); `progress-styles.ts` reads one\n * private variable per part. Thickness, the gap and the wave stay props and classes.\n */\n\n/** The tokens of the progress indicators: `--md-comp-progress-indicator-<part>`. */\nexport const progressIndicatorTokenSet = defineComponentTokens({\n name: 'md-comp-progress-indicator',\n tokens: {\n 'active-indicator-color': {\n value: color('primary'),\n description: 'The active indicator: the line or arc that shows progress.',\n compose: 'ProgressIndicatorTokens.ActiveIndicatorColor',\n paints: { property: 'stroke', slot: 'indicator' },\n },\n 'track-color': {\n value: color('secondary-container'),\n description: 'The track behind the active indicator.',\n compose: 'ProgressIndicatorTokens.TrackColor',\n paints: { property: 'stroke', slot: 'track' },\n },\n 'stop-indicator-color': {\n value: color('primary'),\n description: \"The stop dot at the end of a determinate linear indicator's track.\",\n compose: 'ProgressIndicatorTokens.StopIndicatorColor',\n paints: { property: 'fill', slot: 'stop' },\n },\n },\n});\n"],"mappings":";;;AAWA,MAAa,4BAA4B,sBAAsB;CAC7D,MAAM;CACN,QAAQ;EACN,0BAA0B;GACxB,OAAO,MAAM,SAAS;GACtB,aAAa;GACb,SAAS;GACT,QAAQ;IAAE,UAAU;IAAU,MAAM;GAAY;EAClD;EACA,eAAe;GACb,OAAO,MAAM,qBAAqB;GAClC,aAAa;GACb,SAAS;GACT,QAAQ;IAAE,UAAU;IAAU,MAAM;GAAQ;EAC9C;EACA,wBAAwB;GACtB,OAAO,MAAM,SAAS;GACtB,aAAa;GACb,SAAS;GACT,QAAQ;IAAE,UAAU;IAAQ,MAAM;GAAO;EAC3C;CACF;AACF,CAAC"}
@@ -0,0 +1,94 @@
1
+ import { ComponentPropsWithRef, ReactNode } from "react";
2
+ //#region src/components/pull-to-refresh/PullToRefresh.d.ts
3
+ export interface PullToRefreshClassNames {
4
+ /** The outer element, around the content. */
5
+ root?: string;
6
+ /**
7
+ * The zero-height sticky layer the indicator hangs from, at the top of the area. Give it a
8
+ * `top-*` class when a sticky app bar covers the top of a scrolling page. Its margins are
9
+ * the library's, so a flex root's `gap-*` or a block root's `space-y-*` never moves the
10
+ * content. In a grid root it is a grid item, so one row gap opens above the content.
11
+ */
12
+ layer?: string;
13
+ /** The 48px circle holding the loading indicator. */
14
+ indicator?: string;
15
+ }
16
+ /** Words the pull to refresh announces. */
17
+ export interface PullToRefreshLabels {
18
+ /** The indicator's name while it follows a pull. @default "Pull to refresh" */
19
+ pull: string;
20
+ /**
21
+ * The indicator's name while refreshing, also announced when a refresh starts.
22
+ * @default "Refreshing"
23
+ */
24
+ refreshing: string;
25
+ /** Announced when a refresh completes. @default "Refreshed" */
26
+ refreshed: string;
27
+ }
28
+ interface PullToRefreshOwnProps {
29
+ /**
30
+ * Whether a refresh is running. While it is, the indicator rests at the threshold as an
31
+ * indeterminate loading indicator; when it turns `false` the indicator leaves. Set it `true`
32
+ * from a refresh button too, and the indicator comes in the same way. Leave it out to let a
33
+ * promise returned by `onRefresh` drive it.
34
+ */
35
+ refreshing?: boolean;
36
+ /**
37
+ * Called when a pull is released past the threshold. Start the refresh and set
38
+ * `refreshing`, or return a promise: without `refreshing`, the indicator stays until it
39
+ * settles.
40
+ */
41
+ onRefresh: () => void | Promise<unknown>;
42
+ /** How far the indicator travels before a release refreshes, px. @default 80 */
43
+ threshold?: number;
44
+ /** Turns the gesture off. A running refresh still shows its indicator. @default false */
45
+ disabled?: boolean;
46
+ /**
47
+ * Words the pull to refresh announces, with English defaults; name them for what refreshes
48
+ * ("Refreshing messages").
49
+ */
50
+ labels?: Partial<PullToRefreshLabels>;
51
+ /**
52
+ * The content: a scrolling list, grid or card collection, or a whole page. On a grid root
53
+ * (`grid` on `className`) the indicator's layer is a grid item, so one row gap opens above
54
+ * the content; put the grid on an element inside instead. Flex, block and `space-y-*` roots
55
+ * are exact.
56
+ */
57
+ children?: ReactNode;
58
+ /** Classes for the parts: `root`, `layer` (the sticky layer at the top) and `indicator`. */
59
+ classNames?: PullToRefreshClassNames;
60
+ }
61
+ export type PullToRefreshProps = PullToRefreshOwnProps & Omit<ComponentPropsWithRef<'div'>, keyof PullToRefreshOwnProps>;
62
+ /**
63
+ * M3 pull to refresh: at the top of its content, a downward drag (touch, mouse or pen) pulls
64
+ * a contained loading indicator in from the top edge, morphing with the pull. Releasing past
65
+ * the threshold calls `onRefresh`; the indicator then rests at the threshold, as an
66
+ * indeterminate loading indicator, until `refreshing` turns `false`. Releasing short of the
67
+ * threshold, or pushing back up, cancels.
68
+ *
69
+ * Wrap a scroll container (give the root `overflow-y-auto` and a height, or put the scrolling
70
+ * element inside it) or a whole page. Scrolling is untouched: the gesture only pulls when the
71
+ * content is at its top and the drag goes down.
72
+ *
73
+ * A `gap-*` on a flex root or `space-y-*` on a block root spaces the content exactly. On a
74
+ * grid root, every in-flow child is a grid item, so the indicator's sticky layer takes a
75
+ * zero-height row of its own and one `row-gap` opens above the content (removing it would
76
+ * mean positioning the layer, which layout safety rules out). Put the grid on an element
77
+ * inside: `<PullToRefresh><div className="grid gap-4">…</div></PullToRefresh>`.
78
+ *
79
+ * Pulling isn't available to everyone, so also offer a refresh button that sets `refreshing`,
80
+ * in an app bar, a menu or next to the content (the spec's accessibility guidance).
81
+ *
82
+ * The motion and sizes follow Compose's `PullToRefreshBox` with
83
+ * `PullToRefreshDefaults.LoadingIndicator`: an 80px threshold, the indicator moving at half
84
+ * the finger's speed and meeting resistance past the threshold, a 48px `primary-container`
85
+ * circle at elevation 0, and a crossfade to the indeterminate indicator while refreshing.
86
+ *
87
+ * @example
88
+ * <PullToRefresh refreshing={loading} onRefresh={reload} className="h-dvh overflow-y-auto">
89
+ * <List aria-label="Messages">…</List>
90
+ * </PullToRefresh>
91
+ */
92
+ export declare function PullToRefresh({ refreshing: refreshingProp, onRefresh, threshold, disabled, labels: labelsProp, children, classNames, className, ref, ...rest }: PullToRefreshProps): import("react").JSX.Element;
93
+ //#endregion
94
+ //# sourceMappingURL=PullToRefresh.d.ts.map