vastgrid 0.1.0 → 0.2.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 (312) hide show
  1. package/README.md +175 -13
  2. package/dist/canvas/geometry.d.ts +92 -0
  3. package/dist/canvas/geometry.d.ts.map +1 -0
  4. package/dist/canvas/geometry.js +197 -0
  5. package/dist/canvas/geometry.js.map +1 -0
  6. package/dist/canvas/grid-canvas.d.ts +161 -0
  7. package/dist/canvas/grid-canvas.d.ts.map +1 -0
  8. package/dist/canvas/grid-canvas.js +1146 -0
  9. package/dist/canvas/grid-canvas.js.map +1 -0
  10. package/dist/canvas/hooks.d.ts +61 -0
  11. package/dist/canvas/hooks.d.ts.map +1 -0
  12. package/dist/canvas/hooks.js +2 -0
  13. package/dist/canvas/hooks.js.map +1 -0
  14. package/dist/canvas/keys.d.ts +26 -0
  15. package/dist/canvas/keys.d.ts.map +1 -0
  16. package/dist/canvas/keys.js +133 -0
  17. package/dist/canvas/keys.js.map +1 -0
  18. package/dist/canvas/layout.d.ts +26 -0
  19. package/dist/canvas/layout.d.ts.map +1 -0
  20. package/dist/canvas/layout.js +73 -0
  21. package/dist/canvas/layout.js.map +1 -0
  22. package/dist/canvas/scroll.d.ts +31 -0
  23. package/dist/canvas/scroll.d.ts.map +1 -0
  24. package/dist/canvas/scroll.js +111 -0
  25. package/dist/canvas/scroll.js.map +1 -0
  26. package/dist/canvas/text.d.ts +23 -0
  27. package/dist/canvas/text.d.ts.map +1 -0
  28. package/dist/canvas/text.js +142 -0
  29. package/dist/canvas/text.js.map +1 -0
  30. package/dist/{theme.d.ts → canvas/theme.d.ts} +8 -0
  31. package/dist/canvas/theme.d.ts.map +1 -0
  32. package/dist/canvas/theme.js +62 -0
  33. package/dist/canvas/theme.js.map +1 -0
  34. package/dist/core/cache.d.ts +48 -0
  35. package/dist/core/cache.d.ts.map +1 -0
  36. package/dist/core/cache.js +222 -0
  37. package/dist/core/cache.js.map +1 -0
  38. package/dist/core/checked.d.ts +20 -0
  39. package/dist/core/checked.d.ts.map +1 -0
  40. package/dist/core/checked.js +61 -0
  41. package/dist/core/checked.js.map +1 -0
  42. package/dist/core/client.d.ts +33 -0
  43. package/dist/core/client.d.ts.map +1 -0
  44. package/dist/core/client.js +103 -0
  45. package/dist/core/client.js.map +1 -0
  46. package/dist/core/conditions.d.ts +48 -0
  47. package/dist/core/conditions.d.ts.map +1 -0
  48. package/dist/core/conditions.js +105 -0
  49. package/dist/core/conditions.js.map +1 -0
  50. package/dist/core/evaluate.d.ts +20 -0
  51. package/dist/core/evaluate.d.ts.map +1 -0
  52. package/dist/core/evaluate.js +210 -0
  53. package/dist/core/evaluate.js.map +1 -0
  54. package/dist/core/filters.d.ts +51 -0
  55. package/dist/core/filters.d.ts.map +1 -0
  56. package/dist/core/filters.js +303 -0
  57. package/dist/core/filters.js.map +1 -0
  58. package/dist/core/format.d.ts +14 -0
  59. package/dist/core/format.d.ts.map +1 -0
  60. package/dist/core/format.js +303 -0
  61. package/dist/core/format.js.map +1 -0
  62. package/dist/core/measures.d.ts +26 -0
  63. package/dist/core/measures.d.ts.map +1 -0
  64. package/dist/core/measures.js +105 -0
  65. package/dist/core/measures.js.map +1 -0
  66. package/dist/core/request-ids.d.ts +20 -0
  67. package/dist/core/request-ids.d.ts.map +1 -0
  68. package/dist/core/request-ids.js +55 -0
  69. package/dist/core/request-ids.js.map +1 -0
  70. package/dist/core/rows.d.ts +79 -0
  71. package/dist/core/rows.d.ts.map +1 -0
  72. package/dist/core/rows.js +173 -0
  73. package/dist/core/rows.js.map +1 -0
  74. package/dist/core/store.d.ts +233 -0
  75. package/dist/core/store.d.ts.map +1 -0
  76. package/dist/core/store.js +1162 -0
  77. package/dist/core/store.js.map +1 -0
  78. package/dist/core/totals.d.ts +24 -0
  79. package/dist/core/totals.d.ts.map +1 -0
  80. package/dist/core/totals.js +49 -0
  81. package/dist/core/totals.js.map +1 -0
  82. package/dist/core/trace.d.ts +7 -0
  83. package/dist/core/trace.d.ts.map +1 -0
  84. package/dist/core/trace.js +26 -0
  85. package/dist/core/trace.js.map +1 -0
  86. package/dist/core/transports.d.ts +50 -0
  87. package/dist/core/transports.d.ts.map +1 -0
  88. package/dist/core/transports.js +160 -0
  89. package/dist/core/transports.js.map +1 -0
  90. package/dist/core/types.d.ts +150 -0
  91. package/dist/core/types.d.ts.map +1 -0
  92. package/dist/core/types.js +45 -0
  93. package/dist/core/types.js.map +1 -0
  94. package/dist/core.d.ts +12 -0
  95. package/dist/core.d.ts.map +1 -0
  96. package/dist/core.js +11 -0
  97. package/dist/core.js.map +1 -0
  98. package/dist/index.d.ts +15 -6
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +13 -7
  101. package/dist/index.js.map +1 -1
  102. package/dist/react/accessible-rows.d.ts +13 -0
  103. package/dist/react/accessible-rows.d.ts.map +1 -0
  104. package/dist/react/accessible-rows.js +320 -0
  105. package/dist/react/accessible-rows.js.map +1 -0
  106. package/dist/react/cell-editor.d.ts +22 -0
  107. package/dist/react/cell-editor.d.ts.map +1 -0
  108. package/dist/react/cell-editor.js +431 -0
  109. package/dist/react/cell-editor.js.map +1 -0
  110. package/dist/react/cell-menu.d.ts +18 -0
  111. package/dist/react/cell-menu.d.ts.map +1 -0
  112. package/dist/react/cell-menu.js +299 -0
  113. package/dist/react/cell-menu.js.map +1 -0
  114. package/dist/react/column-menu.d.ts +16 -0
  115. package/dist/react/column-menu.d.ts.map +1 -0
  116. package/dist/react/column-menu.js +1311 -0
  117. package/dist/react/column-menu.js.map +1 -0
  118. package/dist/react/columns-menu.d.ts +7 -0
  119. package/dist/react/columns-menu.d.ts.map +1 -0
  120. package/dist/react/columns-menu.js +249 -0
  121. package/dist/react/columns-menu.js.map +1 -0
  122. package/dist/react/conditions-menu.d.ts +10 -0
  123. package/dist/react/conditions-menu.d.ts.map +1 -0
  124. package/dist/react/conditions-menu.js +795 -0
  125. package/dist/react/conditions-menu.js.map +1 -0
  126. package/dist/react/context.d.ts +29 -0
  127. package/dist/react/context.d.ts.map +1 -0
  128. package/dist/react/context.js +18 -0
  129. package/dist/react/context.js.map +1 -0
  130. package/dist/react/data-grid.d.ts +79 -0
  131. package/dist/react/data-grid.d.ts.map +1 -0
  132. package/dist/react/data-grid.js +653 -0
  133. package/dist/react/data-grid.js.map +1 -0
  134. package/dist/react/detail-panel.d.ts +22 -0
  135. package/dist/react/detail-panel.d.ts.map +1 -0
  136. package/dist/react/detail-panel.js +242 -0
  137. package/dist/react/detail-panel.js.map +1 -0
  138. package/dist/react/export-menu.d.ts +11 -0
  139. package/dist/react/export-menu.d.ts.map +1 -0
  140. package/dist/react/export-menu.js +304 -0
  141. package/dist/react/export-menu.js.map +1 -0
  142. package/dist/react/find-bar.d.ts +11 -0
  143. package/dist/react/find-bar.d.ts.map +1 -0
  144. package/dist/react/find-bar.js +303 -0
  145. package/dist/react/find-bar.js.map +1 -0
  146. package/dist/react/format-form.d.ts +12 -0
  147. package/dist/react/format-form.d.ts.map +1 -0
  148. package/dist/react/format-form.js +863 -0
  149. package/dist/react/format-form.js.map +1 -0
  150. package/dist/react/formula-menu.d.ts +6 -0
  151. package/dist/react/formula-menu.d.ts.map +1 -0
  152. package/dist/react/formula-menu.js +343 -0
  153. package/dist/react/formula-menu.js.map +1 -0
  154. package/dist/react/grid-body.d.ts +33 -0
  155. package/dist/react/grid-body.d.ts.map +1 -0
  156. package/dist/react/grid-body.js +1389 -0
  157. package/dist/react/grid-body.js.map +1 -0
  158. package/dist/react/group-menu.d.ts +7 -0
  159. package/dist/react/group-menu.d.ts.map +1 -0
  160. package/dist/react/group-menu.js +508 -0
  161. package/dist/react/group-menu.js.map +1 -0
  162. package/dist/react/hooks.d.ts +33 -0
  163. package/dist/react/hooks.d.ts.map +1 -0
  164. package/dist/react/hooks.js +161 -0
  165. package/dist/react/hooks.js.map +1 -0
  166. package/dist/react/messages.d.ts +180 -0
  167. package/dist/react/messages.d.ts.map +1 -0
  168. package/dist/react/messages.js +414 -0
  169. package/dist/react/messages.js.map +1 -0
  170. package/dist/react/save.d.ts +9 -0
  171. package/dist/react/save.d.ts.map +1 -0
  172. package/dist/react/save.js +102 -0
  173. package/dist/react/save.js.map +1 -0
  174. package/dist/react/static-rows.d.ts +9 -0
  175. package/dist/react/static-rows.d.ts.map +1 -0
  176. package/dist/react/static-rows.js +176 -0
  177. package/dist/react/static-rows.js.map +1 -0
  178. package/dist/react/status-bar.d.ts +12 -0
  179. package/dist/react/status-bar.d.ts.map +1 -0
  180. package/dist/react/status-bar.js +413 -0
  181. package/dist/react/status-bar.js.map +1 -0
  182. package/dist/react/toolbar-popover.d.ts +14 -0
  183. package/dist/react/toolbar-popover.d.ts.map +1 -0
  184. package/dist/react/toolbar-popover.js +143 -0
  185. package/dist/react/toolbar-popover.js.map +1 -0
  186. package/dist/react/toolbar.d.ts +13 -0
  187. package/dist/react/toolbar.d.ts.map +1 -0
  188. package/dist/react/toolbar.js +344 -0
  189. package/dist/react/toolbar.js.map +1 -0
  190. package/dist/server.d.ts +22 -0
  191. package/dist/server.d.ts.map +1 -0
  192. package/dist/server.js +45 -0
  193. package/dist/server.js.map +1 -0
  194. package/dist/styles.css +496 -316
  195. package/package.json +43 -18
  196. package/src/canvas/geometry.ts +197 -0
  197. package/src/canvas/grid-canvas.ts +1222 -0
  198. package/src/canvas/hooks.ts +61 -0
  199. package/src/canvas/keys.ts +96 -0
  200. package/src/canvas/layout.ts +77 -0
  201. package/src/canvas/scroll.ts +120 -0
  202. package/src/canvas/text.ts +155 -0
  203. package/src/{theme.ts → canvas/theme.ts} +14 -1
  204. package/src/core/cache.ts +247 -0
  205. package/src/core/checked.ts +64 -0
  206. package/src/core/client.ts +103 -0
  207. package/src/core/conditions.ts +89 -0
  208. package/src/core/evaluate.ts +221 -0
  209. package/src/core/filters.ts +268 -0
  210. package/src/core/format.ts +309 -0
  211. package/src/core/measures.ts +99 -0
  212. package/src/core/request-ids.ts +54 -0
  213. package/src/core/rows.ts +213 -0
  214. package/src/core/store.ts +1122 -0
  215. package/src/core/totals.ts +59 -0
  216. package/src/core/trace.ts +44 -0
  217. package/src/core/transports.ts +177 -0
  218. package/src/core/types.ts +168 -0
  219. package/src/core.ts +39 -0
  220. package/src/index.ts +24 -12
  221. package/src/react/accessible-rows.tsx +242 -0
  222. package/src/react/cell-editor.tsx +216 -0
  223. package/src/react/cell-menu.tsx +166 -0
  224. package/src/react/column-menu.tsx +619 -0
  225. package/src/react/columns-menu.tsx +116 -0
  226. package/src/react/conditions-menu.tsx +289 -0
  227. package/src/react/context.ts +33 -0
  228. package/src/react/data-grid.tsx +286 -0
  229. package/src/react/detail-panel.tsx +92 -0
  230. package/src/react/export-menu.tsx +112 -0
  231. package/src/react/find-bar.tsx +112 -0
  232. package/src/react/format-form.tsx +421 -0
  233. package/src/react/formula-menu.tsx +163 -0
  234. package/src/react/grid-body.tsx +744 -0
  235. package/src/react/group-menu.tsx +214 -0
  236. package/src/react/hooks.ts +104 -0
  237. package/src/react/messages.ts +556 -0
  238. package/src/react/save.ts +42 -0
  239. package/src/react/static-rows.tsx +59 -0
  240. package/src/react/status-bar.tsx +175 -0
  241. package/src/react/toolbar-popover.tsx +69 -0
  242. package/src/react/toolbar.tsx +152 -0
  243. package/src/server.ts +58 -0
  244. package/src/styles.css +496 -316
  245. package/dist/components/bars.d.ts +0 -14
  246. package/dist/components/bars.d.ts.map +0 -1
  247. package/dist/components/bars.js +0 -67
  248. package/dist/components/bars.js.map +0 -1
  249. package/dist/components/cell-inspector.d.ts +0 -11
  250. package/dist/components/cell-inspector.d.ts.map +0 -1
  251. package/dist/components/cell-inspector.js +0 -37
  252. package/dist/components/cell-inspector.js.map +0 -1
  253. package/dist/components/columns-panel.d.ts +0 -12
  254. package/dist/components/columns-panel.d.ts.map +0 -1
  255. package/dist/components/columns-panel.js +0 -11
  256. package/dist/components/columns-panel.js.map +0 -1
  257. package/dist/components/filter-panel.d.ts +0 -17
  258. package/dist/components/filter-panel.d.ts.map +0 -1
  259. package/dist/components/filter-panel.js +0 -165
  260. package/dist/components/filter-panel.js.map +0 -1
  261. package/dist/components/find-bar.d.ts +0 -9
  262. package/dist/components/find-bar.d.ts.map +0 -1
  263. package/dist/components/find-bar.js +0 -46
  264. package/dist/components/find-bar.js.map +0 -1
  265. package/dist/components/popover.d.ts +0 -38
  266. package/dist/components/popover.d.ts.map +0 -1
  267. package/dist/components/popover.js +0 -104
  268. package/dist/components/popover.js.map +0 -1
  269. package/dist/components/stats-panel.d.ts +0 -12
  270. package/dist/components/stats-panel.d.ts.map +0 -1
  271. package/dist/components/stats-panel.js +0 -40
  272. package/dist/components/stats-panel.js.map +0 -1
  273. package/dist/controller.d.ts +0 -218
  274. package/dist/controller.d.ts.map +0 -1
  275. package/dist/controller.js +0 -788
  276. package/dist/controller.js.map +0 -1
  277. package/dist/data-grid.d.ts +0 -51
  278. package/dist/data-grid.d.ts.map +0 -1
  279. package/dist/data-grid.js +0 -698
  280. package/dist/data-grid.js.map +0 -1
  281. package/dist/labels.d.ts +0 -9
  282. package/dist/labels.d.ts.map +0 -1
  283. package/dist/labels.js +0 -38
  284. package/dist/labels.js.map +0 -1
  285. package/dist/messages.d.ts +0 -99
  286. package/dist/messages.d.ts.map +0 -1
  287. package/dist/messages.js +0 -276
  288. package/dist/messages.js.map +0 -1
  289. package/dist/renderer.d.ts +0 -52
  290. package/dist/renderer.d.ts.map +0 -1
  291. package/dist/renderer.js +0 -522
  292. package/dist/renderer.js.map +0 -1
  293. package/dist/text.d.ts +0 -14
  294. package/dist/text.d.ts.map +0 -1
  295. package/dist/text.js +0 -63
  296. package/dist/text.js.map +0 -1
  297. package/dist/theme.d.ts.map +0 -1
  298. package/dist/theme.js +0 -54
  299. package/dist/theme.js.map +0 -1
  300. package/src/components/bars.tsx +0 -179
  301. package/src/components/cell-inspector.tsx +0 -70
  302. package/src/components/columns-panel.tsx +0 -59
  303. package/src/components/filter-panel.tsx +0 -290
  304. package/src/components/find-bar.tsx +0 -104
  305. package/src/components/popover.tsx +0 -194
  306. package/src/components/stats-panel.tsx +0 -153
  307. package/src/controller.ts +0 -887
  308. package/src/data-grid.tsx +0 -1029
  309. package/src/labels.ts +0 -46
  310. package/src/messages.ts +0 -390
  311. package/src/renderer.ts +0 -535
  312. package/src/text.ts +0 -55
