material-plus-ui 1.6.0 → 1.8.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 (501) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +20 -14
  3. package/dist/components/accordion/MPAccordion.d.ts +21 -1
  4. package/dist/components/accordion/MPAccordion.js +1 -1
  5. package/dist/components/alert/MPAlert.d.ts +34 -3
  6. package/dist/components/alert/MPAlert.js +1 -1
  7. package/dist/components/anchor/MPAnchor.d.ts +107 -0
  8. package/dist/components/anchor/MPAnchor.js +2 -0
  9. package/dist/components/anchor/index.d.ts +2 -0
  10. package/dist/components/anchor/index.js +1 -0
  11. package/dist/components/animate-appear/MPAnimateAppear.d.ts +2 -2
  12. package/dist/components/animate-appear/MPAnimateAppear.js +1 -1
  13. package/dist/components/animate-blink/MPAnimateBlink.d.ts +2 -2
  14. package/dist/components/animate-blink/MPAnimateBlink.js +2 -1
  15. package/dist/components/animate-counter/MPAnimateCounter.d.ts +67 -0
  16. package/dist/components/animate-counter/MPAnimateCounter.js +2 -0
  17. package/dist/components/animate-counter/index.d.ts +2 -0
  18. package/dist/components/animate-counter/index.js +1 -0
  19. package/dist/components/animate-fade/MPAnimateFade.d.ts +2 -2
  20. package/dist/components/animate-fade/MPAnimateFade.js +2 -1
  21. package/dist/components/animate-float/MPAnimateFloat.d.ts +53 -0
  22. package/dist/components/animate-float/MPAnimateFloat.js +2 -0
  23. package/dist/components/animate-float/index.d.ts +2 -0
  24. package/dist/components/animate-float/index.js +1 -0
  25. package/dist/components/animate-grow/MPAnimateGrow.d.ts +2 -2
  26. package/dist/components/animate-grow/MPAnimateGrow.js +2 -1
  27. package/dist/components/animate-lighting/MPAnimateLighting.js +1 -0
  28. package/dist/components/animate-reveal/MPAnimateReveal.d.ts +64 -0
  29. package/dist/components/animate-reveal/MPAnimateReveal.js +2 -0
  30. package/dist/components/animate-reveal/index.d.ts +2 -0
  31. package/dist/components/animate-reveal/index.js +1 -0
  32. package/dist/components/animate-rotate/MPAnimateRotate.d.ts +2 -2
  33. package/dist/components/animate-rotate/MPAnimateRotate.js +2 -1
  34. package/dist/components/animate-scramble/MPAnimateScramble.d.ts +65 -0
  35. package/dist/components/animate-scramble/MPAnimateScramble.js +2 -0
  36. package/dist/components/animate-scramble/index.d.ts +2 -0
  37. package/dist/components/animate-scramble/index.js +1 -0
  38. package/dist/components/animate-shake/MPAnimateShake.d.ts +65 -0
  39. package/dist/components/animate-shake/MPAnimateShake.js +2 -0
  40. package/dist/components/animate-shake/index.d.ts +2 -0
  41. package/dist/components/animate-shake/index.js +1 -0
  42. package/dist/components/animate-slide/MPAnimateSlide.d.ts +2 -2
  43. package/dist/components/animate-slide/MPAnimateSlide.js +2 -1
  44. package/dist/components/animate-split/MPAnimateSplit.d.ts +56 -0
  45. package/dist/components/animate-split/MPAnimateSplit.js +2 -0
  46. package/dist/components/animate-split/index.d.ts +2 -0
  47. package/dist/components/animate-split/index.js +1 -0
  48. package/dist/components/animate-typing/MPAnimateTyping.js +1 -1
  49. package/dist/components/animate-zoom/MPAnimateZoom.d.ts +2 -2
  50. package/dist/components/animate-zoom/MPAnimateZoom.js +2 -1
  51. package/dist/components/app-logo/MPAppLogo.d.ts +171 -0
  52. package/dist/components/app-logo/MPAppLogo.js +2 -0
  53. package/dist/components/app-logo/index.d.ts +2 -0
  54. package/dist/components/app-logo/index.js +1 -0
  55. package/dist/components/area-chart/MPAreaChart.d.ts +79 -0
  56. package/dist/components/area-chart/MPAreaChart.js +2 -0
  57. package/dist/components/area-chart/index.d.ts +2 -0
  58. package/dist/components/area-chart/index.js +1 -0
  59. package/dist/components/aspect-ratio/MPAspectRatio.d.ts +1 -1
  60. package/dist/components/aspect-ratio/MPAspectRatio.js +2 -1
  61. package/dist/components/avatar/MPAvatar.d.ts +10 -1
  62. package/dist/components/avatar/MPAvatar.js +1 -1
  63. package/dist/components/bar-chart/MPBarChart.d.ts +74 -0
  64. package/dist/components/bar-chart/MPBarChart.js +2 -0
  65. package/dist/components/bar-chart/index.d.ts +2 -0
  66. package/dist/components/bar-chart/index.js +1 -0
  67. package/dist/components/blockquote/MPBlockquote.d.ts +18 -1
  68. package/dist/components/blockquote/MPBlockquote.js +1 -1
  69. package/dist/components/bottom-navigation/MPBottomNavigation.d.ts +2 -18
  70. package/dist/components/bottom-navigation/MPBottomNavigation.js +1 -1
  71. package/dist/components/box/MPBox.d.ts +43 -8
  72. package/dist/components/box/MPBox.js +2 -1
  73. package/dist/components/breadcrumb/MPBreadcrumb.js +1 -1
  74. package/dist/components/button/MPButton.js +1 -1
  75. package/dist/components/calendar/MPCalendar.js +1 -1
  76. package/dist/components/card/MPCard.js +1 -1
  77. package/dist/components/carousel/MPCarousel.js +1 -1
  78. package/dist/components/checkbox/MPCheckbox.js +1 -1
  79. package/dist/components/chip/MPChip.d.ts +11 -2
  80. package/dist/components/chip/MPChip.js +1 -1
  81. package/dist/components/code-block/MPCodeBlock.d.ts +177 -0
  82. package/dist/components/code-block/MPCodeBlock.js +2 -0
  83. package/dist/components/code-block/index.d.ts +2 -0
  84. package/dist/components/code-block/index.js +1 -0
  85. package/dist/components/collapsible/MPCollapsible.d.ts +12 -1
  86. package/dist/components/collapsible/MPCollapsible.js +1 -1
  87. package/dist/components/color-picker/MPColorPicker.js +1 -1
  88. package/dist/components/combobox/MPCombobox.d.ts +21 -4
  89. package/dist/components/combobox/MPCombobox.js +1 -1
  90. package/dist/components/command-palette/MPCommandPalette.d.ts +12 -2
  91. package/dist/components/command-palette/MPCommandPalette.js +1 -1
  92. package/dist/components/config/MPConfigProvider.d.ts +49 -7
  93. package/dist/components/config/MPConfigProvider.js +1 -1
  94. package/dist/components/confirm/MPConfirmProvider.js +1 -1
  95. package/dist/components/container/MPContainer.d.ts +9 -2
  96. package/dist/components/container/MPContainer.js +2 -1
  97. package/dist/components/data-list/MPDataList.d.ts +82 -0
  98. package/dist/components/data-list/MPDataList.js +2 -0
  99. package/dist/components/data-list/index.d.ts +2 -0
  100. package/dist/components/data-list/index.js +1 -0
  101. package/dist/components/data-table/MPDataTable.d.ts +314 -0
  102. package/dist/components/data-table/MPDataTable.js +2 -0
  103. package/dist/components/data-table/index.d.ts +2 -0
  104. package/dist/components/data-table/index.js +1 -0
  105. package/dist/components/date-picker/MPDatePicker.js +1 -1
  106. package/dist/components/dialog/MPDialog.d.ts +10 -2
  107. package/dist/components/dialog/MPDialog.js +1 -1
  108. package/dist/components/drawer/MPDrawer.d.ts +8 -2
  109. package/dist/components/drawer/MPDrawer.js +1 -1
  110. package/dist/components/empty/MPEmpty.d.ts +10 -1
  111. package/dist/components/empty/MPEmpty.js +1 -1
  112. package/dist/components/fieldset/MPFieldset.js +1 -1
  113. package/dist/components/file-picker/MPFilePicker.js +1 -1
  114. package/dist/components/flex/MPFlex.d.ts +95 -0
  115. package/dist/components/flex/MPFlex.js +2 -0
  116. package/dist/components/flex/index.d.ts +2 -0
  117. package/dist/components/flex/index.js +1 -0
  118. package/dist/components/floating-action-button/MPFloatingActionButton.js +1 -1
  119. package/dist/components/floating-bottom-navigation/MPFloatingBottomNavigation.d.ts +127 -0
  120. package/dist/components/floating-bottom-navigation/MPFloatingBottomNavigation.js +2 -0
  121. package/dist/components/floating-bottom-navigation/index.d.ts +2 -0
  122. package/dist/components/floating-bottom-navigation/index.js +1 -0
  123. package/dist/components/footer/MPFooter.d.ts +24 -4
  124. package/dist/components/footer/MPFooter.js +1 -1
  125. package/dist/components/form/MPForm.js +1 -1
  126. package/dist/components/gauge-chart/MPGaugeChart.d.ts +78 -0
  127. package/dist/components/gauge-chart/MPGaugeChart.js +2 -0
  128. package/dist/components/gauge-chart/index.d.ts +2 -0
  129. package/dist/components/gauge-chart/index.js +1 -0
  130. package/dist/components/grid/MPGrid.d.ts +25 -8
  131. package/dist/components/grid/MPGrid.js +1 -1
  132. package/dist/components/header/MPHeader.d.ts +26 -4
  133. package/dist/components/header/MPHeader.js +1 -1
  134. package/dist/components/heatmap-chart/MPHeatmapChart.d.ts +75 -0
  135. package/dist/components/heatmap-chart/MPHeatmapChart.js +2 -0
  136. package/dist/components/heatmap-chart/index.d.ts +2 -0
  137. package/dist/components/heatmap-chart/index.js +1 -0
  138. package/dist/components/hover-card/MPHoverCard.d.ts +101 -0
  139. package/dist/components/hover-card/MPHoverCard.js +2 -0
  140. package/dist/components/hover-card/index.d.ts +2 -0
  141. package/dist/components/hover-card/index.js +1 -0
  142. package/dist/components/icon/MPIcon.js +1 -1
  143. package/dist/components/image/MPImage.d.ts +122 -5
  144. package/dist/components/image/MPImage.js +1 -1
  145. package/dist/components/image/index.d.ts +1 -1
  146. package/dist/components/line-chart/MPLineChart.d.ts +66 -0
  147. package/dist/components/line-chart/MPLineChart.js +2 -0
  148. package/dist/components/line-chart/index.d.ts +2 -0
  149. package/dist/components/line-chart/index.js +1 -0
  150. package/dist/components/list/MPList.d.ts +23 -1
  151. package/dist/components/list/MPList.js +1 -1
  152. package/dist/components/menu/MPMenu.d.ts +1 -1
  153. package/dist/components/menu/MPMenu.js +1 -1
  154. package/dist/components/menubar/MPMenubar.js +1 -1
  155. package/dist/components/meter/MPMeter.d.ts +87 -0
  156. package/dist/components/meter/MPMeter.js +2 -0
  157. package/dist/components/meter/index.d.ts +2 -0
  158. package/dist/components/meter/index.js +1 -0
  159. package/dist/components/mockup/MPMockup.d.ts +143 -0
  160. package/dist/components/mockup/MPMockup.js +2 -0
  161. package/dist/components/mockup/index.d.ts +2 -0
  162. package/dist/components/mockup/index.js +1 -0
  163. package/dist/components/navigation-menu/MPNavigationMenu.js +1 -1
  164. package/dist/components/number-field/MPNumberField.js +1 -1
  165. package/dist/components/pie-chart/MPPieChart.d.ts +77 -0
  166. package/dist/components/pie-chart/MPPieChart.js +2 -0
  167. package/dist/components/pie-chart/index.d.ts +2 -0
  168. package/dist/components/pie-chart/index.js +1 -0
  169. package/dist/components/pill/MPPill.js +1 -1
  170. package/dist/components/popconfirm/MPPopconfirm.d.ts +2 -2
  171. package/dist/components/popover/MPPopover.d.ts +1 -0
  172. package/dist/components/popover/MPPopover.js +1 -1
  173. package/dist/components/portal/MPPortal.d.ts +75 -0
  174. package/dist/components/portal/MPPortal.js +2 -0
  175. package/dist/components/portal/index.d.ts +2 -0
  176. package/dist/components/portal/index.js +1 -0
  177. package/dist/components/radio-group/MPRadioGroup.js +1 -1
  178. package/dist/components/rating/MPRating.js +1 -1
  179. package/dist/components/scatter-chart/MPScatterChart.d.ts +66 -0
  180. package/dist/components/scatter-chart/MPScatterChart.js +2 -0
  181. package/dist/components/scatter-chart/index.d.ts +2 -0
  182. package/dist/components/scatter-chart/index.js +1 -0
  183. package/dist/components/scroll-area/MPScrollArea.d.ts +82 -0
  184. package/dist/components/scroll-area/MPScrollArea.js +2 -0
  185. package/dist/components/scroll-area/index.d.ts +2 -0
  186. package/dist/components/scroll-area/index.js +1 -0
  187. package/dist/components/scroll-zone/MPScrollZone.d.ts +165 -0
  188. package/dist/components/scroll-zone/MPScrollZone.js +2 -0
  189. package/dist/components/scroll-zone/index.d.ts +2 -0
  190. package/dist/components/scroll-zone/index.js +1 -0
  191. package/dist/components/segmented-button/MPSegmentedButton.js +1 -1
  192. package/dist/components/select/MPSelect.d.ts +27 -4
  193. package/dist/components/select/MPSelect.js +1 -1
  194. package/dist/components/show/MPShow.d.ts +78 -0
  195. package/dist/components/show/MPShow.js +2 -0
  196. package/dist/components/show/index.d.ts +2 -0
  197. package/dist/components/show/index.js +1 -0
  198. package/dist/components/sidebar/MPSidebar.d.ts +20 -1
  199. package/dist/components/sidebar/MPSidebar.js +1 -1
  200. package/dist/components/sparkline/MPSparkline.d.ts +85 -0
  201. package/dist/components/sparkline/MPSparkline.js +2 -0
  202. package/dist/components/sparkline/index.d.ts +2 -0
  203. package/dist/components/sparkline/index.js +1 -0
  204. package/dist/components/spoiler/MPSpoiler.d.ts +12 -0
  205. package/dist/components/spoiler/MPSpoiler.js +1 -1
  206. package/dist/components/stack/MPStack.d.ts +198 -0
  207. package/dist/components/stack/MPStack.js +2 -0
  208. package/dist/components/stack/index.d.ts +2 -0
  209. package/dist/components/stack/index.js +1 -0
  210. package/dist/components/statistic/MPStatistic.d.ts +104 -0
  211. package/dist/components/statistic/MPStatistic.js +2 -0
  212. package/dist/components/statistic/index.d.ts +2 -0
  213. package/dist/components/statistic/index.js +1 -0
  214. package/dist/components/stepper/MPStepper.js +1 -1
  215. package/dist/components/table/MPTable.d.ts +25 -3
  216. package/dist/components/table/MPTable.js +1 -1
  217. package/dist/components/tabs/MPTabs.d.ts +12 -0
  218. package/dist/components/tabs/MPTabs.js +1 -1
  219. package/dist/components/timeline/MPTimeline.js +1 -1
  220. package/dist/components/timeline-chart/MPTimelineChart.d.ts +63 -0
  221. package/dist/components/timeline-chart/MPTimelineChart.js +2 -0
  222. package/dist/components/timeline-chart/index.d.ts +2 -0
  223. package/dist/components/timeline-chart/index.js +1 -0
  224. package/dist/components/toggle/MPToggle.js +1 -1
  225. package/dist/components/toolbar/MPToolbar.d.ts +106 -0
  226. package/dist/components/toolbar/MPToolbar.js +2 -0
  227. package/dist/components/toolbar/index.d.ts +2 -0
  228. package/dist/components/toolbar/index.js +1 -0
  229. package/dist/components/tooltip/MPTooltip.js +1 -1
  230. package/dist/components/tour/MPTour.d.ts +120 -0
  231. package/dist/components/tour/MPTour.js +2 -0
  232. package/dist/components/tour/index.d.ts +2 -0
  233. package/dist/components/tour/index.js +1 -0
  234. package/dist/components/transfer/MPTransfer.js +1 -1
  235. package/dist/components/tree-select/MPTreeSelect.d.ts +113 -0
  236. package/dist/components/tree-select/MPTreeSelect.js +2 -0
  237. package/dist/components/tree-select/index.d.ts +2 -0
  238. package/dist/components/tree-select/index.js +1 -0
  239. package/dist/components/tree-view/MPTreeView.d.ts +153 -0
  240. package/dist/components/tree-view/MPTreeView.js +2 -0
  241. package/dist/components/tree-view/index.d.ts +2 -0
  242. package/dist/components/tree-view/index.js +1 -0
  243. package/dist/components/typography/MPTypography.d.ts +10 -1
  244. package/dist/components/typography/MPTypography.js +2 -1
  245. package/dist/constants/glyphs.d.ts +33 -31
  246. package/dist/constants/glyphs.js +1 -1
  247. package/dist/constants/icons.d.ts +32 -31
  248. package/dist/constants/icons.js +1 -1
  249. package/dist/hooks/index.d.ts +22 -5
  250. package/dist/hooks/index.js +1 -1
  251. package/dist/hooks/useMPColorScheme.js +1 -0
  252. package/dist/hooks/useMPDisclosure.d.ts +58 -0
  253. package/dist/hooks/useMPDisclosure.js +2 -0
  254. package/dist/hooks/useMPElementSize.d.ts +55 -0
  255. package/dist/hooks/useMPElementSize.js +2 -0
  256. package/dist/hooks/useMPMediaQuery.d.ts +40 -0
  257. package/dist/hooks/useMPMediaQuery.js +2 -0
  258. package/dist/hooks/useMPOnScreen.d.ts +58 -0
  259. package/dist/hooks/useMPOnScreen.js +2 -0
  260. package/dist/hooks/useMPReducedMotion.js +1 -0
  261. package/dist/hooks/useMPWindowClass.d.ts +7 -0
  262. package/dist/hooks/useMPWindowClass.js +1 -0
  263. package/dist/index.d.ts +35 -1
  264. package/dist/index.js +1 -1
  265. package/dist/internal/Calendar.js +1 -1
  266. package/dist/internal/ChartChrome.d.ts +199 -0
  267. package/dist/internal/ChartChrome.js +2 -0
  268. package/dist/internal/ChartFrame.d.ts +197 -0
  269. package/dist/internal/ChartFrame.js +2 -0
  270. package/dist/internal/FieldOutline.d.ts +14 -5
  271. package/dist/internal/FieldOutline.js +1 -1
  272. package/dist/internal/Picker.js +1 -1
  273. package/dist/internal/PopupArrow.d.ts +60 -0
  274. package/dist/internal/PopupArrow.js +2 -0
  275. package/dist/internal/SupportingText.d.ts +24 -0
  276. package/dist/internal/SupportingText.js +1 -1
  277. package/dist/internal/animate-core.d.ts +121 -0
  278. package/dist/internal/animate-core.js +1 -0
  279. package/dist/internal/animate.d.ts +75 -55
  280. package/dist/internal/animate.js +1 -1
  281. package/dist/internal/bottom-navigation.d.ts +58 -0
  282. package/dist/internal/bottom-navigation.js +2 -0
  283. package/dist/internal/chart.d.ts +461 -0
  284. package/dist/internal/chart.js +1 -0
  285. package/dist/internal/color-scheme.d.ts +0 -9
  286. package/dist/internal/color-scheme.js +1 -1
  287. package/dist/internal/config.d.ts +24 -5
  288. package/dist/internal/config.js +1 -1
  289. package/dist/internal/data-table.d.ts +195 -0
  290. package/dist/internal/data-table.js +1 -0
  291. package/dist/internal/date.d.ts +22 -18
  292. package/dist/internal/date.js +1 -1
  293. package/dist/internal/density.d.ts +9 -0
  294. package/dist/internal/density.js +1 -0
  295. package/dist/internal/elevation.d.ts +26 -0
  296. package/dist/internal/elevation.js +1 -0
  297. package/dist/internal/highlight.d.ts +96 -0
  298. package/dist/internal/highlight.js +1 -0
  299. package/dist/internal/i18n.d.ts +180 -0
  300. package/dist/internal/initials.d.ts +28 -0
  301. package/dist/internal/initials.js +1 -0
  302. package/dist/internal/intl.d.ts +64 -0
  303. package/dist/internal/intl.js +1 -0
  304. package/dist/internal/mark.d.ts +52 -0
  305. package/dist/internal/mark.js +1 -0
  306. package/dist/internal/measure.d.ts +31 -0
  307. package/dist/internal/measure.js +1 -0
  308. package/dist/internal/messages/anchor.d.ts +3 -0
  309. package/dist/internal/messages/anchor.js +1 -0
  310. package/dist/internal/messages/chart.d.ts +3 -0
  311. package/dist/internal/messages/chart.js +1 -0
  312. package/dist/internal/messages/code.d.ts +3 -0
  313. package/dist/internal/messages/code.js +1 -0
  314. package/dist/internal/messages/data-table.d.ts +3 -0
  315. package/dist/internal/messages/data-table.js +1 -0
  316. package/dist/internal/messages/scroll.d.ts +3 -0
  317. package/dist/internal/messages/scroll.js +1 -0
  318. package/dist/internal/messages/sparkline.d.ts +3 -0
  319. package/dist/internal/messages/sparkline.js +1 -0
  320. package/dist/internal/messages/tour.d.ts +3 -0
  321. package/dist/internal/messages/tour.js +1 -0
  322. package/dist/internal/messages/transfer.d.ts +1 -1
  323. package/dist/internal/messages/transfer.js +1 -1
  324. package/dist/internal/mockup.d.ts +174 -0
  325. package/dist/internal/mockup.js +2 -0
  326. package/dist/internal/page-layout.d.ts +24 -5
  327. package/dist/internal/page-layout.js +1 -1
  328. package/dist/internal/responsive.d.ts +55 -0
  329. package/dist/internal/responsive.js +1 -0
  330. package/dist/internal/scale.d.ts +0 -17
  331. package/dist/internal/scale.js +1 -1
  332. package/dist/internal/step.d.ts +15 -0
  333. package/dist/internal/step.js +1 -1
  334. package/dist/internal/table.d.ts +53 -0
  335. package/dist/internal/table.js +1 -0
  336. package/dist/internal/text.d.ts +57 -0
  337. package/dist/internal/text.js +1 -0
  338. package/dist/internal/threshold.d.ts +19 -0
  339. package/dist/internal/threshold.js +1 -0
  340. package/dist/internal/time-scale.d.ts +44 -0
  341. package/dist/internal/time-scale.js +1 -0
  342. package/dist/internal/transition.d.ts +33 -0
  343. package/dist/internal/transition.js +1 -0
  344. package/dist/internal/visibility.d.ts +48 -0
  345. package/dist/internal/visibility.js +1 -0
  346. package/dist/internal/window-class.d.ts +29 -2
  347. package/dist/internal/window-class.js +1 -1
  348. package/dist/locales/ar.js +1 -1
  349. package/dist/locales/de.js +1 -1
  350. package/dist/locales/es.js +1 -1
  351. package/dist/locales/fr.js +1 -1
  352. package/dist/locales/hi.js +1 -1
  353. package/dist/locales/id.js +1 -1
  354. package/dist/locales/it.js +1 -1
  355. package/dist/locales/ja.js +1 -1
  356. package/dist/locales/ko.js +1 -1
  357. package/dist/locales/nl.js +1 -1
  358. package/dist/locales/pl.js +1 -1
  359. package/dist/locales/pt.js +1 -1
  360. package/dist/locales/ru.js +1 -1
  361. package/dist/locales/th.js +1 -1
  362. package/dist/locales/tr.js +1 -1
  363. package/dist/locales/vi.js +1 -1
  364. package/dist/locales/zh-hans.js +1 -1
  365. package/dist/locales/zh-hant.js +1 -1
  366. package/dist/styles/accordion.css +1 -1
  367. package/dist/styles/alert.css +1 -1
  368. package/dist/styles/anchor.css +2 -0
  369. package/dist/styles/animate-appear.css +1 -1
  370. package/dist/styles/animate-blink.css +1 -1
  371. package/dist/styles/animate-counter.css +2 -0
  372. package/dist/styles/animate-fade.css +1 -1
  373. package/dist/styles/animate-float.css +2 -0
  374. package/dist/styles/animate-grow.css +1 -1
  375. package/dist/styles/animate-headline.css +1 -1
  376. package/dist/styles/animate-lighting.css +1 -1
  377. package/dist/styles/animate-marquee.css +1 -1
  378. package/dist/styles/animate-reveal.css +2 -0
  379. package/dist/styles/animate-rotate.css +1 -1
  380. package/dist/styles/animate-scramble.css +2 -0
  381. package/dist/styles/animate-shake.css +2 -0
  382. package/dist/styles/animate-slide.css +1 -1
  383. package/dist/styles/animate-split.css +2 -0
  384. package/dist/styles/animate-typing.css +1 -1
  385. package/dist/styles/animate-zoom.css +1 -1
  386. package/dist/styles/app-logo.css +2 -0
  387. package/dist/styles/area-chart.css +2 -0
  388. package/dist/styles/aspect-ratio.css +1 -1
  389. package/dist/styles/avatar.css +1 -1
  390. package/dist/styles/badge.css +1 -1
  391. package/dist/styles/bar-chart.css +2 -0
  392. package/dist/styles/blockquote.css +1 -1
  393. package/dist/styles/bottom-navigation.css +1 -1
  394. package/dist/styles/box.css +1 -1
  395. package/dist/styles/breadcrumb.css +1 -1
  396. package/dist/styles/button.css +1 -1
  397. package/dist/styles/calendar.css +1 -1
  398. package/dist/styles/card.css +1 -1
  399. package/dist/styles/carousel.css +1 -1
  400. package/dist/styles/chat-bubble.css +1 -1
  401. package/dist/styles/checkbox.css +1 -1
  402. package/dist/styles/chip.css +1 -1
  403. package/dist/styles/code-block.css +2 -0
  404. package/dist/styles/collapsible.css +1 -1
  405. package/dist/styles/color-picker.css +1 -1
  406. package/dist/styles/combobox.css +1 -1
  407. package/dist/styles/command-palette.css +1 -1
  408. package/dist/styles/config.css +1 -1
  409. package/dist/styles/confirm.css +1 -1
  410. package/dist/styles/container.css +1 -1
  411. package/dist/styles/data-list.css +2 -0
  412. package/dist/styles/data-table.css +2 -0
  413. package/dist/styles/date-picker.css +1 -1
  414. package/dist/styles/date-range-picker.css +1 -1
  415. package/dist/styles/date-time-picker.css +1 -1
  416. package/dist/styles/dialog.css +1 -1
  417. package/dist/styles/divider.css +1 -1
  418. package/dist/styles/drawer.css +1 -1
  419. package/dist/styles/empty.css +1 -1
  420. package/dist/styles/fieldset.css +1 -1
  421. package/dist/styles/file-picker.css +1 -1
  422. package/dist/styles/flex.css +2 -0
  423. package/dist/styles/floating-action-button.css +1 -1
  424. package/dist/styles/floating-bottom-navigation.css +2 -0
  425. package/dist/styles/footer.css +1 -1
  426. package/dist/styles/form.css +1 -1
  427. package/dist/styles/gauge-chart.css +2 -0
  428. package/dist/styles/grid.css +1 -1
  429. package/dist/styles/header.css +1 -1
  430. package/dist/styles/heatmap-chart.css +2 -0
  431. package/dist/styles/highlight.css +1 -1
  432. package/dist/styles/hover-card.css +2 -0
  433. package/dist/styles/icon-button.css +1 -1
  434. package/dist/styles/icon.css +1 -1
  435. package/dist/styles/image.css +1 -1
  436. package/dist/styles/line-chart.css +2 -0
  437. package/dist/styles/list.css +1 -1
  438. package/dist/styles/locale.css +1 -1
  439. package/dist/styles/menu.css +1 -1
  440. package/dist/styles/menubar.css +1 -1
  441. package/dist/styles/meter.css +2 -0
  442. package/dist/styles/mockup.css +2 -0
  443. package/dist/styles/navigation-menu.css +1 -1
  444. package/dist/styles/number-field.css +1 -1
  445. package/dist/styles/otp-field.css +1 -1
  446. package/dist/styles/overlay.css +1 -1
  447. package/dist/styles/page-layout.css +1 -1
  448. package/dist/styles/pagination.css +1 -1
  449. package/dist/styles/pie-chart.css +2 -0
  450. package/dist/styles/pill.css +1 -1
  451. package/dist/styles/popconfirm.css +1 -1
  452. package/dist/styles/popover.css +1 -1
  453. package/dist/styles/portal.css +2 -0
  454. package/dist/styles/progress-box.css +1 -1
  455. package/dist/styles/progress-circular.css +1 -1
  456. package/dist/styles/progress-linear.css +1 -1
  457. package/dist/styles/radio-group.css +1 -1
  458. package/dist/styles/rating.css +1 -1
  459. package/dist/styles/scatter-chart.css +2 -0
  460. package/dist/styles/scroll-area.css +2 -0
  461. package/dist/styles/scroll-zone.css +2 -0
  462. package/dist/styles/segmented-button.css +1 -1
  463. package/dist/styles/select.css +1 -1
  464. package/dist/styles/show.css +2 -0
  465. package/dist/styles/sidebar.css +1 -1
  466. package/dist/styles/skeleton.css +1 -1
  467. package/dist/styles/slider.css +1 -1
  468. package/dist/styles/snackbar.css +1 -1
  469. package/dist/styles/sparkline.css +2 -0
  470. package/dist/styles/spoiler.css +1 -1
  471. package/dist/styles/stack.css +2 -0
  472. package/dist/styles/statistic.css +2 -0
  473. package/dist/styles/stepper.css +1 -1
  474. package/dist/styles/switch.css +1 -1
  475. package/dist/styles/table.css +1 -1
  476. package/dist/styles/tabs.css +1 -1
  477. package/dist/styles/text-field.css +1 -1
  478. package/dist/styles/text-link.css +1 -1
  479. package/dist/styles/time-picker.css +1 -1
  480. package/dist/styles/timeline-chart.css +2 -0
  481. package/dist/styles/timeline.css +1 -1
  482. package/dist/styles/toggle.css +1 -1
  483. package/dist/styles/tokens.css +1 -1
  484. package/dist/styles/toolbar.css +2 -0
  485. package/dist/styles/tour.css +2 -0
  486. package/dist/styles/transfer.css +1 -1
  487. package/dist/styles/tree-select.css +2 -0
  488. package/dist/styles/tree-view.css +2 -0
  489. package/dist/styles/typography.css +1 -1
  490. package/dist/styles.css +1 -1
  491. package/dist/tailwind.css +2606 -185
  492. package/dist/types.d.ts +566 -5
  493. package/package.json +26 -25
  494. package/.fix.py +0 -92
  495. package/dist/components/avatar-group/MPAvatarGroup.d.ts +0 -74
  496. package/dist/components/avatar-group/MPAvatarGroup.js +0 -2
  497. package/dist/components/avatar-group/index.d.ts +0 -2
  498. package/dist/components/avatar-group/index.js +0 -1
  499. package/dist/internal/avatar-group.d.ts +0 -22
  500. package/dist/internal/avatar-group.js +0 -2
  501. package/dist/styles/avatar-group.css +0 -2
