@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,420 @@
1
+ import { clampDouble } from "../utils/math_utils.js";
2
+ import { Hct } from "../hct/hct.js";
3
+ import { Contrast } from "../contrast/contrast.js";
4
+ //#region ../../node_modules/.pnpm/@material+material-color-utilities@0.4.0/node_modules/@material/material-color-utilities/dynamiccolor/dynamic_color.js
5
+ /**
6
+ * @license
7
+ * Copyright 2022 Google LLC
8
+ *
9
+ * Licensed under the Apache License, Version 2.0 (the "License");
10
+ * you may not use this file except in compliance with the License.
11
+ * You may obtain a copy of the License at
12
+ *
13
+ * http://www.apache.org/licenses/LICENSE-2.0
14
+ *
15
+ * Unless required by applicable law or agreed to in writing, software
16
+ * distributed under the License is distributed on an "AS IS" BASIS,
17
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ * See the License for the specific language governing permissions and
19
+ * limitations under the License.
20
+ */
21
+ function validateExtendedColor(originalColor, specVersion, extendedColor) {
22
+ if (originalColor.name !== extendedColor.name) throw new Error(`Attempting to extend color ${originalColor.name} with color ${extendedColor.name} of different name for spec version ${specVersion}.`);
23
+ if (originalColor.isBackground !== extendedColor.isBackground) throw new Error(`Attempting to extend color ${originalColor.name} as a ${originalColor.isBackground ? "background" : "foreground"} with color ${extendedColor.name} as a ${extendedColor.isBackground ? "background" : "foreground"} for spec version ${specVersion}.`);
24
+ }
25
+ /**
26
+ * Returns a new DynamicColor that is the same as the original color, but with
27
+ * the extended dynamic color's constraints for the given spec version.
28
+ *
29
+ * @param originlColor The original color.
30
+ * @param specVersion The spec version to extend.
31
+ * @param extendedColor The color with the values to extend.
32
+ */
33
+ function extendSpecVersion(originlColor, specVersion, extendedColor) {
34
+ validateExtendedColor(originlColor, specVersion, extendedColor);
35
+ return DynamicColor.fromPalette({
36
+ name: originlColor.name,
37
+ palette: (s) => s.specVersion === specVersion ? extendedColor.palette(s) : originlColor.palette(s),
38
+ tone: (s) => s.specVersion === specVersion ? extendedColor.tone(s) : originlColor.tone(s),
39
+ isBackground: originlColor.isBackground,
40
+ chromaMultiplier: (s) => {
41
+ const chromaMultiplier = s.specVersion === specVersion ? extendedColor.chromaMultiplier : originlColor.chromaMultiplier;
42
+ return chromaMultiplier !== void 0 ? chromaMultiplier(s) : 1;
43
+ },
44
+ background: (s) => {
45
+ const background = s.specVersion === specVersion ? extendedColor.background : originlColor.background;
46
+ return background !== void 0 ? background(s) : void 0;
47
+ },
48
+ secondBackground: (s) => {
49
+ const secondBackground = s.specVersion === specVersion ? extendedColor.secondBackground : originlColor.secondBackground;
50
+ return secondBackground !== void 0 ? secondBackground(s) : void 0;
51
+ },
52
+ contrastCurve: (s) => {
53
+ const contrastCurve = s.specVersion === specVersion ? extendedColor.contrastCurve : originlColor.contrastCurve;
54
+ return contrastCurve !== void 0 ? contrastCurve(s) : void 0;
55
+ },
56
+ toneDeltaPair: (s) => {
57
+ const toneDeltaPair = s.specVersion === specVersion ? extendedColor.toneDeltaPair : originlColor.toneDeltaPair;
58
+ return toneDeltaPair !== void 0 ? toneDeltaPair(s) : void 0;
59
+ }
60
+ });
61
+ }
62
+ /**
63
+ * A color that adjusts itself based on UI state provided by DynamicScheme.
64
+ *
65
+ * Colors without backgrounds do not change tone when contrast changes. Colors
66
+ * with backgrounds become closer to their background as contrast lowers, and
67
+ * further when contrast increases.
68
+ *
69
+ * Prefer static constructors. They require either a hexcode, a palette and
70
+ * tone, or a hue and chroma. Optionally, they can provide a background
71
+ * DynamicColor.
72
+ */
73
+ var DynamicColor = class DynamicColor {
74
+ /**
75
+ * Create a DynamicColor defined by a TonalPalette and HCT tone.
76
+ *
77
+ * @param args Functions with DynamicScheme as input. Must provide a palette
78
+ * and tone. May provide a background DynamicColor and ToneDeltaPair.
79
+ */
80
+ static fromPalette(args) {
81
+ return new DynamicColor(args.name ?? "", args.palette, args.tone ?? DynamicColor.getInitialToneFromBackground(args.background), args.isBackground ?? false, args.chromaMultiplier, args.background, args.secondBackground, args.contrastCurve, args.toneDeltaPair);
82
+ }
83
+ static getInitialToneFromBackground(background) {
84
+ if (background === void 0) return (s) => 50;
85
+ return (s) => background(s) ? background(s).getTone(s) : 50;
86
+ }
87
+ /**
88
+ * The base constructor for DynamicColor.
89
+ *
90
+ * _Strongly_ prefer using one of the convenience constructors. This class is
91
+ * arguably too flexible to ensure it can support any scenario. Functional
92
+ * arguments allow overriding without risks that come with subclasses.
93
+ *
94
+ * For example, the default behavior of adjust tone at max contrast
95
+ * to be at a 7.0 ratio with its background is principled and
96
+ * matches accessibility guidance. That does not mean it's the desired
97
+ * approach for _every_ design system, and every color pairing,
98
+ * always, in every case.
99
+ *
100
+ * @param name The name of the dynamic color. Defaults to empty.
101
+ * @param palette Function that provides a TonalPalette given DynamicScheme. A
102
+ * TonalPalette is defined by a hue and chroma, so this replaces the need
103
+ * to specify hue/chroma. By providing a tonal palette, when contrast
104
+ * adjustments are made, intended chroma can be preserved.
105
+ * @param tone Function that provides a tone, given a DynamicScheme.
106
+ * @param isBackground Whether this dynamic color is a background, with some
107
+ * other color as the foreground. Defaults to false.
108
+ * @param chromaMultiplier A factor that multiplies the chroma for this color.
109
+ * @param background The background of the dynamic color (as a function of a
110
+ * `DynamicScheme`), if it exists.
111
+ * @param secondBackground A second background of the dynamic color (as a
112
+ * function of a `DynamicScheme`), if it exists.
113
+ * @param contrastCurve A `ContrastCurve` object specifying how its contrast
114
+ * against its background should behave in various contrast levels
115
+ * options.
116
+ * @param toneDeltaPair A `ToneDeltaPair` object specifying a tone delta
117
+ * constraint between two colors. One of them must be the color being
118
+ * constructed.
119
+ */
120
+ constructor(name, palette, tone, isBackground, chromaMultiplier, background, secondBackground, contrastCurve, toneDeltaPair) {
121
+ this.name = name;
122
+ this.palette = palette;
123
+ this.tone = tone;
124
+ this.isBackground = isBackground;
125
+ this.chromaMultiplier = chromaMultiplier;
126
+ this.background = background;
127
+ this.secondBackground = secondBackground;
128
+ this.contrastCurve = contrastCurve;
129
+ this.toneDeltaPair = toneDeltaPair;
130
+ this.hctCache = /* @__PURE__ */ new Map();
131
+ if (!background && secondBackground) throw new Error(`Color ${name} has secondBackgrounddefined, but background is not defined.`);
132
+ if (!background && contrastCurve) throw new Error(`Color ${name} has contrastCurvedefined, but background is not defined.`);
133
+ if (background && !contrastCurve) throw new Error(`Color ${name} has backgrounddefined, but contrastCurve is not defined.`);
134
+ }
135
+ /**
136
+ * Returns a deep copy of this DynamicColor.
137
+ */
138
+ clone() {
139
+ return DynamicColor.fromPalette({
140
+ name: this.name,
141
+ palette: this.palette,
142
+ tone: this.tone,
143
+ isBackground: this.isBackground,
144
+ chromaMultiplier: this.chromaMultiplier,
145
+ background: this.background,
146
+ secondBackground: this.secondBackground,
147
+ contrastCurve: this.contrastCurve,
148
+ toneDeltaPair: this.toneDeltaPair
149
+ });
150
+ }
151
+ /**
152
+ * Clears the cache of HCT values for this color. For testing or debugging
153
+ * purposes.
154
+ */
155
+ clearCache() {
156
+ this.hctCache.clear();
157
+ }
158
+ /**
159
+ * Returns a ARGB integer (i.e. a hex code).
160
+ *
161
+ * @param scheme Defines the conditions of the user interface, for example,
162
+ * whether or not it is dark mode or light mode, and what the desired
163
+ * contrast level is.
164
+ */
165
+ getArgb(scheme) {
166
+ return this.getHct(scheme).toInt();
167
+ }
168
+ /**
169
+ * Returns a color, expressed in the HCT color space, that this
170
+ * DynamicColor is under the conditions in scheme.
171
+ *
172
+ * @param scheme Defines the conditions of the user interface, for example,
173
+ * whether or not it is dark mode or light mode, and what the desired
174
+ * contrast level is.
175
+ */
176
+ getHct(scheme) {
177
+ const cachedAnswer = this.hctCache.get(scheme);
178
+ if (cachedAnswer != null) return cachedAnswer;
179
+ const answer = getSpec(scheme.specVersion).getHct(scheme, this);
180
+ if (this.hctCache.size > 4) this.hctCache.clear();
181
+ this.hctCache.set(scheme, answer);
182
+ return answer;
183
+ }
184
+ /**
185
+ * Returns a tone, T in the HCT color space, that this DynamicColor is under
186
+ * the conditions in scheme.
187
+ *
188
+ * @param scheme Defines the conditions of the user interface, for example,
189
+ * whether or not it is dark mode or light mode, and what the desired
190
+ * contrast level is.
191
+ */
192
+ getTone(scheme) {
193
+ return getSpec(scheme.specVersion).getTone(scheme, this);
194
+ }
195
+ /**
196
+ * Given a background tone, finds a foreground tone, while ensuring they reach
197
+ * a contrast ratio that is as close to [ratio] as possible.
198
+ *
199
+ * @param bgTone Tone in HCT. Range is 0 to 100, undefined behavior when it
200
+ * falls outside that range.
201
+ * @param ratio The contrast ratio desired between bgTone and the return
202
+ * value.
203
+ */
204
+ static foregroundTone(bgTone, ratio) {
205
+ const lighterTone = Contrast.lighterUnsafe(bgTone, ratio);
206
+ const darkerTone = Contrast.darkerUnsafe(bgTone, ratio);
207
+ const lighterRatio = Contrast.ratioOfTones(lighterTone, bgTone);
208
+ const darkerRatio = Contrast.ratioOfTones(darkerTone, bgTone);
209
+ if (DynamicColor.tonePrefersLightForeground(bgTone)) {
210
+ const negligibleDifference = Math.abs(lighterRatio - darkerRatio) < .1 && lighterRatio < ratio && darkerRatio < ratio;
211
+ return lighterRatio >= ratio || lighterRatio >= darkerRatio || negligibleDifference ? lighterTone : darkerTone;
212
+ } else return darkerRatio >= ratio || darkerRatio >= lighterRatio ? darkerTone : lighterTone;
213
+ }
214
+ /**
215
+ * Returns whether [tone] prefers a light foreground.
216
+ *
217
+ * People prefer white foregrounds on ~T60-70. Observed over time, and also
218
+ * by Andrew Somers during research for APCA.
219
+ *
220
+ * T60 used as to create the smallest discontinuity possible when skipping
221
+ * down to T49 in order to ensure light foregrounds.
222
+ * Since `tertiaryContainer` in dark monochrome scheme requires a tone of
223
+ * 60, it should not be adjusted. Therefore, 60 is excluded here.
224
+ */
225
+ static tonePrefersLightForeground(tone) {
226
+ return Math.round(tone) < 60;
227
+ }
228
+ /**
229
+ * Returns whether [tone] can reach a contrast ratio of 4.5 with a lighter
230
+ * color.
231
+ */
232
+ static toneAllowsLightForeground(tone) {
233
+ return Math.round(tone) <= 49;
234
+ }
235
+ /**
236
+ * Adjusts a tone such that white has 4.5 contrast, if the tone is
237
+ * reasonably close to supporting it.
238
+ */
239
+ static enableLightForeground(tone) {
240
+ if (DynamicColor.tonePrefersLightForeground(tone) && !DynamicColor.toneAllowsLightForeground(tone)) return 49;
241
+ return tone;
242
+ }
243
+ };
244
+ /**
245
+ * A delegate for the color calculation of a DynamicScheme in the 2021 spec.
246
+ */
247
+ var ColorCalculationDelegateImpl2021 = class {
248
+ getHct(scheme, color) {
249
+ const tone = color.getTone(scheme);
250
+ return color.palette(scheme).getHct(tone);
251
+ }
252
+ getTone(scheme, color) {
253
+ const decreasingContrast = scheme.contrastLevel < 0;
254
+ const toneDeltaPair = color.toneDeltaPair ? color.toneDeltaPair(scheme) : void 0;
255
+ if (toneDeltaPair) {
256
+ const roleA = toneDeltaPair.roleA;
257
+ const roleB = toneDeltaPair.roleB;
258
+ const delta = toneDeltaPair.delta;
259
+ const polarity = toneDeltaPair.polarity;
260
+ const stayTogether = toneDeltaPair.stayTogether;
261
+ const aIsNearer = polarity === "nearer" || polarity === "lighter" && !scheme.isDark || polarity === "darker" && scheme.isDark;
262
+ const nearer = aIsNearer ? roleA : roleB;
263
+ const farther = aIsNearer ? roleB : roleA;
264
+ const amNearer = color.name === nearer.name;
265
+ const expansionDir = scheme.isDark ? 1 : -1;
266
+ let nTone = nearer.tone(scheme);
267
+ let fTone = farther.tone(scheme);
268
+ if (color.background && nearer.contrastCurve && farther.contrastCurve) {
269
+ const bg = color.background(scheme);
270
+ const nContrastCurve = nearer.contrastCurve(scheme);
271
+ const fContrastCurve = farther.contrastCurve(scheme);
272
+ if (bg && nContrastCurve && fContrastCurve) {
273
+ const bgTone = bg.getTone(scheme);
274
+ const nContrast = nContrastCurve.get(scheme.contrastLevel);
275
+ const fContrast = fContrastCurve.get(scheme.contrastLevel);
276
+ if (Contrast.ratioOfTones(bgTone, nTone) < nContrast) nTone = DynamicColor.foregroundTone(bgTone, nContrast);
277
+ if (Contrast.ratioOfTones(bgTone, fTone) < fContrast) fTone = DynamicColor.foregroundTone(bgTone, fContrast);
278
+ if (decreasingContrast) {
279
+ nTone = DynamicColor.foregroundTone(bgTone, nContrast);
280
+ fTone = DynamicColor.foregroundTone(bgTone, fContrast);
281
+ }
282
+ }
283
+ }
284
+ if ((fTone - nTone) * expansionDir < delta) {
285
+ fTone = clampDouble(0, 100, nTone + delta * expansionDir);
286
+ if ((fTone - nTone) * expansionDir >= delta) {} else nTone = clampDouble(0, 100, fTone - delta * expansionDir);
287
+ }
288
+ if (50 <= nTone && nTone < 60) {
289
+ if (expansionDir > 0) {
290
+ nTone = 60;
291
+ fTone = Math.max(fTone, nTone + delta * expansionDir);
292
+ } else {
293
+ nTone = 49;
294
+ fTone = Math.min(fTone, nTone + delta * expansionDir);
295
+ }
296
+ } else if (50 <= fTone && fTone < 60) {
297
+ if (stayTogether) {
298
+ if (expansionDir > 0) {
299
+ nTone = 60;
300
+ fTone = Math.max(fTone, nTone + delta * expansionDir);
301
+ } else {
302
+ nTone = 49;
303
+ fTone = Math.min(fTone, nTone + delta * expansionDir);
304
+ }
305
+ } else if (expansionDir > 0) fTone = 60;
306
+ else fTone = 49;
307
+ }
308
+ return amNearer ? nTone : fTone;
309
+ } else {
310
+ let answer = color.tone(scheme);
311
+ if (color.background == void 0 || color.background(scheme) === void 0 || color.contrastCurve == void 0 || color.contrastCurve(scheme) === void 0) return answer;
312
+ const bgTone = color.background(scheme).getTone(scheme);
313
+ const desiredRatio = color.contrastCurve(scheme).get(scheme.contrastLevel);
314
+ if (Contrast.ratioOfTones(bgTone, answer) >= desiredRatio) {} else answer = DynamicColor.foregroundTone(bgTone, desiredRatio);
315
+ if (decreasingContrast) answer = DynamicColor.foregroundTone(bgTone, desiredRatio);
316
+ if (color.isBackground && 50 <= answer && answer < 60) {
317
+ if (Contrast.ratioOfTones(49, bgTone) >= desiredRatio) answer = 49;
318
+ else answer = 60;
319
+ }
320
+ if (color.secondBackground == void 0 || color.secondBackground(scheme) === void 0) return answer;
321
+ const [bg1, bg2] = [color.background, color.secondBackground];
322
+ const [bgTone1, bgTone2] = [bg1(scheme).getTone(scheme), bg2(scheme).getTone(scheme)];
323
+ const [upper, lower] = [Math.max(bgTone1, bgTone2), Math.min(bgTone1, bgTone2)];
324
+ if (Contrast.ratioOfTones(upper, answer) >= desiredRatio && Contrast.ratioOfTones(lower, answer) >= desiredRatio) return answer;
325
+ const lightOption = Contrast.lighter(upper, desiredRatio);
326
+ const darkOption = Contrast.darker(lower, desiredRatio);
327
+ const availables = [];
328
+ if (lightOption !== -1) availables.push(lightOption);
329
+ if (darkOption !== -1) availables.push(darkOption);
330
+ if (DynamicColor.tonePrefersLightForeground(bgTone1) || DynamicColor.tonePrefersLightForeground(bgTone2)) return lightOption < 0 ? 100 : lightOption;
331
+ if (availables.length === 1) return availables[0];
332
+ return darkOption < 0 ? 0 : darkOption;
333
+ }
334
+ }
335
+ };
336
+ /**
337
+ * A delegate for the color calculation of a DynamicScheme in the 2025 spec.
338
+ */
339
+ var ColorCalculationDelegateImpl2025 = class {
340
+ getHct(scheme, color) {
341
+ const palette = color.palette(scheme);
342
+ const tone = color.getTone(scheme);
343
+ const hue = palette.hue;
344
+ const chroma = palette.chroma * (color.chromaMultiplier ? color.chromaMultiplier(scheme) : 1);
345
+ return Hct.from(hue, chroma, tone);
346
+ }
347
+ getTone(scheme, color) {
348
+ const toneDeltaPair = color.toneDeltaPair ? color.toneDeltaPair(scheme) : void 0;
349
+ if (toneDeltaPair) {
350
+ const roleA = toneDeltaPair.roleA;
351
+ const roleB = toneDeltaPair.roleB;
352
+ const polarity = toneDeltaPair.polarity;
353
+ const constraint = toneDeltaPair.constraint;
354
+ const absoluteDelta = polarity === "darker" || polarity === "relative_lighter" && scheme.isDark || polarity === "relative_darker" && !scheme.isDark ? -toneDeltaPair.delta : toneDeltaPair.delta;
355
+ const amRoleA = color.name === roleA.name;
356
+ const selfRole = amRoleA ? roleA : roleB;
357
+ const refRole = amRoleA ? roleB : roleA;
358
+ let selfTone = selfRole.tone(scheme);
359
+ let refTone = refRole.getTone(scheme);
360
+ const relativeDelta = absoluteDelta * (amRoleA ? 1 : -1);
361
+ if (constraint === "exact") selfTone = clampDouble(0, 100, refTone + relativeDelta);
362
+ else if (constraint === "nearer") {
363
+ if (relativeDelta > 0) selfTone = clampDouble(0, 100, clampDouble(refTone, refTone + relativeDelta, selfTone));
364
+ else selfTone = clampDouble(0, 100, clampDouble(refTone + relativeDelta, refTone, selfTone));
365
+ } else if (constraint === "farther") {
366
+ if (relativeDelta > 0) selfTone = clampDouble(refTone + relativeDelta, 100, selfTone);
367
+ else selfTone = clampDouble(0, refTone + relativeDelta, selfTone);
368
+ }
369
+ if (color.background && color.contrastCurve) {
370
+ const background = color.background(scheme);
371
+ const contrastCurve = color.contrastCurve(scheme);
372
+ if (background && contrastCurve) {
373
+ const bgTone = background.getTone(scheme);
374
+ const selfContrast = contrastCurve.get(scheme.contrastLevel);
375
+ selfTone = Contrast.ratioOfTones(bgTone, selfTone) >= selfContrast && scheme.contrastLevel >= 0 ? selfTone : DynamicColor.foregroundTone(bgTone, selfContrast);
376
+ }
377
+ }
378
+ if (color.isBackground && !color.name.endsWith("_fixed_dim")) {
379
+ if (selfTone >= 57) selfTone = clampDouble(65, 100, selfTone);
380
+ else selfTone = clampDouble(0, 49, selfTone);
381
+ }
382
+ return selfTone;
383
+ } else {
384
+ let answer = color.tone(scheme);
385
+ if (color.background == void 0 || color.background(scheme) === void 0 || color.contrastCurve == void 0 || color.contrastCurve(scheme) === void 0) return answer;
386
+ const bgTone = color.background(scheme).getTone(scheme);
387
+ const desiredRatio = color.contrastCurve(scheme).get(scheme.contrastLevel);
388
+ answer = Contrast.ratioOfTones(bgTone, answer) >= desiredRatio && scheme.contrastLevel >= 0 ? answer : DynamicColor.foregroundTone(bgTone, desiredRatio);
389
+ if (color.isBackground && !color.name.endsWith("_fixed_dim")) {
390
+ if (answer >= 57) answer = clampDouble(65, 100, answer);
391
+ else answer = clampDouble(0, 49, answer);
392
+ }
393
+ if (color.secondBackground == void 0 || color.secondBackground(scheme) === void 0) return answer;
394
+ const [bg1, bg2] = [color.background, color.secondBackground];
395
+ const [bgTone1, bgTone2] = [bg1(scheme).getTone(scheme), bg2(scheme).getTone(scheme)];
396
+ const [upper, lower] = [Math.max(bgTone1, bgTone2), Math.min(bgTone1, bgTone2)];
397
+ if (Contrast.ratioOfTones(upper, answer) >= desiredRatio && Contrast.ratioOfTones(lower, answer) >= desiredRatio) return answer;
398
+ const lightOption = Contrast.lighter(upper, desiredRatio);
399
+ const darkOption = Contrast.darker(lower, desiredRatio);
400
+ const availables = [];
401
+ if (lightOption !== -1) availables.push(lightOption);
402
+ if (darkOption !== -1) availables.push(darkOption);
403
+ if (DynamicColor.tonePrefersLightForeground(bgTone1) || DynamicColor.tonePrefersLightForeground(bgTone2)) return lightOption < 0 ? 100 : lightOption;
404
+ if (availables.length === 1) return availables[0];
405
+ return darkOption < 0 ? 0 : darkOption;
406
+ }
407
+ }
408
+ };
409
+ const spec2021 = new ColorCalculationDelegateImpl2021();
410
+ const spec2025 = new ColorCalculationDelegateImpl2025();
411
+ /**
412
+ * Returns the ColorCalculationDelegate for the given spec version.
413
+ */
414
+ function getSpec(specVersion) {
415
+ return specVersion === "2025" ? spec2025 : spec2021;
416
+ }
417
+ //#endregion
418
+ export { DynamicColor, extendSpecVersion };
419
+
420
+ //# sourceMappingURL=dynamic_color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic_color.js","names":["math.clampDouble"],"sources":["../../../../../../node_modules/.pnpm/@material+material-color-utilities@0.4.0/node_modules/@material/material-color-utilities/dynamiccolor/dynamic_color.js"],"sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { Contrast } from '../contrast/contrast.js';\nimport { Hct } from '../hct/hct.js';\nimport * as math from '../utils/math_utils.js';\nfunction validateExtendedColor(originalColor, specVersion, extendedColor) {\n if (originalColor.name !== extendedColor.name) {\n throw new Error(`Attempting to extend color ${originalColor.name} with color ${extendedColor.name} of different name for spec version ${specVersion}.`);\n }\n if (originalColor.isBackground !== extendedColor.isBackground) {\n throw new Error(`Attempting to extend color ${originalColor.name} as a ${(originalColor.isBackground ?\n 'background' :\n 'foreground')} with color ${extendedColor.name} as a ${(extendedColor.isBackground ?\n 'background' :\n 'foreground')} for spec version ${specVersion}.`);\n }\n}\n/**\n * Returns a new DynamicColor that is the same as the original color, but with\n * the extended dynamic color's constraints for the given spec version.\n *\n * @param originlColor The original color.\n * @param specVersion The spec version to extend.\n * @param extendedColor The color with the values to extend.\n */\nexport function extendSpecVersion(originlColor, specVersion, extendedColor) {\n validateExtendedColor(originlColor, specVersion, extendedColor);\n return DynamicColor.fromPalette({\n name: originlColor.name,\n palette: (s) => s.specVersion === specVersion ? extendedColor.palette(s) :\n originlColor.palette(s),\n tone: (s) => s.specVersion === specVersion ? extendedColor.tone(s) :\n originlColor.tone(s),\n isBackground: originlColor.isBackground,\n chromaMultiplier: (s) => {\n const chromaMultiplier = s.specVersion === specVersion ?\n extendedColor.chromaMultiplier :\n originlColor.chromaMultiplier;\n return chromaMultiplier !== undefined ? chromaMultiplier(s) : 1;\n },\n background: (s) => {\n const background = s.specVersion === specVersion ?\n extendedColor.background :\n originlColor.background;\n return background !== undefined ? background(s) : undefined;\n },\n secondBackground: (s) => {\n const secondBackground = s.specVersion === specVersion ?\n extendedColor.secondBackground :\n originlColor.secondBackground;\n return secondBackground !== undefined ? secondBackground(s) : undefined;\n },\n contrastCurve: (s) => {\n const contrastCurve = s.specVersion === specVersion ?\n extendedColor.contrastCurve :\n originlColor.contrastCurve;\n return contrastCurve !== undefined ? contrastCurve(s) : undefined;\n },\n toneDeltaPair: (s) => {\n const toneDeltaPair = s.specVersion === specVersion ?\n extendedColor.toneDeltaPair :\n originlColor.toneDeltaPair;\n return toneDeltaPair !== undefined ? toneDeltaPair(s) : undefined;\n },\n });\n}\n/**\n * A color that adjusts itself based on UI state provided by DynamicScheme.\n *\n * Colors without backgrounds do not change tone when contrast changes. Colors\n * with backgrounds become closer to their background as contrast lowers, and\n * further when contrast increases.\n *\n * Prefer static constructors. They require either a hexcode, a palette and\n * tone, or a hue and chroma. Optionally, they can provide a background\n * DynamicColor.\n */\nexport class DynamicColor {\n /**\n * Create a DynamicColor defined by a TonalPalette and HCT tone.\n *\n * @param args Functions with DynamicScheme as input. Must provide a palette\n * and tone. May provide a background DynamicColor and ToneDeltaPair.\n */\n static fromPalette(args) {\n return new DynamicColor(args.name ?? '', args.palette, args.tone ?? DynamicColor.getInitialToneFromBackground(args.background), args.isBackground ?? false, args.chromaMultiplier, args.background, args.secondBackground, args.contrastCurve, args.toneDeltaPair);\n }\n static getInitialToneFromBackground(background) {\n if (background === undefined) {\n return (s) => 50;\n }\n return (s) => background(s) ? background(s).getTone(s) : 50;\n }\n /**\n * The base constructor for DynamicColor.\n *\n * _Strongly_ prefer using one of the convenience constructors. This class is\n * arguably too flexible to ensure it can support any scenario. Functional\n * arguments allow overriding without risks that come with subclasses.\n *\n * For example, the default behavior of adjust tone at max contrast\n * to be at a 7.0 ratio with its background is principled and\n * matches accessibility guidance. That does not mean it's the desired\n * approach for _every_ design system, and every color pairing,\n * always, in every case.\n *\n * @param name The name of the dynamic color. Defaults to empty.\n * @param palette Function that provides a TonalPalette given DynamicScheme. A\n * TonalPalette is defined by a hue and chroma, so this replaces the need\n * to specify hue/chroma. By providing a tonal palette, when contrast\n * adjustments are made, intended chroma can be preserved.\n * @param tone Function that provides a tone, given a DynamicScheme.\n * @param isBackground Whether this dynamic color is a background, with some\n * other color as the foreground. Defaults to false.\n * @param chromaMultiplier A factor that multiplies the chroma for this color.\n * @param background The background of the dynamic color (as a function of a\n * `DynamicScheme`), if it exists.\n * @param secondBackground A second background of the dynamic color (as a\n * function of a `DynamicScheme`), if it exists.\n * @param contrastCurve A `ContrastCurve` object specifying how its contrast\n * against its background should behave in various contrast levels\n * options.\n * @param toneDeltaPair A `ToneDeltaPair` object specifying a tone delta\n * constraint between two colors. One of them must be the color being\n * constructed.\n */\n constructor(name, palette, tone, isBackground, chromaMultiplier, background, secondBackground, contrastCurve, toneDeltaPair) {\n this.name = name;\n this.palette = palette;\n this.tone = tone;\n this.isBackground = isBackground;\n this.chromaMultiplier = chromaMultiplier;\n this.background = background;\n this.secondBackground = secondBackground;\n this.contrastCurve = contrastCurve;\n this.toneDeltaPair = toneDeltaPair;\n this.hctCache = new Map();\n if ((!background) && secondBackground) {\n throw new Error(`Color ${name} has secondBackground` +\n `defined, but background is not defined.`);\n }\n if ((!background) && contrastCurve) {\n throw new Error(`Color ${name} has contrastCurve` +\n `defined, but background is not defined.`);\n }\n if (background && !contrastCurve) {\n throw new Error(`Color ${name} has background` +\n `defined, but contrastCurve is not defined.`);\n }\n }\n /**\n * Returns a deep copy of this DynamicColor.\n */\n clone() {\n return DynamicColor.fromPalette({\n name: this.name,\n palette: this.palette,\n tone: this.tone,\n isBackground: this.isBackground,\n chromaMultiplier: this.chromaMultiplier,\n background: this.background,\n secondBackground: this.secondBackground,\n contrastCurve: this.contrastCurve,\n toneDeltaPair: this.toneDeltaPair,\n });\n }\n /**\n * Clears the cache of HCT values for this color. For testing or debugging\n * purposes.\n */\n clearCache() {\n this.hctCache.clear();\n }\n /**\n * Returns a ARGB integer (i.e. a hex code).\n *\n * @param scheme Defines the conditions of the user interface, for example,\n * whether or not it is dark mode or light mode, and what the desired\n * contrast level is.\n */\n getArgb(scheme) {\n return this.getHct(scheme).toInt();\n }\n /**\n * Returns a color, expressed in the HCT color space, that this\n * DynamicColor is under the conditions in scheme.\n *\n * @param scheme Defines the conditions of the user interface, for example,\n * whether or not it is dark mode or light mode, and what the desired\n * contrast level is.\n */\n getHct(scheme) {\n const cachedAnswer = this.hctCache.get(scheme);\n if (cachedAnswer != null) {\n return cachedAnswer;\n }\n const answer = getSpec(scheme.specVersion).getHct(scheme, this);\n if (this.hctCache.size > 4) {\n this.hctCache.clear();\n }\n this.hctCache.set(scheme, answer);\n return answer;\n }\n /**\n * Returns a tone, T in the HCT color space, that this DynamicColor is under\n * the conditions in scheme.\n *\n * @param scheme Defines the conditions of the user interface, for example,\n * whether or not it is dark mode or light mode, and what the desired\n * contrast level is.\n */\n getTone(scheme) {\n return getSpec(scheme.specVersion).getTone(scheme, this);\n }\n /**\n * Given a background tone, finds a foreground tone, while ensuring they reach\n * a contrast ratio that is as close to [ratio] as possible.\n *\n * @param bgTone Tone in HCT. Range is 0 to 100, undefined behavior when it\n * falls outside that range.\n * @param ratio The contrast ratio desired between bgTone and the return\n * value.\n */\n static foregroundTone(bgTone, ratio) {\n const lighterTone = Contrast.lighterUnsafe(bgTone, ratio);\n const darkerTone = Contrast.darkerUnsafe(bgTone, ratio);\n const lighterRatio = Contrast.ratioOfTones(lighterTone, bgTone);\n const darkerRatio = Contrast.ratioOfTones(darkerTone, bgTone);\n const preferLighter = DynamicColor.tonePrefersLightForeground(bgTone);\n if (preferLighter) {\n // This handles an edge case where the initial contrast ratio is high\n // (ex. 13.0), and the ratio passed to the function is that high\n // ratio, and both the lighter and darker ratio fails to pass that\n // ratio.\n //\n // This was observed with Tonal Spot's On Primary Container turning\n // black momentarily between high and max contrast in light mode. PC's\n // standard tone was T90, OPC's was T10, it was light mode, and the\n // contrast value was 0.6568521221032331.\n const negligibleDifference = Math.abs(lighterRatio - darkerRatio) < 0.1 &&\n lighterRatio < ratio && darkerRatio < ratio;\n return lighterRatio >= ratio || lighterRatio >= darkerRatio ||\n negligibleDifference ?\n lighterTone :\n darkerTone;\n }\n else {\n return darkerRatio >= ratio || darkerRatio >= lighterRatio ? darkerTone :\n lighterTone;\n }\n }\n /**\n * Returns whether [tone] prefers a light foreground.\n *\n * People prefer white foregrounds on ~T60-70. Observed over time, and also\n * by Andrew Somers during research for APCA.\n *\n * T60 used as to create the smallest discontinuity possible when skipping\n * down to T49 in order to ensure light foregrounds.\n * Since `tertiaryContainer` in dark monochrome scheme requires a tone of\n * 60, it should not be adjusted. Therefore, 60 is excluded here.\n */\n static tonePrefersLightForeground(tone) {\n return Math.round(tone) < 60.0;\n }\n /**\n * Returns whether [tone] can reach a contrast ratio of 4.5 with a lighter\n * color.\n */\n static toneAllowsLightForeground(tone) {\n return Math.round(tone) <= 49.0;\n }\n /**\n * Adjusts a tone such that white has 4.5 contrast, if the tone is\n * reasonably close to supporting it.\n */\n static enableLightForeground(tone) {\n if (DynamicColor.tonePrefersLightForeground(tone) &&\n !DynamicColor.toneAllowsLightForeground(tone)) {\n return 49.0;\n }\n return tone;\n }\n}\n/**\n * A delegate for the color calculation of a DynamicScheme in the 2021 spec.\n */\nclass ColorCalculationDelegateImpl2021 {\n getHct(scheme, color) {\n const tone = color.getTone(scheme);\n const palette = color.palette(scheme);\n return palette.getHct(tone);\n }\n getTone(scheme, color) {\n const decreasingContrast = scheme.contrastLevel < 0;\n const toneDeltaPair = color.toneDeltaPair ? color.toneDeltaPair(scheme) : undefined;\n // Case 1: dual foreground, pair of colors with delta constraint.\n if (toneDeltaPair) {\n const roleA = toneDeltaPair.roleA;\n const roleB = toneDeltaPair.roleB;\n const delta = toneDeltaPair.delta;\n const polarity = toneDeltaPair.polarity;\n const stayTogether = toneDeltaPair.stayTogether;\n const aIsNearer = (polarity === 'nearer' ||\n (polarity === 'lighter' && !scheme.isDark) ||\n (polarity === 'darker' && scheme.isDark));\n const nearer = aIsNearer ? roleA : roleB;\n const farther = aIsNearer ? roleB : roleA;\n const amNearer = color.name === nearer.name;\n const expansionDir = scheme.isDark ? 1 : -1;\n let nTone = nearer.tone(scheme);\n let fTone = farther.tone(scheme);\n // 1st round: solve to min for each, if background and contrast curve\n // are defined.\n if (color.background && nearer.contrastCurve && farther.contrastCurve) {\n const bg = color.background(scheme);\n const nContrastCurve = nearer.contrastCurve(scheme);\n const fContrastCurve = farther.contrastCurve(scheme);\n if (bg && nContrastCurve && fContrastCurve) {\n const bgTone = bg.getTone(scheme);\n const nContrast = nContrastCurve.get(scheme.contrastLevel);\n const fContrast = fContrastCurve.get(scheme.contrastLevel);\n // If a color is good enough, it is not adjusted.\n // Initial and adjusted tones for `nearer`\n if (Contrast.ratioOfTones(bgTone, nTone) < nContrast) {\n nTone = DynamicColor.foregroundTone(bgTone, nContrast);\n }\n // Initial and adjusted tones for `farther`\n if (Contrast.ratioOfTones(bgTone, fTone) < fContrast) {\n fTone = DynamicColor.foregroundTone(bgTone, fContrast);\n }\n if (decreasingContrast) {\n // If decreasing contrast, adjust color to the \"bare minimum\"\n // that satisfies contrast.\n nTone = DynamicColor.foregroundTone(bgTone, nContrast);\n fTone = DynamicColor.foregroundTone(bgTone, fContrast);\n }\n }\n }\n if ((fTone - nTone) * expansionDir < delta) {\n // 2nd round: expand farther to match delta, if contrast is not\n // satisfied.\n fTone = math.clampDouble(0, 100, nTone + delta * expansionDir);\n if ((fTone - nTone) * expansionDir >= delta) {\n // Good! Tones now satisfy the constraint; no change needed.\n }\n else {\n // 3rd round: contract nearer to match delta.\n nTone = math.clampDouble(0, 100, fTone - delta * expansionDir);\n }\n }\n // Avoids the 50-59 awkward zone.\n if (50 <= nTone && nTone < 60) {\n // If `nearer` is in the awkward zone, move it away, together with\n // `farther`.\n if (expansionDir > 0) {\n nTone = 60;\n fTone = Math.max(fTone, nTone + delta * expansionDir);\n }\n else {\n nTone = 49;\n fTone = Math.min(fTone, nTone + delta * expansionDir);\n }\n }\n else if (50 <= fTone && fTone < 60) {\n if (stayTogether) {\n // Fixes both, to avoid two colors on opposite sides of the \"awkward\n // zone\".\n if (expansionDir > 0) {\n nTone = 60;\n fTone = Math.max(fTone, nTone + delta * expansionDir);\n }\n else {\n nTone = 49;\n fTone = Math.min(fTone, nTone + delta * expansionDir);\n }\n }\n else {\n // Not required to stay together; fixes just one.\n if (expansionDir > 0) {\n fTone = 60;\n }\n else {\n fTone = 49;\n }\n }\n }\n // Returns `nTone` if this color is `nearer`, otherwise `fTone`.\n return amNearer ? nTone : fTone;\n }\n else {\n // Case 2: No contrast pair; just solve for itself.\n let answer = color.tone(scheme);\n if (color.background == undefined ||\n color.background(scheme) === undefined ||\n color.contrastCurve == undefined ||\n color.contrastCurve(scheme) === undefined) {\n return answer; // No adjustment for colors with no background.\n }\n const bgTone = color.background(scheme).getTone(scheme);\n const desiredRatio = color.contrastCurve(scheme).get(scheme.contrastLevel);\n if (Contrast.ratioOfTones(bgTone, answer) >= desiredRatio) {\n // Don't \"improve\" what's good enough.\n }\n else {\n // Rough improvement.\n answer = DynamicColor.foregroundTone(bgTone, desiredRatio);\n }\n if (decreasingContrast) {\n answer = DynamicColor.foregroundTone(bgTone, desiredRatio);\n }\n if (color.isBackground && 50 <= answer && answer < 60) {\n // Must adjust\n if (Contrast.ratioOfTones(49, bgTone) >= desiredRatio) {\n answer = 49;\n }\n else {\n answer = 60;\n }\n }\n if (color.secondBackground == undefined ||\n color.secondBackground(scheme) === undefined) {\n return answer;\n }\n // Case 3: Adjust for dual backgrounds.\n const [bg1, bg2] = [color.background, color.secondBackground];\n const [bgTone1, bgTone2] = [bg1(scheme).getTone(scheme), bg2(scheme).getTone(scheme)];\n const [upper, lower] = [Math.max(bgTone1, bgTone2), Math.min(bgTone1, bgTone2)];\n if (Contrast.ratioOfTones(upper, answer) >= desiredRatio &&\n Contrast.ratioOfTones(lower, answer) >= desiredRatio) {\n return answer;\n }\n // The darkest light tone that satisfies the desired ratio,\n // or -1 if such ratio cannot be reached.\n const lightOption = Contrast.lighter(upper, desiredRatio);\n // The lightest dark tone that satisfies the desired ratio,\n // or -1 if such ratio cannot be reached.\n const darkOption = Contrast.darker(lower, desiredRatio);\n // Tones suitable for the foreground.\n const availables = [];\n if (lightOption !== -1)\n availables.push(lightOption);\n if (darkOption !== -1)\n availables.push(darkOption);\n const prefersLight = DynamicColor.tonePrefersLightForeground(bgTone1) ||\n DynamicColor.tonePrefersLightForeground(bgTone2);\n if (prefersLight) {\n return (lightOption < 0) ? 100 : lightOption;\n }\n if (availables.length === 1) {\n return availables[0];\n }\n return (darkOption < 0) ? 0 : darkOption;\n }\n }\n}\n/**\n * A delegate for the color calculation of a DynamicScheme in the 2025 spec.\n */\nclass ColorCalculationDelegateImpl2025 {\n getHct(scheme, color) {\n const palette = color.palette(scheme);\n const tone = color.getTone(scheme);\n const hue = palette.hue;\n const chroma = palette.chroma *\n (color.chromaMultiplier ? color.chromaMultiplier(scheme) : 1);\n return Hct.from(hue, chroma, tone);\n }\n getTone(scheme, color) {\n const toneDeltaPair = color.toneDeltaPair ? color.toneDeltaPair(scheme) : undefined;\n // Case 0: tone delta constraint.\n if (toneDeltaPair) {\n const roleA = toneDeltaPair.roleA;\n const roleB = toneDeltaPair.roleB;\n const polarity = toneDeltaPair.polarity;\n const constraint = toneDeltaPair.constraint;\n const absoluteDelta = polarity === 'darker' ||\n (polarity === 'relative_lighter' && scheme.isDark) ||\n (polarity === 'relative_darker' && !scheme.isDark) ?\n -toneDeltaPair.delta :\n toneDeltaPair.delta;\n const amRoleA = color.name === roleA.name;\n const selfRole = amRoleA ? roleA : roleB;\n const refRole = amRoleA ? roleB : roleA;\n let selfTone = selfRole.tone(scheme);\n let refTone = refRole.getTone(scheme);\n const relativeDelta = absoluteDelta * (amRoleA ? 1 : -1);\n if (constraint === 'exact') {\n selfTone = math.clampDouble(0, 100, refTone + relativeDelta);\n }\n else if (constraint === 'nearer') {\n if (relativeDelta > 0) {\n selfTone = math.clampDouble(0, 100, math.clampDouble(refTone, refTone + relativeDelta, selfTone));\n }\n else {\n selfTone = math.clampDouble(0, 100, math.clampDouble(refTone + relativeDelta, refTone, selfTone));\n }\n }\n else if (constraint === 'farther') {\n if (relativeDelta > 0) {\n selfTone = math.clampDouble(refTone + relativeDelta, 100, selfTone);\n }\n else {\n selfTone = math.clampDouble(0, refTone + relativeDelta, selfTone);\n }\n }\n if (color.background && color.contrastCurve) {\n const background = color.background(scheme);\n const contrastCurve = color.contrastCurve(scheme);\n if (background && contrastCurve) {\n // Adjust the tones for contrast, if background and contrast curve\n // are defined.\n const bgTone = background.getTone(scheme);\n const selfContrast = contrastCurve.get(scheme.contrastLevel);\n selfTone = Contrast.ratioOfTones(bgTone, selfTone) >= selfContrast &&\n scheme.contrastLevel >= 0 ?\n selfTone :\n DynamicColor.foregroundTone(bgTone, selfContrast);\n }\n }\n // This can avoid the awkward tones for background colors including the\n // access fixed colors. Accent fixed dim colors should not be adjusted.\n if (color.isBackground && !color.name.endsWith('_fixed_dim')) {\n if (selfTone >= 57) {\n selfTone = math.clampDouble(65, 100, selfTone);\n }\n else {\n selfTone = math.clampDouble(0, 49, selfTone);\n }\n }\n return selfTone;\n }\n else {\n // Case 1: No tone delta pair; just solve for itself.\n let answer = color.tone(scheme);\n if (color.background == undefined ||\n color.background(scheme) === undefined ||\n color.contrastCurve == undefined ||\n color.contrastCurve(scheme) === undefined) {\n return answer; // No adjustment for colors with no background.\n }\n const bgTone = color.background(scheme).getTone(scheme);\n const desiredRatio = color.contrastCurve(scheme).get(scheme.contrastLevel);\n // Recalculate the tone from desired contrast ratio if the current\n // contrast ratio is not enough or desired contrast level is decreasing\n // (<0).\n answer = Contrast.ratioOfTones(bgTone, answer) >= desiredRatio &&\n scheme.contrastLevel >= 0 ?\n answer :\n DynamicColor.foregroundTone(bgTone, desiredRatio);\n // This can avoid the awkward tones for background colors including the\n // access fixed colors. Accent fixed dim colors should not be adjusted.\n if (color.isBackground && !color.name.endsWith('_fixed_dim')) {\n if (answer >= 57) {\n answer = math.clampDouble(65, 100, answer);\n }\n else {\n answer = math.clampDouble(0, 49, answer);\n }\n }\n if (color.secondBackground == undefined ||\n color.secondBackground(scheme) === undefined) {\n return answer;\n }\n // Case 2: Adjust for dual backgrounds.\n const [bg1, bg2] = [color.background, color.secondBackground];\n const [bgTone1, bgTone2] = [bg1(scheme).getTone(scheme), bg2(scheme).getTone(scheme)];\n const [upper, lower] = [Math.max(bgTone1, bgTone2), Math.min(bgTone1, bgTone2)];\n if (Contrast.ratioOfTones(upper, answer) >= desiredRatio &&\n Contrast.ratioOfTones(lower, answer) >= desiredRatio) {\n return answer;\n }\n // The darkest light tone that satisfies the desired ratio,\n // or -1 if such ratio cannot be reached.\n const lightOption = Contrast.lighter(upper, desiredRatio);\n // The lightest dark tone that satisfies the desired ratio,\n // or -1 if such ratio cannot be reached.\n const darkOption = Contrast.darker(lower, desiredRatio);\n // Tones suitable for the foreground.\n const availables = [];\n if (lightOption !== -1)\n availables.push(lightOption);\n if (darkOption !== -1)\n availables.push(darkOption);\n const prefersLight = DynamicColor.tonePrefersLightForeground(bgTone1) ||\n DynamicColor.tonePrefersLightForeground(bgTone2);\n if (prefersLight) {\n return (lightOption < 0) ? 100 : lightOption;\n }\n if (availables.length === 1) {\n return availables[0];\n }\n return (darkOption < 0) ? 0 : darkOption;\n }\n }\n}\nconst spec2021 = new ColorCalculationDelegateImpl2021();\nconst spec2025 = new ColorCalculationDelegateImpl2025();\n/**\n * Returns the ColorCalculationDelegate for the given spec version.\n */\nfunction getSpec(specVersion) {\n return specVersion === '2025' ? spec2025 : spec2021;\n}\n//# sourceMappingURL=dynamic_color.js.map"],"ignoreList":[0],"mappings":"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"}