@multiplatform.one/table-primitives 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/LICENSE +201 -0
  2. package/dist/cjs/index.cjs +416 -0
  3. package/dist/cjs/index.native.js +462 -0
  4. package/dist/cjs/index.native.js.map +1 -0
  5. package/dist/cjs/table.spec.cjs +183 -0
  6. package/dist/cjs/table.spec.native.js +186 -0
  7. package/dist/cjs/table.spec.native.js.map +1 -0
  8. package/dist/cjs/tableCellContext.cjs +45 -0
  9. package/dist/cjs/tableCellContext.native.js +48 -0
  10. package/dist/cjs/tableCellContext.native.js.map +1 -0
  11. package/dist/esm/index.mjs +388 -0
  12. package/dist/esm/index.mjs.map +1 -0
  13. package/dist/esm/index.native.js +431 -0
  14. package/dist/esm/index.native.js.map +1 -0
  15. package/dist/esm/table.spec.mjs +184 -0
  16. package/dist/esm/table.spec.mjs.map +1 -0
  17. package/dist/esm/table.spec.native.js +184 -0
  18. package/dist/esm/table.spec.native.js.map +1 -0
  19. package/dist/esm/tableCellContext.mjs +18 -0
  20. package/dist/esm/tableCellContext.mjs.map +1 -0
  21. package/dist/esm/tableCellContext.native.js +18 -0
  22. package/dist/esm/tableCellContext.native.js.map +1 -0
  23. package/dist/jsx/index.js +388 -0
  24. package/dist/jsx/index.js.map +1 -0
  25. package/dist/jsx/index.mjs +388 -0
  26. package/dist/jsx/index.mjs.map +1 -0
  27. package/dist/jsx/index.native.js +462 -0
  28. package/dist/jsx/index.native.js.map +1 -0
  29. package/dist/jsx/table.spec.mjs +184 -0
  30. package/dist/jsx/table.spec.mjs.map +1 -0
  31. package/dist/jsx/table.spec.native.js +186 -0
  32. package/dist/jsx/table.spec.native.js.map +1 -0
  33. package/dist/jsx/tableCellContext.mjs +18 -0
  34. package/dist/jsx/tableCellContext.mjs.map +1 -0
  35. package/dist/jsx/tableCellContext.native.js +48 -0
  36. package/dist/jsx/tableCellContext.native.js.map +1 -0
  37. package/package.json +78 -0
  38. package/src/index.tsx +364 -0
  39. package/src/table.spec.tsx +177 -0
  40. package/src/tableCellContext.ts +34 -0