@@ -189,6 +189,57 @@ export interface MPMessages {
189
189
  /** One slide, and its own position mark. `Slide 2 of 5`. */
190
190
  slide: string;
191
191
  };
192
+ /**
193
+ * MPScrollZone.
194
+ *
195
+ * Read out and never drawn, like the carousel's above — but a namespace of
196
+ * its own rather than three more keys in that one, because the words differ
197
+ * where it matters. A carousel's arrow moves to the *slide* before this one
198
+ * and there is a countable thing on the other side of the press; a scroll
199
+ * zone's moves the strip along and lands wherever the content happens to
200
+ * start. A translation that reused *Previous slide* for it would be naming a
201
+ * slide the reader is not being taken to.
202
+ */
203
+ scroll: {
204
+ /** What the strip is called when the caller has not said what is in it. */
205
+ label: string;
206
+ /** The two buttons, named by which way they travel. */
207
+ previous: string;
208
+ next: string;
209
+ };
210
+ /**
211
+ * MPAnchor.
212
+ *
213
+ * One string, and it is read out rather than drawn: the rows are the page's
214
+ * own headings, and the only thing the component says on its own behalf is
215
+ * what the `<nav>` around them is called. A page with a table of contents and
216
+ * a menu in it has two navigation landmarks, and a screen reader that offers
217
+ * both of them as "navigation" has told the reader nothing.
218
+ */
219
+ anchor: {
220
+ /** The name of the `<nav>` the list of headings is inside. */
221
+ label: string;
222
+ };
223
+ /**
224
+ * MPCodeBlock.
225
+ *
226
+ * Two of these are **drawn** — the copy button says its own word, and says a
227
+ * different one once the clipboard has taken the code — which is unusual in
228
+ * this table and is what makes the namespace necessary. A Korean page with a
229
+ * button reading *Copy* is a page the component broke.
230
+ */
231
+ code: {
232
+ /** The button that puts the code on the clipboard. */
233
+ copy: string;
234
+ /** What it says for a moment afterwards. */
235
+ copied: string;
236
+ /** And what it says when the browser refused. */
237
+ copyFailed: string;
238
+ /** The toggle that drops the colouring. Read out; the button is a glyph. */
239
+ raw: string;
240
+ /** What the scrollable region is called when nothing named it. */
241
+ label: string;
242
+ };
192
243
  /**
193
244
  * MPBreadcrumb.
194
245
  *
@@ -215,6 +266,74 @@ export interface MPMessages {
215
266
  /** The row that offers what was typed as a value of its own. */
