@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
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 the Windmorph authors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/NOTICE ADDED
@@ -0,0 +1,23 @@
1
+ @windmorph/react
2
+ Copyright (c) 2026 the Windmorph authors. Licensed under the MIT License.
3
+
4
+ This package bundles @material/material-color-utilities
5
+ (https://github.com/material-foundation/material-color-utilities),
6
+ Copyright 2021 Google LLC, licensed under the Apache License, Version 2.0
7
+ (https://www.apache.org/licenses/LICENSE-2.0).
8
+
9
+ Design tokens are derived from Jetpack Compose Material 3
10
+ (https://android.googlesource.com/platform/frameworks/support), Copyright The
11
+ Android Open Source Project, licensed under the Apache License, Version 2.0.
12
+
13
+ The shape library (androidx.graphics.shapes and Compose Material 3 MaterialShapes) is a
14
+ TypeScript port of code from the Android Open Source Project
15
+ (https://android.googlesource.com/platform/frameworks/support), Copyright 2022-2025 The
16
+ Android Open Source Project, licensed under the Apache License, Version 2.0. It was
17
+ modified: translated to TypeScript with 64-bit arithmetic, the SVG parser, serializer and
18
+ validation were left out, a bounds calculation was fixed for shapes in negative space, and
19
+ paths are emitted as SVG path data.
20
+
21
+ The icons drawn inside components (such as send, close and the formatting buttons) are
22
+ Material Symbols path data (https://github.com/google/material-design-icons), Copyright
23
+ Google LLC, licensed under the Apache License, Version 2.0.
package/README.md CHANGED
@@ -1,3 +1,150 @@
1
- # Temporary Holding Version
1
+ # @windmorph/react
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ React components implementing **Material Design 3 Expressive**, built on
4
+ [React Aria](https://react-spectrum.adobe.com/react-aria/), [Tailwind CSS v4](https://tailwindcss.com)
5
+ and [Motion](https://motion.dev). Semantic design tokens, component tokens, six built-in themes,
6
+ light and dark modes with three contrast levels, M3 Expressive springs, right-to-left support and
7
+ accessible components by default. Works with Vite and Next.js (App Router and Pages Router).
8
+
9
+ **Docs and live examples: [windmorph.dev](https://windmorph.dev/)**
10
+
11
+ ## Install
12
+
13
+ ```bash
14
+ npm i @windmorph/react motion
15
+ ```
16
+
17
+ Peer dependencies: `react` and `react-dom` 19, `motion` 14, and optionally `tailwindcss` 4.1 or
18
+ later and `next` 15 or later.
19
+
20
+ ### Browser support
21
+
22
+ 0.1.0 is tested on Chrome and Edge. Safari 17.5+ and Firefox 129+ are supported targets, with
23
+ full testing coming next. Older browsers skip some entry animations (`@starting-style`).
24
+
25
+ ### With Tailwind CSS v4
26
+
27
+ ```css
28
+ /* globals.css */
29
+ @import 'tailwindcss';
30
+ @import '@windmorph/react/styles.css';
31
+ @source '../node_modules/@windmorph/react';
32
+ ```
33
+
34
+ `@source` lets Tailwind see the classes the components use; adjust the path to where
35
+ `node_modules` sits relative to your CSS file. The colour roles, type scale, shapes and motion
36
+ are then Tailwind utilities in your own code too (`bg-surface`, `text-on-surface-variant`,
37
+ `text-body-large`, `rounded-corner-large`, …).
38
+
39
+ ### Without Tailwind
40
+
41
+ Import `@windmorph/react/styles.compiled.css` instead: the same styles, already compiled.
42
+
43
+ ### Fonts
44
+
45
+ Fonts are not bundled. Load [Roboto Flex](https://fonts.google.com/specimen/Roboto+Flex) with
46
+ `next/font` or Google Fonts; without it, the system UI font is used.
47
+
48
+ ## Use
49
+
50
+ Wrap the app in `ThemeProvider`:
51
+
52
+ ```tsx
53
+ import { Button, ThemeProvider } from '@windmorph/react';
54
+
55
+ export function App() {
56
+ return (
57
+ <ThemeProvider defaultTheme="baseline">
58
+ <Button variant="filled">Label</Button>
59
+ </ThemeProvider>
60
+ );
61
+ }
62
+ ```
63
+
64
+ `ThemeProvider` holds the theme, the mode (`light`, `dark` or `system`), the contrast level and
65
+ the motion scheme, remembers the visitor's choice, and exposes it through `useTheme`.
66
+ `ThemeScope` gives part of a page its own theme.
67
+
68
+ ## Next.js
69
+
70
+ Interactive components are client components (`"use client"`), so server components can render
71
+ them. The `@windmorph/react/next` entry adds:
72
+
73
+ - `NextRouterProvider`, so the library's links (`href` on `Button`, `ListItem`, `Tab`, …) navigate
74
+ with the Next.js router;
75
+ - `getThemeFromCookies` and `themeAttributes`, so the App Router renders the visitor's theme on the
76
+ server with no flash (`ThemeScript` does the same for static pages and the Pages Router);
77
+ - `useNavigationGuard` and `useGuardedNavigate`, to ask before leaving unsaved changes.
78
+
79
+ See the [Next.js guide](https://windmorph.dev/nextjs).
80
+
81
+ ## Custom themes
82
+
83
+ Six themes are built in (`baseline`, `ocean`, `forest`, `sunset`, `rose`, `slate`). Make your
84
+ own from a brand colour with the M3 2025 colour spec, and pass it to `ThemeProvider`:
85
+
86
+ ```tsx
87
+ import { createTheme, ThemeProvider } from '@windmorph/react';
88
+
89
+ const brand = createTheme({
90
+ name: 'brand',
91
+ seed: '#1877F2',
92
+ variant: 'vibrant', // tonal-spot (default) | neutral | vibrant | expressive
93
+ // Optional: take any of the six palettes from another variant or a hex colour,
94
+ // e.g. vivid accents on calm, nearly neutral surfaces.
95
+ palettes: { neutral: 'tonal-spot', neutralVariant: 'tonal-spot' },
96
+ });
97
+
98
+ <ThemeProvider themes={['baseline', brand]} defaultTheme="brand">
99
+ {children}
100
+ </ThemeProvider>;
101
+ ```
102
+
103
+ For static sites, the `windmorph` CLI writes the same CSS to a file:
104
+
105
+ ```bash
106
+ npx @windmorph/react theme --name brand --seed "#1877F2" --variant vibrant \
107
+ --palette neutral=tonal-spot --palette neutral-variant=tonal-spot --out brand.css
108
+ ```
109
+
110
+ See the [Theming guide](https://windmorph.dev/theming) for modes, contrast levels,
111
+ `ThemeScope`, mixing palettes and flash-free server rendering.
112
+
113
+ ## Entries
114
+
115
+ | Import | What it holds |
116
+ | -------------------------------------- | ----------------------------------------------------------------------- |
117
+ | `@windmorph/react` | The components, theming, tokens and `cn()` |
118
+ | `@windmorph/react/next` | The Next.js helpers above |
119
+ | `@windmorph/react/primitives` | Lower-level building blocks, for components built on top of the library |
120
+ | `@windmorph/react/styles.css` | The tokens, themes and utilities, for Tailwind CSS v4 |
121
+ | `@windmorph/react/styles.compiled.css` | The same, compiled, for apps without Tailwind |
122
+
123
+ ## Vite 8 and `"use client"`
124
+
125
+ Vite 8 logs a harmless `MODULE_LEVEL_DIRECTIVE` warning for each `"use client"` module in
126
+ client-only builds. To silence it:
127
+
128
+ ```ts
129
+ // vite.config.ts
130
+ export default defineConfig({
131
+ build: {
132
+ rolldownOptions: {
133
+ onLog(level, log, handler) {
134
+ if (log.code !== 'MODULE_LEVEL_DIRECTIVE') handler(level, log);
135
+ },
136
+ },
137
+ },
138
+ });
139
+ ```
140
+
141
+ ## Documentation
142
+
143
+ [windmorph.dev](https://windmorph.dev/) has the getting-started, theming, motion,
144
+ customisation, accessibility, Next.js and from-Compose guides, the spec status, the release
145
+ notes, and a page per component with live examples and generated props tables.
146
+
147
+ ## Licence
148
+
149
+ MIT. Bundles `@material/material-color-utilities` and code ported from the Android Open Source
150
+ Project (Apache-2.0); see `NOTICE`.
package/dist/cli.d.ts ADDED
@@ -0,0 +1 @@
1
+ export {}
package/dist/cli.js ADDED
@@ -0,0 +1,112 @@
1
+ #!/usr/bin/env node
2
+ import { CONTRAST_LEVEL_NAMES, PALETTE_NAMES, SCHEME_VARIANTS } from "./tokens/color.js";
3
+ import { createTheme } from "./theme/create-theme.js";
4
+ import { parseCustomColors, parsePalettes, toKebabCase } from "./theme/parse-palettes.js";
5
+ import { writeFile } from "node:fs/promises";
6
+ import { parseArgs } from "node:util";
7
+ //#region src/cli.ts
8
+ const USAGE = `Usage: npx @windmorph/react theme --seed <hex> --name <name> [options]
9
+
10
+ Generates a static CSS colour theme (light, dark and system modes for each
11
+ contrast level) using the Material 3 2025 colour spec.
12
+
13
+ Options:
14
+ --seed <hex> Seed colour, e.g. "#0B57D0" (required)
15
+ --name <name> Theme name for data-theme, lowercase kebab-case (required)
16
+ --variant <variant> ${SCHEME_VARIANTS.join(" | ")} (default: tonal-spot)
17
+ --palette <name>=<source>
18
+ Takes one palette from elsewhere; repeatable. <name> is
19
+ ${PALETTE_NAMES.map(toKebabCase).join(", ")};
20
+ <source> is a variant or a hex colour, e.g.
21
+ --palette neutral=tonal-spot --palette tertiary=#00A07A
22
+ --custom <name>=<hex> Sets the success or warning colour; repeatable, e.g.
23
+ --custom success=#0B8043 --custom warning=#E37400
24
+ --no-harmonize Keeps the custom colours' exact hues (by default they turn
25
+ toward the seed, as in Material Theme Builder)
26
+ --contrast <levels> Comma-separated: ${CONTRAST_LEVEL_NAMES.join(",")} (default: all)
27
+ --out <file> Write to a file instead of stdout
28
+ -h, --help Show this message
29
+ `;
30
+ function fail(message) {
31
+ process.stderr.write(`Error: ${message}\n\n${USAGE}`);
32
+ process.exit(1);
33
+ }
34
+ const { positionals, values } = parseArgs({
35
+ allowPositionals: true,
36
+ options: {
37
+ seed: { type: "string" },
38
+ name: { type: "string" },
39
+ variant: {
40
+ type: "string",
41
+ default: "tonal-spot"
42
+ },
43
+ palette: {
44
+ type: "string",
45
+ multiple: true,
46
+ default: []
47
+ },
48
+ custom: {
49
+ type: "string",
50
+ multiple: true,
51
+ default: []
52
+ },
53
+ "no-harmonize": {
54
+ type: "boolean",
55
+ default: false
56
+ },
57
+ contrast: {
58
+ type: "string",
59
+ default: CONTRAST_LEVEL_NAMES.join(",")
60
+ },
61
+ out: { type: "string" },
62
+ help: {
63
+ type: "boolean",
64
+ short: "h"
65
+ }
66
+ }
67
+ });
68
+ if (values.help) {
69
+ process.stdout.write(USAGE);
70
+ process.exit(0);
71
+ }
72
+ if (positionals[0] !== "theme") fail("unknown command. Only \"theme\" is supported.");
73
+ if (!values.seed) fail("--seed is required.");
74
+ if (!values.name) fail("--name is required.");
75
+ if (!SCHEME_VARIANTS.includes(values.variant)) fail(`--variant must be one of ${SCHEME_VARIANTS.join(", ")}.`);
76
+ const contrast = values.contrast.split(",").map((level) => level.trim());
77
+ for (const level of contrast) if (!CONTRAST_LEVEL_NAMES.includes(level)) fail(`unknown contrast level "${level}".`);
78
+ let palettes = {};
79
+ try {
80
+ palettes = parsePalettes(values.palette);
81
+ } catch (error) {
82
+ fail(error instanceof Error ? error.message : String(error));
83
+ }
84
+ let customColors = {};
85
+ try {
86
+ customColors = parseCustomColors(values.custom);
87
+ } catch (error) {
88
+ fail(error instanceof Error ? error.message : String(error));
89
+ }
90
+ let css;
91
+ try {
92
+ css = createTheme({
93
+ name: values.name,
94
+ seed: values.seed,
95
+ variant: values.variant,
96
+ palettes,
97
+ customColors,
98
+ harmonize: !values["no-harmonize"],
99
+ contrast
100
+ }).css;
101
+ } catch (error) {
102
+ fail(error instanceof Error ? error.message : String(error));
103
+ }
104
+ const paletteNote = values.palette.length > 0 ? `, palettes ${values.palette.join(" ")}` : "";
105
+ const output = `/* @windmorph/react theme "${values.name}" from ${values.seed} (${values.variant}${paletteNote}). */\n\n${css}\n`;
106
+ if (values.out) {
107
+ await writeFile(values.out, output);
108
+ process.stderr.write(`Wrote ${values.out}\n`);
109
+ } else process.stdout.write(output);
110
+ //#endregion
111
+
112
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","names":[],"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { writeFile } from 'node:fs/promises';\nimport { parseArgs } from 'node:util';\nimport { createTheme } from './theme/create-theme';\nimport { parseCustomColors, parsePalettes, toKebabCase } from './theme/parse-palettes';\nimport {\n CONTRAST_LEVEL_NAMES,\n PALETTE_NAMES,\n SCHEME_VARIANTS,\n type ContrastLevel,\n type SchemeVariant,\n type ThemePalettes,\n} from './tokens/color';\n\nconst USAGE = `Usage: npx @windmorph/react theme --seed <hex> --name <name> [options]\n\nGenerates a static CSS colour theme (light, dark and system modes for each\ncontrast level) using the Material 3 2025 colour spec.\n\nOptions:\n --seed <hex> Seed colour, e.g. \"#0B57D0\" (required)\n --name <name> Theme name for data-theme, lowercase kebab-case (required)\n --variant <variant> ${SCHEME_VARIANTS.join(' | ')} (default: tonal-spot)\n --palette <name>=<source>\n Takes one palette from elsewhere; repeatable. <name> is\n ${PALETTE_NAMES.map(toKebabCase).join(', ')};\n <source> is a variant or a hex colour, e.g.\n --palette neutral=tonal-spot --palette tertiary=#00A07A\n --custom <name>=<hex> Sets the success or warning colour; repeatable, e.g.\n --custom success=#0B8043 --custom warning=#E37400\n --no-harmonize Keeps the custom colours' exact hues (by default they turn\n toward the seed, as in Material Theme Builder)\n --contrast <levels> Comma-separated: ${CONTRAST_LEVEL_NAMES.join(',')} (default: all)\n --out <file> Write to a file instead of stdout\n -h, --help Show this message\n`;\n\nfunction fail(message: string): never {\n process.stderr.write(`Error: ${message}\\n\\n${USAGE}`);\n process.exit(1);\n}\n\nconst { positionals, values } = parseArgs({\n allowPositionals: true,\n options: {\n seed: { type: 'string' },\n name: { type: 'string' },\n variant: { type: 'string', default: 'tonal-spot' },\n palette: { type: 'string', multiple: true, default: [] },\n custom: { type: 'string', multiple: true, default: [] },\n 'no-harmonize': { type: 'boolean', default: false },\n contrast: { type: 'string', default: CONTRAST_LEVEL_NAMES.join(',') },\n out: { type: 'string' },\n help: { type: 'boolean', short: 'h' },\n },\n});\n\nif (values.help) {\n process.stdout.write(USAGE);\n process.exit(0);\n}\nif (positionals[0] !== 'theme') fail('unknown command. Only \"theme\" is supported.');\nif (!values.seed) fail('--seed is required.');\nif (!values.name) fail('--name is required.');\nif (!(SCHEME_VARIANTS as readonly string[]).includes(values.variant)) {\n fail(`--variant must be one of ${SCHEME_VARIANTS.join(', ')}.`);\n}\nconst contrast = values.contrast.split(',').map((level) => level.trim());\nfor (const level of contrast) {\n if (!(CONTRAST_LEVEL_NAMES as readonly string[]).includes(level)) {\n fail(`unknown contrast level \"${level}\".`);\n }\n}\n\nlet palettes: ThemePalettes = {};\ntry {\n palettes = parsePalettes(values.palette);\n} catch (error) {\n fail(error instanceof Error ? error.message : String(error));\n}\n\nlet customColors = {};\ntry {\n customColors = parseCustomColors(values.custom);\n} catch (error) {\n fail(error instanceof Error ? error.message : String(error));\n}\n\nlet css: string;\ntry {\n css = createTheme({\n name: values.name,\n seed: values.seed,\n variant: values.variant as SchemeVariant,\n palettes,\n customColors,\n harmonize: !values['no-harmonize'],\n contrast: contrast as ContrastLevel[],\n }).css;\n} catch (error) {\n fail(error instanceof Error ? error.message : String(error));\n}\n\nconst paletteNote = values.palette.length > 0 ? `, palettes ${values.palette.join(' ')}` : '';\nconst output = `/* @windmorph/react theme \"${values.name}\" from ${values.seed} (${values.variant}${paletteNote}). */\\n\\n${css}\\n`;\nif (values.out) {\n await writeFile(values.out, output);\n process.stderr.write(`Wrote ${values.out}\\n`);\n} else {\n process.stdout.write(output);\n}\n"],"mappings":";;;;;;;AAcA,MAAM,QAAQ;;;;;;;;0BAQY,gBAAgB,KAAK,KAAK,EAAE;;;0BAG5B,cAAc,IAAI,WAAW,CAAC,CAAC,KAAK,IAAI,EAAE;;;;;;;2CAOzB,qBAAqB,KAAK,GAAG,EAAE;;;;AAK1E,SAAS,KAAK,SAAwB;CACpC,QAAQ,OAAO,MAAM,UAAU,QAAQ,MAAM,OAAO;CACpD,QAAQ,KAAK,CAAC;AAChB;AAEA,MAAM,EAAE,aAAa,WAAW,UAAU;CACxC,kBAAkB;CAClB,SAAS;EACP,MAAM,EAAE,MAAM,SAAS;EACvB,MAAM,EAAE,MAAM,SAAS;EACvB,SAAS;GAAE,MAAM;GAAU,SAAS;EAAa;EACjD,SAAS;GAAE,MAAM;GAAU,UAAU;GAAM,SAAS,CAAC;EAAE;EACvD,QAAQ;GAAE,MAAM;GAAU,UAAU;GAAM,SAAS,CAAC;EAAE;EACtD,gBAAgB;GAAE,MAAM;GAAW,SAAS;EAAM;EAClD,UAAU;GAAE,MAAM;GAAU,SAAS,qBAAqB,KAAK,GAAG;EAAE;EACpE,KAAK,EAAE,MAAM,SAAS;EACtB,MAAM;GAAE,MAAM;GAAW,OAAO;EAAI;CACtC;AACF,CAAC;AAED,IAAI,OAAO,MAAM;CACf,QAAQ,OAAO,MAAM,KAAK;CAC1B,QAAQ,KAAK,CAAC;AAChB;AACA,IAAI,YAAY,OAAO,SAAS,KAAK,+CAA6C;AAClF,IAAI,CAAC,OAAO,MAAM,KAAK,qBAAqB;AAC5C,IAAI,CAAC,OAAO,MAAM,KAAK,qBAAqB;AAC5C,IAAI,CAAE,gBAAsC,SAAS,OAAO,OAAO,GACjE,KAAK,4BAA4B,gBAAgB,KAAK,IAAI,EAAE,EAAE;AAEhE,MAAM,WAAW,OAAO,SAAS,MAAM,GAAG,CAAC,CAAC,KAAK,UAAU,MAAM,KAAK,CAAC;AACvE,KAAK,MAAM,SAAS,UAClB,IAAI,CAAE,qBAA2C,SAAS,KAAK,GAC7D,KAAK,2BAA2B,MAAM,GAAG;AAI7C,IAAI,WAA0B,CAAC;AAC/B,IAAI;CACF,WAAW,cAAc,OAAO,OAAO;AACzC,SAAS,OAAO;CACd,KAAK,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;AAC7D;AAEA,IAAI,eAAe,CAAC;AACpB,IAAI;CACF,eAAe,kBAAkB,OAAO,MAAM;AAChD,SAAS,OAAO;CACd,KAAK,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;AAC7D;AAEA,IAAI;AACJ,IAAI;CACF,MAAM,YAAY;EAChB,MAAM,OAAO;EACb,MAAM,OAAO;EACb,SAAS,OAAO;EAChB;EACA;EACA,WAAW,CAAC,OAAO;EACT;CACZ,CAAC,CAAC,CAAC;AACL,SAAS,OAAO;CACd,KAAK,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;AAC7D;AAEA,MAAM,cAAc,OAAO,QAAQ,SAAS,IAAI,cAAc,OAAO,QAAQ,KAAK,GAAG,MAAM;AAC3F,MAAM,SAAS,8BAA8B,OAAO,KAAK,SAAS,OAAO,KAAK,IAAI,OAAO,UAAU,YAAY,WAAW,IAAI;AAC9H,IAAI,OAAO,KAAK;CACd,MAAM,UAAU,OAAO,KAAK,MAAM;CAClC,QAAQ,OAAO,MAAM,SAAS,OAAO,IAAI,GAAG;AAC9C,OACE,QAAQ,OAAO,MAAM,MAAM"}
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ import { ButtonContext, standardIconButtons } from "../button/ButtonContext.js";
3
+ import { TooltipPlacementContext } from "../tooltip/tooltip-placement.js";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/components/app-bar/AppBarItems.tsx
6
+ /**
7
+ * What an app bar gives the controls inside it: `standard` icon buttons, and plain tooltips
8
+ * below (the spec: "If the element is in an app bar, the plain tooltip appears below the
9
+ * element"). Shared by `TopAppBar` and `SearchAppBar`.
10
+ */
11
+ function AppBarItems({ children }) {
12
+ return /* @__PURE__ */ jsx(TooltipPlacementContext, {
13
+ value: "bottom",
14
+ children: /* @__PURE__ */ jsx(ButtonContext, {
15
+ value: standardIconButtons,
16
+ children
17
+ })
18
+ });
19
+ }
20
+ //#endregion
21
+ export { AppBarItems };
22
+
23
+ //# sourceMappingURL=AppBarItems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppBarItems.js","names":[],"sources":["../../../src/components/app-bar/AppBarItems.tsx"],"sourcesContent":["'use client';\n\nimport type { ReactNode } from 'react';\nimport { ButtonContext, standardIconButtons } from '../button/ButtonContext';\nimport { TooltipPlacementContext } from '../tooltip/tooltip-placement';\n\n/**\n * What an app bar gives the controls inside it: `standard` icon buttons, and plain tooltips\n * below (the spec: \"If the element is in an app bar, the plain tooltip appears below the\n * element\"). Shared by `TopAppBar` and `SearchAppBar`.\n */\nexport function AppBarItems({ children }: { children: ReactNode }) {\n return (\n <TooltipPlacementContext value=\"bottom\">\n <ButtonContext value={standardIconButtons}>{children}</ButtonContext>\n </TooltipPlacementContext>\n );\n}\n"],"mappings":";;;;;;;;;;AAWA,SAAgB,YAAY,EAAE,YAAqC;CACjE,OACE,oBAAC,yBAAD;EAAyB,OAAM;EAC7B,UAAA,oBAAC,eAAD;GAAe,OAAO;GAAsB;EAAwB,CAAA;CAC7C,CAAA;AAE7B"}
@@ -0,0 +1,89 @@
1
+ import { TopAppBarTitleAlign, TopAppBarVariant } from "./app-bar-styles.js";
2
+ import { TopAppBarScrollBehavior } from "./use-app-bar-scroll.js";
3
+ import { ComponentPropsWithRef, ReactNode, RefObject } from "react";
4
+ //#region src/components/app-bar/TopAppBar.d.ts
5
+ export interface TopAppBarClassNames {
6
+ /** The `<header>` container, merged with `className`. */
7
+ root?: string;
8
+ /** The 64px top row. */
9
+ row?: string;
10
+ /** The leading slot holding `navigationIcon`. */
11
+ navigation?: string;
12
+ /** The top row's title block. */
13
+ title?: string;
14
+ /** The top row's title text. */
15
+ titleText?: string;
16
+ /** The top row's subtitle text. */
17
+ subtitleText?: string;
18
+ /** The trailing slot holding `actions`. */
19
+ actions?: string;
20
+ /** The expanded title row of medium and large bars. */
21
+ expandedRow?: string;
22
+ /** The expanded row's title text. */
23
+ expandedTitle?: string;
24
+ /** The expanded row's subtitle text. */
25
+ expandedSubtitle?: string;
26
+ /** The accessory row below the title rows (`bottom`). */
27
+ bottom?: string;
28
+ }
29
+ interface TopAppBarOwnProps {
30
+ /**
31
+ * `small` is a 64px single row; `medium` and `large` are Compose's flexible two-row bars
32
+ * (112 / 120px, 136 / 152px with a subtitle) that collapse to 64px. @default "small"
33
+ */
34
+ variant?: TopAppBarVariant;
35
+ /** The title, e.g. the screen's name. Wrap it in a heading element if it names the page. */
36
+ title: ReactNode;
37
+ /** A second line under the title, e.g. the current section. */
38
+ subtitle?: ReactNode;
39
+ /** Align the title (and subtitle) to the start, or centre it. @default "start" */
40
+ titleAlign?: TopAppBarTitleAlign;
41
+ /** A leading control, usually a back or menu `IconButton`. */
42
+ navigationIcon?: ReactNode;
43
+ /** Trailing controls, usually `IconButton`s. */
44
+ actions?: ReactNode;
45
+ /**
46
+ * Respond to content scrolling under the bar: it sticks to the top, turns
47
+ * `surface-container`, and (for `enter-always` / `exit-until-collapsed`) collapses.
48
+ * Leave it out for a static bar positioned by the consumer.
49
+ */
50
+ scrollBehavior?: TopAppBarScrollBehavior;
51
+ /** The scroll container the bar responds to. Defaults to the window. */
52
+ scrollRef?: RefObject<HTMLElement | null>;
53
+ /**
54
+ * An accessory row below the title rows, such as a row of filter chips or tabs (M3: app
55
+ * bars "can animate on and off screen with another bar of controls, like a row of chips").
56
+ * It's part of the bar: it takes the bar's colour, stays below the collapsed top row of
57
+ * a medium or large bar, and hides and comes back with the bar under `enter-always` and
58
+ * a small bar's `exit-until-collapsed`. Give it its own padding.
59
+ */
60
+ bottom?: ReactNode;
61
+ /**
62
+ * The container's colour once content scrolls under the bar. `container` fills it with
63
+ * `surface-container` (M3's default); `transparent` lets the content show through (M3:
64
+ * "consider setting the app bar container to be transparent on scroll"); give the icon
65
+ * buttons a container fill then (e.g. `variant="tonal"`), so they stay legible over the
66
+ * content.
67
+ * @default "container"
68
+ */
69
+ scrolledColor?: TopAppBarScrolledColor;
70
+ /** Classes for each part, by slot. */
71
+ classNames?: TopAppBarClassNames;
72
+ }
73
+ /** The colour a {@link TopAppBar} takes when content scrolls under it. */
74
+ export type TopAppBarScrolledColor = 'container' | 'transparent';
75
+ export type TopAppBarProps = TopAppBarOwnProps & Omit<ComponentPropsWithRef<'header'>, keyof TopAppBarOwnProps | 'children'>;
76
+ /**
77
+ * M3 Expressive top app bar: a small 64px bar, or the medium and large flexible bars whose
78
+ * large title collapses into the top row as the page scrolls. Titles can be centred and
79
+ * have a subtitle.
80
+ *
81
+ * @example
82
+ * <TopAppBar title={<h1>Inbox</h1>} subtitle="3 unread" variant="medium"
83
+ * scrollBehavior="exit-until-collapsed"
84
+ * navigationIcon={<IconButton icon={<MenuIcon />} aria-label="Menu" />}
85
+ * actions={<IconButton icon={<SearchIcon />} aria-label="Search" />} />
86
+ */
87
+ export declare function TopAppBar({ variant, title, subtitle, titleAlign, navigationIcon, actions, scrollBehavior, scrollRef, bottom, scrolledColor, classNames, className, ref, ...rest }: TopAppBarProps): import("react").JSX.Element;
88
+ //#endregion
89
+ //# sourceMappingURL=TopAppBar.d.ts.map
@@ -0,0 +1,103 @@
1
+ "use client";
2
+ import { cn } from "../../utils/cn.js";
3
+ import { mergeDataTokens } from "../../utils/merge-data-tokens.js";
4
+ import { AppBarItems } from "./AppBarItems.js";
5
+ import { topAppBarStyles } from "./app-bar-styles.js";
6
+ import { useAppBarScroll } from "./use-app-bar-scroll.js";
7
+ import { useRef } from "react";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ import { useObjectRef } from "react-aria";
10
+ //#region src/components/app-bar/TopAppBar.tsx
11
+ /**
12
+ * M3 Expressive top app bar: a small 64px bar, or the medium and large flexible bars whose
13
+ * large title collapses into the top row as the page scrolls. Titles can be centred and
14
+ * have a subtitle.
15
+ *
16
+ * @example
17
+ * <TopAppBar title={<h1>Inbox</h1>} subtitle="3 unread" variant="medium"
18
+ * scrollBehavior="exit-until-collapsed"
19
+ * navigationIcon={<IconButton icon={<MenuIcon />} aria-label="Menu" />}
20
+ * actions={<IconButton icon={<SearchIcon />} aria-label="Search" />} />
21
+ */
22
+ function TopAppBar({ variant = "small", title, subtitle, titleAlign = "start", navigationIcon, actions, scrollBehavior, scrollRef, bottom, scrolledColor = "container", classNames, className, ref, ...rest }) {
23
+ const rootRef = useObjectRef(ref);
24
+ const expandedRowRef = useRef(null);
25
+ const twoRows = variant !== "small";
26
+ const scroll = useAppBarScroll({
27
+ behavior: scrollBehavior,
28
+ rootRef,
29
+ collapsibleRef: twoRows ? expandedRowRef : rootRef,
30
+ scrollRef,
31
+ twoRows
32
+ });
33
+ const styles = topAppBarStyles({
34
+ variant,
35
+ titleAlign,
36
+ hasNavigation: navigationIcon != null,
37
+ hasSubtitle: subtitle != null,
38
+ scrolling: scrollBehavior != null,
39
+ pinned: scrollBehavior === "pinned",
40
+ twoRows,
41
+ scrolledColor
42
+ });
43
+ const hideTopTitle = twoRows && !scroll.collapsed;
44
+ return /* @__PURE__ */ jsx("header", {
45
+ ...rest,
46
+ ref: rootRef,
47
+ "data-tokens": mergeDataTokens("md-comp-app-bar", rest),
48
+ "data-variant": variant,
49
+ "data-scrolled": scroll.scrolled || void 0,
50
+ "data-collapsed": scroll.collapsed || void 0,
51
+ className: styles.root({ class: cn(classNames?.root, className) }),
52
+ children: /* @__PURE__ */ jsxs(AppBarItems, { children: [
53
+ /* @__PURE__ */ jsxs("div", {
54
+ className: styles.row({ class: classNames?.row }),
55
+ children: [
56
+ navigationIcon != null && /* @__PURE__ */ jsx("div", {
57
+ "data-slot": "navigation",
58
+ className: styles.navigation({ class: classNames?.navigation }),
59
+ children: navigationIcon
60
+ }),
61
+ /* @__PURE__ */ jsxs("div", {
62
+ "aria-hidden": hideTopTitle || void 0,
63
+ className: styles.title({ class: classNames?.title }),
64
+ children: [/* @__PURE__ */ jsx("div", {
65
+ "data-slot": "title",
66
+ className: styles.titleText({ class: classNames?.titleText }),
67
+ children: title
68
+ }), subtitle != null && /* @__PURE__ */ jsx("div", {
69
+ "data-slot": "subtitle",
70
+ className: styles.subtitleText({ class: classNames?.subtitleText }),
71
+ children: subtitle
72
+ })]
73
+ }),
74
+ actions != null && /* @__PURE__ */ jsx("div", {
75
+ "data-slot": "actions",
76
+ className: styles.actions({ class: classNames?.actions }),
77
+ children: actions
78
+ })
79
+ ]
80
+ }),
81
+ twoRows && /* @__PURE__ */ jsxs("div", {
82
+ ref: expandedRowRef,
83
+ "aria-hidden": !hideTopTitle || void 0,
84
+ className: styles.expandedRow({ class: classNames?.expandedRow }),
85
+ children: [/* @__PURE__ */ jsx("div", {
86
+ className: styles.expandedTitle({ class: classNames?.expandedTitle }),
87
+ children: title
88
+ }), subtitle != null && /* @__PURE__ */ jsx("div", {
89
+ className: styles.expandedSubtitle({ class: classNames?.expandedSubtitle }),
90
+ children: subtitle
91
+ })]
92
+ }),
93
+ bottom != null && /* @__PURE__ */ jsx("div", {
94
+ className: styles.bottom({ class: classNames?.bottom }),
95
+ children: bottom
96
+ })
97
+ ] })
98
+ });
99
+ }
100
+ //#endregion
101
+ export { TopAppBar };
102
+
103
+ //# sourceMappingURL=TopAppBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopAppBar.js","names":[],"sources":["../../../src/components/app-bar/TopAppBar.tsx"],"sourcesContent":["'use client';\n\nimport { useRef, type ComponentPropsWithRef, type ReactNode, type RefObject } from 'react';\nimport { useObjectRef } from 'react-aria';\nimport { cn } from '../../utils/cn';\nimport { AppBarItems } from './AppBarItems';\nimport { topAppBarStyles, type TopAppBarTitleAlign, type TopAppBarVariant } from './app-bar-styles';\nimport { useAppBarScroll, type TopAppBarScrollBehavior } from './use-app-bar-scroll';\nimport { mergeDataTokens } from '../../utils/merge-data-tokens';\n\nexport interface TopAppBarClassNames {\n /** The `<header>` container, merged with `className`. */\n root?: string;\n /** The 64px top row. */\n row?: string;\n /** The leading slot holding `navigationIcon`. */\n navigation?: string;\n /** The top row's title block. */\n title?: string;\n /** The top row's title text. */\n titleText?: string;\n /** The top row's subtitle text. */\n subtitleText?: string;\n /** The trailing slot holding `actions`. */\n actions?: string;\n /** The expanded title row of medium and large bars. */\n expandedRow?: string;\n /** The expanded row's title text. */\n expandedTitle?: string;\n /** The expanded row's subtitle text. */\n expandedSubtitle?: string;\n /** The accessory row below the title rows (`bottom`). */\n bottom?: string;\n}\n\ninterface TopAppBarOwnProps {\n /**\n * `small` is a 64px single row; `medium` and `large` are Compose's flexible two-row bars\n * (112 / 120px, 136 / 152px with a subtitle) that collapse to 64px. @default \"small\"\n */\n variant?: TopAppBarVariant;\n /** The title, e.g. the screen's name. Wrap it in a heading element if it names the page. */\n title: ReactNode;\n /** A second line under the title, e.g. the current section. */\n subtitle?: ReactNode;\n /** Align the title (and subtitle) to the start, or centre it. @default \"start\" */\n titleAlign?: TopAppBarTitleAlign;\n /** A leading control, usually a back or menu `IconButton`. */\n navigationIcon?: ReactNode;\n /** Trailing controls, usually `IconButton`s. */\n actions?: ReactNode;\n /**\n * Respond to content scrolling under the bar: it sticks to the top, turns\n * `surface-container`, and (for `enter-always` / `exit-until-collapsed`) collapses.\n * Leave it out for a static bar positioned by the consumer.\n */\n scrollBehavior?: TopAppBarScrollBehavior;\n /** The scroll container the bar responds to. Defaults to the window. */\n scrollRef?: RefObject<HTMLElement | null>;\n /**\n * An accessory row below the title rows, such as a row of filter chips or tabs (M3: app\n * bars \"can animate on and off screen with another bar of controls, like a row of chips\").\n * It's part of the bar: it takes the bar's colour, stays below the collapsed top row of\n * a medium or large bar, and hides and comes back with the bar under `enter-always` and\n * a small bar's `exit-until-collapsed`. Give it its own padding.\n */\n bottom?: ReactNode;\n /**\n * The container's colour once content scrolls under the bar. `container` fills it with\n * `surface-container` (M3's default); `transparent` lets the content show through (M3:\n * \"consider setting the app bar container to be transparent on scroll\"); give the icon\n * buttons a container fill then (e.g. `variant=\"tonal\"`), so they stay legible over the\n * content.\n * @default \"container\"\n */\n scrolledColor?: TopAppBarScrolledColor;\n /** Classes for each part, by slot. */\n classNames?: TopAppBarClassNames;\n}\n\n/** The colour a {@link TopAppBar} takes when content scrolls under it. */\nexport type TopAppBarScrolledColor = 'container' | 'transparent';\n\nexport type TopAppBarProps = TopAppBarOwnProps &\n Omit<ComponentPropsWithRef<'header'>, keyof TopAppBarOwnProps | 'children'>;\n\n/**\n * M3 Expressive top app bar: a small 64px bar, or the medium and large flexible bars whose\n * large title collapses into the top row as the page scrolls. Titles can be centred and\n * have a subtitle.\n *\n * @example\n * <TopAppBar title={<h1>Inbox</h1>} subtitle=\"3 unread\" variant=\"medium\"\n * scrollBehavior=\"exit-until-collapsed\"\n * navigationIcon={<IconButton icon={<MenuIcon />} aria-label=\"Menu\" />}\n * actions={<IconButton icon={<SearchIcon />} aria-label=\"Search\" />} />\n */\nexport function TopAppBar({\n variant = 'small',\n title,\n subtitle,\n titleAlign = 'start',\n navigationIcon,\n actions,\n scrollBehavior,\n scrollRef,\n bottom,\n scrolledColor = 'container',\n classNames,\n className,\n ref,\n ...rest\n}: TopAppBarProps) {\n const rootRef = useObjectRef(ref);\n const expandedRowRef = useRef<HTMLDivElement>(null);\n const twoRows = variant !== 'small';\n const scroll = useAppBarScroll({\n behavior: scrollBehavior,\n rootRef,\n collapsibleRef: twoRows ? expandedRowRef : rootRef,\n scrollRef,\n twoRows,\n });\n const styles = topAppBarStyles({\n variant,\n titleAlign,\n hasNavigation: navigationIcon != null,\n hasSubtitle: subtitle != null,\n scrolling: scrollBehavior != null,\n pinned: scrollBehavior === 'pinned',\n twoRows,\n scrolledColor,\n });\n // Only one of a two-row bar's titles is announced: the expanded one until it is half collapsed.\n const hideTopTitle = twoRows && !scroll.collapsed;\n\n return (\n <header\n {...rest}\n ref={rootRef}\n data-tokens={mergeDataTokens('md-comp-app-bar', rest)}\n data-variant={variant}\n data-scrolled={scroll.scrolled || undefined}\n data-collapsed={scroll.collapsed || undefined}\n className={styles.root({ class: cn(classNames?.root, className) })}\n >\n <AppBarItems>\n <div className={styles.row({ class: classNames?.row })}>\n {navigationIcon != null && (\n <div\n data-slot=\"navigation\"\n className={styles.navigation({ class: classNames?.navigation })}\n >\n {navigationIcon}\n </div>\n )}\n <div\n aria-hidden={hideTopTitle || undefined}\n className={styles.title({ class: classNames?.title })}\n >\n <div data-slot=\"title\" className={styles.titleText({ class: classNames?.titleText })}>\n {title}\n </div>\n {subtitle != null && (\n <div\n data-slot=\"subtitle\"\n className={styles.subtitleText({ class: classNames?.subtitleText })}\n >\n {subtitle}\n </div>\n )}\n </div>\n {actions != null && (\n <div data-slot=\"actions\" className={styles.actions({ class: classNames?.actions })}>\n {actions}\n </div>\n )}\n </div>\n {twoRows && (\n <div\n ref={expandedRowRef}\n aria-hidden={!hideTopTitle || undefined}\n className={styles.expandedRow({ class: classNames?.expandedRow })}\n >\n <div className={styles.expandedTitle({ class: classNames?.expandedTitle })}>\n {title}\n </div>\n {subtitle != null && (\n <div className={styles.expandedSubtitle({ class: classNames?.expandedSubtitle })}>\n {subtitle}\n </div>\n )}\n </div>\n )}\n {bottom != null && (\n <div className={styles.bottom({ class: classNames?.bottom })}>{bottom}</div>\n )}\n </AppBarItems>\n </header>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAiGA,SAAgB,UAAU,EACxB,UAAU,SACV,OACA,UACA,aAAa,SACb,gBACA,SACA,gBACA,WACA,QACA,gBAAgB,aAChB,YACA,WACA,KACA,GAAG,QACc;CACjB,MAAM,UAAU,aAAa,GAAG;CAChC,MAAM,iBAAiB,OAAuB,IAAI;CAClD,MAAM,UAAU,YAAY;CAC5B,MAAM,SAAS,gBAAgB;EAC7B,UAAU;EACV;EACA,gBAAgB,UAAU,iBAAiB;EAC3C;EACA;CACF,CAAC;CACD,MAAM,SAAS,gBAAgB;EAC7B;EACA;EACA,eAAe,kBAAkB;EACjC,aAAa,YAAY;EACzB,WAAW,kBAAkB;EAC7B,QAAQ,mBAAmB;EAC3B;EACA;CACF,CAAC;CAED,MAAM,eAAe,WAAW,CAAC,OAAO;CAExC,OACE,oBAAC,UAAD;EACE,GAAI;EACJ,KAAK;EACL,eAAa,gBAAgB,mBAAmB,IAAI;EACpD,gBAAc;EACd,iBAAe,OAAO,YAAY,KAAA;EAClC,kBAAgB,OAAO,aAAa,KAAA;EACpC,WAAW,OAAO,KAAK,EAAE,OAAO,GAAG,YAAY,MAAM,SAAS,EAAE,CAAC;EAEjE,UAAA,qBAAC,aAAD,EAAA,UAAA;GACE,qBAAC,OAAD;IAAK,WAAW,OAAO,IAAI,EAAE,OAAO,YAAY,IAAI,CAAC;IAArD,UAAA;KACG,kBAAkB,QACjB,oBAAC,OAAD;MACE,aAAU;MACV,WAAW,OAAO,WAAW,EAAE,OAAO,YAAY,WAAW,CAAC;MAE7D,UAAA;KACE,CAAA;KAEP,qBAAC,OAAD;MACE,eAAa,gBAAgB,KAAA;MAC7B,WAAW,OAAO,MAAM,EAAE,OAAO,YAAY,MAAM,CAAC;MAFtD,UAAA,CAIE,oBAAC,OAAD;OAAK,aAAU;OAAQ,WAAW,OAAO,UAAU,EAAE,OAAO,YAAY,UAAU,CAAC;OAChF,UAAA;MACE,CAAA,GACJ,YAAY,QACX,oBAAC,OAAD;OACE,aAAU;OACV,WAAW,OAAO,aAAa,EAAE,OAAO,YAAY,aAAa,CAAC;OAEjE,UAAA;MACE,CAAA,CAEJ;;KACJ,WAAW,QACV,oBAAC,OAAD;MAAK,aAAU;MAAU,WAAW,OAAO,QAAQ,EAAE,OAAO,YAAY,QAAQ,CAAC;MAC9E,UAAA;KACE,CAAA;IAEJ;;GACJ,WACC,qBAAC,OAAD;IACE,KAAK;IACL,eAAa,CAAC,gBAAgB,KAAA;IAC9B,WAAW,OAAO,YAAY,EAAE,OAAO,YAAY,YAAY,CAAC;IAHlE,UAAA,CAKE,oBAAC,OAAD;KAAK,WAAW,OAAO,cAAc,EAAE,OAAO,YAAY,cAAc,CAAC;KACtE,UAAA;IACE,CAAA,GACJ,YAAY,QACX,oBAAC,OAAD;KAAK,WAAW,OAAO,iBAAiB,EAAE,OAAO,YAAY,iBAAiB,CAAC;KAC5E,UAAA;IACE,CAAA,CAEJ;;GAEN,UAAU,QACT,oBAAC,OAAD;IAAK,WAAW,OAAO,OAAO,EAAE,OAAO,YAAY,OAAO,CAAC;IAAI,UAAA;GAAY,CAAA;EAElE,EAAA,CAAA;CACP,CAAA;AAEZ"}