@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
@@ -0,0 +1,68 @@
1
+ import {
2
+ COMPACT_BREAK
3
+ } from "./chunk-ZMUXC3VB.js";
4
+ import {
5
+ default as default2
6
+ } from "./chunk-6DPAWXZ3.js";
7
+ import {
8
+ rem
9
+ } from "./chunk-YKCAJ2TN.js";
10
+
11
+ // src/components/data-display/DataViews/list-card-group-tracks.tsx
12
+ import { jsx } from "react/jsx-runtime";
13
+ var GUTTERS = ["disclose", "drag", "select"];
14
+ var filled = (gutter) => `> * > [data-slot="${gutter}"] > *`;
15
+ function subsets(gutters) {
16
+ const out = [];
17
+ for (let mask = 1; mask < 1 << gutters.length; mask += 1) {
18
+ out.push(gutters.filter((_, index) => (mask & 1 << index) !== 0));
19
+ }
20
+ return out;
21
+ }
22
+ function trackRules(template, railCount, candidates, compact) {
23
+ const rules = { gridTemplateColumns: template(/* @__PURE__ */ new Set(), compact) };
24
+ for (const empty of subsets(candidates)) {
25
+ const selector = candidates.map((gutter) => empty.includes(gutter) ? `:not(:has(${filled(gutter)}))` : `:has(${filled(gutter)})`).join("");
26
+ rules[`&${selector}`] = {
27
+ gridTemplateColumns: template(new Set(empty), compact),
28
+ // Every row spans what is left, or it adds an implicit track at the end.
29
+ // `> *`: every direct child of a group's grid is a row (DataViews renders
30
+ // them through fragments for exactly this reason).
31
+ "& > *": { gridColumn: `span ${railCount - empty.length}` },
32
+ ...Object.fromEntries(empty.map((gutter) => [`& > * > [data-slot="${gutter}"]`, { display: "none" }]))
33
+ };
34
+ }
35
+ return rules;
36
+ }
37
+ function groupTracksSx(theme, { template, railCount, reserveGutters }) {
38
+ return {
39
+ ...trackRules(template, railCount, reserveGutters ? [] : GUTTERS, false),
40
+ [`@container (max-width: ${rem(theme, COMPACT_BREAK)})`]: trackRules(
41
+ template,
42
+ railCount,
43
+ reserveGutters ? ["drag"] : GUTTERS,
44
+ true
45
+ )
46
+ };
47
+ }
48
+ function GroupGrid({
49
+ dataTestId,
50
+ tracks,
51
+ rowGap,
52
+ children
53
+ }) {
54
+ return /* @__PURE__ */ jsx(default2, { sx: { containerType: "inline-size", width: "100%", minWidth: 0 }, children: /* @__PURE__ */ jsx(
55
+ default2,
56
+ {
57
+ "data-testid": dataTestId,
58
+ sx: (theme) => ({ display: "grid", ...groupTracksSx(theme, tracks), alignItems: "center", rowGap }),
59
+ children
60
+ }
61
+ ) });
62
+ }
63
+
64
+ export {
65
+ groupTracksSx,
66
+ GroupGrid
67
+ };
68
+ //# sourceMappingURL=chunk-U3HEYECF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/DataViews/list-card-group-tracks.tsx"],"sourcesContent":["\"use client\";\n\nimport type { Theme } from \"@mui/material/styles/index.js\";\nimport type { ReactNode } from \"react\";\n\nimport { Box } from \"../../../mui/Box\";\nimport { rem } from \"../../../tokens/relative\";\nimport { COMPACT_BREAK } from \"./list-card-breaks\";\n\n/**\n * A GROUP'S TRACKS, AND WHICH OF ITS HEAD GUTTERS GET ONE.\n *\n * Every row of a group is subgrid over one template, so the tracks cannot vary\n * per row — but the group does not render its rows' gutters and cannot count\n * which of them are in use. The rows answer that for it: inside a group every\n * gutter slot renders, as an EMPTY element when the row does not use it, and\n * the group asks with `:has()` whether any row's slot has content. A gutter no\n * row fills loses its track (and its rail gap) and its placeholders are hidden,\n * so auto-placement has nothing to put in the wrong column; one any row fills\n * is a track for every row, so the list still lines up.\n *\n * WHICH GUTTERS MAY LEAVE:\n * - `reserveGutters={false}`: any of the three, at every width.\n * - reserved (the default): only the drag gutter, and only in the compact\n * band. Held open it keeps a selectable list and a read-only one aligned\n * and stops drag mode shifting every row; on a phone-sized row, with no\n * row dragging, it is a rail gap spent on nothing.\n *\n * Each rule names every candidate gutter, empty or filled, so exactly one rule\n * matches a given list and none depends on another's specificity to lose.\n */\n\nexport type Gutter = \"disclose\" | \"drag\" | \"select\";\n\nconst GUTTERS: readonly Gutter[] = [\"disclose\", \"drag\", \"select\"];\n\n/** A `:has()` argument true when some row's `gutter` slot has content. */\nconst filled = (gutter: Gutter): string => `> * > [data-slot=\"${gutter}\"] > *`;\n\n/** Every non-empty subset of `gutters`, in a stable order. */\nfunction subsets(gutters: readonly Gutter[]): Gutter[][] {\n const out: Gutter[][] = [];\n for (let mask = 1; mask < 1 << gutters.length; mask += 1) {\n out.push(gutters.filter((_, index) => (mask & (1 << index)) !== 0));\n }\n return out;\n}\n\n/** The template for a list with `dropped` gutters, plain or compact. */\nexport type GroupTemplate = (dropped: ReadonlySet<Gutter>, compact: boolean) => string;\n\n/**\n * The rules for one width: the template with no gutter dropped, then one rule\n * per combination of empty candidate gutters.\n */\nfunction trackRules(\n template: GroupTemplate,\n railCount: number,\n candidates: readonly Gutter[],\n compact: boolean,\n): Record<string, unknown> {\n const rules: Record<string, unknown> = { gridTemplateColumns: template(new Set(), compact) };\n for (const empty of subsets(candidates)) {\n const selector = candidates\n .map((gutter) => (empty.includes(gutter) ? `:not(:has(${filled(gutter)}))` : `:has(${filled(gutter)})`))\n .join(\"\");\n rules[`&${selector}`] = {\n gridTemplateColumns: template(new Set(empty), compact),\n // Every row spans what is left, or it adds an implicit track at the end.\n // `> *`: every direct child of a group's grid is a row (DataViews renders\n // them through fragments for exactly this reason).\n \"& > *\": { gridColumn: `span ${railCount - empty.length}` },\n ...Object.fromEntries(empty.map((gutter) => [`& > * > [data-slot=\"${gutter}\"]`, { display: \"none\" }])),\n };\n }\n return rules;\n}\n\n/** The group grid's `grid-template-columns`, at every width it answers. */\nexport function groupTracksSx(\n theme: Theme,\n { template, railCount, reserveGutters }: { template: GroupTemplate; railCount: number; reserveGutters: boolean },\n): Record<string, unknown> {\n return {\n ...trackRules(template, railCount, reserveGutters ? [] : GUTTERS, false),\n [`@container (max-width: ${rem(theme, COMPACT_BREAK)})`]: trackRules(\n template,\n railCount,\n reserveGutters ? [\"drag\"] : GUTTERS,\n true,\n ),\n };\n}\n\n/**\n * The group's grid, inside its query container — the container for every row\n * in it: a row cannot be one itself and a subgrid at the same time\n * (containment drops subgrid), and every row in a list is the same width\n * anyway, so the group is the honest place to ask the question.\n *\n * A WRAPPER, not the grid: a container query matches an ancestor, never the\n * element itself, and the grid's own template has to answer the width (the\n * compact band, `list-card-group-tracks`). The rows stay the GRID's direct\n * children, which subgrid needs.\n */\nexport function GroupGrid({\n dataTestId,\n tracks,\n rowGap,\n children,\n}: {\n dataTestId?: string;\n tracks: Parameters<typeof groupTracksSx>[1];\n rowGap: number;\n children: ReactNode;\n}): React.JSX.Element {\n return (\n <Box sx={{ containerType: \"inline-size\", width: \"100%\", minWidth: 0 }}>\n <Box\n data-testid={dataTestId}\n sx={(theme) => ({ display: \"grid\", ...groupTracksSx(theme, tracks), alignItems: \"center\", rowGap })}\n >\n {children}\n </Box>\n </Box>\n );\n}\n"],"mappings":";;;;;;;;;;;AAsHM;AApFN,IAAM,UAA6B,CAAC,YAAY,QAAQ,QAAQ;AAGhE,IAAM,SAAS,CAAC,WAA2B,qBAAqB,MAAM;AAGtE,SAAS,QAAQ,SAAwC;AACvD,QAAM,MAAkB,CAAC;AACzB,WAAS,OAAO,GAAG,OAAO,KAAK,QAAQ,QAAQ,QAAQ,GAAG;AACxD,QAAI,KAAK,QAAQ,OAAO,CAAC,GAAG,WAAW,OAAQ,KAAK,WAAY,CAAC,CAAC;AAAA,EACpE;AACA,SAAO;AACT;AASA,SAAS,WACP,UACA,WACA,YACA,SACyB;AACzB,QAAM,QAAiC,EAAE,qBAAqB,SAAS,oBAAI,IAAI,GAAG,OAAO,EAAE;AAC3F,aAAW,SAAS,QAAQ,UAAU,GAAG;AACvC,UAAM,WAAW,WACd,IAAI,CAAC,WAAY,MAAM,SAAS,MAAM,IAAI,aAAa,OAAO,MAAM,CAAC,OAAO,QAAQ,OAAO,MAAM,CAAC,GAAI,EACtG,KAAK,EAAE;AACV,UAAM,IAAI,QAAQ,EAAE,IAAI;AAAA,MACtB,qBAAqB,SAAS,IAAI,IAAI,KAAK,GAAG,OAAO;AAAA;AAAA;AAAA;AAAA,MAIrD,SAAS,EAAE,YAAY,QAAQ,YAAY,MAAM,MAAM,GAAG;AAAA,MAC1D,GAAG,OAAO,YAAY,MAAM,IAAI,CAAC,WAAW,CAAC,uBAAuB,MAAM,MAAM,EAAE,SAAS,OAAO,CAAC,CAAC,CAAC;AAAA,IACvG;AAAA,EACF;AACA,SAAO;AACT;AAGO,SAAS,cACd,OACA,EAAE,UAAU,WAAW,eAAe,GACb;AACzB,SAAO;AAAA,IACL,GAAG,WAAW,UAAU,WAAW,iBAAiB,CAAC,IAAI,SAAS,KAAK;AAAA,IACvE,CAAC,0BAA0B,IAAI,OAAO,aAAa,CAAC,GAAG,GAAG;AAAA,MACxD;AAAA,MACA;AAAA,MACA,iBAAiB,CAAC,MAAM,IAAI;AAAA,MAC5B;AAAA,IACF;AAAA,EACF;AACF;AAaO,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKsB;AACpB,SACE,oBAACA,UAAA,EAAI,IAAI,EAAE,eAAe,eAAe,OAAO,QAAQ,UAAU,EAAE,GAClE;AAAA,IAACA;AAAA,IAAA;AAAA,MACC,eAAa;AAAA,MACb,IAAI,CAAC,WAAW,EAAE,SAAS,QAAQ,GAAG,cAAc,OAAO,MAAM,GAAG,YAAY,UAAU,OAAO;AAAA,MAEhG;AAAA;AAAA,EACH,GACF;AAEJ;","names":["default"]}
@@ -155,6 +155,7 @@ var PT_BR_DATA_VIEWS_COPY = {
155
155
  formats: {
156
156
  json: { label: "JSON (.json)", hint: "Para integra\xE7\xF5es" }
157
157
  },
158
+ scopeLine: (selectedCount, totalCount) => selectedCount > 0 ? `Exportando ${selectedCount} ${selectedCount === 1 ? "item selecionado" : "itens selecionados"}` : `Exportando ${totalCount} ${totalCount === 1 ? "item filtrado" : "itens filtrados"}`,
158
159
  visibleColumns: (columnCount) => `${columnCount} colunas vis\xEDveis, na ordem atual`,
159
160
  trigger: "Exportar",
160
161
  triggerLabel: "Exportar"
@@ -248,4 +249,4 @@ export {
248
249
  PT_BR_DATA_STATE_COPY,
249
250
  PT_BR_DATA_VIEWS_COPY
250
251
  };
251
- //# sourceMappingURL=chunk-QHP5PZNC.js.map
252
+ //# sourceMappingURL=chunk-U57NFQYE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/pt-BR.data-display.ts"],"sourcesContent":["/**\n * The pt-BR pack for the data-display family. Split out of `pt-BR.ts`, which is a\n * barrel over this folder — see that file 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 { PT_BR_TABLE_FILTER_COPY } from './pt-BR.layout';\nimport {\n PT_BR_CATEGORY_SELECT_COPY,\n PT_BR_CONFIRM_ACTION_COPY,\n PT_BR_SAVED_VIEWS_LABELS,\n} from './pt-BR.shared';\n\nexport const PT_BR_LIGHTBOX_COPY: LightboxCopy = {\n close: \"Fechar\",\n previous: \"Anterior\",\n next: \"Próximo\",\n zoomIn: \"Aproximar\",\n zoomOut: \"Afastar\",\n resetZoom: \"Restaurar o zoom\",\n play: \"Iniciar a apresentação\",\n pause: \"Pausar a apresentação\",\n dialogLabel: \"Galeria de imagens\",\n itemPosition: (index, total) => `Item ${index} de ${total}`,\n videoFallback: (index, total) => `Vídeo ${index} de ${total}`,\n imageFallback: (index, total) => `Imagem ${index} de ${total}`,\n thumbnailFallback: (index) => `Miniatura ${index}`,\n};\n\nexport const PT_BR_DATA_GRID_COPY: DataGridCopy = {\n sortBy: (header) => `Ordenar por ${header}`,\n selectRow: (rowNumber) => `Selecionar linha ${rowNumber}`,\n selectAllRows: \"Selecionar todas as linhas\",\n expandRow: \"Expandir linha\",\n collapseRow: \"Recolher linha\",\n gridLabel: \"Grade de dados\",\n};\n\nexport const PT_BR_MAP_PREVIEW_COPY: MapPreviewCopy = {\n zoomIn: \"Aproximar\",\n zoomOut: \"Afastar\",\n center: \"Centralizar o mapa\",\n mapType: \"Trocar o tipo de mapa\",\n fullscreen: \"Tela cheia\",\n search: \"Buscar endereço\",\n};\n\nexport const PT_BR_CAROUSEL_COPY: CarouselCopy = {\n previous: \"Anterior\",\n next: \"Próximo\",\n};\n\nexport const PT_BR_TIMING_DIAGRAM_COPY: TimingDiagramCopy = {\n regionLabel: \"Diagrama de tempos\",\n heading: \"Tempo da requisição\",\n dns: \"Busca de DNS\",\n connect: \"Conexão\",\n ssl: \"SSL/TLS\",\n request: \"Requisição\",\n response: \"Resposta\",\n total: (formatted) => `Total: ${formatted}`,\n totalTime: (formatted) => `Tempo total: ${formatted}`,\n};\n\nexport const PT_BR_DATA_STATE_COPY: DataStateCopy = {\n empty: \"Nenhum dado por aqui\",\n loading: \"Carregando…\",\n endOfList: \"Não há mais itens para carregar\",\n dismissAlert: \"Fechar o aviso\",\n dismissBanner: \"Fechar a faixa\",\n};\n\nexport const PT_BR_DATA_VIEWS_COPY: DataViewsCopy = {\n savedViewsMenu: PT_BR_SAVED_VIEWS_LABELS,\n confirmAction: PT_BR_CONFIRM_ACTION_COPY,\n categorySelect: PT_BR_CATEGORY_SELECT_COPY,\n board: {\n countOnPage: (label, count) => `${label}: ${count} nesta página`,\n onThisPage: (count) => `${count} nesta página`,\n pageSum: (sum) => `Soma desta página: ${sum}`,\n emptyColumn: \"Nada nesta etapa\",\n pageScopeNote:\n \"As contagens e somas abaixo referem-se apenas aos itens desta página.\",\n },\n deleteView: {\n title: \"Excluir visão\",\n target: (viewName) => `Excluir \"${viewName}\"?`,\n sharedWarning: \"Esta visão está compartilhada — a equipe perderá o acesso a ela.\",\n rowsUnaffected: (entityLabel) =>\n `${entityLabel} não são afetados; apenas o recorte salvo é removido.`,\n confirm: \"Excluir visão\",\n cancel: \"Cancelar\",\n },\n manageViews: {\n title: \"Gerenciar visões\",\n empty: \"Nenhuma visão salva.\",\n edit: \"Editar\",\n defaultTag: \"Padrão\",\n otherUserTag: \"De outro usuário\",\n deleteTitle: \"Excluir a visão salva?\",\n deleteBody: \"Os filtros e colunas guardados nela são perdidos. Não é possível restaurar.\",\n deleteConfirm: \"Excluir\",\n },\n saveView: {\n sharedDescription: \"Qualquer pessoa da loja poderá abrir e usar esta visão.\",\n setDefaultTitle: \"Definir como padrão\",\n setDefaultDescription: \"Esta tela abre nesta visão em vez da Visão principal.\",\n previewHeading: \"O que esta visão guarda\",\n previewUnchanged: \"Nada foi alterado — esta visão ficará igual à Visão principal.\",\n sortRowLabel: \"Ordenação\",\n saveFailed: \"Não foi possível salvar a visão.\",\n titleEditing: \"Editar visão\",\n titleCreating: \"Salvar visão\",\n descriptionLabel: \"Descrição — opcional\",\n descriptionPlaceholder: \"Para que serve esta visão\",\n submitEditing: \"Salvar alterações\",\n submitCreating: \"Salvar visão\",\n nameLabel: \"Nome\",\n cancel: \"Cancelar\",\n pinnedTitle: \"Fixar na barra lateral\",\n pinnedDescription: \"Aparece como atalho no menu, abaixo desta tela.\",\n sharedTitle: \"Compartilhar com a equipe\",\n namePlaceholder: \"Ex.: Recusados no PIX desta semana\",\n previewFilters: \"Filtros\",\n previewHiddenColumns: \"Colunas ocultas\",\n },\n columns: {\n visibleCount: (visible, total) => `${visible} de ${total} visíveis`,\n reset: \"Padrão\",\n showAll: \"Mostrar todas\",\n dragHint: \"Arraste para reordenar as colunas.\",\n moveUp: (columnLabel) => `Mover ${columnLabel} para cima`,\n moveDown: (columnLabel) => `Mover ${columnLabel} para baixo`,\n },\n display: {\n sortTab: \"Ordenar\",\n columnsTab: \"Colunas\",\n panelTab: \"Exibição\",\n direction: \"Direção\",\n layoutHints: {\n table: \"Colunas comparáveis, boa para varrer números.\",\n list: \"Uma linha por item, com os dados principais.\",\n cards: \"Blocos maiores, bom para poucos itens.\",\n board: \"Colunas por etapa, para acompanhar o que está onde.\",\n },\n densityHeadings: {\n table: \"Altura das linhas\",\n list: \"Altura das linhas\",\n cards: \"Cards por linha\",\n board: \"Largura das colunas\",\n },\n densityLabels: {\n table: { compact: \"Baixa\", cozy: \"Média\", comfortable: \"Alta\" },\n list: { compact: \"Baixa\", cozy: \"Média\", comfortable: \"Alta\" },\n cards: { compact: \"Muitos\", cozy: \"Médio\", comfortable: \"Poucos\" },\n board: { compact: \"Estreita\", cozy: \"Média\", comfortable: \"Larga\" },\n },\n boardUnavailable: \"Esta tela não declara etapas, então não oferece quadro.\",\n densityUnavailableNarrow:\n \"Um card por linha nesta largura — a densidade volta em telas maiores.\",\n trigger: \"Exibir\",\n fieldHeading: \"Campo\",\n formatHeading: \"Formato\",\n cardZoom: \"Tamanho dos cards\",\n },\n export: {\n formats: {\n json: { label: \"JSON (.json)\", hint: \"Para integrações\" },\n },\n scopeLine: (selectedCount, totalCount) =>\n selectedCount > 0\n ? `Exportando ${selectedCount} ${selectedCount === 1 ? \"item selecionado\" : \"itens selecionados\"}`\n : `Exportando ${totalCount} ${totalCount === 1 ? \"item filtrado\" : \"itens filtrados\"}`,\n visibleColumns: (columnCount) => `${columnCount} colunas visíveis, na ordem atual`,\n trigger: \"Exportar\",\n triggerLabel: \"Exportar\",\n },\n tableFilter: PT_BR_TABLE_FILTER_COPY,\n grid: {\n ...PT_BR_DATA_GRID_COPY,\n rowActions: \"Ações\",\n bulkActions: (selectedCount) => `Ações (${selectedCount}) ▾`,\n emptyFilteredTitle: \"Nenhum resultado para esses filtros\",\n emptyFilteredHint: \"Ajuste ou remova os filtros.\",\n emptyFilteredAction: \"Limpar filtros\",\n },\n filters: {\n moreFilters: (count) => `Mais filtros: ${count} sem espaço na barra`,\n moreFiltersApplied: (count, appliedCount) =>\n `Mais filtros: ${count} sem espaço na barra, ${appliedCount} aplicado(s)`,\n moreTriggerLabel: \"Mais\",\n moreHeading: \"Mais filtros\",\n overflowNote: \"sem espaço na barra\",\n rangeEnd: \"Até\",\n rangeInvalid: \"O início precisa ser menor que o fim.\",\n rangeInclusiveNote: \"Ambas as datas entram no resultado.\",\n rangeStart: \"De\",\n dayMask: \"dd/mm/aaaa\",\n clearAllFilters: \"Limpar todos os filtros\",\n rangePresets: {\n hoje: \"Hoje\",\n ontem: \"Ontem\",\n semana: \"Esta semana\",\n mes: \"Este mês\",\n ano: \"Este ano\",\n },\n scopesLabel: \"Situação\",\n panelTitle: \"Filtros\",\n clear: \"Limpar\",\n clearAll: \"Limpar filtros\",\n clearRange: (label) => `Limpar ${label}`,\n allOption: \"Todas\",\n optionSearchPlaceholder: \"Buscar…\",\n optionsEmpty: \"Nenhum resultado\",\n optionsHeading: \"Opções\",\n },\n selection: {\n selectAllOnPage: \"Selecionar todos nesta página\",\n clearSelection: \"Limpar seleção\",\n selectAll: \"Selecionar tudo\",\n onThisPage: (count) => `${count} nesta página`,\n selectedCount: (count) => `${count} ${count === 1 ? \"selecionado\" : \"selecionados\"}`,\n selectRow: \"Selecionar\",\n expandRow: \"Expandir detalhes\",\n collapseRow: \"Recolher detalhes\",\n },\n nav: {\n mainView: \"Visão principal\",\n defaultTag: \"Padrão\",\n viewOptions: (viewName) => `Opções de ${viewName}`,\n emptyHint: \"Nenhuma visão salva. Ajuste filtros, colunas ou ordenação e salve abaixo.\",\n setDefault: \"Definir como padrão\",\n deleteView: \"Excluir visão\",\n unsavedChanges: \"Alterações não salvas\",\n label: \"Visão\",\n update: \"Atualizar visão\",\n save: \"Salvar visão\",\n saveAs: \"Salvar como nova\",\n reset: \"Redefinir\",\n updateFailed: \"Não foi possível atualizar a visão\",\n dismissError: \"Fechar o aviso\",\n goBack: \"Voltar\",\n pageSize: \"Mostrar:\",\n saveFailed: \"Não foi possível salvar a alteração da visão.\",\n editView: \"Renomear e editar\",\n pinToSidebar: \"Fixar na barra lateral\",\n shareWithTeam: \"Compartilhar com a equipe\",\n },\n search: {\n placeholder: \"Buscar…\",\n allColumnsLabel: \"Buscar em todas as colunas\",\n keywordPlaceholder: \"Pressione Enter para filtrar\",\n open: \"Buscar\",\n close: \"Fechar busca\",\n clear: \"Limpar busca\",\n },\n};\n"],"mappings":"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","names":[]}
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  GridShell
3
- } from "./chunk-NTJUAPJM.js";
3
+ } from "./chunk-PZPTTAO5.js";
4
4
  import {
5
5
  useDataViewsState
6
- } from "./chunk-2W2MWEP2.js";
6
+ } from "./chunk-EFLRNSE6.js";
7
7
 