216
267
  add: string;
217
268
  };
269
+ /**
270
+ * MPSparkline.
271
+ *
272
+ * One string, and it is the whole of what a sparkline says to a reader who
273
+ * cannot see it. The mark has no axis and no tooltip — see the note on the
274
+ * component — so the shape has to arrive as a sentence or not at all.
275
+ *
276
+ * `{count}`, `{first}` and `{last}` are filled in by `fillMessage`, and the
277
+ * two ends rather than the two extremes because it is the direction a reader
278
+ * wants from a sparkline: 120 to 400 says which way it went, and 90 to 410
279
+ * does not.
280
+ */
281
+ /**
282
+ * The framed charts.
283
+ *
284
+ * Three words, and every one of them is a name for a thing the chart drew
285
+ * rather than a thing the caller wrote. A chart's own content — its series
286
+ * names, its categories, its title — is the caller's and is never translated
287
+ * here; these are the scaffolding around it.
288
+ *
289
+ * `label` is the fallback accessible name. A chart is a focusable
290
+ * `role="img"`, and one with nothing to be called by is a tab stop that
291
+ * announces silence, so there is always a name even when the caller gave
292
+ * none.
293
+ *
294
+ * `table` names the grid under every chart — the relief channel that makes a
295
+ * picture readable to somebody who cannot see it — and `category` heads its
296
+ * first column, the one holding whatever the marks are filed under.
297
+ */
298
+ chart: {
299
+ /** What an unnamed chart is called. */
300
+ label: string;
301
+ /** The caption on the table under it. */
302
+ table: string;
303
+ /** The heading over that table's first column. */
304
+ category: string;
305
+ };
306
+ sparkline: {
307
+ summary: string;
308
+ };
309
+ /**
310
+ * MPTour.
311
+ *
312
+ * The four buttons and the counter — every one of them drawn, and none of
313
+ * them the caller's. A tour is a component whose whole content is somebody
314
+ * else's writing, so these five are the only words it says on its own behalf,
315
+ * and a tour whose steps are in Korean under a *Next* button is a tour that
316
+ * was translated halfway.
317
+ *
318
+ * The × is `common`'s, because it is the same × every sheet in the library
319
+ * closes with.
320
+ *
321
+ * `{index}` and `{total}` are filled in by `fillMessage`, and they are
322
+ * positional for the reason the pagination's are: a language that counts the
323
+ * total first is not one an argument order can serve.
324
+ */
325
+ tour: {
326
+ /** Back one step. Missing on the first. */
327
+ previous: string;
328
+ /** On one step. */
329
+ next: string;
330
+ /** What Next becomes on the last step. */
331
+ done: string;
332
+ /** Leaves the tour without finishing it. */
333
+ skip: string;
334
+ /** Where the reader is: "Step 2 of 5". */
335
+ position: string;
336
+ };
218
337
  /**
219
338
  * MPTable.
220
339
  *
@@ -225,6 +344,57 @@ export interface MPMessages {
225
344
  table: {
226
345
  empty: string;
227
346
  };
347
+ /**
348
+ * MPDataTable.
349
+ *
350
+ * The words the table says on its own behalf, and not one of them is the
351
+ * caller's data. Three are read out and never drawn — the ticks have no
352
+ * visible label, and a column of unnamed checkboxes is a column a screen
353
+ * reader announces as nothing at all — and three are drawn in the bar under
354
+ * the rows.
355
+ *
356
+ * The empty line is `table`'s, the search field's word is `transfer`'s and the
357
+ * pages are `pagination`'s: what is here is only what none of them says.
358
+ *
359
+ * `{count}` and `{total}` are filled in by `fillMessage`.
360
+ */
361
+ dataTable: {
362
+ /** The tick in the header, which chooses every row on the page. */
363
+ selectAll: string;
364
+ /** One row's tick. Read out with the row it is in. */
365
+ selectRow: string;
366
+ /**
367
+ * How many rows there are, after the search and before the page.
368
+ *
369
+ * A label with a number after it — "Rows: 7" — in every language that
370
+ * inflects a noun for number, and the natural phrase in the ones that do
371
+ * not. "1 rows" is what a single `{total} rows` says one row in seven times
372
+ * out of seven, and the alternative is a plural form per language in a table
373
+ * that holds one string per key: Polish and Arabic need four and six of
374
+ * them. Naming the thing and then counting it is right in every language and
375
+ * costs nothing.
376
+ */
377
+ total: string;
378
+ /**
379
+ * And how many of them are held, when any are.
380
+ *
381
+ * A second fact beside the first rather than a sentence joining the two.
382
+ * Written as one — "{count} of {total} selected" — the two numbers are
383
+ * counted over different sets, because a row the search has hidden is still
384
+ * chosen: a table of seven with one hidden row held would have said "1 of 1
385
+ * selected" the moment a search left one row on screen.
386
+ */
387
+ selected: string;
388
+ /** The button that writes the rows out as a file. */
389
+ download: string;
390
+ /** The label on the footer's page-size control. */
391
+ perPage: string;
392
+ /**
393
+ * The handle between two headings, which is a control a keyboard can reach:
394
+ * the arrow keys widen and narrow the column it belongs to.
395
+ */
396
+ resize: string;
397
+ };
228
398
  /**
229
399
  * MPFilePicker.
230
400
  *
@@ -397,6 +567,16 @@ export interface MPMessages {
397
567
  search: string;
398
568
  /** What a list with nothing in it says. */
