@12-apps/ui 6.59.0 → 6.61.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 (197) hide show
  1. package/dist/_internal/components/data-display/Avatar/Avatar.js +3 -3
  2. package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
  3. package/dist/_internal/components/data-display/Badge/Badge.js +2 -2
  4. package/dist/_internal/components/data-display/Chart/Chart.js +4 -4
  5. package/dist/_internal/components/data-display/Chart/SpecChart.js +7 -7
  6. package/dist/_internal/components/data-display/Chart/chart-context.js +2 -2
  7. package/dist/_internal/components/data-display/Chart/chart-renderers.js +3 -3
  8. package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
  9. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +25 -23
  10. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +26 -24
  11. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +6 -4
  12. package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +1 -1
  13. package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +7 -5
  14. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +11 -6
  15. package/dist/_internal/components/data-display/DataViews/base-list-card.js +14 -10
  16. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +3 -3
  17. package/dist/_internal/components/data-display/DataViews/data-views-export.js +1 -1
  18. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +4 -4
  19. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +5 -3
  20. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +20 -18
  21. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +6 -6
  22. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +4 -4
  23. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +5 -5
  24. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +3 -3
  25. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +6 -6
  26. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +5 -5
  27. package/dist/_internal/components/data-display/DataViews/list-card-breaks.js +12 -0
  28. package/dist/_internal/components/data-display/DataViews/list-card-breaks.js.map +1 -0
  29. package/dist/_internal/components/data-display/DataViews/list-card-cells.js +3 -1
  30. package/dist/_internal/components/data-display/DataViews/list-card-group-tracks.js +14 -0
  31. package/dist/_internal/components/data-display/DataViews/list-card-group-tracks.js.map +1 -0
  32. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +4 -2
  33. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +4 -4
  34. package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js +1 -1
  35. package/dist/_internal/components/data-display/Popover/Popover.js +1 -1
  36. package/dist/_internal/components/data-display/index.js +16 -16
  37. package/dist/_internal/components/index.js +23 -23
  38. package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +6 -6
  39. package/dist/_internal/components/navigation/SectionNav/SectionNav.js +9 -9
  40. package/dist/_internal/components/navigation/SectionNav/SectionNav.parts.js +3 -3
  41. package/dist/_internal/components/navigation/SectionNav/SectionNav.primary.js +4 -4
  42. package/dist/_internal/components/navigation/SectionNav/SectionNav.rail.js +5 -5
  43. package/dist/_internal/components/navigation/SectionNav/SectionNav.railCreate.js +4 -4
  44. package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +4 -4
  45. package/dist/_internal/components/navigation/index.js +9 -9
  46. package/dist/_internal/en-US.data-display.js +1 -1
  47. package/dist/_internal/pt-BR.data-display.js +1 -1
  48. package/dist/_internal/user-avatar/user-avatar.js +4 -4
  49. package/dist/charts.js +10 -10
  50. package/dist/{chunk-V4V2N6YJ.js → chunk-36RYXV4R.js} +9 -6
  51. package/dist/chunk-36RYXV4R.js.map +1 -0
  52. package/dist/{chunk-W7N4ORCV.js → chunk-3JYCS7VO.js} +5 -5
  53. package/dist/{chunk-YIKFYWKD.js → chunk-46ZATLQV.js} +3 -3
  54. package/dist/{chunk-TF27Z27K.js → chunk-4JZ6XDVA.js} +2 -2
  55. package/dist/{chunk-EDBP62WG.js → chunk-53ACGKBW.js} +3 -3
  56. package/dist/{chunk-ZWBGQYVO.js → chunk-56PBNYXF.js} +8 -6
  57. package/dist/chunk-56PBNYXF.js.map +1 -0
  58. package/dist/{chunk-EWIKSTJV.js → chunk-5WJFCQFN.js} +7 -7
  59. package/dist/{chunk-WBDQSBLV.js → chunk-5XFJCWPY.js} +5 -5
  60. package/dist/{chunk-QKAYXAQE.js → chunk-6FAYTKXW.js} +24 -20
  61. package/dist/chunk-6FAYTKXW.js.map +1 -0
  62. package/dist/{chunk-62E2X66R.js → chunk-72BVL6VF.js} +8 -4
  63. package/dist/{chunk-62E2X66R.js.map → chunk-72BVL6VF.js.map} +1 -1
  64. package/dist/{chunk-HPO7PB4F.js → chunk-7AAJYWC3.js} +2 -2
  65. package/dist/{chunk-XW5SEW3H.js → chunk-AKC5GRJF.js} +2 -2
  66. package/dist/{chunk-NHVL2QPG.js → chunk-D7PVIC33.js} +2 -1
  67. package/dist/chunk-D7PVIC33.js.map +1 -0
  68. package/dist/{chunk-4QKS5Y35.js → chunk-EBSA4EYR.js} +2 -2
  69. package/dist/{chunk-2W2MWEP2.js → chunk-EFLRNSE6.js} +11 -11
  70. package/dist/{chunk-PC4H5LVB.js → chunk-EUPUEMFX.js} +7 -7
  71. package/dist/{chunk-COYGTEN5.js → chunk-F5S5UFGD.js} +8 -1
  72. package/dist/chunk-F5S5UFGD.js.map +1 -0
  73. package/dist/{chunk-4PPNCZWY.js → chunk-GS5EPYB4.js} +3 -3
  74. package/dist/{chunk-JVOEVTCZ.js → chunk-HQCZT6TO.js} +5 -5
  75. package/dist/{chunk-GK7JNSMK.js → chunk-IK2ZVV3M.js} +2 -2
  76. package/dist/{chunk-CMBZ3J6I.js → chunk-JA6GKU65.js} +2 -11
  77. package/dist/chunk-JA6GKU65.js.map +1 -0
  78. package/dist/{chunk-3FMWQQW6.js → chunk-L4Z7B7KL.js} +2 -2
  79. package/dist/{chunk-3K7WN2PO.js → chunk-NBM3YJ4P.js} +3 -3
  80. package/dist/{chunk-CTIMTEH7.js → chunk-NFCAXQ3F.js} +4 -4
  81. package/dist/{chunk-GYDUXL3D.js → chunk-NVXRV3PL.js} +7 -7
  82. package/dist/{chunk-6OSUK2C7.js → chunk-PJ5HXNBG.js} +11 -11
  83. package/dist/{chunk-6OSUK2C7.js.map → chunk-PJ5HXNBG.js.map} +1 -1
  84. package/dist/{chunk-ILNO4ZJ6.js → chunk-PKGBW7KS.js} +2 -2
  85. package/dist/{chunk-NTJUAPJM.js → chunk-PZPTTAO5.js} +7 -7
  86. package/dist/{chunk-HCYRCU4W.js → chunk-QJWIX4YZ.js} +2 -2
  87. package/dist/{chunk-IL4FCC54.js → chunk-RREWYOKS.js} +2 -2
  88. package/dist/{chunk-6D2PFC5C.js → chunk-SKOAJPOS.js} +2 -2
  89. package/dist/{chunk-PIIPEXRM.js → chunk-TVMSXL3R.js} +1 -1
  90. package/dist/chunk-TVMSXL3R.js.map +1 -0
  91. package/dist/chunk-U3HEYECF.js +68 -0
  92. package/dist/chunk-U3HEYECF.js.map +1 -0
  93. package/dist/{chunk-QHP5PZNC.js → chunk-U57NFQYE.js} +2 -1
  94. package/dist/chunk-U57NFQYE.js.map +1 -0
  95. package/dist/{chunk-6QBT5TPS.js → chunk-USZMUOI6.js} +3 -3
  96. package/dist/{chunk-ARJIKW56.js → chunk-UZCQHNXC.js} +2 -2
  97. package/dist/{chunk-ZYJZHXFU.js → chunk-VWW2EXH7.js} +4 -4
  98. package/dist/{chunk-PQ7RWH7L.js → chunk-VZCZAHMX.js} +5 -5
  99. package/dist/{chunk-I3CQBEKS.js → chunk-WF3P7GE5.js} +2 -2
  100. package/dist/{chunk-U47KRLEW.js → chunk-YP7SQ5DM.js} +22 -10
  101. package/dist/chunk-YP7SQ5DM.js.map +1 -0
  102. package/dist/chunk-ZMUXC3VB.js +11 -0
  103. package/dist/chunk-ZMUXC3VB.js.map +1 -0
  104. package/dist/{chunk-HH7PM5HT.js → chunk-ZUQX7XHJ.js} +2 -2
  105. package/dist/data-display/Avatar.js +3 -3
  106. package/dist/data-display/Badge.js +2 -2
  107. package/dist/data-display/CardKit.js +9 -9
  108. package/dist/data-display/Chart.js +10 -10
  109. package/dist/data-display/DataViews.js +38 -36
  110. package/dist/data-display/Popover.js +1 -1
  111. package/dist/en-US.js +1 -1
  112. package/dist/locales.js +2 -2
  113. package/dist/mui/styles.js +2 -1
  114. package/dist/mui/styles.js.map +1 -1
  115. package/dist/navigation/SectionNav.js +9 -9
  116. package/dist/pt-BR.js +1 -1
  117. package/dist/types/components/data-display/DataViews/base-list-card-geometry.d.ts +9 -3
  118. package/dist/types/components/data-display/DataViews/base-list-card-geometry.d.ts.map +1 -1
  119. package/dist/types/components/data-display/DataViews/base-list-card-gutters.d.ts +2 -2
  120. package/dist/types/components/data-display/DataViews/base-list-card-gutters.d.ts.map +1 -1
  121. package/dist/types/components/data-display/DataViews/base-list-card-layout.d.ts +1 -0
  122. package/dist/types/components/data-display/DataViews/base-list-card-layout.d.ts.map +1 -1
  123. package/dist/types/components/data-display/DataViews/base-list-card-slots.d.ts +1 -10
  124. package/dist/types/components/data-display/DataViews/base-list-card-slots.d.ts.map +1 -1
  125. package/dist/types/components/data-display/DataViews/base-list-card.d.ts +1 -1
  126. package/dist/types/components/data-display/DataViews/base-list-card.d.ts.map +1 -1
  127. package/dist/types/components/data-display/DataViews/data-views-copy.d.ts +7 -0
  128. package/dist/types/components/data-display/DataViews/data-views-copy.d.ts.map +1 -1
  129. package/dist/types/components/data-display/DataViews/data-views-export.d.ts.map +1 -1
  130. package/dist/types/components/data-display/DataViews/list-card-breaks.d.ts +21 -0
  131. package/dist/types/components/data-display/DataViews/list-card-breaks.d.ts.map +1 -0
  132. package/dist/types/components/data-display/DataViews/list-card-cells.d.ts +8 -0
  133. package/dist/types/components/data-display/DataViews/list-card-cells.d.ts.map +1 -1
  134. package/dist/types/components/data-display/DataViews/list-card-group-tracks.d.ts +51 -0
  135. package/dist/types/components/data-display/DataViews/list-card-group-tracks.d.ts.map +1 -0
  136. package/dist/types/components/data-display/DataViews/list-card-rails.d.ts +33 -13
  137. package/dist/types/components/data-display/DataViews/list-card-rails.d.ts.map +1 -1
  138. package/dist/types/components/data-display/Popover/Popover.d.ts.map +1 -1
  139. package/dist/types/en-US.data-display.d.ts.map +1 -1
  140. package/dist/types/mui/styles.d.ts +1 -1
  141. package/dist/types/mui/styles.d.ts.map +1 -1
  142. package/dist/types/pt-BR.data-display.d.ts.map +1 -1
  143. package/dist/user-avatar.js +4 -4
  144. package/package.json +1 -1
  145. package/src/components/data-display/DataViews/base-list-card-geometry.tsx +22 -8
  146. package/src/components/data-display/DataViews/base-list-card-gutters.tsx +2 -2
  147. package/src/components/data-display/DataViews/base-list-card-layout.tsx +6 -3
  148. package/src/components/data-display/DataViews/base-list-card-slots.tsx +5 -5
  149. package/src/components/data-display/DataViews/base-list-card.tsx +3 -3
  150. package/src/components/data-display/DataViews/data-views-copy.ts +7 -0
  151. package/src/components/data-display/DataViews/data-views-export.tsx +1 -9
  152. package/src/components/data-display/DataViews/list-card-breaks.ts +21 -0
  153. package/src/components/data-display/DataViews/list-card-cells.tsx +16 -0
  154. package/src/components/data-display/DataViews/list-card-group-tracks.tsx +127 -0
  155. package/src/components/data-display/DataViews/list-card-rails.tsx +58 -30
  156. package/src/components/data-display/Popover/Popover.tsx +10 -3
  157. package/src/en-US.data-display.ts +4 -0
  158. package/src/mui/styles.ts +1 -1
  159. package/src/pt-BR.data-display.ts +4 -0
  160. package/dist/chunk-CMBZ3J6I.js.map +0 -1
  161. package/dist/chunk-COYGTEN5.js.map +0 -1
  162. package/dist/chunk-NHVL2QPG.js.map +0 -1
  163. package/dist/chunk-PIIPEXRM.js.map +0 -1
  164. package/dist/chunk-QHP5PZNC.js.map +0 -1
  165. package/dist/chunk-QKAYXAQE.js.map +0 -1
  166. package/dist/chunk-U47KRLEW.js.map +0 -1
  167. package/dist/chunk-V4V2N6YJ.js.map +0 -1
  168. package/dist/chunk-ZWBGQYVO.js.map +0 -1
  169. /package/dist/{chunk-W7N4ORCV.js.map → chunk-3JYCS7VO.js.map} +0 -0
  170. /package/dist/{chunk-YIKFYWKD.js.map → chunk-46ZATLQV.js.map} +0 -0
  171. /package/dist/{chunk-TF27Z27K.js.map → chunk-4JZ6XDVA.js.map} +0 -0
  172. /package/dist/{chunk-EDBP62WG.js.map → chunk-53ACGKBW.js.map} +0 -0
  173. /package/dist/{chunk-EWIKSTJV.js.map → chunk-5WJFCQFN.js.map} +0 -0
  174. /package/dist/{chunk-WBDQSBLV.js.map → chunk-5XFJCWPY.js.map} +0 -0
  175. /package/dist/{chunk-HPO7PB4F.js.map → chunk-7AAJYWC3.js.map} +0 -0
  176. /package/dist/{chunk-XW5SEW3H.js.map → chunk-AKC5GRJF.js.map} +0 -0
  177. /package/dist/{chunk-4QKS5Y35.js.map → chunk-EBSA4EYR.js.map} +0 -0
  178. /package/dist/{chunk-2W2MWEP2.js.map → chunk-EFLRNSE6.js.map} +0 -0
  179. /package/dist/{chunk-PC4H5LVB.js.map → chunk-EUPUEMFX.js.map} +0 -0
  180. /package/dist/{chunk-4PPNCZWY.js.map → chunk-GS5EPYB4.js.map} +0 -0
  181. /package/dist/{chunk-JVOEVTCZ.js.map → chunk-HQCZT6TO.js.map} +0 -0
  182. /package/dist/{chunk-GK7JNSMK.js.map → chunk-IK2ZVV3M.js.map} +0 -0
  183. /package/dist/{chunk-3FMWQQW6.js.map → chunk-L4Z7B7KL.js.map} +0 -0
  184. /package/dist/{chunk-3K7WN2PO.js.map → chunk-NBM3YJ4P.js.map} +0 -0
  185. /package/dist/{chunk-CTIMTEH7.js.map → chunk-NFCAXQ3F.js.map} +0 -0
  186. /package/dist/{chunk-GYDUXL3D.js.map → chunk-NVXRV3PL.js.map} +0 -0
  187. /package/dist/{chunk-ILNO4ZJ6.js.map → chunk-PKGBW7KS.js.map} +0 -0
  188. /package/dist/{chunk-NTJUAPJM.js.map → chunk-PZPTTAO5.js.map} +0 -0
  189. /package/dist/{chunk-HCYRCU4W.js.map → chunk-QJWIX4YZ.js.map} +0 -0
  190. /package/dist/{chunk-IL4FCC54.js.map → chunk-RREWYOKS.js.map} +0 -0
  191. /package/dist/{chunk-6D2PFC5C.js.map → chunk-SKOAJPOS.js.map} +0 -0
  192. /package/dist/{chunk-6QBT5TPS.js.map → chunk-USZMUOI6.js.map} +0 -0
  193. /package/dist/{chunk-ARJIKW56.js.map → chunk-UZCQHNXC.js.map} +0 -0
  194. /package/dist/{chunk-ZYJZHXFU.js.map → chunk-VWW2EXH7.js.map} +0 -0
  195. /package/dist/{chunk-PQ7RWH7L.js.map → chunk-VZCZAHMX.js.map} +0 -0
  196. /package/dist/{chunk-I3CQBEKS.js.map → chunk-WF3P7GE5.js.map} +0 -0
  197. /package/dist/{chunk-HH7PM5HT.js.map → chunk-ZUQX7XHJ.js.map} +0 -0