@@ -0,0 +1,863 @@
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import { use, useState, useTransition } from "react";
3
+ import { columnsOf, formulaText, joinParts, partsOf } from "vastgrid-spec";
4
+ import { FilterTextError, filterParts, operatorsFor, readFilter, takesNoValue } from "../core/filters.js";
5
+ import { isNumeric } from "../core/format.js";
6
+ import { LocaleContext } from "./context.js";
7
+ import { useGridSelector, useGridStore } from "./hooks.js";
8
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
9
+ const TEMPORAL = new Set(["date", "time", "timestamp", "timestamptz"]);
10
+
11
+ /** A style rule as the form edits it: a condition on one column, or a `when` it does not take apart. */
12
+
13
+ let nextRule = 1;
14
+ function ruleId() {
15
+ return nextRule++;
16
+ }
17
+ function draftOf(rule, fallback) {
18
+ const names = columnsOf(rule.when);
19
+ const [name] = names;
20
+ const read = names.size === 1 ? readFilter(partsOf(rule.when), name) : null;
21
+ const filter = read !== null && read !== "other" && read.kind === "condition" ? read : {
22
+ kind: "condition",
23
+ operator: "eq",
24
+ first: "",
25
+ second: ""
26
+ };
27
+ return {
28
+ id: ruleId(),
29
+ column: read !== null && read !== "other" && read.kind === "condition" ? name : fallback,
30
+ filter,
31
+ ...(read !== null && read !== "other" && read.kind === "condition" ? {} : {
32
+ kept: rule.when
33
+ }),
34
+ color: rule.color ?? null,
35
+ background: rule.background ?? null,
36
+ description: rule.description ?? ""
37
+ };
38
+ }
39
+
40
+ /** The `when` of a rule, or null when its text is not a value of its column; undefined without text. */
41
+ function whenOf(rule, columns) {
42
+ if (rule.kept) return rule.kept;
43
+ const column = columns.find(item => item.name === rule.column);
44
+ if (!column) return undefined;
45
+ try {
46
+ return joinParts(filterParts(rule.filter, column));
47
+ } catch (error) {
48
+ if (error instanceof FilterTextError) return null;
49
+ throw error;
50
+ }
51
+ }
52
+
53
+ /** Whether Intl formats a currency code. */
54
+ function knownCurrency(code) {
55
+ try {
56
+ new Intl.NumberFormat(undefined, {
57
+ style: "currency",
58
+ currency: code
59
+ });
60
+ return true;
61
+ } catch {
62
+ return false;
63
+ }
64
+ }
65
+ function formulaOf(expr) {
66
+ try {
67
+ return formulaText(expr);
68
+ } catch {
69
+ return JSON.stringify(expr);
70
+ }
71
+ }
72
+
73
+ /**
74
+ * A column's format (§5.1 of the specification): its label, alignment and wrapping, the number or date format of its
75
+ * type, and rules of conditional colors, each a condition on a column of the view with a text color, a background
76
+ * and what they mean. Applying dispatches `column.format`; Clear removes the format.
77
+ */
78
+ export function FormatForm(t0) {
79
+ const $ = _c(154);
80
+ const {
81
+ column,
82
+ setting,
83
+ onDone
84
+ } = t0;
85
+ const store = useGridStore();
86
+ const {
87
+ messages
88
+ } = use(LocaleContext);
89
+ const view = useGridSelector(_temp);
90
+ let t1;
91
+ if ($[0] !== setting.format) {
92
+ t1 = setting.format ?? {};
93
+ $[0] = setting.format;
94
+ $[1] = t1;
95
+ } else {
96
+ t1 = $[1];
97
+ }
98
+ const format = t1;
99
+ const [label, setLabel] = useState(format.label ?? "");
100
+ const [align, setAlign] = useState(format.align ?? "");
101
+ const [wrap, setWrap] = useState(format.wrap === true);
102
+ const [style, setStyle] = useState(format.number ? format.number.style ?? "decimal" : "");
103
+ const [currency, setCurrency] = useState(format.number?.currency ?? "");
104
+ const [digits, setDigits] = useState(format.number?.fractionDigits === undefined ? "" : String(format.number.fractionDigits));
105
+ const [grouping, setGrouping] = useState(format.number?.grouping !== false);
106
+ const [pattern, setPattern] = useState(format.date?.pattern ?? "");
107
+ let t2;
108
+ if ($[2] !== column.name || $[3] !== format.styles) {
109
+ t2 = () => (format.styles ?? []).map(rule => draftOf(rule, column.name));
110
+ $[2] = column.name;
111
+ $[3] = format.styles;
112
+ $[4] = t2;
113
+ } else {
114
+ t2 = $[4];
115
+ }
116
+ const [rules, setRules] = useState(t2);
117
+ const [error, setError] = useState(null);
118
+ const [pending, startApply] = useTransition();
119
+ let t3;
120
+ if ($[5] !== column) {
121
+ t3 = isNumeric(column);
122
+ $[5] = column;
123
+ $[6] = t3;
124
+ } else {
125
+ t3 = $[6];
126
+ }
127
+ const numeric = t3;
128
+ let t4;
129
+ if ($[7] !== column.type) {
130
+ t4 = TEMPORAL.has(column.type);
131
+ $[7] = column.type;
132
+ $[8] = t4;
133
+ } else {
134
+ t4 = $[8];
135
+ }
136
+ const temporal = t4;
137
+ let t5;
138
+ if ($[9] !== column.name || $[10] !== onDone || $[11] !== store) {
139
+ t5 = next => startApply(async () => {
140
+ const outcome = await store.dispatch({
141
+ command: "column.format",
142
+ name: column.name,
143
+ format: next
144
+ });
145
+ if (!outcome.ok) {
146
+ setError(outcome.error.message);
147
+ return;
148
+ }
149
+ onDone();
150
+ });
151
+ $[9] = column.name;
152
+ $[10] = onDone;
153
+ $[11] = store;
154
+ $[12] = t5;
155
+ } else {
156
+ t5 = $[12];
157
+ }
158
+ const dispatch = t5;
159
+ let t6;
160
+ if ($[13] !== align || $[14] !== currency || $[15] !== digits || $[16] !== dispatch || $[17] !== format || $[18] !== grouping || $[19] !== label || $[20] !== messages.invalidCondition || $[21] !== messages.invalidCurrency || $[22] !== numeric || $[23] !== pattern || $[24] !== rules || $[25] !== style || $[26] !== temporal || $[27] !== view || $[28] !== wrap) {
161
+ t6 = event => {
162
+ event.preventDefault();
163
+ if (style === "currency" && !knownCurrency(currency)) {
164
+ setError(messages.invalidCurrency);
165
+ return;
166
+ }
167
+ const styles = [];
168
+ for (const rule_0 of rules) {
169
+ const when = whenOf(rule_0, view);
170
+ if (when === null) {
171
+ setError(messages.invalidCondition);
172
+ return;
173
+ }
174
+ if (when === undefined || !rule_0.color && !rule_0.background) {
175
+ continue;
176
+ }
177
+ styles.push({
178
+ when,
179
+ ...(rule_0.color ? {
180
+ color: rule_0.color
181
+ } : {}),
182
+ ...(rule_0.background ? {
183
+ background: rule_0.background
184
+ } : {}),
185
+ ...(rule_0.description.trim() ? {
186
+ description: rule_0.description.trim()
187
+ } : {})
188
+ });
189
+ }
190
+ const fraction = digits.trim() === "" ? undefined : Math.min(20, Math.max(0, Math.round(Number(digits))));
191
+ const number = numeric && style ? {
192
+ style,
193
+ ...(style === "currency" ? {
194
+ currency: currency.toUpperCase()
195
+ } : {}),
196
+ ...(fraction === undefined || Number.isNaN(fraction) ? {} : {
197
+ fractionDigits: fraction
198
+ }),
199
+ ...(grouping ? {} : {
200
+ grouping: false
201
+ })
202
+ } : undefined;
203
+ const next_0 = {
204
+ ...format,
205
+ ...(label.trim() ? {
206
+ label: label.trim()
207
+ } : {
208
+ label: undefined
209
+ }),
210
+ align: align === "" ? undefined : align,
211
+ wrap: wrap ? true : undefined,
212
+ number: numeric ? number : format.number,
213
+ date: temporal ? pattern.trim() ? {
214
+ ...format.date,
215
+ pattern: pattern.trim()
216
+ } : undefined : format.date,
217
+ styles: styles.length > 0 ? styles : undefined
218
+ };
219
+ const cleaned = Object.fromEntries(Object.entries(next_0).filter(_temp2));
220
+ dispatch(Object.keys(cleaned).length > 0 ? cleaned : null);
221
+ };
222
+ $[13] = align;
223
+ $[14] = currency;
224
+ $[15] = digits;
225
+ $[16] = dispatch;
226
+ $[17] = format;
227
+ $[18] = grouping;
228
+ $[19] = label;
229
+ $[20] = messages.invalidCondition;
230
+ $[21] = messages.invalidCurrency;
231
+ $[22] = numeric;
232
+ $[23] = pattern;
233
+ $[24] = rules;
234
+ $[25] = style;
235
+ $[26] = temporal;
236
+ $[27] = view;
237
+ $[28] = wrap;
238
+ $[29] = t6;
239
+ } else {
240
+ t6 = $[29];
241
+ }
242
+ const submit = t6;
243
+ let t7;
244
+ if ($[30] === Symbol.for("react.memo_cache_sentinel")) {
245
+ t7 = (id, patch) => setRules(current => current.map(rule_1 => rule_1.id === id ? {
246
+ ...rule_1,
247
+ ...patch
248
+ } : rule_1));
249
+ $[30] = t7;
250
+ } else {
251
+ t7 = $[30];
252
+ }
253
+ const change = t7;
254
+ let t8;
255
+ if ($[31] !== column.name || $[32] !== messages) {
256
+ t8 = messages.formatOf(column.name);
257
+ $[31] = column.name;
258
+ $[32] = messages;
259
+ $[33] = t8;
260
+ } else {
261
+ t8 = $[33];
262
+ }
263
+ let t9;
264
+ if ($[34] !== column.name || $[35] !== messages) {
265
+ t9 = messages.formatOf(column.name);
266
+ $[34] = column.name;
267
+ $[35] = messages;
268
+ $[36] = t9;
269
+ } else {
270
+ t9 = $[36];
271
+ }
272
+ let t10;
273
+ if ($[37] !== t9) {
274
+ t10 = /*#__PURE__*/_jsx("p", {
275
+ className: "vg-filter__title",
276
+ children: t9
277
+ });
278
+ $[37] = t9;
279
+ $[38] = t10;
280
+ } else {
281
+ t10 = $[38];
282
+ }
283
+ let t11;
284
+ if ($[39] !== messages.columnLabel) {
285
+ t11 = /*#__PURE__*/_jsx("span", {
286
+ children: messages.columnLabel
287
+ });
288
+ $[39] = messages.columnLabel;
289
+ $[40] = t11;
290
+ } else {
291
+ t11 = $[40];
292
+ }
293
+ let t12;
294
+ if ($[41] === Symbol.for("react.memo_cache_sentinel")) {
295
+ t12 = event_0 => setLabel(event_0.target.value);
296
+ $[41] = t12;
297
+ } else {
298
+ t12 = $[41];
299
+ }
300
+ let t13;
301
+ if ($[42] !== column.name || $[43] !== label) {
302
+ t13 = /*#__PURE__*/_jsx("input", {
303
+ className: "vg-input",
304
+ value: label,
305
+ placeholder: column.name,
306
+ onChange: t12
307
+ });
308
+ $[42] = column.name;
309
+ $[43] = label;
310
+ $[44] = t13;
311
+ } else {
312
+ t13 = $[44];
313
+ }
314
+ let t14;
315
+ if ($[45] !== t11 || $[46] !== t13) {
316
+ t14 = /*#__PURE__*/_jsxs("label", {
317
+ className: "vg-format__field",
318
+ children: [t11, t13]
319
+ });
320
+ $[45] = t11;
321
+ $[46] = t13;
322
+ $[47] = t14;
323
+ } else {
324
+ t14 = $[47];
325
+ }
326
+ let t15;
327
+ if ($[48] !== messages.alignment) {
328
+ t15 = /*#__PURE__*/_jsx("span", {
329
+ children: messages.alignment
330
+ });
331
+ $[48] = messages.alignment;
332
+ $[49] = t15;
333
+ } else {
334
+ t15 = $[49];
335
+ }
336
+ let t16;
337
+ if ($[50] === Symbol.for("react.memo_cache_sentinel")) {
338
+ t16 = event_1 => setAlign(event_1.target.value);
339
+ $[50] = t16;
340
+ } else {
341
+ t16 = $[50];
342
+ }
343
+ let t17;
344
+ if ($[51] !== messages.alignments.auto) {
345
+ t17 = /*#__PURE__*/_jsx("option", {
346
+ value: "",
347
+ children: messages.alignments.auto
348
+ });
349
+ $[51] = messages.alignments.auto;
350
+ $[52] = t17;
351
+ } else {
352
+ t17 = $[52];
353
+ }
354
+ let t18;
355
+ if ($[53] !== messages.alignments.left) {
356
+ t18 = /*#__PURE__*/_jsx("option", {
357
+ value: "left",
358
+ children: messages.alignments.left
359
+ });
360
+ $[53] = messages.alignments.left;
361
+ $[54] = t18;
362
+ } else {
363
+ t18 = $[54];
364
+ }
365
+ let t19;
366
+ if ($[55] !== messages.alignments.center) {
367
+ t19 = /*#__PURE__*/_jsx("option", {
368
+ value: "center",
369
+ children: messages.alignments.center
370
+ });
371
+ $[55] = messages.alignments.center;
372
+ $[56] = t19;
373
+ } else {
374
+ t19 = $[56];
375
+ }
376
+ let t20;
377
+ if ($[57] !== messages.alignments.right) {
378
+ t20 = /*#__PURE__*/_jsx("option", {
379
+ value: "right",
380
+ children: messages.alignments.right
381
+ });
382
+ $[57] = messages.alignments.right;
383
+ $[58] = t20;
384
+ } else {
385
+ t20 = $[58];
386
+ }
387
+ let t21;
388
+ if ($[59] !== align || $[60] !== t17 || $[61] !== t18 || $[62] !== t19 || $[63] !== t20) {
389
+ t21 = /*#__PURE__*/_jsxs("select", {
390
+ className: "vg-input",
391
+ value: align,
392
+ onChange: t16,
393
+ children: [t17, t18, t19, t20]
394
+ });
395
+ $[59] = align;
396
+ $[60] = t17;
397
+ $[61] = t18;
398
+ $[62] = t19;
399
+ $[63] = t20;
400
+ $[64] = t21;
401
+ } else {
402
+ t21 = $[64];
403
+ }
404
+ let t22;
405
+ if ($[65] !== t15 || $[66] !== t21) {
406
+ t22 = /*#__PURE__*/_jsxs("label", {
407
+ className: "vg-format__field",
408
+ children: [t15, t21]
409
+ });
410
+ $[65] = t15;
411
+ $[66] = t21;
412
+ $[67] = t22;
413
+ } else {
414
+ t22 = $[67];
415
+ }
416
+ let t23;
417
+ if ($[68] === Symbol.for("react.memo_cache_sentinel")) {
418
+ t23 = event_2 => setWrap(event_2.target.checked);
419
+ $[68] = t23;
420
+ } else {
421
+ t23 = $[68];
422
+ }
423
+ let t24;
424
+ if ($[69] !== wrap) {
425
+ t24 = /*#__PURE__*/_jsx("input", {
426
+ type: "checkbox",
427
+ checked: wrap,
428
+ onChange: t23
429
+ });
430
+ $[69] = wrap;
431
+ $[70] = t24;
432
+ } else {
433
+ t24 = $[70];
434
+ }
435
+ let t25;
436
+ if ($[71] !== messages.wrapText) {
437
+ t25 = /*#__PURE__*/_jsx("span", {
438
+ children: messages.wrapText
439
+ });
440
+ $[71] = messages.wrapText;
441
+ $[72] = t25;
442
+ } else {
443
+ t25 = $[72];
444
+ }
445
+ let t26;
446
+ if ($[73] !== t24 || $[74] !== t25) {
447
+ t26 = /*#__PURE__*/_jsxs("label", {
448
+ className: "vg-filter__value",
449
+ children: [t24, t25]
450
+ });
451
+ $[73] = t24;
452
+ $[74] = t25;
453
+ $[75] = t26;
454
+ } else {
455
+ t26 = $[75];
456
+ }
457
+ let t27;
458
+ if ($[76] !== currency || $[77] !== digits || $[78] !== grouping || $[79] !== messages.currency || $[80] !== messages.fractionDigits || $[81] !== messages.grouping || $[82] !== messages.numberFormat || $[83] !== messages.numberStyles || $[84] !== numeric || $[85] !== style) {
459
+ t27 = numeric && /*#__PURE__*/_jsxs("fieldset", {
460
+ className: "vg-format__group",
461
+ children: [/*#__PURE__*/_jsx("legend", {
462
+ children: messages.numberFormat
463
+ }), /*#__PURE__*/_jsxs("select", {
464
+ className: "vg-input",
465
+ "aria-label": messages.numberFormat,
466
+ value: style,
467
+ onChange: event_3 => setStyle(event_3.target.value),
468
+ children: [/*#__PURE__*/_jsx("option", {
469
+ value: "",
470
+ children: messages.numberStyles.none
471
+ }), /*#__PURE__*/_jsx("option", {
472
+ value: "decimal",
473
+ children: messages.numberStyles.decimal
474
+ }), /*#__PURE__*/_jsx("option", {
475
+ value: "percent",
476
+ children: messages.numberStyles.percent
477
+ }), /*#__PURE__*/_jsx("option", {
478
+ value: "currency",
479
+ children: messages.numberStyles.currency
480
+ })]
481
+ }), style === "currency" && /*#__PURE__*/_jsx("input", {
482
+ className: "vg-input",
483
+ "aria-label": messages.currency,
484
+ placeholder: "JPY",
485
+ value: currency,
486
+ onChange: event_4 => setCurrency(event_4.target.value)
487
+ }), style !== "" && /*#__PURE__*/_jsxs(_Fragment, {
488
+ children: [/*#__PURE__*/_jsx("input", {
489
+ className: "vg-input",
490
+ type: "number",
491
+ min: 0,
492
+ max: 20,
493
+ "aria-label": messages.fractionDigits,
494
+ placeholder: messages.fractionDigits,
495
+ value: digits,
496
+ onChange: event_5 => setDigits(event_5.target.value)
497
+ }), /*#__PURE__*/_jsxs("label", {
498
+ className: "vg-filter__value",
499
+ children: [/*#__PURE__*/_jsx("input", {
500
+ type: "checkbox",
501
+ checked: grouping,
502
+ onChange: event_6 => setGrouping(event_6.target.checked)
503
+ }), /*#__PURE__*/_jsx("span", {
504
+ children: messages.grouping
505
+ })]
506
+ })]
507
+ })]
508
+ });
509
+ $[76] = currency;
510
+ $[77] = digits;
511
+ $[78] = grouping;
512
+ $[79] = messages.currency;
513
+ $[80] = messages.fractionDigits;
514
+ $[81] = messages.grouping;
515
+ $[82] = messages.numberFormat;
516
+ $[83] = messages.numberStyles;
517
+ $[84] = numeric;
518
+ $[85] = style;
519
+ $[86] = t27;
520
+ } else {
521
+ t27 = $[86];
522
+ }
523
+ let t28;
524
+ if ($[87] !== messages.datePattern || $[88] !== pattern || $[89] !== temporal) {
525
+ t28 = temporal && /*#__PURE__*/_jsxs("label", {
526
+ className: "vg-format__field",
527
+ children: [/*#__PURE__*/_jsx("span", {
528
+ children: messages.datePattern
529
+ }), /*#__PURE__*/_jsx("input", {
530
+ className: "vg-input",
531
+ placeholder: "yyyy/MM/dd HH:mm",
532
+ value: pattern,
533
+ onChange: event_7 => setPattern(event_7.target.value)
534
+ })]
535
+ });
536
+ $[87] = messages.datePattern;
537
+ $[88] = pattern;
538
+ $[89] = temporal;
539
+ $[90] = t28;
540
+ } else {
541
+ t28 = $[90];
542
+ }
543
+ let t29;
544
+ if ($[91] !== messages.conditionalColors) {
545
+ t29 = /*#__PURE__*/_jsx("legend", {
546
+ children: messages.conditionalColors
547
+ });
548
+ $[91] = messages.conditionalColors;
549
+ $[92] = t29;
550
+ } else {
551
+ t29 = $[92];
552
+ }
553
+ let t30;
554
+ if ($[93] !== messages.backgroundColor || $[94] !== messages.condition || $[95] !== messages.conditionColumn || $[96] !== messages.maximum || $[97] !== messages.minimum || $[98] !== messages.operators || $[99] !== messages.removeRule || $[100] !== messages.ruleDescription || $[101] !== messages.textColor || $[102] !== messages.value || $[103] !== rules || $[104] !== view) {
555
+ let t31;
556
+ if ($[106] !== messages.backgroundColor || $[107] !== messages.condition || $[108] !== messages.conditionColumn || $[109] !== messages.maximum || $[110] !== messages.minimum || $[111] !== messages.operators || $[112] !== messages.removeRule || $[113] !== messages.ruleDescription || $[114] !== messages.textColor || $[115] !== messages.value || $[116] !== view) {
557
+ t31 = rule_2 => {
558
+ const target = view.find(item => item.name === rule_2.column);
559
+ const operators = target ? operatorsFor(target.type) : [];
560
+ return /*#__PURE__*/_jsxs("div", {
561
+ className: "vg-format__rule",
562
+ children: [rule_2.kept ? /*#__PURE__*/_jsx("code", {
563
+ className: "vg-conditions__expression",
564
+ children: formulaOf(rule_2.kept)
565
+ }) : /*#__PURE__*/_jsxs("div", {
566
+ className: "vg-conditions__row",
567
+ children: [/*#__PURE__*/_jsx("select", {
568
+ className: "vg-input",
569
+ "aria-label": messages.conditionColumn,
570
+ value: rule_2.column,
571
+ onChange: event_8 => {
572
+ const next_1 = view.find(item_0 => item_0.name === event_8.target.value);
573
+ if (!next_1) {
574
+ return;
575
+ }
576
+ const kinds = operatorsFor(next_1.type);
577
+ const operator = kinds.includes(rule_2.filter.operator) ? rule_2.filter.operator : kinds[0];
578
+ change(rule_2.id, {
579
+ column: next_1.name,
580
+ filter: {
581
+ ...rule_2.filter,
582
+ operator
583
+ }
584
+ });
585
+ },
586
+ children: view.map(_temp3)
587
+ }), /*#__PURE__*/_jsx("select", {
588
+ className: "vg-input",
589
+ "aria-label": messages.condition,
590
+ value: rule_2.filter.operator,
591
+ onChange: event_9 => change(rule_2.id, {
592
+ filter: {
593
+ ...rule_2.filter,
594
+ operator: event_9.target.value
595
+ }
596
+ }),
597
+ children: operators.map(item_2 => /*#__PURE__*/_jsx("option", {
598
+ value: item_2,
599
+ children: messages.operators[item_2]
600
+ }, item_2))
601
+ }), !takesNoValue(rule_2.filter.operator) && /*#__PURE__*/_jsx("input", {
602
+ className: "vg-input",
603
+ "aria-label": rule_2.filter.operator === "between" ? messages.minimum : messages.value,
604
+ placeholder: rule_2.filter.operator === "between" ? messages.minimum : messages.value,
605
+ value: rule_2.filter.first,
606
+ onChange: event_10 => change(rule_2.id, {
607
+ filter: {
608
+ ...rule_2.filter,
609
+ first: event_10.target.value
610
+ }
611
+ })
612
+ }), rule_2.filter.operator === "between" && /*#__PURE__*/_jsx("input", {
613
+ className: "vg-input",
614
+ "aria-label": messages.maximum,
615
+ placeholder: messages.maximum,
616
+ value: rule_2.filter.second,
617
+ onChange: event_11 => change(rule_2.id, {
618
+ filter: {
619
+ ...rule_2.filter,
620
+ second: event_11.target.value
621
+ }
622
+ })
623
+ })]
624
+ }), /*#__PURE__*/_jsxs("div", {
625
+ className: "vg-conditions__row",
626
+ children: [/*#__PURE__*/_jsxs("label", {
627
+ className: "vg-filter__value",
628
+ children: [/*#__PURE__*/_jsx("input", {
629
+ type: "checkbox",
630
+ checked: rule_2.color !== null,
631
+ onChange: event_12 => change(rule_2.id, {
632
+ color: event_12.target.checked ? "#b42318" : null
633
+ })
634
+ }), /*#__PURE__*/_jsx("span", {
635
+ children: messages.textColor
636
+ })]
637
+ }), rule_2.color !== null && /*#__PURE__*/_jsx("input", {
638
+ type: "color",
639
+ "aria-label": messages.textColor,
640
+ value: rule_2.color,
641
+ onChange: event_13 => change(rule_2.id, {
642
+ color: event_13.target.value
643
+ })
644
+ }), /*#__PURE__*/_jsxs("label", {
645
+ className: "vg-filter__value",
646
+ children: [/*#__PURE__*/_jsx("input", {
647
+ type: "checkbox",
648
+ checked: rule_2.background !== null,
649
+ onChange: event_14 => change(rule_2.id, {
650
+ background: event_14.target.checked ? "#fde68a" : null
651
+ })
652
+ }), /*#__PURE__*/_jsx("span", {
653
+ children: messages.backgroundColor
654
+ })]
655
+ }), rule_2.background !== null && /*#__PURE__*/_jsx("input", {
656
+ type: "color",
657
+ "aria-label": messages.backgroundColor,
658
+ value: rule_2.background,
659
+ onChange: event_15 => change(rule_2.id, {
660
+ background: event_15.target.value
661
+ })
662
+ })]
663
+ }), /*#__PURE__*/_jsxs("div", {
664
+ className: "vg-conditions__row",
665
+ children: [/*#__PURE__*/_jsx("input", {
666
+ className: "vg-input",
667
+ "aria-label": messages.ruleDescription,
668
+ placeholder: messages.ruleDescription,
669
+ value: rule_2.description,
670
+ onChange: event_16 => change(rule_2.id, {
671
+ description: event_16.target.value
672
+ })
673
+ }), /*#__PURE__*/_jsx("button", {
674
+ type: "button",
675
+ className: "vg-button vg-button--small",
676
+ "aria-label": messages.removeRule,
677
+ onClick: () => setRules(current_0 => current_0.filter(item_3 => item_3.id !== rule_2.id)),
678
+ children: "\xD7"
679
+ })]
680
+ })]
681
+ }, rule_2.id);
682
+ };
683
+ $[106] = messages.backgroundColor;
684
+ $[107] = messages.condition;
685
+ $[108] = messages.conditionColumn;
686
+ $[109] = messages.maximum;
687
+ $[110] = messages.minimum;
688
+ $[111] = messages.operators;
689
+ $[112] = messages.removeRule;
690
+ $[113] = messages.ruleDescription;
691
+ $[114] = messages.textColor;
692
+ $[115] = messages.value;
693
+ $[116] = view;
694
+ $[117] = t31;
695
+ } else {
696
+ t31 = $[117];
697
+ }
698
+ t30 = rules.map(t31);
699
+ $[93] = messages.backgroundColor;
700
+ $[94] = messages.condition;
701
+ $[95] = messages.conditionColumn;
702
+ $[96] = messages.maximum;
703
+ $[97] = messages.minimum;
704
+ $[98] = messages.operators;
705
+ $[99] = messages.removeRule;
706
+ $[100] = messages.ruleDescription;
707
+ $[101] = messages.textColor;
708
+ $[102] = messages.value;
709
+ $[103] = rules;
710
+ $[104] = view;
711
+ $[105] = t30;
712
+ } else {
713
+ t30 = $[105];
714
+ }
715
+ let t31;
716
+ if ($[118] !== column.name || $[119] !== column.type) {
717
+ t31 = () => setRules(current_1 => [...current_1, {
718
+ id: ruleId(),
719
+ column: column.name,
720
+ filter: {
721
+ kind: "condition",
722
+ operator: operatorsFor(column.type)[0],
723
+ first: "",
724
+ second: ""
725
+ },
726
+ color: null,
727
+ background: "#fde68a",
728
+ description: ""
729
+ }]);
730
+ $[118] = column.name;
731
+ $[119] = column.type;
732
+ $[120] = t31;
733
+ } else {
734
+ t31 = $[120];
735
+ }
736
+ let t32;
737
+ if ($[121] !== messages.addRule || $[122] !== t31) {
738
+ t32 = /*#__PURE__*/_jsx("button", {
739
+ type: "button",
740
+ className: "vg-button vg-button--small",
741
+ onClick: t31,
742
+ children: messages.addRule
743
+ });
744
+ $[121] = messages.addRule;
745
+ $[122] = t31;
746
+ $[123] = t32;
747
+ } else {
748
+ t32 = $[123];
749
+ }
750
+ let t33;
751
+ if ($[124] !== t29 || $[125] !== t30 || $[126] !== t32) {
752
+ t33 = /*#__PURE__*/_jsxs("fieldset", {
753
+ className: "vg-format__group",
754
+ children: [t29, t30, t32]
755
+ });
756
+ $[124] = t29;
757
+ $[125] = t30;
758
+ $[126] = t32;
759
+ $[127] = t33;
760
+ } else {
761
+ t33 = $[127];
762
+ }
763
+ let t34;
764
+ if ($[128] !== error) {
765
+ t34 = error !== null && /*#__PURE__*/_jsx("p", {
766
+ role: "alert",
767
+ className: "vg-filter__error",
768
+ children: error
769
+ });
770
+ $[128] = error;
771
+ $[129] = t34;
772
+ } else {
773
+ t34 = $[129];
774
+ }
775
+ let t35;
776
+ if ($[130] !== dispatch) {
777
+ t35 = () => dispatch(null);
778
+ $[130] = dispatch;
779
+ $[131] = t35;
780
+ } else {
781
+ t35 = $[131];
782
+ }
783
+ let t36;
784
+ if ($[132] !== messages.clearFormat || $[133] !== pending || $[134] !== t35) {
785
+ t36 = /*#__PURE__*/_jsx("button", {
786
+ type: "button",
787
+ className: "vg-button",
788
+ disabled: pending,
789
+ onClick: t35,
790
+ children: messages.clearFormat
791
+ });
792
+ $[132] = messages.clearFormat;
793
+ $[133] = pending;
794
+ $[134] = t35;
795
+ $[135] = t36;
796
+ } else {
797
+ t36 = $[135];
798
+ }
799
+ let t37;
800
+ if ($[136] !== messages.apply || $[137] !== pending) {
801
+ t37 = /*#__PURE__*/_jsx("button", {
802
+ type: "submit",
803
+ className: "vg-button vg-button--primary",
804
+ disabled: pending,
805
+ children: messages.apply
806
+ });
807
+ $[136] = messages.apply;
808
+ $[137] = pending;
809
+ $[138] = t37;
810
+ } else {
811
+ t37 = $[138];
812
+ }
813
+ let t38;
814
+ if ($[139] !== t36 || $[140] !== t37) {
815
+ t38 = /*#__PURE__*/_jsxs("div", {
816
+ className: "vg-filter__actions",
817
+ children: [t36, t37]
818
+ });
819
+ $[139] = t36;
820
+ $[140] = t37;
821
+ $[141] = t38;
822
+ } else {
823
+ t38 = $[141];
824
+ }
825
+ let t39;
826
+ if ($[142] !== submit || $[143] !== t10 || $[144] !== t14 || $[145] !== t22 || $[146] !== t26 || $[147] !== t27 || $[148] !== t28 || $[149] !== t33 || $[150] !== t34 || $[151] !== t38 || $[152] !== t8) {
827
+ t39 = /*#__PURE__*/_jsxs("form", {
828
+ className: "vg-filter vg-format",
829
+ onSubmit: submit,
830
+ "aria-label": t8,
831
+ children: [t10, t14, t22, t26, t27, t28, t33, t34, t38]
832
+ });
833
+ $[142] = submit;
834
+ $[143] = t10;
835
+ $[144] = t14;
836
+ $[145] = t22;
837
+ $[146] = t26;
838
+ $[147] = t27;
839
+ $[148] = t28;
840
+ $[149] = t33;
841
+ $[150] = t34;
842
+ $[151] = t38;
843
+ $[152] = t8;
844
+ $[153] = t39;
845
+ } else {
846
+ t39 = $[153];
847
+ }
848
+ return t39;
849
+ }
850
+ function _temp3(item_1) {
851
+ return /*#__PURE__*/_jsx("option", {
852
+ value: item_1.name,
853
+ children: item_1.name
854
+ }, item_1.name);
855
+ }
856
+ function _temp2(t0) {
857
+ const [, value] = t0;
858
+ return value !== undefined;
859
+ }
860
+ function _temp(snapshot) {
861
+ return snapshot.view?.columns ?? [];
862
+ }
863
+ //# sourceMappingURL=format-form.js.map