@windmorph/react 0.0.0-stage → 0.1.1

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,142 @@
1
+ import { VariantProps } from "../../utils/tv.js";
2
+ //#region src/components/tooltip/tooltip-styles.d.ts
3
+ /** Variant definitions for {@link Tooltip}; extend them to add variants. */
4
+ export declare const tooltipStyles: import("tailwind-variants").TVReturnType<{
5
+ [key: string]: {
6
+ [key: string]: import("tailwind-variants").ClassValue | {
7
+ root?: import("tailwind-variants").ClassValue;
8
+ positioner?: import("tailwind-variants").ClassValue;
9
+ panel?: import("tailwind-variants").ClassValue;
10
+ caret?: import("tailwind-variants").ClassValue;
11
+ };
12
+ };
13
+ } | {
14
+ [x: string]: {
15
+ [x: string]: import("tailwind-variants").ClassValue | {
16
+ root?: import("tailwind-variants").ClassValue;
17
+ positioner?: import("tailwind-variants").ClassValue;
18
+ panel?: import("tailwind-variants").ClassValue;
19
+ caret?: import("tailwind-variants").ClassValue;
20
+ };
21
+ };
22
+ } | {}, {
23
+ positioner: string;
24
+ panel: string[];
25
+ /** @deprecated Use `panel`; kept for one release. The same classes as `panel`. */
26
+ root: string[];
27
+ caret: string[];
28
+ }, undefined, {
29
+ [key: string]: {
30
+ [key: string]: import("tailwind-variants").ClassValue | {
31
+ root?: import("tailwind-variants").ClassValue;
32
+ positioner?: import("tailwind-variants").ClassValue;
33
+ panel?: import("tailwind-variants").ClassValue;
34
+ caret?: import("tailwind-variants").ClassValue;
35
+ };
36
+ };
37
+ } | {}, {
38
+ positioner: string;
39
+ panel: string[];
40
+ /** @deprecated Use `panel`; kept for one release. The same classes as `panel`. */
41
+ root: string[];
42
+ caret: string[];
43
+ }, import("tailwind-variants").TVReturnTypeLike<unknown, {
44
+ positioner: string;
45
+ panel: string[];
46
+ /** @deprecated Use `panel`; kept for one release. The same classes as `panel`. */
47
+ root: string[];
48
+ caret: string[];
49
+ }>>;
50
+ /** Variant definitions for {@link RichTooltip}; extend them to add variants. */
51
+ export declare const richTooltipStyles: import("tailwind-variants").TVReturnType<{
52
+ subhead: {
53
+ true: {
54
+ text: string;
55
+ };
56
+ false: {
57
+ panel: string;
58
+ root: string;
59
+ };
60
+ };
61
+ action: {
62
+ true: {
63
+ text: string;
64
+ };
65
+ false: {
66
+ panel: string;
67
+ root: string;
68
+ };
69
+ };
70
+ }, {
71
+ positioner: string;
72
+ panel: string[];
73
+ /** @deprecated Use `panel`; kept for one release. The same classes as `panel`. */
74
+ root: string[];
75
+ title: string;
76
+ text: string;
77
+ actions: string;
78
+ caret: string[];
79
+ }, undefined, {
80
+ subhead: {
81
+ true: {
82
+ text: string;
83
+ };
84
+ false: {
85
+ panel: string;
86
+ root: string;
87
+ };
88
+ };
89
+ action: {
90
+ true: {
91
+ text: string;
92
+ };
93
+ false: {
94
+ panel: string;
95
+ root: string;
96
+ };
97
+ };
98
+ }, {
99
+ positioner: string;
100
+ panel: string[];
101
+ /** @deprecated Use `panel`; kept for one release. The same classes as `panel`. */
102
+ root: string[];
103
+ title: string;
104
+ text: string;
105
+ actions: string;
106
+ caret: string[];
107
+ }, import("tailwind-variants").TVReturnTypeLike<{
108
+ subhead: {
109
+ true: {
110
+ text: string;
111
+ };
112
+ false: {
113
+ panel: string;
114
+ root: string;
115
+ };
116
+ };
117
+ action: {
118
+ true: {
119
+ text: string;
120
+ };
121
+ false: {
122
+ panel: string;
123
+ root: string;
124
+ };
125
+ };
126
+ }, {
127
+ positioner: string;
128
+ panel: string[];
129
+ /** @deprecated Use `panel`; kept for one release. The same classes as `panel`. */
130
+ root: string[];
131
+ title: string;
132
+ text: string;
133
+ actions: string;
134
+ caret: string[];
135
+ }>>;
136
+ /**
137
+ * The variants of {@link richTooltipStyles}, for building on its styles. They are the recipe's keys, not
138
+ * component props: their names (`hasIcon`, `isOpen`…) follow the classes and may change.
139
+ */
140
+ export type RichTooltipStyleProps = VariantProps<typeof richTooltipStyles>;
141
+ //#endregion
142
+ //# sourceMappingURL=tooltip-styles.d.ts.map
@@ -0,0 +1,81 @@
1
+ import { tv } from "../../utils/tv.js";
2
+ //#region src/components/tooltip/tooltip-styles.ts
3
+ const motion = [
4
+ "opacity-100 [clip-path:inset(-16px)]",
5
+ "[transition-property:opacity,clip-path] motion-reduce:[transition-property:opacity]",
6
+ "[transition-duration:var(--md-sys-motion-spring-effects-fast-duration),var(--md-sys-motion-spring-spatial-fast-duration)]",
7
+ "[transition-timing-function:var(--md-sys-motion-spring-effects-fast-easing),var(--md-sys-motion-spring-spatial-fast-easing)]",
8
+ "starting:opacity-0 data-exiting:opacity-0",
9
+ "data-[placement=top]:starting:[clip-path:inset(100%_-16px_-16px_-16px)] data-[placement=top]:data-exiting:[clip-path:inset(100%_-16px_-16px_-16px)]",
10
+ "data-[placement=bottom]:starting:[clip-path:inset(-16px_-16px_100%_-16px)] data-[placement=bottom]:data-exiting:[clip-path:inset(-16px_-16px_100%_-16px)]",
11
+ "data-[placement=left]:starting:[clip-path:inset(-16px_-16px_-16px_100%)] data-[placement=left]:data-exiting:[clip-path:inset(-16px_-16px_-16px_100%)]",
12
+ "data-[placement=right]:starting:[clip-path:inset(-16px_100%_-16px_-16px)] data-[placement=right]:data-exiting:[clip-path:inset(-16px_100%_-16px_-16px)]"
13
+ ];
14
+ const plainPanel = [
15
+ "relative min-h-[24px] w-max min-w-[40px] max-w-[200px] px-[8px] py-[4px]",
16
+ "rounded-[var(--_md-comp-plain-tooltip-container-shape)] bg-[var(--_md-comp-plain-tooltip-container-color)]",
17
+ "font-plain text-body-small text-[color:var(--_md-comp-plain-tooltip-supporting-text-color)]",
18
+ "forced-colors:outline-solid forced-colors:outline-1 forced-colors:outline-[CanvasText]",
19
+ ...motion
20
+ ];
21
+ const richPanel = [
22
+ "relative flex min-h-[24px] w-max min-w-[40px] max-w-[min(320px,100vw_-_16px)] flex-col px-[16px] outline-none",
23
+ "rounded-[var(--_md-comp-rich-tooltip-container-shape)] bg-[var(--_md-comp-rich-tooltip-container-color)]",
24
+ "font-plain text-[color:var(--_md-comp-rich-tooltip-supporting-text-color)]",
25
+ "shadow-[shadow:var(--_md-comp-rich-tooltip-container-elevation)]",
26
+ "forced-colors:outline-solid forced-colors:outline-1 forced-colors:outline-[CanvasText]",
27
+ ...motion
28
+ ];
29
+ /** Variant definitions for {@link Tooltip}; extend them to add variants. */
30
+ const tooltipStyles = tv({ slots: {
31
+ positioner: "z-(--md-sys-z-tooltip)",
32
+ panel: plainPanel,
33
+ /** @deprecated Use `panel`; kept for one release. The same classes as `panel`. */
34
+ root: plainPanel,
35
+ caret: [
36
+ "size-0 border-x-[8px] border-t-[8px] border-x-transparent",
37
+ "border-t-[color:var(--_md-comp-plain-tooltip-container-color)]",
38
+ "forced-colors:hidden"
39
+ ]
40
+ } });
41
+ /** Variant definitions for {@link RichTooltip}; extend them to add variants. */
42
+ const richTooltipStyles = tv({
43
+ slots: {
44
+ positioner: "z-(--md-sys-z-tooltip)",
45
+ panel: richPanel,
46
+ /** @deprecated Use `panel`; kept for one release. The same classes as `panel`. */
47
+ root: richPanel,
48
+ title: "pt-[13px] text-title-small text-[color:var(--_md-comp-rich-tooltip-subhead-color)]",
49
+ text: "text-body-medium",
50
+ actions: "flex min-h-[36px] items-center pb-[8px]",
51
+ caret: [
52
+ "size-0 border-x-[8px] border-t-[8px] border-x-transparent",
53
+ "border-t-[color:var(--_md-comp-rich-tooltip-container-color)]",
54
+ "forced-colors:hidden"
55
+ ]
56
+ },
57
+ variants: {
58
+ subhead: {
59
+ true: { text: "pt-[9px]" },
60
+ false: {
61
+ panel: "pt-[12px]",
62
+ root: "pt-[12px]"
63
+ }
64
+ },
65
+ action: {
66
+ true: { text: "pb-[16px]" },
67
+ false: {
68
+ panel: "pb-[8px]",
69
+ root: "pb-[8px]"
70
+ }
71
+ }
72
+ },
73
+ defaultVariants: {
74
+ subhead: false,
75
+ action: false
76
+ }
77
+ });
78
+ //#endregion
79
+ export { richTooltipStyles, tooltipStyles };
80
+
81
+ //# sourceMappingURL=tooltip-styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip-styles.js","names":[],"sources":["../../../src/components/tooltip/tooltip-styles.ts"],"sourcesContent":["import { tv, type VariantProps } from '../../utils/tv';\n\n/*\n * Values follow Compose Material 3 (Tooltip.kt, BasicTooltip.kt, Plain / RichTooltipTokens):\n *\n * - Plain: `inverse-surface`, `body-small` `inverse-on-surface`, 8px × 4px padding, at least\n * 40×24px, at most 200px wide, 4px corners, no elevation.\n * - Rich: `surface-container` at level 2, 12px corners, 16px side padding, at most 320px\n * wide. Subhead `title-small` with its first baseline 28px from the top; supporting text\n * `body-medium` (both `on-surface-variant`) with its first baseline 24px below the subhead.\n * Without a subhead the text starts 12px down, and without an action it ends 8px from the\n * bottom (the spec's 12 / 8px padding); with an action it has 16px under it, and the action\n * row is at least 36px tall with 8px under it.\n * - Both take their natural width (`w-max`) up to the maximum, so React Aria measures it and\n * shifts the box inside the 8px screen margin rather than squeezing it against the edge; a\n * rich tooltip never gets wider than the window less those margins.\n * - Both sit 4px from the anchor. They expand along the axis facing the anchor (a clip-path\n * reveal from the anchor's side) on the fast spatial spring while fading on fast effects:\n * the spec avoids scale motion. The clip rests 16px outside the box, so the shadow and the\n * optional 16×8px caret show. Reduced motion keeps only the fade.\n *\n * The colours, corners and the rich tooltip's shadow come from the component tokens\n * (`tooltip-tokens.ts`, `--md-comp-plain-tooltip-*` and `--md-comp-rich-tooltip-*`); each\n * surface carries its set's `data-tokens`, and the parts read one private variable each. A\n * consumer class (`bg-primary`) still wins; a caret keeps the token colour unless\n * `classNames.caret` sets its own.\n *\n * Each tooltip is two boxes: a `positioner`, the outermost element, which React Aria places\n * (its inline `position`, `top` / `left` or `bottom` / `right`) and which takes the consumer's\n * `className`; and the `panel` inside it, the visible surface. A consumer inset (`bottom-4`)\n * would combine with React Aria's and stretch the positioner, so the positioner's\n * `data-overlay-placement` resets every inset React Aria leaves unset (styles/utilities.css);\n * the panel keeps its natural size either way. The panel is `relative` so the caret follows it.\n * The `root` slot is a deprecated alias of `panel` (the slot's earlier name), with exactly\n * its classes, kept for one release.\n *\n * Baselines are converted to padding from Roboto Flex metrics (the 20px line puts the\n * baseline ~15px down): subhead 13px, text 9px. Every class is written out in full so\n * Tailwind can find it.\n */\n\nconst motion = [\n 'opacity-100 [clip-path:inset(-16px)]',\n '[transition-property:opacity,clip-path] motion-reduce:[transition-property:opacity]',\n '[transition-duration:var(--md-sys-motion-spring-effects-fast-duration),var(--md-sys-motion-spring-spatial-fast-duration)]',\n '[transition-timing-function:var(--md-sys-motion-spring-effects-fast-easing),var(--md-sys-motion-spring-spatial-fast-easing)]',\n 'starting:opacity-0 data-exiting:opacity-0',\n // Expand from the anchor's side, along one axis.\n 'data-[placement=top]:starting:[clip-path:inset(100%_-16px_-16px_-16px)] data-[placement=top]:data-exiting:[clip-path:inset(100%_-16px_-16px_-16px)]',\n 'data-[placement=bottom]:starting:[clip-path:inset(-16px_-16px_100%_-16px)] data-[placement=bottom]:data-exiting:[clip-path:inset(-16px_-16px_100%_-16px)]',\n 'data-[placement=left]:starting:[clip-path:inset(-16px_-16px_-16px_100%)] data-[placement=left]:data-exiting:[clip-path:inset(-16px_-16px_-16px_100%)]',\n 'data-[placement=right]:starting:[clip-path:inset(-16px_100%_-16px_-16px)] data-[placement=right]:data-exiting:[clip-path:inset(-16px_100%_-16px_-16px)]',\n];\n\nconst plainPanel = [\n 'relative min-h-[24px] w-max min-w-[40px] max-w-[200px] px-[8px] py-[4px]',\n 'rounded-[var(--_md-comp-plain-tooltip-container-shape)] bg-[var(--_md-comp-plain-tooltip-container-color)]',\n 'font-plain text-body-small text-[color:var(--_md-comp-plain-tooltip-supporting-text-color)]',\n 'forced-colors:outline-solid forced-colors:outline-1 forced-colors:outline-[CanvasText]',\n ...motion,\n];\n\nconst richPanel = [\n 'relative flex min-h-[24px] w-max min-w-[40px] max-w-[min(320px,100vw_-_16px)] flex-col px-[16px] outline-none',\n 'rounded-[var(--_md-comp-rich-tooltip-container-shape)] bg-[var(--_md-comp-rich-tooltip-container-color)]',\n 'font-plain text-[color:var(--_md-comp-rich-tooltip-supporting-text-color)]',\n 'shadow-[shadow:var(--_md-comp-rich-tooltip-container-elevation)]',\n 'forced-colors:outline-solid forced-colors:outline-1 forced-colors:outline-[CanvasText]',\n ...motion,\n];\n\n/** Variant definitions for {@link Tooltip}; extend them to add variants. */\nexport const tooltipStyles = tv({\n slots: {\n positioner: 'z-(--md-sys-z-tooltip)',\n panel: plainPanel,\n /** @deprecated Use `panel`; kept for one release. The same classes as `panel`. */\n root: plainPanel,\n caret: [\n 'size-0 border-x-[8px] border-t-[8px] border-x-transparent',\n 'border-t-[color:var(--_md-comp-plain-tooltip-container-color)]',\n // Forced colours paint the transparent side borders too, turning the caret into a bar.\n 'forced-colors:hidden',\n ],\n },\n});\n\n/** Variant definitions for {@link RichTooltip}; extend them to add variants. */\nexport const richTooltipStyles = tv({\n slots: {\n positioner: 'z-(--md-sys-z-tooltip)',\n panel: richPanel,\n /** @deprecated Use `panel`; kept for one release. The same classes as `panel`. */\n root: richPanel,\n title: 'pt-[13px] text-title-small text-[color:var(--_md-comp-rich-tooltip-subhead-color)]',\n text: 'text-body-medium',\n actions: 'flex min-h-[36px] items-center pb-[8px]',\n caret: [\n 'size-0 border-x-[8px] border-t-[8px] border-x-transparent',\n 'border-t-[color:var(--_md-comp-rich-tooltip-container-color)]',\n // Forced colours paint the transparent side borders too, turning the caret into a bar.\n 'forced-colors:hidden',\n ],\n },\n variants: {\n subhead: {\n // The text's first baseline 24px below the subhead's.\n true: { text: 'pt-[9px]' },\n false: { panel: 'pt-[12px]', root: 'pt-[12px]' },\n },\n action: {\n true: { text: 'pb-[16px]' },\n false: { panel: 'pb-[8px]', root: 'pb-[8px]' },\n },\n },\n defaultVariants: { subhead: false, action: false },\n});\n\n/**\n * The variants of {@link richTooltipStyles}, 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 RichTooltipStyleProps = VariantProps<typeof richTooltipStyles>;\n"],"mappings":";;AAyCA,MAAM,SAAS;CACb;CACA;CACA;CACA;CACA;CAEA;CACA;CACA;CACA;AACF;AAEA,MAAM,aAAa;CACjB;CACA;CACA;CACA;CACA,GAAG;AACL;AAEA,MAAM,YAAY;CAChB;CACA;CACA;CACA;CACA;CACA,GAAG;AACL;;AAGA,MAAa,gBAAgB,GAAG,EAC9B,OAAO;CACL,YAAY;CACZ,OAAO;;CAEP,MAAM;CACN,OAAO;EACL;EACA;EAEA;CACF;AACF,EACF,CAAC;;AAGD,MAAa,oBAAoB,GAAG;CAClC,OAAO;EACL,YAAY;EACZ,OAAO;;EAEP,MAAM;EACN,OAAO;EACP,MAAM;EACN,SAAS;EACT,OAAO;GACL;GACA;GAEA;EACF;CACF;CACA,UAAU;EACR,SAAS;GAEP,MAAM,EAAE,MAAM,WAAW;GACzB,OAAO;IAAE,OAAO;IAAa,MAAM;GAAY;EACjD;EACA,QAAQ;GACN,MAAM,EAAE,MAAM,YAAY;GAC1B,OAAO;IAAE,OAAO;IAAY,MAAM;GAAW;EAC/C;CACF;CACA,iBAAiB;EAAE,SAAS;EAAO,QAAQ;CAAM;AACnD,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ComponentTokenSet } from "../../tokens/component.js";
2
+ import "../../index.js";
3
+ //#region src/components/tooltip/tooltip-tokens.d.ts
4
+ /** The tokens of {@link Tooltip}: `--md-comp-plain-tooltip-<part>`. */
5
+ export declare const plainTooltipTokenSet: ComponentTokenSet<"container-color" | "container-shape" | "supporting-text-color">;
6
+ /** The tokens of {@link RichTooltip}: `--md-comp-rich-tooltip-<part>`. */
7
+ export declare const richTooltipTokenSet: ComponentTokenSet<"container-color" | "container-elevation" | "container-shape" | "supporting-text-color" | "subhead-color">;
8
+ //#endregion
9
+ //# sourceMappingURL=tooltip-tokens.d.ts.map
@@ -0,0 +1,72 @@
1
+ import { color, corner, defineComponentTokens, elevation } from "../../tokens/component.js";
2
+ //#region src/components/tooltip/tooltip-tokens.ts
3
+ /** The tokens of {@link Tooltip}: `--md-comp-plain-tooltip-<part>`. */
4
+ const plainTooltipTokenSet = defineComponentTokens({
5
+ name: "md-comp-plain-tooltip",
6
+ tokens: {
7
+ "container-color": {
8
+ value: color("inverse-surface"),
9
+ description: "The container and its caret.",
10
+ compose: "PlainTooltipTokens.ContainerColor",
11
+ paints: { property: "background-color" }
12
+ },
13
+ "container-shape": {
14
+ value: corner("extra-small"),
15
+ description: "The corners.",
16
+ compose: "PlainTooltipTokens.ContainerShape",
17
+ paints: { property: "border-top-left-radius" }
18
+ },
19
+ "supporting-text-color": {
20
+ value: color("inverse-on-surface"),
21
+ description: "The label.",
22
+ compose: "PlainTooltipTokens.SupportingTextColor",
23
+ paints: { property: "color" }
24
+ }
25
+ }
26
+ });
27
+ /** The tokens of {@link RichTooltip}: `--md-comp-rich-tooltip-<part>`. */
28
+ const richTooltipTokenSet = defineComponentTokens({
29
+ name: "md-comp-rich-tooltip",
30
+ tokens: {
31
+ "container-color": {
32
+ value: color("surface-container"),
33
+ description: "The container and its caret.",
34
+ compose: "RichTooltipTokens.ContainerColor",
35
+ paints: { property: "background-color" }
36
+ },
37
+ "container-shape": {
38
+ value: corner("medium"),
39
+ description: "The corners.",
40
+ compose: "RichTooltipTokens.ContainerShape",
41
+ paints: { property: "border-top-left-radius" }
42
+ },
43
+ "container-elevation": {
44
+ value: elevation(2),
45
+ description: "The shadow.",
46
+ compose: "RichTooltipTokens.ContainerElevation",
47
+ paints: { property: "box-shadow" }
48
+ },
49
+ "subhead-color": {
50
+ value: color("on-surface-variant"),
51
+ description: "The subhead (`title`).",
52
+ compose: "RichTooltipTokens.SubheadColor",
53
+ paints: {
54
+ property: "color",
55
+ slot: "subhead"
56
+ }
57
+ },
58
+ "supporting-text-color": {
59
+ value: color("on-surface-variant"),
60
+ description: "The supporting text.",
61
+ compose: "RichTooltipTokens.SupportingTextColor",
62
+ paints: {
63
+ property: "color",
64
+ slot: "text"
65
+ }
66
+ }
67
+ }
68
+ });
69
+ //#endregion
70
+ export { plainTooltipTokenSet, richTooltipTokenSet };
71
+
72
+ //# sourceMappingURL=tooltip-tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip-tokens.js","names":[],"sources":["../../../src/components/tooltip/tooltip-tokens.ts"],"sourcesContent":["import { color, corner, defineComponentTokens, elevation } from '../../tokens/component';\n\n/*\n * The tooltips' component tokens, M3's `md.comp.plain-tooltip.*` and `md.comp.rich-tooltip.*`\n * names (checked against m3.material.io's token tables, 2026-10-14), with Compose's\n * PlainTooltipTokens and RichTooltipTokens defaults. Each tooltip's surface carries its set's\n * `data-tokens` (so they apply however the tooltip's module loads), and `tooltip-styles.ts`\n * reads one private variable per part; the caret takes the container colour. The rich\n * tooltip's action is a text button with its own tokens. Sizes and padding stay classes.\n */\n\n/** The tokens of {@link Tooltip}: `--md-comp-plain-tooltip-<part>`. */\nexport const plainTooltipTokenSet = defineComponentTokens({\n name: 'md-comp-plain-tooltip',\n tokens: {\n 'container-color': {\n value: color('inverse-surface'),\n description: 'The container and its caret.',\n compose: 'PlainTooltipTokens.ContainerColor',\n paints: { property: 'background-color' },\n },\n 'container-shape': {\n value: corner('extra-small'),\n description: 'The corners.',\n compose: 'PlainTooltipTokens.ContainerShape',\n paints: { property: 'border-top-left-radius' },\n },\n 'supporting-text-color': {\n value: color('inverse-on-surface'),\n description: 'The label.',\n compose: 'PlainTooltipTokens.SupportingTextColor',\n paints: { property: 'color' },\n },\n },\n});\n\n/** The tokens of {@link RichTooltip}: `--md-comp-rich-tooltip-<part>`. */\nexport const richTooltipTokenSet = defineComponentTokens({\n name: 'md-comp-rich-tooltip',\n tokens: {\n 'container-color': {\n value: color('surface-container'),\n description: 'The container and its caret.',\n compose: 'RichTooltipTokens.ContainerColor',\n paints: { property: 'background-color' },\n },\n 'container-shape': {\n value: corner('medium'),\n description: 'The corners.',\n compose: 'RichTooltipTokens.ContainerShape',\n paints: { property: 'border-top-left-radius' },\n },\n 'container-elevation': {\n value: elevation(2),\n description: 'The shadow.',\n compose: 'RichTooltipTokens.ContainerElevation',\n paints: { property: 'box-shadow' },\n },\n 'subhead-color': {\n value: color('on-surface-variant'),\n description: 'The subhead (`title`).',\n compose: 'RichTooltipTokens.SubheadColor',\n paints: { property: 'color', slot: 'subhead' },\n },\n 'supporting-text-color': {\n value: color('on-surface-variant'),\n description: 'The supporting text.',\n compose: 'RichTooltipTokens.SupportingTextColor',\n paints: { property: 'color', slot: 'text' },\n },\n },\n});\n"],"mappings":";;;AAYA,MAAa,uBAAuB,sBAAsB;CACxD,MAAM;CACN,QAAQ;EACN,mBAAmB;GACjB,OAAO,MAAM,iBAAiB;GAC9B,aAAa;GACb,SAAS;GACT,QAAQ,EAAE,UAAU,mBAAmB;EACzC;EACA,mBAAmB;GACjB,OAAO,OAAO,aAAa;GAC3B,aAAa;GACb,SAAS;GACT,QAAQ,EAAE,UAAU,yBAAyB;EAC/C;EACA,yBAAyB;GACvB,OAAO,MAAM,oBAAoB;GACjC,aAAa;GACb,SAAS;GACT,QAAQ,EAAE,UAAU,QAAQ;EAC9B;CACF;AACF,CAAC;;AAGD,MAAa,sBAAsB,sBAAsB;CACvD,MAAM;CACN,QAAQ;EACN,mBAAmB;GACjB,OAAO,MAAM,mBAAmB;GAChC,aAAa;GACb,SAAS;GACT,QAAQ,EAAE,UAAU,mBAAmB;EACzC;EACA,mBAAmB;GACjB,OAAO,OAAO,QAAQ;GACtB,aAAa;GACb,SAAS;GACT,QAAQ,EAAE,UAAU,yBAAyB;EAC/C;EACA,uBAAuB;GACrB,OAAO,UAAU,CAAC;GAClB,aAAa;GACb,SAAS;GACT,QAAQ,EAAE,UAAU,aAAa;EACnC;EACA,iBAAiB;GACf,OAAO,MAAM,oBAAoB;GACjC,aAAa;GACb,SAAS;GACT,QAAQ;IAAE,UAAU;IAAS,MAAM;GAAU;EAC/C;EACA,yBAAyB;GACvB,OAAO,MAAM,oBAAoB;GACjC,aAAa;GACb,SAAS;GACT,QAAQ;IAAE,UAAU;IAAS,MAAM;GAAO;EAC5C;CACF;AACF,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { TooltipPlacement } from "./tooltip-placement.js";
2
+ import { DOMAttributes, HTMLAttributes, ReactNode, RefObject } from "react";
3
+ import { OverlayTriggerState } from "react-stately";
4
+ //#region src/components/tooltip/tooltip-trigger.d.ts
5
+ export interface TooltipTriggerProps {
6
+ /** The trigger (a library button or anything reading `TriggerContext`), then a `<Tooltip>`. */
7
+ children: ReactNode;
8
+ /** Milliseconds of hover before showing (Compose shows at once). @default 0 */
9
+ delay?: number;
10
+ /** Milliseconds before hiding after the pointer leaves or a touch lifts (the spec's 1.5s). @default 1500 */
11
+ closeDelay?: number;
12
+ /**
13
+ * Side of the anchor the tooltip prefers; it flips when there's no room. Inside a
14
+ * `TooltipPlacementContext`, the context's side is the default (`"bottom"` in app bars).
15
+ * @default "top", or "bottom" in app bars
16
+ */
17
+ placement?: TooltipPlacement;
18
+ /** Distance from the anchor in px: 4 for an anchor with a visual boundary, 8 for text. @default 4 */
19
+ offset?: number;
20
+ /** Never show the tooltip. @default false */
21
+ disabled?: boolean;
22
+ /** Whether the tooltip is shown (controlled). */
23
+ open?: boolean;
24
+ /** Whether the tooltip starts shown when uncontrolled. @default false */
25
+ defaultOpen?: boolean;
26
+ /** Called when the tooltip shows or hides. */
27
+ onOpenChange?: (open: boolean) => void;
28
+ }
29
+ /**
30
+ * Shows a plain {@link Tooltip} while its trigger is hovered or keyboard-focused, or after a
31
+ * touch long press. The tooltip describes the trigger (`aria-describedby`), stays while the
32
+ * pointer is over it and for 1.5s after it leaves, and Escape hides it.
33
+ *
34
+ * @example
35
+ * <TooltipTrigger>
36
+ * <IconButton icon={<StarIcon />} aria-label="Favourite" />
37
+ * <Tooltip>Add to favourites</Tooltip>
38
+ * </TooltipTrigger>
39
+ */
40
+ export declare function TooltipTrigger({ children, delay, closeDelay, placement: placementProp, offset, disabled, open, defaultOpen, onOpenChange }: TooltipTriggerProps): import("react").JSX.Element;
41
+ //#endregion
42
+ //# sourceMappingURL=tooltip-trigger.d.ts.map
@@ -0,0 +1,115 @@
1
+ "use client";
2
+ import { TriggerContext, useTriggerProps } from "../../primitives/TriggerContext.js";
3
+ import { TooltipPlacementContext } from "./tooltip-placement.js";
4
+ import { Children, createContext, useContext, useEffect, useMemo, useRef } from "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { mergeProps, useLongPress, useTooltipTrigger } from "react-aria";
7
+ import { useTooltipTriggerState } from "react-stately";
8
+ /** "Both plain and rich tooltips disappear 1.5 seconds after navigating away." */
9
+ const CLOSE_DELAY = 1500;
10
+ /**
11
+ * The spec's touch trigger: "tap and hold the element on mobile". A touch long press opens
12
+ * the tooltip (without pressing the button), and it closes 1.5s after the finger lifts.
13
+ */
14
+ function useTouchLongPress(open, close, isDisabled) {
15
+ const release = useRef(null);
16
+ useEffect(() => () => {
17
+ if (release.current) window.removeEventListener("pointerup", release.current);
18
+ }, []);
19
+ const { longPressProps } = useLongPress({
20
+ isDisabled,
21
+ pointerType: "touch",
22
+ onLongPress: () => {
23
+ open();
24
+ if (release.current) window.removeEventListener("pointerup", release.current);
25
+ const onRelease = () => {
26
+ release.current = null;
27
+ close();
28
+ };
29
+ release.current = onRelease;
30
+ window.addEventListener("pointerup", onRelease, { once: true });
31
+ }
32
+ });
33
+ return { onPointerDown: longPressProps.onPointerDown };
34
+ }
35
+ const TooltipContext = createContext(null);
36
+ /**
37
+ * Shows a plain {@link Tooltip} while its trigger is hovered or keyboard-focused, or after a
38
+ * touch long press. The tooltip describes the trigger (`aria-describedby`), stays while the
39
+ * pointer is over it and for 1.5s after it leaves, and Escape hides it.
40
+ *
41
+ * @example
42
+ * <TooltipTrigger>
43
+ * <IconButton icon={<StarIcon />} aria-label="Favourite" />
44
+ * <Tooltip>Add to favourites</Tooltip>
45
+ * </TooltipTrigger>
46
+ */
47
+ function TooltipTrigger({ children, delay = 0, closeDelay = CLOSE_DELAY, placement: placementProp, offset = 4, disabled, open, defaultOpen, onOpenChange }) {
48
+ const contextPlacement = useContext(TooltipPlacementContext);
49
+ const placement = placementProp ?? contextPlacement ?? "top";
50
+ const options = {
51
+ delay,
52
+ closeDelay,
53
+ isDisabled: disabled,
54
+ isOpen: open,
55
+ defaultOpen,
56
+ onOpenChange
57
+ };
58
+ const state = useTooltipTriggerState(options);
59
+ const triggerRef = useRef(null);
60
+ const { triggerProps, tooltipProps } = useTooltipTrigger(options, state, triggerRef);
61
+ const longPressProps = useTouchLongPress(() => state.open(true), () => state.close(), disabled);
62
+ const triggerValue = useTriggerProps({
63
+ ...mergeProps(triggerProps, longPressProps),
64
+ ref: triggerRef
65
+ });
66
+ const [trigger, ...tooltip] = Children.toArray(children);
67
+ return /* @__PURE__ */ jsxs(TooltipContext, {
68
+ value: {
69
+ state,
70
+ triggerRef,
71
+ tooltipProps,
72
+ placement,
73
+ offset
74
+ },
75
+ children: [/* @__PURE__ */ jsx(TriggerContext, {
76
+ value: triggerValue,
77
+ children: trigger
78
+ }), tooltip]
79
+ });
80
+ }
81
+ const RichContext = createContext(null);
82
+ /**
83
+ * Whether the caller is inside a `TooltipTrigger` or `RichTooltipTrigger`, so its trigger
84
+ * already has a tooltip. Icon buttons, which show their label as a tooltip by default, use
85
+ * it to step aside for a tooltip the app wrapped them in.
86
+ */
87
+ function useInTooltipTrigger() {
88
+ const plain = useContext(TooltipContext);
89
+ const rich = useContext(RichContext);
90
+ return plain !== null || rich !== null;
91
+ }
92
+ /**
93
+ * For a built-in tooltip that repeats its trigger's accessible name (an icon button's or a
94
+ * FAB's label): the tooltip isn't linked as a description, or screen readers would announce
95
+ * the name twice ("Search, button, Search"). The tooltip still shows; only the enclosing
96
+ * trigger's `aria-describedby` is dropped (2026-10-13; FABs 2026-10-15). A tooltip that
97
+ * says something else than the name keeps describing its trigger.
98
+ */
99
+ function WithoutDescription({ children }) {
100
+ const trigger = useContext(TriggerContext);
101
+ const value = useMemo(() => {
102
+ if (!trigger) return null;
103
+ const own = { ...trigger };
104
+ delete own["aria-describedby"];
105
+ return own;
106
+ }, [trigger]);
107
+ return /* @__PURE__ */ jsx(TriggerContext, {
108
+ value,
109
+ children
110
+ });
111
+ }
112
+ //#endregion
113
+ export { CLOSE_DELAY, RichContext, TooltipContext, TooltipTrigger, WithoutDescription, useInTooltipTrigger, useTouchLongPress };
114
+
115
+ //# sourceMappingURL=tooltip-trigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip-trigger.js","names":[],"sources":["../../../src/components/tooltip/tooltip-trigger.tsx"],"sourcesContent":["'use client';\n\n/*\n * The trigger side of the tooltips: the state, the trigger's props and the contexts the\n * tooltips read. It holds none of the tooltip's own rendering (positioning, the overlay, the\n * motion), so components that show a tooltip only on hover or focus (`IconButton`, `Fab`,\n * `Toolbar`'s FAB, the pickers) import this and load the tooltip itself on demand\n * (`LazyTooltip`).\n */\n\nimport {\n Children,\n createContext,\n useContext,\n useEffect,\n useMemo,\n useRef,\n type DOMAttributes,\n type HTMLAttributes,\n type ReactNode,\n type RefObject,\n} from 'react';\nimport { mergeProps, useLongPress, useTooltipTrigger } from 'react-aria';\nimport {\n useTooltipTriggerState,\n type OverlayTriggerState,\n type TooltipTriggerState,\n} from 'react-stately';\nimport {\n TriggerContext,\n useTriggerProps,\n type TriggerContextValue,\n} from '../../primitives/TriggerContext';\nimport { TooltipPlacementContext, type TooltipPlacement } from './tooltip-placement';\n\n/**\n * The spec: 4px from an anchor with a visual boundary (a button), 8px from one without (text).\n * A caret (8px) sits in the gap.\n */\nexport const DEFAULT_OFFSET = 4;\n\n/** \"Both plain and rich tooltips disappear 1.5 seconds after navigating away.\" */\nexport const CLOSE_DELAY = 1500;\n\n/**\n * The spec's touch trigger: \"tap and hold the element on mobile\". A touch long press opens\n * the tooltip (without pressing the button), and it closes 1.5s after the finger lifts.\n */\nexport function useTouchLongPress(\n open: () => void,\n close: () => void,\n isDisabled: boolean | undefined,\n): DOMAttributes<HTMLElement> {\n const release = useRef<(() => void) | null>(null);\n useEffect(\n () => () => {\n if (release.current) window.removeEventListener('pointerup', release.current);\n },\n [],\n );\n const { longPressProps } = useLongPress({\n isDisabled,\n pointerType: 'touch',\n onLongPress: () => {\n open();\n if (release.current) window.removeEventListener('pointerup', release.current);\n const onRelease = () => {\n release.current = null;\n close();\n };\n release.current = onRelease;\n window.addEventListener('pointerup', onRelease, { once: true });\n },\n });\n // Only the pointer side: its keyboard handling would compete with the trigger's own.\n return { onPointerDown: longPressProps.onPointerDown };\n}\n\n/* ------------------------------------------------------------------ Plain */\n\n/** What a `TooltipTrigger` gives its `Tooltip`. */\nexport interface TooltipContextValue {\n state: TooltipTriggerState;\n triggerRef: RefObject<HTMLElement | null>;\n tooltipProps: HTMLAttributes<HTMLElement>;\n placement: TooltipPlacement;\n offset: number;\n}\n\nexport const TooltipContext = createContext<TooltipContextValue | null>(null);\n\nexport interface TooltipTriggerProps {\n /** The trigger (a library button or anything reading `TriggerContext`), then a `<Tooltip>`. */\n children: ReactNode;\n /** Milliseconds of hover before showing (Compose shows at once). @default 0 */\n delay?: number;\n /** Milliseconds before hiding after the pointer leaves or a touch lifts (the spec's 1.5s). @default 1500 */\n closeDelay?: number;\n /**\n * Side of the anchor the tooltip prefers; it flips when there's no room. Inside a\n * `TooltipPlacementContext`, the context's side is the default (`\"bottom\"` in app bars).\n * @default \"top\", or \"bottom\" in app bars\n */\n placement?: TooltipPlacement;\n /** Distance from the anchor in px: 4 for an anchor with a visual boundary, 8 for text. @default 4 */\n offset?: number;\n /** Never show the tooltip. @default false */\n disabled?: boolean;\n /** Whether the tooltip is shown (controlled). */\n open?: boolean;\n /** Whether the tooltip starts shown when uncontrolled. @default false */\n defaultOpen?: boolean;\n /** Called when the tooltip shows or hides. */\n onOpenChange?: (open: boolean) => void;\n}\n\n/**\n * Shows a plain {@link Tooltip} while its trigger is hovered or keyboard-focused, or after a\n * touch long press. The tooltip describes the trigger (`aria-describedby`), stays while the\n * pointer is over it and for 1.5s after it leaves, and Escape hides it.\n *\n * @example\n * <TooltipTrigger>\n * <IconButton icon={<StarIcon />} aria-label=\"Favourite\" />\n * <Tooltip>Add to favourites</Tooltip>\n * </TooltipTrigger>\n */\nexport function TooltipTrigger({\n children,\n delay = 0,\n closeDelay = CLOSE_DELAY,\n placement: placementProp,\n offset = DEFAULT_OFFSET,\n disabled,\n open,\n defaultOpen,\n onOpenChange,\n}: TooltipTriggerProps) {\n const contextPlacement = useContext(TooltipPlacementContext);\n const placement = placementProp ?? contextPlacement ?? 'top';\n const options = {\n delay,\n closeDelay,\n isDisabled: disabled,\n isOpen: open,\n defaultOpen,\n onOpenChange,\n };\n const state = useTooltipTriggerState(options);\n const triggerRef = useRef<HTMLElement>(null);\n const { triggerProps, tooltipProps } = useTooltipTrigger(options, state, triggerRef);\n const longPressProps = useTouchLongPress(\n () => state.open(true),\n () => state.close(),\n disabled,\n );\n const triggerValue = useTriggerProps({\n ...(mergeProps(triggerProps, longPressProps) as TriggerContextValue),\n ref: triggerRef,\n });\n const [trigger, ...tooltip] = Children.toArray(children);\n return (\n <TooltipContext value={{ state, triggerRef, tooltipProps, placement, offset }}>\n <TriggerContext value={triggerValue}>{trigger}</TriggerContext>\n {tooltip}\n </TooltipContext>\n );\n}\n\n/* ------------------------------------------------------------------- Rich */\n\n/** What a `RichTooltipTrigger` gives its `RichTooltip`. */\nexport type RichContextValue = {\n triggerRef: RefObject<HTMLElement | null>;\n placement: TooltipPlacement;\n offset: number;\n} & (\n | { persistent: true; state: OverlayTriggerState; overlayProps: HTMLAttributes<HTMLElement> }\n | { persistent: false; state: TooltipTriggerState; tooltipProps: HTMLAttributes<HTMLElement> }\n);\n\nexport const RichContext = createContext<RichContextValue | null>(null);\n\n/**\n * Whether the caller is inside a `TooltipTrigger` or `RichTooltipTrigger`, so its trigger\n * already has a tooltip. Icon buttons, which show their label as a tooltip by default, use\n * it to step aside for a tooltip the app wrapped them in.\n */\nexport function useInTooltipTrigger(): boolean {\n const plain = useContext(TooltipContext);\n const rich = useContext(RichContext);\n return plain !== null || rich !== null;\n}\n\n/**\n * For a built-in tooltip that repeats its trigger's accessible name (an icon button's or a\n * FAB's label): the tooltip isn't linked as a description, or screen readers would announce\n * the name twice (\"Search, button, Search\"). The tooltip still shows; only the enclosing\n * trigger's `aria-describedby` is dropped (2026-10-13; FABs 2026-10-15). A tooltip that\n * says something else than the name keeps describing its trigger.\n */\nexport function WithoutDescription({ children }: { children: ReactNode }) {\n const trigger = useContext(TriggerContext);\n const value = useMemo(() => {\n if (!trigger) return null;\n const own: Record<string, unknown> = { ...trigger };\n delete own['aria-describedby'];\n return own as TriggerContextValue;\n }, [trigger]);\n return <TriggerContext value={value}>{children}</TriggerContext>;\n}\n"],"mappings":";;;;;;;;AA0CA,MAAa,cAAc;;;;;AAM3B,SAAgB,kBACd,MACA,OACA,YAC4B;CAC5B,MAAM,UAAU,OAA4B,IAAI;CAChD,sBACc;EACV,IAAI,QAAQ,SAAS,OAAO,oBAAoB,aAAa,QAAQ,OAAO;CAC9E,GACA,CAAC,CACH;CACA,MAAM,EAAE,mBAAmB,aAAa;EACtC;EACA,aAAa;EACb,mBAAmB;GACjB,KAAK;GACL,IAAI,QAAQ,SAAS,OAAO,oBAAoB,aAAa,QAAQ,OAAO;GAC5E,MAAM,kBAAkB;IACtB,QAAQ,UAAU;IAClB,MAAM;GACR;GACA,QAAQ,UAAU;GAClB,OAAO,iBAAiB,aAAa,WAAW,EAAE,MAAM,KAAK,CAAC;EAChE;CACF,CAAC;CAED,OAAO,EAAE,eAAe,eAAe,cAAc;AACvD;AAaA,MAAa,iBAAiB,cAA0C,IAAI;;;;;;;;;;;;AAsC5E,SAAgB,eAAe,EAC7B,UACA,QAAQ,GACR,aAAa,aACb,WAAW,eACX,SAAA,GACA,UACA,MACA,aACA,gBACsB;CACtB,MAAM,mBAAmB,WAAW,uBAAuB;CAC3D,MAAM,YAAY,iBAAiB,oBAAoB;CACvD,MAAM,UAAU;EACd;EACA;EACA,YAAY;EACZ,QAAQ;EACR;EACA;CACF;CACA,MAAM,QAAQ,uBAAuB,OAAO;CAC5C,MAAM,aAAa,OAAoB,IAAI;CAC3C,MAAM,EAAE,cAAc,iBAAiB,kBAAkB,SAAS,OAAO,UAAU;CACnF,MAAM,iBAAiB,wBACf,MAAM,KAAK,IAAI,SACf,MAAM,MAAM,GAClB,QACF;CACA,MAAM,eAAe,gBAAgB;EACnC,GAAI,WAAW,cAAc,cAAc;EAC3C,KAAK;CACP,CAAC;CACD,MAAM,CAAC,SAAS,GAAG,WAAW,SAAS,QAAQ,QAAQ;CACvD,OACE,qBAAC,gBAAD;EAAgB,OAAO;GAAE;GAAO;GAAY;GAAc;GAAW;EAAO;EAA5E,UAAA,CACE,oBAAC,gBAAD;GAAgB,OAAO;GAAe,UAAA;EAAwB,CAAA,GAC7D,OACa;;AAEpB;AAcA,MAAa,cAAc,cAAuC,IAAI;;;;;;AAOtE,SAAgB,sBAA+B;CAC7C,MAAM,QAAQ,WAAW,cAAc;CACvC,MAAM,OAAO,WAAW,WAAW;CACnC,OAAO,UAAU,QAAQ,SAAS;AACpC;;;;;;;;AASA,SAAgB,mBAAmB,EAAE,YAAqC;CACxE,MAAM,UAAU,WAAW,cAAc;CACzC,MAAM,QAAQ,cAAc;EAC1B,IAAI,CAAC,SAAS,OAAO;EACrB,MAAM,MAA+B,EAAE,GAAG,QAAQ;EAClD,OAAO,IAAI;EACX,OAAO;CACT,GAAG,CAAC,OAAO,CAAC;CACZ,OAAO,oBAAC,gBAAD;EAAuB;EAAQ;CAAyB,CAAA;AACjE"}
@@ -0,0 +1,116 @@
1
+ import { VariantProps } from "../../utils/tv.js";
2
+ import { ButtonShape, ButtonSize, ButtonVariant } from "../../components/button/button-styles.js";
3
+ import { buttonGroupStyles } from "./button-group-styles.js";
4
+ import { ComponentPropsWithRef, ReactNode } from "react";
5
+ //#region src/composites/button-group/ButtonGroup.d.ts
6
+ export type ButtonGroupVariant = NonNullable<VariantProps<typeof buttonGroupStyles>['variant']>;
7
+ export type ButtonGroupSelectionMode = 'none' | 'single' | 'multiple';
8
+ /** Text the group adds for assistive tech and its tooltip; translate it for your locale. */
9
+ export interface ButtonGroupLabels {
10
+ /** The overflow indicator's name and tooltip. @default "More options" */
11
+ more: string;
12
+ }
13
+ export interface ButtonGroupClassNames {
14
+ /** The group's outer element; `className` is merged here too. */
15
+ root?: string;
16
+ /** The overflow indicator, the "More options" icon button (`overflow`). */
17
+ overflowButton?: string;
18
+ /** The overflow indicator's menu of folded buttons (`overflow`). */
19
+ overflowMenu?: string;
20
+ }
21
+ export interface ButtonGroupProps extends Omit<ComponentPropsWithRef<'div'>, 'onChange' | 'defaultValue'> {
22
+ /**
23
+ * `standard` spaces the buttons apart (18 / 12 / 8px by size); `connected` joins them 2px
24
+ * apart with shared inner corners across the container's width (the M3 Expressive
25
+ * replacement for segmented buttons). A standard group grows a pressed button into its
26
+ * neighbours' space; a connected one only changes its shape unless `expandedRatio` is set.
27
+ * @default "standard"
28
+ */
29
+ variant?: ButtonGroupVariant;
30
+ /**
31
+ * Size shared by every button and icon button in the group; it also sets the spacing.
32
+ * Unset, the buttons keep their own (or an enclosing toolbar's) size.
33
+ * @default "sm"
34
+ */
35
+ size?: ButtonSize;
36
+ /**
37
+ * Shape shared by the buttons. A `square` connected group gives its outer corners the
38
+ * size of its inner ones (4 / 8 / 8 / 16 / 20px). Unset, the buttons keep their own.
39
+ * @default "round"
40
+ */
41
+ shape?: ButtonShape;
42
+ /**
43
+ * Variant shared by every `Button` in the group. `filled`, `tonal` and `outlined` reach
44
+ * the `IconButton`s too, so a group never mixes colour styles; a button's own `variant`
45
+ * wins. Unset, the buttons keep their own.
46
+ * @default "filled"
47
+ */
48
+ buttonVariant?: ButtonVariant;
49
+ /** Disables every button in the group. @default false */
50
+ disabled?: boolean;
51
+ /**
52
+ * Lets toggle buttons with a `value` act as one selection. `single` behaves like
53
+ * radio buttons, `multiple` like checkboxes. @default "none"
54
+ */
55
+ selectionMode?: ButtonGroupSelectionMode;
56
+ /** Controlled selection: the `value`s of the selected toggle buttons. */
57
+ selectedKeys?: Iterable<string>;
58
+ /** Initial selection when uncontrolled. */
59
+ defaultSelectedKeys?: Iterable<string>;
60
+ /** Called with the selected toggle buttons' `value`s when the selection changes. */
61
+ onSelectionChange?: (keys: Set<string>) => void;
62
+ /**
63
+ * The last selected button can be deselected, leaving none. `false` keeps at least one
64
+ * selected. @default true
65
+ */
66
+ deselectable?: boolean;
67
+ /**
68
+ * How much a pressed button grows, as a fraction of its width; its neighbours shrink by the
69
+ * same amount and the group keeps its width. `0` turns it off. Standard groups default to
70
+ * 0.15. Connected groups default to 0 (the spec: they "don't affect adjacent buttons", as
71
+ * in Compose's connected sample); set a ratio to opt in, as Compose can by combining a
72
+ * button group's `animateWidth` with the connected shapes. Under reduced motion there's
73
+ * no bump. @default 0.15, or 0 when `variant` is "connected"
74
+ */
75
+ expandedRatio?: number;
76
+ /**
77
+ * Folds the trailing buttons that don't fit into a menu behind a trailing "More options"
78
+ * icon button (M3: "Buttons at the trailing edge of the button group can be customized to
79
+ * collapse into an overflow menu at smaller breakpoints"). The group then fills its
80
+ * container's width and re-measures as it resizes. Each folded button becomes a menu
81
+ * item with its label (an icon button's `aria-label`) and icon; disabled buttons stay
82
+ * disabled, and toggles show their selection. Choosing an item presses the button.
83
+ * @default false
84
+ */
85
+ overflow?: boolean;
86
+ /**
87
+ * Text for assistive tech, e.g. the overflow indicator's name.
88
+ * @default { more: "More options" }
89
+ */
90
+ labels?: Partial<ButtonGroupLabels>;
91
+ /** Classes for each part. `classNames.root` is merged with `className`. */
92
+ classNames?: ButtonGroupClassNames;
93
+ children?: ReactNode;
94
+ }
95
+ /**
96
+ * M3 Expressive button group. Shares size, shape, variant and disabled with its `Button`
97
+ * and `IconButton` children. A standard group grows a pressed button while its neighbours
98
+ * shrink; a `connected` group joins the buttons with shared inner corners and, by default,
99
+ * only changes the pressed button's shape (`expandedRatio` opts it into the bump). Tab reaches the group and the arrow keys move
100
+ * between its buttons, wrapping, with Home and End (a `toolbar`). With `selectionMode`, toggle
101
+ * buttons that have a `value` form a single or multiple selection; a single selection is a
102
+ * radio group, whose arrow keys select as they move.
103
+ *
104
+ * Children must be direct `Button` / `IconButton` elements so each gets its position.
105
+ *
106
+ * @example
107
+ * <ButtonGroup variant="connected" selectionMode="single" defaultSelectedKeys={['week']}
108
+ * aria-label="Calendar view">
109
+ * <Button toggle value="day">Day</Button>
110
+ * <Button toggle value="week">Week</Button>
111
+ * <Button toggle value="month">Month</Button>
112
+ * </ButtonGroup>
113
+ */
114
+ export declare function ButtonGroup(props: ButtonGroupProps): import("react").JSX.Element;
115
+ //#endregion
116
+ //# sourceMappingURL=ButtonGroup.d.ts.map