material-plus-ui 1.8.0 → 1.10.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.
- package/README.md +10 -6
- package/dist/a2ui/catalog.d.ts +104 -0
- package/dist/a2ui/catalog.js +1 -0
- package/dist/a2ui/components/MPA2uiAudioPlayer.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiAudioPlayer.js +2 -0
- package/dist/a2ui/components/MPA2uiButton.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiButton.js +2 -0
- package/dist/a2ui/components/MPA2uiCard.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiCard.js +2 -0
- package/dist/a2ui/components/MPA2uiCheckBox.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiCheckBox.js +2 -0
- package/dist/a2ui/components/MPA2uiChoicePicker.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiChoicePicker.js +2 -0
- package/dist/a2ui/components/MPA2uiColumn.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiColumn.js +2 -0
- package/dist/a2ui/components/MPA2uiDateTimeInput.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiDateTimeInput.js +2 -0
- package/dist/a2ui/components/MPA2uiDivider.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiDivider.js +2 -0
- package/dist/a2ui/components/MPA2uiIcon.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiIcon.js +2 -0
- package/dist/a2ui/components/MPA2uiImage.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiImage.js +2 -0
- package/dist/a2ui/components/MPA2uiList.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiList.js +2 -0
- package/dist/a2ui/components/MPA2uiModal.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiModal.js +2 -0
- package/dist/a2ui/components/MPA2uiRow.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiRow.js +2 -0
- package/dist/a2ui/components/MPA2uiSlider.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiSlider.js +2 -0
- package/dist/a2ui/components/MPA2uiTabs.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiTabs.js +2 -0
- package/dist/a2ui/components/MPA2uiText.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiText.js +2 -0
- package/dist/a2ui/components/MPA2uiTextField.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiTextField.js +2 -0
- package/dist/a2ui/components/MPA2uiVideo.d.ts +1 -0
- package/dist/a2ui/components/MPA2uiVideo.js +2 -0
- package/dist/a2ui/extended/MPA2uiBarChart.d.ts +1 -0
- package/dist/a2ui/extended/MPA2uiBarChart.js +2 -0
- package/dist/a2ui/extended/MPA2uiDataTable.d.ts +1 -0
- package/dist/a2ui/extended/MPA2uiDataTable.js +2 -0
- package/dist/a2ui/extended/MPA2uiLineChart.d.ts +1 -0
- package/dist/a2ui/extended/MPA2uiLineChart.js +2 -0
- package/dist/a2ui/extended/MPA2uiPieChart.d.ts +1 -0
- package/dist/a2ui/extended/MPA2uiPieChart.js +2 -0
- package/dist/a2ui/extended/MPA2uiStatistic.d.ts +1 -0
- package/dist/a2ui/extended/MPA2uiStatistic.js +2 -0
- package/dist/a2ui/extended/api.d.ts +1436 -0
- package/dist/a2ui/extended/api.js +1 -0
- package/dist/a2ui/extended/chart.d.ts +26 -0
- package/dist/a2ui/extended/chart.js +1 -0
- package/dist/a2ui/index.d.ts +103 -0
- package/dist/a2ui/index.js +1 -0
- package/dist/a2ui/internal/children.d.ts +28 -0
- package/dist/a2ui/internal/children.js +1 -0
- package/dist/a2ui/internal/common.d.ts +113 -0
- package/dist/a2ui/internal/common.js +1 -0
- package/dist/a2ui/internal/icons.d.ts +3 -0
- package/dist/a2ui/internal/icons.js +1 -0
- package/dist/components/accordion/MPAccordion.d.ts +13 -0
- package/dist/components/accordion/MPAccordion.js +1 -1
- package/dist/components/accordion/index.d.ts +1 -1
- package/dist/components/alert/MPAlert.d.ts +1 -1
- package/dist/components/animate-counter/MPAnimateCounter.js +1 -1
- package/dist/components/animate-grow/MPAnimateGrow.d.ts +1 -1
- package/dist/components/animate-headline/MPAnimateHeadline.d.ts +8 -0
- package/dist/components/animate-headline/MPAnimateHeadline.js +1 -1
- package/dist/components/animate-lighting/MPAnimateLighting.js +1 -1
- package/dist/components/animate-marquee/MPAnimateMarquee.js +1 -1
- package/dist/components/animate-scramble/MPAnimateScramble.d.ts +8 -0
- package/dist/components/animate-scramble/MPAnimateScramble.js +1 -1
- package/dist/components/animate-slide/MPAnimateSlide.d.ts +1 -1
- package/dist/components/animate-split/MPAnimateSplit.d.ts +8 -0
- package/dist/components/animate-split/MPAnimateSplit.js +1 -1
- package/dist/components/animate-typing/MPAnimateTyping.d.ts +10 -2
- package/dist/components/animate-typing/MPAnimateTyping.js +1 -1
- package/dist/components/animate-zoom/MPAnimateZoom.d.ts +2 -2
- package/dist/components/app-logo/MPAppLogo.d.ts +6 -1
- package/dist/components/area-chart/MPAreaChart.d.ts +18 -3
- package/dist/components/area-chart/MPAreaChart.js +1 -1
- package/dist/components/avatar/MPAvatar.d.ts +17 -1
- package/dist/components/avatar/MPAvatar.js +1 -1
- package/dist/components/bar-chart/MPBarChart.d.ts +15 -5
- package/dist/components/bar-chart/MPBarChart.js +1 -1
- package/dist/components/blockquote/MPBlockquote.d.ts +1 -1
- package/dist/components/box/MPBox.d.ts +1 -1
- package/dist/components/breadcrumb/MPBreadcrumb.d.ts +8 -0
- package/dist/components/breadcrumb/MPBreadcrumb.js +1 -1
- package/dist/components/carousel/MPCarousel.js +1 -1
- package/dist/components/checkbox/MPCheckbox.js +1 -1
- package/dist/components/chip/MPChip.d.ts +1 -1
- package/dist/components/code-block/MPCodeBlock.js +1 -1
- package/dist/components/combobox/MPCombobox.js +1 -1
- package/dist/components/command-palette/MPCommandPalette.js +1 -1
- package/dist/components/config/MPConfigProvider.d.ts +17 -1
- package/dist/components/config/MPConfigProvider.js +1 -1
- package/dist/components/confirm/MPConfirmProvider.js +1 -1
- package/dist/components/data-table/MPDataTable.d.ts +0 -34
- package/dist/components/data-table/MPDataTable.js +1 -1
- package/dist/components/date-range-picker/MPDateRangePicker.js +1 -1
- package/dist/components/drawer/MPDrawer.d.ts +13 -1
- package/dist/components/drawer/MPDrawer.js +1 -1
- package/dist/components/empty/MPEmpty.d.ts +1 -1
- package/dist/components/file-picker/MPFilePicker.js +1 -1
- package/dist/components/form/MPForm.d.ts +3 -0
- package/dist/components/form/MPForm.js +1 -1
- package/dist/components/gauge-chart/MPGaugeChart.js +1 -1
- package/dist/components/header/MPHeader.js +1 -1
- package/dist/components/heatmap-chart/MPHeatmapChart.d.ts +12 -3
- package/dist/components/heatmap-chart/MPHeatmapChart.js +1 -1
- package/dist/components/image/MPImage.d.ts +5 -0
- package/dist/components/image/MPImage.js +1 -1
- package/dist/components/line-chart/MPLineChart.d.ts +20 -2
- package/dist/components/line-chart/MPLineChart.js +1 -1
- package/dist/components/locale/MPLocaleProvider.d.ts +15 -30
- package/dist/components/locale/MPLocaleProvider.js +1 -1
- package/dist/components/menu/MPMenu.d.ts +9 -1
- package/dist/components/menu/MPMenu.js +1 -1
- package/dist/components/meter/MPMeter.d.ts +5 -0
- package/dist/components/meter/MPMeter.js +1 -1
- package/dist/components/mockup/MPMockup.js +1 -1
- package/dist/components/navigation-menu/MPNavigationMenu.d.ts +27 -1
- package/dist/components/navigation-menu/MPNavigationMenu.js +1 -1
- package/dist/components/number-field/MPNumberField.d.ts +2 -1
- package/dist/components/number-field/MPNumberField.js +1 -1
- package/dist/components/otp-field/MPOtpField.js +1 -1
- package/dist/components/page-layout/MPPageLayout.js +1 -1
- package/dist/components/pagination/MPPagination.d.ts +8 -0
- package/dist/components/pagination/MPPagination.js +1 -1
- package/dist/components/panes/MPPanes.js +1 -1
- package/dist/components/pie-chart/MPPieChart.d.ts +23 -1
- package/dist/components/pie-chart/MPPieChart.js +1 -1
- package/dist/components/pill/MPPill.js +1 -1
- package/dist/components/progress-box/MPProgressBox.js +1 -1
- package/dist/components/progress-circular/MPProgressCircular.js +1 -1
- package/dist/components/progress-linear/MPProgressLinear.js +1 -1
- package/dist/components/radio-group/MPRadioGroup.js +1 -1
- package/dist/components/scatter-chart/MPScatterChart.d.ts +5 -1
- package/dist/components/scatter-chart/MPScatterChart.js +1 -1
- package/dist/components/sidebar/MPSidebar.d.ts +11 -0
- package/dist/components/sidebar/MPSidebar.js +1 -1
- package/dist/components/slider/MPSlider.d.ts +5 -0
- package/dist/components/slider/MPSlider.js +1 -1
- package/dist/components/snackbar/MPSnackbar.js +1 -1
- package/dist/components/sparkline/MPSparkline.d.ts +14 -1
- package/dist/components/sparkline/MPSparkline.js +1 -1
- package/dist/components/switch/MPSwitch.js +1 -1
- package/dist/components/tabs/MPTabs.js +1 -1
- package/dist/components/text-field/MPTextField.js +1 -1
- package/dist/components/timeline-chart/MPTimelineChart.d.ts +6 -2
- package/dist/components/timeline-chart/MPTimelineChart.js +1 -1
- package/dist/components/tour/MPTour.js +1 -1
- package/dist/components/transfer/MPTransfer.js +1 -1
- package/dist/components/tree-select/MPTreeSelect.js +1 -1
- package/dist/components/tree-view/MPTreeView.d.ts +8 -0
- package/dist/components/tree-view/MPTreeView.js +1 -1
- package/dist/components/typography/MPTypography.d.ts +1 -1
- package/dist/hooks/index.d.ts +4 -2
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/mpColorSchemeScript.d.ts +46 -0
- package/dist/hooks/mpColorSchemeScript.js +1 -0
- package/dist/hooks/useMPColorScheme.d.ts +2 -47
- package/dist/hooks/useMPColorScheme.js +1 -1
- package/dist/hooks/useMPMediaQuery.js +1 -1
- package/dist/hooks/useMPOnScreen.js +1 -1
- package/dist/internal/Calendar.js +1 -1
- package/dist/internal/ChartChrome.d.ts +73 -14
- package/dist/internal/ChartChrome.js +1 -1
- package/dist/internal/ChartFrame.d.ts +24 -4
- package/dist/internal/ChartFrame.js +1 -1
- package/dist/internal/FieldOutline.d.ts +9 -1
- package/dist/internal/FieldOutline.js +1 -1
- package/dist/internal/RenderedLink.d.ts +20 -0
- package/dist/internal/RenderedLink.js +2 -0
- package/dist/internal/SupportingText.js +1 -1
- package/dist/internal/animate.d.ts +4 -0
- package/dist/internal/animate.js +1 -1
- package/dist/internal/box-size.d.ts +22 -0
- package/dist/internal/box-size.js +2 -0
- package/dist/internal/chart.d.ts +111 -13
- package/dist/internal/chart.js +1 -1
- package/dist/internal/color-scheme-keys.d.ts +13 -0
- package/dist/internal/color-scheme-keys.js +1 -0
- package/dist/internal/color-scheme.d.ts +11 -2
- package/dist/internal/color-scheme.js +1 -1
- package/dist/internal/config.d.ts +2 -0
- package/dist/internal/date.d.ts +2 -8
- package/dist/internal/date.js +1 -1
- package/dist/internal/highlight.js +1 -1
- package/dist/internal/i18n.d.ts +4 -53
- package/dist/internal/i18n.js +1 -1
- package/dist/internal/intersection.d.ts +50 -0
- package/dist/internal/intersection.js +2 -0
- package/dist/internal/intl.d.ts +22 -21
- package/dist/internal/intl.js +1 -1
- package/dist/internal/keys.d.ts +0 -9
- package/dist/internal/keys.js +1 -1
- package/dist/internal/layout-effect.d.ts +7 -0
- package/dist/internal/layout-effect.js +2 -0
- package/dist/internal/locale.d.ts +10 -2
- package/dist/internal/media.d.ts +1 -0
- package/dist/internal/media.js +1 -0
- package/dist/internal/messages/chart.d.ts +1 -1
- package/dist/internal/messages/chart.js +1 -1
- package/dist/internal/occurrence.d.ts +18 -0
- package/dist/internal/occurrence.js +1 -0
- package/dist/internal/page-layout.js +1 -1
- package/dist/internal/progress.d.ts +5 -0
- package/dist/internal/ref.d.ts +9 -0
- package/dist/internal/ref.js +1 -0
- package/dist/internal/remember.d.ts +36 -0
- package/dist/internal/remember.js +1 -0
- package/dist/internal/surface.d.ts +7 -1
- package/dist/internal/surface.js +1 -1
- package/dist/internal/text.d.ts +10 -4
- package/dist/internal/text.js +1 -1
- package/dist/internal/window-class.d.ts +8 -0
- package/dist/internal/window-class.js +1 -1
- package/dist/locales/ar.js +1 -1
- package/dist/locales/de.js +1 -1
- package/dist/locales/es.js +1 -1
- package/dist/locales/fr.js +1 -1
- package/dist/locales/hi.js +1 -1
- package/dist/locales/id.js +1 -1
- package/dist/locales/it.js +1 -1
- package/dist/locales/ja.js +1 -1
- package/dist/locales/ko.js +1 -1
- package/dist/locales/nl.js +1 -1
- package/dist/locales/pl.js +1 -1
- package/dist/locales/pt.js +1 -1
- package/dist/locales/ru.js +1 -1
- package/dist/locales/th.js +1 -1
- package/dist/locales/tr.js +1 -1
- package/dist/locales/vi.js +1 -1
- package/dist/locales/zh-hans.js +1 -1
- package/dist/locales/zh-hant.js +1 -1
- package/dist/styles/accordion.css +1 -1
- package/dist/styles/alert.css +1 -1
- package/dist/styles/animate-appear.css +1 -1
- package/dist/styles/animate-blink.css +1 -1
- package/dist/styles/animate-counter.css +1 -1
- package/dist/styles/animate-fade.css +1 -1
- package/dist/styles/animate-float.css +1 -1
- package/dist/styles/animate-grow.css +1 -1
- package/dist/styles/animate-headline.css +1 -1
- package/dist/styles/animate-lighting.css +1 -1
- package/dist/styles/animate-marquee.css +1 -1
- package/dist/styles/animate-reveal.css +1 -1
- package/dist/styles/animate-rotate.css +1 -1
- package/dist/styles/animate-scramble.css +1 -1
- package/dist/styles/animate-shake.css +1 -1
- package/dist/styles/animate-slide.css +1 -1
- package/dist/styles/animate-split.css +1 -1
- package/dist/styles/animate-typing.css +1 -1
- package/dist/styles/animate-zoom.css +1 -1
- package/dist/styles/area-chart.css +1 -1
- package/dist/styles/avatar.css +1 -1
- package/dist/styles/bar-chart.css +1 -1
- package/dist/styles/blockquote.css +1 -1
- package/dist/styles/box.css +1 -1
- package/dist/styles/breadcrumb.css +1 -1
- package/dist/styles/calendar.css +1 -1
- package/dist/styles/card.css +1 -1
- package/dist/styles/carousel.css +1 -1
- package/dist/styles/checkbox.css +1 -1
- package/dist/styles/chip.css +1 -1
- package/dist/styles/collapsible.css +1 -1
- package/dist/styles/color-picker.css +1 -1
- package/dist/styles/combobox.css +1 -1
- package/dist/styles/command-palette.css +1 -1
- package/dist/styles/confirm.css +1 -1
- package/dist/styles/data-table.css +1 -1
- package/dist/styles/date-picker.css +1 -1
- package/dist/styles/date-range-picker.css +1 -1
- package/dist/styles/date-time-picker.css +1 -1
- package/dist/styles/dialog.css +1 -1
- package/dist/styles/drawer.css +1 -1
- package/dist/styles/empty.css +1 -1
- package/dist/styles/floating-bottom-navigation.css +1 -1
- package/dist/styles/footer.css +1 -1
- package/dist/styles/gauge-chart.css +1 -1
- package/dist/styles/header.css +1 -1
- package/dist/styles/heatmap-chart.css +1 -1
- package/dist/styles/highlight.css +1 -1
- package/dist/styles/hover-card.css +1 -1
- package/dist/styles/image.css +1 -1
- package/dist/styles/line-chart.css +1 -1
- package/dist/styles/list.css +1 -1
- package/dist/styles/menu.css +1 -1
- package/dist/styles/menubar.css +1 -1
- package/dist/styles/meter.css +1 -1
- package/dist/styles/navigation-menu.css +1 -1
- package/dist/styles/number-field.css +1 -1
- package/dist/styles/otp-field.css +1 -1
- package/dist/styles/overlay.css +1 -1
- package/dist/styles/page-layout.css +1 -1
- package/dist/styles/pie-chart.css +1 -1
- package/dist/styles/pill.css +1 -1
- package/dist/styles/popconfirm.css +1 -1
- package/dist/styles/popover.css +1 -1
- package/dist/styles/progress-box.css +1 -1
- package/dist/styles/progress-circular.css +1 -1
- package/dist/styles/progress-linear.css +1 -1
- package/dist/styles/radio-group.css +1 -1
- package/dist/styles/scatter-chart.css +1 -1
- package/dist/styles/select.css +1 -1
- package/dist/styles/sidebar.css +1 -1
- package/dist/styles/slider.css +1 -1
- package/dist/styles/snackbar.css +1 -1
- package/dist/styles/sparkline.css +1 -1
- package/dist/styles/spoiler.css +1 -1
- package/dist/styles/stack.css +1 -1
- package/dist/styles/statistic.css +1 -1
- package/dist/styles/switch.css +1 -1
- package/dist/styles/table.css +1 -1
- package/dist/styles/tabs.css +1 -1
- package/dist/styles/text-field.css +1 -1
- package/dist/styles/time-picker.css +1 -1
- package/dist/styles/timeline-chart.css +1 -1
- package/dist/styles/tokens.css +1 -1
- package/dist/styles/toolbar.css +1 -1
- package/dist/styles/tour.css +1 -1
- package/dist/styles/transfer.css +1 -1
- package/dist/styles/tree-select.css +1 -1
- package/dist/styles/tree-view.css +1 -1
- package/dist/styles/typography.css +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +116 -4
- package/dist/types.d.ts +208 -1
- package/package.json +25 -4
package/dist/tailwind.css
CHANGED
|
@@ -95,6 +95,27 @@
|
|
|
95
95
|
* Only the *derived* colours need it. Everything else here is a literal value
|
|
96
96
|
* with no `var()` to freeze, so plain inheritance from `:root` is enough.
|
|
97
97
|
*
|
|
98
|
+
* ## Why `*` and `::backdrop`, but not `::before` and `::after`
|
|
99
|
+
*
|
|
100
|
+
* The rule reaches every element of the page it is loaded into, not only the
|
|
101
|
+
* ones this library rendered, so what it costs per element is a cost to the
|
|
102
|
+
* whole page. A `::before` or `::after` in the selector multiplies it: a
|
|
103
|
+
* browser has to resolve both pseudo-elements of every element on the page to
|
|
104
|
+
* find out whether either one draws anything, and resolving each one means
|
|
105
|
+
* substituting all of the roles below again.
|
|
106
|
+
*
|
|
107
|
+
* Neither needs its own copy. A `::before` and an `::after` inherit from the
|
|
108
|
+
* element they belong to, which already holds the roles as resolved where it
|
|
109
|
+
* sits, and nothing sets a source colour, a tone stop or a role on a
|
|
110
|
+
* pseudo-element — so the copy they would compute is the copy they inherit.
|
|
111
|
+
* `::placeholder` and `::marker` have always been read this way. `::backdrop`
|
|
112
|
+
* stays, because before 2024 it inherited from nothing at all.
|
|
113
|
+
*
|
|
114
|
+
* Measured on a plain page of 1,430 elements with nothing of this library on
|
|
115
|
+
* it, the first style pass took 164ms in WebKit with the pseudo-elements in the
|
|
116
|
+
* selector and 21ms without them, against 9ms with no stylesheet at all;
|
|
117
|
+
* Firefox went from 68ms to 26ms. iOS runs every browser on WebKit.
|
|
118
|
+
*
|
|
98
119
|
* The computed results are `--_mp-*`: private, read by the components, and not
|
|
99
120
|
* a name to set. Material Web marks its own internal tokens the same way. The
|
|
100
121
|
* indirection is load-bearing — it is what keeps a consumer's
|
|
@@ -530,8 +551,6 @@
|
|
|
530
551
|
* passes the edge by less than 4% of one channel.
|
|
531
552
|
*/
|
|
532
553
|
*,
|
|
533
|
-
::before,
|
|
534
|
-
::after,
|
|
535
554
|
::backdrop {
|
|
536
555
|
/*
|
|
537
556
|
* The grey each accent tone sits on, in linear light: an OKLCh lightness
|
|
@@ -2045,8 +2064,6 @@
|
|
|
2045
2064
|
}
|
|
2046
2065
|
|
|
2047
2066
|
*,
|
|
2048
|
-
::before,
|
|
2049
|
-
::after,
|
|
2050
2067
|
::backdrop {
|
|
2051
2068
|
--_mp-color-primary: var(
|
|
2052
2069
|
--mp-sys-color-primary,
|
|
@@ -3849,6 +3866,21 @@
|
|
|
3849
3866
|
}
|
|
3850
3867
|
}
|
|
3851
3868
|
|
|
3869
|
+
/*
|
|
3870
|
+
* And the same for a page read without JavaScript.
|
|
3871
|
+
*
|
|
3872
|
+
* An entrance waiting for `trigger="visible"`, `manual` or `hover` sits paused
|
|
3873
|
+
* on its first frame until script starts it, and with no script that is
|
|
3874
|
+
* forever: the content was in the markup and drawn at `opacity: 0`, invisible
|
|
3875
|
+
* to the reader and present for nobody but a crawler. With scripting off the
|
|
3876
|
+
* entrance is dropped and the content shown, which is what it was carrying.
|
|
3877
|
+
*/
|
|
3878
|
+
@media (scripting: none) {
|
|
3879
|
+
.mp-anim {
|
|
3880
|
+
animation: none;
|
|
3881
|
+
}
|
|
3882
|
+
}
|
|
3883
|
+
|
|
3852
3884
|
/*
|
|
3853
3885
|
* Lighting: a light travelling around the outside of something.
|
|
3854
3886
|
*
|
|
@@ -3917,6 +3949,23 @@
|
|
|
3917
3949
|
}
|
|
3918
3950
|
}
|
|
3919
3951
|
|
|
3952
|
+
/*
|
|
3953
|
+
* The endless loops, held while they are off screen.
|
|
3954
|
+
*
|
|
3955
|
+
* `data-mp-offscreen` is written by the component while its element is out of
|
|
3956
|
+
* the viewport. A loop nobody can see is still one the browser runs — a style
|
|
3957
|
+
* pass a frame for the glow's angle, and a layout pass a frame for the linear
|
|
3958
|
+
* indicator, whose bars move by `inset`. Paused, each carries on from where it
|
|
3959
|
+
* stopped when it comes back, which for a loop is no difference at all.
|
|
3960
|
+
*/
|
|
3961
|
+
.mp-anim-lighting[data-mp-offscreen]::before,
|
|
3962
|
+
.mp-progress-linear[data-mp-offscreen] .mp-progress-linear-lead,
|
|
3963
|
+
.mp-progress-linear[data-mp-offscreen] .mp-progress-linear-trail,
|
|
3964
|
+
.mp-progress-circular[data-mp-offscreen] .mp-progress-circular-turn,
|
|
3965
|
+
.mp-progress-circular[data-mp-offscreen] .mp-progress-circular-arc {
|
|
3966
|
+
animation-play-state: paused;
|
|
3967
|
+
}
|
|
3968
|
+
|
|
3920
3969
|
/*
|
|
3921
3970
|
* Marquee: two identical copies, both moving by exactly one copy plus the gap.
|
|
3922
3971
|
*
|
|
@@ -4469,3 +4518,66 @@
|
|
|
4469
4518
|
inline-size: calc(var(--_mp-tree-indent) / 2 - 2px);
|
|
4470
4519
|
border-block-start: 1px solid var(--_mp-color-outline-variant);
|
|
4471
4520
|
}
|
|
4521
|
+
|
|
4522
|
+
/* ---------------------------------------------------------------------------
|
|
4523
|
+
* A fixed header's room, before the layout has measured it
|
|
4524
|
+
*
|
|
4525
|
+
* `MPPageLayout` keeps a fixed `MPHeader` from covering the top of the page by
|
|
4526
|
+
* measuring the bar and padding the page by its height. The measurement is an
|
|
4527
|
+
* effect, so on a server-rendered page the content was drawn under the bar and
|
|
4528
|
+
* then pushed down by its height once the page had hydrated — a layout shift
|
|
4529
|
+
* of a whole header's worth, on every page with one.
|
|
4530
|
+
*
|
|
4531
|
+
* These give the padding a first answer that needs no script: a fixed bar's
|
|
4532
|
+
* height is its size's rung on the ladder, plus a pixel for the rule an
|
|
4533
|
+
* `outlined` one draws under itself. The measurement still wins the moment it
|
|
4534
|
+
* arrives, and it then moves nothing unless the bar's content made it taller
|
|
4535
|
+
* than its rung. Only a bar that is the layout's own header is counted — the
|
|
4536
|
+
* slot it sits in when the header spans the page, or the content column's when
|
|
4537
|
+
* it does not — so a layout nested inside another does not answer for it.
|
|
4538
|
+
*
|
|
4539
|
+
* In a browser without `:has()` there is no first answer, which is how every
|
|
4540
|
+
* browser behaved before.
|
|
4541
|
+
* ------------------------------------------------------------------------- */
|
|
4542
|
+
|
|
4543
|
+
.mp-page-layout:is(
|
|
4544
|
+
:has(> .mp-header[data-mp-position='fixed'][data-mp-variant='outlined']),
|
|
4545
|
+
:has(> div > div > .mp-header[data-mp-position='fixed'][data-mp-variant='outlined'])
|
|
4546
|
+
) {
|
|
4547
|
+
--_mp-layout-header-rule: 1px;
|
|
4548
|
+
}
|
|
4549
|
+
|
|
4550
|
+
.mp-page-layout:is(
|
|
4551
|
+
:has(> .mp-header[data-mp-position='fixed'][data-mp-size='xs']),
|
|
4552
|
+
:has(> div > div > .mp-header[data-mp-position='fixed'][data-mp-size='xs'])
|
|
4553
|
+
) {
|
|
4554
|
+
--_mp-layout-header-seed: calc(3rem + var(--_mp-layout-header-rule, 0px));
|
|
4555
|
+
}
|
|
4556
|
+
|
|
4557
|
+
.mp-page-layout:is(
|
|
4558
|
+
:has(> .mp-header[data-mp-position='fixed'][data-mp-size='sm']),
|
|
4559
|
+
:has(> div > div > .mp-header[data-mp-position='fixed'][data-mp-size='sm'])
|
|
4560
|
+
) {
|
|
4561
|
+
--_mp-layout-header-seed: calc(3.5rem + var(--_mp-layout-header-rule, 0px));
|
|
4562
|
+
}
|
|
4563
|
+
|
|
4564
|
+
.mp-page-layout:is(
|
|
4565
|
+
:has(> .mp-header[data-mp-position='fixed'][data-mp-size='md']),
|
|
4566
|
+
:has(> div > div > .mp-header[data-mp-position='fixed'][data-mp-size='md'])
|
|
4567
|
+
) {
|
|
4568
|
+
--_mp-layout-header-seed: calc(4rem + var(--_mp-layout-header-rule, 0px));
|
|
4569
|
+
}
|
|
4570
|
+
|
|
4571
|
+
.mp-page-layout:is(
|
|
4572
|
+
:has(> .mp-header[data-mp-position='fixed'][data-mp-size='lg']),
|
|
4573
|
+
:has(> div > div > .mp-header[data-mp-position='fixed'][data-mp-size='lg'])
|
|
4574
|
+
) {
|
|
4575
|
+
--_mp-layout-header-seed: calc(5rem + var(--_mp-layout-header-rule, 0px));
|
|
4576
|
+
}
|
|
4577
|
+
|
|
4578
|
+
.mp-page-layout:is(
|
|
4579
|
+
:has(> .mp-header[data-mp-position='fixed'][data-mp-size='xl']),
|
|
4580
|
+
:has(> div > div > .mp-header[data-mp-position='fixed'][data-mp-size='xl'])
|
|
4581
|
+
) {
|
|
4582
|
+
--_mp-layout-header-seed: calc(6rem + var(--_mp-layout-header-rule, 0px));
|
|
4583
|
+
}
|
package/dist/types.d.ts
CHANGED
|
@@ -309,8 +309,70 @@ export interface MPTimelineSeries {
|
|
|
309
309
|
/** Overrides the palette slot this row would otherwise take. */
|
|
310
310
|
color?: MPColor | (string & {});
|
|
311
311
|
}
|
|
312
|
+
/**
|
|
313
|
+
* How the series of a stacking chart are piled up.
|
|
314
|
+
*
|
|
315
|
+
* - `false` — side by side, or overlapping. The parts are compared with each
|
|
316
|
+
* other.
|
|
317
|
+
* - `true` — on each other, so the far edge is the total. The totals are
|
|
318
|
+
* compared and the parts make them up.
|
|
319
|
+
* - `'percent'` — on each other and normalised, so every column is full. The
|
|
320
|
+
* **composition** is compared and the totals are gone from the picture.
|
|
321
|
+
*
|
|
322
|
+
* A percent stack answers "what is this made of" and refuses to answer "how
|
|
323
|
+
* much of it is there", which is the trade it makes and the reason it is a
|
|
324
|
+
* third setting rather than a flag on the second. Two columns of wildly
|
|
325
|
+
* different size are drawn identically, so the total belongs somewhere else on
|
|
326
|
+
* the page — a figure beside the chart, or a second chart.
|
|
327
|
+
*
|
|
328
|
+
* A negative has no share of a whole, so a percent stack leaves it out the way
|
|
329
|
+
* `MPPieChart` does. The table behind the chart still has the number.
|
|
330
|
+
*/
|
|
331
|
+
export type MPChartStack = boolean | 'percent';
|
|
312
332
|
/** How a line gets from one point to the next. */
|
|
313
333
|
export type MPChartCurve = 'linear' | 'smooth' | 'step';
|
|
334
|
+
/**
|
|
335
|
+
* What a line or an area does where a series has no value.
|
|
336
|
+
*
|
|
337
|
+
* - `break` — the line stops and starts again on the far side. The default,
|
|
338
|
+
* because a straight run through values nobody has is the one kind of
|
|
339
|
+
* invented data a reader never questions: it looks exactly like the rest of
|
|
340
|
+
* the line.
|
|
341
|
+
* - `connect` — the two sides are joined, and the joining run is drawn
|
|
342
|
+
* **dashed** so the picture still says which part of it was measured. An
|
|
343
|
+
* area's fill closes across the gap as well.
|
|
344
|
+
* - `zero` — the missing reading is drawn at zero, and the value axis is
|
|
345
|
+
* widened to hold it. Right where a gap really does mean "none of it
|
|
346
|
+
* happened", and wrong where it means "nobody was counting".
|
|
347
|
+
*
|
|
348
|
+
* Only the drawing changes. The hover panel and the table behind the chart
|
|
349
|
+
* still report a gap as a gap, whichever of the three is chosen, because they
|
|
350
|
+
* are the copy of the data a reader gets when they need the number itself.
|
|
351
|
+
*/
|
|
352
|
+
export type MPChartGaps = 'break' | 'connect' | 'zero';
|
|
353
|
+
/**
|
|
354
|
+
* What an axis does with a tick label too wide for the room it has.
|
|
355
|
+
*
|
|
356
|
+
* - `auto` — leaves the labels flat while they fit and turns them when they do
|
|
357
|
+
* not. The default, because flat labels are what a reader takes in fastest
|
|
358
|
+
* and a name cut to "Onbo…" has lost the thing it was there to say.
|
|
359
|
+
* - `truncate` — cuts a long label with an ellipsis and never turns anything.
|
|
360
|
+
* - `rotate` — turns every label 45°.
|
|
361
|
+
* - `vertical` — stands every label on end.
|
|
362
|
+
*
|
|
363
|
+
* The last two turn **all** of the labels rather than only the long ones: a row
|
|
364
|
+
* at two different angles is a row a reader has to scan twice.
|
|
365
|
+
*
|
|
366
|
+
* Only the axis along the **bottom** reads it. Labels stacked up the side
|
|
367
|
+
* already have a row each, which is the room a turn would be buying them.
|
|
368
|
+
*
|
|
369
|
+
* And `auto` turns names rather than ticks. A value axis is a ruler, so showing
|
|
370
|
+
* every nth of its labels loses nothing a reader cannot interpolate; where the
|
|
371
|
+
* bottom of a chart is one — a bar chart on its side, a scatter — `auto` leaves
|
|
372
|
+
* it striding. `rotate` and `vertical` still apply there when they are asked
|
|
373
|
+
* for by name.
|
|
374
|
+
*/
|
|
375
|
+
export type MPChartTickLabels = 'auto' | 'truncate' | 'rotate' | 'vertical';
|
|
314
376
|
/**
|
|
315
377
|
* Which values are written onto the marks themselves.
|
|
316
378
|
*
|
|
@@ -320,6 +382,20 @@ export type MPChartCurve = 'linear' | 'smooth' | 'step';
|
|
|
320
382
|
* `all` is there for the eight-bar chart where it genuinely is the answer.
|
|
321
383
|
*/
|
|
322
384
|
export type MPChartValueLabels = 'none' | 'last' | 'extremes' | 'all';
|
|
385
|
+
/**
|
|
386
|
+
* What ink a chart writes the text naming a series in.
|
|
387
|
+
*
|
|
388
|
+
* `'ink'` is `on-surface-variant` — one colour for every name, whichever mark
|
|
389
|
+
* it belongs to. `'series'` matches the name to its mark, which pairs a long
|
|
390
|
+
* legend with a crowded plot faster than a swatch alone can.
|
|
391
|
+
*
|
|
392
|
+
* The trade is contrast. The eight palette slots are fitted to 3:1 against the
|
|
393
|
+
* surface, which is the bar a **mark** has to clear; small text is held to
|
|
394
|
+
* 4.5:1, and a series colour does not reach it. So the swatch carries the
|
|
395
|
+
* colour by default and the word stays legible, and this is the caller saying
|
|
396
|
+
* their chart is better off the other way round.
|
|
397
|
+
*/
|
|
398
|
+
export type MPChartLabelColor = 'ink' | 'series';
|
|
323
399
|
/**
|
|
324
400
|
* What the pointer uncovers.
|
|
325
401
|
*
|
|
@@ -348,13 +424,42 @@ export interface MPChartTooltipItem {
|
|
|
348
424
|
export interface MPChartTooltipContext {
|
|
349
425
|
index: number;
|
|
350
426
|
category: MPChartCategory;
|
|
351
|
-
/** Only the series that are visible and have a value here. */
|
|
427
|
+
/** Only the series that are visible and have a value here, in `sort`'s order. */
|
|
352
428
|
items: readonly MPChartTooltipItem[];
|
|
429
|
+
/** What they add up to, where the chart is a picture of that sum. */
|
|
430
|
+
total?: string;
|
|
353
431
|
}
|
|
432
|
+
/**
|
|
433
|
+
* What order the rows of a hover panel come in.
|
|
434
|
+
*
|
|
435
|
+
* - `series` — the order they were passed, which is the order the legend lists
|
|
436
|
+
* them in and the order the colours were handed out in. A reader who has
|
|
437
|
+
* learned the legend can find a row without reading it.
|
|
438
|
+
* - `value` — largest first. What a chart of eight series wants: the row a
|
|
439
|
+
* reader is looking for is usually the big one, and hunting for it down a
|
|
440
|
+
* list in a fixed order is the work the panel exists to save.
|
|
441
|
+
*
|
|
442
|
+
* Neither is right for every chart, which is why there is a prop. Ties keep
|
|
443
|
+
* their series order, so a panel never reorders itself over nothing.
|
|
444
|
+
*/
|
|
445
|
+
export type MPChartTooltipSort = 'series' | 'value';
|
|
354
446
|
/** The hover layer, where `true` and `false` are not enough. */
|
|
355
447
|
export interface MPChartTooltip {
|
|
356
448
|
/** @default 'index', or 'item' where the marks are not arranged in columns */
|
|
357
449
|
mode?: MPChartTooltipMode;
|
|
450
|
+
/** @default 'series' */
|
|
451
|
+
sort?: MPChartTooltipSort;
|
|
452
|
+
/**
|
|
453
|
+
* Adds a row for what the column adds up to.
|
|
454
|
+
*
|
|
455
|
+
* On by default where the chart **is** that total — a stack, whose whole
|
|
456
|
+
* point is the height of the column — and off everywhere else. A percent
|
|
457
|
+
* stack is left out of that: its total is 100% at every category, and a row
|
|
458
|
+
* that says the same thing four times is a row nobody reads. An unstacked
|
|
459
|
+
* chart is off because its series are not parts of anything, and adding them
|
|
460
|
+
* up would be the panel inventing a quantity.
|
|
461
|
+
*/
|
|
462
|
+
total?: boolean;
|
|
358
463
|
/**
|
|
359
464
|
* The line dropped through the plot at the active category. On in `index`
|
|
360
465
|
* mode and never drawn in `item` mode: a crosshair says "these numbers all
|
|
@@ -402,12 +507,114 @@ export interface MPChartAxis {
|
|
|
402
507
|
tickCount?: number;
|
|
403
508
|
/** How a tick is written, overriding the chart's own `format`. */
|
|
404
509
|
tickFormat?: (value: MPChartCategory, index: number) => React.ReactNode;
|
|
510
|
+
/**
|
|
511
|
+
* What to do with a label too wide for the room it has: cut it, or turn it.
|
|
512
|
+
*
|
|
513
|
+
* Read by the axis along the **bottom** only — the category axis on an
|
|
514
|
+
* upright chart, and the value axis on one turned on its side. Labels down
|
|
515
|
+
* the left already have a row each.
|
|
516
|
+
* @default 'auto'
|
|
517
|
+
*/
|
|
518
|
+
tickLabels?: MPChartTickLabels;
|
|
405
519
|
/**
|
|
406
520
|
* How much room it keeps for its ticks and its label, in pixels. Measured off
|
|
407
521
|
* the ticks themselves otherwise. Set it when a long category name needs
|
|
408
522
|
* more, or when two charts stacked on a dashboard have to line their plots up.
|
|
409
523
|
*/
|
|
410
524
|
thickness?: number;
|
|
525
|
+
/**
|
|
526
|
+
* Lines and bands drawn across the plot at places on **this** axis' scale — a
|
|
527
|
+
* target, a threshold, the range a reading should stay inside.
|
|
528
|
+
*
|
|
529
|
+
* The scale is widened to hold them, because a target the plot is cropped
|
|
530
|
+
* above is a target nobody can see. Pin `min` or `max` to stop that.
|
|
531
|
+
*
|
|
532
|
+
* Read by an axis that has a scale: the value axis always, and the category
|
|
533
|
+
* axis where it runs on numbers rather than on names. A row of categories has
|
|
534
|
+
* no place between two of them for a line to be at.
|
|
535
|
+
*/
|
|
536
|
+
references?: readonly MPChartReference[];
|
|
537
|
+
}
|
|
538
|
+
/**
|
|
539
|
+
* A line drawn across the plot at a place on one of its scales, or a band where
|
|
540
|
+
* it has two ends.
|
|
541
|
+
*
|
|
542
|
+
* A target, a service level, the day a release went out, the range a reading is
|
|
543
|
+
* meant to stay inside. It is **not** data: it is a fact the reader brought
|
|
544
|
+
* with them, so it is drawn in the chrome's ink rather than out of the series
|
|
545
|
+
* palette, and a chart is never asked to invent one.
|
|
546
|
+
*
|
|
547
|
+
* The axis it is given to is the scale its `value` is on, which is also the
|
|
548
|
+
* axis it is drawn perpendicular to — a reference on the value axis of an
|
|
549
|
+
* upright chart is a horizontal line, and the same reference on a chart turned
|
|
550
|
+
* on its side is a vertical one.
|
|
551
|
+
*/
|
|
552
|
+
export interface MPChartReference {
|
|
553
|
+
/**
|
|
554
|
+
* Where it sits, on that axis' own scale. A `Date` on an axis of dates, which
|
|
555
|
+
* is the one place a reference is most often asked for — today, a release, a
|
|
556
|
+
* deadline.
|
|
557
|
+
*/
|
|
558
|
+
value: number | Date;
|
|
559
|
+
/**
|
|
560
|
+
* And where it ends, which makes it a **band** rather than a line: the range
|
|
561
|
+
* a reading should stay inside, the window something was down for.
|
|
562
|
+
*/
|
|
563
|
+
to?: number | Date;
|
|
564
|
+
/**
|
|
565
|
+
* What it is called, written at its own end of the line and read out with the
|
|
566
|
+
* chart. A line nobody can name is a line nobody can use.
|
|
567
|
+
*/
|
|
568
|
+
label?: React.ReactNode;
|
|
569
|
+
/**
|
|
570
|
+
* Which family it wears. An `MPColor`, or any CSS colour.
|
|
571
|
+
*
|
|
572
|
+
* The outline role by default, which is what keeps a reference reading as
|
|
573
|
+
* chrome rather than as another series. `error` is the one worth reaching
|
|
574
|
+
* for: a threshold somebody is watching is exactly what that role is for.
|
|
575
|
+
*/
|
|
576
|
+
color?: MPColor | (string & {});
|
|
577
|
+
/**
|
|
578
|
+
* Draws it dashed, so it cannot be mistaken for a gridline or a baseline.
|
|
579
|
+
* @default true
|
|
580
|
+
*/
|
|
581
|
+
dashed?: boolean;
|
|
582
|
+
}
|
|
583
|
+
/**
|
|
584
|
+
* Dragging a range out of a long category axis.
|
|
585
|
+
*
|
|
586
|
+
* What it is for is the chart with ninety points on it, where the shape of one
|
|
587
|
+
* week is inside a picture of a quarter. A reader drags across the plot, the
|
|
588
|
+
* chart redraws to what they picked, and the scale re-fits to it — so the
|
|
589
|
+
* window is a *chart of that range* rather than a magnified picture of the
|
|
590
|
+
* whole one.
|
|
591
|
+
*
|
|
592
|
+
* Everything follows the window: the value scale, the hover panel, the spoken
|
|
593
|
+
* readout and the table behind the picture. The table is what a reader who
|
|
594
|
+
* cannot see the plot is given **instead** of it, so a table still listing
|
|
595
|
+
* ninety points would be describing a chart that is not on the page.
|
|
596
|
+
*
|
|
597
|
+
* Only a chart whose categories are a row of slots takes it. A scatter has two
|
|
598
|
+
* value axes and no row to cut, and a pie has no axis at all.
|
|
599
|
+
*/
|
|
600
|
+
export interface MPChartZoom {
|
|
601
|
+
/**
|
|
602
|
+
* The range drawn, as a first and last **category index**, or `null` for all
|
|
603
|
+
* of them. Use with `onRangeChange` for a controlled window.
|
|
604
|
+
*/
|
|
605
|
+
range?: readonly [number, number] | null;
|
|
606
|
+
/** Where the window starts out. Ignored once `range` is given. */
|
|
607
|
+
defaultRange?: readonly [number, number] | null;
|
|
608
|
+
/** Called with what the reader dragged, and with `null` when they reset it. */
|
|
609
|
+
onRangeChange?: (range: readonly [number, number] | null) => void;
|
|
610
|
+
/**
|
|
611
|
+
* The fewest categories a drag may leave.
|
|
612
|
+
*
|
|
613
|
+
* Two, because a window of one category is not a chart of anything — there is
|
|
614
|
+
* no distance left in it for a line to have travelled.
|
|
615
|
+
* @default 2
|
|
616
|
+
*/
|
|
617
|
+
min?: number;
|
|
411
618
|
}
|
|
412
619
|
/** Where the legend sits, and what it does when it is used. */
|
|
413
620
|
export interface MPChartLegend {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "material-plus-ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.0",
|
|
4
4
|
"description": "A React component library written from the Material Design 3 specification and extended past it — wider versions of the components it names, and the charts, data table and command palette it does not. Built on Base UI and Tailwind CSS v4, themed with CSS custom properties so it coexists with an existing Material setup. ESM only, types included.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": [
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"url": "https://github.com/jooy2/material-plus-ui/issues"
|
|
19
19
|
},
|
|
20
20
|
"scripts": {
|
|
21
|
-
"build": "npm run format:fix && node scripts/clean-dist.mjs && tsc --project tsconfig.prod.json && node scripts/specify-imports.mjs && node scripts/annotate-pure.mjs && npm run minify && node scripts/mark-client.mjs && node scripts/build-styles.mjs && node scripts/build-split-styles.mjs && node scripts/measure-bundle.mjs",
|
|
21
|
+
"build": "npm run format:fix && node scripts/clean-dist.mjs && tsc --project tsconfig.prod.json && node scripts/specify-imports.mjs && node scripts/annotate-pure.mjs && npm run minify && node scripts/mark-client.mjs && node scripts/build-styles.mjs && node scripts/build-split-styles.mjs && node scripts/build-a2ui-catalog.mjs && node scripts/measure-bundle.mjs",
|
|
22
22
|
"lint": "eslint . --ext .js,.ts .",
|
|
23
23
|
"lint:fix": "eslint . --ext .js,.ts --fix .",
|
|
24
24
|
"minify": "terser-glob 'dist/**/*.js' --config-file terser.config.json",
|
|
@@ -59,6 +59,11 @@
|
|
|
59
59
|
"module": "./dist/hooks/index.js",
|
|
60
60
|
"default": "./dist/hooks/index.js"
|
|
61
61
|
},
|
|
62
|
+
"./a2ui": {
|
|
63
|
+
"types": "./dist/a2ui/index.d.ts",
|
|
64
|
+
"module": "./dist/a2ui/index.js",
|
|
65
|
+
"default": "./dist/a2ui/index.js"
|
|
66
|
+
},
|
|
62
67
|
"./components/*": {
|
|
63
68
|
"types": "./dist/components/*/index.d.ts",
|
|
64
69
|
"module": "./dist/components/*/index.js",
|
|
@@ -124,6 +129,8 @@
|
|
|
124
129
|
"composition"
|
|
125
130
|
],
|
|
126
131
|
"devDependencies": {
|
|
132
|
+
"@a2ui/react": "^0.11.1",
|
|
133
|
+
"@a2ui/web_core": "^0.11.0",
|
|
127
134
|
"@base-ui/react": "^1.8.0",
|
|
128
135
|
"@eslint/js": "^9.39.1",
|
|
129
136
|
"@tailwindcss/postcss": "^4.3.3",
|
|
@@ -156,21 +163,35 @@
|
|
|
156
163
|
"vitepress-i18n": "^1.4.0",
|
|
157
164
|
"vitepress-sidebar": "^1.40.0",
|
|
158
165
|
"vitest": "^5.0.1",
|
|
159
|
-
"vitest-browser-react": "^2.3.0"
|
|
166
|
+
"vitest-browser-react": "^2.3.0",
|
|
167
|
+
"zod": "^3.25.76",
|
|
168
|
+
"zod-to-json-schema": "^3.25.2"
|
|
160
169
|
},
|
|
161
170
|
"dependencies": {
|
|
162
171
|
"highlight.js": "^11.12.0",
|
|
163
172
|
"lucide-react": "^1.47.0"
|
|
164
173
|
},
|
|
165
174
|
"peerDependencies": {
|
|
175
|
+
"@a2ui/react": "^0.11.0",
|
|
176
|
+
"@a2ui/web_core": "^0.11.0",
|
|
166
177
|
"@base-ui/react": "^1.7.0",
|
|
167
178
|
"@types/react": "^18.0.0 || ^19.0.0",
|
|
168
179
|
"react": "^18.0.0 || ^19.0.0",
|
|
169
|
-
"react-dom": "^18.0.0 || ^19.0.0"
|
|
180
|
+
"react-dom": "^18.0.0 || ^19.0.0",
|
|
181
|
+
"zod": "^3.25.76"
|
|
170
182
|
},
|
|
171
183
|
"peerDependenciesMeta": {
|
|
184
|
+
"@a2ui/react": {
|
|
185
|
+
"optional": true
|
|
186
|
+
},
|
|
187
|
+
"@a2ui/web_core": {
|
|
188
|
+
"optional": true
|
|
189
|
+
},
|
|
172
190
|
"@types/react": {
|
|
173
191
|
"optional": true
|
|
192
|
+
},
|
|
193
|
+
"zod": {
|
|
194
|
+
"optional": true
|
|
174
195
|
}
|
|
175
196
|
}
|
|
176
197
|
}
|