package/dist/charts.js CHANGED
@@ -1,23 +1,28 @@
1
1
  import "./chunk-5KLSLD72.js";
2
2
  import {
3
3
  SpecChart
4
- } from "./chunk-4PPNCZWY.js";
4
+ } from "./chunk-GS5EPYB4.js";
5
5
  import {
6
6
  Chart
7
- } from "./chunk-WBDQSBLV.js";
7
+ } from "./chunk-5XFJCWPY.js";
8
8
  import {
9
9
  CHART_SEMANTIC_COLORS,
10
10
  ChartSpecError,
11
11
  parseChartSpec,
12
12
  specToChartProps
13
- } from "./chunk-JVOEVTCZ.js";
13
+ } from "./chunk-HQCZT6TO.js";
14
+ import {
15
+ chartValueFormatter,
16
+ formatChartValue
17
+ } from "./chunk-6GPNZSAE.js";
14
18
  import {
15
19
  getChartSpecRenderer,
16
20
  getRegisteredChartSpecTypes,
17
21
  registerChartSpecRenderer
18
22
  } from "./chunk-WKUA6P3W.js";
19
- import "./chunk-3FMWQQW6.js";
20
- import "./chunk-W7N4ORCV.js";
23
+ import "./chunk-L4Z7B7KL.js";
24
+ import "./chunk-3JYCS7VO.js";
25
+ import "./chunk-FIMSPRKX.js";
21
26
  import "./chunk-SOHQPPYJ.js";
22
27
  import {
23
28
  ChartContainer,
@@ -26,11 +31,6 @@ import {
26
31
  ChartTooltip,
27
32
  ChartTooltipContent
28
33
  } from "./chunk-RIRTW5EU.js";
29
- import "./chunk-FIMSPRKX.js";
30
- import {
31
- chartValueFormatter,
32
- formatChartValue
33
- } from "./chunk-6GPNZSAE.js";
34
34
  import "./chunk-B7ZHEOQQ.js";
35
35
  import "./chunk-BRHRK7BK.js";
36
36
  import "./chunk-25MSGLNU.js";
@@ -1,13 +1,14 @@
1
1
  import {
2
2
  rowGutters
3
- } from "./chunk-U47KRLEW.js";
3
+ } from "./chunk-YP7SQ5DM.js";
4
4
  import {
5
5
  cellRailsTemplate
6
- } from "./chunk-QKAYXAQE.js";
6
+ } from "./chunk-6FAYTKXW.js";
7
7
  import {
8
8
  cellTracks,
9
+ compactCellTracks,
9
10
  useCellConfig
10
- } from "./chunk-COYGTEN5.js";
11
+ } from "./chunk-F5S5UFGD.js";
11
12
  import {
12
13
  default as default2
13
14
  } from "./chunk-6DPAWXZ3.js";
@@ -18,8 +19,10 @@ function useResolvedCells(props, inGroup, gutters) {
18
19
  const groupCells = useCellConfig();
19
20
  const cells = groupCells ?? props.cells ?? null;
20
21
  const configured = cells != null && cells.length > 0 && props.row != null;
21
- const cellTemplate = configured && !inGroup ? cellRailsTemplate(cellTracks(cells), gutters) : null;
22
- return { cells, configured, cellTemplate };
22
+ const own = configured && !inGroup;
23
+ const cellTemplate = own ? cellRailsTemplate(cellTracks(cells), gutters) : null;
24
+ const compactTemplate = own ? cellRailsTemplate(compactCellTracks(cells), gutters) : null;
25
+ return { cells, configured, cellTemplate, compactTemplate };
23
26
  }
