@multiplatform.one/table-primitives 7.23.1 → 7.24.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.
@@ -1 +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","tableCellContext_exports","TableCellContext","useIsInTableCell","useTableCellContext","module","exports","import_react","require","defaultValue","inTableCell","isHeader","editable","createContext","useContext"],"sources":["tableCellContext.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar tableCellContext_exports = {};\n__export(tableCellContext_exports, {\n TableCellContext: () => TableCellContext,\n useIsInTableCell: () => useIsInTableCell,\n useTableCellContext: () => useTableCellContext\n});\nmodule.exports = __toCommonJS(tableCellContext_exports);\nvar import_react = require(\"react\");\nvar defaultValue = {\n inTableCell: false,\n isHeader: false,\n editable: false\n};\nvar TableCellContext = (0, import_react.createContext)(defaultValue);\nfunction useTableCellContext() {\n return (0, import_react.useContext)(TableCellContext);\n}\nfunction useIsInTableCell() {\n var { inTableCell } = useTableCellContext();\n return inTableCell;\n}\n//# sourceMappingURL=tableCellContext.js.map\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,SAAS,GAAGC,MAAM,CAACC,cAAc;AACrC,IAAIC,gBAAgB,GAAGF,MAAM,CAACG,wBAAwB;AACtD,IAAIC,iBAAiB,GAAGJ,MAAM,CAACK,mBAAmB;AAClD,IAAIC,YAAY,GAAGN,MAAM,CAACO,SAAS,CAACC,cAAc;AAClD,IAAIC,QAAQ,GAAGA,CAACC,MAAM,EAAEC,GAAG,KAAK;EAC9B,KAAK,IAAIC,IAAI,IAAID,GAAG,EAClBZ,SAAS,CAACW,MAAM,EAAEE,IAAI,EAAE;IAAEC,GAAG,EAAEF,GAAG,CAACC,IAAI,CAAC;IAAEE,UAAU,EAAE;EAAK,CAAC,CAAC;AACjE,CAAC;AACD,IAAIC,WAAW,GAAGA,CAACC,EAAE,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,KAAK;EAC5C,IAAIF,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;IAClE,KAAK,IAAIG,GAAG,IAAIhB,iBAAiB,CAACa,IAAI,CAAC,EACrC,IAAI,CAACX,YAAY,CAACe,IAAI,CAACL,EAAE,EAAEI,GAAG,CAAC,IAAIA,GAAG,KAAKF,MAAM,EAC/CnB,SAAS,CAACiB,EAAE,EAAEI,GAAG,EAAE;MAAEP,GAAG,EAAEA,CAAA,KAAMI,IAAI,CAACG,GAAG,CAAC;MAAEN,UAAU,EAAE,EAAEK,IAAI,GAAGjB,gBAAgB,CAACe,IAAI,EAAEG,GAAG,CAAC,CAAC,IAAID,IAAI,CAACL;IAAW,CAAC,CAAC;EACxH;EACA,OAAOE,EAAE;AACX,CAAC;AACD,IAAIM,YAAY,GAAIC,GAAG,IAAKR,WAAW,CAAChB,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE;EAAEyB,KAAK,EAAE;AAAK,CAAC,CAAC,EAAED,GAAG,CAAC;AAC1F,IAAIE,wBAAwB,GAAG,CAAC,CAAC;AACjChB,QAAQ,CAACgB,wBAAwB,EAAE;EACjCC,gBAAgB,EAAEA,CAAA,KAAMA,gBAAgB;EACxCC,gBAAgB,EAAEA,CAAA,KAAMA,gBAAgB;EACxCC,mBAAmB,EAAEA,CAAA,KAAMA;AAC7B,CAAC,CAAC;AACFC,MAAM,CAACC,OAAO,GAAGR,YAAY,CAACG,wBAAwB,CAAC;AACvD,IAAIM,YAAY,GAAGC,OAAO,CAAC,OAAO,CAAC;AACnC,IAAIC,YAAY,GAAG;EACjBC,WAAW,EAAE,KAAK;EAClBC,QAAQ,EAAE,KAAK;EACfC,QAAQ,EAAE;AACZ,CAAC;AACD,IAAIV,gBAAgB,GAAG,CAAC,CAAC,EAAEK,YAAY,CAACM,aAAa,EAAEJ,YAAY,CAAC;AACpE,SAASL,mBAAmBA,CAAA,EAAG;EAC7B,OAAO,CAAC,CAAC,EAAEG,YAAY,CAACO,UAAU,EAAEZ,gBAAgB,CAAC;AACvD;AACA,SAASC,gBAAgBA,CAAA,EAAG;EAC1B,IAAI;IAAEO;EAAY,CAAC,GAAGN,mBAAmB,CAAC,CAAC;EAC3C,OAAOM,WAAW;AACpB","ignoreList":[]}
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"],"sources":["../../src/tableCellContext.ts"],"sourcesContent":[null],"mappings":"AAOA,YAAS;;AAWT,IAAAA,SAAM,GAAAC,MAAsC,CAAAC,cAAA;AAAA,IAC1CC,gBAAa,GAAAF,MAAA,CAAAG,wBAAA;AAAA,IACbC,iBAAU,GAAAJ,MAAA,CAAAK,mBAAA;AAAA,IACVC,YAAU,GAAAN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AACZ,IAAAC,QAAA,GAAAA,CAAAC,MAAA,EAAAC,GAAA;EAEO,KAAM,IAAAC,IAAA,IAAAD,GAAA,EAENZ,SAAS,CAAAW,MAAA,EAAAE,IAAA;IAAAC,GAA6C,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAC3D;AACF,IAAAC,WAAA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EAEO,IAAAF,IAAS,WAAAA,IAAA,KAA4B,mBAAAA,IAAA;IAC1C,KAAM,IAAEG,GAAA,IAAAhB,iBAAgB,CAAAa,IAAA,GACxB,IAAO,CAAAX,YAAA,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EACTnB,SAAA,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA","ignoreList":[]}
@@ -1 +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","textRidesText_exports","isBareTextChild","wrapBareTextChildren","module","exports","import_react","require","isBareTextChild2","child","coalesceBareTextRuns","children","renderLabel","out","run","runIndex","flushRun","flushRun2","push","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","String","err","return","Array","isArray","flattened","Children","toArray","some"],"sources":["textRidesText.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar textRidesText_exports = {};\n__export(textRidesText_exports, {\n isBareTextChild: () => isBareTextChild,\n wrapBareTextChildren: () => wrapBareTextChildren\n});\nmodule.exports = __toCommonJS(textRidesText_exports);\nvar import_react = require(\"react\");\nvar isBareTextChild = function isBareTextChild2(child) {\n return typeof child === \"string\" || typeof child === \"number\";\n};\nfunction coalesceBareTextRuns(children, renderLabel) {\n var out = [];\n var run;\n var runIndex = 0;\n var flushRun = function flushRun2() {\n if (run !== void 0 && run !== \"\") out.push(renderLabel(run, `lc50-run-${runIndex++}`));\n run = void 0;\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var child = _step.value;\n if (isBareTextChild(child)) {\n run = (run !== null && run !== void 0 ? run : \"\") + String(child);\n } else {\n flushRun();\n out.push(child);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n flushRun();\n return out;\n}\nfunction wrapBareTextChildren(children, renderLabel) {\n if (isBareTextChild(children)) return renderLabel(String(children));\n if (Array.isArray(children)) {\n var flattened = import_react.Children.toArray(children);\n if (flattened.some(isBareTextChild)) return coalesceBareTextRuns(flattened, renderLabel);\n }\n return children;\n}\n//# sourceMappingURL=textRidesText.js.map\n"],"mappings":"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","ignoreList":[]}
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","textRidesText_exports","isBareTextChild","wrapBareTextChildren","module","exports","import_react","require","isBareTextChild2","child","coalesceBareTextRuns","children","renderLabel"],"sources":["../../src/textRidesText.ts"],"sourcesContent":[null],"mappings":"AAWA,YAAS;;AAGF,IAAAA,SAAM,GAAAC,MAAA,CAAAC,cACX;AAEF,IAAAC,gBAAS,GAAAF,MAAA,CACPG,wBAEa;AACb,IAAAC,iBAA0B,GAAAJ,MAAA,CAAAK,mBAAA;AAC1B,IAAAC,YAAI,GAAAN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AACJ,IAAAC,QAAI,GAAAA,CAAAC,MAAW,EAAAC,GAAA;EACf,SAAMC,IAAA,IAAWD,GAAA,EACfZ,SAAI,CAAAW,MAAQ,EAAAE,IAAa;IAAAC,GAAA,EAAQF,GAAI,CAAAC,IAAI;IAAAE,UAAK;EAAY,CAAK;AAC/D;AAAM,IACRC,WAAA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EACA,IAAAF,IAAA,IAAW,OAAAA,IAAS,aAAU,WAAAA,IAAA;IAC5B,KAAI,IAAAG,GAAA,IAAAhB,iBAAwB,CAAAa,IAAA,GAC1B,KAAAX,YAAc,CAAAe,IAAM,CAAAL,EAAA,EAAOI,GAAA,KAAKA,GAAA,KAAAF,MAAA,EAClCnB,SAAO,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EACL;EACA,OAAAE,EAAI;AAAU;AAChB,IACFM,YAAA,GAAAC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AACA,IAAAE,qBAAS;AACThB,QAAA,CAAOgB,qBAAA;EACTC,eAAA,EAAAA,CAAA,KAAAA,eAAA;EAOOC,oBAAS,EAAAA,CAAA,KACdA;AAGA;AACAC,MAAI,CAAAC,OAAM,GAAAP,YAAgB,CAAAG,qBAAG;AAC3B,IAAAK,YAAM,GAAAC,OAAY,QAAS;AAC3B,IAAAL,eAAc,YAAKM,gBAAkBA,CAAOC,KAAA;EAC9C,cAAAA,KAAA,wBAAAA,KAAA;AACA;AACF,SAAAC,qBAAAC,QAAA,EAAAC,WAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplatform.one/table-primitives",
3
- "version": "7.23.1",
3
+ "version": "7.24.0",
4
4
  "description": "Semantic Table primitives and cell context (no forms or data-table)",