399
569
  empty: string;
570
+ /**
571
+ * What is announced after an arrow is pressed: how many rows crossed, and
572
+ * which list they landed in.
573
+ *
574
+ * `{list}` is the heading of the list they arrived at — the caller's own
575
+ * when it is a string, and `source` or `target` otherwise. Nothing on the
576
+ * screen changes except two columns of near-identical rows, so this is the
577
+ * only thing that tells a reader the press did anything.
578
+ */
579
+ moved: string;
400
580
  };
401
581
  /**
402
582
  * MPCommandPalette.
@@ -0,0 +1,28 @@
1
+ /**
2
+ * A name reduced to the letters that stand in for it.
3
+ *
4
+ * The first character of the first word plus the first of the last — "Jane Doe"
5
+ * is `JD`, "Acme Supply Co" is `AC`, and "홍길동" is `홍`.
6
+ *
7
+ * One word gives one character on purpose. Korean, Japanese and Chinese names
8
+ * are a single token, and two of their characters at 32px is a smudge where one
9
+ * of them is a name.
10
+ *
11
+ * `Array.from` rather than indexing, and that is the whole reason this is a
12
+ * function rather than a `slice(0, 1)` at each call site: a string index is a
13
+ * UTF-16 code unit, so `name[0]` on a name beginning with an emoji or any
14
+ * character outside the basic plane returns half of it, and half a surrogate
15
+ * pair renders as the replacement glyph. `normalize('NFC')` is the other half
16
+ * of the same care — a decomposed "Å" would otherwise give the bare A, with the
17
+ * ring left behind on the next character.
18
+ *
19
+ * The rule is wrong for some names, which is what every caller's own `initials`
20
+ * prop is for. It is not wrong often enough to be worth a locale-aware guess
21
+ * that would be wrong differently.
22
+ *
23
+ * A file of its own because two components need it and neither should import
24
+ * the other. `MPAvatar` derives a person's initials and `MPAppLogo` derives a
25
+ * product's, and a page carrying both would otherwise be able to disagree with
26
+ * itself about what a two-word name comes to.
27
+ */
28
+ export declare function initialsOf(name: string): string;
@@ -0,0 +1 @@
1
+ export function initialsOf(r){const t=r.normalize("NFC").trim().split(/\s+/).filter(Boolean);if(0===t.length)return"";return((Array.from(t[0])[0]??"")+(t.length>1?Array.from(t[t.length-1])[0]??"":"")).toLocaleUpperCase()}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * One cache in front of `Intl`, for every part of the library that names things.
3
+ *
4
+ * Constructing an `Intl` formatter is not a cheap allocation. The engine
5
+ * resolves a locale, walks its fallback chain and loads the CLDR data behind
6
+ * whatever the options asked for; the object that comes back then formats for
7
+ * free. So a formatter built once and kept is the difference between paying that
8
+ * cost once a page and paying it once a value.
9
+ *
10
+ * `internal/date.ts` worked this out first and cached its own
11
+ * `Intl.DateTimeFormat`. Everything else did not, and the places that did not
12
+ * are the ones where it costs most:
13
+ *
14
+ * - `MPPieChart` built a percent formatter per slice.
15
+ * - `MPStatistic` built two per render of a delta.
16
+ * - `MPAnimateCounter` memoised on an `options` **prop**, so a caller writing
17
+ * the object inline rebuilt the formatter on every frame of the count — sixty
18
+ * a second, in the one component whose whole job is to re-render at that rate.
19
+ * - `MPAnimateSplit` built an `Intl.Segmenter` per word.
20
+ *
21
+ * Nothing here is exported from `src/index.ts`. It is the library talking to
22
+ * itself, in the sense `internal/` always means.
23
+ */
24
+ /**
25
+ * How many entries a cache here holds before it starts forgetting.
26
+ *
27
+ * The caches are keyed on a locale and an options object, and the options are a
28
+ * caller's prop — so how many distinct keys there are is not something this file
29
+ * gets to decide. A table formatting a number per row against a per-row format
30
+ * would add an `Intl.NumberFormat` to a `Map` that never dropped one, for as
31
+ * long as the page was open. Nothing has ever reported that, and a cache with no
32
+ * ceiling is still a leak with a slow fuse.
33
+ *
34
+ * Sixty-four is far above what a page uses. A chart asks for two or three
35
+ * shapes, a statistic for two, and every component on the page shares them; the
36
+ * limit is for the case nobody planned rather than the case everybody has.
37
+ */
38
+ export declare const CACHE_LIMIT = 64;
39
+ /**
40
+ * Puts an entry in, and drops the oldest if that took the map over the line.
41
+ *
42
+ * A `Map` iterates in insertion order, so its first key is its oldest — which
43
+ * makes the eviction one delete rather than a data structure.
44
+ *
45
+ * Not a true LRU: reading an entry does not renew it, so a formatter used on
46
+ * every render could in principle be evicted by sixty-four newer ones. It would
47
+ * be rebuilt on the next call, which costs exactly what the miss it already was
48
+ * cost — and tracking use would mean writing to the map on every *read*, which
49
+ * is the hot path this whole thing exists to keep cheap.
50
+ */
51
+ export declare function remember<Value>(cache: Map<string, Value>, key: string, value: Value): Value;
52
+ /** A memoised `Intl.NumberFormat`. `undefined` locale means the runtime's own. */
53
+ export declare const numberFormatter: (locale: string | undefined, options?: Intl.NumberFormatOptions | undefined) => Intl.NumberFormat;
54
+ /** A memoised `Intl.DateTimeFormat`. `undefined` locale means the runtime's own. */
55
+ export declare const dateTimeFormatter: (locale: string | undefined, options?: Intl.DateTimeFormatOptions | undefined) => Intl.DateTimeFormat;
56
+ /**
57
+ * A memoised `Intl.Segmenter`, or `null` where the runtime has none.
58
+ *
59
+ * `null` rather than a throw, because `internal/text.ts` has a naive fallback
60
+ * for exactly that case and an effect that runs imperfectly beats one that does
61
+ * not run. The check is part of the factory rather than repeated at each call
62
+ * site, so the answer is worked out once.
63
+ */
64
+ export declare const segmenter: (locale: string | undefined, options?: Intl.SegmenterOptions | undefined) => Intl.Segmenter | null;
@@ -0,0 +1 @@
1
+ export const CACHE_LIMIT=64;export function remember(e,t,n){if(e.set(t,n),e.size>64){const t=e.keys().next();t.done||e.delete(t.value)}return n}function e(e){const t=new Map;return(n,r)=>{const o=function(e,t){return`${e??""}\0${t?JSON.stringify(t):""}`}(n,r);return t.get(o)??remember(t,o,e(n,r))}}export const numberFormatter=e((e,t)=>new Intl.NumberFormat(e,t));export const dateTimeFormatter=e((e,t)=>new Intl.DateTimeFormat(e,t));export const segmenter=e((e,t)=>"undefined"!=typeof Intl&&"Segmenter"in Intl?new Intl.Segmenter(e,t):null);
@@ -0,0 +1,52 @@
1
+ /**
2
+ * The mark that comes and goes, and the timing every one of them shares.
3
+ *
4
+ * Six controls in this library draw a small shape to say "this one" — a
5
+ * checkbox's tick, a radio's dot, the tick beside a chosen row in a select, in a
6
+ * combobox, and in a menu's two kinds of item. They are the same event, so they
7
+ * have to be the same motion: a tick that grows into a `MPSelect` and one that
8
+ * is stamped into an `MPMenu` beside it read as two libraries, and that is
9
+ * exactly what the library had before this file.
10
+ *
11
+ * It is a string rather than a component because the elements it goes on are
12
+ * Base UI's own indicator parts. There is nothing to wrap: what differs between
13
+ * the six is which part renders and what the mark is drawn with, and what does
14
+ * not differ is the two hundred milliseconds and the frame it arrives from.
15
+ *
16
+ * ## Two from-states, because there are two kinds of mark
17
+ *
18
+ * A tick is a **stroke**. Drawn from nothing it spends its first frames as a
19
+ * smudge too small to read as a tick, and the eye takes the arrival for a
20
+ * flicker rather than for a stroke — so it starts at 0.6, already legible.
21
+ *
22
+ * A dot is a **disc**, and a disc at any size is still a disc. It can grow out
23
+ * of the centre of the ring taking the accent around it, which is the arrival
24
+ * MD3 draws for a radio.
25
+ *
26
+ * ## Why the third one is spelled differently
27
+ *
28
+ * `data-starting-style` and `data-ending-style` are Base UI's own two frames,
29
+ * and they are what `MARK_MOTION` and `DOT_MOTION` are written against. They
30
+ * work wherever the part stays mounted for the length of its exit, which the
31
+ * checkbox's, the radio's and the menu's indicators all do.
32
+ *
33
+ * `Select.ItemIndicator` and `Combobox.ItemIndicator` do not: both return `null`
34
+ * the moment their row stops being the chosen one, so `data-ending-style` never
35
+ * reaches the DOM and a tick that faded in vanished in a frame. Their answer is
36
+ * `keepMounted` plus `MARK_MOTION_KEPT`, which drives both directions off
37
+ * `data-selected` and needs neither frame. The cost is one empty `aria-hidden`
38
+ * span per row, in a column the list already reserves the width of.
39
+ */
40
+ /** A stroke, arriving from 0.6 and leaving the same way. */
41
+ export declare const MARK_MOTION: string;
42
+ /** A disc, arriving from nothing. */
43
+ export declare const DOT_MOTION: string;
44
+ /**
45
+ * A stroke on a part that is kept mounted, so its resting state is the empty
46
+ * one and `data-selected` is what draws it.
47
+ *
48
+ * Always paired with `keepMounted` on the indicator. Without it the part is only
49
+ * ever in the DOM while it is selected, and a rule that hides everything else
50
+ * would hide the only thing there is.
51
+ */
52
+ export declare const MARK_MOTION_KEPT: string;
@@ -0,0 +1 @@
1
+ const t=/*@__PURE__*/["transition-[opacity,scale]","duration-(--mp-sys-motion-duration-short4)","ease-mp-standard"].join(" ");export const MARK_MOTION=/*@__PURE__*/[t,"data-starting-style:scale-60 data-starting-style:opacity-0","data-ending-style:scale-60 data-ending-style:opacity-0"].join(" ");export const DOT_MOTION=/*@__PURE__*/[t,"data-starting-style:scale-0 data-starting-style:opacity-0","data-ending-style:scale-0 data-ending-style:opacity-0"].join(" ");export const MARK_MOTION_KEPT=/*@__PURE__*/[t,"scale-60 opacity-0","data-selected:scale-100 data-selected:opacity-100"].join(" ");
@@ -0,0 +1,31 @@
1
+ /**
2
+ * How wide content is allowed to get, and the ladder it is usually asked for on.
3
+ *
4
+ * A module of its own rather than a third table in `internal/scale.ts`, and the
5
+ * reason is what `scale.ts` is: ladders of literal Tailwind class names, read by
6
+ * nearly every component in the library. The measure stopped being one of those
7
+ * when it started being read off the window size classes — and an `MPBox`, which
8
+ * wants a padding ladder and nothing else, should not carry those into its
9
+ * bundle to get one.
10
+ *
11
+ * Three components import this: `MPContainer`, `MPHeader` and `MPFooter`. They
12
+ * are the three that hold content to a width while the sheet around it spans the
13
+ * window, and they have to agree about where that edge is or the bar and the
14
+ * article under it line up at every width but one.
15
+ */
16
+ import type { MPMeasure, MPWindowClass } from '../types.js';
17
+ /**
18
+ * One `maxWidth`, as the length `max-width` is given.
19
+ *
20
+ * A rung of the ladder above, resolved against the boundaries in force where the
21
+ * component is — so a page that moved one with `MPConfigProvider` moves its
22
+ * measures too — or anything else the caller wrote, which reaches CSS untouched.
23
+ * `'60ch'` and `'42rem'` are the same kind of answer as `'lg'` rather than a
24
+ * second prop. See `MPMeasure`.
25
+ *
26
+ * The rungs were once four `rem` values written out — `37.5rem`, `52.5rem`,
27
+ * `75rem`, `100rem` — which are the four boundaries at a 16px root and only at a
28
+ * 16px root. A reader who had scaled their text up got a container that agreed
29
+ * with the media queries at no width at all.
30
+ */
31
+ export declare function measureValue(value: MPMeasure, mins: Record<MPWindowClass, number>): string;
@@ -0,0 +1 @@
1
+ const e={xs:null,sm:"medium",md:"expanded",lg:"large",xl:"extra-large"};export function measureValue(n,r){if(!(n in e))return n;const l=e[n];return`${l?r[l]:480}px`}
@@ -0,0 +1,3 @@
1
+ import type { MPNamespace } from '../i18n.js';
2
+ /** `MPAnchor`'s one name — see `MPMessages['anchor']`. */
3
+ export declare const ANCHOR: MPNamespace<'anchor'>;
@@ -0,0 +1 @@
1
+ export const ANCHOR={name:"anchor",en:{label:"On this page"}};
@@ -0,0 +1,3 @@
1
+ import type { MPNamespace } from '../i18n.js';
2
+ /** The framed charts' three words — see `MPMessages['chart']`. */
3
+ export declare const CHART: MPNamespace<'chart'>;
@@ -0,0 +1 @@
1
+ export const CHART={name:"chart",en:{label:"Chart",table:"Chart data",category:"Category"}};
@@ -0,0 +1,3 @@
1
+ import type { MPNamespace } from '../i18n.js';
2
+ /** `MPCodeBlock`'s own words — see `MPMessages['code']`. */
3
+ export declare const CODE: MPNamespace<'code'>;
@@ -0,0 +1 @@
1
+ export const CODE={name:"code",en:{copy:"Copy",copied:"Copied",copyFailed:"Could not copy",raw:"Plain text",label:"Code"}};
@@ -0,0 +1,3 @@
1
+ import type { MPNamespace } from '../i18n.js';
2
+ /** `MPDataTable`'s ticks, its count and its two controls — see `MPMessages['dataTable']`. */
3
+ export declare const DATA_TABLE: MPNamespace<'dataTable'>;
@@ -0,0 +1 @@
1
+ export const DATA_TABLE={name:"dataTable",en:{selectAll:"Select all rows",selectRow:"Select row",total:"Rows: {total}",selected:"Selected: {count}",download:"Download CSV",perPage:"Rows per page",resize:"Resize column"}};
@@ -0,0 +1,3 @@
1
+ import type { MPNamespace } from '../i18n.js';
2
+ /** `MPScrollZone`'s own names — see `MPMessages['scroll']`. */
3
+ export declare const SCROLL: MPNamespace<'scroll'>;
@@ -0,0 +1 @@
1
+ export const SCROLL={name:"scroll",en:{label:"Scrollable content",previous:"Scroll back",next:"Scroll forward"}};
@@ -0,0 +1,3 @@
1
+ import type { MPNamespace } from '../i18n.js';
2
+ /** `MPSparkline`'s one sentence — see `MPMessages['sparkline']`. */
3
+ export declare const SPARKLINE: MPNamespace<'sparkline'>;
@@ -0,0 +1 @@
1
+ export const SPARKLINE={name:"sparkline",en:{summary:"{count} points, from {first} to {last}"}};
@@ -0,0 +1,3 @@
1
+ import type { MPNamespace } from '../i18n.js';
2
+ /** `MPTour`'s four buttons and its counter — see `MPMessages['tour']`. */
3
+ export declare const TOUR: MPNamespace<'tour'>;
@@ -0,0 +1 @@
1
+ export const TOUR={name:"tour",en:{previous:"Back",next:"Next",done:"Done",skip:"Skip",position:"Step {index} of {total}"}};
@@ -1,3 +1,3 @@
1
1
  import type { MPNamespace } from '../i18n.js';
