@windmorph/react 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (761) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +23 -0
  3. package/README.md +149 -2
  4. package/dist/cli.d.ts +1 -0
  5. package/dist/cli.js +112 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/components/app-bar/AppBarItems.js +23 -0
  8. package/dist/components/app-bar/AppBarItems.js.map +1 -0
  9. package/dist/components/app-bar/TopAppBar.d.ts +89 -0
  10. package/dist/components/app-bar/TopAppBar.js +103 -0
  11. package/dist/components/app-bar/TopAppBar.js.map +1 -0
  12. package/dist/components/app-bar/app-bar-styles.d.ts +280 -0
  13. package/dist/components/app-bar/app-bar-styles.js +142 -0
  14. package/dist/components/app-bar/app-bar-styles.js.map +1 -0
  15. package/dist/components/app-bar/app-bar-tokens.d.ts +7 -0
  16. package/dist/components/app-bar/app-bar-tokens.js +64 -0
  17. package/dist/components/app-bar/app-bar-tokens.js.map +1 -0
  18. package/dist/components/app-bar/use-app-bar-scroll.d.ts +6 -0
  19. package/dist/components/app-bar/use-app-bar-scroll.js +139 -0
  20. package/dist/components/app-bar/use-app-bar-scroll.js.map +1 -0
  21. package/dist/components/autocomplete/Autocomplete.d.ts +142 -0
  22. package/dist/components/autocomplete/Autocomplete.js +284 -0
  23. package/dist/components/autocomplete/Autocomplete.js.map +1 -0
  24. package/dist/components/badge/Badge.d.ts +71 -0
  25. package/dist/components/badge/Badge.js +72 -0
  26. package/dist/components/badge/Badge.js.map +1 -0
  27. package/dist/components/badge/badge-styles.d.ts +100 -0
  28. package/dist/components/badge/badge-styles.js +43 -0
  29. package/dist/components/badge/badge-styles.js.map +1 -0
  30. package/dist/components/badge/badge-tokens.d.ts +7 -0
  31. package/dist/components/badge/badge-tokens.js +40 -0
  32. package/dist/components/badge/badge-tokens.js.map +1 -0
  33. package/dist/components/button/Button.d.ts +91 -0
  34. package/dist/components/button/Button.js +96 -0
  35. package/dist/components/button/Button.js.map +1 -0
  36. package/dist/components/button/ButtonContext.d.ts +30 -0
  37. package/dist/components/button/ButtonContext.js +18 -0
  38. package/dist/components/button/ButtonContext.js.map +1 -0
  39. package/dist/components/button/DensityZeroButtons.js +25 -0
  40. package/dist/components/button/DensityZeroButtons.js.map +1 -0
  41. package/dist/components/button/button-pending.d.ts +10 -0
  42. package/dist/components/button/button-pending.js +166 -0
  43. package/dist/components/button/button-pending.js.map +1 -0
  44. package/dist/components/button/button-styles.d.ts +216 -0
  45. package/dist/components/button/button-styles.js +199 -0
  46. package/dist/components/button/button-styles.js.map +1 -0
  47. package/dist/components/button/button-tokens.d.ts +10 -0
  48. package/dist/components/button/button-tokens.js +257 -0
  49. package/dist/components/button/button-tokens.js.map +1 -0
  50. package/dist/components/button/connected-shapes.js +152 -0
  51. package/dist/components/button/connected-shapes.js.map +1 -0
  52. package/dist/components/card/Card.d.ts +60 -0
  53. package/dist/components/card/Card.js +69 -0
  54. package/dist/components/card/Card.js.map +1 -0
  55. package/dist/components/card/card-styles.d.ts +42 -0
  56. package/dist/components/card/card-styles.js +64 -0
  57. package/dist/components/card/card-styles.js.map +1 -0
  58. package/dist/components/card/card-tokens.d.ts +7 -0
  59. package/dist/components/card/card-tokens.js +84 -0
  60. package/dist/components/card/card-tokens.js.map +1 -0
  61. package/dist/components/carousel/Carousel.d.ts +124 -0
  62. package/dist/components/carousel/Carousel.js +387 -0
  63. package/dist/components/carousel/Carousel.js.map +1 -0
  64. package/dist/components/carousel/carousel-keylines.js +486 -0
  65. package/dist/components/carousel/carousel-keylines.js.map +1 -0
  66. package/dist/components/carousel/carousel-press-area.js +35 -0
  67. package/dist/components/carousel/carousel-press-area.js.map +1 -0
  68. package/dist/components/carousel/carousel-styles.d.ts +188 -0
  69. package/dist/components/carousel/carousel-styles.js +116 -0
  70. package/dist/components/carousel/carousel-styles.js.map +1 -0
  71. package/dist/components/carousel/carousel-tokens.d.ts +7 -0
  72. package/dist/components/carousel/carousel-tokens.js +18 -0
  73. package/dist/components/carousel/carousel-tokens.js.map +1 -0
  74. package/dist/components/checkbox/Checkbox.d.ts +78 -0
  75. package/dist/components/checkbox/Checkbox.js +77 -0
  76. package/dist/components/checkbox/Checkbox.js.map +1 -0
  77. package/dist/components/checkbox/checkbox-box.js +34 -0
  78. package/dist/components/checkbox/checkbox-box.js.map +1 -0
  79. package/dist/components/checkbox/checkbox-styles.d.ts +100 -0
  80. package/dist/components/checkbox/checkbox-styles.js +54 -0
  81. package/dist/components/checkbox/checkbox-styles.js.map +1 -0
  82. package/dist/components/checkbox/checkbox-tokens.d.ts +7 -0
  83. package/dist/components/checkbox/checkbox-tokens.js +41 -0
  84. package/dist/components/checkbox/checkbox-tokens.js.map +1 -0
  85. package/dist/components/chip/Chip.d.ts +171 -0
  86. package/dist/components/chip/Chip.js +348 -0
  87. package/dist/components/chip/Chip.js.map +1 -0
  88. package/dist/components/chip/ChipSet.d.ts +70 -0
  89. package/dist/components/chip/ChipSet.js +198 -0
  90. package/dist/components/chip/ChipSet.js.map +1 -0
  91. package/dist/components/chip/chip-styles.d.ts +263 -0
  92. package/dist/components/chip/chip-styles.js +360 -0
  93. package/dist/components/chip/chip-styles.js.map +1 -0
  94. package/dist/components/chip/chip-tokens.d.ts +13 -0
  95. package/dist/components/chip/chip-tokens.js +185 -0
  96. package/dist/components/chip/chip-tokens.js.map +1 -0
  97. package/dist/components/date-picker/CalendarGrid.js +94 -0
  98. package/dist/components/date-picker/CalendarGrid.js.map +1 -0
  99. package/dist/components/date-picker/CompactDateDialog.js +63 -0
  100. package/dist/components/date-picker/CompactDateDialog.js.map +1 -0
  101. package/dist/components/date-picker/DateField.d.ts +161 -0
  102. package/dist/components/date-picker/DateField.js +393 -0
  103. package/dist/components/date-picker/DateField.js.map +1 -0
  104. package/dist/components/date-picker/DateInput.d.ts +20 -0
  105. package/dist/components/date-picker/DateInput.js +99 -0
  106. package/dist/components/date-picker/DateInput.js.map +1 -0
  107. package/dist/components/date-picker/DatePicker.d.ts +165 -0
  108. package/dist/components/date-picker/DatePicker.js +492 -0
  109. package/dist/components/date-picker/DatePicker.js.map +1 -0
  110. package/dist/components/date-picker/PickerDialog.d.ts +121 -0
  111. package/dist/components/date-picker/PickerDialog.js +161 -0
  112. package/dist/components/date-picker/PickerDialog.js.map +1 -0
  113. package/dist/components/date-picker/calendar-parts.js +141 -0
  114. package/dist/components/date-picker/calendar-parts.js.map +1 -0
  115. package/dist/components/date-picker/date-format.js +72 -0
  116. package/dist/components/date-picker/date-format.js.map +1 -0
  117. package/dist/components/date-picker/date-picker-styles.d.ts +247 -0
  118. package/dist/components/date-picker/date-picker-styles.js +163 -0
  119. package/dist/components/date-picker/date-picker-styles.js.map +1 -0
  120. package/dist/components/date-picker/date-picker-tokens.d.ts +7 -0
  121. package/dist/components/date-picker/date-picker-tokens.js +104 -0
  122. package/dist/components/date-picker/date-picker-tokens.js.map +1 -0
  123. package/dist/components/date-picker/picker-dialog-context.js +8 -0
  124. package/dist/components/date-picker/picker-dialog-context.js.map +1 -0
  125. package/dist/components/date-picker/picker-dialog-styles.d.ts +95 -0
  126. package/dist/components/date-picker/picker-dialog-styles.js +57 -0
  127. package/dist/components/date-picker/picker-dialog-styles.js.map +1 -0
  128. package/dist/components/date-picker/picker-icons.js +24 -0
  129. package/dist/components/date-picker/picker-icons.js.map +1 -0
  130. package/dist/components/date-picker/use-media-query.js +21 -0
  131. package/dist/components/date-picker/use-media-query.js.map +1 -0
  132. package/dist/components/date-picker/use-size-transform.js +62 -0
  133. package/dist/components/date-picker/use-size-transform.js.map +1 -0
  134. package/dist/components/date-picker/use-view-exit.js +68 -0
  135. package/dist/components/date-picker/use-view-exit.js.map +1 -0
  136. package/dist/components/dialog/Dialog.d.ts +267 -0
  137. package/dist/components/dialog/Dialog.js +521 -0
  138. package/dist/components/dialog/Dialog.js.map +1 -0
  139. package/dist/components/dialog/dialog-styles.d.ts +335 -0
  140. package/dist/components/dialog/dialog-styles.js +377 -0
  141. package/dist/components/dialog/dialog-styles.js.map +1 -0
  142. package/dist/components/dialog/dialog-tokens.d.ts +7 -0
  143. package/dist/components/dialog/dialog-tokens.js +57 -0
  144. package/dist/components/dialog/dialog-tokens.js.map +1 -0
  145. package/dist/components/divider/Divider.d.ts +59 -0
  146. package/dist/components/divider/Divider.js +53 -0
  147. package/dist/components/divider/Divider.js.map +1 -0
  148. package/dist/components/divider/divider-styles.d.ts +90 -0
  149. package/dist/components/divider/divider-styles.js +66 -0
  150. package/dist/components/divider/divider-styles.js.map +1 -0
  151. package/dist/components/divider/divider-tokens.d.ts +7 -0
  152. package/dist/components/divider/divider-tokens.js +16 -0
  153. package/dist/components/divider/divider-tokens.js.map +1 -0
  154. package/dist/components/fab/Fab.d.ts +130 -0
  155. package/dist/components/fab/Fab.js +137 -0
  156. package/dist/components/fab/Fab.js.map +1 -0
  157. package/dist/components/fab/FabTooltip.js +36 -0
  158. package/dist/components/fab/FabTooltip.js.map +1 -0
  159. package/dist/components/fab/fab-styles.d.ts +286 -0
  160. package/dist/components/fab/fab-styles.js +131 -0
  161. package/dist/components/fab/fab-styles.js.map +1 -0
  162. package/dist/components/fab/fab-tokens.d.ts +12 -0
  163. package/dist/components/fab/fab-tokens.js +105 -0
  164. package/dist/components/fab/fab-tokens.js.map +1 -0
  165. package/dist/components/fab-menu/FabMenu.d.ts +156 -0
  166. package/dist/components/fab-menu/FabMenu.js +291 -0
  167. package/dist/components/fab-menu/FabMenu.js.map +1 -0
  168. package/dist/components/fab-menu/fab-menu-stagger.js +51 -0
  169. package/dist/components/fab-menu/fab-menu-stagger.js.map +1 -0
  170. package/dist/components/fab-menu/fab-menu-styles.d.ts +166 -0
  171. package/dist/components/fab-menu/fab-menu-styles.js +107 -0
  172. package/dist/components/fab-menu/fab-menu-styles.js.map +1 -0
  173. package/dist/components/fab-menu/fab-menu-tokens.d.ts +7 -0
  174. package/dist/components/fab-menu/fab-menu-tokens.js +120 -0
  175. package/dist/components/fab-menu/fab-menu-tokens.js.map +1 -0
  176. package/dist/components/icon-button/IconButton.d.ts +125 -0
  177. package/dist/components/icon-button/IconButton.js +112 -0
  178. package/dist/components/icon-button/IconButton.js.map +1 -0
  179. package/dist/components/icon-button/icon-button-styles.d.ts +217 -0
  180. package/dist/components/icon-button/icon-button-styles.js +244 -0
  181. package/dist/components/icon-button/icon-button-styles.js.map +1 -0
  182. package/dist/components/icon-button/icon-button-tokens.d.ts +11 -0
  183. package/dist/components/icon-button/icon-button-tokens.js +215 -0
  184. package/dist/components/icon-button/icon-button-tokens.js.map +1 -0
  185. package/dist/components/list/List.d.ts +265 -0
  186. package/dist/components/list/List.js +1386 -0
  187. package/dist/components/list/List.js.map +1 -0
  188. package/dist/components/list/ListMedia.d.ts +88 -0
  189. package/dist/components/list/ListMedia.js +132 -0
  190. package/dist/components/list/ListMedia.js.map +1 -0
  191. package/dist/components/list/list-styles.d.ts +375 -0
  192. package/dist/components/list/list-styles.js +220 -0
  193. package/dist/components/list/list-styles.js.map +1 -0
  194. package/dist/components/list/list-tokens.d.ts +7 -0
  195. package/dist/components/list/list-tokens.js +92 -0
  196. package/dist/components/list/list-tokens.js.map +1 -0
  197. package/dist/components/loading-indicator/LoadingIndicator.d.ts +65 -0
  198. package/dist/components/loading-indicator/LoadingIndicator.js +92 -0
  199. package/dist/components/loading-indicator/LoadingIndicator.js.map +1 -0
  200. package/dist/components/loading-indicator/lazy-loading-indicator.js +25 -0
  201. package/dist/components/loading-indicator/lazy-loading-indicator.js.map +1 -0
  202. package/dist/components/loading-indicator/loading-indicator-frames.js +149 -0
  203. package/dist/components/loading-indicator/loading-indicator-frames.js.map +1 -0
  204. package/dist/components/loading-indicator/loading-indicator-styles.d.ts +36 -0
  205. package/dist/components/loading-indicator/loading-indicator-styles.js +22 -0
  206. package/dist/components/loading-indicator/loading-indicator-styles.js.map +1 -0
  207. package/dist/components/loading-indicator/loading-indicator-tokens.d.ts +7 -0
  208. package/dist/components/loading-indicator/loading-indicator-tokens.js +44 -0
  209. package/dist/components/loading-indicator/loading-indicator-tokens.js.map +1 -0
  210. package/dist/components/menu/Menu.d.ts +215 -0
  211. package/dist/components/menu/Menu.js +715 -0
  212. package/dist/components/menu/Menu.js.map +1 -0
  213. package/dist/components/menu/menu-styles.d.ts +354 -0
  214. package/dist/components/menu/menu-styles.js +219 -0
  215. package/dist/components/menu/menu-styles.js.map +1 -0
  216. package/dist/components/menu/menu-tokens.d.ts +7 -0
  217. package/dist/components/menu/menu-tokens.js +93 -0
  218. package/dist/components/menu/menu-tokens.js.map +1 -0
  219. package/dist/components/menu/menu-trigger.d.ts +51 -0
  220. package/dist/components/menu/menu-trigger.js +100 -0
  221. package/dist/components/menu/menu-trigger.js.map +1 -0
  222. package/dist/components/menu/use-reveal-entering.js +42 -0
  223. package/dist/components/menu/use-reveal-entering.js.map +1 -0
  224. package/dist/components/navigation/NavItem.d.ts +54 -0
  225. package/dist/components/navigation/NavItem.js +182 -0
  226. package/dist/components/navigation/NavItem.js.map +1 -0
  227. package/dist/components/navigation/NavigationBar.d.ts +64 -0
  228. package/dist/components/navigation/NavigationBar.js +121 -0
  229. package/dist/components/navigation/NavigationBar.js.map +1 -0
  230. package/dist/components/navigation/NavigationRail.d.ts +91 -0
  231. package/dist/components/navigation/NavigationRail.js +285 -0
  232. package/dist/components/navigation/NavigationRail.js.map +1 -0
  233. package/dist/components/navigation/nav-item-styles.d.ts +190 -0
  234. package/dist/components/navigation/nav-item-styles.js +123 -0
  235. package/dist/components/navigation/nav-item-styles.js.map +1 -0
  236. package/dist/components/navigation/navigation-styles.d.ts +239 -0
  237. package/dist/components/navigation/navigation-styles.js +134 -0
  238. package/dist/components/navigation/navigation-styles.js.map +1 -0
  239. package/dist/components/navigation/navigation-tokens.d.ts +9 -0
  240. package/dist/components/navigation/navigation-tokens.js +114 -0
  241. package/dist/components/navigation/navigation-tokens.js.map +1 -0
  242. package/dist/components/navigation/use-hide-on-scroll.js +115 -0
  243. package/dist/components/navigation/use-hide-on-scroll.js.map +1 -0
  244. package/dist/components/navigation/use-item-arrow-keys.js +37 -0
  245. package/dist/components/navigation/use-item-arrow-keys.js.map +1 -0
  246. package/dist/components/navigation/use-rail-item-morph.js +61 -0
  247. package/dist/components/navigation/use-rail-item-morph.js.map +1 -0
  248. package/dist/components/progress/ProgressIndicator.d.ts +95 -0
  249. package/dist/components/progress/ProgressIndicator.js +426 -0
  250. package/dist/components/progress/ProgressIndicator.js.map +1 -0
  251. package/dist/components/progress/progress-geometry.js +285 -0
  252. package/dist/components/progress/progress-geometry.js.map +1 -0
  253. package/dist/components/progress/progress-styles.d.ts +81 -0
  254. package/dist/components/progress/progress-styles.js +43 -0
  255. package/dist/components/progress/progress-styles.js.map +1 -0
  256. package/dist/components/progress/progress-tokens.d.ts +7 -0
  257. package/dist/components/progress/progress-tokens.js +39 -0
  258. package/dist/components/progress/progress-tokens.js.map +1 -0
  259. package/dist/components/pull-to-refresh/PullToRefresh.d.ts +94 -0
  260. package/dist/components/pull-to-refresh/PullToRefresh.js +395 -0
  261. package/dist/components/pull-to-refresh/PullToRefresh.js.map +1 -0
  262. package/dist/components/pull-to-refresh/pull-to-refresh-math.js +37 -0
  263. package/dist/components/pull-to-refresh/pull-to-refresh-math.js.map +1 -0
  264. package/dist/components/pull-to-refresh/pull-to-refresh-styles.d.ts +53 -0
  265. package/dist/components/pull-to-refresh/pull-to-refresh-styles.js +14 -0
  266. package/dist/components/pull-to-refresh/pull-to-refresh-styles.js.map +1 -0
  267. package/dist/components/radio/RadioGroup.d.ts +121 -0
  268. package/dist/components/radio/RadioGroup.js +163 -0
  269. package/dist/components/radio/RadioGroup.js.map +1 -0
  270. package/dist/components/radio/radio-ring.js +21 -0
  271. package/dist/components/radio/radio-ring.js.map +1 -0
  272. package/dist/components/radio/radio-styles.d.ts +155 -0
  273. package/dist/components/radio/radio-styles.js +60 -0
  274. package/dist/components/radio/radio-styles.js.map +1 -0
  275. package/dist/components/radio/radio-tokens.d.ts +7 -0
  276. package/dist/components/radio/radio-tokens.js +31 -0
  277. package/dist/components/radio/radio-tokens.js.map +1 -0
  278. package/dist/components/search/SearchAppBar.d.ts +45 -0
  279. package/dist/components/search/SearchAppBar.js +61 -0
  280. package/dist/components/search/SearchAppBar.js.map +1 -0
  281. package/dist/components/search/SearchBar.d.ts +147 -0
  282. package/dist/components/search/SearchBar.js +412 -0
  283. package/dist/components/search/SearchBar.js.map +1 -0
  284. package/dist/components/search/search-styles.d.ts +243 -0
  285. package/dist/components/search/search-styles.js +143 -0
  286. package/dist/components/search/search-styles.js.map +1 -0
  287. package/dist/components/search/search-tokens.d.ts +9 -0
  288. package/dist/components/search/search-tokens.js +70 -0
  289. package/dist/components/search/search-tokens.js.map +1 -0
  290. package/dist/components/select/Select.d.ts +187 -0
  291. package/dist/components/select/Select.js +319 -0
  292. package/dist/components/select/Select.js.map +1 -0
  293. package/dist/components/select/field-shell.d.ts +29 -0
  294. package/dist/components/select/field-shell.js +135 -0
  295. package/dist/components/select/field-shell.js.map +1 -0
  296. package/dist/components/select/option-list.d.ts +81 -0
  297. package/dist/components/select/option-list.js +291 -0
  298. package/dist/components/select/option-list.js.map +1 -0
  299. package/dist/components/select/search-list.js +135 -0
  300. package/dist/components/select/search-list.js.map +1 -0
  301. package/dist/components/select/selection-cap.js +30 -0
  302. package/dist/components/select/selection-cap.js.map +1 -0
  303. package/dist/components/sheet/BottomSheet.d.ts +154 -0
  304. package/dist/components/sheet/BottomSheet.js +442 -0
  305. package/dist/components/sheet/BottomSheet.js.map +1 -0
  306. package/dist/components/sheet/SheetTrigger.d.ts +25 -0
  307. package/dist/components/sheet/SheetTrigger.js +46 -0
  308. package/dist/components/sheet/SheetTrigger.js.map +1 -0
  309. package/dist/components/sheet/SideSheet.d.ts +139 -0
  310. package/dist/components/sheet/SideSheet.js +289 -0
  311. package/dist/components/sheet/SideSheet.js.map +1 -0
  312. package/dist/components/sheet/bottom-sheet-gesture.js +30 -0
  313. package/dist/components/sheet/bottom-sheet-gesture.js.map +1 -0
  314. package/dist/components/sheet/lazy-bottom-sheet.js +33 -0
  315. package/dist/components/sheet/lazy-bottom-sheet.js.map +1 -0
  316. package/dist/components/sheet/sheet-gesture.js +48 -0
  317. package/dist/components/sheet/sheet-gesture.js.map +1 -0
  318. package/dist/components/sheet/sheet-icons.js +31 -0
  319. package/dist/components/sheet/sheet-icons.js.map +1 -0
  320. package/dist/components/sheet/sheet-settle.js +58 -0
  321. package/dist/components/sheet/sheet-settle.js.map +1 -0
  322. package/dist/components/sheet/sheet-styles.d.ts +312 -0
  323. package/dist/components/sheet/sheet-styles.js +229 -0
  324. package/dist/components/sheet/sheet-styles.js.map +1 -0
  325. package/dist/components/sheet/sheet-tokens.d.ts +12 -0
  326. package/dist/components/sheet/sheet-tokens.js +115 -0
  327. package/dist/components/sheet/sheet-tokens.js.map +1 -0
  328. package/dist/components/sheet/side-swipe-gesture.js +22 -0
  329. package/dist/components/sheet/side-swipe-gesture.js.map +1 -0
  330. package/dist/components/sheet/use-peek-inert.js +32 -0
  331. package/dist/components/sheet/use-peek-inert.js.map +1 -0
  332. package/dist/components/sheet/use-side-swipe.js +174 -0
  333. package/dist/components/sheet/use-side-swipe.js.map +1 -0
  334. package/dist/components/slider/Slider.d.ts +129 -0
  335. package/dist/components/slider/Slider.js +295 -0
  336. package/dist/components/slider/Slider.js.map +1 -0
  337. package/dist/components/slider/slider-geometry.js +138 -0
  338. package/dist/components/slider/slider-geometry.js.map +1 -0
  339. package/dist/components/slider/slider-styles.d.ts +133 -0
  340. package/dist/components/slider/slider-styles.js +97 -0
  341. package/dist/components/slider/slider-styles.js.map +1 -0
  342. package/dist/components/slider/slider-tokens.d.ts +7 -0
  343. package/dist/components/slider/slider-tokens.js +66 -0
  344. package/dist/components/slider/slider-tokens.js.map +1 -0
  345. package/dist/components/slider/use-touch-track.js +138 -0
  346. package/dist/components/slider/use-touch-track.js.map +1 -0
  347. package/dist/components/snackbar/Snackbar.d.ts +96 -0
  348. package/dist/components/snackbar/Snackbar.js +253 -0
  349. package/dist/components/snackbar/Snackbar.js.map +1 -0
  350. package/dist/components/snackbar/snackbar-state.d.ts +58 -0
  351. package/dist/components/snackbar/snackbar-state.js +73 -0
  352. package/dist/components/snackbar/snackbar-state.js.map +1 -0
  353. package/dist/components/snackbar/snackbar-styles.d.ts +109 -0
  354. package/dist/components/snackbar/snackbar-styles.js +67 -0
  355. package/dist/components/snackbar/snackbar-styles.js.map +1 -0
  356. package/dist/components/snackbar/snackbar-tokens.d.ts +7 -0
  357. package/dist/components/snackbar/snackbar-tokens.js +54 -0
  358. package/dist/components/snackbar/snackbar-tokens.js.map +1 -0
  359. package/dist/components/split-button/SplitButton.d.ts +109 -0
  360. package/dist/components/split-button/SplitButton.js +195 -0
  361. package/dist/components/split-button/SplitButton.js.map +1 -0
  362. package/dist/components/split-button/split-button-styles.d.ts +214 -0
  363. package/dist/components/split-button/split-button-styles.js +164 -0
  364. package/dist/components/split-button/split-button-styles.js.map +1 -0
  365. package/dist/components/split-button/split-button-tokens.d.ts +7 -0
  366. package/dist/components/split-button/split-button-tokens.js +36 -0
  367. package/dist/components/split-button/split-button-tokens.js.map +1 -0
  368. package/dist/components/switch/Switch.d.ts +82 -0
  369. package/dist/components/switch/Switch.js +165 -0
  370. package/dist/components/switch/Switch.js.map +1 -0
  371. package/dist/components/switch/switch-styles.d.ts +96 -0
  372. package/dist/components/switch/switch-styles.js +68 -0
  373. package/dist/components/switch/switch-styles.js.map +1 -0
  374. package/dist/components/switch/switch-thumb.js +41 -0
  375. package/dist/components/switch/switch-thumb.js.map +1 -0
  376. package/dist/components/switch/switch-tokens.d.ts +7 -0
  377. package/dist/components/switch/switch-tokens.js +78 -0
  378. package/dist/components/switch/switch-tokens.js.map +1 -0
  379. package/dist/components/tabs/Tabs.d.ts +120 -0
  380. package/dist/components/tabs/Tabs.js +346 -0
  381. package/dist/components/tabs/Tabs.js.map +1 -0
  382. package/dist/components/tabs/tabs-styles.d.ts +198 -0
  383. package/dist/components/tabs/tabs-styles.js +99 -0
  384. package/dist/components/tabs/tabs-styles.js.map +1 -0
  385. package/dist/components/tabs/tabs-tokens.d.ts +7 -0
  386. package/dist/components/tabs/tabs-tokens.js +121 -0
  387. package/dist/components/tabs/tabs-tokens.js.map +1 -0
  388. package/dist/components/text-field/TextField.d.ts +175 -0
  389. package/dist/components/text-field/TextField.js +250 -0
  390. package/dist/components/text-field/TextField.js.map +1 -0
  391. package/dist/components/text-field/text-field-styles.d.ts +252 -0
  392. package/dist/components/text-field/text-field-styles.js +209 -0
  393. package/dist/components/text-field/text-field-styles.js.map +1 -0
  394. package/dist/components/text-field/text-field-tokens.d.ts +7 -0
  395. package/dist/components/text-field/text-field-tokens.js +177 -0
  396. package/dist/components/text-field/text-field-tokens.js.map +1 -0
  397. package/dist/components/time-picker/TimePicker.d.ts +142 -0
  398. package/dist/components/time-picker/TimePicker.js +700 -0
  399. package/dist/components/time-picker/TimePicker.js.map +1 -0
  400. package/dist/components/time-picker/time-picker-styles.d.ts +175 -0
  401. package/dist/components/time-picker/time-picker-styles.js +112 -0
  402. package/dist/components/time-picker/time-picker-styles.js.map +1 -0
  403. package/dist/components/time-picker/time-picker-tokens.d.ts +7 -0
  404. package/dist/components/time-picker/time-picker-tokens.js +86 -0
  405. package/dist/components/time-picker/time-picker-tokens.js.map +1 -0
  406. package/dist/components/toolbar/Toolbar.d.ts +209 -0
  407. package/dist/components/toolbar/Toolbar.js +282 -0
  408. package/dist/components/toolbar/Toolbar.js.map +1 -0
  409. package/dist/components/toolbar/toolbar-styles.d.ts +403 -0
  410. package/dist/components/toolbar/toolbar-styles.js +253 -0
  411. package/dist/components/toolbar/toolbar-styles.js.map +1 -0
  412. package/dist/components/toolbar/toolbar-tokens.d.ts +27 -0
  413. package/dist/components/toolbar/toolbar-tokens.js +117 -0
  414. package/dist/components/toolbar/toolbar-tokens.js.map +1 -0
  415. package/dist/components/toolbar/use-toolbar-scroll-expansion.d.ts +56 -0
  416. package/dist/components/toolbar/use-toolbar-scroll-expansion.js +86 -0
  417. package/dist/components/toolbar/use-toolbar-scroll-expansion.js.map +1 -0
  418. package/dist/components/tooltip/Tooltip.d.ts +131 -0
  419. package/dist/components/tooltip/Tooltip.js +388 -0
  420. package/dist/components/tooltip/Tooltip.js.map +1 -0
  421. package/dist/components/tooltip/lazy-tooltip.js +35 -0
  422. package/dist/components/tooltip/lazy-tooltip.js.map +1 -0
  423. package/dist/components/tooltip/tooltip-placement.d.ts +16 -0
  424. package/dist/components/tooltip/tooltip-placement.js +14 -0
  425. package/dist/components/tooltip/tooltip-placement.js.map +1 -0
  426. package/dist/components/tooltip/tooltip-styles.d.ts +142 -0
  427. package/dist/components/tooltip/tooltip-styles.js +81 -0
  428. package/dist/components/tooltip/tooltip-styles.js.map +1 -0
  429. package/dist/components/tooltip/tooltip-tokens.d.ts +9 -0
  430. package/dist/components/tooltip/tooltip-tokens.js +72 -0
  431. package/dist/components/tooltip/tooltip-tokens.js.map +1 -0
  432. package/dist/components/tooltip/tooltip-trigger.d.ts +42 -0
  433. package/dist/components/tooltip/tooltip-trigger.js +115 -0
  434. package/dist/components/tooltip/tooltip-trigger.js.map +1 -0
  435. package/dist/composites/button-group/ButtonGroup.d.ts +116 -0
  436. package/dist/composites/button-group/ButtonGroup.js +270 -0
  437. package/dist/composites/button-group/ButtonGroup.js.map +1 -0
  438. package/dist/composites/button-group/button-group-styles.d.ts +73 -0
  439. package/dist/composites/button-group/button-group-styles.js +87 -0
  440. package/dist/composites/button-group/button-group-styles.js.map +1 -0
  441. package/dist/composites/button-group/lazy-overflow-menu.js +43 -0
  442. package/dist/composites/button-group/lazy-overflow-menu.js.map +1 -0
  443. package/dist/composites/button-group/overflow-menu-list.js +26 -0
  444. package/dist/composites/button-group/overflow-menu-list.js.map +1 -0
  445. package/dist/composites/button-group/use-overflow.js +75 -0
  446. package/dist/composites/button-group/use-overflow.js.map +1 -0
  447. package/dist/composites/button-group/use-press-expansion.js +155 -0
  448. package/dist/composites/button-group/use-press-expansion.js.map +1 -0
  449. package/dist/index.d.ts +142 -0
  450. package/dist/index.js +136 -0
  451. package/dist/motion/get-m3-spring.d.ts +6 -0
  452. package/dist/motion/get-m3-spring.js +10 -0
  453. package/dist/motion/get-m3-spring.js.map +1 -0
  454. package/dist/motion/reduced-motion.js +19 -0
  455. package/dist/motion/reduced-motion.js.map +1 -0
  456. package/dist/motion/use-m3-spring.d.ts +13 -0
  457. package/dist/motion/use-m3-spring.js +22 -0
  458. package/dist/motion/use-m3-spring.js.map +1 -0
  459. package/dist/next/NextRouterProvider.d.ts +13 -0
  460. package/dist/next/NextRouterProvider.js +26 -0
  461. package/dist/next/NextRouterProvider.js.map +1 -0
  462. package/dist/next/get-theme-from-cookies.d.ts +32 -0
  463. package/dist/next/get-theme-from-cookies.js +27 -0
  464. package/dist/next/get-theme-from-cookies.js.map +1 -0
  465. package/dist/next/navigation-guard.d.ts +30 -0
  466. package/dist/next/navigation-guard.js +68 -0
  467. package/dist/next/navigation-guard.js.map +1 -0
  468. package/dist/next.d.ts +5 -0
  469. package/dist/next.js +5 -0
  470. package/dist/primitives/ButtonBase.d.ts +115 -0
  471. package/dist/primitives/ButtonBase.js +231 -0
  472. package/dist/primitives/ButtonBase.js.map +1 -0
  473. package/dist/primitives/DomDirectionLocale.d.ts +18 -0
  474. package/dist/primitives/DomDirectionLocale.js +28 -0
  475. package/dist/primitives/DomDirectionLocale.js.map +1 -0
  476. package/dist/primitives/Field.d.ts +50 -0
  477. package/dist/primitives/Field.js +74 -0
  478. package/dist/primitives/Field.js.map +1 -0
  479. package/dist/primitives/IconFaces.js +23 -0
  480. package/dist/primitives/IconFaces.js.map +1 -0
  481. package/dist/primitives/Overlay.d.ts +39 -0
  482. package/dist/primitives/Overlay.js +86 -0
  483. package/dist/primitives/Overlay.js.map +1 -0
  484. package/dist/primitives/SelectionControl.d.ts +55 -0
  485. package/dist/primitives/SelectionControl.js +58 -0
  486. package/dist/primitives/SelectionControl.js.map +1 -0
  487. package/dist/primitives/Surface.d.ts +123 -0
  488. package/dist/primitives/Surface.js +68 -0
  489. package/dist/primitives/Surface.js.map +1 -0
  490. package/dist/primitives/ToolbarContext.js +12 -0
  491. package/dist/primitives/ToolbarContext.js.map +1 -0
  492. package/dist/primitives/TouchTarget.d.ts +14 -0
  493. package/dist/primitives/TouchTarget.js +20 -0
  494. package/dist/primitives/TouchTarget.js.map +1 -0
  495. package/dist/primitives/TriggerContext.d.ts +34 -0
  496. package/dist/primitives/TriggerContext.js +24 -0
  497. package/dist/primitives/TriggerContext.js.map +1 -0
  498. package/dist/primitives/hidden-input-focus.js +27 -0
  499. package/dist/primitives/hidden-input-focus.js.map +1 -0
  500. package/dist/primitives/icon-faces-styles.d.ts +9 -0
  501. package/dist/primitives/icon-faces-styles.js +45 -0
  502. package/dist/primitives/icon-faces-styles.js.map +1 -0
  503. package/dist/primitives/locale-with-direction.d.ts +9 -0
  504. package/dist/primitives/locale-with-direction.js +17 -0
  505. package/dist/primitives/locale-with-direction.js.map +1 -0
  506. package/dist/primitives/morph-path.d.ts +25 -0
  507. package/dist/primitives/morph-path.js +38 -0
  508. package/dist/primitives/morph-path.js.map +1 -0
  509. package/dist/primitives/selection-control-styles.d.ts +54 -0
  510. package/dist/primitives/selection-control-styles.js +44 -0
  511. package/dist/primitives/selection-control-styles.js.map +1 -0
  512. package/dist/primitives/use-m3-interaction.d.ts +51 -0
  513. package/dist/primitives/use-m3-interaction.js +149 -0
  514. package/dist/primitives/use-m3-interaction.js.map +1 -0
  515. package/dist/primitives/use-m3-morph.d.ts +18 -0
  516. package/dist/primitives/use-m3-morph.js +36 -0
  517. package/dist/primitives/use-m3-morph.js.map +1 -0
  518. package/dist/primitives/use-presence.d.ts +19 -0
  519. package/dist/primitives/use-presence.js +37 -0
  520. package/dist/primitives/use-presence.js.map +1 -0
  521. package/dist/primitives.d.ts +36 -0
  522. package/dist/primitives.js +34 -0
  523. package/dist/shapes/corner-rounding.d.ts +13 -0
  524. package/dist/shapes/corner-rounding.js +18 -0
  525. package/dist/shapes/corner-rounding.js.map +1 -0
  526. package/dist/shapes/cubic.d.ts +52 -0
  527. package/dist/shapes/cubic.js +189 -0
  528. package/dist/shapes/cubic.js.map +1 -0
  529. package/dist/shapes/feature-mapping.js +80 -0
  530. package/dist/shapes/feature-mapping.js.map +1 -0
  531. package/dist/shapes/features.d.ts +23 -0
  532. package/dist/shapes/features.js +82 -0
  533. package/dist/shapes/features.js.map +1 -0
  534. package/dist/shapes/float-mapping.js +65 -0
  535. package/dist/shapes/float-mapping.js.map +1 -0
  536. package/dist/shapes/generated/material-shape-path-record.d.ts +11 -0
  537. package/dist/shapes/generated/material-shape-path-record.js +48 -0
  538. package/dist/shapes/generated/material-shape-path-record.js.map +1 -0
  539. package/dist/shapes/generated/material-shape-paths.d.ts +78 -0
  540. package/dist/shapes/generated/material-shape-paths.js +218 -0
  541. package/dist/shapes/generated/material-shape-paths.js.map +1 -0
  542. package/dist/shapes/mask.d.ts +14 -0
  543. package/dist/shapes/mask.js +24 -0
  544. package/dist/shapes/mask.js.map +1 -0
  545. package/dist/shapes/material-shapes.d.ts +11 -0
  546. package/dist/shapes/material-shapes.js +250 -0
  547. package/dist/shapes/material-shapes.js.map +1 -0
  548. package/dist/shapes/morph.d.ts +25 -0
  549. package/dist/shapes/morph.js +97 -0
  550. package/dist/shapes/morph.js.map +1 -0
  551. package/dist/shapes/path.d.ts +33 -0
  552. package/dist/shapes/path.js +47 -0
  553. package/dist/shapes/path.js.map +1 -0
  554. package/dist/shapes/point.d.ts +28 -0
  555. package/dist/shapes/point.js +103 -0
  556. package/dist/shapes/point.js.map +1 -0
  557. package/dist/shapes/polygon-measure.js +140 -0
  558. package/dist/shapes/polygon-measure.js.map +1 -0
  559. package/dist/shapes/rounded-polygon.d.ts +44 -0
  560. package/dist/shapes/rounded-polygon.js +278 -0
  561. package/dist/shapes/rounded-polygon.js.map +1 -0
  562. package/dist/shapes/shape-path.d.ts +15 -0
  563. package/dist/shapes/shapes.d.ts +53 -0
  564. package/dist/shapes/shapes.js +171 -0
  565. package/dist/shapes/shapes.js.map +1 -0
  566. package/dist/styles/generated/components.css +710 -0
  567. package/dist/styles/generated/theme.css +247 -0
  568. package/dist/styles/generated/themes.css +3361 -0
  569. package/dist/styles/generated/tokens.css +284 -0
  570. package/dist/styles/styles.css +15 -0
  571. package/dist/styles/utilities.css +283 -0
  572. package/dist/styles.compiled.css +2 -0
  573. package/dist/theme/ThemeProvider.d.ts +72 -0
  574. package/dist/theme/ThemeProvider.js +144 -0
  575. package/dist/theme/ThemeProvider.js.map +1 -0
  576. package/dist/theme/ThemeScope.d.ts +32 -0
  577. package/dist/theme/ThemeScope.js +67 -0
  578. package/dist/theme/ThemeScope.js.map +1 -0
  579. package/dist/theme/ThemeScript.d.ts +26 -0
  580. package/dist/theme/ThemeScript.js +44 -0
  581. package/dist/theme/ThemeScript.js.map +1 -0
  582. package/dist/theme/context.d.ts +32 -0
  583. package/dist/theme/context.js +47 -0
  584. package/dist/theme/context.js.map +1 -0
  585. package/dist/theme/create-theme.d.ts +60 -0
  586. package/dist/theme/create-theme.js +47 -0
  587. package/dist/theme/create-theme.js.map +1 -0
  588. package/dist/theme/css.js +54 -0
  589. package/dist/theme/css.js.map +1 -0
  590. package/dist/theme/parse-palettes.js +40 -0
  591. package/dist/theme/parse-palettes.js.map +1 -0
  592. package/dist/theme/scheme.d.ts +6 -0
  593. package/dist/theme/scheme.js +118 -0
  594. package/dist/theme/scheme.js.map +1 -0
  595. package/dist/theme/state.d.ts +38 -0
  596. package/dist/theme/state.js +93 -0
  597. package/dist/theme/state.js.map +1 -0
  598. package/dist/theme/storage.js +21 -0
  599. package/dist/theme/storage.js.map +1 -0
  600. package/dist/tokens/breakpoints.d.ts +15 -0
  601. package/dist/tokens/breakpoints.js +16 -0
  602. package/dist/tokens/breakpoints.js.map +1 -0
  603. package/dist/tokens/color.d.ts +104 -0
  604. package/dist/tokens/color.js +147 -0
  605. package/dist/tokens/color.js.map +1 -0
  606. package/dist/tokens/component.d.ts +110 -0
  607. package/dist/tokens/component.js +67 -0
  608. package/dist/tokens/component.js.map +1 -0
  609. package/dist/tokens/density.d.ts +20 -0
  610. package/dist/tokens/density.js +27 -0
  611. package/dist/tokens/density.js.map +1 -0
  612. package/dist/tokens/elevation.d.ts +44 -0
  613. package/dist/tokens/elevation.js +45 -0
  614. package/dist/tokens/elevation.js.map +1 -0
  615. package/dist/tokens/motion.d.ts +79 -0
  616. package/dist/tokens/motion.js +126 -0
  617. package/dist/tokens/motion.js.map +1 -0
  618. package/dist/tokens/shape.d.ts +22 -0
  619. package/dist/tokens/shape.js +22 -0
  620. package/dist/tokens/shape.js.map +1 -0
  621. package/dist/tokens/spring-velocity.d.ts +19 -0
  622. package/dist/tokens/spring-velocity.js +44 -0
  623. package/dist/tokens/spring-velocity.js.map +1 -0
  624. package/dist/tokens/state.d.ts +18 -0
  625. package/dist/tokens/state.js +19 -0
  626. package/dist/tokens/state.js.map +1 -0
  627. package/dist/tokens/typography.d.ts +64 -0
  628. package/dist/tokens/typography.js +60 -0
  629. package/dist/tokens/typography.js.map +1 -0
  630. package/dist/tokens/z-index.d.ts +17 -0
  631. package/dist/tokens/z-index.js +18 -0
  632. package/dist/tokens/z-index.js.map +1 -0
  633. package/dist/utils/announce.js +51 -0
  634. package/dist/utils/announce.js.map +1 -0
  635. package/dist/utils/assert-collection-children.js +26 -0
  636. package/dist/utils/assert-collection-children.js.map +1 -0
  637. package/dist/utils/closed-by.d.ts +9 -0
  638. package/dist/utils/closed-by.js +12 -0
  639. package/dist/utils/closed-by.js.map +1 -0
  640. package/dist/utils/cn.d.ts +31 -0
  641. package/dist/utils/cn.js +37 -0
  642. package/dist/utils/cn.js.map +1 -0
  643. package/dist/utils/composite-keys.js +32 -0
  644. package/dist/utils/composite-keys.js.map +1 -0
  645. package/dist/utils/focus-visible.js +14 -0
  646. package/dist/utils/focus-visible.js.map +1 -0
  647. package/dist/utils/focus.js +51 -0
  648. package/dist/utils/focus.js.map +1 -0
  649. package/dist/utils/focusable-disabled.js +12 -0
  650. package/dist/utils/focusable-disabled.js.map +1 -0
  651. package/dist/utils/keep-pressed-in-place.d.ts +60 -0
  652. package/dist/utils/keep-pressed-in-place.js +127 -0
  653. package/dist/utils/keep-pressed-in-place.js.map +1 -0
  654. package/dist/utils/load-on-demand.js +111 -0
  655. package/dist/utils/load-on-demand.js.map +1 -0
  656. package/dist/utils/merge-data-tokens.d.ts +9 -0
  657. package/dist/utils/merge-data-tokens.js +15 -0
  658. package/dist/utils/merge-data-tokens.js.map +1 -0
  659. package/dist/utils/natural-size.js +53 -0
  660. package/dist/utils/natural-size.js.map +1 -0
  661. package/dist/utils/nearest-reveal.js +28 -0
  662. package/dist/utils/nearest-reveal.js.map +1 -0
  663. package/dist/utils/placement.js +14 -0
  664. package/dist/utils/placement.js.map +1 -0
  665. package/dist/utils/radio-group-keys.js +74 -0
  666. package/dist/utils/radio-group-keys.js.map +1 -0
  667. package/dist/utils/rendered-description.js +17 -0
  668. package/dist/utils/rendered-description.js.map +1 -0
  669. package/dist/utils/root-props.d.ts +103 -0
  670. package/dist/utils/root-props.js +51 -0
  671. package/dist/utils/root-props.js.map +1 -0
  672. package/dist/utils/search.d.ts +11 -0
  673. package/dist/utils/search.js +18 -0
  674. package/dist/utils/search.js.map +1 -0
  675. package/dist/utils/shortcut.js +20 -0
  676. package/dist/utils/shortcut.js.map +1 -0
  677. package/dist/utils/split-data-attributes.d.ts +12 -0
  678. package/dist/utils/split-data-attributes.js +20 -0
  679. package/dist/utils/split-data-attributes.js.map +1 -0
  680. package/dist/utils/toolbar-keys.js +28 -0
  681. package/dist/utils/toolbar-keys.js.map +1 -0
  682. package/dist/utils/tv.d.ts +7 -0
  683. package/dist/utils/tv.js +9 -0
  684. package/dist/utils/tv.js.map +1 -0
  685. package/dist/utils/typeahead.js +64 -0
  686. package/dist/utils/typeahead.js.map +1 -0
  687. package/dist/utils/warn-once.js +30 -0
  688. package/dist/utils/warn-once.js.map +1 -0
  689. package/dist/vendor/material-color-utilities/blend/blend.js +88 -0
  690. package/dist/vendor/material-color-utilities/blend/blend.js.map +1 -0
  691. package/dist/vendor/material-color-utilities/contrast/contrast.js +131 -0
  692. package/dist/vendor/material-color-utilities/contrast/contrast.js.map +1 -0
  693. package/dist/vendor/material-color-utilities/dislike/dislike_analyzer.js +58 -0
  694. package/dist/vendor/material-color-utilities/dislike/dislike_analyzer.js.map +1 -0
  695. package/dist/vendor/material-color-utilities/dynamiccolor/color_spec_2021.js +620 -0
  696. package/dist/vendor/material-color-utilities/dynamiccolor/color_spec_2021.js.map +1 -0
  697. package/dist/vendor/material-color-utilities/dynamiccolor/color_spec_2025.js +786 -0
  698. package/dist/vendor/material-color-utilities/dynamiccolor/color_spec_2025.js.map +1 -0
  699. package/dist/vendor/material-color-utilities/dynamiccolor/contrast_curve.js +59 -0
  700. package/dist/vendor/material-color-utilities/dynamiccolor/contrast_curve.js.map +1 -0
  701. package/dist/vendor/material-color-utilities/dynamiccolor/dynamic_color.js +420 -0
  702. package/dist/vendor/material-color-utilities/dynamiccolor/dynamic_color.js.map +1 -0
  703. package/dist/vendor/material-color-utilities/dynamiccolor/dynamic_scheme.js +701 -0
  704. package/dist/vendor/material-color-utilities/dynamiccolor/dynamic_scheme.js.map +1 -0
  705. package/dist/vendor/material-color-utilities/dynamiccolor/material_dynamic_colors.js +374 -0
  706. package/dist/vendor/material-color-utilities/dynamiccolor/material_dynamic_colors.js.map +1 -0
  707. package/dist/vendor/material-color-utilities/dynamiccolor/tone_delta_pair.js +65 -0
  708. package/dist/vendor/material-color-utilities/dynamiccolor/tone_delta_pair.js.map +1 -0
  709. package/dist/vendor/material-color-utilities/dynamiccolor/variant.js +38 -0
  710. package/dist/vendor/material-color-utilities/dynamiccolor/variant.js.map +1 -0
  711. package/dist/vendor/material-color-utilities/hct/cam16.js +309 -0
  712. package/dist/vendor/material-color-utilities/hct/cam16.js.map +1 -0
  713. package/dist/vendor/material-color-utilities/hct/hct.js +148 -0
  714. package/dist/vendor/material-color-utilities/hct/hct.js.map +1 -0
  715. package/dist/vendor/material-color-utilities/hct/hct_solver.js +660 -0
  716. package/dist/vendor/material-color-utilities/hct/hct_solver.js.map +1 -0
  717. package/dist/vendor/material-color-utilities/hct/viewing_conditions.js +117 -0
  718. package/dist/vendor/material-color-utilities/hct/viewing_conditions.js.map +1 -0
  719. package/dist/vendor/material-color-utilities/index.js +51 -0
  720. package/dist/vendor/material-color-utilities/index.js.map +1 -0
  721. package/dist/vendor/material-color-utilities/palettes/core_palette.js +22 -0
  722. package/dist/vendor/material-color-utilities/palettes/core_palette.js.map +1 -0
  723. package/dist/vendor/material-color-utilities/palettes/tonal_palette.js +134 -0
  724. package/dist/vendor/material-color-utilities/palettes/tonal_palette.js.map +1 -0
  725. package/dist/vendor/material-color-utilities/scheme/scheme.js +21 -0
  726. package/dist/vendor/material-color-utilities/scheme/scheme.js.map +1 -0
  727. package/dist/vendor/material-color-utilities/scheme/scheme_android.js +21 -0
  728. package/dist/vendor/material-color-utilities/scheme/scheme_android.js.map +1 -0
  729. package/dist/vendor/material-color-utilities/scheme/scheme_content.js +22 -0
  730. package/dist/vendor/material-color-utilities/scheme/scheme_content.js.map +1 -0
  731. package/dist/vendor/material-color-utilities/scheme/scheme_expressive.js +38 -0
  732. package/dist/vendor/material-color-utilities/scheme/scheme_expressive.js.map +1 -0
  733. package/dist/vendor/material-color-utilities/scheme/scheme_fidelity.js +22 -0
  734. package/dist/vendor/material-color-utilities/scheme/scheme_fidelity.js.map +1 -0
  735. package/dist/vendor/material-color-utilities/scheme/scheme_fruit_salad.js +22 -0
  736. package/dist/vendor/material-color-utilities/scheme/scheme_fruit_salad.js.map +1 -0
  737. package/dist/vendor/material-color-utilities/scheme/scheme_monochrome.js +22 -0
  738. package/dist/vendor/material-color-utilities/scheme/scheme_monochrome.js.map +1 -0
  739. package/dist/vendor/material-color-utilities/scheme/scheme_neutral.js +36 -0
  740. package/dist/vendor/material-color-utilities/scheme/scheme_neutral.js.map +1 -0
  741. package/dist/vendor/material-color-utilities/scheme/scheme_rainbow.js +22 -0
  742. package/dist/vendor/material-color-utilities/scheme/scheme_rainbow.js.map +1 -0
  743. package/dist/vendor/material-color-utilities/scheme/scheme_tonal_spot.js +41 -0
  744. package/dist/vendor/material-color-utilities/scheme/scheme_tonal_spot.js.map +1 -0
  745. package/dist/vendor/material-color-utilities/scheme/scheme_vibrant.js +39 -0
  746. package/dist/vendor/material-color-utilities/scheme/scheme_vibrant.js.map +1 -0
  747. package/dist/vendor/material-color-utilities/score/score.js +115 -0
  748. package/dist/vendor/material-color-utilities/score/score.js.map +1 -0
  749. package/dist/vendor/material-color-utilities/temperature/temperature_cache.js +227 -0
  750. package/dist/vendor/material-color-utilities/temperature/temperature_cache.js.map +1 -0
  751. package/dist/vendor/material-color-utilities/utils/color_utils.js +246 -0
  752. package/dist/vendor/material-color-utilities/utils/color_utils.js.map +1 -0
  753. package/dist/vendor/material-color-utilities/utils/image_utils.js +21 -0
  754. package/dist/vendor/material-color-utilities/utils/image_utils.js.map +1 -0
  755. package/dist/vendor/material-color-utilities/utils/math_utils.js +119 -0
  756. package/dist/vendor/material-color-utilities/utils/math_utils.js.map +1 -0
  757. package/dist/vendor/material-color-utilities/utils/string_utils.js +74 -0
  758. package/dist/vendor/material-color-utilities/utils/string_utils.js.map +1 -0
  759. package/dist/vendor/material-color-utilities/utils/theme_utils.js +24 -0
  760. package/dist/vendor/material-color-utilities/utils/theme_utils.js.map +1 -0
  761. package/package.json +114 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav-item-styles.js","names":[],"sources":["../../../src/components/navigation/nav-item-styles.ts"],"sourcesContent":["import { tv, type VariantProps } from '../../utils/tv';\n\n/*\n * Navigation items shared by the navigation rail and the flexible navigation bar. Values\n * follow Compose Material 3 (NavigationItem.kt, WideNavigationRail.kt, ShortNavigationBar.kt\n * and the NavigationRail* / NavigationBar* token files):\n *\n * - rail-top (collapsed rail): 56×32 pill around a 24px icon, `label-medium` 4px below,\n * centred in the 96px collapsed width (labels may use all of it), at least 64px tall.\n * The item is that wide even while the rail's width animates, so its icon never moves.\n * - rail-start (expanded rail): 56px pill holding icon · 8px · `label-large`, 16px inside,\n * 20px item inset, which puts the icon on the same line as when collapsed. The pill hugs\n * its icon and label, as in M3 Expressive (the full-width pill was the navigation\n * drawer's), while the whole row stays the link or button: a larger target than Compose's\n * pill-only one, with the state layer and focus ring still on the pill.\n * - bar-top: 6px · 56×32 pill · 4px · `label-medium` · 6px (64px).\n * - bar-start: 40px pill holding icon · 4px · `label-medium`, 16px inside, centred in an\n * item as tall as the bar (64px), which is the touch target.\n *\n * Colours: icons `on-surface-variant`, selected `on-secondary-container` on a\n * `secondary-container` pill; labels `on-surface-variant`, selected `secondary` below the\n * icon or `on-secondary-container` beside it; disabled 38%. The state layer is\n * `on-secondary-container` on the pill, and a press ripples through it from the press point\n * (M3: \"a ripple passes through the indicator\"), as on every other M3 control. In every layout the current item's pill expands from\n * the centre of its icon and fades in on the default spatial spring (M3: \"the active\n * indicator expands from the center of the icon\"), and colours change on default effects.\n * The current label is bold (the emphasized label role). With a `selectedIcon`, the two\n * icons cross-fade on default effects.\n *\n * `slide` (the expanded rail's `indicatorMotion=\"slide\"`, an extension beyond the spec that\n * matches Google's Expressive showcase): the pill is whole while current and Motion moves it\n * from the previous current item on the fast spatial spring; the old pill goes at once, and\n * the content sits above every pill so a moving one never covers another item's label.\n * Under reduced motion it fades in place instead.\n *\n * Under reduced motion every pill fades in whole on the default effects spring, without\n * expanding (architecture §6).\n *\n * Labels don't truncate (M3: \"Don't truncate or display an ellipsis in place of label\n * text\"): they wrap between words, and the item grows taller, so the full label stays\n * visible under large text sizes. A word wider than the item may break where the browser\n * hyphenates it for the document's `lang` (`hyphens: auto`), but never bare (\"Searc/h\"):\n * `overflow-wrap: normal` keeps it whole, and a line it still overflows ends with an\n * ellipsis (`overflow: hidden` with `text-overflow: ellipsis`, applied per line), while the\n * other words keep wrapping. The text stays whole in the DOM, so the accessible name is the\n * full label (2026-10-16, refining 2026-10-13 and 2026-10-15).\n *\n * Badges overlap the icon's top end (BadgedBox), except in the expanded rail, where M3 puts\n * them next to the label, 4px after it.\n *\n * Forced colours (2026-10-15): the current pill keeps a `Highlight` fill\n * (`forced-color-adjust: none`), with its icon, and a label inside it, in `HighlightText`;\n * otherwise the pill became Canvas and only the bold label marked the current item. The\n * icon and a label inside the pill opt out of forced colours too (2026-10-17): with\n * `forced-color-adjust: auto` the browser paints a `Canvas` backplate behind text, so a\n * `HighlightText` label read white on white.\n *\n * The pill, its state layer and its content share one grid cell, so nothing is positioned.\n *\n * The pill, icon and label colours come from the bar's or rail's component tokens\n * (`navigation-tokens.ts`, `--md-comp-nav-{bar,rail}-item-*`): each item carries\n * `data-tokens` and `data-layout`, so the bar's layouts read the bar's item parts and the\n * rail's layouts the rail's. Disabled colours stay classes.\n *\n * Every class is written out in full so Tailwind can find it.\n */\n\n/** Variant definitions for navigation items; extend them to add variants. */\nexport const navItemStyles = tv({\n slots: {\n root: [\n 'group/nav grid min-w-0 cursor-pointer justify-items-center outline-none select-none',\n 'font-plain text-on-surface-variant',\n 'data-disabled:cursor-default',\n ],\n // The pill area: indicator, state layer and content overlap here; it carries the focus ring.\n pill: [\n 'grid rounded-full outline-offset-(--md-sys-focus-indicator-offset) outline-secondary',\n 'group-data-focus-visible/nav:outline-(length:--md-sys-focus-indicator-thickness) group-data-focus-visible/nav:outline-solid',\n ],\n indicator: [\n 'col-start-1 row-start-1 rounded-full opacity-0',\n 'group-data-current/nav:opacity-100 group-data-current/nav:[clip-path:inset(0_0_round_9999px)]',\n // Forced colours would paint the pill as Canvas: it keeps a Highlight fill instead.\n 'forced-colors:bg-[Highlight] forced-colors:forced-color-adjust-none',\n '[transition-property:clip-path,opacity]',\n '[transition-duration:var(--md-sys-motion-spring-spatial-default-duration)]',\n '[transition-timing-function:var(--md-sys-motion-spring-spatial-default-easing)]',\n // Reduced motion: the pill fades in whole on the default effects spring.\n 'motion-reduce:[transition-property:opacity]',\n 'motion-reduce:[transition-duration:var(--md-sys-motion-spring-effects-default-duration)]',\n 'motion-reduce:[transition-timing-function:var(--md-sys-motion-spring-effects-default-easing)]',\n ],\n // The shared state layer and ripple, on the pill: the item's hover and focus show\n // through it, and a press ripples from the press point (NavItem sets the origin).\n stateLayer: [\n 'col-start-1 row-start-1 rounded-full state-layer',\n '[--m3-state-layer-color:var(--md-sys-color-on-secondary-container)]',\n 'group-data-hovered/nav:[--m3-state-opacity:var(--md-sys-state-hover-state-layer-opacity)]',\n 'group-data-focus-visible/nav:[--m3-state-opacity:var(--md-sys-state-focus-state-layer-opacity)]',\n ],\n // `relative` keeps the content above the indicator and state layer: elements with\n // opacity or clip-path paint in the positioned layer, above plain in-flow content.\n content: 'relative col-start-1 row-start-1 flex min-w-0 items-center justify-center',\n icon: [\n 'inline-grid size-[24px] shrink-0 place-items-center [&>svg]:size-full',\n 'group-data-disabled/nav:text-on-surface-variant/38',\n // HighlightText on the Highlight pill, kept as painted (no Canvas backplate).\n 'forced-colors:group-data-current/nav:text-[HighlightText] forced-colors:group-data-current/nav:forced-color-adjust-none',\n 'transition-colors duration-(--md-sys-motion-spring-effects-default-duration) ease-(--md-sys-motion-spring-effects-default-easing)',\n ],\n // An icon and its selected variant share one cell and cross-fade.\n iconFace: [\n 'col-start-1 row-start-1 size-full opacity-0 data-shown:opacity-100 [&>svg]:size-full',\n '[transition-property:opacity] duration-(--md-sys-motion-spring-effects-default-duration) ease-(--md-sys-motion-spring-effects-default-easing)',\n ],\n // Holds the icon (or both faces) inside a badge's anchor.\n iconStack: 'inline-grid size-[24px] place-items-center [&>svg]:size-full',\n // The expanded rail's badge, 4px after the label (the content gap is 8px).\n badge: 'inline-flex shrink-0 -ms-[4px]',\n // The `BadgedBox` around a badged icon (its root; `classNames.badge` merges in). The\n // badge takes forced colours back, which the current icon opts out of.\n badgedBox: 'forced-colors:[&>span:last-child]:forced-color-adjust-auto',\n label: [\n 'min-w-0 overflow-hidden text-ellipsis text-balance hyphens-auto wrap-normal group-data-disabled/nav:text-on-surface-variant/38',\n '[transition-property:color,opacity] duration-(--md-sys-motion-spring-effects-default-duration) ease-(--md-sys-motion-spring-effects-default-easing)',\n ],\n },\n variants: {\n layout: {\n 'rail-top': {\n // The 56px pill centres in the collapsed width; labels may use all of it (Compose).\n // The minimum height springs 64 ↔ 48px with the rail's width (`railMorph`).\n root: 'min-h-[64px] w-(--m3-rail-collapsed-width) content-start',\n pill: 'h-[32px] w-[56px]',\n indicator:\n '[clip-path:inset(0_50%_round_9999px)] bg-[var(--_md-comp-nav-rail-item-active-indicator-color)]',\n icon: 'text-[color:var(--_md-comp-nav-rail-item-inactive-icon-color)] group-data-current/nav:text-[color:var(--_md-comp-nav-rail-item-active-icon-color)]',\n label: [\n 'mt-[4px] max-w-full text-center text-label-medium',\n 'text-[color:var(--_md-comp-nav-rail-item-inactive-label-text-color)]',\n 'group-data-current/nav:text-label-medium-emphasized group-data-current/nav:text-[color:var(--_md-comp-nav-rail-item-active-label-text-color)]',\n ],\n },\n 'rail-start': {\n root: 'min-h-[48px] w-full justify-items-start px-(--m3-rail-item-inset)',\n pill: 'min-h-[56px] max-w-full',\n // The icon's centre: 16px padding + half the 24px icon from the start edge.\n indicator: [\n '[clip-path:inset(0_calc(100%_-_28px)_0_28px_round_9999px)] rtl:[clip-path:inset(0_28px_0_calc(100%_-_28px)_round_9999px)]',\n 'bg-[var(--_md-comp-nav-rail-item-active-indicator-color)]',\n ],\n content: 'justify-start gap-[8px] ps-[16px] pe-[16px] py-[8px]',\n icon: 'text-[color:var(--_md-comp-nav-rail-item-inactive-icon-color)] group-data-current/nav:text-[color:var(--_md-comp-nav-rail-item-active-icon-color)]',\n label: [\n // Inside the Highlight pill: HighlightText, without the Canvas backplate forced\n // colours paint behind text (white on white otherwise).\n 'forced-colors:group-data-current/nav:text-[HighlightText] forced-colors:group-data-current/nav:forced-color-adjust-none',\n 'text-label-large text-[color:var(--_md-comp-nav-rail-item-inactive-label-text-color)]',\n 'group-data-current/nav:text-label-large-emphasized group-data-current/nav:text-[color:var(--_md-comp-nav-rail-item-active-label-text-color)]',\n ],\n },\n // Bar items stretch to the bar's height (64px, or taller when a label wraps), so the\n // whole height is the touch target. Stacked items keep their icons on one line at the\n // top; inline items centre their pill.\n 'bar-top': {\n root: 'self-stretch content-start py-[6px]',\n pill: 'h-[32px] w-[56px]',\n indicator:\n '[clip-path:inset(0_50%_round_9999px)] bg-[var(--_md-comp-nav-bar-item-active-indicator-color)]',\n icon: 'text-[color:var(--_md-comp-nav-bar-item-inactive-icon-color)] group-data-current/nav:text-[color:var(--_md-comp-nav-bar-item-active-icon-color)]',\n label: [\n 'mt-[4px] max-w-full px-[4px] text-center text-label-medium',\n 'text-[color:var(--_md-comp-nav-bar-item-inactive-label-text-color)]',\n 'group-data-current/nav:text-label-medium-emphasized group-data-current/nav:text-[color:var(--_md-comp-nav-bar-item-active-label-text-color)]',\n ],\n },\n 'bar-start': {\n // Content-sized; 4px each side keeps neighbouring pills 8px apart.\n root: 'self-stretch content-center px-[4px]',\n pill: 'min-h-[40px] max-w-full',\n indicator: [\n '[clip-path:inset(0_calc(100%_-_28px)_0_28px_round_9999px)] rtl:[clip-path:inset(0_28px_0_calc(100%_-_28px)_round_9999px)]',\n 'bg-[var(--_md-comp-nav-bar-item-active-indicator-color)]',\n ],\n content: 'gap-[4px] ps-[16px] pe-[16px] py-[4px]',\n // A large badge reaches past the icon's end edge into the label's place (M3: badges\n // overlap the icon). Its overhang takes room in the row so the label starts 4px after\n // the badge (2026-10-15): the icon box grows to the badge, which hangs from a box as\n // wide as itself, 12px inside the 24px icon, as `BadgedBox` places it.\n icon: [\n 'text-[color:var(--_md-comp-nav-bar-item-inactive-icon-color)] group-data-current/nav:text-[color:var(--_md-comp-nav-bar-item-active-icon-color)]',\n 'has-[[data-size=large]]:w-auto has-[[data-size=large]]:min-w-[24px] has-[[data-size=large]]:justify-items-start',\n ],\n badgedBox: [\n 'has-[[data-size=large]]:grid-cols-[auto]',\n '[&:has([data-size=large])>span:first-child]:w-[24px] [&:has([data-size=large])>span:first-child]:justify-self-start',\n '[&>span:last-child:has([data-size=large])]:w-max [&>span:last-child:has([data-size=large])]:ms-[12px]',\n ],\n label: [\n // Inside the Highlight pill: HighlightText, without the Canvas backplate forced\n // colours paint behind text (white on white otherwise).\n 'forced-colors:group-data-current/nav:text-[HighlightText] forced-colors:group-data-current/nav:forced-color-adjust-none',\n 'text-label-medium text-[color:var(--_md-comp-nav-bar-item-inactive-label-text-color)]',\n 'group-data-current/nav:text-label-medium-emphasized group-data-current/nav:text-[color:var(--_md-comp-nav-bar-item-active-label-text-color)]',\n ],\n },\n },\n /** Labels that move when the rail changes width fade in at their new place. */\n enterLabel: { true: { label: 'starting:opacity-0' }, false: {} },\n /** The pill slides between items (Motion moves it) instead of expanding in place. */\n slide: {\n true: {\n indicator: '[transition-property:none] motion-reduce:[transition-property:opacity]',\n content: 'z-[1]',\n },\n false: {},\n },\n },\n compoundVariants: [\n // As the rail expands or collapses, an item's minimum height springs between 64px and\n // 48px on the default spatial spring, as Compose's itemMinHeight (WideNavigationRail.kt;\n // 2026-10-17: it swapped in one frame, so the icons jumped). Instant under reduced motion.\n {\n layout: ['rail-top', 'rail-start'],\n class: {\n root: '[transition-property:min-height] [transition-duration:var(--md-sys-motion-spring-spatial-default-duration)] [transition-timing-function:var(--md-sys-motion-spring-spatial-default-easing)]',\n },\n },\n ],\n defaultVariants: { layout: 'bar-top', enterLabel: false, slide: false },\n});\n\nexport type NavItemLayout = NonNullable<VariantProps<typeof navItemStyles>['layout']>;\n"],"mappings":";;;AAoEA,MAAa,gBAAgB,GAAG;CAC9B,OAAO;EACL,MAAM;GACJ;GACA;GACA;EACF;EAEA,MAAM,CACJ,wFACA,6HACF;EACA,WAAW;GACT;GACA;GAEA;GACA;GACA;GACA;GAEA;GACA;GACA;EACF;EAGA,YAAY;GACV;GACA;GACA;GACA;EACF;EAGA,SAAS;EACT,MAAM;GACJ;GACA;GAEA;GACA;EACF;EAEA,UAAU,CACR,wFACA,+IACF;EAEA,WAAW;EAEX,OAAO;EAGP,WAAW;EACX,OAAO,CACL,kIACA,qJACF;CACF;CACA,UAAU;EACR,QAAQ;GACN,YAAY;IAGV,MAAM;IACN,MAAM;IACN,WACE;IACF,MAAM;IACN,OAAO;KACL;KACA;KACA;IACF;GACF;GACA,cAAc;IACZ,MAAM;IACN,MAAM;IAEN,WAAW,CACT,6HACA,2DACF;IACA,SAAS;IACT,MAAM;IACN,OAAO;KAGL;KACA;KACA;IACF;GACF;GAIA,WAAW;IACT,MAAM;IACN,MAAM;IACN,WACE;IACF,MAAM;IACN,OAAO;KACL;KACA;KACA;IACF;GACF;GACA,aAAa;IAEX,MAAM;IACN,MAAM;IACN,WAAW,CACT,6HACA,0DACF;IACA,SAAS;IAKT,MAAM,CACJ,oJACA,iHACF;IACA,WAAW;KACT;KACA;KACA;IACF;IACA,OAAO;KAGL;KACA;KACA;IACF;GACF;EACF;;EAEA,YAAY;GAAE,MAAM,EAAE,OAAO,qBAAqB;GAAG,OAAO,CAAC;EAAE;;EAE/D,OAAO;GACL,MAAM;IACJ,WAAW;IACX,SAAS;GACX;GACA,OAAO,CAAC;EACV;CACF;CACA,kBAAkB,CAIhB;EACE,QAAQ,CAAC,YAAY,YAAY;EACjC,OAAO,EACL,MAAM,8LACR;CACF,CACF;CACA,iBAAiB;EAAE,QAAQ;EAAW,YAAY;EAAO,OAAO;CAAM;AACxE,CAAC"}
@@ -0,0 +1,239 @@
1
+ import { VariantProps } from "../../utils/tv.js";
2
+ //#region src/components/navigation/navigation-styles.d.ts
3
+ /** Variant definitions for {@link NavigationRail}; extend them to add variants. */
4
+ export declare const navigationRailStyles: import("tailwind-variants").TVReturnType<{
5
+ expanded: {
6
+ true: {
7
+ items: string;
8
+ };
9
+ false: {
10
+ items: string;
11
+ };
12
+ };
13
+ /** Auto margins centre the items without hiding any when the rail overflows. */
14
+ itemAlignment: {
15
+ top: {};
16
+ center: {
17
+ items: string;
18
+ };
19
+ };
20
+ /** A divider on the edge next to the content. */
21
+ divider: {
22
+ true: {
23
+ root: string;
24
+ };
25
+ false: {};
26
+ };
27
+ /**
28
+ * `indicatorMotion="slide"` in the expanded rail: the list is isolated, so the items'
29
+ * raised content stays above a sliding pill and no higher.
30
+ */
31
+ slidingIndicator: {
32
+ true: {
33
+ items: string;
34
+ };
35
+ false: {};
36
+ };
37
+ /**
38
+ * Modal sheet entry: from the collapsed width, or sliding in from the start edge. Under
39
+ * reduced motion it fades instead.
40
+ */
41
+ sheetEntry: {
42
+ grow: {
43
+ sheet: string;
44
+ };
45
+ slide: {
46
+ sheet: string[];
47
+ };
48
+ };
49
+ }, {
50
+ root: string[];
51
+ body: string;
52
+ header: string;
53
+ items: string[];
54
+ scrim: string[];
55
+ sheet: string[];
56
+ }, undefined, {
57
+ expanded: {
58
+ true: {
59
+ items: string;
60
+ };
61
+ false: {
62
+ items: string;
63
+ };
64
+ };
65
+ /** Auto margins centre the items without hiding any when the rail overflows. */
66
+ itemAlignment: {
67
+ top: {};
68
+ center: {
69
+ items: string;
70
+ };
71
+ };
72
+ /** A divider on the edge next to the content. */
73
+ divider: {
74
+ true: {
75
+ root: string;
76
+ };
77
+ false: {};
78
+ };
79
+ /**
80
+ * `indicatorMotion="slide"` in the expanded rail: the list is isolated, so the items'
81
+ * raised content stays above a sliding pill and no higher.
82
+ */
83
+ slidingIndicator: {
84
+ true: {
85
+ items: string;
86
+ };
87
+ false: {};
88
+ };
89
+ /**
90
+ * Modal sheet entry: from the collapsed width, or sliding in from the start edge. Under
91
+ * reduced motion it fades instead.
92
+ */
93
+ sheetEntry: {
94
+ grow: {
95
+ sheet: string;
96
+ };
97
+ slide: {
98
+ sheet: string[];
99
+ };
100
+ };
101
+ }, {
102
+ root: string[];
103
+ body: string;
104
+ header: string;
105
+ items: string[];
106
+ scrim: string[];
107
+ sheet: string[];
108
+ }, import("tailwind-variants").TVReturnTypeLike<{
109
+ expanded: {
110
+ true: {
111
+ items: string;
112
+ };
113
+ false: {
114
+ items: string;
115
+ };
116
+ };
117
+ /** Auto margins centre the items without hiding any when the rail overflows. */
118
+ itemAlignment: {
119
+ top: {};
120
+ center: {
121
+ items: string;
122
+ };
123
+ };
124
+ /** A divider on the edge next to the content. */
125
+ divider: {
126
+ true: {
127
+ root: string;
128
+ };
129
+ false: {};
130
+ };
131
+ /**
132
+ * `indicatorMotion="slide"` in the expanded rail: the list is isolated, so the items'
133
+ * raised content stays above a sliding pill and no higher.
134
+ */
135
+ slidingIndicator: {
136
+ true: {
137
+ items: string;
138
+ };
139
+ false: {};
140
+ };
141
+ /**
142
+ * Modal sheet entry: from the collapsed width, or sliding in from the start edge. Under
143
+ * reduced motion it fades instead.
144
+ */
145
+ sheetEntry: {
146
+ grow: {
147
+ sheet: string;
148
+ };
149
+ slide: {
150
+ sheet: string[];
151
+ };
152
+ };
153
+ }, {
154
+ root: string[];
155
+ body: string;
156
+ header: string;
157
+ items: string[];
158
+ scrim: string[];
159
+ sheet: string[];
160
+ }>>;
161
+ /** Variant definitions for {@link NavigationBar}; extend them to add variants. */
162
+ export declare const navigationBarStyles: import("tailwind-variants").TVReturnType<{
163
+ arrangement: {
164
+ equal: {
165
+ item: string;
166
+ };
167
+ centered: {
168
+ root: string;
169
+ item: string;
170
+ };
171
+ };
172
+ iconPlacement: {
173
+ top: {};
174
+ start: {};
175
+ };
176
+ hideOnScroll: {
177
+ true: {
178
+ root: string[];
179
+ };
180
+ false: {};
181
+ };
182
+ }, {
183
+ root: string;
184
+ item: string;
185
+ }, undefined, {
186
+ arrangement: {
187
+ equal: {
188
+ item: string;
189
+ };
190
+ centered: {
191
+ root: string;
192
+ item: string;
193
+ };
194
+ };
195
+ iconPlacement: {
196
+ top: {};
197
+ start: {};
198
+ };
199
+ hideOnScroll: {
200
+ true: {
201
+ root: string[];
202
+ };
203
+ false: {};
204
+ };
205
+ }, {
206
+ root: string;
207
+ item: string;
208
+ }, import("tailwind-variants").TVReturnTypeLike<{
209
+ arrangement: {
210
+ equal: {
211
+ item: string;
212
+ };
213
+ centered: {
214
+ root: string;
215
+ item: string;
216
+ };
217
+ };
218
+ iconPlacement: {
219
+ top: {};
220
+ start: {};
221
+ };
222
+ hideOnScroll: {
223
+ true: {
224
+ root: string[];
225
+ };
226
+ false: {};
227
+ };
228
+ }, {
229
+ root: string;
230
+ item: string;
231
+ }>>;
232
+ /**
233
+ * The variants of {@link navigationBarStyles}, for building on its styles. They are the recipe's keys, not
234
+ * component props: their names (`hasIcon`, `isOpen`…) follow the classes and may change.
235
+ */
236
+ export type NavigationBarStyleProps = VariantProps<typeof navigationBarStyles>;
237
+ export type NavigationBarArrangement = NonNullable<NavigationBarStyleProps['arrangement']>;
238
+ //#endregion
239
+ //# sourceMappingURL=navigation-styles.d.ts.map
@@ -0,0 +1,134 @@
1
+ import { tv } from "../../utils/tv.js";
2
+ import { reducedMotionFade } from "../../motion/reduced-motion.js";
3
+ //#region src/components/navigation/navigation-styles.ts
4
+ /** Half of what's left beside a 56px pill in the collapsed rail. */
5
+ const itemInset = "[--m3-rail-item-inset:calc((var(--m3-rail-collapsed-width)_-_56px)/2)]";
6
+ /**
7
+ * While the expanded rail is still widening (`data-widening`), labels stay on one line and
8
+ * the rail clips them, so the items keep their height and the icons their places.
9
+ */
10
+ const oneLineWhileResizing = "[&[data-widening]_[data-nav-label]]:text-nowrap";
11
+ /** Variant definitions for {@link NavigationRail}; extend them to add variants. */
12
+ const navigationRailStyles = tv({
13
+ slots: {
14
+ root: [
15
+ "flex w-(--m3-rail-width) shrink-0 flex-col text-on-surface",
16
+ "bg-[var(--_md-comp-nav-rail-collapsed-container-color)] data-expanded:bg-[var(--_md-comp-nav-rail-expanded-container-color)]",
17
+ itemInset,
18
+ oneLineWhileResizing,
19
+ ...[
20
+ "[transition-property:width]",
21
+ "[transition-duration:var(--md-sys-motion-spring-spatial-default-duration)]",
22
+ "[transition-timing-function:var(--md-sys-motion-spring-spatial-default-easing)]"
23
+ ]
24
+ ],
25
+ body: "flex min-h-0 flex-1 flex-col overflow-x-clip overflow-y-auto pt-[44px]",
26
+ header: "grid grid-cols-[56px] justify-items-center-safe ps-(--m3-rail-item-inset) pb-[40px] [&>*]:min-w-max",
27
+ items: ["flex flex-col", "[transition-property:gap] [transition-duration:var(--md-sys-motion-spring-spatial-default-duration)] [transition-timing-function:var(--md-sys-motion-spring-spatial-default-easing)]"],
28
+ scrim: [
29
+ "fixed inset-0 z-(--md-sys-z-scrim) bg-scrim/32 opacity-100",
30
+ "[transition-property:opacity]",
31
+ "[transition-duration:var(--md-sys-motion-spring-effects-default-duration)]",
32
+ "[transition-timing-function:var(--md-sys-motion-spring-effects-default-easing)]",
33
+ "starting:opacity-0 data-exiting:opacity-0"
34
+ ],
35
+ sheet: [
36
+ "fixed inset-y-0 start-0 z-(--md-sys-z-sheet) flex w-(--m3-rail-width) flex-col overflow-x-clip overflow-y-auto pt-[44px]",
37
+ "rounded-e-[var(--_md-comp-nav-rail-expanded-modal-container-shape)] bg-[var(--_md-comp-nav-rail-expanded-modal-container-color)]",
38
+ "text-on-surface shadow-elevation-2 outline-none",
39
+ itemInset,
40
+ oneLineWhileResizing,
41
+ "[&[data-exiting]_[data-nav-label]]:text-nowrap",
42
+ "[transition-property:width,translate]",
43
+ "[transition-duration:var(--md-sys-motion-spring-spatial-fast-duration)]",
44
+ "[transition-timing-function:var(--md-sys-motion-spring-spatial-fast-easing)]",
45
+ ...reducedMotionFade
46
+ ]
47
+ },
48
+ variants: {
49
+ expanded: {
50
+ true: { items: "gap-0" },
51
+ false: { items: "gap-[4px]" }
52
+ },
53
+ /** Auto margins centre the items without hiding any when the rail overflows. */
54
+ itemAlignment: {
55
+ top: {},
56
+ center: { items: "my-auto" }
57
+ },
58
+ /** A divider on the edge next to the content. */
59
+ divider: {
60
+ true: { root: "border-e border-outline-variant" },
61
+ false: {}
62
+ },
63
+ /**
64
+ * `indicatorMotion="slide"` in the expanded rail: the list is isolated, so the items'
65
+ * raised content stays above a sliding pill and no higher.
66
+ */
67
+ slidingIndicator: {
68
+ true: { items: "isolate" },
69
+ false: {}
70
+ },
71
+ /**
72
+ * Modal sheet entry: from the collapsed width, or sliding in from the start edge. Under
73
+ * reduced motion it fades instead.
74
+ */
75
+ sheetEntry: {
76
+ grow: { sheet: "motion-safe:starting:w-(--m3-rail-collapsed-width) motion-safe:data-exiting:w-(--m3-rail-collapsed-width)" },
77
+ slide: { sheet: [
78
+ "motion-safe:starting:-translate-x-full motion-safe:data-exiting:-translate-x-full motion-safe:rtl:starting:translate-x-full motion-safe:rtl:data-exiting:translate-x-full",
79
+ "[transition-duration:var(--md-sys-motion-spring-spatial-default-duration)]",
80
+ "[transition-timing-function:var(--md-sys-motion-spring-spatial-default-easing)]"
81
+ ] }
82
+ }
83
+ },
84
+ defaultVariants: {
85
+ expanded: false,
86
+ sheetEntry: "grow",
87
+ itemAlignment: "top",
88
+ divider: false,
89
+ slidingIndicator: false
90
+ }
91
+ });
92
+ /** Variant definitions for {@link NavigationBar}; extend them to add variants. */
93
+ const navigationBarStyles = tv({
94
+ slots: {
95
+ root: "flex min-h-[64px] w-full bg-[var(--_md-comp-nav-bar-container-color)] text-on-surface",
96
+ item: "min-w-0"
97
+ },
98
+ variants: {
99
+ arrangement: {
100
+ equal: { item: "flex-1 basis-0" },
101
+ centered: {
102
+ root: "justify-center",
103
+ item: "flex-1 basis-0"
104
+ }
105
+ },
106
+ iconPlacement: {
107
+ top: {},
108
+ start: {}
109
+ },
110
+ hideOnScroll: {
111
+ true: { root: [
112
+ "sticky bottom-(--m3-nav-bar-offset) z-(--md-sys-z-sticky)",
113
+ "data-settling:[transition-property:bottom]",
114
+ "data-settling:[transition-duration:var(--md-sys-motion-spring-effects-default-duration)]",
115
+ "data-settling:[transition-timing-function:var(--md-sys-motion-spring-effects-default-easing)]"
116
+ ] },
117
+ false: {}
118
+ }
119
+ },
120
+ compoundVariants: [{
121
+ arrangement: "centered",
122
+ iconPlacement: "start",
123
+ class: { item: "flex-initial basis-auto" }
124
+ }],
125
+ defaultVariants: {
126
+ arrangement: "equal",
127
+ iconPlacement: "top",
128
+ hideOnScroll: false
129
+ }
130
+ });
131
+ //#endregion
132
+ export { navigationBarStyles, navigationRailStyles };
133
+
134
+ //# sourceMappingURL=navigation-styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-styles.js","names":[],"sources":["../../../src/components/navigation/navigation-styles.ts"],"sourcesContent":["import { reducedMotionFade } from '../../motion/reduced-motion';\nimport { tv, type VariantProps } from '../../utils/tv';\n\n/*\n * Values follow Compose Material 3 (WideNavigationRail.kt, ShortNavigationBar.kt and the\n * NavigationRail* / NavigationBar* token files).\n *\n * Rail: `surface`, 96px collapsed; expanded it is as wide as its widest item plus the 20px\n * insets, 220–360px, and the width springs on the default spatial spring. Content starts\n * 44px down; a header sits 40px above the items, which are 4px apart collapsed and flush\n * expanded. The modal expanded rail is `surface-container` at level 2 with 16px end\n * corners over a 32% scrim; it grows from the collapsed width on the fast spatial spring, or\n * slides in on the default one when the collapsed rail is hidden. It stays mounted until its\n * own width or slide (or, under reduced motion, its fade) has ended.\n *\n * Icons stay on one line in both states, through the middle of the collapsed rail, as in\n * M3's rail motion: only the labels and the rail's edge move. While the width springs open\n * (and while the modal sheet shrinks away) labels stay on one line, clipped by the rail, so\n * none wraps letter by letter in a rail that is still narrow and no item grows taller. So nothing is centred in\n * the animated width. The collapsed width is `--m3-rail-collapsed-width` (96px), and the\n * item inset `--m3-rail-item-inset` is half of what's left beside a 56px pill (20px). The\n * header is a 56px column at that inset: anything up to 56px (the menu button, a FAB) is\n * centred on the icon line, and anything wider (an extended FAB) keeps its width and starts\n * at the column's edge.\n *\n * Items align as a group to the top (default) or, with `itemAlignment=\"center\"`, to the\n * middle of the space below the header (M3: centre alignment on tablets); the header stays\n * at the top. An optional divider (`outline-variant`) marks the edge next to the content.\n *\n * Bar: `surface-container`, at least 64px (it grows when labels wrap), no elevation.\n * Stacked items share the width equally, or, when centred, sit within side padding of\n * (100% − 10% × (items + 3)) / 2 (up to 6 items). Items beside their icons\n * (`iconPlacement=\"start\"`) are centred by default and sized to their content, so the extra\n * space goes to the bar's ends (M3: \"Horizontal navigation items have a fixed width\").\n * With `scrollBehavior=\"hide-on-scroll\"` the bar is sticky at the bottom and its offset\n * (`--m3-nav-bar-offset`, 0 down to minus its height) follows the page scroll.\n *\n * The rail's width is the `--m3-rail-width` variable, so a consumer `w-*` class still wins;\n * a narrower or wider collapsed rail sets `--m3-rail-collapsed-width` instead.\n *\n * Container colours and the modal rail's corners come from the component tokens\n * (`navigation-tokens.ts`, `--md-comp-nav-bar-*` and `--md-comp-nav-rail-*`): the bar, the\n * rail and the modal rail's sheet (`data-modal`) carry `data-tokens`. A consumer class still\n * wins in `cn()`.\n * Every class is written out in full so Tailwind can find it.\n */\n\n/** Half of what's left beside a 56px pill in the collapsed rail. */\nconst itemInset = '[--m3-rail-item-inset:calc((var(--m3-rail-collapsed-width)_-_56px)/2)]';\n\n/**\n * While the expanded rail is still widening (`data-widening`), labels stay on one line and\n * the rail clips them, so the items keep their height and the icons their places.\n */\nconst oneLineWhileResizing = '[&[data-widening]_[data-nav-label]]:text-nowrap';\n\nconst widthMotion = [\n '[transition-property:width]',\n '[transition-duration:var(--md-sys-motion-spring-spatial-default-duration)]',\n '[transition-timing-function:var(--md-sys-motion-spring-spatial-default-easing)]',\n];\n\n/** Variant definitions for {@link NavigationRail}; extend them to add variants. */\nexport const navigationRailStyles = tv({\n slots: {\n root: [\n 'flex w-(--m3-rail-width) shrink-0 flex-col text-on-surface',\n 'bg-[var(--_md-comp-nav-rail-collapsed-container-color)] data-expanded:bg-[var(--_md-comp-nav-rail-expanded-container-color)]',\n itemInset,\n oneLineWhileResizing,\n ...widthMotion,\n ],\n // Library-owned wrapper: clips labels while the width animates.\n body: 'flex min-h-0 flex-1 flex-col overflow-x-clip overflow-y-auto pt-[44px]',\n // Children keep their own width (a centred grid item would shrink to the 56px column).\n header:\n 'grid grid-cols-[56px] justify-items-center-safe ps-(--m3-rail-item-inset) pb-[40px] [&>*]:min-w-max',\n // The gap between items springs 4 → 0px as the rail expands (default spatial, as\n // Compose's itemVerticalSpacedBy; 2026-10-17), instant under reduced motion.\n items: [\n 'flex flex-col',\n '[transition-property:gap] [transition-duration:var(--md-sys-motion-spring-spatial-default-duration)] [transition-timing-function:var(--md-sys-motion-spring-spatial-default-easing)]',\n ],\n scrim: [\n 'fixed inset-0 z-(--md-sys-z-scrim) bg-scrim/32 opacity-100',\n '[transition-property:opacity]',\n '[transition-duration:var(--md-sys-motion-spring-effects-default-duration)]',\n '[transition-timing-function:var(--md-sys-motion-spring-effects-default-easing)]',\n // In and out on the default effects spring, as Compose's modal rail scrim (2026-10-15).\n 'starting:opacity-0 data-exiting:opacity-0',\n ],\n sheet: [\n 'fixed inset-y-0 start-0 z-(--md-sys-z-sheet) flex w-(--m3-rail-width) flex-col overflow-x-clip overflow-y-auto pt-[44px]',\n 'rounded-e-[var(--_md-comp-nav-rail-expanded-modal-container-shape)] bg-[var(--_md-comp-nav-rail-expanded-modal-container-color)]',\n 'text-on-surface shadow-elevation-2 outline-none',\n itemInset,\n oneLineWhileResizing,\n '[&[data-exiting]_[data-nav-label]]:text-nowrap',\n '[transition-property:width,translate]',\n '[transition-duration:var(--md-sys-motion-spring-spatial-fast-duration)]',\n '[transition-timing-function:var(--md-sys-motion-spring-spatial-fast-easing)]',\n // Under reduced motion it fades in and out at its full width.\n ...reducedMotionFade,\n ],\n },\n variants: {\n expanded: {\n true: { items: 'gap-0' },\n false: { items: 'gap-[4px]' },\n },\n /** Auto margins centre the items without hiding any when the rail overflows. */\n itemAlignment: {\n top: {},\n center: { items: 'my-auto' },\n },\n /** A divider on the edge next to the content. */\n divider: {\n true: { root: 'border-e border-outline-variant' },\n false: {},\n },\n /**\n * `indicatorMotion=\"slide\"` in the expanded rail: the list is isolated, so the items'\n * raised content stays above a sliding pill and no higher.\n */\n slidingIndicator: {\n true: { items: 'isolate' },\n false: {},\n },\n /**\n * Modal sheet entry: from the collapsed width, or sliding in from the start edge. Under\n * reduced motion it fades instead.\n */\n sheetEntry: {\n grow: {\n sheet:\n 'motion-safe:starting:w-(--m3-rail-collapsed-width) motion-safe:data-exiting:w-(--m3-rail-collapsed-width)',\n },\n // Sliding in, the sheet takes the default spatial spring, as Compose's modal rail\n // (`WideNavigationRail.kt`): the fast one overshot 21px off the window edge (2026-10-15).\n slide: {\n sheet: [\n 'motion-safe:starting:-translate-x-full motion-safe:data-exiting:-translate-x-full motion-safe:rtl:starting:translate-x-full motion-safe:rtl:data-exiting:translate-x-full',\n '[transition-duration:var(--md-sys-motion-spring-spatial-default-duration)]',\n '[transition-timing-function:var(--md-sys-motion-spring-spatial-default-easing)]',\n ],\n },\n },\n },\n defaultVariants: {\n expanded: false,\n sheetEntry: 'grow',\n itemAlignment: 'top',\n divider: false,\n slidingIndicator: false,\n },\n});\n\n/** Variant definitions for {@link NavigationBar}; extend them to add variants. */\nexport const navigationBarStyles = tv({\n slots: {\n root: 'flex min-h-[64px] w-full bg-[var(--_md-comp-nav-bar-container-color)] text-on-surface',\n item: 'min-w-0',\n },\n variants: {\n arrangement: {\n equal: { item: 'flex-1 basis-0' },\n centered: { root: 'justify-center', item: 'flex-1 basis-0' },\n },\n iconPlacement: { top: {}, start: {} },\n hideOnScroll: {\n // Settling after a scroll ends (`data-settling`), the offset eases to shown or hidden on\n // the default effects spring; while scrolling it follows the scroll directly.\n true: {\n root: [\n 'sticky bottom-(--m3-nav-bar-offset) z-(--md-sys-z-sticky)',\n 'data-settling:[transition-property:bottom]',\n 'data-settling:[transition-duration:var(--md-sys-motion-spring-effects-default-duration)]',\n 'data-settling:[transition-timing-function:var(--md-sys-motion-spring-effects-default-easing)]',\n ],\n },\n false: {},\n },\n },\n compoundVariants: [\n // Items beside their icons keep their own width; the extra space goes to the ends.\n { arrangement: 'centered', iconPlacement: 'start', class: { item: 'flex-initial basis-auto' } },\n ],\n defaultVariants: { arrangement: 'equal', iconPlacement: 'top', hideOnScroll: false },\n});\n\n/**\n * The variants of {@link navigationBarStyles}, 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 NavigationBarStyleProps = VariantProps<typeof navigationBarStyles>;\nexport type NavigationBarArrangement = NonNullable<NavigationBarStyleProps['arrangement']>;\n"],"mappings":";;;;AAgDA,MAAM,YAAY;;;;;AAMlB,MAAM,uBAAuB;;AAS7B,MAAa,uBAAuB,GAAG;CACrC,OAAO;EACL,MAAM;GACJ;GACA;GACA;GACA;GACA,GAAG;IAbP;IACA;IACA;GAWO;EACL;EAEA,MAAM;EAEN,QACE;EAGF,OAAO,CACL,iBACA,sLACF;EACA,OAAO;GACL;GACA;GACA;GACA;GAEA;EACF;EACA,OAAO;GACL;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GAEA,GAAG;EACL;CACF;CACA,UAAU;EACR,UAAU;GACR,MAAM,EAAE,OAAO,QAAQ;GACvB,OAAO,EAAE,OAAO,YAAY;EAC9B;;EAEA,eAAe;GACb,KAAK,CAAC;GACN,QAAQ,EAAE,OAAO,UAAU;EAC7B;;EAEA,SAAS;GACP,MAAM,EAAE,MAAM,kCAAkC;GAChD,OAAO,CAAC;EACV;;;;;EAKA,kBAAkB;GAChB,MAAM,EAAE,OAAO,UAAU;GACzB,OAAO,CAAC;EACV;;;;;EAKA,YAAY;GACV,MAAM,EACJ,OACE,4GACJ;GAGA,OAAO,EACL,OAAO;IACL;IACA;IACA;GACF,EACF;EACF;CACF;CACA,iBAAiB;EACf,UAAU;EACV,YAAY;EACZ,eAAe;EACf,SAAS;EACT,kBAAkB;CACpB;AACF,CAAC;;AAGD,MAAa,sBAAsB,GAAG;CACpC,OAAO;EACL,MAAM;EACN,MAAM;CACR;CACA,UAAU;EACR,aAAa;GACX,OAAO,EAAE,MAAM,iBAAiB;GAChC,UAAU;IAAE,MAAM;IAAkB,MAAM;GAAiB;EAC7D;EACA,eAAe;GAAE,KAAK,CAAC;GAAG,OAAO,CAAC;EAAE;EACpC,cAAc;GAGZ,MAAM,EACJ,MAAM;IACJ;IACA;IACA;IACA;GACF,EACF;GACA,OAAO,CAAC;EACV;CACF;CACA,kBAAkB,CAEhB;EAAE,aAAa;EAAY,eAAe;EAAS,OAAO,EAAE,MAAM,0BAA0B;CAAE,CAChG;CACA,iBAAiB;EAAE,aAAa;EAAS,eAAe;EAAO,cAAc;CAAM;AACrF,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ComponentTokenSet } from "../../tokens/component.js";
2
+ import "../../index.js";
3
+ //#region src/components/navigation/navigation-tokens.d.ts
4
+ /** The tokens of {@link NavigationBar}: `--md-comp-nav-bar-<part>`. */
5
+ export declare const navBarTokenSet: ComponentTokenSet<"container-color" | "item-active-indicator-color" | "item-active-icon-color" | "item-inactive-icon-color" | "item-active-label-text-color" | "item-inactive-label-text-color">;
6
+ /** The tokens of {@link NavigationRail}: `--md-comp-nav-rail-<part>`. */
7
+ export declare const navRailTokenSet: ComponentTokenSet<"item-active-indicator-color" | "item-active-icon-color" | "item-inactive-icon-color" | "item-active-label-text-color" | "item-inactive-label-text-color" | "collapsed-container-color" | "expanded-container-color" | "expanded-modal-container-color" | "expanded-modal-container-shape">;
8
+ //#endregion
9
+ //# sourceMappingURL=navigation-tokens.d.ts.map
@@ -0,0 +1,114 @@
1
+ import { color, corner, defineComponentTokens } from "../../tokens/component.js";
2
+ //#region src/components/navigation/navigation-tokens.ts
3
+ /** The item tokens, shared by the bar and the rail. */
4
+ function itemTokens(set) {
5
+ return {
6
+ "item-active-indicator-color": {
7
+ value: color("secondary-container"),
8
+ description: "The current item's pill.",
9
+ compose: `${set}Tokens.ItemActiveIndicatorColor`,
10
+ paints: {
11
+ property: "background-color",
12
+ slot: "indicator",
13
+ state: "current"
14
+ }
15
+ },
16
+ "item-active-icon-color": {
17
+ value: color("on-secondary-container"),
18
+ description: "The current item's icon.",
19
+ compose: `${set}Tokens.ItemActiveIconColor`,
20
+ paints: {
21
+ property: "color",
22
+ slot: "icon",
23
+ state: "current"
24
+ }
25
+ },
26
+ "item-inactive-icon-color": {
27
+ value: color("on-surface-variant"),
28
+ description: "The other items’ icons.",
29
+ compose: `${set}Tokens.ItemInactiveIconColor`,
30
+ paints: {
31
+ property: "color",
32
+ slot: "icon"
33
+ }
34
+ },
35
+ "item-active-label-text-color": {
36
+ value: color("secondary"),
37
+ description: "The current item's label: `secondary` below its icon, `on-secondary-container` beside it (in the pill).",
38
+ compose: `${set}Tokens.ItemActiveLabelTextColor`,
39
+ paints: {
40
+ property: "color",
41
+ slot: "label",
42
+ state: "current"
43
+ }
44
+ },
45
+ "item-inactive-label-text-color": {
46
+ value: color("on-surface-variant"),
47
+ description: "The other items’ labels.",
48
+ compose: `${set}Tokens.ItemInactiveLabelTextColor`,
49
+ paints: {
50
+ property: "color",
51
+ slot: "label"
52
+ }
53
+ }
54
+ };
55
+ }
56
+ /** The tokens of {@link NavigationBar}: `--md-comp-nav-bar-<part>`. */
57
+ const navBarTokenSet = defineComponentTokens({
58
+ name: "md-comp-nav-bar",
59
+ tokens: {
60
+ "container-color": {
61
+ value: color("surface-container"),
62
+ description: "The bar.",
63
+ compose: "NavigationBarTokens.ContainerColor",
64
+ paints: { property: "background-color" }
65
+ },
66
+ ...itemTokens("NavigationBar")
67
+ },
68
+ states: { layout: { "bar-start": { "item-active-label-text-color": color("on-secondary-container") } } }
69
+ });
70
+ /** The tokens of {@link NavigationRail}: `--md-comp-nav-rail-<part>`. */
71
+ const navRailTokenSet = defineComponentTokens({
72
+ name: "md-comp-nav-rail",
73
+ tokens: {
74
+ "collapsed-container-color": {
75
+ value: color("surface"),
76
+ description: "The collapsed rail.",
77
+ compose: "NavigationRailCollapsedTokens.ContainerColor",
78
+ paints: { property: "background-color" }
79
+ },
80
+ "expanded-container-color": {
81
+ value: color("surface"),
82
+ description: "The expanded rail, beside the content.",
83
+ compose: "NavigationRailExpandedTokens.ContainerColor",
84
+ paints: {
85
+ property: "background-color",
86
+ state: "expanded"
87
+ }
88
+ },
89
+ "expanded-modal-container-color": {
90
+ value: color("surface-container"),
91
+ description: "The modal expanded rail, over the content.",
92
+ compose: "NavigationRailExpandedTokens.ModalContainerColor",
93
+ paints: {
94
+ property: "background-color",
95
+ state: "modal"
96
+ }
97
+ },
98
+ "expanded-modal-container-shape": {
99
+ value: corner("large"),
100
+ description: "The modal expanded rail's end corners.",
101
+ compose: "NavigationRailExpandedTokens.ModalContainerShape",
102
+ paints: {
103
+ property: "border-top-right-radius",
104
+ state: "modal"
105
+ }
106
+ },
107
+ ...itemTokens("NavigationRail")
108
+ },
109
+ states: { layout: { "rail-start": { "item-active-label-text-color": color("on-secondary-container") } } }
110
+ });
111
+ //#endregion
112
+ export { navBarTokenSet, navRailTokenSet };
113
+
114
+ //# sourceMappingURL=navigation-tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-tokens.js","names":[],"sources":["../../../src/components/navigation/navigation-tokens.ts"],"sourcesContent":["import { color, corner, defineComponentTokens, type ComponentToken } from '../../tokens/component';\n\n/*\n * The navigation bar's and rail's component tokens, M3 Expressive's `md.comp.nav-bar.*` and\n * `md.comp.nav-rail.*` names (checked against m3.material.io's token tables, 2026-10-14;\n * `navigation-bar` and `navigation-rail` are the baseline sets), with the defaults of\n * `navigation-styles.ts` and `nav-item-styles.ts`.\n *\n * The bar or rail and each of its items carry `data-tokens`, so an item's own state\n * (`data-current`) and layout (`data-layout`) pick its colours: the current label is\n * `secondary` below its icon and `on-secondary-container` beside it, in the pill. Hover,\n * focus, press and disabled colours stay classes.\n */\n\n/** The item tokens, shared by the bar and the rail. */\nfunction itemTokens(\n set: 'NavigationBar' | 'NavigationRail',\n): Record<\n | 'item-active-indicator-color'\n | 'item-active-icon-color'\n | 'item-inactive-icon-color'\n | 'item-active-label-text-color'\n | 'item-inactive-label-text-color',\n ComponentToken\n> {\n return {\n 'item-active-indicator-color': {\n value: color('secondary-container'),\n description: \"The current item's pill.\",\n compose: `${set}Tokens.ItemActiveIndicatorColor`,\n paints: { property: 'background-color', slot: 'indicator', state: 'current' },\n },\n 'item-active-icon-color': {\n value: color('on-secondary-container'),\n description: \"The current item's icon.\",\n compose: `${set}Tokens.ItemActiveIconColor`,\n paints: { property: 'color', slot: 'icon', state: 'current' },\n },\n 'item-inactive-icon-color': {\n value: color('on-surface-variant'),\n description: 'The other items’ icons.',\n compose: `${set}Tokens.ItemInactiveIconColor`,\n paints: { property: 'color', slot: 'icon' },\n },\n 'item-active-label-text-color': {\n value: color('secondary'),\n description:\n \"The current item's label: `secondary` below its icon, `on-secondary-container` beside it (in the pill).\",\n compose: `${set}Tokens.ItemActiveLabelTextColor`,\n paints: { property: 'color', slot: 'label', state: 'current' },\n },\n 'item-inactive-label-text-color': {\n value: color('on-surface-variant'),\n description: 'The other items’ labels.',\n compose: `${set}Tokens.ItemInactiveLabelTextColor`,\n paints: { property: 'color', slot: 'label' },\n },\n };\n}\n\n/** The tokens of {@link NavigationBar}: `--md-comp-nav-bar-<part>`. */\nexport const navBarTokenSet = defineComponentTokens({\n name: 'md-comp-nav-bar',\n tokens: {\n 'container-color': {\n value: color('surface-container'),\n description: 'The bar.',\n compose: 'NavigationBarTokens.ContainerColor',\n paints: { property: 'background-color' },\n },\n ...itemTokens('NavigationBar'),\n },\n states: {\n layout: { 'bar-start': { 'item-active-label-text-color': color('on-secondary-container') } },\n },\n});\n\n/** The tokens of {@link NavigationRail}: `--md-comp-nav-rail-<part>`. */\nexport const navRailTokenSet = defineComponentTokens({\n name: 'md-comp-nav-rail',\n tokens: {\n 'collapsed-container-color': {\n value: color('surface'),\n description: 'The collapsed rail.',\n compose: 'NavigationRailCollapsedTokens.ContainerColor',\n paints: { property: 'background-color' },\n },\n 'expanded-container-color': {\n value: color('surface'),\n description: 'The expanded rail, beside the content.',\n compose: 'NavigationRailExpandedTokens.ContainerColor',\n paints: { property: 'background-color', state: 'expanded' },\n },\n 'expanded-modal-container-color': {\n value: color('surface-container'),\n description: 'The modal expanded rail, over the content.',\n compose: 'NavigationRailExpandedTokens.ModalContainerColor',\n paints: { property: 'background-color', state: 'modal' },\n },\n 'expanded-modal-container-shape': {\n value: corner('large'),\n description: \"The modal expanded rail's end corners.\",\n compose: 'NavigationRailExpandedTokens.ModalContainerShape',\n paints: { property: 'border-top-right-radius', state: 'modal' },\n },\n ...itemTokens('NavigationRail'),\n },\n states: {\n layout: { 'rail-start': { 'item-active-label-text-color': color('on-secondary-container') } },\n },\n});\n"],"mappings":";;;AAeA,SAAS,WACP,KAQA;CACA,OAAO;EACL,+BAA+B;GAC7B,OAAO,MAAM,qBAAqB;GAClC,aAAa;GACb,SAAS,GAAG,IAAI;GAChB,QAAQ;IAAE,UAAU;IAAoB,MAAM;IAAa,OAAO;GAAU;EAC9E;EACA,0BAA0B;GACxB,OAAO,MAAM,wBAAwB;GACrC,aAAa;GACb,SAAS,GAAG,IAAI;GAChB,QAAQ;IAAE,UAAU;IAAS,MAAM;IAAQ,OAAO;GAAU;EAC9D;EACA,4BAA4B;GAC1B,OAAO,MAAM,oBAAoB;GACjC,aAAa;GACb,SAAS,GAAG,IAAI;GAChB,QAAQ;IAAE,UAAU;IAAS,MAAM;GAAO;EAC5C;EACA,gCAAgC;GAC9B,OAAO,MAAM,WAAW;GACxB,aACE;GACF,SAAS,GAAG,IAAI;GAChB,QAAQ;IAAE,UAAU;IAAS,MAAM;IAAS,OAAO;GAAU;EAC/D;EACA,kCAAkC;GAChC,OAAO,MAAM,oBAAoB;GACjC,aAAa;GACb,SAAS,GAAG,IAAI;GAChB,QAAQ;IAAE,UAAU;IAAS,MAAM;GAAQ;EAC7C;CACF;AACF;;AAGA,MAAa,iBAAiB,sBAAsB;CAClD,MAAM;CACN,QAAQ;EACN,mBAAmB;GACjB,OAAO,MAAM,mBAAmB;GAChC,aAAa;GACb,SAAS;GACT,QAAQ,EAAE,UAAU,mBAAmB;EACzC;EACA,GAAG,WAAW,eAAe;CAC/B;CACA,QAAQ,EACN,QAAQ,EAAE,aAAa,EAAE,gCAAgC,MAAM,wBAAwB,EAAE,EAAE,EAC7F;AACF,CAAC;;AAGD,MAAa,kBAAkB,sBAAsB;CACnD,MAAM;CACN,QAAQ;EACN,6BAA6B;GAC3B,OAAO,MAAM,SAAS;GACtB,aAAa;GACb,SAAS;GACT,QAAQ,EAAE,UAAU,mBAAmB;EACzC;EACA,4BAA4B;GAC1B,OAAO,MAAM,SAAS;GACtB,aAAa;GACb,SAAS;GACT,QAAQ;IAAE,UAAU;IAAoB,OAAO;GAAW;EAC5D;EACA,kCAAkC;GAChC,OAAO,MAAM,mBAAmB;GAChC,aAAa;GACb,SAAS;GACT,QAAQ;IAAE,UAAU;IAAoB,OAAO;GAAQ;EACzD;EACA,kCAAkC;GAChC,OAAO,OAAO,OAAO;GACrB,aAAa;GACb,SAAS;GACT,QAAQ;IAAE,UAAU;IAA2B,OAAO;GAAQ;EAChE;EACA,GAAG,WAAW,gBAAgB;CAChC;CACA,QAAQ,EACN,QAAQ,EAAE,cAAc,EAAE,gCAAgC,MAAM,wBAAwB,EAAE,EAAE,EAC9F;AACF,CAAC"}