5
5
  "keywords": [
6
6
  "multiplatform",
@@ -52,12 +52,12 @@
52
52
  "access": "public"
53
53
  },
54
54
  "dependencies": {
55
- "@multiplatform.one/theme": "7.23.1",
55
+ "@multiplatform.one/theme": "7.24.0",
56
56
  "tamagui": "2.7.6"
57
57
  },
58
58
  "devDependencies": {
59
- "@multiplatform.one/config": "7.23.1",
60
- "@multiplatform.one/test-utils": "7.23.1",
59
+ "@multiplatform.one/config": "7.24.0",
60
+ "@multiplatform.one/test-utils": "7.24.0",
61
61
  "@tamagui/build": "2.7.6",
62
62
  "@testing-library/jest-dom": "^6.9.1",
63
63
  "@testing-library/react": "^16.3.2",
package/src/index.tsx CHANGED
@@ -241,15 +241,27 @@ export function tableZebraStripe(tableZebra: unknown, index: number): TableZebra
241
241
  return index % 2 === 1 ? "odd" : "even";
242
242
  }
243
243
 
244
+ // `$background` is the ramp's first step.
245
+ function rampStep(fill: unknown): number | undefined {
246
+ if (fill === "$background") return 1;
247
+ if (typeof fill !== "string") return undefined;
248
+ const step = fill.match(/^\$color(\d+)$/);
249
+ return step ? Number(step[1]) : undefined;
250
+ }
251
+
244
252
  // A card's own fill climbs the ramp with dark elevation (LC-85), so a fixed