24
27
  function rowOpens(props, shell, configured, expandable) {
25
28
  if (expandable) return false;
@@ -52,4 +55,4 @@ export {
52
55
  useRowLayout,
53
56
  StandaloneContainer
54
57
  };
55
- //# sourceMappingURL=chunk-V4V2N6YJ.js.map
58
+ //# sourceMappingURL=chunk-36RYXV4R.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/DataViews/base-list-card-layout.tsx"],"sourcesContent":["\"use client\";\n\nimport { type ReactNode } from \"react\";\n\nimport { Box } from \"../../../mui/Box\";\nimport type { BaseListCardProps } from \"./base-list-card\";\nimport { rowGutters, type StackPlacement, type useRowShell } from \"./base-list-card-geometry\";\nimport { cellRailsTemplate } from \"./list-card-rails\";\nimport { cellTracks, compactCellTracks, useCellConfig, type ListCardCellConfig } from \"./list-card-cells\";\n\n/**\n * WHAT SHAPE A ROW TAKES, resolved once: its cells and their template, whether\n * it ends in the \"this opens\" chevron, and what its two-line form keeps.\n *\n * Split from the card at the file-size gate. Everything here decides; nothing\n * here renders but the standalone container.\n */\n\n/**\n * Which cell config applies, and whether this row resolves its own tracks.\n *\n * The list's config wins over the card's: one declaration of the list's shape is\n * the point, so a row inside a group cannot introduce a column of its own. And\n * the template is standalone-only — inside a group the GROUP owns it and the row\n * is subgrid over it, because a row resolving its own tracks is exactly what\n * stops a list from lining up.\n */\nfunction useResolvedCells(\n props: BaseListCardProps,\n inGroup: boolean,\n gutters: { disclose: boolean; drag: boolean; select: boolean },\n): {\n cells: readonly ListCardCellConfig<never>[] | null;\n configured: boolean;\n cellTemplate: string | null;\n compactTemplate: string | null;\n} {\n const groupCells = useCellConfig();\n const cells = groupCells ?? props.cells ?? null;\n const configured = cells != null && cells.length > 0 && props.row != null;\n const own = configured && !inGroup;\n const cellTemplate = own ? cellRailsTemplate(cellTracks(cells), gutters) : null;\n const compactTemplate = own ? cellRailsTemplate(compactCellTracks(cells), gutters) : null;\n return { cells, configured, cellTemplate, compactTemplate };\n}\n\n/**\n * Whether the row ends in the \"this opens\" chevron: it is live and leads\n * somewhere it can actually go — a click handler, or a link the row renders.\n * Only a named-slot row with a title renders an anchor for `href` (the caption\n * wraps the title), so an `href` alone does not count elsewhere: a chevron on\n * a row that cannot open is the promise the disclosure chevron's docblock\n * warns about. Not when the row expands either:\n * the disclosure chevron already speaks, and a second arrow meaning something\n * else beside it would contradict it.\n */\nfunction rowOpens(\n props: BaseListCardProps,\n shell: ReturnType<typeof useRowShell>,\n configured: boolean,\n expandable: boolean,\n): boolean {\n if (expandable) return false;\n // The named-slot caption renders its anchor only around a title.\n return shell.acts || (shell.actionable && props.href != null && props.title != null && !configured);\n}\n\n/**\n * The cell that takes the VALUE's place when the row stacks: the one the config\n * marks `strong` (\"the figure the row is really about\"), else the last — as\n * long as it is not the first cell, which already holds the title's place.\n */\nfunction valueCellId(cells: readonly ListCardCellConfig<never>[]): string | null {\n const first = cells[0];\n const candidate = cells.find((cell) => cell.strong === true && cell !== first) ?? cells[cells.length - 1];\n return candidate != null && candidate !== first ? candidate.id : null;\n}\n\n/** Everything the row's shape depends on, resolved once. */\nexport function useRowLayout(\n props: BaseListCardProps,\n shell: ReturnType<typeof useRowShell>,\n expandable: boolean,\n): ReturnType<typeof useResolvedCells> & { opens: boolean; stack: StackPlacement } {\n const resolved = useResolvedCells(props, shell.group != null, rowGutters(props, shell));\n const cells = resolved.configured ? resolved.cells : null;\n return {\n ...resolved,\n opens: rowOpens(props, shell, resolved.configured, expandable),\n stack: {\n firstCell: cells?.[0]?.id ?? null,\n valueCell: cells == null ? null : valueCellId(cells),\n expandable,\n },\n };\n}\n\n/**\n * A standalone row's QUERY CONTAINER. A container query matches an ancestor,\n * never the element itself, so the row cannot be the container its own\n * two-line template asks about. In a group the group is the container, and the\n * row must stay its direct child for subgrid, so no wrapper there.\n */\nexport function StandaloneContainer({ inGroup, children }: { inGroup: boolean; children: ReactNode }): React.JSX.Element {\n if (inGroup) return <>{children}</>;\n return <Box sx={{ containerType: \"inline-size\", width: \"100%\", minWidth: 0 }}>{children}</Box>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAwGsB;AA7EtB,SAAS,iBACP,OACA,SACA,SAMA;AACA,QAAM,aAAa,cAAc;AACjC,QAAM,QAAQ,cAAc,MAAM,SAAS;AAC3C,QAAM,aAAa,SAAS,QAAQ,MAAM,SAAS,KAAK,MAAM,OAAO;AACrE,QAAM,MAAM,cAAc,CAAC;AAC3B,QAAM,eAAe,MAAM,kBAAkB,WAAW,KAAK,GAAG,OAAO,IAAI;AAC3E,QAAM,kBAAkB,MAAM,kBAAkB,kBAAkB,KAAK,GAAG,OAAO,IAAI;AACrF,SAAO,EAAE,OAAO,YAAY,cAAc,gBAAgB;AAC5D;AAYA,SAAS,SACP,OACA,OACA,YACA,YACS;AACT,MAAI,WAAY,QAAO;AAEvB,SAAO,MAAM,QAAS,MAAM,cAAc,MAAM,QAAQ,QAAQ,MAAM,SAAS,QAAQ,CAAC;AAC1F;AAOA,SAAS,YAAY,OAA4D;AAC/E,QAAM,QAAQ,MAAM,CAAC;AACrB,QAAM,YAAY,MAAM,KAAK,CAAC,SAAS,KAAK,WAAW,QAAQ,SAAS,KAAK,KAAK,MAAM,MAAM,SAAS,CAAC;AACxG,SAAO,aAAa,QAAQ,cAAc,QAAQ,UAAU,KAAK;AACnE;AAGO,SAAS,aACd,OACA,OACA,YACiF;AACjF,QAAM,WAAW,iBAAiB,OAAO,MAAM,SAAS,MAAM,WAAW,OAAO,KAAK,CAAC;AACtF,QAAM,QAAQ,SAAS,aAAa,SAAS,QAAQ;AACrD,SAAO;AAAA,IACL,GAAG;AAAA,IACH,OAAO,SAAS,OAAO,OAAO,SAAS,YAAY,UAAU;AAAA,IAC7D,OAAO;AAAA,MACL,WAAW,QAAQ,CAAC,GAAG,MAAM;AAAA,MAC7B,WAAW,SAAS,OAAO,OAAO,YAAY,KAAK;AAAA,MACnD;AAAA,IACF;AAAA,EACF;AACF;AAQO,SAAS,oBAAoB,EAAE,SAAS,SAAS,GAAiE;AACvH,MAAI,QAAS,QAAO,gCAAG,UAAS;AAChC,SAAO,oBAACA,UAAA,EAAI,IAAI,EAAE,eAAe,eAAe,OAAO,QAAQ,UAAU,EAAE,GAAI,UAAS;AAC1F;","names":["default"]}
@@ -1,13 +1,13 @@
1
- import {
2
- resolveAxisConfig,
3
- resolveBarGeometry
4
- } from "./chunk-SOHQPPYJ.js";
5
1
  import {
6
2
  getAxisStyles,
7
3
  getDefaultColors,
8
4
  getSizeStyles,
9
5
  resolveSeries
10
6
  } from "./chunk-FIMSPRKX.js";
7
+ import {
8
+ resolveAxisConfig,
9
+ resolveBarGeometry
10
+ } from "./chunk-SOHQPPYJ.js";
11
11
  import {
12
12
  remPx
13
13
  } from "./chunk-YKCAJ2TN.js";
@@ -73,4 +73,4 @@ function marginPx(theme, margin) {
73
73
  export {
74
74
  buildChartContext
75
75
  };
76
- //# sourceMappingURL=chunk-W7N4ORCV.js.map
76
+ //# sourceMappingURL=chunk-3JYCS7VO.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  SectionNavRail
3
- } from "./chunk-EDBP62WG.js";
3
+ } from "./chunk-53ACGKBW.js";
4
4
  import {
5
5
  SectionNavBar
6
- } from "./chunk-ZYJZHXFU.js";
6
+ } from "./chunk-VWW2EXH7.js";
7
7
 
8
8
  // src/components/navigation/SectionNav/SectionNav.tsx
9
9
  import { jsx } from "react/jsx-runtime";
@@ -52,4 +52,4 @@ function SectionNav({
52
52
  export {
53
53
  SectionNav
54
54
  };
55
- //# sourceMappingURL=chunk-YIKFYWKD.js.map
55
+ //# sourceMappingURL=chunk-46ZATLQV.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Avatar
3
- } from "./chunk-XW5SEW3H.js";
3
+ } from "./chunk-AKC5GRJF.js";
4
4
  import {
5
5
  Card
6
6
  } from "./chunk-J2QIICWP.js";
@@ -74,4 +74,4 @@ export {
74
74
  UserAvatar,
75
75
  UserMenu
76
76
  };