8
8
  // src/components/data-display/DataViews/DataViewsGrid.tsx
9
9
  import { useEffect, useRef } from "react";
@@ -27,4 +27,4 @@ function DataViewsGrid(props) {
27
27
  export {
28
28
  DataViewsGrid
29
29
  };
30
- //# sourceMappingURL=chunk-6QBT5TPS.js.map
30
+ //# sourceMappingURL=chunk-USZMUOI6.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  GridToolbar
3
- } from "./chunk-PQ7RWH7L.js";
3
+ } from "./chunk-VZCZAHMX.js";
4
4
 
5
5
  // src/components/data-display/DataViews/data-views-shell-toolbar.tsx
6
6
  import { jsx } from "react/jsx-runtime";
@@ -66,4 +66,4 @@ function ShellToolbar({
66
66
  export {
67
67
  ShellToolbar
68
68
  };
69
- //# sourceMappingURL=chunk-ARJIKW56.js.map
69
+ //# sourceMappingURL=chunk-UZCQHNXC.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  RaisedActionButton
3
- } from "./chunk-HPO7PB4F.js";
3
+ } from "./chunk-7AAJYWC3.js";
4
4
  import {
5
5
  SectionNavSheet
6
- } from "./chunk-I3CQBEKS.js";
6
+ } from "./chunk-WF3P7GE5.js";
7
7
  import {
8
8
  Box,
9
9
  CONTROL_RESET,
@@ -13,7 +13,7 @@ import {
13
13
  controlProps,
14
14
  destinationControl,
15
15
  focusRing
16
- } from "./chunk-GK7JNSMK.js";
16
+ } from "./chunk-IK2ZVV3M.js";
17
17
  import {
18
18
  barSlots,
19
19
  destinationState,
@@ -291,4 +291,4 @@ export {
291
291
  sectionNavBarInset,
292
292
  SectionNavBar
293
293
  };
294
- //# sourceMappingURL=chunk-ZYJZHXFU.js.map
294
+ //# sourceMappingURL=chunk-VWW2EXH7.js.map
@@ -1,9 +1,9 @@
1
- import {
2
- DataViewsExportMenu
3
- } from "./chunk-CMBZ3J6I.js";
4
1
  import {
5
2
  DataViewsDisplayPanel
6
- } from "./chunk-CTIMTEH7.js";
3
+ } from "./chunk-NFCAXQ3F.js";
4
+ import {
5
+ DataViewsExportMenu
6
+ } from "./chunk-JA6GKU65.js";
7
7
  import {
8
8
  renderBulkActions
9
9
  } from "./chunk-NQZNV3VR.js";