245
- // $color2 stripe vanishes on a small-elevation dark card. `$background` is
246
- // the ramp's first step.
253
+ // $color2 stripe vanishes on a small-elevation dark card.
247
254
  export function tableZebraFill(hostFill: unknown): `$color${number}` {
248
- if (typeof hostFill !== "string") return "$color2";
249
- if (hostFill === "$background") return "$color2";
250
- const step = /^\$color(\d+)$/.exec(hostFill);
251
- if (!step) return "$color2";
252
- return `$color${Math.min(Number(step[1]) + 1, 12)}`;
255
+ return `$color${Math.min((rampStep(hostFill) ?? 1) + 1, 12)}`;
256
+ }
257
+
258
+ // One step at the foot of the dark ramp is about 4/255 a channel, too faint to
259
+ // read as a press, so the step floors at the old fixed $color4.
260
+ export function tablePressFill(restFill: unknown): `$color${number}` {
261
+ const step = rampStep(restFill);
262
+ if (step === undefined) return "$color4";
263
+ if (step >= 12) return "$color11";
264
+ return `$color${Math.max(step + 1, 4)}`;
253
265
  }
254
266
 
255
267
  const BodyRowIndexContext = createContext<number | undefined>(undefined);
@@ -10,7 +10,7 @@ import { renderWithProviders } from "@multiplatform.one/test-utils";
10
10
  import { Preset } from "@multiplatform.one/theme";