@@ -0,0 +1,462 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var index_exports = {};
26
+ __export(index_exports, {
27
+ Table: () => Table,
28
+ TableCellContext: () => import_tableCellContext2.TableCellContext,
29
+ useIsInTableCell: () => import_tableCellContext2.useIsInTableCell,
30
+ useTableCellContext: () => import_tableCellContext2.useTableCellContext
31
+ });
32
+ module.exports = __toCommonJS(index_exports);
33
+ var import_jsx_runtime = require("react/jsx-runtime");
34
+ var import_theme = require("@multiplatform.one/theme");
35
+ var import_tableCellContext = require("./tableCellContext.native.js");
36
+ var import_tamagui = require("tamagui");
37
+ var import_tableCellContext2 = require("./tableCellContext.native.js");
38
+ var TableContext = (0, import_tamagui.createStyledContext)({
39
+ cellWidth: "$8",
40
+ cellHeight: "$8",
41
+ alignHeaderCells: {
42
+ x: "start",
43
+ y: "center"
44
+ },
45
+ alignCells: {
46
+ x: "start",
47
+ y: "center"
48
+ },
49
+ borderColor: "$color6",
50
+ displayMode: "table"
51
+ });
52
+ var Row = (0, import_tamagui.styled)(import_tamagui.ThemeableStack, {
53
+ name: "TableRow",
54
+ ...{
55
+ tag: "tr"
56
+ },
57
+ role: "row",
58
+ context: TableContext,
59
+ display: "table-row",
60
+ variants: {
61
+ displayMode: {
62
+ table: {
63
+ display: "table-row"
64
+ },
65
+ flex: {
66
+ display: "flex",
67
+ flexDirection: "row",
68
+ width: "100%",
69
+ alignItems: "center"
70
+ }
71
+ },
72
+ rowLocation: {
73
+ first: function first() {
74
+ return {};
75
+ },
76
+ last: function last() {
77
+ return {};
78
+ },
79
+ middle: function middle() {
80
+ return {};
81
+ }
82
+ }
83
+ }
84
+ });
85
+ var Cell = (0, import_tamagui.styled)(import_tamagui.ThemeableStack, {
86
+ name: "TableCell",
87
+ ...{
88
+ tag: "td"
89
+ },
90
+ context: TableContext,
91
+ display: "table-cell",
92
+ // verticalAlign goes via inline style; Tamagui forwards it to the DOM as a JSX
93
+ // prop otherwise, which React rejects ("React does not recognize verticalAlign").
94
+ style: {
95
+ verticalAlign: "middle"
96
+ },
97
+ alignItems: "center",
98
+ justifyContent: "flex-start",
99
+ paddingHorizontal: "$2",
100
+ paddingVertical: "$1",
101
+ overflow: "hidden",
102
+ variants: {
103
+ displayMode: {
104
+ table: {
105
+ display: "table-cell",
106
+ style: {
107
+ verticalAlign: "middle"
108
+ }
109
+ },
110
+ flex: {
111
+ display: "flex",
112
+ overflow: "visible"
113
+ }
114
+ },
115
+ cellWidth: {
116
+ /** Equal flex for consistency across rows (flex rows size independently) */
117
+ auto: function auto() {
118
+ return {
119
+ flex: 1
120
+ };
121
+ },
122
+ ":number": function (val) {
123
+ return {
124
+ width: val,
125
+ minWidth: val
126
+ };
127
+ },
128
+ "...size": function (name, param) {
129
+ var {
130
+ tokens
131
+ } = param;
132
+ return {
133
+ width: tokens.size[name],
134
+ minWidth: tokens.size[name]
135
+ };
136
+ }
137
+ },
138
+ cellHeight: {
139
+ "...size": function (name, param) {
140
+ var {
141
+ tokens
142
+ } = param;
143
+ return {
144
+ minHeight: tokens.size[name]
145
+ };
146
+ }
147
+ },
148
+ alignCells: function alignCells(val) {
149
+ return {
150
+ alignItems: val.y === "center" ? "center" : `flex-${val.y}`,
151
+ justifyContent: val.x === "center" ? "center" : `flex-${val.x}`
152
+ };
153
+ },
154
+ cellLocation: {
155
+ first: function first2() {
156
+ return {};
157
+ },
158
+ last: function last2() {
159
+ return {};
160
+ },
161
+ middle: function middle2() {
162
+ return {};
163
+ }
164
+ }
165
+ }
166
+ });
167
+ var HeaderCell = (0, import_tamagui.styled)(import_tamagui.ThemeableStack, {
168
+ name: "TableHeaderCell",
169
+ ...{
170
+ tag: "th",
171
+ scope: "col"
172
+ },
173
+ context: TableContext,
174
+ display: "table-cell",
175
+ // verticalAlign goes via inline style; see TableCell above for context.
176
+ style: {
177
+ verticalAlign: "middle"
178
+ },
179
+ alignItems: "center",
180
+ justifyContent: "flex-start",
181
+ paddingHorizontal: "$2",
182
+ paddingVertical: "$1",
183
+ backgroundColor: "$color3",
184
+ variants: {
185
+ displayMode: {
186
+ table: {
187
+ display: "table-cell",
188
+ style: {
189
+ verticalAlign: "middle"
190
+ }
191
+ },
192
+ flex: {
193
+ display: "flex"
194
+ }
195
+ },
196
+ cellWidth: {
197
+ /** Equal flex for consistency across rows */
198
+ auto: function auto2() {
199
+ return {
200
+ flex: 1
201
+ };
202
+ },
203
+ ":number": function (val) {
204
+ return {
205
+ width: val,
206
+ minWidth: val
207
+ };
208
+ },
209
+ "...size": function (name, param) {
210
+ var {
211
+ tokens
212
+ } = param;
213
+ return {
214
+ width: tokens.size[name],
215
+ minWidth: tokens.size[name]
216
+ };
217
+ }
218
+ },
219
+ alignHeaderCells: function alignHeaderCells(val) {
220
+ return {
221
+ alignItems: val.y === "center" ? "center" : `flex-${val.y}`,
222
+ justifyContent: val.x === "center" ? "center" : `flex-${val.x}`
223
+ };
224
+ },
225
+ cellHeight: {
226
+ "...size": function (name, param) {
227
+ var {
228
+ tokens
229
+ } = param;
230
+ return {
231
+ minHeight: tokens.size[name]
232
+ };
233
+ }
234
+ },
235
+ cellLocation: {
236
+ first: function first3() {
237
+ return {};
238
+ },
239
+ last: function last3() {
240
+ return {};
241
+ },
242
+ middle: function middle3() {
243
+ return {};
244
+ }
245
+ }
246
+ }
247
+ });
248
+ var TableBody = (0, import_tamagui.styled)(import_tamagui.ThemeableStack, {
249
+ name: "TableBody",
250
+ ...{
251
+ tag: "tbody"
252
+ },
253
+ context: TableContext,
254
+ display: "table-row-group",
255
+ variants: {
256
+ displayMode: {
257
+ table: {
258
+ display: "table-row-group"
259
+ },
260
+ flex: {
261
+ display: "flex",
262
+ flexDirection: "column",
263
+ width: "100%",
264
+ overflowY: "auto",
265
+ flex: 1,
266
+ minHeight: 0
267
+ }
268
+ }
269
+ }
270
+ });
271
+ var TableHead = (0, import_tamagui.styled)(import_tamagui.ThemeableStack, {
272
+ name: "TableHead",
273
+ ...{
274
+ tag: "thead"
275
+ },
276
+ context: TableContext,
277
+ display: "table-header-group",
278
+ borderBottomWidth: 1,
279
+ borderBottomColor: "$color6",
280
+ variants: {
281
+ displayMode: {
282
+ table: {
283
+ display: "table-header-group"
284
+ },
285
+ flex: {
286
+ display: "flex",
287
+ flexDirection: "column",
288
+ width: "100%",
289
+ flexShrink: 0
290
+ }
291
+ }
292
+ }
293
+ });
294
+ var TableFoot = (0, import_tamagui.styled)(import_tamagui.ThemeableStack, {
295
+ name: "TableFoot",
296
+ ...{
297
+ tag: "tfoot"
298
+ },
299
+ context: TableContext,
300
+ display: "table-footer-group",
301
+ variants: {
302
+ displayMode: {
303
+ table: {
304
+ display: "table-footer-group"
305
+ },
306
+ flex: {
307
+ display: "flex",
308
+ flexDirection: "column",
309
+ width: "100%",
310
+ flexShrink: 0
311
+ }
312
+ }
313
+ }
314
+ });
315
+ var TableCaption = (0, import_tamagui.styled)(import_tamagui.ThemeableStack, {
316
+ name: "TableCaption",
317
+ ...{
318
+ tag: "caption"
319
+ },
320
+ context: TableContext,
321
+ display: "table-caption",
322
+ paddingVertical: "$2",
323
+ paddingHorizontal: "$2"
324
+ });
325
+ var TableComp = (0, import_tamagui.styled)(import_tamagui.ThemeableStack, {
326
+ name: "Table",
327
+ ...{
328
+ tag: "table"
329
+ },
330
+ context: TableContext,
331
+ display: "table",
332
+ borderWidth: 1,
333
+ borderColor: "$color6",
334
+ backgroundColor: "$background",
335
+ overflow: "hidden",
336
+ width: "100%",
337
+ variants: {
338
+ displayMode: {
339
+ table: {
340
+ display: "table"
341
+ },
342
+ flex: {
343
+ display: "flex",
344
+ flexDirection: "column",
345
+ flex: 1,
346
+ minHeight: 0
347
+ }
348
+ },
349
+ /** Empty variants to satisfy context-driven props without ts errors on Table */
350
+ cellWidth: {
351
+ "...size": function () {
352
+ return {};
353
+ }
354
+ },
355
+ cellHeight: {
356
+ "...size": function () {
357
+ return {};
358
+ }
359
+ },
360
+ alignHeaderCells: function alignHeaderCells2(_val) {
361
+ return {};
362
+ },
363
+ alignCells: function alignCells2(_val) {
364
+ return {};
365
+ }
366
+ }
367
+ });
368
+ function resolveIntent(props) {
369
+ if (props.accent) return "accent";
370
+ if (props.error) return "error";
371
+ if (props.warning) return "warning";
372
+ if (props.success) return "success";
373
+ return void 0;
374
+ }
375
+ function ThemedTableComp(props) {
376
+ var {
377
+ knobProps
378
+ } = (0, import_theme.useResolvedKnobs)();
379
+ var baseBorderWidth = knobProps.borderRadius.borderWidth;
380
+ var resolvedBorderWidth = knobProps.outlined ? Math.max(baseBorderWidth, 1) : baseBorderWidth;
381
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(TableComp, {
382
+ ...knobProps.borderRadius,
383
+ borderWidth: resolvedBorderWidth,
384
+ borderColor: "$color6",
385
+ backgroundColor: "$background",
386
+ elevation: knobProps.elevation,
387
+ ...props,
388
+ style: [{
389
+ tableLayout: "fixed"
390
+ }, props.style]
391
+ });
392
+ }
393
+ function ThemedRow(param) {
394
+ var {
395
+ accent,
396
+ error,
397
+ warning,
398
+ success,
399
+ ...props
400
+ } = param;
401
+ var intent = resolveIntent({
402
+ accent,
403
+ error,
404
+ warning,
405
+ success
406
+ });
407
+ var row = /* @__PURE__ */(0, import_jsx_runtime.jsx)(Row, {
408
+ ...(intent ? {
409
+ backgroundColor: "$color3"
410
+ } : {}),
411
+ ...props
412
+ });
413
+ if (intent) {
414
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Theme, {
415
+ name: intent,
416
+ children: row
417
+ });
418
+ }
419
+ return row;
420
+ }
421
+ function ThemedCell(param) {
422
+ var {
423
+ children,
424
+ ...props
425
+ } = param;
426
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Cell, {
427
+ ...props,
428
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tableCellContext.TableCellContext.Provider, {
429
+ value: {
430
+ inTableCell: true,
431
+ isHeader: false
432
+ },
433
+ children
434
+ })
435
+ });
436
+ }
437
+ function ThemedHeaderCell(param) {
438
+ var {
439
+ children,
440
+ ...props
441
+ } = param;
442
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(HeaderCell, {
443
+ ...props,
444
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tableCellContext.TableCellContext.Provider, {
445
+ value: {
446
+ inTableCell: true,
447
+ isHeader: true
448
+ },
449
+ children
450
+ })
451
+ });
452
+ }
453
+ var Table = (0, import_tamagui.withStaticProperties)(ThemedTableComp, {
454
+ Head: TableHead,
455
+ Body: TableBody,
456
+ Row: ThemedRow,
457
+ Cell: ThemedCell,
458
+ HeaderCell: ThemedHeaderCell,
459
+ Foot: TableFoot,
460
+ Caption: TableCaption
461
+ });
462
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","index_exports","Table","TableCellContext","import_tableCellContext2","useIsInTableCell","useTableCellContext","module","exports","import_jsx_runtime","require","import_theme","import_tableCellContext","import_tamagui","TableContext","createStyledContext","cellWidth","cellHeight","alignHeaderCells","x","y","alignCells","borderColor","displayMode","Row","styled","ThemeableStack","tag","role","context","display","variants","table","flex","flexDirection","width","alignItems","rowLocation","first","last","middle","Cell","style","verticalAlign","justifyContent","paddingHorizontal","paddingVertical","overflow","auto",":number","val","minWidth","...size","param","tokens","size","minHeight","cellLocation","first2","last2","middle2","HeaderCell","scope","backgroundColor","auto2","first3","last3","middle3","TableBody","overflowY","TableHead","borderBottomWidth","borderBottomColor","flexShrink","TableFoot"],"sources":["../../src/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,184 @@
1
+ import { renderWithProviders } from "@multiplatform.one/test-utils";
2
+ import { describe, expect, it } from "vitest";
3
+ import { Table } from "./index.mjs";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ describe("Table Primitives", () => {
6
+ it("renders semantic HTML structure via tag attributes (table, thead, tbody, tfoot, tr, td, th, caption)", () => {
7
+ const {
8
+ container
9
+ } = renderWithProviders(/* @__PURE__ */jsxs(Table, {
10
+ children: [/* @__PURE__ */jsx(Table.Caption, {
11
+ children: "Test Caption"
12
+ }), /* @__PURE__ */jsx(Table.Head, {
13
+ children: /* @__PURE__ */jsx(Table.Row, {
14
+ children: /* @__PURE__ */jsx(Table.HeaderCell, {
15
+ children: "Header"
16
+ })
17
+ })
18
+ }), /* @__PURE__ */jsx(Table.Body, {
19
+ children: /* @__PURE__ */jsx(Table.Row, {
20
+ children: /* @__PURE__ */jsx(Table.Cell, {
21
+ children: "Cell"
22
+ })
23
+ })
24
+ }), /* @__PURE__ */jsx(Table.Foot, {
25
+ children: /* @__PURE__ */jsx(Table.Row, {
26
+ children: /* @__PURE__ */jsx(Table.Cell, {
27
+ children: "Footer"
28
+ })
29
+ })
30
+ })]
31
+ }));
32
+ expect(container.querySelector('[tag="table"]')).not.toBeNull();
33
+ expect(container.querySelector('[tag="thead"]')).not.toBeNull();
34
+ expect(container.querySelector('[tag="tbody"]')).not.toBeNull();
35
+ expect(container.querySelector('[tag="tfoot"]')).not.toBeNull();
36
+ expect(container.querySelectorAll('[tag="tr"]').length).toBe(3);
37
+ expect(container.querySelector('[tag="td"]')).not.toBeNull();
38
+ expect(container.querySelector('[tag="th"]')).not.toBeNull();
39
+ expect(container.querySelector('[tag="caption"]')).not.toBeNull();
40
+ expect(container.querySelector(".is_Table")).not.toBeNull();
41
+ expect(container.querySelector(".is_TableHead")).not.toBeNull();
42
+ expect(container.querySelector(".is_TableBody")).not.toBeNull();
43
+ expect(container.querySelector(".is_TableFoot")).not.toBeNull();
44
+ expect(container.querySelector(".is_TableRow")).not.toBeNull();
45
+ expect(container.querySelector(".is_TableCell")).not.toBeNull();
46
+ expect(container.querySelector(".is_TableHeaderCell")).not.toBeNull();
47
+ expect(container.querySelector(".is_TableCaption")).not.toBeNull();
48
+ });
49
+ it("applies intent props on Table.Row with Theme wrapping", () => {
50
+ const {
51
+ container: withIntent
52
+ } = renderWithProviders(/* @__PURE__ */jsx(Table, {
53
+ children: /* @__PURE__ */jsxs(Table.Body, {
54
+ children: [/* @__PURE__ */jsx(Table.Row, {
55
+ accent: true,
56
+ children: /* @__PURE__ */jsx(Table.Cell, {
57
+ children: "Accent row"
58
+ })
59
+ }), /* @__PURE__ */jsx(Table.Row, {
60
+ error: true,
61
+ children: /* @__PURE__ */jsx(Table.Cell, {
62
+ children: "Error row"
63
+ })
64
+ }), /* @__PURE__ */jsx(Table.Row, {
65
+ warning: true,
66
+ children: /* @__PURE__ */jsx(Table.Cell, {
67
+ children: "Warning row"
68
+ })
69
+ }), /* @__PURE__ */jsx(Table.Row, {
70
+ success: true,
71
+ children: /* @__PURE__ */jsx(Table.Cell, {
72
+ children: "Success row"
73
+ })
74
+ })]
75
+ })
76
+ }));
77
+ const {
78
+ container: withoutIntent
79
+ } = renderWithProviders(/* @__PURE__ */jsx(Table, {
80
+ children: /* @__PURE__ */jsx(Table.Body, {
81
+ children: /* @__PURE__ */jsx(Table.Row, {
82
+ children: /* @__PURE__ */jsx(Table.Cell, {
83
+ children: "Normal row"
84
+ })
85
+ })
86
+ })
87
+ }));
88
+ const rows = withIntent.querySelectorAll('[tag="tr"]');
89
+ expect(rows.length).toBe(4);
90
+ expect(withIntent.textContent).toContain("Accent row");
91
+ expect(withIntent.textContent).toContain("Error row");
92
+ expect(withIntent.textContent).toContain("Warning row");
93
+ expect(withIntent.textContent).toContain("Success row");
94
+ const intentThemeWrappers = withIntent.querySelectorAll(".is_Theme");
95
+ const normalThemeWrappers = withoutIntent.querySelectorAll(".is_Theme");
96
+ expect(intentThemeWrappers.length).toBeGreaterThan(normalThemeWrappers.length);
97
+ });
98
+ it("spreads knobProps from useResolvedKnobs on Table root", () => {
99
+ const {
100
+ container
101
+ } = renderWithProviders(/* @__PURE__ */jsx(Table, {
102
+ children: /* @__PURE__ */jsx(Table.Body, {
103
+ children: /* @__PURE__ */jsx(Table.Row, {
104
+ children: /* @__PURE__ */jsx(Table.Cell, {
105
+ children: "Content"
106
+ })
107
+ })
108
+ })
109
+ }));
110
+ const table = container.querySelector('[tag="table"]');
111
+ expect(table).not.toBeNull();
112
+ expect(table?.textContent).toContain("Content");
113
+ expect(table?.classList.contains("is_Table")).toBe(true);
114
+ });
115
+ it("renders Table.Caption as a caption element", () => {
116
+ const {
117
+ container
118
+ } = renderWithProviders(/* @__PURE__ */jsxs(Table, {
119
+ children: [/* @__PURE__ */jsx(Table.Caption, {
120
+ children: "Monthly Sales Report"
121
+ }), /* @__PURE__ */jsx(Table.Body, {
122
+ children: /* @__PURE__ */jsx(Table.Row, {
123
+ children: /* @__PURE__ */jsx(Table.Cell, {
124
+ children: "Data"
125
+ })
126
+ })
127
+ })]
128
+ }));
129
+ const caption = container.querySelector('[tag="caption"]');
130
+ expect(caption).not.toBeNull();
131
+ expect(caption?.textContent).toContain("Monthly Sales Report");
132
+ expect(caption?.classList.contains("is_TableCaption")).toBe(true);
133
+ const table = container.querySelector('[tag="table"]');
134
+ expect(table?.querySelector('[tag="caption"]')).not.toBeNull();
135
+ });
136
+ it("exposes compound component API (Head, Body, Row, Cell, HeaderCell, Foot, Caption)", () => {
137
+ expect(Table.Head).toBeDefined();
138
+ expect(Table.Body).toBeDefined();
139
+ expect(Table.Row).toBeDefined();
140
+ expect(Table.Cell).toBeDefined();
141
+ expect(Table.HeaderCell).toBeDefined();
142
+ expect(Table.Foot).toBeDefined();
143
+ expect(Table.Caption).toBeDefined();
144
+ const {
145
+ getByText
146
+ } = renderWithProviders(/* @__PURE__ */jsxs(Table, {
147
+ children: [/* @__PURE__ */jsx(Table.Caption, {
148
+ children: "Caption"
149
+ }), /* @__PURE__ */jsx(Table.Head, {
150
+ children: /* @__PURE__ */jsxs(Table.Row, {
151
+ children: [/* @__PURE__ */jsx(Table.HeaderCell, {
152
+ children: "H1"
153
+ }), /* @__PURE__ */jsx(Table.HeaderCell, {
154
+ children: "H2"
155
+ })]
156
+ })
157
+ }), /* @__PURE__ */jsx(Table.Body, {
158
+ children: /* @__PURE__ */jsxs(Table.Row, {
159
+ children: [/* @__PURE__ */jsx(Table.Cell, {
160
+ children: "A1"
161
+ }), /* @__PURE__ */jsx(Table.Cell, {
162
+ children: "A2"
163
+ })]
164
+ })
165
+ }), /* @__PURE__ */jsx(Table.Foot, {
166
+ children: /* @__PURE__ */jsxs(Table.Row, {
167
+ children: [/* @__PURE__ */jsx(Table.Cell, {
168
+ children: "F1"
169
+ }), /* @__PURE__ */jsx(Table.Cell, {
170
+ children: "F2"
171
+ })]
172
+ })
173
+ })]
174
+ }));
175
+ expect(getByText("Caption")).toBeDefined();
176
+ expect(getByText("H1")).toBeDefined();
177
+ expect(getByText("H2")).toBeDefined();
178
+ expect(getByText("A1")).toBeDefined();
179
+ expect(getByText("A2")).toBeDefined();
180
+ expect(getByText("F1")).toBeDefined();
181
+ expect(getByText("F2")).toBeDefined();
182
+ });
183
+ });
184
+ //# sourceMappingURL=table.spec.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["renderWithProviders","describe","expect","it","Table","jsx","jsxs","container","children","Caption","Head","Row","HeaderCell","Body","Cell","Foot","querySelector","not","toBeNull","querySelectorAll","length","toBe","withIntent","accent","error","warning","success","withoutIntent","rows","textContent","toContain","intentThemeWrappers","normalThemeWrappers","toBeGreaterThan","table","classList","contains","caption","toBeDefined","getByText"],"sources":["../../src/table.spec.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}