@@ -138,4 +138,4 @@ function GridToolbar(props) {
138
138
  export {
139
139
  GridToolbar
140
140
  };
141
- //# sourceMappingURL=chunk-PQ7RWH7L.js.map
141
+ //# sourceMappingURL=chunk-VZCZAHMX.js.map
@@ -4,7 +4,7 @@ import {
4
4
  CountedIcon,
5
5
  controlProps,
6
6
  focusRing
7
- } from "./chunk-GK7JNSMK.js";
7
+ } from "./chunk-IK2ZVV3M.js";
8
8
  import {
9
9
  Drawer,
10
10
  DrawerContent,
@@ -175,4 +175,4 @@ function SectionNavSheet({
175
175
  export {
176
176
  SectionNavSheet
177
177
  };
178
- //# sourceMappingURL=chunk-I3CQBEKS.js.map
178
+ //# sourceMappingURL=chunk-WF3P7GE5.js.map
@@ -1,6 +1,3 @@
1
- import {
2
- STACK_BREAK
3
- } from "./chunk-ZWBGQYVO.js";
4
1
  import {
5
2
  CARD_RADIUS,
6
3
  cardSurfaceStyles,
@@ -16,10 +13,14 @@ import {
16
13
  RAIL_GAP,
17
14
  railsTemplateFor,
18
15
  useListRails
19
- } from "./chunk-QKAYXAQE.js";
16
+ } from "./chunk-6FAYTKXW.js";
20
17
  import {
21
18
  DENSITY_ROW_PADDING
22
19
  } from "./chunk-MUIBNHJW.js";
20
+ import {
21
+ COMPACT_BREAK,
22
+ STACK_BREAK
23
+ } from "./chunk-ZMUXC3VB.js";
23
24
  import {
24
25
  rem
25
26
  } from "./chunk-YKCAJ2TN.js";
@@ -68,7 +69,7 @@ var stackedRowSx = (inGroup, railCount, stack) => ({
68
69
  ...stackedCells(stack)
69
70
  });
70
71
  var rowSx = (theme, opts) => {
71
- const { inGroup, railCount, cellTemplate, gutters, metaColumns, pad, padY, scale, divider, interactive, draggable, stack } = opts;
72
+ const { inGroup, railCount, cellTemplate, compactTemplate, gutters, metaColumns, pad, padY, scale, divider, interactive, draggable, stack } = opts;
72
73
  return {
73
74
  position: "relative",
74
75
  borderRadius: CARD_RADIUS,
@@ -104,6 +105,15 @@ var rowSx = (theme, opts) => {
104
105
  outlineColor: "primary.main",
105
106
  outlineOffset: rem(theme, 2)
106
107
  },
108
+ // COMPACT below COMPACT_BREAK: half the rail gap and, standalone, the
109
+ // first cell's double share. In a group the GROUP's template answers the
110
+ // width (`list-card-group-tracks`); the gap is the row's, since a subgrid
111
+ // sets its own. BEFORE the stacked rule, which overrides it below
112
+ // STACK_BREAK by coming later.
113
+ [`@container (max-width: ${rem(theme, COMPACT_BREAK)})`]: {
114
+ columnGap: RAIL_GAP / 2,
115
+ ...compactTemplate == null ? {} : { gridTemplateColumns: compactTemplate }
116
+ },
107
117
  // TWO-LINE below STACK_BREAK: see {@link stackedRowSx}.
108
118
  [`@container (max-width: ${rem(theme, STACK_BREAK)})`]: stackedRowSx(inGroup, railCount, stack),
109
119
  ...divider ? { borderRadius: 0, borderWidth: 0, borderBottomWidth: 1, borderStyle: "solid" } : {}
@@ -129,8 +139,10 @@ function useRowShell(props) {
129
139
  slot: slotTestIds(props.testId),
130
140
  drag: useDragItem(dragIdFor(props, actionable)),
131
141
  // Standalone holds no gutter open: there is no list beside it to line up
132
- // with, so a reserved-but-empty rail is pure inset.
133
- reserve: group?.reserveGutters ?? false,
142
+ // with, so a reserved-but-empty rail is pure inset. In a group every gutter
143
+ // renders, empty when unused, and the GROUP decides whether its track
144
+ // stays (`list-card-group-tracks`): the rows cannot agree among themselves.
145
+ reserve: group != null,
134
146
  // 1, not 1.5. The row's contents still have to line up with the toolbar
135
147
  // above them, but 12px of card padding stacked on the checkbox's own 9px
136
148
  // and an empty drag gutter's 24px read as a row indented for no reason.
@@ -172,14 +184,14 @@ function rowGutters(props, shell) {
172
184
  select: reserve || selectable
173
185
  };
174
186
  }
175
- function rowStyles(props, shell, cellTemplate, stack) {
187
+ function rowStyles(props, shell, templates, stack) {
176
188
  const { theme, group, drag, pad, padY, scale, acts } = shell;
177
189
  return {
178
190
  ...rowSurface(props, shell),
179
191
  ...rowSx(theme, {
180
192
  inGroup: group !== null,
181
193
  railCount: group?.railCount ?? RAIL_COUNT,
182
- cellTemplate,
194
+ ...templates,
183
195
  gutters: rowGutters(props, shell),
184
196
  metaColumns: metaShape(props).columns,
185
197
  pad,
@@ -201,4 +213,4 @@ export {
201
213
  rowGutters,
202
214
  rowStyles
203
215
  };
204
- //# sourceMappingURL=chunk-U47KRLEW.js.map
216
+ //# sourceMappingURL=chunk-YP7SQ5DM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/DataViews/base-list-card-geometry.tsx"],"sourcesContent":["\"use client\";\n\nimport { useTheme, type Theme } from \"@mui/material/styles/index.js\";\n\nimport {\n CARD_RADIUS,\n cardSurfaceStyles,\n isActionable,\n isSelectable,\n slotTestIds,\n} from \"./card-surface\";\nimport { useDragItem } from \"./data-views-drag\";\nimport { DENSITY_ROW_PADDING } from \"./data-views-layout-context\";\nimport { RAIL_COUNT, RAIL_GAP, railsTemplateFor, useListRails } from \"./list-card-rails\";\nimport { COMPACT_BREAK, STACK_BREAK } from \"./base-list-card-slots\";\nimport type { BaseListCardProps } from \"./base-list-card\";\nimport { rem } from \"../../../tokens/relative\";\n\n/**\n * THE ROW'S GEOMETRY AND SURFACE, split from the component at the size gate.\n *\n * Everything here answers \"what shape is this row, and where do its slots land\"\n * — the rails, the density padding, the two-line collapse, the drag and\n * selection plumbing. None of it renders anything, which is why the two halves\n * can live apart without either becoming harder to follow.\n */\n/**\n * Whether a click was really a click, or the tail of a text selection.\n *\n * Without this, selecting an order id to copy it navigates away instead — the\n * single most annoying thing a clickable row does.\n */\nfunction isTextSelection(): boolean {\n return (globalThis.getSelection?.()?.toString().length ?? 0) > 0;\n}\n\n/** Keyboard equivalence for a card that acts but does not navigate. */\nfunction clickKeys(onClick: () => void) {\n return (event: React.KeyboardEvent): void => {\n if (event.key !== \"Enter\" && event.key !== \" \") return;\n event.preventDefault();\n onClick();\n };\n}\n\n/**\n * Geometry: the rails, the density padding, the two-line collapse.\n *\n * SCALE IS `zoom`, NOT A SET OF MULTIPLIED FONT SIZES.\n *\n * It used to be the latter, on exactly three values — title, value, row padding\n * — so the slider left the subtitle, the meta labels, the rules, the checkbox,\n * the grip, the chip and the menu at their fixed sizes, and the row came apart\n * as you dragged it. Multiplying the rest is not a fix: the checkbox and the\n * chip are MUI internals sized in their own px, and no prop we pass reaches\n * them.\n *\n * `zoom` scales the used value of every length in the subtree — ours and theirs\n * — and unlike `transform: scale` it REFLOWS, so the row still occupies the\n * space it draws and the rails still resolve. Verified against the group: at\n * 1.4 all four rows keep identical rail edges, because subgrid tracks and the\n * zoom that reads them are the same for every row.\n */\n/** What {@link rowSx} needs to know about the row it lays out. */\ninterface RowSxOptions {\n inGroup: boolean;\n railCount: number;\n cellTemplate: string | null;\n /** A standalone configured row's template in the compact band. */\n compactTemplate: string | null;\n gutters: { disclose: boolean; drag: boolean; select: boolean };\n metaColumns: number;\n pad: number;\n padY: number;\n scale: number;\n divider: boolean;\n interactive: boolean;\n draggable: boolean;\n /** What the two-line layout below `STACK_BREAK` has to place by name. */\n stack: StackPlacement;\n}\n\n/**\n * The slots the stacked row places that the named-slot rules cannot know about.\n *\n * For a CONFIGURED row, `firstCell` is the cell that takes the title's place and\n * `valueCell` the one that takes the value's (null for a named-slot row, or for\n * a one-cell row with no value to show). `expandable` decides whether the\n * disclosure button gets a place or, when it is only a reserved empty gutter,\n * none at all.\n */\nexport interface StackPlacement {\n firstCell: string | null;\n valueCell: string | null;\n expandable: boolean;\n}\n\n/** A `[data-slot=\"cell-<id>\"]` child selector, quoted so any id is safe. */\nconst cellSlot = (id: string): string => `& > [data-slot=${JSON.stringify(`cell-${id}`)}]`;\n\n/**\n * A configured row, stacked, keeps the SAME two facts a named-slot row keeps:\n * what the record is (the first cell, in the title's place on line 1) and the\n * figure it is about (the value cell, on line 2 from under the title to the\n * right edge, where an `end` cell sits flush right). Every other cell goes, as\n * `meta` goes — a row is a fixed-height scanning unit, and what does not fit\n * belongs in its expandable body.\n *\n * Left to auto-placement these cells had flowed into whatever track was free:\n * a name squeezed beside the glyph, an amount clipped to \"R$ …\".\n *\n * The hide-all rule comes first and the two named cells after it: the\n * selectors have equal specificity, so the later rule wins for those cells.\n */\nfunction stackedCells(stack: StackPlacement): Record<string, unknown> {\n if (stack.firstCell == null) return {};\n return {\n '& > [data-slot^=\"cell-\"]': { display: \"none\" },\n [cellSlot(stack.firstCell)]: { display: \"flex\", gridArea: \"1 / 3\" },\n ...(stack.valueCell == null ? {} : { [cellSlot(stack.valueCell)]: { display: \"flex\", gridArea: \"2 / 3 / 3 / 5\" } }),\n };\n}\n\n/**\n * TWO-LINE, below the point where the shared rails stop helping.\n *\n * The standard mobile transaction row: what the record IS on the first line,\n * what it COSTS under it at the right edge. Better than\n * truncating four columns into ellipses, and the reason each slot carries a\n * `data-slot` — the placement is explicit rather than whatever order the\n * children happen to be in.\n *\n * [ select ][ leading ][ title …………… ][ menu ]\n * [ (disclose) ] [ (cells) …………… ][ value ]\n *\n * The MENU stays in the top-right corner at every width. It is the row's\n * one fixed landmark — an overflow that moves to the second line on a phone\n * is an overflow nobody finds twice.\n */\nconst stackedRowSx = (inGroup: boolean, railCount: number, stack: StackPlacement): Record<string, unknown> => ({\n gridTemplateColumns: \"auto auto minmax(0, 1fr) max-content\",\n // The GROUP's track count, which a configured list sets from its cells\n // (`cellRailCount`) — not the named-slot RAIL_COUNT, which over-spans a\n // configured group and adds an implicit track at its end.\n ...(inGroup ? { gridColumn: `span ${railCount}` } : {}),\n rowGap: 0.75,\n columnGap: 1,\n '& > [data-slot=\"drag\"]': { display: \"none\" },\n // The disclosure button, when there is one, under the checkbox: the head of\n // the row, where it sits at every other width — never beside the menu, where\n // it read as an \"open\" arrow. A reserved empty gutter takes no place at all.\n '& > [data-slot=\"disclose\"]': stack.expandable ? { gridArea: \"2 / 1\", justifySelf: \"center\" } : { display: \"none\" },\n '& > [data-slot=\"select\"]': { gridArea: \"1 / 1\" },\n '& > [data-slot=\"leading\"]': { gridArea: \"1 / 2\" },\n '& > [data-slot=\"caption\"]': { gridArea: \"1 / 3\" },\n '& > [data-slot=\"actions\"]': { gridArea: \"1 / 4\", justifyContent: \"flex-end\" },\n '& > [data-slot=\"meta\"]': { display: \"none\" },\n // Second line, starting under the title rather than under the checkbox.\n '& > [data-slot=\"value\"]': { gridArea: \"2 / 4\", textAlign: \"right\" },\n ...stackedCells(stack),\n});\n\n/**\n * DIVIDER COMPOSES WITH THE VARIANT — it changes the row's SHAPE, not its\n * surface.\n *\n * It used to set `border: 0` and hard-code its own rule colour, which discarded\n * whatever the variant had drawn: `outline`, `text` and `ghost` all collapsed\n * to one identical flush row, and the variant control silently stopped meaning\n * anything the moment `divider` was on.\n *\n * Now only the GEOMETRY changes here — the box's sides go, one edge stays — and\n * no `borderColor` is written, so the colour set by `cardSurfaceStyles` survives.\n * A variant that draws no border of its own gets the neutral rule from\n * {@link rowStyles}.\n */\nexport const rowSx = (theme: Theme, opts: RowSxOptions): Record<string, unknown> => {\n const { inGroup, railCount, cellTemplate, compactTemplate, gutters, metaColumns, pad, padY, scale, divider, interactive, draggable, stack } = opts;\n return {\n position: \"relative\",\n borderRadius: CARD_RADIUS,\n display: \"grid\",\n zoom: scale,\n // SUBGRID AND `container-type` CANNOT COEXIST on one element: containment\n // makes the box size independently of its parent, so the browser drops the\n // subgrid and every slot stacks into one column. (Observed exactly that —\n // computed `grid-template-columns: 1222px` on a card asking for subgrid.)\n //\n // So inside a group the GROUP is the query container and the row is the\n // subgrid. Standalone, the row is its own grid but NOT its own container:\n // a container query matches an ANCESTOR, never the element itself, so a\n // row that was its own container placed its children for two lines while\n // its own template stayed wide. A standalone card renders inside a wrapper\n // that is the container (`BaseListCard`).\n ...(inGroup\n ? { gridColumn: `span ${railCount}`, gridTemplateColumns: \"subgrid\" }\n : { gridTemplateColumns: cellTemplate ?? railsTemplateFor(gutters, metaColumns) }),\n alignItems: \"center\",\n // Wide enough that the meta cluster, the value and the status read as three\n // columns rather than one run of text — the complaint that started all this\n // was `MÉTODO PIX R$ 13,90` scanning as a single phrase.\n columnGap: RAIL_GAP,\n width: \"100%\",\n px: pad,\n py: padY,\n cursor: draggable ? \"grab\" : interactive ? \"pointer\" : undefined,\n ...(draggable ? { touchAction: \"none\", \"&:active\": { cursor: \"grabbing\" } } : {}),\n ...(interactive ? { \"&:hover\": { backgroundColor: \"action.hover\" } } : {}),\n // A real focus ring, which a clickable <div> never had.\n \"&:focus-visible\": {\n outline: `${rem(theme, 2)} solid`,\n outlineStyle: \"solid\",\n outlineColor: \"primary.main\",\n outlineOffset: rem(theme, 2),\n },\n // COMPACT below COMPACT_BREAK: half the rail gap and, standalone, the\n // first cell's double share. In a group the GROUP's template answers the\n // width (`list-card-group-tracks`); the gap is the row's, since a subgrid\n // sets its own. BEFORE the stacked rule, which overrides it below\n // STACK_BREAK by coming later.\n [`@container (max-width: ${rem(theme, COMPACT_BREAK)})`]: {\n columnGap: RAIL_GAP / 2,\n ...(compactTemplate == null ? {} : { gridTemplateColumns: compactTemplate }),\n },\n // TWO-LINE below STACK_BREAK: see {@link stackedRowSx}.\n [`@container (max-width: ${rem(theme, STACK_BREAK)})`]: stackedRowSx(inGroup, railCount, stack),\n ...(divider\n ? { borderRadius: 0, borderWidth: 0, borderBottomWidth: 1, borderStyle: \"solid\" }\n : {}),\n };\n};\n\n/**\n * A selectable full-width row: a marker, a title over a subtitle, labelled\n * middle columns, a value, a status, actions and a menu.\n *\n * A SHELL, like {@link BaseCard}. Domain rows live in the app and compose it.\n */\n/**\n * The id this row drags under, or nothing.\n *\n * `undefined` is the inert answer: `useDragItem` treats a missing id as \"no\n * drag\", which is how the card's own veto (`draggable={false}`) and an\n * unactionable record both switch dragging off without the card knowing\n * anything about the container above it.\n */\nfunction dragIdFor(\n props: BaseListCardProps,\n actionable: boolean,\n): string | number | undefined {\n return props.draggable === false || !actionable ? undefined : props.dragId;\n}\n\n/**\n * What the meta cluster amounts to — asked once, used three times: to size the\n * rail, to close the cluster with a rule, and to decide whether the value has\n * anything to be divided FROM.\n */\nexport function metaShape(props: BaseListCardProps): { columns: number; present: boolean } {\n const columns = props.meta?.length ?? 0;\n return { columns, present: columns > 0 || props.metaSlot != null };\n}\n\n/**\n * Everything the row derives before it can render — extracted so the component\n * stays inside the size budget.\n */\nexport function useRowShell(props: BaseListCardProps) {\n const actionable = isActionable(props.state);\n const group = useListRails();\n const scale = props.scale ?? 1;\n return {\n group,\n actionable,\n scale,\n theme: useTheme(),\n selectable: isSelectable(props),\n slot: slotTestIds(props.testId),\n drag: useDragItem(dragIdFor(props, actionable)),\n // Standalone holds no gutter open: there is no list beside it to line up\n // with, so a reserved-but-empty rail is pure inset. In a group every gutter\n // renders, empty when unused, and the GROUP decides whether its track\n // stays (`list-card-group-tracks`): the rows cannot agree among themselves.\n reserve: group != null,\n // 1, not 1.5. The row's contents still have to line up with the toolbar\n // above them, but 12px of card padding stacked on the checkbox's own 9px\n // and an empty drag gutter's 24px read as a row indented for no reason.\n //\n // Not multiplied by `scale` — the row's `zoom` already scales it, and doing\n // both would square the factor on padding alone.\n pad: 1,\n padY: DENSITY_ROW_PADDING[group?.density ?? props.density ?? \"cozy\"],\n // A card that navigates does so with a real anchor, so it takes no click\n // handler of its own — the stretched link IS the target.\n acts: props.onClick != null && props.href == null && actionable,\n };\n}\n\n/** The click/keyboard props a row that acts (but does not navigate) needs. */\nexport function actionProps(onClick: (() => void) | undefined) {\n return {\n role: \"button\",\n tabIndex: 0,\n onClick: () => {\n if (isTextSelection()) return;\n onClick?.();\n },\n onKeyDown: clickKeys(() => onClick?.()),\n };\n}\n\n/** The surface and the geometry, merged — the row's whole `sx` in one place. */\n\n/**\n * The row's painted surface, plus the divider's colour fallback.\n *\n * A variant with no border of its own (`text`, `ghost`) would draw its rule in\n * the inherited colour — the TEXT colour, i.e. a black bar across the row. The\n * neutral divider token is supplied only in that case; a variant that has a\n * border keeps it, which is the whole point of composing the two.\n */\nfunction rowSurface(\n props: BaseListCardProps,\n shell: ReturnType<typeof useRowShell>,\n): Record<string, unknown> {\n const { theme, selectable, drag } = shell;\n const surface = cardSurfaceStyles(\n { ...props, selectable, shape: \"row\", state: drag.dragging ? \"disabled\" : props.state },\n theme,\n );\n if (props.divider !== true || surface.borderColor != null) return surface;\n return { ...surface, borderBottomColor: theme.palette.divider };\n}\n\n/**\n * Which head gutters this row renders: the ones it uses, or all three inside a\n * group (empty when unused; the group decides which keep a track). The template\n * is built from this; the three gutter slots\n * (`base-list-card-gutters.tsx`) apply the SAME conditions on their own — keep\n * the two in step, because a template that disagrees with the slots is exactly\n * how cells slid two tracks.\n */\nexport function rowGutters(\n props: BaseListCardProps,\n shell: ReturnType<typeof useRowShell>,\n): { disclose: boolean; drag: boolean; select: boolean } {\n const { selectable, drag, reserve } = shell;\n return {\n disclose: reserve || props.children != null,\n drag: reserve || drag.draggable,\n select: reserve || selectable,\n };\n}\n\nexport function rowStyles(\n props: BaseListCardProps,\n shell: ReturnType<typeof useRowShell>,\n templates: { cellTemplate: string | null; compactTemplate: string | null },\n stack: StackPlacement,\n): Record<string, unknown> {\n const { theme, group, drag, pad, padY, scale, acts } = shell;\n return {\n ...rowSurface(props, shell),\n ...rowSx(theme, {\n inGroup: group !== null,\n railCount: group?.railCount ?? RAIL_COUNT,\n ...templates,\n gutters: rowGutters(props, shell),\n metaColumns: metaShape(props).columns,\n pad,\n padY,\n scale,\n divider: props.divider ?? false,\n interactive: acts || props.href != null,\n draggable: drag.draggable && drag.handleProps === undefined,\n stack,\n }),\n };\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,11 @@
1
+ // src/components/data-display/DataViews/list-card-breaks.ts
2
+ var COMPACT_BREAK = 600;
3
+ var META_BREAK = 520;
4
+ var STACK_BREAK = 360;
5
+
6
+ export {
7
+ COMPACT_BREAK,
8
+ META_BREAK,
9
+ STACK_BREAK
10
+ };
11
+ //# sourceMappingURL=chunk-ZMUXC3VB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/data-display/DataViews/list-card-breaks.ts"],"sourcesContent":["/**\n * THE WIDTHS A LIST ROW ANSWERS, measured on its query container (the group, or\n * a standalone card's wrapper) — never the viewport.\n *\n * Their own module because both the row (`base-list-card-*`) and the group\n * (`list-card-group-tracks`) ask the question, and the group's rails module is\n * already a dependency of the row's slots.\n */\n\n/**\n * Below this the row COMPACTS: the rail gap halves, a reserved drag track no row\n * fills leaves the template, and a configured list's first cell takes a double\n * share. Between `STACK_BREAK` and here the row is still one line of columns,\n * and at 24px a gap four columns wide was spending a third of a phone-sized row\n * on air while every name ellipsised.\n */\nexport const COMPACT_BREAK = 600;\n/** Below this the row drops its middle columns. */\nexport const META_BREAK = 520;\n/** …and below this it leaves the shared rails and goes two-line. */\nexport const STACK_BREAK = 360;\n"],"mappings":";AAgBO,IAAM,gBAAgB;AAEtB,IAAM,aAAa;AAEnB,IAAM,cAAc;","names":[]}
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-H7R6UKOE.js";
4
4
  import {
5
5
  DataViewsGrid
6
- } from "./chunk-6QBT5TPS.js";
6
+ } from "./chunk-USZMUOI6.js";
7
7
  import {
8
8
  viewStateKey
9
9
  } from "./chunk-ZOLAYP2D.js";
@@ -166,4 +166,4 @@ function renderViewDialogs(ctl, fields, columns, views, testIdPrefix, onSaved) {
166
166
  export {
167
167
  DataViewsTableBase
168
168
  };
169
- //# sourceMappingURL=chunk-HH7PM5HT.js.map
169
+ //# sourceMappingURL=chunk-ZUQX7XHJ.js.map
@@ -2,11 +2,11 @@ import "../chunk-UDQSIRAP.js";
2
2
  import {
3
3
  Avatar,
4
4
  AvatarGroup
5
- } from "../chunk-XW5SEW3H.js";
6
- import "../chunk-GYDUXL3D.js";
5
+ } from "../chunk-AKC5GRJF.js";
6
+ import "../chunk-NVXRV3PL.js";
7
+ import "../chunk-MTEQEPNY.js";
7
8
  import "../chunk-6ZZGK5DT.js";
8
9
  import "../chunk-3ZVUNSFF.js";
9
- import "../chunk-MTEQEPNY.js";
10
10
  import "../chunk-SSX5ITPM.js";
11
11
  import "../chunk-F5H2ZXST.js";
12
12
  import "../chunk-N3GAFIXG.js";
@@ -1,11 +1,11 @@
1
1
  import "../chunk-5AK2EZG5.js";
2
2
  import {
3
3
  Badge
4
- } from "../chunk-PC4H5LVB.js";
4
+ } from "../chunk-EUPUEMFX.js";
5
+ import "../chunk-6C5D6O3D.js";
5
6
  import "../chunk-H6XOWGQV.js";
6
7
  import "../chunk-OEMZFRLF.js";
7
8
  import "../chunk-O23DG4VH.js";
8
- import "../chunk-6C5D6O3D.js";
9
9
  import "../chunk-3UIDKLML.js";
10
10
  import "../chunk-PYC4CWCQ.js";
11
11
  import "../chunk-TYJR4GOF.js";
@@ -1,3 +1,9 @@
1
+ import {
2
+ useRowConfirm
3
+ } from "../chunk-3YKKMZ3J.js";
4
+ import {
5
+ useRemoveConfirm
6
+ } from "../chunk-YBFDLR3C.js";
1
7
  import {
2
8
  rowActionsToMenuItems
3
9
  } from "../chunk-ZBXG6RVJ.js";
@@ -8,19 +14,13 @@ import {
8
14
  Ledger,
9
15
  TagList
10
16
  } from "../chunk-JOKWTRWL.js";
11
- import {
12
- CardKebab
13
- } from "../chunk-XGIJGIN3.js";
14
- import {
15
- useRowConfirm
16
- } from "../chunk-3YKKMZ3J.js";
17
- import {
18
- useRemoveConfirm
19
- } from "../chunk-YBFDLR3C.js";
20
17
  import {
21
18
  CardActionsProvider,
22
19
  useCardActions
23
20
  } from "../chunk-UZANFXCK.js";
21
+ import {
22
+ CardKebab
23
+ } from "../chunk-XGIJGIN3.js";
24
24
  import "../chunk-WVML3ENZ.js";
25
25
  import "../chunk-2X2G75MV.js";
26
26
  import "../chunk-XCBQXSTR.js";
@@ -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,85 +1,87 @@
1
+ import {
2
+ BaseCard
3
+ } from "../chunk-35IEACIJ.js";
1
4
  import {
2
5
  DataViewsTableBase
3
- } from "../chunk-HH7PM5HT.js";
6
+ } from "../chunk-ZUQX7XHJ.js";
4
7
  import "../chunk-H7R6UKOE.js";
5
8
  import {
6
9
  DataViewsGrid
7
- } from "../chunk-6QBT5TPS.js";
10
+ } from "../chunk-USZMUOI6.js";
8
11
  import {
9
12
  BaseListCard
10
- } from "../chunk-6OSUK2C7.js";
11
- import "../chunk-V4V2N6YJ.js";
12
- import "../chunk-PIIPEXRM.js";
13
- import "../chunk-U47KRLEW.js";
14
- import "../chunk-ZWBGQYVO.js";
13
+ } from "../chunk-PJ5HXNBG.js";
15
14
  import "../chunk-2JCRNWHE.js";
16
- import {
17
- BaseCard
18
- } from "../chunk-35IEACIJ.js";
15
+ import "../chunk-36RYXV4R.js";
16
+ import "../chunk-TVMSXL3R.js";
17
+ import "../chunk-YP7SQ5DM.js";
19
18
  import "../chunk-EUGF43BX.js";
19
+ import "../chunk-56PBNYXF.js";
20
20
  import "../chunk-ZOLAYP2D.js";
21
21
  import {
22
22
  DragContainerProvider,
23
23
  DropIndicator,
24
24
  useDragItem
25
25
  } from "../chunk-K4EKTMTC.js";
26
- import "../chunk-NTJUAPJM.js";
27
- import "../chunk-6D2PFC5C.js";
26
+ import "../chunk-PZPTTAO5.js";
27
+ import "../chunk-PKGBW7KS.js";
28
+ import {
29
+ DataViewsBoard
30
+ } from "../chunk-NHHWNA5W.js";
31
+ import "../chunk-SKOAJPOS.js";
28
32
  import "../chunk-6NWFX2XJ.js";
29
- import "../chunk-3K7WN2PO.js";
33
+ import "../chunk-NBM3YJ4P.js";
30
34
  import "../chunk-QLJU7UUI.js";
31
- import "../chunk-HCYRCU4W.js";
32
- import "../chunk-4QKS5Y35.js";
35
+ import "../chunk-QJWIX4YZ.js";
36
+ import "../chunk-EBSA4EYR.js";
33
37
  import "../chunk-GWUJIO6Z.js";
34
38
  import "../chunk-X3AFXHY5.js";
35
- import "../chunk-ILNO4ZJ6.js";
36
- import {
37
- DataViewsBoard
38
- } from "../chunk-NHHWNA5W.js";
39
- import "../chunk-EWIKSTJV.js";
39
+ import "../chunk-5WJFCQFN.js";
40
+ import "../chunk-FJ3UZ4RC.js";
41
+ import "../chunk-GCZJH4XL.js";
40
42
  import "../chunk-7D7CJRL7.js";
41
43
  import "../chunk-CBOB5AV6.js";
42
44
  import "../chunk-K6WY2CHG.js";
43
45
  import "../chunk-6QYKZMEE.js";
44
46
  import "../chunk-DNT5PZLF.js";
45
- import "../chunk-FJ3UZ4RC.js";
46
47
  import "../chunk-5YDS6HO3.js";
47
48
  import "../chunk-CFAIMOFE.js";
48
49
  import "../chunk-ACBHZG3Z.js";
49
50
  import "../chunk-5JWCNQSI.js";
50
51
  import "../chunk-O5UGAL2V.js";
51
- import "../chunk-GCZJH4XL.js";
52
52
  import "../chunk-G6EJLEVV.js";
53
53
  import "../chunk-X7HCS3HP.js";
54
54
  import "../chunk-6J27G2HT.js";
55
55
  import "../chunk-GRRW5NSR.js";
56
56
  import "../chunk-5M4TYFR3.js";
57
- import "../chunk-ARJIKW56.js";
58
- import "../chunk-PQ7RWH7L.js";
59
- import "../chunk-CMBZ3J6I.js";
60
- import "../chunk-CTIMTEH7.js";
61
- import "../chunk-WSAUWJFO.js";
57
+ import "../chunk-UZCQHNXC.js";
58
+ import "../chunk-VZCZAHMX.js";
59
+ import "../chunk-NFCAXQ3F.js";
62
60
  import "../chunk-TTIZUZ57.js";
61
+ import "../chunk-WSAUWJFO.js";
63
62
  import "../chunk-YLGY3D52.js";
63
+ import "../chunk-JA6GKU65.js";
64
+ import "../chunk-5NOCDQJD.js";
64
65
  import "../chunk-HR7YTBR7.js";
65
66
  import "../chunk-DZEC6RFM.js";
66
- import "../chunk-2W2MWEP2.js";
67
+ import "../chunk-EFLRNSE6.js";
67
68
  import "../chunk-BTJFOPCQ.js";
68
69
  import "../chunk-YGQX7BNI.js";
70
+ import "../chunk-IMLIIW77.js";
71
+ import "../chunk-LLZWB32X.js";
69
72
  import {
70
73
  DataViewsScopeTabs,
71
74
  assertNoScopePillOverlap,
72
75
  resolveScope
73
76
  } from "../chunk-PL2AB5HJ.js";
77
+ import "../chunk-U5FOJBLG.js";
74
78
  import "../chunk-NQZNV3VR.js";
75
- import "../chunk-IMLIIW77.js";
76
- import "../chunk-LLZWB32X.js";
77
79
  import "../chunk-DUVH273U.js";
78
80
  import {
79
81
  DEFAULT_RAILS,
80
82
  ListCardGroup,
81
83
  RAIL_COUNT
82
- } from "../chunk-QKAYXAQE.js";
84
+ } from "../chunk-6FAYTKXW.js";
83
85
  import {
84
86
  cardMinWidthForZoom,
85
87
  cardScaleForZoom
@@ -89,15 +91,15 @@ import {
89
91
  DATA_VIEWS_LAYOUTS,
90
92
  toSavedViewSummary
91
93
  } from "../chunk-LHHAYZ55.js";
92
- import {
93
- DEFAULT_CELL_WIDTH
94
- } from "../chunk-COYGTEN5.js";
95
- import "../chunk-U5FOJBLG.js";
96
- import "../chunk-5NOCDQJD.js";
97
94
  import {
98
95
  DataViewsCopyProvider,
99
96
  useDataViewsCopy
100
97
  } from "../chunk-KHG57NAE.js";
98
+ import "../chunk-U3HEYECF.js";
99
+ import {
100
+ DEFAULT_CELL_WIDTH
101
+ } from "../chunk-F5S5UFGD.js";
102
+ import "../chunk-ZMUXC3VB.js";
101
103
  import "../chunk-NCS2TBIP.js";
102
104
  import "../chunk-Y4KKS6WL.js";
103
105
  import "../chunk-WVML3ENZ.js";