11
11
  import { Theme } from "tamagui";
12
12
  import { describe, expect, it } from "vitest";
13
- import { Table, tableZebraFill } from "./index";
13
+ import { Table, tablePressFill, tableZebraFill } from "./index";
14
14
 
15
15
  describe("Table Primitives", () => {
16
16
  it("renders real semantic HTML elements (table, thead, tbody, tfoot, tr, td, th, caption)", () => {
@@ -632,4 +632,34 @@ describe("Table Primitives", () => {
632
632
  });
633
633
  });
634
634
  });
635
+
636
+ describe("tablePressFill (MPO-404)", () => {
637
+ it("presses one step above the fill it rests on, never below $color4 and never onto that fill", () => {
638
+ expect(
639
+ [
640
+ "$background",
641
+ "$color1",
642
+ "$color2",
643
+ "$color3",
644
+ "$color4",
645
+ "$color5",
646
+ "$color11",
647
+ "$color12",
648
+ "transparent",
649
+ undefined,
650
+ ].map(tablePressFill),
651
+ ).toEqual([
652
+ "$color4",
653
+ "$color4",
654
+ "$color4",
655
+ "$color4",
656
+ "$color5",
657
+ "$color6",
658
+ "$color12",
659
+ "$color11",
660
+ "$color4",
661
+ "$color4",
662
+ ]);
663
+ });
664
+ });
635
665
  });
package/types/index.d.ts CHANGED
@@ -65,6 +65,7 @@ declare const HeaderCell: import("tamagui").TamaguiComponent<import("@tamagui/we
65
65
  export type TableZebraStripe = "off" | "even" | "odd";
66
66
  export declare function tableZebraStripe(tableZebra: unknown, index: number): TableZebraStripe;
67
67
  export declare function tableZebraFill(hostFill: unknown): `$color${number}`;
68
+ export declare function tablePressFill(restFill: unknown): `$color${number}`;
68
69
  declare const TableBody: import("tamagui").TamaguiComponent<import("@tamagui/web").TamaDefer, import("tamagui").TamaguiElement, import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/web").StackStyleBase, {
69
70
  elevation?: number | SizeTokens | undefined;
70
71
  transparent?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}