2
- /** `MPTransfer`'s two headings and its arrows — see `MPMessages['transfer']`. */
2
+ /** `MPTransfer`'s two headings, its arrows and its announcement — see `MPMessages['transfer']`. */
3
3
  export declare const TRANSFER: MPNamespace<'transfer'>;
@@ -1 +1 @@
1
- export const TRANSFER={name:"transfer",en:{source:"Available",target:"Selected",toTarget:"Move to selected",toSource:"Move to available",search:"Search",empty:"Nothing here"}};
1
+ export const TRANSFER={name:"transfer",en:{source:"Available",target:"Selected",toTarget:"Move to selected",toSource:"Move to available",search:"Search",empty:"Nothing here",moved:"Moved to {list}: {count}"}};
@@ -0,0 +1,174 @@
1
+ /**
2
+ * The parts a device mockup is drawn out of.
3
+ *
4
+ * `MPMockup` is one component with a lot of pictures in it: three devices, six
5
+ * systems, four bezels, three finishes and four cut-outs. Kept in the component
6
+ * that would be a thousand-line file whose interesting fifty lines — the scale,
7
+ * the screen, the content — are buried in geometry.
8
+ *
9
+ * So the geometry lives here, as tables and small drawings, and the component
10
+ * is left holding the decisions: what a caller asked for, what the device
11
+ * implies when they did not, and how big it all comes out on the page.
12
+ *
13
+ * ## Why the numbers are in the screen's own pixels
14
+ *
15
+ * Every measurement below is in the device's logical resolution rather than in
16
+ * page pixels, and that is what makes one scale at the end work: a bezel that
17
+ * was 14 device pixels stays 14 device pixels whether the mockup is drawn at
18
+ * full size or at a third of it, so the hardware never thickens as the picture
19
+ * shrinks.
20
+ *
21
+ * ## What is not a token
22
+ *
23
+ * The finishes. A graphite phone stays graphite on a page switched to dark,
24
+ * because the hardware is a photograph of an object rather than a surface of
25
+ * this library's — a mockup whose aluminium turned white with the page would be
26
+ * a mockup of nothing.
27
+ */
28
+ import * as React from 'react';
29
+ import type { MPSize } from '../types.js';
30
+ /** Which machine the mockup is a picture of. */
31
+ export type MPMockupDevice = 'desktop' | 'tablet' | 'mobile';
32
+ /** The system whose chrome is drawn on the screen. */
33
+ export type MPMockupOs = 'macos' | 'windows' | 'linux' | 'ios' | 'ipados' | 'android';
34
+ /** What holds a desktop screen up. */
35
+ export type MPMockupHardware = 'monitor' | 'laptop';
36
+ /** The camera cut-out along the top edge of a handheld. */
37
+ export type MPMockupNotch = 'none' | 'notch' | 'dynamic-island' | 'punch-hole';
38
+ /**
39
+ * How much hardware there is around the screen.
40
+ *
41
+ * `none` is not a thinner bezel — it is no hardware at all, leaving the screen
42
+ * on its own with its corners cut, which is what a mockup that only wants the
43
+ * viewport is asking for.
44
+ */
45
+ export type MPMockupBezel = 'none' | 'thin' | 'standard' | 'thick';
46
+ /** What the hardware is made of. */
47
+ export type MPMockupFinish = 'graphite' | 'silver' | 'white';
48
+ /** Which way a handheld is held. */
49
+ export type MPMockupOrientation = 'portrait' | 'landscape';
50
+ /** A screen's logical size, in CSS pixels. */
51
+ export interface MPMockupResolution {
52
+ width: number;
53
+ height: number;
54
+ }
55
+ /**
56
+ * The system to draw, with a mismatch corrected rather than refused.
57
+ *
58
+ * `os="macos"` on a phone is a caller who changed `device` and forgot the other
59
+ * prop, and the useful answer is the phone's own system — not a desktop menu
60
+ * bar across a 390-pixel screen.
61
+ */
62
+ export declare function resolveOs(device: MPMockupDevice, os?: MPMockupOs): MPMockupOs;
63
+ /** The cut-out a device would have if nobody said otherwise. */
64
+ export declare function defaultNotch(device: MPMockupDevice, os: MPMockupOs): MPMockupNotch;
65
+ /**
66
+ * Five real resolutions per device, which is what `size` picks between.
67
+ *
68
+ * Real ones rather than a smooth ladder, because the number that matters is the
69
+ * one a media query fires at: a layout tested at 390 and at 430 has been tested
70
+ * at the two widths most phones actually are, and a made-up 400 would be a
71
+ * width nobody's device has.
72
+ */
73
+ export declare const RESOLUTIONS: Record<MPMockupDevice, Record<MPSize, MPMockupResolution>>;
74
+ /** How much hardware sits on each side of the screen, in screen pixels. */
75
+ interface Shell {
76
+ side: number;
77
+ top: number;
78
+ bottom: number;
79
+ /** The outer corner. The screen's own is this minus `side`. */
80
+ radius: number;
81
+ }
82
+ /** What the stand under a desktop is made of, in screen pixels. */
83
+ interface Stand {
84
+ neckWidth: number;
85
+ neckHeight: number;
86
+ footWidth: number;
87
+ footHeight: number;
88
+ }
89
+ /**
90
+ * Everything the component needs to draw one device, resolved.
91
+ *
92
+ * One object rather than eight return values, because the frame's size is the
93
+ * sum of the rest and a caller that recomputed it would be a second place for
94
+ * the arithmetic to be wrong.
95
+ */
96
+ export interface MPMockupMetrics {
97
+ screen: MPMockupResolution;
98
+ /** The device itself: the screen plus its hardware. */
99
+ body: MPMockupResolution;
100
+ /** The whole picture: the body plus whatever holds it up. */
101
+ frame: MPMockupResolution;
102
+ shell: Shell;
103
+ screenRadius: number;
104
+ stand: Stand | null;
105
+ /** The wedge a laptop sits on, drawn as a trapezium. */
106
+ laptop: {
107
+ width: number;
108
+ height: number;
109
+ lipWidth: number;
110
+ } | null;
111
+ }
112
+ export declare function mockupMetrics(options: {
113
+ device: MPMockupDevice;
114
+ bezel: MPMockupBezel;
115
+ hardware: MPMockupHardware;
116
+ orientation: MPMockupOrientation;
117
+ resolution: MPMockupResolution;
118
+ }): MPMockupMetrics;
119
+ /**
120
+ * The three finishes, as fixed colours.
121
+ *
122
+ * Not tokens, and not derived from the source colour: a graphite phone stays
123
+ * graphite on a page switched to dark, because the hardware is a photograph of
124
+ * an object rather than a surface of this library's. A mockup whose aluminium
125
+ * turned white with the page would be a mockup of nothing.
126
+ *
127
+ * Two slots each — the face and the edge — because the hardware is drawn as a
128
+ * flat face with a hairline of a darker shade inside it, which is what reads as
129
+ * an edge rather than as a border.
130
+ */
131
+ export declare const FINISHES: Record<MPMockupFinish, React.CSSProperties>;
132
+ /** What every piece of hardware is painted with. */
133
+ export declare const HARDWARE = "bg-(--_mp-device) ring-1 ring-(--_mp-device-edge) ring-inset";
134
+ /**
135
+ * The camera cut-out, drawn into the top edge of the screen.
136
+ *
137
+ * Hardware rather than chrome, so it is drawn whether or not `systemUi` is on —
138
+ * a phone does not stop having a camera because the status bar was turned off.
139
+ * It sits over the screen rather than taking room from it, which is what the
140
+ * real thing does: the content runs underneath and the system inset keeps the
141
+ * words clear of it.
142
+ */
143
+ export declare function MockupCutout({ notch, width }: {
144
+ notch: MPMockupNotch;
145
+ width: number;
146
+ }): React.JSX.Element | null;
147
+ /** What one system puts above and below the content. */
148
+ export interface MPMockupChrome {
149
+ top: React.ReactNode;
150
+ bottom: React.ReactNode;
151
+ /** How much room each takes out of the screen, in screen pixels. */
152
+ insetTop: number;
153
+ insetBottom: number;
154
+ }
155
+ /**
156
+ * A system's own bars.
157
+ *
158
+ * Each takes its own room out of the screen rather than covering the content,
159
+ * so turning `systemUi` off gives the screen back to `children` rather than
160
+ * uncovering something that was hidden underneath.
161
+ *
162
+ * The bars are drawn out of this library's own roles — `surface`, `on-surface`
163
+ * — rather than out of each system's real colours, and that is the line this
164
+ * component keeps: the *hardware* is a photograph and has fixed colours, the
165
+ * *software* on the screen is a page and follows the page. A macOS menu bar
166
+ * that stayed light on a dark mockup would be a picture of somebody else's
167
+ * screenshot rather than a frame around yours.
168
+ */
169
+ export declare function mockupChrome(options: {
170
+ os: MPMockupOs;
171
+ width: number;
172
+ notch: MPMockupNotch;
173
+ }): MPMockupChrome;
174
+ export {};