@m3-baseui/react-tailwind 1.3.0 → 2.0.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/dist/{badge.js → components/badge/index.js} +4 -4
- package/dist/components/badge/index.js.map +1 -0
- package/dist/{bottom-app-bar.d.ts → components/bottom-app-bar/index.d.ts} +22 -21
- package/dist/{bottom-app-bar.js → components/bottom-app-bar/index.js} +4 -4
- package/dist/components/bottom-app-bar/index.js.map +1 -0
- package/dist/{bottom-sheet.d.ts → components/bottom-sheet/index.d.ts} +37 -36
- package/dist/{bottom-sheet.js → components/bottom-sheet/index.js} +4 -4
- package/dist/components/bottom-sheet/index.js.map +1 -0
- package/dist/{button.js → components/button/index.js} +3 -3
- package/dist/components/button/index.js.map +1 -0
- package/dist/{button-group.js → components/button-group/index.js} +4 -4
- package/dist/components/button-group/index.js.map +1 -0
- package/dist/{card.js → components/card/index.js} +4 -4
- package/dist/components/card/index.js.map +1 -0
- package/dist/{carousel.js → components/carousel/index.js} +4 -4
- package/dist/components/carousel/index.js.map +1 -0
- package/dist/{checkbox.d.ts → components/checkbox/index.d.ts} +22 -21
- package/dist/{checkbox.js → components/checkbox/index.js} +3 -3
- package/dist/components/checkbox/index.js.map +1 -0
- package/dist/{chip.js → components/chip/index.js} +3 -3
- package/dist/components/chip/index.js.map +1 -0
- package/dist/components/date-picker/index.d.ts +189 -0
- package/dist/{date-picker.js → components/date-picker/index.js} +4 -4
- package/dist/components/date-picker/index.js.map +1 -0
- package/dist/components/dialog/index.d.ts +116 -0
- package/dist/components/dialog/index.js +103 -0
- package/dist/components/dialog/index.js.map +1 -0
- package/dist/{divider.js → components/divider/index.js} +3 -3
- package/dist/components/divider/index.js.map +1 -0
- package/dist/{fab.d.ts → components/fab/index.d.ts} +29 -15
- package/dist/components/fab/index.js +79 -0
- package/dist/components/fab/index.js.map +1 -0
- package/dist/{fab-menu.d.ts → components/fab-menu/index.d.ts} +0 -21
- package/dist/{fab-menu.js → components/fab-menu/index.js} +49 -18
- package/dist/components/fab-menu/index.js.map +1 -0
- package/dist/{icon-button.js → components/icon-button/index.js} +3 -3
- package/dist/components/icon-button/index.js.map +1 -0
- package/dist/components/item/index.d.ts +95 -0
- package/dist/{item.js → components/item/index.js} +12 -6
- package/dist/components/item/index.js.map +1 -0
- package/dist/{list.d.ts → components/list/index.d.ts} +4 -4
- package/dist/{list.js → components/list/index.js} +12 -6
- package/dist/components/list/index.js.map +1 -0
- package/dist/{loading-indicator.js → components/loading-indicator/index.js} +4 -4
- package/dist/components/loading-indicator/index.js.map +1 -0
- package/dist/{menu.d.ts → components/menu/index.d.ts} +61 -60
- package/dist/components/menu/index.js +179 -0
- package/dist/components/menu/index.js.map +1 -0
- package/dist/components/navigation-bar/index.d.ts +92 -0
- package/dist/{navigation-bar.js → components/navigation-bar/index.js} +3 -3
- package/dist/components/navigation-bar/index.js.map +1 -0
- package/dist/{navigation-drawer.js → components/navigation-drawer/index.js} +4 -4
- package/dist/components/navigation-drawer/index.js.map +1 -0
- package/dist/components/navigation-rail/index.d.ts +102 -0
- package/dist/{navigation-rail.js → components/navigation-rail/index.js} +4 -4
- package/dist/components/navigation-rail/index.js.map +1 -0
- package/dist/components/progress/index.d.ts +127 -0
- package/dist/components/progress/index.js +101 -0
- package/dist/components/progress/index.js.map +1 -0
- package/dist/{radio.d.ts → components/radio/index.d.ts} +17 -16
- package/dist/{radio.js → components/radio/index.js} +3 -3
- package/dist/components/radio/index.js.map +1 -0
- package/dist/{search.d.ts → components/search/index.d.ts} +62 -61
- package/dist/{search.js → components/search/index.js} +4 -4
- package/dist/components/search/index.js.map +1 -0
- package/dist/{segmented-button.d.ts → components/segmented-button/index.d.ts} +32 -31
- package/dist/{segmented-button.js → components/segmented-button/index.js} +4 -4
- package/dist/components/segmented-button/index.js.map +1 -0
- package/dist/components/select/index.d.ts +253 -0
- package/dist/components/select/index.js +271 -0
- package/dist/components/select/index.js.map +1 -0
- package/dist/{side-sheet.js → components/side-sheet/index.js} +4 -4
- package/dist/components/side-sheet/index.js.map +1 -0
- package/dist/{slider.d.ts → components/slider/index.d.ts} +52 -51
- package/dist/{slider.js → components/slider/index.js} +4 -4
- package/dist/components/slider/index.js.map +1 -0
- package/dist/{snackbar.d.ts → components/snackbar/index.d.ts} +42 -41
- package/dist/{snackbar.js → components/snackbar/index.js} +9 -4
- package/dist/components/snackbar/index.js.map +1 -0
- package/dist/{split-button.js → components/split-button/index.js} +4 -4
- package/dist/components/split-button/index.js.map +1 -0
- package/dist/components/switch/index.d.ts +73 -0
- package/dist/{switch.js → components/switch/index.js} +3 -3
- package/dist/components/switch/index.js.map +1 -0
- package/dist/{tabs.js → components/tabs/index.js} +4 -4
- package/dist/components/tabs/index.js.map +1 -0
- package/dist/{textfield.d.ts → components/textfield/index.d.ts} +7 -1
- package/dist/{textfield.js → components/textfield/index.js} +35 -13
- package/dist/components/textfield/index.js.map +1 -0
- package/dist/components/time-picker/index.d.ts +153 -0
- package/dist/{time-picker.js → components/time-picker/index.js} +28 -13
- package/dist/components/time-picker/index.js.map +1 -0
- package/dist/{toolbar.js → components/toolbar/index.js} +4 -4
- package/dist/components/toolbar/index.js.map +1 -0
- package/dist/components/tooltip/index.d.ts +143 -0
- package/dist/components/tooltip/index.js +80 -0
- package/dist/components/tooltip/index.js.map +1 -0
- package/dist/{top-app-bar.js → components/top-app-bar/index.js} +4 -4
- package/dist/components/top-app-bar/index.js.map +1 -0
- package/dist/index.d.ts +40 -39
- package/dist/index.js +489 -129
- package/dist/index.js.map +1 -1
- package/package.json +151 -151
- package/styles/preset.css +75 -7
- package/styles/theme.css +2 -0
- package/styles/tokens.css +2 -0
- package/dist/badge.js.map +0 -1
- package/dist/bottom-app-bar.js.map +0 -1
- package/dist/bottom-sheet.js.map +0 -1
- package/dist/button-group.js.map +0 -1
- package/dist/button.js.map +0 -1
- package/dist/card.js.map +0 -1
- package/dist/carousel.js.map +0 -1
- package/dist/checkbox.js.map +0 -1
- package/dist/chip.js.map +0 -1
- package/dist/date-picker.d.ts +0 -188
- package/dist/date-picker.js.map +0 -1
- package/dist/dialog.d.ts +0 -86
- package/dist/dialog.js +0 -68
- package/dist/dialog.js.map +0 -1
- package/dist/divider.js.map +0 -1
- package/dist/fab-menu.js.map +0 -1
- package/dist/fab.js +0 -47
- package/dist/fab.js.map +0 -1
- package/dist/icon-button.js.map +0 -1
- package/dist/item.d.ts +0 -94
- package/dist/item.js.map +0 -1
- package/dist/list.js.map +0 -1
- package/dist/loading-indicator.js.map +0 -1
- package/dist/menu.js +0 -114
- package/dist/menu.js.map +0 -1
- package/dist/navigation-bar.d.ts +0 -91
- package/dist/navigation-bar.js.map +0 -1
- package/dist/navigation-drawer.js.map +0 -1
- package/dist/navigation-rail.d.ts +0 -101
- package/dist/navigation-rail.js.map +0 -1
- package/dist/progress.d.ts +0 -118
- package/dist/progress.js +0 -41
- package/dist/progress.js.map +0 -1
- package/dist/radio.js.map +0 -1
- package/dist/search.js.map +0 -1
- package/dist/segmented-button.js.map +0 -1
- package/dist/select.d.ts +0 -125
- package/dist/select.js +0 -99
- package/dist/select.js.map +0 -1
- package/dist/side-sheet.js.map +0 -1
- package/dist/slider.js.map +0 -1
- package/dist/snackbar.js.map +0 -1
- package/dist/split-button.js.map +0 -1
- package/dist/switch.d.ts +0 -72
- package/dist/switch.js.map +0 -1
- package/dist/tabs.js.map +0 -1
- package/dist/textfield.js.map +0 -1
- package/dist/time-picker.d.ts +0 -144
- package/dist/time-picker.js.map +0 -1
- package/dist/toolbar.js.map +0 -1
- package/dist/tooltip.d.ts +0 -61
- package/dist/tooltip.js +0 -52
- package/dist/tooltip.js.map +0 -1
- package/dist/top-app-bar.js.map +0 -1
- /package/dist/{badge.d.ts → components/badge/index.d.ts} +0 -0
- /package/dist/{button.d.ts → components/button/index.d.ts} +0 -0
- /package/dist/{button-group.d.ts → components/button-group/index.d.ts} +0 -0
- /package/dist/{card.d.ts → components/card/index.d.ts} +0 -0
- /package/dist/{carousel.d.ts → components/carousel/index.d.ts} +0 -0
- /package/dist/{chip.d.ts → components/chip/index.d.ts} +0 -0
- /package/dist/{divider.d.ts → components/divider/index.d.ts} +0 -0
- /package/dist/{icon-button.d.ts → components/icon-button/index.d.ts} +0 -0
- /package/dist/{loading-indicator.d.ts → components/loading-indicator/index.d.ts} +0 -0
- /package/dist/{navigation-drawer.d.ts → components/navigation-drawer/index.d.ts} +0 -0
- /package/dist/{side-sheet.d.ts → components/side-sheet/index.d.ts} +0 -0
- /package/dist/{split-button.d.ts → components/split-button/index.d.ts} +0 -0
- /package/dist/{tabs.d.ts → components/tabs/index.d.ts} +0 -0
- /package/dist/{toolbar.d.ts → components/toolbar/index.d.ts} +0 -0
- /package/dist/{top-app-bar.d.ts → components/top-app-bar/index.d.ts} +0 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { createTooltip, createRichTooltip } from '@m3-baseui/core';
|
|
3
|
+
import { tv as tv$1 } from 'tailwind-variants';
|
|
4
|
+
|
|
5
|
+
// src/components/tooltip/tooltip.ts
|
|
6
|
+
var TYPESCALE = [
|
|
7
|
+
"display-large",
|
|
8
|
+
"display-medium",
|
|
9
|
+
"display-small",
|
|
10
|
+
"headline-large",
|
|
11
|
+
"headline-medium",
|
|
12
|
+
"headline-small",
|
|
13
|
+
"title-large",
|
|
14
|
+
"title-medium",
|
|
15
|
+
"title-small",
|
|
16
|
+
"body-large",
|
|
17
|
+
"body-medium",
|
|
18
|
+
"body-small",
|
|
19
|
+
"label-large",
|
|
20
|
+
"label-medium",
|
|
21
|
+
"label-small"
|
|
22
|
+
];
|
|
23
|
+
var tv = (options, config) => tv$1(options, {
|
|
24
|
+
...config,
|
|
25
|
+
twMergeConfig: {
|
|
26
|
+
extend: {
|
|
27
|
+
classGroups: {
|
|
28
|
+
"font-size": [{ text: [...TYPESCALE] }]
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
// src/components/tooltip/tooltip.ts
|
|
35
|
+
var transition = [
|
|
36
|
+
"origin-[var(--transform-origin)] transition-[opacity,transform] duration-150 ease-standard",
|
|
37
|
+
"data-[starting-style]:opacity-0 data-[starting-style]:scale-95",
|
|
38
|
+
"data-[ending-style]:opacity-0 data-[ending-style]:scale-95"
|
|
39
|
+
];
|
|
40
|
+
var tooltipTv = tv({
|
|
41
|
+
slots: {
|
|
42
|
+
popup: [
|
|
43
|
+
"bg-inverse-surface text-inverse-on-surface text-body-small",
|
|
44
|
+
"rounded-extra-small px-2 py-1 max-w-[224px] select-none",
|
|
45
|
+
...transition
|
|
46
|
+
],
|
|
47
|
+
arrow: ["text-inverse-surface"]
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
var richTooltipTv = tv({
|
|
51
|
+
slots: {
|
|
52
|
+
popup: [
|
|
53
|
+
"bg-surface-container text-on-surface shadow-level2",
|
|
54
|
+
"rounded-medium px-4 py-3 max-w-[320px] flex flex-col gap-1",
|
|
55
|
+
"outline-none",
|
|
56
|
+
...transition
|
|
57
|
+
],
|
|
58
|
+
arrow: ["text-surface-container"],
|
|
59
|
+
subhead: ["text-title-small text-on-surface m-0"],
|
|
60
|
+
supportingText: ["text-body-medium text-on-surface-variant m-0"],
|
|
61
|
+
// M3 places rich-tooltip actions at the bottom-left (leading), not trailing
|
|
62
|
+
// like a dialog. -ml-2 pulls the text button so its label optically aligns
|
|
63
|
+
// with the content's left edge.
|
|
64
|
+
actions: ["flex flex-wrap items-center gap-2 mt-1 -ml-2"]
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
var t = tooltipTv();
|
|
68
|
+
var Tooltip = createTooltip({ popup: t.popup(), arrow: t.arrow() });
|
|
69
|
+
var r = richTooltipTv();
|
|
70
|
+
var RichTooltip = createRichTooltip({
|
|
71
|
+
popup: r.popup(),
|
|
72
|
+
arrow: r.arrow(),
|
|
73
|
+
subhead: r.subhead(),
|
|
74
|
+
supportingText: r.supportingText(),
|
|
75
|
+
actions: r.actions()
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
export { RichTooltip, Tooltip, richTooltipTv, tooltipTv };
|
|
79
|
+
//# sourceMappingURL=index.js.map
|
|
80
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/tv.ts","../../../src/components/tooltip/tooltip.ts"],"names":["baseTv"],"mappings":";;;;;AAeA,IAAM,SAAA,GAAY;AAAA,EAChB,eAAA;AAAA,EACA,gBAAA;AAAA,EACA,eAAA;AAAA,EACA,gBAAA;AAAA,EACA,iBAAA;AAAA,EACA,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA;AAEO,IAAM,EAAA,GAAS,CAAC,OAAA,EAAS,MAAA,KAC9BA,KAAO,OAAA,EAAS;AAAA,EACd,GAAG,MAAA;AAAA,EACH,aAAA,EAAe;AAAA,IACb,MAAA,EAAQ;AAAA,MACN,WAAA,EAAa;AAAA,QACX,WAAA,EAAa,CAAC,EAAE,IAAA,EAAM,CAAC,GAAG,SAAS,GAAG;AAAA;AACxC;AACF;AAEJ,CAAC,CAAA;;;AC3BH,IAAM,UAAA,GAAa;AAAA,EACjB,4FAAA;AAAA,EACA,gEAAA;AAAA,EACA;AACF,CAAA;AAEO,IAAM,YAAY,EAAA,CAAG;AAAA,EAC1B,KAAA,EAAO;AAAA,IACL,KAAA,EAAO;AAAA,MACL,4DAAA;AAAA,MACA,yDAAA;AAAA,MACA,GAAG;AAAA,KACL;AAAA,IACA,KAAA,EAAO,CAAC,sBAAsB;AAAA;AAElC,CAAC;AAEM,IAAM,gBAAgB,EAAA,CAAG;AAAA,EAC9B,KAAA,EAAO;AAAA,IACL,KAAA,EAAO;AAAA,MACL,oDAAA;AAAA,MACA,4DAAA;AAAA,MACA,cAAA;AAAA,MACA,GAAG;AAAA,KACL;AAAA,IACA,KAAA,EAAO,CAAC,wBAAwB,CAAA;AAAA,IAChC,OAAA,EAAS,CAAC,sCAAsC,CAAA;AAAA,IAChD,cAAA,EAAgB,CAAC,8CAA8C,CAAA;AAAA;AAAA;AAAA;AAAA,IAI/D,OAAA,EAAS,CAAC,8CAA8C;AAAA;AAE5D,CAAC;AAED,IAAM,IAAI,SAAA,EAAU;AACb,IAAM,OAAA,GAAU,aAAA,CAAc,EAAE,KAAA,EAAO,CAAA,CAAE,KAAA,EAAM,EAAG,KAAA,EAAO,CAAA,CAAE,KAAA,EAAM,EAAG;AAE3E,IAAM,IAAI,aAAA,EAAc;AACjB,IAAM,cAAc,iBAAA,CAAkB;AAAA,EAC3C,KAAA,EAAO,EAAE,KAAA,EAAM;AAAA,EACf,KAAA,EAAO,EAAE,KAAA,EAAM;AAAA,EACf,OAAA,EAAS,EAAE,OAAA,EAAQ;AAAA,EACnB,cAAA,EAAgB,EAAE,cAAA,EAAe;AAAA,EACjC,OAAA,EAAS,EAAE,OAAA;AACb,CAAC","file":"index.js","sourcesContent":["/**\n * tv.ts — a tailwind-variants factory pre-configured for the M3 typescale.\n *\n * The Tailwind v4 preset exposes the 15 typescale roles as `text-<role>`\n * font-size utilities (e.g. `text-body-small`, `text-label-large`). Stock\n * tailwind-merge does not know these custom names, so it groups them with the\n * `text-<color>` utilities and drops one when a slot sets both a color *and* a\n * typescale (the common M3 case). That silently strips either the color or the\n * type, breaking token compliance.\n *\n * Teaching tailwind-merge that the typescale names belong to the `font-size`\n * group keeps color and type independent, so both survive the merge.\n */\nimport { type TV, tv as baseTv } from 'tailwind-variants';\n\nconst TYPESCALE = [\n 'display-large',\n 'display-medium',\n 'display-small',\n 'headline-large',\n 'headline-medium',\n 'headline-small',\n 'title-large',\n 'title-medium',\n 'title-small',\n 'body-large',\n 'body-medium',\n 'body-small',\n 'label-large',\n 'label-medium',\n 'label-small',\n] as const;\n\nexport const tv: TV = (options, config) =>\n baseTv(options, {\n ...config,\n twMergeConfig: {\n extend: {\n classGroups: {\n 'font-size': [{ text: [...TYPESCALE] }],\n },\n },\n },\n });\n","/**\n * tooltip.ts — Tailwind classes for the M3 Tooltip (plain + rich).\n *\n * Plain (`Tooltip`, Base UI Tooltip): inverse-surface background, body-small\n * text, extra-small corners, with a fade + small-move transition driven by Base\n * UI's data-[starting-style] / data-[ending-style] attributes.\n *\n * Rich (`RichTooltip`, Base UI Popover): surface-container surface (level2\n * elevation, 12dp corner, 320dp max) holding an optional title-small subhead,\n * body-medium supporting text, and a leading-aligned action row at the bottom\n * (M3 places rich-tooltip actions bottom-left). Built on Popover so its buttons\n * are reachable by keyboard and touch.\n */\nimport { createTooltip, createRichTooltip } from '@m3-baseui/core';\nimport { tv } from '../../tv';\n\nconst transition = [\n 'origin-[var(--transform-origin)] transition-[opacity,transform] duration-150 ease-standard',\n 'data-[starting-style]:opacity-0 data-[starting-style]:scale-95',\n 'data-[ending-style]:opacity-0 data-[ending-style]:scale-95',\n];\n\nexport const tooltipTv = tv({\n slots: {\n popup: [\n 'bg-inverse-surface text-inverse-on-surface text-body-small',\n 'rounded-extra-small px-2 py-1 max-w-[224px] select-none',\n ...transition,\n ],\n arrow: ['text-inverse-surface'],\n },\n});\n\nexport const richTooltipTv = tv({\n slots: {\n popup: [\n 'bg-surface-container text-on-surface shadow-level2',\n 'rounded-medium px-4 py-3 max-w-[320px] flex flex-col gap-1',\n 'outline-none',\n ...transition,\n ],\n arrow: ['text-surface-container'],\n subhead: ['text-title-small text-on-surface m-0'],\n supportingText: ['text-body-medium text-on-surface-variant m-0'],\n // M3 places rich-tooltip actions at the bottom-left (leading), not trailing\n // like a dialog. -ml-2 pulls the text button so its label optically aligns\n // with the content's left edge.\n actions: ['flex flex-wrap items-center gap-2 mt-1 -ml-2'],\n },\n});\n\nconst t = tooltipTv();\nexport const Tooltip = createTooltip({ popup: t.popup(), arrow: t.arrow() });\n\nconst r = richTooltipTv();\nexport const RichTooltip = createRichTooltip({\n popup: r.popup(),\n arrow: r.arrow(),\n subhead: r.subhead(),\n supportingText: r.supportingText(),\n actions: r.actions(),\n});\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { createTopAppBar } from '@m3-baseui/core';
|
|
3
3
|
import { tv as tv$1 } from 'tailwind-variants';
|
|
4
4
|
|
|
5
|
-
// src/top-app-bar.ts
|
|
5
|
+
// src/components/top-app-bar/top-app-bar.ts
|
|
6
6
|
var TYPESCALE = [
|
|
7
7
|
"display-large",
|
|
8
8
|
"display-medium",
|
|
@@ -31,7 +31,7 @@ var tv = (options, config) => tv$1(options, {
|
|
|
31
31
|
}
|
|
32
32
|
});
|
|
33
33
|
|
|
34
|
-
// src/top-app-bar.ts
|
|
34
|
+
// src/components/top-app-bar/top-app-bar.ts
|
|
35
35
|
var topAppBarTv = tv({
|
|
36
36
|
slots: {
|
|
37
37
|
root: "flex flex-col w-full box-border h-16 bg-surface text-on-surface",
|
|
@@ -64,5 +64,5 @@ var TopAppBar = createTopAppBar((args) => {
|
|
|
64
64
|
});
|
|
65
65
|
|
|
66
66
|
export { TopAppBar, topAppBarTv };
|
|
67
|
-
//# sourceMappingURL=
|
|
68
|
-
//# sourceMappingURL=
|
|
67
|
+
//# sourceMappingURL=index.js.map
|
|
68
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/tv.ts","../../../src/components/top-app-bar/top-app-bar.ts"],"names":["baseTv"],"mappings":";;;;;AAeA,IAAM,SAAA,GAAY;AAAA,EAChB,eAAA;AAAA,EACA,gBAAA;AAAA,EACA,eAAA;AAAA,EACA,gBAAA;AAAA,EACA,iBAAA;AAAA,EACA,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA;AAEO,IAAM,EAAA,GAAS,CAAC,OAAA,EAAS,MAAA,KAC9BA,KAAO,OAAA,EAAS;AAAA,EACd,GAAG,MAAA;AAAA,EACH,aAAA,EAAe;AAAA,IACb,MAAA,EAAQ;AAAA,MACN,WAAA,EAAa;AAAA,QACX,WAAA,EAAa,CAAC,EAAE,IAAA,EAAM,CAAC,GAAG,SAAS,GAAG;AAAA;AACxC;AACF;AAEJ,CAAC,CAAA;;;AChCI,IAAM,cAAc,EAAA,CAAG;AAAA,EAC5B,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,iEAAA;AAAA,IACN,GAAA,EAAK,mCAAA;AAAA,IACL,OAAA,EAAS,2DAAA;AAAA,IACT,QAAA,EAAU,kCAAA;AAAA,IACV,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,KAAA,EAAO,EAAE,QAAA,EAAU,8BAAA,EAA+B;AAAA,MAClD,MAAA,EAAQ,EAAE,QAAA,EAAU,0CAAA,EAA2C;AAAA,MAC/D,MAAA,EAAQ,EAAE,IAAA,EAAM,MAAA,EAAQ,UAAU,+BAAA,EAAgC;AAAA,MAClE,KAAA,EAAO,EAAE,IAAA,EAAM,MAAA,EAAQ,UAAU,gCAAA;AAAiC;AACpE,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS;AAAA;AAEb,CAAC;AAEM,IAAM,SAAA,GAAY,eAAA,CAAgB,CAAC,IAAA,KAAS;AACjD,EAAA,MAAM,IAAI,WAAA,CAAY,EAAE,OAAA,EAAS,IAAA,CAAK,SAAS,CAAA;AAC/C,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,EAAE,IAAA,EAAK;AAAA,IACb,GAAA,EAAK,EAAE,GAAA,EAAI;AAAA,IACX,OAAA,EAAS,EAAE,OAAA,EAAQ;AAAA,IACnB,QAAA,EAAU,EAAE,QAAA,EAAS;AAAA,IACrB,QAAA,EAAU,EAAE,QAAA;AAAS,GACvB;AACF,CAAC","file":"index.js","sourcesContent":["/**\n * tv.ts — a tailwind-variants factory pre-configured for the M3 typescale.\n *\n * The Tailwind v4 preset exposes the 15 typescale roles as `text-<role>`\n * font-size utilities (e.g. `text-body-small`, `text-label-large`). Stock\n * tailwind-merge does not know these custom names, so it groups them with the\n * `text-<color>` utilities and drops one when a slot sets both a color *and* a\n * typescale (the common M3 case). That silently strips either the color or the\n * type, breaking token compliance.\n *\n * Teaching tailwind-merge that the typescale names belong to the `font-size`\n * group keeps color and type independent, so both survive the merge.\n */\nimport { type TV, tv as baseTv } from 'tailwind-variants';\n\nconst TYPESCALE = [\n 'display-large',\n 'display-medium',\n 'display-small',\n 'headline-large',\n 'headline-medium',\n 'headline-small',\n 'title-large',\n 'title-medium',\n 'title-small',\n 'body-large',\n 'body-medium',\n 'body-small',\n 'label-large',\n 'label-medium',\n 'label-small',\n] as const;\n\nexport const tv: TV = (options, config) =>\n baseTv(options, {\n ...config,\n twMergeConfig: {\n extend: {\n classGroups: {\n 'font-size': [{ text: [...TYPESCALE] }],\n },\n },\n },\n });\n","/**\n * top-app-bar.ts — tailwind-variants slots for the M3 TopAppBar.\n *\n * A `surface` bar. `small`/`center` are a single 64dp row (title-large, left vs.\n * centered); `medium`/`large` add a second headline line (headline-small /\n * headline-medium) below a 64dp action row, for 112dp / 152dp totals. The active\n * variant is exposed as `data-variant`. Same DOM as the VE build.\n */\nimport { createTopAppBar } from '@m3-baseui/core';\nimport { tv } from '../../tv';\n\nexport const topAppBarTv = tv({\n slots: {\n root: 'flex flex-col w-full box-border h-16 bg-surface text-on-surface',\n row: 'flex items-center gap-1 h-16 px-1',\n leading: 'flex items-center shrink-0 text-on-surface [&_svg]:size-6',\n headline: 'min-w-0 truncate text-on-surface',\n trailing: 'flex items-center gap-1 shrink-0 text-on-surface-variant [&_svg]:size-6',\n },\n variants: {\n variant: {\n small: { headline: 'flex-1 px-3 text-title-large' },\n center: { headline: 'flex-1 px-3 text-center text-title-large' },\n medium: { root: 'h-28', headline: 'px-4 pb-6 text-headline-small' },\n large: { root: 'h-38', headline: 'px-4 pb-7 text-headline-medium' },\n },\n },\n defaultVariants: {\n variant: 'small',\n },\n});\n\nexport const TopAppBar = createTopAppBar((args) => {\n const s = topAppBarTv({ variant: args.variant });\n return {\n root: s.root(),\n row: s.row(),\n leading: s.leading(),\n headline: s.headline(),\n trailing: s.trailing(),\n };\n});\nexport type { TopAppBarProps, TopAppBarVariant } from '@m3-baseui/core';\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,43 +1,44 @@
|
|
|
1
|
-
export { Button, button } from './button.js';
|
|
2
|
-
export { IconButton, iconButton } from './icon-button.js';
|
|
3
|
-
export { Switch, switchTv } from './switch.js';
|
|
4
|
-
export { Checkbox, checkboxTv } from './checkbox.js';
|
|
5
|
-
export { Radio, RadioGroup, radioTv } from './radio.js';
|
|
6
|
-
export { Chip, chipTv } from './chip.js';
|
|
7
|
-
export { Tooltip, tooltipTv } from './tooltip.js';
|
|
8
|
-
export { Dialog, dialogTv } from './dialog.js';
|
|
9
|
-
export { Menu, menuTv } from './menu.js';
|
|
10
|
-
export { Tabs, tabsTv } from './tabs.js';
|
|
11
|
-
export { Slider, sliderTv } from './slider.js';
|
|
12
|
-
export { Select, selectTv } from './select.js';
|
|
13
|
-
export { TextField, textFieldTv } from './textfield.js';
|
|
14
|
-
export { NavigationBar, navigationBarTv } from './navigation-bar.js';
|
|
15
|
-
export { Fab, fabTv } from './fab.js';
|
|
16
|
-
export { FabMenu, fabMenuTv } from './fab-menu.js';
|
|
17
|
-
export { Divider, dividerTv } from './divider.js';
|
|
18
|
-
export { Progress, circularTv, linearTv } from './progress.js';
|
|
19
|
-
export { LoadingIndicator, loadingIndicatorTv } from './loading-indicator.js';
|
|
20
|
-
export { List, listTv } from './list.js';
|
|
21
|
-
export { Snackbar, snackbarTv } from './snackbar.js';
|
|
22
|
-
export { Item, itemTv } from './item.js';
|
|
23
|
-
export { Badge, badgeTv } from './badge.js';
|
|
24
|
-
export { Card, cardTv } from './card.js';
|
|
25
|
-
export { SegmentedButton, segmentedButtonTv } from './segmented-button.js';
|
|
26
|
-
export { ButtonGroup, buttonGroup } from './button-group.js';
|
|
27
|
-
export { SplitButton, splitButtonTv } from './split-button.js';
|
|
28
|
-
export { NavigationDrawer, navigationDrawerTv } from './navigation-drawer.js';
|
|
29
|
-
export { TopAppBar, topAppBarTv } from './top-app-bar.js';
|
|
30
|
-
export { BottomAppBar, bottomAppBarTv } from './bottom-app-bar.js';
|
|
31
|
-
export { NavigationRail, navigationRailTv } from './navigation-rail.js';
|
|
32
|
-
export { BottomSheet, bottomSheetTv } from './bottom-sheet.js';
|
|
33
|
-
export { SideSheet, sideSheetTv } from './side-sheet.js';
|
|
34
|
-
export { Search, searchTv } from './search.js';
|
|
35
|
-
export { DatePicker, datePickerTv } from './date-picker.js';
|
|
36
|
-
export { TimePicker, timePickerTv } from './time-picker.js';
|
|
37
|
-
export { BadgeProps, BadgeSize, BottomAppBarProps, BottomSheetVariant, ButtonGroupProps, ButtonGroupVariant, ButtonProps, ButtonVariant, CardProps, CardVariant, CarouselVariant, ChipProps, ChipVariant, CircularProgressProps, ContrastLevel, DividerInset, DividerOrientation, DividerProps, FabColor, FabMenuItemProps, FabMenuTriggerProps, FabProps, FabSize, IconButtonProps, IconButtonVariant, ItemProps, LinearProgressProps, ListItemLines, ListItemProps, LoadingIndicatorProps, NavigationDrawerVariant, Ripple, SchemeVariant, SideSheetSide, SideSheetVariant, TabsVariant, TextFieldProps, TextFieldVariant, ThemeMode, ThemeProvider, ThemeProviderProps, TimePickerVariant, TimeValue, ToolbarOrientation, ToolbarProps, ToolbarVariant, TopAppBarProps, TopAppBarVariant, applyScheme, generateScheme, schemeToCssText, useSnackbar, useTheme } from '@m3-baseui/core';
|
|
38
|
-
export { Toolbar, toolbarTv } from './toolbar.js';
|
|
39
|
-
export { Carousel, carouselTv } from './carousel.js';
|
|
1
|
+
export { Button, button } from './components/button/index.js';
|
|
2
|
+
export { IconButton, iconButton } from './components/icon-button/index.js';
|
|
3
|
+
export { Switch, switchTv } from './components/switch/index.js';
|
|
4
|
+
export { Checkbox, checkboxTv } from './components/checkbox/index.js';
|
|
5
|
+
export { Radio, RadioGroup, radioTv } from './components/radio/index.js';
|
|
6
|
+
export { Chip, chipTv } from './components/chip/index.js';
|
|
7
|
+
export { RichTooltip, Tooltip, richTooltipTv, tooltipTv } from './components/tooltip/index.js';
|
|
8
|
+
export { Dialog, dialogTv } from './components/dialog/index.js';
|
|
9
|
+
export { Menu, menuTv } from './components/menu/index.js';
|
|
10
|
+
export { Tabs, tabsTv } from './components/tabs/index.js';
|
|
11
|
+
export { Slider, sliderTv } from './components/slider/index.js';
|
|
12
|
+
export { Select, selectFieldTv, selectTv } from './components/select/index.js';
|
|
13
|
+
export { TextField, textFieldTv } from './components/textfield/index.js';
|
|
14
|
+
export { NavigationBar, navigationBarTv } from './components/navigation-bar/index.js';
|
|
15
|
+
export { Fab, fabTv } from './components/fab/index.js';
|
|
16
|
+
export { FabMenu, fabMenuTv } from './components/fab-menu/index.js';
|
|
17
|
+
export { Divider, dividerTv } from './components/divider/index.js';
|
|
18
|
+
export { Progress, circularTv, linearTv } from './components/progress/index.js';
|
|
19
|
+
export { LoadingIndicator, loadingIndicatorTv } from './components/loading-indicator/index.js';
|
|
20
|
+
export { List, listTv } from './components/list/index.js';
|
|
21
|
+
export { Snackbar, snackbarTv } from './components/snackbar/index.js';
|
|
22
|
+
export { Item, itemTv } from './components/item/index.js';
|
|
23
|
+
export { Badge, badgeTv } from './components/badge/index.js';
|
|
24
|
+
export { Card, cardTv } from './components/card/index.js';
|
|
25
|
+
export { SegmentedButton, segmentedButtonTv } from './components/segmented-button/index.js';
|
|
26
|
+
export { ButtonGroup, buttonGroup } from './components/button-group/index.js';
|
|
27
|
+
export { SplitButton, splitButtonTv } from './components/split-button/index.js';
|
|
28
|
+
export { NavigationDrawer, navigationDrawerTv } from './components/navigation-drawer/index.js';
|
|
29
|
+
export { TopAppBar, topAppBarTv } from './components/top-app-bar/index.js';
|
|
30
|
+
export { BottomAppBar, bottomAppBarTv } from './components/bottom-app-bar/index.js';
|
|
31
|
+
export { NavigationRail, navigationRailTv } from './components/navigation-rail/index.js';
|
|
32
|
+
export { BottomSheet, bottomSheetTv } from './components/bottom-sheet/index.js';
|
|
33
|
+
export { SideSheet, sideSheetTv } from './components/side-sheet/index.js';
|
|
34
|
+
export { Search, searchTv } from './components/search/index.js';
|
|
35
|
+
export { DatePicker, datePickerTv } from './components/date-picker/index.js';
|
|
36
|
+
export { TimePicker, timePickerTv } from './components/time-picker/index.js';
|
|
37
|
+
export { BadgeProps, BadgeSize, BottomAppBarProps, BottomSheetVariant, ButtonGroupProps, ButtonGroupVariant, ButtonProps, ButtonVariant, CardProps, CardVariant, CarouselVariant, ChipProps, ChipVariant, CircularProgressProps, ContrastLevel, DividerInset, DividerOrientation, DividerProps, FabColor, FabMenuItemProps, FabMenuTriggerProps, FabProps, FabSize, ITEM_LEADING_VARIANTS, IconButtonProps, IconButtonVariant, ItemLeadingVariant, ItemProps, LIST_LEADING_VARIANTS, LinearProgressProps, ListItemLines, ListItemProps, ListLeadingVariant, LoadingIndicatorProps, NavigationDrawerVariant, Ripple, SchemeVariant, SelectFieldProps, SideSheetSide, SideSheetVariant, TabsVariant, TextFieldIconAction, TextFieldProps, TextFieldVariant, ThemeMode, ThemeProvider, ThemeProviderProps, TimePickerVariant, TimeValue, ToolbarOrientation, ToolbarProps, ToolbarVariant, TopAppBarProps, TopAppBarVariant, applyScheme, generateScheme, schemeToCssText, useSnackbar, useTheme } from '@m3-baseui/core';
|
|
38
|
+
export { Toolbar, toolbarTv } from './components/toolbar/index.js';
|
|
39
|
+
export { Carousel, carouselTv } from './components/carousel/index.js';
|
|
40
40
|
import '@base-ui/react';
|
|
41
41
|
import 'react';
|
|
42
42
|
import 'tailwind-variants';
|
|
43
43
|
import 'tailwind-variants/dist/config.js';
|
|
44
|
+
import 'tailwind-merge';
|