77
- //# sourceMappingURL=chunk-TF27Z27K.js.map
77
+ //# sourceMappingURL=chunk-4JZ6XDVA.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  RailCreateMenu
3
- } from "./chunk-IL4FCC54.js";
3
+ } from "./chunk-RREWYOKS.js";
4
4
  import {
5
5
  Box,
6
6
  CONTROL_RESET,
@@ -10,7 +10,7 @@ import {
10
10
  controlProps,
11
11
  destinationControl,
12
12
  focusRing
13
- } from "./chunk-GK7JNSMK.js";
13
+ } from "./chunk-IK2ZVV3M.js";
14
14
  import {
15
15
  destinationState,
16
16
  isMenu
@@ -245,4 +245,4 @@ function SectionNavRail({
245
245
  export {
246
246
  SectionNavRail
247
247
  };
248
- //# sourceMappingURL=chunk-EDBP62WG.js.map
248
+ //# sourceMappingURL=chunk-53ACGKBW.js.map
@@ -1,6 +1,10 @@
1
1
  import {
2
2
  RAIL_GAP_PX
3
- } from "./chunk-QKAYXAQE.js";
3
+ } from "./chunk-6FAYTKXW.js";
4
+ import {
5
+ COMPACT_BREAK,
6
+ META_BREAK
7
+ } from "./chunk-ZMUXC3VB.js";
4
8
  import {
5
9
  DescriptionItem
6
10
  } from "./chunk-UMICTXMP.js";
@@ -19,8 +23,6 @@ import {
19
23
  import KeyboardArrowRightIcon from "@mui/icons-material/KeyboardArrowRight";
20
24
  import { Fragment } from "react";
21
25
  import { Fragment as Fragment2, jsx, jsxs } from "react/jsx-runtime";
22
- var META_BREAK = 520;
23
- var STACK_BREAK = 360;
24
26
  var TABULAR = { fontVariantNumeric: "tabular-nums" };
25
27
  var CLAMP = {
26
28
  overflow: "hidden",
@@ -134,6 +136,8 @@ function ListCardMeta({
134
136
  }
135
137
  var valueFlush = (theme) => ({
136
138
  marginLeft: rem(theme, -RAIL_GAP_PX),
139
+ // The gap it cancels is half as wide in the compact band.
140
+ [`@container (max-width: ${rem(theme, COMPACT_BREAK)})`]: { marginLeft: rem(theme, -RAIL_GAP_PX / 2) },
137
141
  [`@container (max-width: ${rem(theme, META_BREAK)})`]: { marginLeft: 0 }
138
142
  });
139
143
  function ListCardValue({ value }) {
@@ -248,11 +252,9 @@ function ListCardTail({
248
252
  }
249
253
 
250
254
  export {
251
- META_BREAK,
252
- STACK_BREAK,
253
255
  ListCardCaption,
254
256
  ListCardMeta,
255
257
  ListCardActions,
256
258
  ListCardTail
257
259
  };
258
- //# sourceMappingURL=chunk-ZWBGQYVO.js.map
260
+ //# sourceMappingURL=chunk-56PBNYXF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/DataViews/base-list-card-slots.tsx"],"sourcesContent":["\"use client\";\n\nimport KeyboardArrowRightIcon from \"@mui/icons-material/KeyboardArrowRight\";\nimport { Fragment, type ReactNode } from \"react\";\n\nimport { DescriptionItem, type DescriptionItemProps } from \"../DescriptionItem\";\nimport { RAIL_GAP_PX } from \"./list-card-rails\";\nimport { Box } from \"../../../mui/Box\";\nimport { Text } from \"../../typography/Text\";\nimport type { Theme } from \"@mui/material/styles/index.js\";\n\nimport { rem, sxRem } from \"../../../tokens/relative\";\nimport { COMPACT_BREAK, META_BREAK } from \"./list-card-breaks\";\n\nexport { COMPACT_BREAK, META_BREAK, STACK_BREAK } from \"./list-card-breaks\";\n\n/**\n * WHAT SITS IN EACH RAIL.\n *\n * Split from `base-list-card` at the size gate: that module is the shell, the\n * rails and the states; this is the content of each column.\n */\n\n/** Money and dates line up only if their digits are the same width. */\nconst TABULAR = { fontVariantNumeric: \"tabular-nums\" } as const;\n\nconst CLAMP = {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n} as const;\n\n/**\n * Title over subtitle — and, when the row navigates, the anchor that covers it.\n *\n * The link is a real `<a>` stretched by `::after` over the whole card rather\n * than a click handler on a `<div>`. That buys cmd-click, middle-click, \"copy\n * link address\", the status bar preview and correct tab order, and it stops the\n * buttons elsewhere in the row from being interactive elements nested inside a\n * clickable one.\n */\nexport function ListCardCaption({\n title,\n subtitle,\n href,\n target,\n testId,\n}: {\n title?: ReactNode;\n subtitle?: ReactNode;\n href?: string;\n target?: string;\n testId?: string;\n}): React.JSX.Element {\n return (\n <Box data-slot=\"caption\" sx={{ minWidth: 0 }}>\n {title != null && (\n <Text variant=\"heading\" size=\"sm\" weight=\"bold\" as=\"p\">\n <Box\n {...(href ? { component: \"a\", href, target } : { component: \"span\" })}\n data-testid={testId}\n sx={{\n display: \"block\",\n lineHeight: 1.2,\n fontSize: sxRem(14.4),\n color: \"inherit\",\n textDecoration: \"none\",\n ...CLAMP,\n ...(href\n ? {\n \"&::after\": {\n content: '\"\"',\n position: \"absolute\",\n inset: 0,\n // Under the checkbox, drag grip, actions and menu, which\n // all raise themselves to 1.\n zIndex: 0,\n },\n \"&:hover\": { textDecoration: \"underline\" },\n }\n : {}),\n }}\n >\n {title}\n </Box>\n </Text>\n )}\n {subtitle != null && (\n <Text variant=\"caption\" size=\"xs\" color=\"secondary\" as=\"p\">\n <Box component=\"span\" sx={{ display: \"block\", ...CLAMP }}>\n {subtitle}\n </Box>\n </Text>\n )}\n </Box>\n );\n}\n\n/** One rule between two columns. Shared, so every gap gets the same mark. */\nfunction MetaRule(): React.JSX.Element {\n return (\n <Box\n aria-hidden\n sx={{\n flex: \"0 0 auto\",\n color: \"text.disabled\",\n opacity: 0.5,\n userSelect: \"none\",\n fontSize: sxRem(14),\n // A cancelled row strikes the whole meta cluster, and a struck `|` is a\n // dagger. The rule is punctuation, not data — nothing to void.\n textDecoration: \"none\",\n }}\n >\n |\n </Box>\n );\n}\n\n/**\n * The middle columns: stacked label-over-value pairs, separated by a rule.\n *\n * Stacked rather than side by side because `DATA 05/08/2026` inline spends the\n * horizontal room the value rail needs, and the separator is what stops two\n * adjacent pairs reading as one four-word phrase.\n *\n * EVEN GAPS, NOT EVEN BOXES. The rail takes a share of the row's spare width\n * per pair (see `metaRail`), and the obvious way to spend it — give every pair\n * an equal-width box and centre its content — puts the separator on the BOX\n * boundary, which is only the visual midpoint when both pairs are the same\n * width. They never are: `05/08/2026, 13:45` reaches almost to the edge of its\n * box while `PIX` stops well short of its own, so the rule ends up crowded\n * against the date and adrift from the method.\n *\n * So the pairs are sized to their content and the SPARE space is what gets\n * divided evenly. `space-evenly` gives every gap — including the two either\n * side of each separator — the same width, which puts each rule exactly halfway\n * between the two labels it separates, whatever they happen to say.\n */\nexport function ListCardMeta({\n meta,\n metaSlot,\n trailingRule,\n}: {\n meta?: DescriptionItemProps[];\n metaSlot?: ReactNode;\n /** Close the run with a rule, dividing the last pair from the value. */\n trailingRule?: boolean;\n}): React.JSX.Element {\n const items = meta ?? [];\n return (\n <Box\n data-slot=\"meta\"\n sx={(theme) => ({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-evenly\",\n // A FLOOR, not the spacing itself: `space-evenly` supplies the rest, and\n // this is only what keeps a rail with no room to spare from running the\n // date straight into the rule.\n gap: 1,\n whiteSpace: \"nowrap\",\n ...TABULAR,\n // Rung 1 of the ladder.\n [`@container (max-width: ${rem(theme, META_BREAK)})`]: { display: \"none\" },\n })}\n >\n {items.map((item, index) => (\n <Fragment key={`${item.label}-${index}`}>\n {/* ITS OWN ITEM, not the first child of the pair that follows it.\n Nested inside, the rule travelled with that pair's centred content\n and came to rest nearer one label than the other — a separator\n visibly closer to MÉTODO than to DATA reads as belonging to it. */}\n {index > 0 && <MetaRule />}\n {/* Centred: a stacked pair sitting in its own column reads as one\n unit only when the label is over the value rather than flush left\n of a value shorter than it — `MÉTODO` above `PIX` was visibly\n unhinged from it. Overridable per item. */}\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n minWidth: 0,\n // Sized to the pair, so the gaps either side of it are free space\n // that `space-evenly` can equalise.\n flex: \"0 0 auto\",\n }}\n >\n <DescriptionItem orientation=\"vertical\" align=\"center\" {...item} />\n </Box>\n </Fragment>\n ))}\n {metaSlot}\n {trailingRule && items.length > 0 && <MetaRule />}\n </Box>\n );\n}\n\n/**\n * The value sits flush against the meta rail, with no gap of its own.\n *\n * Its divider is now the LAST ITEM OF THE META CLUSTER, placed by the same\n * `space-evenly` that places the rules between the pairs — so it is equidistant\n * from `PIX` and from `R$ 13,90` for free, which a rule centred in the rail gap\n * could never be: the cluster's content stops well short of the rail's right\n * edge, leaving that rule 150px from the method and 12px from the money.\n *\n * Cancelling this one gap is what makes the two distances equal. Below\n * `META_BREAK` the cluster (and its rule) are gone, so the gap comes back —\n * otherwise the value would sit straight against the title.\n */\nconst valueFlush = (theme: Theme) => ({\n marginLeft: rem(theme, -RAIL_GAP_PX),\n // The gap it cancels is half as wide in the compact band.\n [`@container (max-width: ${rem(theme, COMPACT_BREAK)})`]: { marginLeft: rem(theme, -RAIL_GAP_PX / 2) },\n [`@container (max-width: ${rem(theme, META_BREAK)})`]: { marginLeft: 0 },\n});\n\n/** The value, on its own rail, never truncated and never shunted by the chip. */\nfunction ListCardValue({ value }: { value: ReactNode }): React.JSX.Element {\n return (\n <Text variant=\"body\" size=\"sm\" weight=\"medium\" as=\"span\">\n <Box\n component=\"span\"\n sx={{ fontSize: sxRem(14), whiteSpace: \"nowrap\", ...TABULAR }}\n >\n {value}\n </Box>\n </Text>\n );\n}\n\n/**\n * The actions and the menu, at the end of the row.\n *\n * Actions are revealed on hover and `:focus-within` — always-visible buttons on\n * every row of fifty is a lot of chrome for something used on one of them.\n * `:focus-within` is what keeps them reachable by keyboard, and `visibility`\n * rather than `display` keeps their space reserved so nothing shifts.\n */\nexport function ListCardActions({\n actions,\n alwaysVisible,\n menu,\n opens = false,\n testId,\n}: {\n actions?: ReactNode;\n alwaysVisible?: boolean;\n menu?: ReactNode;\n /** End the row with the \"this opens\" chevron. */\n opens?: boolean;\n testId: (slot: string) => string | undefined;\n}): React.JSX.Element | null {\n if (actions == null && menu == null && !opens) return null;\n return (\n // z-index 1: above the stretched link, so these stay clickable. The box\n // itself lets clicks through (`pointer-events: none`, re-enabled on its\n // children): only the controls inside it are meant to catch one, and the\n // chevron, which re-disables it, must hand its click to the row or link\n // underneath rather than swallow it.\n <Box\n data-slot=\"actions\"\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 0.5,\n position: \"relative\",\n zIndex: 1,\n pointerEvents: \"none\",\n \"& > *\": { pointerEvents: \"auto\" },\n }}\n >\n {actions && (\n <Box\n data-testid={testId(\"actions\")}\n onClick={(event) => event.stopPropagation()}\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 0.5,\n ...(alwaysVisible\n ? {}\n : {\n visibility: \"hidden\",\n \".MuiPaper-root:hover &, .MuiPaper-root:focus-within &\": {\n visibility: \"visible\",\n },\n }),\n }}\n >\n {actions}\n </Box>\n )}\n {menu && (\n <Box data-testid={testId(\"menu\")} onClick={(event) => event.stopPropagation()}>\n {menu}\n </Box>\n )}\n {opens && <OpenChevron testId={testId(\"open\")} />}\n </Box>\n );\n}\n\n/**\n * THE \"THIS OPENS\" CHEVRON, at the end of a row that leads somewhere.\n *\n * A row that navigates or opens a record looked exactly like a row that does\n * nothing until a pointer hovered it, and a phone has no hover. Always visible —\n * unlike `actions`, it is a statement about the row, not a control to reveal.\n *\n * Decorative to assistive tech (`aria-hidden`): the row itself is the button or\n * the link, and already says so. It takes no click of its own for the same\n * reason; the click falls through to the row.\n */\nfunction OpenChevron({ testId }: { testId?: string }): React.JSX.Element {\n return (\n <Box\n component=\"span\"\n aria-hidden\n data-testid={testId}\n sx={{ display: \"flex\", alignItems: \"center\", color: \"text.secondary\", pointerEvents: \"none !important\" }}\n >\n <KeyboardArrowRightIcon fontSize=\"small\" />\n </Box>\n );\n}\n\n/** Value and actions — separate rails, not one flex run. */\nexport function ListCardTail({\n value,\n separated,\n actions,\n actionsAlwaysVisible,\n menu,\n opens,\n testId,\n}: {\n value?: ReactNode;\n /** Whether a meta cluster precedes the value and wants dividing from it. */\n separated?: boolean;\n actions?: ReactNode;\n actionsAlwaysVisible?: boolean;\n menu?: ReactNode;\n opens?: boolean;\n testId: (slot: string) => string | undefined;\n}): React.JSX.Element {\n return (\n <>\n <Box\n data-slot=\"value\"\n sx={(theme) => ({\n textAlign: \"right\",\n ...(separated && value != null ? valueFlush(theme) : {}),\n })}\n data-testid={testId(\"value\")}\n >\n {value != null && <ListCardValue value={value} />}\n </Box>\n <ListCardActions\n actions={actions}\n alwaysVisible={actionsAlwaysVisible}\n menu={menu}\n opens={opens}\n testId={testId}\n />\n </>\n );\n}\n"],"mappings":"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","names":["Fragment","default"]}
@@ -1,9 +1,3 @@
1
- import {
2
- RangePresets
3
- } from "./chunk-7D7CJRL7.js";
4
- import {
5
- presetsFor
6
- } from "./chunk-CBOB5AV6.js";
7
1
  import {
8
2
  NumberBoundInput
9
3
  } from "./chunk-FJ3UZ4RC.js";
@@ -13,6 +7,12 @@ import {
13
7
  numericRange,
14
8
  rangeChipLabel
15
9
  } from "./chunk-GCZJH4XL.js";
10
+ import {
11
+ RangePresets
12
+ } from "./chunk-7D7CJRL7.js";
13
+ import {
14
+ presetsFor
15
+ } from "./chunk-CBOB5AV6.js";
16
16
  import {
17
17
  useDataViewsCopy
18
18
  } from "./chunk-KHG57NAE.js";
@@ -291,4 +291,4 @@ export {
291
291
  RangePill,
292
292
  PanelRangeField
293
293
  };
294
- //# sourceMappingURL=chunk-EWIKSTJV.js.map
294
+ //# sourceMappingURL=chunk-5WJFCQFN.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  renderChartByType
3
- } from "./chunk-3FMWQQW6.js";
4
- import {
5
- ChartContainer
6
- } from "./chunk-RIRTW5EU.js";
3
+ } from "./chunk-L4Z7B7KL.js";
7
4
  import {
8
5
  getSizeStyles,
9
6
  getVariantStyles,
10
7
  plotHeightPx
11
8
  } from "./chunk-FIMSPRKX.js";
9
+ import {
10
+ ChartContainer
11
+ } from "./chunk-RIRTW5EU.js";
12
12
  import {
13
13
  muiColor
14
14
  } from "./chunk-7ZPUN7TV.js";
@@ -111,4 +111,4 @@ var Chart = (props) => {
111
111
  export {
112
112
  Chart
113
113
  };
114
- //# sourceMappingURL=chunk-WBDQSBLV.js.map
114
+ //# sourceMappingURL=chunk-5XFJCWPY.js.map
@@ -2,12 +2,13 @@ import {
2
2
  DENSITY_ROW_PADDING
3
3
  } from "./chunk-MUIBNHJW.js";
4
4
  import {
5
- CellConfigProvider,
6
- cellTracks
7
- } from "./chunk-COYGTEN5.js";
5
+ GroupGrid
6
+ } from "./chunk-U3HEYECF.js";
8
7
  import {
9
- default as default2
10
- } from "./chunk-6DPAWXZ3.js";
8
+ CellConfigProvider,
9
+ cellTracks,
10
+ compactCellTracks
11
+ } from "./chunk-F5S5UFGD.js";
11
12
 
12
13
  // src/components/data-display/DataViews/list-card-rails.tsx
13
14
  import { createContext, useContext } from "react";
@@ -77,6 +78,18 @@ function cellRailsTemplate(cells, gutters = { disclose: true, drag: true, select
77
78
  function cellRailCount(cells) {
78
79
  return CELL_FIXED_RAILS + cells + 1;
79
80
  }
81
+ function groupTemplate(cells, resolved) {
82
+ return (dropped, compact) => {
83
+ const gutters = { disclose: !dropped.has("disclose"), drag: !dropped.has("drag"), select: !dropped.has("select") };
84
+ if (cells != null) return cellRailsTemplate(compact ? compactCellTracks(cells) : cellTracks(cells), gutters);
85
+ return railsTemplate({
86
+ ...resolved,
87
+ ...gutters.disclose ? {} : { disclose: null },
88
+ ...gutters.drag ? {} : { drag: null },
89
+ ...gutters.select ? {} : { select: null }
90
+ });
91
+ };
92
+ }
80
93
  function ListCardGroup({
81
94
  children,
82
95
  density = "cozy",
@@ -93,23 +106,14 @@ function ListCardGroup({
93
106
  ...rails
94
107
  };
95
108
  const configured = cells != null && cells.length > 0;
96
- const template = configured ? cellRailsTemplate(cellTracks(cells)) : railsTemplate(resolved);
109
+ const template = groupTemplate(configured ? cells : null, resolved);
97
110
  const railCount = configured ? cellRailCount(cells.length) : RAIL_COUNT;
98
111
  return /* @__PURE__ */ jsx(ListRailsContext.Provider, { value: { density, reserveGutters, railCount }, children: /* @__PURE__ */ jsx(CellConfigProvider, { cells, children: /* @__PURE__ */ jsx(
99
- default2,
112
+ GroupGrid,
100
113
  {
101
- "data-testid": dataTestId,
102
- sx: {
103
- // The query container for every row inside it — a row cannot be one
104
- // itself and a subgrid at the same time (containment drops subgrid).
105
- // Every row in a list is the same width anyway, so the group is the
106
- // honest place to ask the question.
107
- containerType: "inline-size",
108
- display: "grid",
109
- gridTemplateColumns: template,
110
- alignItems: "center",
111
- rowGap: gap ?? DENSITY_ROW_PADDING[density]
112
- },
114
+ dataTestId,
115
+ tracks: { template, railCount, reserveGutters },
116
+ rowGap: gap ?? DENSITY_ROW_PADDING[density],
113
117
  children
114
118
  }
115
119
  ) }) });
@@ -129,4 +133,4 @@ export {
129
133
  cellRailCount,
130
134
  ListCardGroup
131
135
  };
132
- //# sourceMappingURL=chunk-QKAYXAQE.js.map
136
+ //# sourceMappingURL=chunk-6FAYTKXW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/DataViews/list-card-rails.tsx"],"sourcesContent":["\"use client\";\n\nimport { createContext, useContext, type ReactNode } from \"react\";\n\nimport { DENSITY_ROW_PADDING, type DataViewsDensity } from \"./data-views-layout-context\";\nimport { CellConfigProvider, cellTracks, compactCellTracks, type ListCardCellConfig } from \"./list-card-cells\";\nimport { GroupGrid, type GroupTemplate } from \"./list-card-group-tracks\";\n\n/**\n * THE LIST OWNS THE COLUMNS, NOT THE ROW.\n *\n * Every row laying itself out with flex produces a list where nothing lines up.\n * The caption takes `flex: 1` and shoves the rest right; the value sits after\n * the meta cluster with the same gap as any other pair, so `MÉTODO PIX\n * R$ 13,90` reads as one continuous run and the only unlabelled thing in the\n * row is the number that matters most; and because the status chip's width\n * varies with its text (`Pago` vs `Em aberto` vs `Cancelado`), the money jitters\n * left and right on every row down the page.\n *\n * So the rails are declared ONCE, here, and each card is `grid-template-columns:\n * subgrid` spanning them. One set of edges for the whole list, the value on its\n * own rail, the status in a slot wide enough for the longest label it will ever\n * hold. Adding a row cannot move the column.\n *\n * Subgrid needs the card to be a DIRECT child of this grid — no wrapper element\n * between them, which is why the group renders its children bare.\n */\n\n/** One rail. Fixed where alignment matters, flexible where it does not. */\nexport interface ListRails {\n /**\n * The disclosure chevron, ahead of everything.\n *\n * Reserved on the same terms as the gutters behind it: a list where only SOME\n * rows carry an expandable body would otherwise indent those rows and no\n * others, and a column of captions that starts at two different offsets reads\n * as a rendering fault rather than as a row you can open.\n */\n disclose: string;\n /**\n * Reserved even when nothing drags: toggling drag mode must not shift the\n * list. The one exception is the compact band (`COMPACT_BREAK`), where a drag\n * track no row fills leaves the template (`list-card-group-tracks`).\n */\n drag: string;\n /** Reserved even when nothing is selectable, for the same reason. */\n select: string;\n leading: string;\n /** Absorbs spare width, alongside `meta`. */\n caption: string;\n /** Also absorbs spare width, so the middle columns spread rather than bunch. */\n meta: string;\n /** The value's own rail, with a fixed right edge. */\n value: string;\n actions: string;\n}\n\n/**\n * The meta rail, sized to sit its pairs on even intervals WITH the caption.\n *\n * ONE SHARE OF THE SPARE WIDTH PER PAIR, not one for the cluster. A single `1fr`\n * handed the whole cluster as much room as the title and then split it between\n * the pairs, so the title sat on a full share while `DATA` and `MÉTODO` had half\n * a share each — which is why the gap after the title came out twice the gap\n * between the pairs. Even columns need even shares, so the rail grows with the\n * number of pairs it has to hold.\n *\n * `max-content` still floors it: the evenness is never paid for with a clipped\n * label on a row too narrow to afford it.\n */\nexport function metaRail(columns: number): string {\n return `minmax(max-content, ${Math.max(columns, 1)}fr)`;\n}\n\n/**\n * The caption and meta rails, resolved TOGETHER — because exactly one of them\n * has to be the flexible track, and which one depends on whether the row has any\n * middle columns at all.\n *\n * A grid distributes its free space to `fr` tracks; with no `fr` present it\n * spreads it across every `auto` track instead — including the empty gutters,\n * the empty meta rail and the empty status rail. So a row with a title and a\n * value and nothing between them drifted its title into the middle of the row,\n * each empty rail having claimed an equal share of the slack.\n *\n * With pairs to place, `meta` is the flexible one and the caption sizes to its\n * title (the spare width belongs to the only rail with several things to space\n * out). With no pairs, there is nothing to distribute and the caption takes the\n * slack back, which is what it always did.\n */\nexport function contentRails(metaColumns: number): Pick<ListRails, \"caption\" | \"meta\"> {\n return metaColumns > 0\n ? { caption: \"minmax(0, auto)\", meta: metaRail(metaColumns) }\n : { caption: \"minmax(0, 1fr)\", meta: \"auto\" };\n}\n\nexport const DEFAULT_RAILS: ListRails = {\n disclose: \"auto\",\n drag: \"auto\",\n select: \"auto\",\n leading: \"auto\",\n // Two is the canonical row (a date and a method); a list carrying a different\n // number says so with `metaColumns`, and a standalone card counts its own.\n ...contentRails(2),\n // `max-content` on the value, so the rail is as wide as the widest amount in\n // the list and no wider — a fixed px guess is either clipping or dead space.\n // NOT an `fr`: the value's whole promise is a fixed right edge, and a rail\n // that grows with the spare width moves that edge on every list.\n value: \"max-content\",\n actions: \"auto\",\n};\n\nexport interface ListRailsValue {\n density: DataViewsDensity;\n /**\n * Whether the group holds its gutters open even when empty. The GROUP's grid\n * acts on it (`list-card-group-tracks`); a row inside a group renders every\n * gutter regardless, empty when unused, so the group can ask.\n */\n reserveGutters: boolean;\n /**\n * How many tracks a row spans.\n *\n * Fixed at {@link RAIL_COUNT} for the named-slot layout, but a cell-configured\n * list has as many tracks as the config declares, and every row must span the\n * same number or subgrid tears.\n */\n railCount: number;\n}\n\nconst ListRailsContext = createContext<ListRailsValue | null>(null);\n\n/** Is this card inside a group that owns the rails? */\nexport function useListRails(): ListRailsValue | null {\n return useContext(ListRailsContext);\n}\n\n/**\n * The column template, as one `grid-template-columns` value.\n *\n * A rail set to `null` is DROPPED rather than sized to zero. The two are not the\n * same: a zero-width track still takes a `column-gap` beside it, so a gutter\n * nobody is using still pushes the row's contents inward. A standalone card drops\n * the ones it does not render; a group drops one only when NO row fills it\n * (`list-card-group-tracks`), since its rows are subgrid over one template and\n * must all span the same count.\n */\nexport function railsTemplate(rails: RailOverrides): string {\n return [\n rails.disclose,\n rails.drag,\n rails.select,\n rails.leading,\n rails.caption,\n rails.meta,\n rails.value,\n rails.actions,\n ]\n .filter((rail): rail is string => rail != null)\n .join(\" \");\n}\n\n/** A rail set, where `null` means \"this rail is not in the template at all\". */\ntype RailOverrides = { [K in keyof ListRails]: ListRails[K] | null };\n\n/** The gap between rails, in theme spacing units. */\nexport const RAIL_GAP = 3;\n\n/** …the same gap in pixels, for anything drawing INTO it. */\nexport const RAIL_GAP_PX = RAIL_GAP * 8;\n\n/**\n * AN EMPTY GUTTER COSTS ITS OWN WIDTH *AND* THE RAIL GAP BESIDE IT.\n *\n * A zero-width grid track still gets a `column-gap`, and no margin on the item\n * inside it can win that back — gaps sit between TRACKS, and a track's position\n * is settled before any item's margin is applied. (Tried it; the box simply\n * overhangs its own track and everything after it stays put.) So a row with\n * nothing to drag was paying 24px for a rail holding nothing, which was the\n * single biggest contributor to the left inset the checkbox appeared to have.\n *\n * The only way out is for the track NOT TO EXIST: the slot renders nothing and\n * the rail leaves the template, which is safe because grid auto-placement fills\n * the remaining tracks in DOM order. This is the standalone rule — inside a\n * {@link ListCardGroup} the rails are subgrid across a shared template and the\n * count cannot vary per row, which is also where `reserveGutters` earns its\n * keep: a selectable list and a read-only one still line up, and turning drag\n * mode on does not shift every row sideways. (A group drops a gutter only when\n * no row fills it: `list-card-group-tracks`.)\n */\nexport function railsTemplateFor(\n gutters: { disclose: boolean; drag: boolean; select: boolean },\n metaColumns: number,\n): string {\n return railsTemplate({\n ...DEFAULT_RAILS,\n // Standalone, the card can simply COUNT its pairs — no `metaColumns` to be\n // told, and no guess.\n ...contentRails(metaColumns),\n ...(gutters.disclose ? {} : { disclose: null }),\n ...(gutters.drag ? {} : { drag: null }),\n ...(gutters.select ? {} : { select: null }),\n });\n}\n\n/** How many rails the named-slot layout has — the span such a card claims. */\nexport const RAIL_COUNT = 8;\n\n/**\n * The gutters and the trailing menu that bracket a CONFIGURED row.\n *\n * A cell-configured list still has a head and a tail the config does not\n * describe: the disclosure chevron, the drag grip and the checkbox in front, and\n * the overflow menu behind. The menu is not optional — it is where a row's\n * actions live, and a list that hid it would have nowhere to put them.\n */\nconst CELL_FIXED_RAILS = 4;\n\n/**\n * Tracks for a cell-configured row: gutters, leading, the cells, then the menu.\n *\n * `gutters` says which of the three head gutters RENDER. The group passes all\n * three and drops, in CSS, any no row fills (`list-card-group-tracks`), so every\n * row spans the same tracks. A standalone row\n * renders a gutter only when it uses it, and a track whose slot renders nothing\n * is not a reserved gap: grid auto-placement fills it with the NEXT slot. So the\n * checkbox landed in the disclosure track, the glyph in the drag track, and\n * every cell two tracks early, in a column sized for something else. The named-\n * slot layout already drops absent gutters ({@link railsTemplateFor}); this is\n * the same rule for configured cells.\n */\nexport function cellRailsTemplate(\n cells: readonly string[],\n gutters: { disclose: boolean; drag: boolean; select: boolean } = { disclose: true, drag: true, select: true },\n): string {\n return [\n gutters.disclose ? DEFAULT_RAILS.disclose : null,\n gutters.drag ? DEFAULT_RAILS.drag : null,\n gutters.select ? DEFAULT_RAILS.select : null,\n DEFAULT_RAILS.leading,\n ...cells,\n DEFAULT_RAILS.actions,\n ]\n .filter((rail): rail is string => rail != null)\n .join(\" \");\n}\n\n/** How many tracks such a row spans — the fixed head/tail plus one per cell. */\nexport function cellRailCount(cells: number): number {\n return CELL_FIXED_RAILS + cells + 1;\n}\n\n/**\n * A {@link ListCardGroup}'s configuration, as a value a caller can pass around.\n *\n * The same fields the group takes as props, named once so a table can accept\n * \"the list's columns\" as a single prop and hand them straight over. It is what\n * makes a list line up BY CONSTRUCTION rather than by convention: without it\n * every row resolves its own tracks from its own copy of the config, which\n * agrees with its neighbours right until one row carries an unusually wide value.\n */\nexport interface ListGroupConfig<T extends Record<string, unknown>> {\n /**\n * The cells every row renders. Supplying these replaces the named-slot layout\n * (title/subtitle/meta/value/status) for the rows inside.\n */\n cells?: readonly ListCardCellConfig<T>[];\n /**\n * How many labelled pairs the rows carry, in the named-slot layout. The group\n * renders its children opaquely and cannot count them.\n */\n metaColumns?: number;\n /** Override individual rails; anything omitted keeps its default. */\n rails?: Partial<ListRails>;\n /**\n * Hold the head gutters open even when nothing uses them. On by default, so a\n * selectable list and a read-only one still line up. Off, a gutter no row in\n * the list uses takes no track (see `list-card-group-tracks`).\n */\n reserveGutters?: boolean;\n}\n\n/**\n * The group's template for a given set of dropped gutters, plain or compact —\n * from its cells when it has them, from its named-slot rails otherwise.\n */\nfunction groupTemplate(cells: readonly ListCardCellConfig<never>[] | null, resolved: ListRails): GroupTemplate {\n return (dropped, compact) => {\n const gutters = { disclose: !dropped.has(\"disclose\"), drag: !dropped.has(\"drag\"), select: !dropped.has(\"select\") };\n if (cells != null) return cellRailsTemplate(compact ? compactCellTracks(cells) : cellTracks(cells), gutters);\n return railsTemplate({\n ...resolved,\n ...(gutters.disclose ? {} : { disclose: null }),\n ...(gutters.drag ? {} : { drag: null }),\n ...(gutters.select ? {} : { select: null }),\n });\n };\n}\n\n/**\n * A list of {@link BaseListCard}s that share one set of columns.\n *\n * Also the natural home for the things a review pointed out belong to the list\n * rather than the card: the density every row answers, and — when it lands —\n * shift-click range selection and the single `aria-live` region a list needs\n * (fifty polite live regions is a screen-reader nightmare, which is why the\n * card no longer takes one).\n */\nexport function ListCardGroup({\n children,\n density = \"cozy\",\n cells,\n metaColumns,\n rails,\n reserveGutters = true,\n gap,\n dataTestId,\n}: {\n children: ReactNode;\n density?: DataViewsDensity;\n /**\n * The list's CELL CONFIG — declared once here, obeyed by every row.\n *\n * This is what makes the columns line up by construction rather than by\n * convention: the group resolves the tracks and hands the same config to every\n * card, so two rows cannot disagree about the shape of the list because\n * neither of them decides it.\n *\n * Supplying this replaces the named-slot layout (title/subtitle/meta/value/\n * status) for the rows inside — they render `row` through these cells instead.\n * The gutters and the overflow menu are unaffected; they bracket the cells and\n * are not the config's to describe.\n */\n cells?: readonly ListCardCellConfig<never>[];\n /**\n * How many labelled pairs the rows in this list carry.\n *\n * The rail claims one share of the spare width per pair, so the title and\n * every pair land on even intervals. A list is homogeneous — its rows show\n * the same fields — but the group renders its children opaquely and cannot\n * count them, so this is the one thing it has to be told.\n */\n metaColumns?: number;\n /** Override individual rails; anything omitted keeps its default. */\n rails?: Partial<ListRails>;\n /**\n * Hold the head gutters (disclosure, drag, select) open even when nothing\n * uses them.\n *\n * On by default: a selectable list and a read-only one should line up, and\n * turning drag mode on should not shift every row sideways. The one\n * exception is the compact band, where an empty drag track leaves.\n *\n * Off, a gutter that NO row in the list uses takes no track, and one that any\n * row uses is a track for every row — the list still lines up, it just stops\n * paying for columns nobody needs. (It used to keep all three tracks while\n * the rows rendered nothing in the empty ones, so every cell auto-flowed into\n * the track before its own.)\n */\n reserveGutters?: boolean;\n /** Row gap. Defaults to the density's own spacing. */\n gap?: number;\n dataTestId?: string;\n}): React.JSX.Element {\n const resolved = {\n ...DEFAULT_RAILS,\n ...(metaColumns == null ? {} : contentRails(metaColumns)),\n ...rails,\n };\n const configured = cells != null && cells.length > 0;\n const template = groupTemplate(configured ? cells : null, resolved);\n const railCount = configured ? cellRailCount(cells.length) : RAIL_COUNT;\n return (\n <ListRailsContext.Provider value={{ density, reserveGutters, railCount }}>\n <CellConfigProvider cells={cells}>\n <GroupGrid\n dataTestId={dataTestId}\n tracks={{ template, railCount, reserveGutters }}\n rowGap={gap ?? DENSITY_ROW_PADDING[density]}\n >\n {children}\n </GroupGrid>\n </CellConfigProvider>\n </ListRailsContext.Provider>\n );\n}\n"],"mappings":"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","names":[]}
@@ -106,21 +106,25 @@ var Popover = React.forwardRef(
106
106
  maxWidth,
107
107
  dataTestId,
108
108
  children,
109
+ PaperProps: callerPaper,
109
110
  ...props
110
111
  }, ref) => /* @__PURE__ */ jsx(
111
112
  MuiPopover,
112
113
  {
113
114
  ref,
114
115
  "data-testid": dataTestId || "popover-content",
116
+ ...props,
115
117
  PaperProps: {
118
+ ...callerPaper,
116
119
  component: StyledPaper,
117
120
  customVariant: variant,
118
121
  glow,
119
122
  pulse,
120
- sx: { maxWidth: popoverCap(maxWidth) },
121
- ...props.PaperProps
123
+ sx: [
124
+ { maxWidth: popoverCap(maxWidth) },
125
+ ...Array.isArray(callerPaper?.sx) ? callerPaper.sx : [callerPaper?.sx ?? {}]
126
+ ]
122
127
  },
123
- ...props,
124
128
  children
125
129
  }
126
130
  )
@@ -130,4 +134,4 @@ Popover.displayName = "Popover";
130
134
  export {
131
135
  Popover
132
136
  };
133
- //# sourceMappingURL=chunk-62E2X66R.js.map
137
+ //# sourceMappingURL=chunk-72BVL6VF.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/data-display/Popover/Popover.tsx"],"sourcesContent":["import type { PaperProps } from '@mui/material/Paper/index.js';\nimport Paper from '@mui/material/Paper/index.js';\nimport MuiPopover from '@mui/material/Popover/index.js';\nimport { alpha, keyframes, styled, type Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport type { PopoverProps } from './Popover.types';\nimport { shadowInk } from '../../../tokens/ink';\nimport { rem, rems } from '../../../tokens/relative';\n\n// Define pulse animation\nconst pulseAnimation = (theme: Theme) => keyframes`\n 0% {\n box-shadow: 0 0 0 0 currentColor;\n opacity: 1;\n }\n 70% {\n box-shadow: 0 0 0 ${rem(theme, 10)} currentColor;\n opacity: 0;\n }\n 100% {\n box-shadow: 0 0 0 0 currentColor;\n opacity: 0;\n }\n`;\n\nconst StyledPaper = styled(Paper, {\n shouldForwardProp: (prop) => \n !['customVariant', 'glow', 'pulse'].includes(prop as string),\n})<{ \n customVariant?: string; \n glow?: boolean; \n pulse?: boolean; \n}>(({ theme, customVariant, glow, pulse }) => ({\n borderRadius: theme.spacing(1.5),\n transition: 'all 0.3s ease',\n position: 'relative',\n overflow: 'hidden',\n\n // Variant styles\n ...(customVariant === 'default' && {\n backgroundColor: theme.palette.background.paper,\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n boxShadow: theme.shadows[8],\n }),\n\n ...(customVariant === 'glass' && {\n backgroundColor: alpha(theme.palette.background.paper, 0.1),\n backdropFilter: `blur(${rem(theme, 20)})`,\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n boxShadow: `${rems(theme, 0, 8, 32)} ${shadowInk(theme, 0.1)}`,\n }),\n\n ...(customVariant === 'arrow' && {\n backgroundColor: theme.palette.background.paper,\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n boxShadow: theme.shadows[12],\n }),\n\n // Glow effect\n ...(glow && !pulse && {\n boxShadow: `${rems(theme, 0, 0, 20, 5)} ${alpha(theme.palette.primary.main, 0.3)} !important`,\n filter: 'brightness(1.05)',\n }),\n\n // Pulse animation\n ...(pulse && !glow && {\n position: 'relative',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n borderRadius: 'inherit',\n backgroundColor: theme.palette.primary.main,\n opacity: 0.1,\n animation: `${pulseAnimation(theme)} 2s infinite`,\n pointerEvents: 'none',\n zIndex: -1,\n },\n }),\n\n // Both glow and pulse\n ...(glow && pulse && {\n position: 'relative',\n boxShadow: `${rems(theme, 0, 0, 20, 5)} ${alpha(theme.palette.primary.main, 0.3)} !important`,\n filter: 'brightness(1.05)',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n borderRadius: 'inherit',\n backgroundColor: theme.palette.primary.main,\n opacity: 0.1,\n animation: `${pulseAnimation(theme)} 2s infinite`,\n pointerEvents: 'none',\n zIndex: -1,\n },\n }),\n}));\n\n/**\n * The paper's cap: 400 design px unless the caller says otherwise. `sx` has\n * always read a number of 1 or less as a fraction of the parent, and that stays so.\n */\nconst popoverCap =\n (maxWidth: number | undefined) =>\n (theme: Theme): string => {\n const cap = maxWidth ?? 400;\n return cap <= 1 && cap !== 0 ? `${cap * 100}%` : rem(theme, cap);\n };\n\nexport const Popover = React.forwardRef<HTMLDivElement, PopoverProps>(\n ({\n variant = 'default',\n glow = false,\n pulse = false,\n maxWidth,\n dataTestId,\n children,\n ...props\n }, ref) => (\n <MuiPopover\n ref={ref}\n data-testid={dataTestId || 'popover-content'}\n PaperProps={{\n component: StyledPaper as React.ComponentType<PaperProps>,\n customVariant: variant,\n glow,\n pulse,\n sx: { maxWidth: popoverCap(maxWidth) },\n ...props.PaperProps,\n } as PaperProps & { customVariant?: string; glow?: boolean; pulse?: boolean }}\n {...props}\n >\n {children}\n </MuiPopover>\n )\n);\n\nPopover.displayName = 'Popover';"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/components/data-display/Popover/Popover.tsx"],"sourcesContent":["import type { PaperProps } from '@mui/material/Paper/index.js';\nimport Paper from '@mui/material/Paper/index.js';\nimport MuiPopover from '@mui/material/Popover/index.js';\nimport { alpha, keyframes, styled, type Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport type { PopoverProps } from './Popover.types';\nimport { shadowInk } from '../../../tokens/ink';\nimport { rem, rems } from '../../../tokens/relative';\n\n// Define pulse animation\nconst pulseAnimation = (theme: Theme) => keyframes`\n 0% {\n box-shadow: 0 0 0 0 currentColor;\n opacity: 1;\n }\n 70% {\n box-shadow: 0 0 0 ${rem(theme, 10)} currentColor;\n opacity: 0;\n }\n 100% {\n box-shadow: 0 0 0 0 currentColor;\n opacity: 0;\n }\n`;\n\nconst StyledPaper = styled(Paper, {\n shouldForwardProp: (prop) => \n !['customVariant', 'glow', 'pulse'].includes(prop as string),\n})<{ \n customVariant?: string; \n glow?: boolean; \n pulse?: boolean; \n}>(({ theme, customVariant, glow, pulse }) => ({\n borderRadius: theme.spacing(1.5),\n transition: 'all 0.3s ease',\n position: 'relative',\n overflow: 'hidden',\n\n // Variant styles\n ...(customVariant === 'default' && {\n backgroundColor: theme.palette.background.paper,\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n boxShadow: theme.shadows[8],\n }),\n\n ...(customVariant === 'glass' && {\n backgroundColor: alpha(theme.palette.background.paper, 0.1),\n backdropFilter: `blur(${rem(theme, 20)})`,\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n boxShadow: `${rems(theme, 0, 8, 32)} ${shadowInk(theme, 0.1)}`,\n }),\n\n ...(customVariant === 'arrow' && {\n backgroundColor: theme.palette.background.paper,\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n boxShadow: theme.shadows[12],\n }),\n\n // Glow effect\n ...(glow && !pulse && {\n boxShadow: `${rems(theme, 0, 0, 20, 5)} ${alpha(theme.palette.primary.main, 0.3)} !important`,\n filter: 'brightness(1.05)',\n }),\n\n // Pulse animation\n ...(pulse && !glow && {\n position: 'relative',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n borderRadius: 'inherit',\n backgroundColor: theme.palette.primary.main,\n opacity: 0.1,\n animation: `${pulseAnimation(theme)} 2s infinite`,\n pointerEvents: 'none',\n zIndex: -1,\n },\n }),\n\n // Both glow and pulse\n ...(glow && pulse && {\n position: 'relative',\n boxShadow: `${rems(theme, 0, 0, 20, 5)} ${alpha(theme.palette.primary.main, 0.3)} !important`,\n filter: 'brightness(1.05)',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n borderRadius: 'inherit',\n backgroundColor: theme.palette.primary.main,\n opacity: 0.1,\n animation: `${pulseAnimation(theme)} 2s infinite`,\n pointerEvents: 'none',\n zIndex: -1,\n },\n }),\n}));\n\n/**\n * The paper's cap: 400 design px unless the caller says otherwise. `sx` has\n * always read a number of 1 or less as a fraction of the parent, and that stays so.\n */\nconst popoverCap =\n (maxWidth: number | undefined) =>\n (theme: Theme): string => {\n const cap = maxWidth ?? 400;\n return cap <= 1 && cap !== 0 ? `${cap * 100}%` : rem(theme, cap);\n };\n\nexport const Popover = React.forwardRef<HTMLDivElement, PopoverProps>(\n ({\n variant = 'default',\n glow = false,\n pulse = false,\n maxWidth,\n dataTestId,\n children,\n PaperProps: callerPaper,\n ...props\n }, ref) => (\n <MuiPopover\n ref={ref}\n data-testid={dataTestId || 'popover-content'}\n {...props}\n // After the spread, and merged rather than replaced: a caller's\n // `PaperProps` used to land last and drop the styled paper, its variant\n // and the width cap; and its `sx` now adds to the cap instead.\n PaperProps={{\n ...callerPaper,\n component: StyledPaper as React.ComponentType<PaperProps>,\n customVariant: variant,\n glow,\n pulse,\n sx: [\n { maxWidth: popoverCap(maxWidth) },\n ...(Array.isArray(callerPaper?.sx) ? callerPaper.sx : [callerPaper?.sx ?? {}]),\n ],\n } as PaperProps & { customVariant?: string; glow?: boolean; pulse?: boolean }}\n >\n {children}\n </MuiPopover>\n )\n);\n\nPopover.displayName = 'Popover';"],"mappings":"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","names":[]}
@@ -4,7 +4,7 @@ import {
4
4
  NOT_LIVE,
5
5
  SlotIcon,
6
6
  focusRing
7
- } from "./chunk-GK7JNSMK.js";
7
+ } from "./chunk-IK2ZVV3M.js";
8
8
  import {
9
9
  rem
10
10
  } from "./chunk-YKCAJ2TN.js";
@@ -110,4 +110,4 @@ function raisedSx(theme, expanded) {
110
110
  export {
111
111
  RaisedActionButton
112
112
  };
113
- //# sourceMappingURL=chunk-HPO7PB4F.js.map
113
+ //# sourceMappingURL=chunk-7AAJYWC3.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AvatarView
3
- } from "./chunk-GYDUXL3D.js";
3
+ } from "./chunk-NVXRV3PL.js";
4
4
  import {
5
5
  BORDER_WIDTH,
6
6
  GROUP_HOVER,
@@ -175,4 +175,4 @@ export {
175
175
  Avatar,
176
176
  AvatarGroup
177
177
  };
178
- //# sourceMappingURL=chunk-XW5SEW3H.js.map
178
+ //# sourceMappingURL=chunk-AKC5GRJF.js.map
@@ -159,6 +159,7 @@ var EN_US_DATA_VIEWS_COPY = {
159
159
  // disk in every language.
160
160
  json: { label: "JSON (.json)", hint: "For integrations" }
161
161
  },
162
+ scopeLine: (selectedCount, totalCount) => selectedCount > 0 ? `Exporting ${selectedCount} selected ${selectedCount === 1 ? "item" : "items"}` : `Exporting ${totalCount} filtered ${totalCount === 1 ? "item" : "items"}`,
162
163
  visibleColumns: (columnCount) => `${columnCount} visible columns, in their current order`,
163
164
  trigger: "Export",
164
165
  triggerLabel: "Export"
@@ -257,4 +258,4 @@ export {
257
258
  EN_US_DATA_STATE_COPY,
258
259
  EN_US_DATA_VIEWS_COPY
259
260
  };
260
- //# sourceMappingURL=chunk-NHVL2QPG.js.map
261
+ //# sourceMappingURL=chunk-D7PVIC33.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/en-US.data-display.ts"],"sourcesContent":["/**\n * The en-US pack for the data-display family. Split the same way\n * `pt-BR.data-display.ts` is — see `en-US.ts` for why.\n */\nimport type { DataViewsCopy } from \"./components/data-display/DataViews/data-views-copy\";\nimport type {\n CarouselCopy,\n DataGridCopy,\n DataStateCopy,\n LightboxCopy,\n MapPreviewCopy,\n TimingDiagramCopy,\n} from './copy';\nimport { EN_US_TABLE_FILTER_COPY } from './en-US.layout';\nimport {\n EN_US_CATEGORY_SELECT_COPY,\n EN_US_CONFIRM_ACTION_COPY,\n EN_US_SAVED_VIEWS_LABELS,\n} from './en-US.shared';\n\nexport const EN_US_LIGHTBOX_COPY: LightboxCopy = {\n close: \"Close\",\n previous: \"Previous\",\n next: \"Next\",\n zoomIn: \"Zoom in\",\n zoomOut: \"Zoom out\",\n resetZoom: \"Reset zoom\",\n play: \"Start the slideshow\",\n pause: \"Pause the slideshow\",\n dialogLabel: \"Lightbox\",\n itemPosition: (index, total) => `Item ${index} of ${total}`,\n videoFallback: (index, total) => `Video ${index} of ${total}`,\n imageFallback: (index, total) => `Image ${index} of ${total}`,\n thumbnailFallback: (index) => `Thumbnail ${index}`,\n};\n\nexport const EN_US_DATA_GRID_COPY: DataGridCopy = {\n sortBy: (header) => `Sort by ${header}`,\n selectRow: (rowNumber) => `Select row ${rowNumber}`,\n selectAllRows: \"Select all rows\",\n expandRow: \"Expand row\",\n collapseRow: \"Collapse row\",\n gridLabel: \"Data grid\",\n};\n\nexport const EN_US_MAP_PREVIEW_COPY: MapPreviewCopy = {\n zoomIn: \"Zoom in\",\n zoomOut: \"Zoom out\",\n center: \"Centre the map\",\n mapType: \"Change the map type\",\n fullscreen: \"Full screen\",\n search: \"Search for an address\",\n};\n\nexport const EN_US_CAROUSEL_COPY: CarouselCopy = {\n previous: \"Previous\",\n next: \"Next\",\n};\n\nexport const EN_US_TIMING_DIAGRAM_COPY: TimingDiagramCopy = {\n regionLabel: \"Timing diagram\",\n heading: \"Request timing\",\n dns: \"DNS Lookup\",\n connect: \"Connection\",\n ssl: \"SSL/TLS\",\n request: \"Request\",\n response: \"Response\",\n total: (formatted) => `Total: ${formatted}`,\n totalTime: (formatted) => `Total Time: ${formatted}`,\n};\n\nexport const EN_US_DATA_STATE_COPY: DataStateCopy = {\n empty: \"Nothing here\",\n loading: \"Loading…\",\n endOfList: \"No more items to load\",\n dismissAlert: \"Dismiss\",\n dismissBanner: \"Dismiss this banner\",\n};\n\nexport const EN_US_DATA_VIEWS_COPY: DataViewsCopy = {\n savedViewsMenu: EN_US_SAVED_VIEWS_LABELS,\n confirmAction: EN_US_CONFIRM_ACTION_COPY,\n categorySelect: EN_US_CATEGORY_SELECT_COPY,\n board: {\n countOnPage: (label, count) => `${label}: ${count} on this page`,\n onThisPage: (count) => `${count} on this page`,\n pageSum: (sum) => `This page totals ${sum}`,\n emptyColumn: \"Nothing at this stage\",\n pageScopeNote: \"The counts and totals below cover only the items on this page.\",\n },\n deleteView: {\n title: \"Delete view\",\n target: (viewName) => `Delete \"${viewName}\"?`,\n sharedWarning: \"This view is shared — the team will lose access to it.\",\n // `entityLabel` is the HOST's word for what the rows are, so the sentence is\n // built around it rather than naming a noun of its own.\n rowsUnaffected: (entityLabel) =>\n `${entityLabel} are not affected; only the saved slice is removed.`,\n confirm: \"Delete view\",\n cancel: \"Cancel\",\n },\n manageViews: {\n title: \"Manage views\",\n empty: \"No saved views.\",\n edit: \"Edit\",\n defaultTag: \"Default\",\n otherUserTag: \"Another user's\",\n deleteTitle: \"Delete this saved view?\",\n deleteBody: \"The filters and columns it holds are lost. This cannot be undone.\",\n deleteConfirm: \"Delete\",\n },\n saveView: {\n sharedDescription: \"Anyone in the store will be able to open and use this view.\",\n setDefaultTitle: \"Set as default\",\n setDefaultDescription: \"This screen opens on this view instead of the Main view.\",\n previewHeading: \"What this view holds\",\n previewUnchanged: \"Nothing has changed — this view will match the Main view.\",\n sortRowLabel: \"Sorting\",\n saveFailed: \"Could not save the view.\",\n titleEditing: \"Edit view\",\n titleCreating: \"Save view\",\n descriptionLabel: \"Description — optional\",\n descriptionPlaceholder: \"What this view is for\",\n submitEditing: \"Save changes\",\n submitCreating: \"Save view\",\n nameLabel: \"Name\",\n cancel: \"Cancel\",\n pinnedTitle: \"Pin to the sidebar\",\n pinnedDescription: \"Appears as a shortcut in the menu, under this screen.\",\n sharedTitle: \"Share with the team\",\n namePlaceholder: \"e.g. Declined card payments this week\",\n previewFilters: \"Filters\",\n previewHiddenColumns: \"Hidden columns\",\n },\n columns: {\n visibleCount: (visible, total) => `${visible} of ${total} visible`,\n reset: \"Default\",\n showAll: \"Show all\",\n dragHint: \"Drag to reorder the columns.\",\n moveUp: (columnLabel) => `Move ${columnLabel} up`,\n moveDown: (columnLabel) => `Move ${columnLabel} down`,\n },\n display: {\n sortTab: \"Sort\",\n columnsTab: \"Columns\",\n panelTab: \"Display\",\n direction: \"Direction\",\n layoutHints: {\n table: \"Comparable columns, good for scanning numbers.\",\n list: \"One row per item, with the key fields.\",\n cards: \"Larger blocks, good for a handful of items.\",\n board: \"A column per stage, for tracking what is where.\",\n },\n densityHeadings: {\n table: \"Row height\",\n list: \"Row height\",\n cards: \"Cards per row\",\n board: \"Column width\",\n },\n densityLabels: {\n table: { compact: \"Low\", cozy: \"Medium\", comfortable: \"High\" },\n list: { compact: \"Low\", cozy: \"Medium\", comfortable: \"High\" },\n cards: { compact: \"Many\", cozy: \"Some\", comfortable: \"Few\" },\n board: { compact: \"Narrow\", cozy: \"Medium\", comfortable: \"Wide\" },\n },\n boardUnavailable: \"This screen declares no stages, so it offers no board.\",\n densityUnavailableNarrow:\n \"One card per row at this width — density returns on larger screens.\",\n trigger: \"Display\",\n fieldHeading: \"Field\",\n formatHeading: \"Format\",\n cardZoom: \"Card size\",\n },\n export: {\n formats: {\n // The extension is the file's, not a word: it stays as it is written on\n // disk in every language.\n json: { label: \"JSON (.json)\", hint: \"For integrations\" },\n },\n scopeLine: (selectedCount, totalCount) =>\n selectedCount > 0\n ? `Exporting ${selectedCount} selected ${selectedCount === 1 ? \"item\" : \"items\"}`\n : `Exporting ${totalCount} filtered ${totalCount === 1 ? \"item\" : \"items\"}`,\n visibleColumns: (columnCount) => `${columnCount} visible columns, in their current order`,\n trigger: \"Export\",\n triggerLabel: \"Export\",\n },\n tableFilter: EN_US_TABLE_FILTER_COPY,\n grid: {\n ...EN_US_DATA_GRID_COPY,\n rowActions: \"Actions\",\n bulkActions: (selectedCount) => `Actions (${selectedCount}) ▾`,\n emptyFilteredTitle: \"No results for these filters\",\n emptyFilteredHint: \"Adjust or remove the filters.\",\n emptyFilteredAction: \"Clear filters\",\n },\n filters: {\n moreFilters: (count) => `More filters: ${count} did not fit in the bar`,\n moreFiltersApplied: (count, appliedCount) =>\n `More filters: ${count} did not fit in the bar, ${appliedCount} applied`,\n moreTriggerLabel: \"More\",\n moreHeading: \"More filters\",\n overflowNote: \"did not fit in the bar\",\n rangeEnd: \"To\",\n rangeInvalid: \"The start must be earlier than the end.\",\n rangeInclusiveNote: \"Both dates are included in the result.\",\n rangeStart: \"From\",\n // The mask is what the reader TYPES, so it follows their own date order\n // rather than being carried over. A translated label above an unchanged\n // mask is the shape that gets a date entered backwards.\n dayMask: \"mm/dd/yyyy\",\n clearAllFilters: \"Clear all filters\",\n // The KEYS are the package's own preset ids and stay as they are — the\n // surface matches on them. Only the labels beside them are words.\n rangePresets: {\n hoje: \"Today\",\n ontem: \"Yesterday\",\n semana: \"This week\",\n mes: \"This month\",\n ano: \"This year\",\n },\n scopesLabel: \"Status\",\n panelTitle: \"Filters\",\n clear: \"Clear\",\n clearAll: \"Clear filters\",\n clearRange: (label) => `Clear ${label}`,\n allOption: \"All\",\n optionSearchPlaceholder: \"Search…\",\n optionsEmpty: \"No results\",\n optionsHeading: \"Options\",\n },\n selection: {\n selectAllOnPage: \"Select all on this page\",\n clearSelection: \"Clear selection\",\n selectAll: \"Select all\",\n onThisPage: (count) => `${count} on this page`,\n selectedCount: (count) => `${count} ${count === 1 ? \"item selected\" : \"items selected\"}`,\n selectRow: \"Select\",\n expandRow: \"Expand details\",\n collapseRow: \"Collapse details\",\n },\n nav: {\n mainView: \"Main view\",\n defaultTag: \"Default\",\n viewOptions: (viewName) => `${viewName} options`,\n emptyHint: \"No saved views. Adjust filters, columns or sorting and save below.\",\n setDefault: \"Set as default\",\n deleteView: \"Delete view\",\n unsavedChanges: \"Unsaved changes\",\n label: \"View\",\n update: \"Update view\",\n save: \"Save view\",\n saveAs: \"Save as new\",\n reset: \"Reset\",\n updateFailed: \"Could not update the view\",\n dismissError: \"Dismiss\",\n goBack: \"Back\",\n pageSize: \"Show:\",\n saveFailed: \"Could not save the change to the view.\",\n editView: \"Rename and edit\",\n pinToSidebar: \"Pin to the sidebar\",\n shareWithTeam: \"Share with the team\",\n },\n search: {\n placeholder: \"Search…\",\n allColumnsLabel: \"Search every column\",\n keywordPlaceholder: \"Press Enter to filter\",\n open: \"Search\",\n close: \"Close search\",\n clear: \"Clear search\",\n },\n};\n"],"mappings":"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","names":[]}
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-GWUJIO6Z.js";
4
4
  import {
5
5
  RangeBounds
6
- } from "./chunk-EWIKSTJV.js";
6
+ } from "./chunk-5WJFCQFN.js";
7
7
  import {
8
8
  isRangeSet
9
9
  } from "./chunk-GCZJH4XL.js";
@@ -199,4 +199,4 @@ export {
199
199
  fieldClearing,
200
200
  MoreGroup
201
201
  };
202
- //# sourceMappingURL=chunk-4QKS5Y35.js.map
202
+ //# sourceMappingURL=chunk-EBSA4EYR.js.map