@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.
Files changed (175) hide show
  1. package/dist/{badge.js → components/badge/index.js} +4 -4
  2. package/dist/components/badge/index.js.map +1 -0
  3. package/dist/{bottom-app-bar.d.ts → components/bottom-app-bar/index.d.ts} +22 -21
  4. package/dist/{bottom-app-bar.js → components/bottom-app-bar/index.js} +4 -4
  5. package/dist/components/bottom-app-bar/index.js.map +1 -0
  6. package/dist/{bottom-sheet.d.ts → components/bottom-sheet/index.d.ts} +37 -36
  7. package/dist/{bottom-sheet.js → components/bottom-sheet/index.js} +4 -4
  8. package/dist/components/bottom-sheet/index.js.map +1 -0
  9. package/dist/{button.js → components/button/index.js} +3 -3
  10. package/dist/components/button/index.js.map +1 -0
  11. package/dist/{button-group.js → components/button-group/index.js} +4 -4
  12. package/dist/components/button-group/index.js.map +1 -0
  13. package/dist/{card.js → components/card/index.js} +4 -4
  14. package/dist/components/card/index.js.map +1 -0
  15. package/dist/{carousel.js → components/carousel/index.js} +4 -4
  16. package/dist/components/carousel/index.js.map +1 -0
  17. package/dist/{checkbox.d.ts → components/checkbox/index.d.ts} +22 -21
  18. package/dist/{checkbox.js → components/checkbox/index.js} +3 -3
  19. package/dist/components/checkbox/index.js.map +1 -0
  20. package/dist/{chip.js → components/chip/index.js} +3 -3
  21. package/dist/components/chip/index.js.map +1 -0
  22. package/dist/components/date-picker/index.d.ts +189 -0
  23. package/dist/{date-picker.js → components/date-picker/index.js} +4 -4
  24. package/dist/components/date-picker/index.js.map +1 -0
  25. package/dist/components/dialog/index.d.ts +116 -0
  26. package/dist/components/dialog/index.js +103 -0
  27. package/dist/components/dialog/index.js.map +1 -0
  28. package/dist/{divider.js → components/divider/index.js} +3 -3
  29. package/dist/components/divider/index.js.map +1 -0
  30. package/dist/{fab.d.ts → components/fab/index.d.ts} +29 -15
  31. package/dist/components/fab/index.js +79 -0
  32. package/dist/components/fab/index.js.map +1 -0
  33. package/dist/{fab-menu.d.ts → components/fab-menu/index.d.ts} +0 -21
  34. package/dist/{fab-menu.js → components/fab-menu/index.js} +49 -18
  35. package/dist/components/fab-menu/index.js.map +1 -0
  36. package/dist/{icon-button.js → components/icon-button/index.js} +3 -3
  37. package/dist/components/icon-button/index.js.map +1 -0
  38. package/dist/components/item/index.d.ts +95 -0
  39. package/dist/{item.js → components/item/index.js} +12 -6
  40. package/dist/components/item/index.js.map +1 -0
  41. package/dist/{list.d.ts → components/list/index.d.ts} +4 -4
  42. package/dist/{list.js → components/list/index.js} +12 -6
  43. package/dist/components/list/index.js.map +1 -0
  44. package/dist/{loading-indicator.js → components/loading-indicator/index.js} +4 -4
  45. package/dist/components/loading-indicator/index.js.map +1 -0
  46. package/dist/{menu.d.ts → components/menu/index.d.ts} +61 -60
  47. package/dist/components/menu/index.js +179 -0
  48. package/dist/components/menu/index.js.map +1 -0
  49. package/dist/components/navigation-bar/index.d.ts +92 -0
  50. package/dist/{navigation-bar.js → components/navigation-bar/index.js} +3 -3
  51. package/dist/components/navigation-bar/index.js.map +1 -0
  52. package/dist/{navigation-drawer.js → components/navigation-drawer/index.js} +4 -4
  53. package/dist/components/navigation-drawer/index.js.map +1 -0
  54. package/dist/components/navigation-rail/index.d.ts +102 -0
  55. package/dist/{navigation-rail.js → components/navigation-rail/index.js} +4 -4
  56. package/dist/components/navigation-rail/index.js.map +1 -0
  57. package/dist/components/progress/index.d.ts +127 -0
  58. package/dist/components/progress/index.js +101 -0
  59. package/dist/components/progress/index.js.map +1 -0
  60. package/dist/{radio.d.ts → components/radio/index.d.ts} +17 -16
  61. package/dist/{radio.js → components/radio/index.js} +3 -3
  62. package/dist/components/radio/index.js.map +1 -0
  63. package/dist/{search.d.ts → components/search/index.d.ts} +62 -61
  64. package/dist/{search.js → components/search/index.js} +4 -4
  65. package/dist/components/search/index.js.map +1 -0
  66. package/dist/{segmented-button.d.ts → components/segmented-button/index.d.ts} +32 -31
  67. package/dist/{segmented-button.js → components/segmented-button/index.js} +4 -4
  68. package/dist/components/segmented-button/index.js.map +1 -0
  69. package/dist/components/select/index.d.ts +253 -0
  70. package/dist/components/select/index.js +271 -0
  71. package/dist/components/select/index.js.map +1 -0
  72. package/dist/{side-sheet.js → components/side-sheet/index.js} +4 -4
  73. package/dist/components/side-sheet/index.js.map +1 -0
  74. package/dist/{slider.d.ts → components/slider/index.d.ts} +52 -51
  75. package/dist/{slider.js → components/slider/index.js} +4 -4
  76. package/dist/components/slider/index.js.map +1 -0
  77. package/dist/{snackbar.d.ts → components/snackbar/index.d.ts} +42 -41
  78. package/dist/{snackbar.js → components/snackbar/index.js} +9 -4
  79. package/dist/components/snackbar/index.js.map +1 -0
  80. package/dist/{split-button.js → components/split-button/index.js} +4 -4
  81. package/dist/components/split-button/index.js.map +1 -0
  82. package/dist/components/switch/index.d.ts +73 -0
  83. package/dist/{switch.js → components/switch/index.js} +3 -3
  84. package/dist/components/switch/index.js.map +1 -0
  85. package/dist/{tabs.js → components/tabs/index.js} +4 -4
  86. package/dist/components/tabs/index.js.map +1 -0
  87. package/dist/{textfield.d.ts → components/textfield/index.d.ts} +7 -1
  88. package/dist/{textfield.js → components/textfield/index.js} +35 -13
  89. package/dist/components/textfield/index.js.map +1 -0
  90. package/dist/components/time-picker/index.d.ts +153 -0
  91. package/dist/{time-picker.js → components/time-picker/index.js} +28 -13
  92. package/dist/components/time-picker/index.js.map +1 -0
  93. package/dist/{toolbar.js → components/toolbar/index.js} +4 -4
  94. package/dist/components/toolbar/index.js.map +1 -0
  95. package/dist/components/tooltip/index.d.ts +143 -0
  96. package/dist/components/tooltip/index.js +80 -0
  97. package/dist/components/tooltip/index.js.map +1 -0
  98. package/dist/{top-app-bar.js → components/top-app-bar/index.js} +4 -4
  99. package/dist/components/top-app-bar/index.js.map +1 -0
  100. package/dist/index.d.ts +40 -39
  101. package/dist/index.js +489 -129
  102. package/dist/index.js.map +1 -1
  103. package/package.json +151 -151
  104. package/styles/preset.css +75 -7
  105. package/styles/theme.css +2 -0
  106. package/styles/tokens.css +2 -0
  107. package/dist/badge.js.map +0 -1
  108. package/dist/bottom-app-bar.js.map +0 -1
  109. package/dist/bottom-sheet.js.map +0 -1
  110. package/dist/button-group.js.map +0 -1
  111. package/dist/button.js.map +0 -1
  112. package/dist/card.js.map +0 -1
  113. package/dist/carousel.js.map +0 -1
  114. package/dist/checkbox.js.map +0 -1
  115. package/dist/chip.js.map +0 -1
  116. package/dist/date-picker.d.ts +0 -188
  117. package/dist/date-picker.js.map +0 -1
  118. package/dist/dialog.d.ts +0 -86
  119. package/dist/dialog.js +0 -68
  120. package/dist/dialog.js.map +0 -1
  121. package/dist/divider.js.map +0 -1
  122. package/dist/fab-menu.js.map +0 -1
  123. package/dist/fab.js +0 -47
  124. package/dist/fab.js.map +0 -1
  125. package/dist/icon-button.js.map +0 -1
  126. package/dist/item.d.ts +0 -94
  127. package/dist/item.js.map +0 -1
  128. package/dist/list.js.map +0 -1
  129. package/dist/loading-indicator.js.map +0 -1
  130. package/dist/menu.js +0 -114
  131. package/dist/menu.js.map +0 -1
  132. package/dist/navigation-bar.d.ts +0 -91
  133. package/dist/navigation-bar.js.map +0 -1
  134. package/dist/navigation-drawer.js.map +0 -1
  135. package/dist/navigation-rail.d.ts +0 -101
  136. package/dist/navigation-rail.js.map +0 -1
  137. package/dist/progress.d.ts +0 -118
  138. package/dist/progress.js +0 -41
  139. package/dist/progress.js.map +0 -1
  140. package/dist/radio.js.map +0 -1
  141. package/dist/search.js.map +0 -1
  142. package/dist/segmented-button.js.map +0 -1
  143. package/dist/select.d.ts +0 -125
  144. package/dist/select.js +0 -99
  145. package/dist/select.js.map +0 -1
  146. package/dist/side-sheet.js.map +0 -1
  147. package/dist/slider.js.map +0 -1
  148. package/dist/snackbar.js.map +0 -1
  149. package/dist/split-button.js.map +0 -1
  150. package/dist/switch.d.ts +0 -72
  151. package/dist/switch.js.map +0 -1
  152. package/dist/tabs.js.map +0 -1
  153. package/dist/textfield.js.map +0 -1
  154. package/dist/time-picker.d.ts +0 -144
  155. package/dist/time-picker.js.map +0 -1
  156. package/dist/toolbar.js.map +0 -1
  157. package/dist/tooltip.d.ts +0 -61
  158. package/dist/tooltip.js +0 -52
  159. package/dist/tooltip.js.map +0 -1
  160. package/dist/top-app-bar.js.map +0 -1
  161. /package/dist/{badge.d.ts → components/badge/index.d.ts} +0 -0
  162. /package/dist/{button.d.ts → components/button/index.d.ts} +0 -0
  163. /package/dist/{button-group.d.ts → components/button-group/index.d.ts} +0 -0
  164. /package/dist/{card.d.ts → components/card/index.d.ts} +0 -0
  165. /package/dist/{carousel.d.ts → components/carousel/index.d.ts} +0 -0
  166. /package/dist/{chip.d.ts → components/chip/index.d.ts} +0 -0
  167. /package/dist/{divider.d.ts → components/divider/index.d.ts} +0 -0
  168. /package/dist/{icon-button.d.ts → components/icon-button/index.d.ts} +0 -0
  169. /package/dist/{loading-indicator.d.ts → components/loading-indicator/index.d.ts} +0 -0
  170. /package/dist/{navigation-drawer.d.ts → components/navigation-drawer/index.d.ts} +0 -0
  171. /package/dist/{side-sheet.d.ts → components/side-sheet/index.d.ts} +0 -0
  172. /package/dist/{split-button.d.ts → components/split-button/index.d.ts} +0 -0
  173. /package/dist/{tabs.d.ts → components/tabs/index.d.ts} +0 -0
  174. /package/dist/{toolbar.d.ts → components/toolbar/index.d.ts} +0 -0
  175. /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=top-app-bar.js.map
68
- //# sourceMappingURL=top-app-bar.js.map
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';