cursedbelt 5.28.0 → 5.30.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 (153) hide show
  1. package/dist/react/components/ColorField.d.ts.map +1 -1
  2. package/dist/react/components/ColorField.js +2 -1
  3. package/dist/react/components/ColorField.js.map +1 -1
  4. package/dist/react/components/ComboboxField.d.ts.map +1 -1
  5. package/dist/react/components/ComboboxField.js +2 -1
  6. package/dist/react/components/ComboboxField.js.map +1 -1
  7. package/dist/react/components/DataTable/DataTable.d.ts +39 -2
  8. package/dist/react/components/DataTable/DataTable.d.ts.map +1 -1
  9. package/dist/react/components/DataTable/DataTable.js +92 -22
  10. package/dist/react/components/DataTable/DataTable.js.map +1 -1
  11. package/dist/react/components/DataTable/ViewOptionsMenu.d.ts.map +1 -1
  12. package/dist/react/components/DataTable/ViewOptionsMenu.js +20 -7
  13. package/dist/react/components/DataTable/ViewOptionsMenu.js.map +1 -1
  14. package/dist/react/components/DataTable/types.d.ts +11 -1
  15. package/dist/react/components/DataTable/types.d.ts.map +1 -1
  16. package/dist/react/components/DataTable/types.js +6 -0
  17. package/dist/react/components/DataTable/types.js.map +1 -1
  18. package/dist/react/components/DatePicker.d.ts.map +1 -1
  19. package/dist/react/components/DatePicker.js +2 -1
  20. package/dist/react/components/DatePicker.js.map +1 -1
  21. package/dist/react/components/DateTimeField.d.ts.map +1 -1
  22. package/dist/react/components/DateTimeField.js +2 -1
  23. package/dist/react/components/DateTimeField.js.map +1 -1
  24. package/dist/react/components/ExpandableRow.d.ts +56 -0
  25. package/dist/react/components/ExpandableRow.d.ts.map +1 -0
  26. package/dist/react/components/ExpandableRow.js +54 -0
  27. package/dist/react/components/ExpandableRow.js.map +1 -0
  28. package/dist/react/components/Field.d.ts +20 -1
  29. package/dist/react/components/Field.d.ts.map +1 -1
  30. package/dist/react/components/Field.js +24 -11
  31. package/dist/react/components/Field.js.map +1 -1
  32. package/dist/react/components/FieldInput.d.ts +15 -0
  33. package/dist/react/components/FieldInput.d.ts.map +1 -1
  34. package/dist/react/components/FieldInput.js +20 -0
  35. package/dist/react/components/FieldInput.js.map +1 -1
  36. package/dist/react/components/FileDropZone.d.ts +23 -1
  37. package/dist/react/components/FileDropZone.d.ts.map +1 -1
  38. package/dist/react/components/FileDropZone.js +56 -8
  39. package/dist/react/components/FileDropZone.js.map +1 -1
  40. package/dist/react/components/FormPreviewLayout.d.ts +49 -0
  41. package/dist/react/components/FormPreviewLayout.d.ts.map +1 -0
  42. package/dist/react/components/FormPreviewLayout.js +36 -0
  43. package/dist/react/components/FormPreviewLayout.js.map +1 -0
  44. package/dist/react/components/Input.d.ts.map +1 -1
  45. package/dist/react/components/Input.js +3 -1
  46. package/dist/react/components/Input.js.map +1 -1
  47. package/dist/react/components/KeyBadge.d.ts +34 -0
  48. package/dist/react/components/KeyBadge.d.ts.map +1 -0
  49. package/dist/react/components/KeyBadge.js +24 -0
  50. package/dist/react/components/KeyBadge.js.map +1 -0
  51. package/dist/react/components/Modal.d.ts.map +1 -1
  52. package/dist/react/components/Modal.js +35 -9
  53. package/dist/react/components/Modal.js.map +1 -1
  54. package/dist/react/components/NativeSelect.d.ts.map +1 -1
  55. package/dist/react/components/NativeSelect.js +2 -1
  56. package/dist/react/components/NativeSelect.js.map +1 -1
  57. package/dist/react/components/RenderField.d.ts.map +1 -1
  58. package/dist/react/components/RenderField.js +2 -2
  59. package/dist/react/components/RenderField.js.map +1 -1
  60. package/dist/react/components/RevealAction.d.ts +33 -0
  61. package/dist/react/components/RevealAction.d.ts.map +1 -0
  62. package/dist/react/components/RevealAction.js +45 -0
  63. package/dist/react/components/RevealAction.js.map +1 -0
  64. package/dist/react/components/SecretInput.d.ts.map +1 -1
  65. package/dist/react/components/SecretInput.js +2 -1
  66. package/dist/react/components/SecretInput.js.map +1 -1
  67. package/dist/react/components/SelectField.d.ts.map +1 -1
  68. package/dist/react/components/SelectField.js +2 -1
  69. package/dist/react/components/SelectField.js.map +1 -1
  70. package/dist/react/components/SettingsStrip.d.ts +22 -0
  71. package/dist/react/components/SettingsStrip.d.ts.map +1 -0
  72. package/dist/react/components/SettingsStrip.js +18 -0
  73. package/dist/react/components/SettingsStrip.js.map +1 -0
  74. package/dist/react/components/formKit.css +555 -0
  75. package/dist/react/components/formKit.d.ts +12 -0
  76. package/dist/react/components/formKit.d.ts.map +1 -0
  77. package/dist/react/components/formKit.js +14 -0
  78. package/dist/react/components/formKit.js.map +1 -0
  79. package/dist/react/filter-rail/RailSection.d.ts +2 -2
  80. package/dist/react/filter-rail/RailSection.d.ts.map +1 -1
  81. package/dist/react/filter-rail/RailSection.js +6 -61
  82. package/dist/react/filter-rail/RailSection.js.map +1 -1
  83. package/dist/react/index.d.ts +8 -3
  84. package/dist/react/index.d.ts.map +1 -1
  85. package/dist/react/index.js +8 -3
  86. package/dist/react/index.js.map +1 -1
  87. package/dist/react/lib/field.d.ts +43 -0
  88. package/dist/react/lib/field.d.ts.map +1 -1
  89. package/dist/react/lib/field.js +68 -0
  90. package/dist/react/lib/field.js.map +1 -1
  91. package/dist/react/media/PlayerStrip.d.ts +9 -1
  92. package/dist/react/media/PlayerStrip.d.ts.map +1 -1
  93. package/dist/react/media/PlayerStrip.js +29 -2
  94. package/dist/react/media/PlayerStrip.js.map +1 -1
  95. package/dist/react/media-gallery/rememberedPreference.d.ts +2 -0
  96. package/dist/react/media-gallery/rememberedPreference.d.ts.map +1 -0
  97. package/dist/react/media-gallery/rememberedPreference.js +75 -0
  98. package/dist/react/media-gallery/rememberedPreference.js.map +1 -0
  99. package/dist/styles-areas/analytics.css +2 -2
  100. package/dist/styles-areas/core.css +34 -28
  101. package/dist/styles-areas/data-table.css +2 -2
  102. package/dist/styles-areas/fields.css +3 -3
  103. package/dist/styles-areas/layout-engine.css +2 -2
  104. package/dist/styles-areas/nav.css +3 -3
  105. package/dist/styles-areas/wizard.css +2 -2
  106. package/dist/styles-areas/workbench.css +2 -2
  107. package/dist/styles-utilities.css +111 -9
  108. package/package.json +14 -1
  109. package/scripts/styleAreas.ts +2 -0
  110. package/src/react/components/ColorField.tsx +3 -1
  111. package/src/react/components/ComboboxField.tsx +3 -1
  112. package/src/react/components/DataTable/DataTable.spec.tsx +18 -0
  113. package/src/react/components/DataTable/DataTable.tsx +136 -22
  114. package/src/react/components/DataTable/ViewOptionsMenu.tsx +24 -9
  115. package/src/react/components/DataTable/selection.spec.tsx +57 -1
  116. package/src/react/components/DataTable/types.ts +12 -1
  117. package/src/react/components/DataTable/virtualize.spec.tsx +20 -0
  118. package/src/react/components/DatePicker.tsx +3 -1
  119. package/src/react/components/DateTimeField.tsx +3 -1
  120. package/src/react/components/ExpandableRow.tsx +146 -0
  121. package/src/react/components/Field.tsx +89 -13
  122. package/src/react/components/Field.width.spec.tsx +162 -0
  123. package/src/react/components/FieldInput.tsx +30 -0
  124. package/src/react/components/FileDropZone.spec.tsx +65 -0
  125. package/src/react/components/FileDropZone.tsx +83 -5
  126. package/src/react/components/FormPreviewLayout.tsx +94 -0
  127. package/src/react/components/Input.tsx +4 -1
  128. package/src/react/components/KeyBadge.tsx +52 -0
  129. package/src/react/components/Modal.tsx +58 -14
  130. package/src/react/components/NativeSelect.tsx +3 -1
  131. package/src/react/components/RenderField.tsx +2 -1
  132. package/src/react/components/RevealAction.tsx +83 -0
  133. package/src/react/components/SecretInput.tsx +3 -1
  134. package/src/react/components/SelectField.tsx +3 -1
  135. package/src/react/components/SettingsStrip.tsx +37 -0
  136. package/src/react/components/formKit.css +555 -0
  137. package/src/react/components/formKit.spec.tsx +138 -0
  138. package/src/react/components/formKit.ts +19 -0
  139. package/src/react/filter-rail/RailSection.tsx +6 -65
  140. package/src/react/index.ts +20 -2
  141. package/src/react/lib/field.ts +93 -0
  142. package/src/react/media/PlayerStrip.tsx +65 -20
  143. package/src/react/media/playerStrip.spec.tsx +23 -0
  144. package/src/react/media-gallery/rememberedPreference.ts +79 -0
  145. package/src/styles-areas/analytics.css +2 -2
  146. package/src/styles-areas/core.css +34 -28
  147. package/src/styles-areas/data-table.css +2 -2
  148. package/src/styles-areas/fields.css +3 -3
  149. package/src/styles-areas/layout-engine.css +2 -2
  150. package/src/styles-areas/nav.css +3 -3
  151. package/src/styles-areas/wizard.css +2 -2
  152. package/src/styles-areas/workbench.css +2 -2
  153. package/src/styles-utilities.css +111 -9
@@ -1 +1 @@
1
- {"version":3,"file":"ColorField.d.ts","sourceRoot":"","sources":["../../../src/react/components/ColorField.tsx"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEzE,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;wBACoB;IACpB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAID;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,IAAI,EACJ,cAAc,EAAE,WAAW,EAC3B,kBAAkB,EAAE,eAAe,EACnC,SAAS,EACT,IAAW,GACZ,EAAE,eAAe,+BA6CjB"}
1
+ {"version":3,"file":"ColorField.d.ts","sourceRoot":"","sources":["../../../src/react/components/ColorField.tsx"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,WAAW,EAAqB,MAAM,iBAAiB,CAAC;AAE5F,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;wBACoB;IACpB,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAID;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,IAAI,EACJ,cAAc,EAAE,WAAW,EAC3B,kBAAkB,EAAE,eAAe,EACnC,SAAS,EACT,IAAW,GACZ,EAAE,eAAe,+BA6CjB"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cn } from '../lib/cn.js';
3
- import { CONTROL_HEIGHT_CLASS } from '../lib/field.js';
3
+ import { CONTROL_HEIGHT_CLASS, declareFieldWidth } from '../lib/field.js';
4
4
  const HEX6 = /^#[0-9a-fA-F]{6}$/;
5
5
  /**
6
6
  * A color picker: a native `<input type="color">` swatch beside an editable hex
@@ -25,4 +25,5 @@ export function ColorField({ value, onChange, disabled, id, name, 'aria-invalid'
25
25
  // the arbitrary hex value the user is choosing, not a theme token.
26
26
  placeholder: '#000000', "aria-invalid": ariaInvalid, "aria-describedby": ariaDescribedBy, spellCheck: false, autoComplete: 'off', maxLength: 9, className: 'min-w-0 flex-1 bg-transparent font-mono text-base uppercase text-field-fg outline-none placeholder:text-field-placeholder sm:text-sm' })] }));
27
27
  }
28
+ declareFieldWidth(ColorField, 'sm');
28
29
  //# sourceMappingURL=ColorField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColorField.js","sourceRoot":"","sources":["../../../src/react/components/ColorField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAoB,MAAM,iBAAiB,CAAC;AAiBzE,MAAM,IAAI,GAAG,mBAAmB,CAAC;AAEjC;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,IAAI,EACJ,cAAc,EAAE,WAAW,EAC3B,kBAAkB,EAAE,eAAe,EACnC,SAAS,EACT,IAAI,GAAG,IAAI,GACK;IAChB,qFAAqF;IACrF,+DAA+D;IAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,OAAO,CACL,+BACgB,WAAW,EACzB,SAAS,EAAE,EAAE,CACX,sOAAsO,EACtO,oBAAoB,CAAC,IAAI,CAAC,EAC1B,QAAQ,IAAI,+BAA+B,EAC3C,SAAS,CACV,aAED;gBACE,8EAA8E;gBAC9E,kEAAkE;gBAClE,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,gBAC9B,cAAc,EACzB,SAAS,EAAC,kHAAkH,GAC5H,EACF;gBACE,8EAA8E;gBAC9E,8DAA8D;gBAC9D,IAAI,EAAE,IAAI,EACV,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBACzC,iFAAiF;gBACjF,mEAAmE;gBACnE,WAAW,EAAC,SAAS,kBACP,WAAW,sBACP,eAAe,EACjC,UAAU,EAAE,KAAK,EACjB,YAAY,EAAC,KAAK,EAClB,SAAS,EAAE,CAAC,EACZ,SAAS,EAAC,sIAAsI,GAChJ,IACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ColorField.js","sourceRoot":"","sources":["../../../src/react/components/ColorField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAoB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAiB5F,MAAM,IAAI,GAAG,mBAAmB,CAAC;AAEjC;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,EAAE,EACF,IAAI,EACJ,cAAc,EAAE,WAAW,EAC3B,kBAAkB,EAAE,eAAe,EACnC,SAAS,EACT,IAAI,GAAG,IAAI,GACK;IAChB,qFAAqF;IACrF,+DAA+D;IAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,OAAO,CACL,+BACgB,WAAW,EACzB,SAAS,EAAE,EAAE,CACX,sOAAsO,EACtO,oBAAoB,CAAC,IAAI,CAAC,EAC1B,QAAQ,IAAI,+BAA+B,EAC3C,SAAS,CACV,aAED;gBACE,8EAA8E;gBAC9E,kEAAkE;gBAClE,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,gBAC9B,cAAc,EACzB,SAAS,EAAC,kHAAkH,GAC5H,EACF;gBACE,8EAA8E;gBAC9E,8DAA8D;gBAC9D,IAAI,EAAE,IAAI,EACV,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBACzC,iFAAiF;gBACjF,mEAAmE;gBACnE,WAAW,EAAC,SAAS,kBACP,WAAW,sBACP,eAAe,EACjC,UAAU,EAAE,KAAK,EACjB,YAAY,EAAC,KAAK,EAClB,SAAS,EAAE,CAAC,EACZ,SAAS,EAAC,sIAAsI,GAChJ,IACE,CACP,CAAC;AACJ,CAAC;AAED,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxField.d.ts","sourceRoot":"","sources":["../../../src/react/components/ComboboxField.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAkD,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAKnG,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B;oEACgE;IAChE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC3D,8EAA8E;IAC9E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;uCAEmC;IACnC,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACtC;AAED,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,GAAG,uBAAuB,CAAC;AA4EpF;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,+BAqLtD"}
1
+ {"version":3,"file":"ComboboxField.d.ts","sourceRoot":"","sources":["../../../src/react/components/ComboboxField.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAkD,KAAK,WAAW,EAAqB,MAAM,iBAAiB,CAAC;AAKtH,4CAA4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B;oEACgE;IAChE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC3D,8EAA8E;IAC9E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;uCAEmC;IACnC,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,uBAAwB,SAAQ,YAAY;IAC3D,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACtC;AAED,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,GAAG,uBAAuB,CAAC;AA4EpF;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,+BAqLtD"}
@@ -4,7 +4,7 @@ import { Combobox } from '@base-ui/react/combobox';
4
4
  import { Check, ChevronDown, Loader2, Plus, X } from 'lucide-react';
5
5
  import { useCallback, useEffect, useRef, useState } from 'react';
6
6
  import { cn } from '../lib/cn.js';
7
- import { CONTROL_HEIGHT_CLASS, CONTROL_MIN_HEIGHT_CLASS } from '../lib/field.js';
7
+ import { CONTROL_HEIGHT_CLASS, CONTROL_MIN_HEIGHT_CLASS, declareFieldWidth } from '../lib/field.js';
8
8
  import { FLOATING_COLLISION_PADDING, FLOATING_CONTENT_BASE, FLOATING_ITEM_BASE } from '../lib/floatingStyles.js';
9
9
  import { TAP_TARGET } from '../lib/tapTarget.js';
10
10
  const DEBOUNCE_MS = 250;
@@ -106,4 +106,5 @@ export function ComboboxField(props) {
106
106
  // guardrails-ignore no-raw-overflow: floating popover panel outside the page's ScrollArea, height-capped by max-h-64 — no keyboard-inset concern.
107
107
  'max-h-64 min-w-[var(--anchor-width)] overflow-y-auto p-0', 'transition-[transform,opacity] duration-100', 'data-[starting-style]:scale-95 data-[starting-style]:opacity-0', 'data-[ending-style]:scale-95 data-[ending-style]:opacity-0'), children: _jsx(ComboboxList, { creatable: creatable, query: query, onCreateClick: handleCreate }) }) }) })] }));
108
108
  }
109
+ declareFieldWidth(ComboboxField, (props) => (props.multiple ? 'full' : 'md'));
109
110
  //# sourceMappingURL=ComboboxField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxField.js","sourceRoot":"","sources":["../../../src/react/components/ComboboxField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComboboxField.js","sourceRoot":"","sources":["../../../src/react/components/ComboboxField.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { type ColumnFiltersState, type PaginationState, type RowData, type SortingState, useReactTable } from '@tanstack/react-table';
1
+ import { type ColumnFiltersState, type PaginationState, type RowData, type SortingState, useReactTable, type VisibilityState } from '@tanstack/react-table';
2
2
  import type { MouseEvent, ReactNode } from 'react';
3
3
  import { type Ref } from 'react';
4
4
  import type { DropdownMenuItem } from '../DropdownMenu.js';
5
5
  import { type FilterQuery } from './filterQuery.js';
6
6
  import { type RowDragPayload } from './rowDrag.js';
7
7
  import type { ColDef, DataTableHandle, DataTableRowProps, DataTableSelectAll, DataTableServerWindow, TableViewMode } from './types.js';
8
+ import type { TableToolbarProps } from './Toolbar.js';
8
9
  /**
9
10
  * Load the table's lazy parts — the toolbar, the pager, the row kebab's menu — now,
10
11
  * so every table mounted after this resolves draws them on its first render. For a
@@ -16,6 +17,7 @@ export declare function preloadDataTableParts(): Promise<void>;
16
17
  declare module '@tanstack/react-table' {
17
18
  interface ColumnMeta<TData extends RowData, TValue> {
18
19
  label?: string;
20
+ menuLabel?: string;
19
21
  align?: 'left' | 'right';
20
22
  /** ColDef.width verbatim (px number or CSS string, e.g. `'15%'`) — TanStack's
21
23
  * own `size` is number-only, so proportional tracks ride meta instead. */
@@ -91,6 +93,11 @@ export interface DataTableControls {
91
93
  labelOf: (id: string) => string;
92
94
  viewMode?: TableViewMode;
93
95
  setViewMode?: (mode: TableViewMode) => void;
96
+ /** The checkbox column, when the table has one — so the Columns menu can hide it too. */
97
+ selectionColumn?: {
98
+ visible: boolean;
99
+ setVisible: (visible: boolean) => void;
100
+ };
94
101
  }
95
102
  export interface DataTableProps<TRow extends Record<string, unknown>> {
96
103
  columns: ColDef<TRow>[];
@@ -384,6 +391,17 @@ export interface DataTableProps<TRow extends Record<string, unknown>> {
384
391
  */
385
392
  searchable?: boolean;
386
393
  searchPlaceholder?: string;
394
+ /**
395
+ * Tune the DEFAULT toolbar without composing one — which of its controls to draw, and any
396
+ * extra actions. It stays lazy (a composed `toolbar={(t) => <TableToolbar …/>}` pulls the
397
+ * toolbar into the caller's first chunk). `searchable={false}` still removes the search box
398
+ * but, with this set, not the rest of the line.
399
+ *
400
+ * 🔴 Why (owner, 2026-09-30, music): *"Use the cb table that comes with filtering, checkboxes,
401
+ * and sorting out of the box."* The track list opted out of the whole toolbar because it has
402
+ * its own server-side search box, and so lost the filter builder and the Columns menu with it.
403
+ */
404
+ toolbarOptions?: Pick<TableToolbarProps<TRow>, 'enableColumnVisibility' | 'enableFilterBuilder' | 'enableSortStack' | 'extraActions'>;
387
405
  /**
388
406
  * Multi-column sort: each header click puts that column at the FRONT of the
389
407
  * stack and keeps the previous keys behind it as tie-breakers, so the owner's
@@ -452,6 +470,25 @@ export interface DataTableProps<TRow extends Record<string, unknown>> {
452
470
  * owns the box. The row boxes are unchanged (`selectedIds` / `onSelectionChange`).
453
471
  */
454
472
  selectAll?: DataTableSelectAll;
473
+ /**
474
+ * Which columns are shown, CONTROLLED — `{ [ColDef.key]: false }` hides one, and
475
+ * `'__select'` is the checkbox column's key. Omit and the table keeps it
476
+ * internally, seeded from `ColDef.hidden`, exactly as before.
477
+ *
478
+ * 🔴 Why a caller would own it (owner, 2026-09-30, music: *"Allow hiding any column, like
479
+ * the checkbox column"*): a column hidden through the Columns menu that comes back on the
480
+ * next reload was never hidden, it was dismissed. Only the app knows where its per-account
481
+ * preferences live, so the app persists this and hands it back.
482
+ */
483
+ columnVisibility?: VisibilityState;
484
+ onColumnVisibilityChange?: (next: VisibilityState) => void;
485
+ /**
486
+ * Remember the Columns menu's choices under this key — `localStorage`, announced on the
487
+ * preference bus (`onPreferenceWrite`) and re-read on `seedPreferences`, exactly like a
488
+ * `RailSection`'s `persistKey`, so an app that already carries its rail to the server carries
489
+ * its columns with no code of its own. A controlled {@link columnVisibility} wins over it.
490
+ */
491
+ columnsPersistKey?: string;
455
492
  /**
456
493
  * Attributes and handlers for one body ROW, merged onto it after the table's own —
457
494
  * `className` joins, `style` spreads, and a handler the table also sets runs AFTER the
@@ -581,5 +618,5 @@ export declare function mergeRowProps<T extends Record<string, unknown>>(own: T,
581
618
  * full-width accordion detail row that never breaks column alignment, and an automatic
582
619
  * stacked-card layout under `sm` so phones are never handed a clipped grid.
583
620
  */
584
- export declare function DataTable<TRow extends Record<string, unknown>>({ columns, data, getRowId, onRowClick, onRowEdit, onRowDelete, rowMenu, loading, emptyState, toolbar, pageSize, pageSizeOptions, hidePagination, caption, className, stickyHeader, stickyFirstColumn, renderExpanded, expandedRowId, rowClassName, hideEmptyColumns, fixedLayout, minTableWidth, scrollBody, virtualize, serverWindow, handleRef, scrollClassName, mobileCards, serverSide, pageCount, rowCount, onSortingChange, onColumnFiltersChange, onGlobalFilterChange, onPaginationChange, defaultSort, sorting: sortingProp, enableSortingRemoval, sortDisabledReason, density, viewMode, onViewModeChange, cardMinWidth, searchable, searchPlaceholder, multiSort, filterQuery: filterQueryProp, onFilterQueryChange, getRowDrag, dragSourceId, selectedIds, onSelectionChange, isRowSelectable, unselectableReason, selectionLabel, selectionSummary, selectAll, getRowProps, }: DataTableProps<TRow>): import("react").JSX.Element;
621
+ export declare function DataTable<TRow extends Record<string, unknown>>({ columns, data, getRowId, onRowClick, onRowEdit, onRowDelete, rowMenu, loading, emptyState, toolbar, pageSize, pageSizeOptions, hidePagination, caption, className, stickyHeader, stickyFirstColumn, renderExpanded, expandedRowId, rowClassName, hideEmptyColumns, fixedLayout, minTableWidth, scrollBody, virtualize, serverWindow, handleRef, scrollClassName, mobileCards, serverSide, pageCount, rowCount, onSortingChange, onColumnFiltersChange, onGlobalFilterChange, onPaginationChange, defaultSort, sorting: sortingProp, enableSortingRemoval, sortDisabledReason, density, viewMode, onViewModeChange, cardMinWidth, searchable, searchPlaceholder, toolbarOptions, multiSort, filterQuery: filterQueryProp, onFilterQueryChange, getRowDrag, dragSourceId, selectedIds, onSelectionChange, isRowSelectable, unselectableReason, selectionLabel, selectionSummary, selectAll, getRowProps, columnVisibility: columnVisibilityProp, onColumnVisibilityChange, columnsPersistKey, }: DataTableProps<TRow>): import("react").JSX.Element;
585
622
  //# sourceMappingURL=DataTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../src/react/components/DataTable/DataTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EAOvB,KAAK,eAAe,EAEpB,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,aAAa,EAEd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAKV,UAAU,EACV,SAAS,EAEV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAgC,KAAK,GAAG,EAA0E,MAAM,OAAO,CAAC;AAMvI,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAO3D,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,cAAc,EAAgB,MAAM,cAAc,CAAC;AAEjE,OAAO,KAAK,EACV,MAAM,EACN,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACd,MAAM,YAAY,CAAC;AA2BpB;;;;;;GAMG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3D;AAuBD,OAAO,QAAQ,uBAAuB,CAAC;IACrC,UAAU,UAAU,CAAC,KAAK,SAAS,OAAO,EAAE,MAAM;QAChD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACzB;mFAC2E;QAC3E,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;QAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB;IACD,UAAU,SAAS,CAAC,KAAK,SAAS,OAAO;QACvC,6EAA6E;QAC7E,UAAU,CAAC,EAAE,iBAAiB,CAAC;KAChC;CACF;AAED,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAiB;IAChC;gFAC4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,yCAAyC;IACzC,aAAa,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChD,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,2EAA2E;IAC3E,aAAa,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChD,OAAO,EAAE,YAAY,CAAC;IACtB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,mBAAmB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,cAAc,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IACxB,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,mEAAmE;IACnE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAC;IACjC,yDAAyD;IACzD,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAClE,iEAAiE;IACjE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,mEAAmE;IACnE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,CAAC;IAClC;oFACgF;IAChF,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;kFAC8E;IAC9E,OAAO,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;oEAEgE;IAChE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,SAAS,CAAC;IAC1C,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;0FACsF;IACtF,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,GAAG,SAAS,CAAC;IACjD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG;QAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;IACjC;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;2FACuF;IACvF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAClD,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC9D,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3D;iGAC6F;IAC7F,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACjD,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAElD;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,cAAc,GAAG,IAAI,CAAC;IAClD;0CACsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACxD;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,iBAAiB,CAAC;IACjE;uEACmE;IACnE,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC;IACzC;;0DAEsD;IACtD,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAC;IAC3C;mBACe;IACf,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAC;IACvC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,SAAS,CAAC;CACxD;AAgCD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAMvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,EAClE,UAAU,UAAQ,GACjB,MAAM,CAOR;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,YAAY,EACrB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IACP,2EAA2E;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;oDACgD;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;CAChB,GACL,YAAY,CAYd;AAoCD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7D,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,iBAAiB,GAAG,SAAS,GACnC,CAAC,GAAG,iBAAiB,CAcvB;AAUD;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC9D,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,SAAS,EACT,WAAW,EACX,OAAO,EACP,OAAO,EACP,UAAU,EACV,OAAO,EACP,QAAa,EACb,eAAe,EACf,cAAc,EACd,OAAO,EACP,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,UAAU,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,eAAe,EACf,WAAkB,EAClB,UAAU,EACV,SAAS,EACT,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,EACX,OAAO,EAAE,WAAW,EACpB,oBAA2B,EAC3B,kBAAkB,EAClB,OAAuB,EACvB,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,UAAiB,EACjB,iBAAiB,EACjB,SAAgB,EAChB,WAAW,EAAE,eAAe,EAC5B,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,WAAW,GACZ,EAAE,cAAc,CAAC,IAAI,CAAC,+BA8pCtB"}
1
+ {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../src/react/components/DataTable/DataTable.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { flexRender, getCoreRowModel, getFilteredRowModel, getPaginationRowModel, getSortedRowModel, useReactTable, } from '@tanstack/react-table';
2
+ import { getCoreRowModel, getFilteredRowModel, getPaginationRowModel, getSortedRowModel, useReactTable, } from '@tanstack/react-table';
3
3
  import { useVirtualizer } from '@tanstack/react-virtual';
4
4
  import { Fragment, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
5
5
  import { useScrollEdgeFade } from '../../hooks/useScrollEdgeFade.js';
6
+ import { useRememberedPreference } from '../../media-gallery/rememberedPreference.js';
6
7
  import { cn } from '../../lib/cn.js';
7
8
  import { TAP_TARGET_HEIGHT } from '../../lib/tapTarget.js';
8
9
  import { CardTapTarget } from '../CardTapTarget.js';
@@ -17,7 +18,7 @@ import { EMPTY_FILTER_QUERY, evaluateFilterQuery, filterableText, } from './filt
17
18
  import { preloadRowMenu, RowActions } from './RowActions.js';
18
19
  import { writeRowDrag } from './rowDrag.js';
19
20
  import { SortHeader } from './SortHeader.js';
20
- import { resolveColumnAlign } from './types.js';
21
+ import { resolveColumnAlign, SELECT_COLUMN_ID } from './types.js';
21
22
  import { lazyPart } from './lazyPart.js';
22
23
  // 🔴 The toolbar and the pager load only when a table DRAWS them (forge task 2309).
23
24
  // Between them they reach Radix's Select, Menu and Popover — ~20 kB gzip that a
@@ -47,6 +48,38 @@ function ToolbarPlaceholder() {
47
48
  function PaginationPlaceholder() {
48
49
  return (_jsx("div", { "data-cb-table-pagination-pending": '', "aria-hidden": true, className: 'border-t border-border px-4 py-2.5', children: _jsx("div", { className: cn('h-8', TAP_TARGET_HEIGHT) }) }));
49
50
  }
51
+ /**
52
+ * Render a header or cell template by CALLING it — never `flexRender`.
53
+ *
54
+ * 🔴 `flexRender` mounts a function template as a component (`<Template {...ctx} />`), so its
55
+ * identity IS the element type. Our templates are closures rebuilt whenever `columns` changes
56
+ * identity, and a consumer's `columns` memo commonly depends on something that changes often
57
+ * (music's depended on its player: play, pause, every track). Each rebuild was a new component
58
+ * type for every visible cell — React unmounted and remounted the whole body, every `<img>` was
59
+ * recreated, and on an iPhone the list's thumbnails flickered for as long as a song played
60
+ * (2026-09-29). Called as a function, a template returns `<CellRenderer>` / `<SortHeader>`,
61
+ * whose types never change, so a column rebuild is an ordinary re-render. Every template this
62
+ * file builds is hook-free — the hooks live in the components it returns — which is what
63
+ * makes the call sound; keep it so. `DataTable.spec.tsx` → "a columns rebuild keeps the cells".
64
+ */
65
+ function renderTemplate(template, context) {
66
+ return typeof template === 'function' ? template(context) : (template ?? null);
67
+ }
68
+ /** A remembered column-visibility value, or `null` for anything that is not one — a stored
69
+ * value from an older shape must fall back to the defaults, never throw a table off the page. */
70
+ function parseVisibility(stored) {
71
+ if (!stored)
72
+ return null;
73
+ try {
74
+ const value = JSON.parse(stored);
75
+ if (typeof value !== 'object' || value === null || Array.isArray(value))
76
+ return null;
77
+ return Object.fromEntries(Object.entries(value).filter(([, shown]) => typeof shown === 'boolean'));
78
+ }
79
+ catch {
80
+ return null;
81
+ }
82
+ }
50
83
  /** Build an OnChangeFn that updates local state AND notifies an optional listener. */
51
84
  function chainUpdater(set, notify) {
52
85
  return (updater) => set((prev) => {
@@ -240,7 +273,7 @@ function isEmptyCellValue(v) {
240
273
  * full-width accordion detail row that never breaks column alignment, and an automatic
241
274
  * stacked-card layout under `sm` so phones are never handed a clipped grid.
242
275
  */
243
- export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRowDelete, rowMenu, loading, emptyState, toolbar, pageSize = 50, pageSizeOptions, hidePagination, caption, className, stickyHeader, stickyFirstColumn, renderExpanded, expandedRowId, rowClassName, hideEmptyColumns, fixedLayout, minTableWidth, scrollBody, virtualize, serverWindow, handleRef, scrollClassName, mobileCards = true, serverSide, pageCount, rowCount, onSortingChange, onColumnFiltersChange, onGlobalFilterChange, onPaginationChange, defaultSort, sorting: sortingProp, enableSortingRemoval = true, sortDisabledReason, density = 'comfortable', viewMode, onViewModeChange, cardMinWidth, searchable = true, searchPlaceholder, multiSort = true, filterQuery: filterQueryProp, onFilterQueryChange, getRowDrag, dragSourceId, selectedIds, onSelectionChange, isRowSelectable, unselectableReason, selectionLabel, selectionSummary, selectAll, getRowProps, }) {
276
+ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRowDelete, rowMenu, loading, emptyState, toolbar, pageSize = 50, pageSizeOptions, hidePagination, caption, className, stickyHeader, stickyFirstColumn, renderExpanded, expandedRowId, rowClassName, hideEmptyColumns, fixedLayout, minTableWidth, scrollBody, virtualize, serverWindow, handleRef, scrollClassName, mobileCards = true, serverSide, pageCount, rowCount, onSortingChange, onColumnFiltersChange, onGlobalFilterChange, onPaginationChange, defaultSort, sorting: sortingProp, enableSortingRemoval = true, sortDisabledReason, density = 'comfortable', viewMode, onViewModeChange, cardMinWidth, searchable = true, searchPlaceholder, toolbarOptions, multiSort = true, filterQuery: filterQueryProp, onFilterQueryChange, getRowDrag, dragSourceId, selectedIds, onSelectionChange, isRowSelectable, unselectableReason, selectionLabel, selectionSummary, selectAll, getRowProps, columnVisibility: columnVisibilityProp, onColumnVisibilityChange, columnsPersistKey, }) {
244
277
  // Vertical cell padding for the wide grid tier — the one lever the density knob
245
278
  // pulls (headers + body cells stay aligned by sharing it).
246
279
  const cellPadY = density === 'compact' ? 'py-1.5' : 'py-2.5';
@@ -251,7 +284,25 @@ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRo
251
284
  sortingRef.current = sorting;
252
285
  const [columnFilters, setColumnFilters] = useState([]);
253
286
  const [globalFilter, setGlobalFilter] = useState('');
254
- const [columnVisibility, setColumnVisibility] = useState(() => Object.fromEntries(columns.filter((c) => c.hidden).map((c) => [c.key, false])));
287
+ const [ownColumnVisibility, setOwnColumnVisibility] = useState(() => Object.fromEntries(columns.filter((c) => c.hidden).map((c) => [c.key, false])));
288
+ const [rememberedColumns, setRememberedColumns] = useRememberedPreference(columnsPersistKey);
289
+ const remembered = useMemo(() => parseVisibility(rememberedColumns), [rememberedColumns]);
290
+ const columnVisibility = columnVisibilityProp ?? (remembered ? { ...ownColumnVisibility, ...remembered } : ownColumnVisibility);
291
+ const columnVisibilityRef = useRef(columnVisibility);
292
+ columnVisibilityRef.current = columnVisibility;
293
+ /** Every visibility write — TanStack's own, the Columns menu's, the checkbox column's. Computed
294
+ * outside a state updater for the same reason as `applySorting`: under a controlled value
295
+ * there is no state to update, and a notify inside an updater fires twice in StrictMode. */
296
+ const updateColumnVisibility = useCallback((updater) => {
297
+ const next = typeof updater === 'function' ? updater(columnVisibilityRef.current) : updater;
298
+ columnVisibilityRef.current = next;
299
+ if (columnVisibilityProp === undefined) {
300
+ setOwnColumnVisibility(next);
301
+ if (columnsPersistKey)
302
+ setRememberedColumns(JSON.stringify(next));
303
+ }
304
+ onColumnVisibilityChange?.(next);
305
+ }, [columnVisibilityProp, columnsPersistKey, onColumnVisibilityChange, setRememberedColumns]);
255
306
  const [pagination, setPagination] = useState({ pageIndex: 0, pageSize });
256
307
  // `null` = every column, and it STAYS null as columns come and go — see SearchBox.
257
308
  const [searchScope, setSearchScope] = useState(null);
@@ -292,9 +343,12 @@ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRo
292
343
  * narrows the dataset, the rest narrows what is left, and the sort stack
293
344
  * re-applies to whatever survives.
294
345
  */
295
- const filteredData = useMemo(() => serverSide
346
+ const filteredData = useMemo(() =>
347
+ // A `serverWindow` holds a hundred rows of thousands: narrowing THEM would answer a
348
+ // question about the loaded page, not the list. The server applies it — the table reports.
349
+ serverSide || serverWindow
296
350
  ? data
297
- : data.filter((row) => evaluateFilterQuery(row, filterQuery, (r, key) => readPath(r, key))), [data, filterQuery, serverSide]);
351
+ : data.filter((row) => evaluateFilterQuery(row, filterQuery, (r, key) => readPath(r, key))), [data, filterQuery, serverSide, serverWindow]);
298
352
  /**
299
353
  * Every write to the sort stack goes through here, so a header click, a chip's
300
354
  * direction flip and a chip's `×` all take the same page-reset and fire the
@@ -320,6 +374,7 @@ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRo
320
374
  // preference — `resolveColumnAlign` derives it; an explicit `align` overrides.
321
375
  meta: {
322
376
  label: col.label,
377
+ menuLabel: col.menuLabel,
323
378
  align: resolveColumnAlign(col),
324
379
  width: col.width,
325
380
  minWidth: col.minWidth,
@@ -358,7 +413,9 @@ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRo
358
413
  setFilterQuery,
359
414
  // `alwaysVisible` columns are exempt from HIDING, not from filtering — the
360
415
  // builder's universe is every column that carries data.
361
- filterColumns: liveColumns.map((col) => ({ key: col.key, label: col.label })),
416
+ filterColumns: liveColumns
417
+ .filter((col) => col.filterable ?? true)
418
+ .map((col) => ({ key: col.key, label: col.label })),
362
419
  searchScope,
363
420
  setSearchScope,
364
421
  searchColumns: liveColumns
@@ -371,6 +428,12 @@ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRo
371
428
  labelOf,
372
429
  viewMode,
373
430
  setViewMode: onViewModeChange,
431
+ selectionColumn: selectedIds !== undefined
432
+ ? {
433
+ visible: columnVisibility[SELECT_COLUMN_ID] !== false,
434
+ setVisible: (visible) => updateColumnVisibility((prev) => ({ ...prev, [SELECT_COLUMN_ID]: visible })),
435
+ }
436
+ : undefined,
374
437
  }), [
375
438
  applySorting,
376
439
  filterQuery,
@@ -383,6 +446,9 @@ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRo
383
446
  setFilterQuery,
384
447
  sorting,
385
448
  viewMode,
449
+ selectedIds,
450
+ columnVisibility,
451
+ updateColumnVisibility,
386
452
  ]);
387
453
  /*
388
454
  * ── Virtualization ────────────────────────────────────────────────────────
@@ -406,6 +472,10 @@ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRo
406
472
  const bodyScrolls = scrollBody || virtualEnabled;
407
473
  const paginationHidden = hidePagination || virtualEnabled;
408
474
  const selectionEnabled = selectedIds !== undefined;
475
+ /** The checkbox column is ON and not hidden through the Columns menu. Hiding it hides the
476
+ * boxes, never the selection: a row click that selects still does, and the caller's
477
+ * selection bar still counts it. */
478
+ const selectionShown = selectionEnabled && columnVisibility[SELECT_COLUMN_ID] !== false;
409
479
  /**
410
480
  * Without `getRowId`, TanStack ids a row by its index in the array it was
411
481
  * handed — which is `filteredData`, so the builder narrowing the rows would
@@ -431,7 +501,7 @@ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRo
431
501
  const text = typeof next === 'string' ? next : (next?.text ?? '');
432
502
  setSearchText(text);
433
503
  },
434
- onColumnVisibilityChange: chainUpdater(setColumnVisibility),
504
+ onColumnVisibilityChange: updateColumnVisibility,
435
505
  onPaginationChange: chainUpdater(setPagination, onPaginationChange),
436
506
  // 🔴 Not `'includesString'` any more. That built-in is `String(value)`, and
437
507
  // `String(new Date())` / `String(['rock','80s'])` are not the text the
@@ -730,8 +800,8 @@ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRo
730
800
  // passes its own gets exactly that, and `TableToolbar` reads the same
731
801
  // controls off `table.options.meta`, so composing a toolbar is never
732
802
  // the thing that costs you the search box.
733
- (searchable ? (_jsx(ToolbarPart, { table: table, searchPlaceholder: searchPlaceholder, fallback: _jsx(ToolbarPlaceholder, {}) })) : null));
734
- const visibleColumnCount = table.getVisibleLeafColumns().length + (hasActions ? 1 : 0) + (selectionEnabled ? 1 : 0);
803
+ (searchable || toolbarOptions ? (_jsx(ToolbarPart, { table: table, searchPlaceholder: searchPlaceholder, enableSearch: searchable, ...toolbarOptions, fallback: _jsx(ToolbarPlaceholder, {}) })) : null));
804
+ const visibleColumnCount = table.getVisibleLeafColumns().length + (hasActions ? 1 : 0) + (selectionShown ? 1 : 0);
735
805
  // Cards track the SAME live visibility state as the grid (ViewOptionsMenu toggles
736
806
  // apply to both) — not just the ColDefs' initial `hidden` flags.
737
807
  const cardColumns = liveColumns.filter((c) => table.getColumn(c.key)?.getIsVisible() ?? true);
@@ -744,16 +814,16 @@ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRo
744
814
  // columns missing rather than one that scrolls (`useScrollEdgeFade`).
745
815
  const gridFade = useScrollEdgeFade();
746
816
  const tableMinWidth = fixedLayout
747
- ? Math.max(minTableWidth ?? 0, declaredTrackFloor(cardColumns, hasActions) + (selectionEnabled ? SELECT_TRACK_PX : 0))
817
+ ? Math.max(minTableWidth ?? 0, declaredTrackFloor(cardColumns, hasActions) + (selectionShown ? SELECT_TRACK_PX : 0))
748
818
  : minTableWidth;
749
819
  return (_jsxs("div", { className: cn('@container flex min-h-0 flex-col', className), children: [toolbarNode, summaryNode != null ? (_jsx("div", { "data-cb-table-selection-summary": '', "aria-live": 'polite', className: 'flex min-h-11 flex-wrap items-center gap-3 border-b border-border px-4 py-2 text-sm', children: summaryNode })) : null, loading ? (_jsx("div", { className: 'flex flex-col gap-2 p-4', children: Array.from({ length: 5 }).map((_, i) => (_jsx(Skeleton, { className: 'h-10 w-full' }, `dt-skeleton-${i}`))) })) : rows.length === 0 && windowTotal === 0 ? (_jsx("div", { className: 'p-2', children: emptyState ?? _jsx(EmptyState, { title: 'No results' }) })) : (_jsxs("div", { ref: scrollRef, "data-cb-table-scroll": bodyScrolls ? '' : undefined,
750
820
  // guardrails-ignore no-raw-overflow: dual-axis table scroll container — sticky header pins to it; ScrollArea cannot own horizontal table scroll.
751
- className: cn(bodyScrolls && 'min-h-0 flex-1 overflow-auto', scrollClassName), children: [selectionEnabled && (viewMode === 'card' || mobileCards) ? (_jsx("div", { "data-cb-table-select-all": '', className: cn('flex items-center px-2 py-1', viewMode !== 'card' && '@xl:hidden'), children: headerCheckbox('Select all') })) : null, viewMode === 'card' ? (_jsx(CardView, { columns: cardColumns, data: rows.map((row) => row.original), getRowId: getRowId, onRowClick: onRowClick, dragPropsFor: getRowDrag ? dragPropsFor : undefined, selectFor: selectionEnabled
821
+ className: cn(bodyScrolls && 'min-h-0 flex-1 overflow-auto', scrollClassName), children: [selectionShown && (viewMode === 'card' || mobileCards) ? (_jsx("div", { "data-cb-table-select-all": '', className: cn('flex items-center px-2 py-1', viewMode !== 'card' && '@xl:hidden'), children: headerCheckbox('Select all') })) : null, viewMode === 'card' ? (_jsx(CardView, { columns: cardColumns, data: rows.map((row) => row.original), getRowId: getRowId, onRowClick: onRowClick, dragPropsFor: getRowDrag ? dragPropsFor : undefined, selectFor: selectionShown
752
822
  ? (_row, index) => {
753
823
  const tsRow = rows[index];
754
824
  return tsRow ? rowCheckbox(tsRow) : null;
755
825
  }
756
- : undefined, cardMinWidth: cardMinWidth, className: 'p-2' })) : (_jsxs(_Fragment, { children: [mobileCards && (_jsx("div", { "data-cb-table-cards": '', className: 'flex flex-col gap-3 @xl:hidden', children: rows.map((row) => (_jsx(MobileRowCard, { row: row, columns: cardColumns, className: rowClassName?.(row.original), onRowClick: onRowClick, dragProps: mergeRowProps(dragPropsFor(row.original), getRowProps?.(row.original, windowStart + row.index)), select: selectionEnabled ? rowCheckbox(row) : undefined, actions: hasActions ? (_jsx(RowActions, { row: row.original, onEdit: onRowEdit, onDelete: onRowDelete, menu: rowMenu?.(row.original) })) : null, expanded: renderExpanded && expandedRowId != null && row.id === expandedRowId
826
+ : undefined, cardMinWidth: cardMinWidth, className: 'p-2' })) : (_jsxs(_Fragment, { children: [mobileCards && (_jsx("div", { "data-cb-table-cards": '', className: 'flex flex-col gap-3 @xl:hidden', children: rows.map((row) => (_jsx(MobileRowCard, { row: row, columns: cardColumns, className: rowClassName?.(row.original), onRowClick: onRowClick, dragProps: mergeRowProps(dragPropsFor(row.original), getRowProps?.(row.original, windowStart + row.index)), select: selectionShown ? rowCheckbox(row) : undefined, actions: hasActions ? (_jsx(RowActions, { row: row.original, onEdit: onRowEdit, onDelete: onRowDelete, menu: rowMenu?.(row.original) })) : null, expanded: renderExpanded && expandedRowId != null && row.id === expandedRowId
757
827
  ? renderExpanded(row.original)
758
828
  : null }, row.id))) })), mobileCards && (_jsx("div", { "data-cb-table-list": '', className: 'hidden @xl:block @3xl:hidden', children: (() => {
759
829
  const [title, ...rest] = cardColumns;
@@ -775,19 +845,19 @@ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRo
775
845
  // absent (the header) and every preceding lane drifts ~32px off
776
846
  // its label — the v4 judge's tablet misalignment finding.
777
847
  const template = [
778
- ...(selectionEnabled ? ['44px'] : []),
848
+ ...(selectionShown ? ['44px'] : []),
779
849
  'minmax(0,1fr)',
780
850
  ...rest.map(trackOf),
781
851
  ...(hasActions ? ['32px'] : []),
782
852
  ].join(' ');
783
- const header = (_jsxs("div", { "data-cb-table-list-header": '', className: 'grid items-center gap-3 border-b border-border px-4 py-2 text-caption font-bold uppercase tracking-wider text-muted-foreground', style: { gridTemplateColumns: template }, children: [selectionEnabled ? _jsx("span", { className: 'flex justify-center', children: headerCheckbox() }) : null, _jsx("span", { children: title?.label ?? '' }), rest.map((col) => (_jsx("span", { className: cn(resolveColumnAlign(col) === 'right' && 'text-right'), children: col.label }, col.key))), hasActions ? _jsx("span", { "aria-hidden": true }) : null] }));
853
+ const header = (_jsxs("div", { "data-cb-table-list-header": '', className: 'grid items-center gap-3 border-b border-border px-4 py-2 text-caption font-bold uppercase tracking-wider text-muted-foreground', style: { gridTemplateColumns: template }, children: [selectionShown ? _jsx("span", { className: 'flex justify-center', children: headerCheckbox() }) : null, _jsx("span", { children: title?.label ?? '' }), rest.map((col) => (_jsx("span", { className: cn(resolveColumnAlign(col) === 'right' && 'text-right'), children: col.label }, col.key))), hasActions ? _jsx("span", { "aria-hidden": true }) : null] }));
784
854
  const body = rows.map((row) => {
785
855
  const isExpanded = renderExpanded != null && expandedRowId != null && row.id === expandedRowId;
786
856
  return (_jsxs(Fragment, { children: [_jsxs("div", { ...mergeRowProps({
787
857
  ...dragPropsFor(row.original),
788
858
  className: cn('grid items-center gap-3 px-4 py-3 transition-colors hover:bg-muted/40', getRowDrag && 'cursor-grab active:cursor-grabbing', rowClassName?.(row.original)),
789
859
  style: { gridTemplateColumns: template },
790
- }, getRowProps?.(row.original, windowStart + row.index)), children: [selectionEnabled ? (_jsx("div", { ...selectCellProps(row), className: '-my-3 flex self-stretch items-center justify-center', children: rowCheckbox(row) })) : null, _jsx("div", { className: 'min-w-0', children: title ? (_jsx(CellRenderer, { col: title, value: row.original[title.key], row: row.original })) : null }), rest.map((col) => (_jsx("div", { className: cn(resolveColumnAlign(col) === 'right' && 'justify-self-end text-right'), children: _jsx(CellRenderer, { col: col, value: row.original[col.key], row: row.original }) }, col.key))), hasActions ? (_jsx(RowActions, { row: row.original, onEdit: onRowEdit, onDelete: onRowDelete, menu: rowMenu?.(row.original) })) : null] }), isExpanded ? (_jsx("div", { className: 'bg-muted/20 px-4 pt-1 pb-3', children: _jsx(Surface, { level: "raised", pad: "sm", radius: "lg", children: renderExpanded(row.original) }) })) : null] }, row.id));
860
+ }, getRowProps?.(row.original, windowStart + row.index)), children: [selectionShown ? (_jsx("div", { ...selectCellProps(row), className: '-my-3 flex self-stretch items-center justify-center', children: rowCheckbox(row) })) : null, _jsx("div", { className: 'min-w-0', children: title ? (_jsx(CellRenderer, { col: title, value: row.original[title.key], row: row.original })) : null }), rest.map((col) => (_jsx("div", { className: cn(resolveColumnAlign(col) === 'right' && 'justify-self-end text-right'), children: _jsx(CellRenderer, { col: col, value: row.original[col.key], row: row.original }) }, col.key))), hasActions ? (_jsx(RowActions, { row: row.original, onEdit: onRowEdit, onDelete: onRowDelete, menu: rowMenu?.(row.original) })) : null] }), isExpanded ? (_jsx("div", { className: 'bg-muted/20 px-4 pt-1 pb-3', children: _jsx(Surface, { level: "raised", pad: "sm", radius: "lg", children: renderExpanded(row.original) }) })) : null] }, row.id));
791
861
  });
792
862
  return (_jsxs(_Fragment, { children: [header, _jsx("div", { className: 'divide-y divide-border', children: body })] }));
793
863
  })() })), _jsx("div", { ref: bodyScrolls ? undefined : gridFade.ref, onScroll: bodyScrolls ? undefined : gridFade.onScroll, style: bodyScrolls ? undefined : gridFade.maskStyle,
@@ -821,14 +891,14 @@ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRo
821
891
  // next header slides over the frozen one. It is opaque
822
892
  // for the same reason the body cells are.
823
893
  frozen &&
824
- (selectionEnabled
894
+ (selectionShown
825
895
  ? 'sticky left-11 bg-card shadow-[1px_0_0_0_var(--color-border)]'
826
896
  : 'sticky left-0 bg-card shadow-[1px_0_0_0_var(--color-border)]'), frozen && (stickyHeader ? 'z-30' : 'z-20'), meta?.hideBelow && HIDE_BELOW_CLASS[meta.hideBelow]), children: h.isPlaceholder
827
897
  ? null
828
- : flexRender(h.column.columnDef.header, h.getContext()) }, h.id));
898
+ : renderTemplate(h.column.columnDef.header, h.getContext()) }, h.id));
829
899
  };
830
900
  const isLeading = (h) => h.column.columnDef.meta?.leading === true;
831
- return (_jsxs(_Fragment, { children: [hg.headers.filter(isLeading).map((h) => renderHeader(h, -1)), selectionEnabled ? (_jsx("th", { scope: 'col', className: cn('w-11 border-b border-border px-0 text-center', stickyHeader && 'sticky top-0 z-10 bg-card/95 backdrop-blur-sm', stickyFirstColumn && 'sticky left-0 bg-card', stickyFirstColumn && (stickyHeader ? 'z-30' : 'z-20')), children: headerCheckbox() })) : null, hg.headers.filter((h) => !isLeading(h)).map(renderHeader)] }));
901
+ return (_jsxs(_Fragment, { children: [hg.headers.filter(isLeading).map((h) => renderHeader(h, -1)), selectionShown ? (_jsx("th", { scope: 'col', className: cn('w-11 border-b border-border px-0 text-center', stickyHeader && 'sticky top-0 z-10 bg-card/95 backdrop-blur-sm', stickyFirstColumn && 'sticky left-0 bg-card', stickyFirstColumn && (stickyHeader ? 'z-30' : 'z-20')), children: headerCheckbox() })) : null, hg.headers.filter((h) => !isLeading(h)).map(renderHeader)] }));
832
902
  })(), hasActions ? (_jsx("th", { className: cn('w-20 border-b border-border px-2', stickyHeader && 'sticky top-0 z-10 bg-card/95 backdrop-blur-sm'), "aria-label": 'Row actions' })) : null] }, hg.id))) }), _jsxs("tbody", { children: [padTop > 0 ? (_jsx("tr", { "aria-hidden": true, style: { height: padTop }, children: _jsx("td", { colSpan: visibleColumnCount }) })) : null, bodyRows.map((row, sliceIndex) => {
833
903
  if (row === null) {
834
904
  // A row the server window has not loaded yet: the estimated height, so
@@ -887,7 +957,7 @@ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRo
887
957
  : 'var(--color-card)',
888
958
  }
889
959
  : undefined, className: cn('px-4 align-middle', cellPadY, frozen &&
890
- (selectionEnabled
960
+ (selectionShown
891
961
  ? 'sticky left-11 z-10 bg-[var(--cb-frozen-bg)] shadow-[1px_0_0_0_var(--color-border)]'
892
962
  : 'sticky left-0 z-10 bg-[var(--cb-frozen-bg)] shadow-[1px_0_0_0_var(--color-border)]'),
893
963
  // A rigid track cannot widen for its content, so an
@@ -898,9 +968,9 @@ export function DataTable({ columns, data, getRowId, onRowClick, onRowEdit, onRo
898
968
  // `overflow: hidden`: a cell may host a menu/tooltip that
899
969
  // has to escape its bounds.
900
970
  fixedLayout && '[overflow-wrap:anywhere]', cell.column.columnDef.meta?.align === 'right' && 'text-right', cell.column.columnDef.meta?.hideBelow &&
901
- HIDE_BELOW_CLASS[cell.column.columnDef.meta.hideBelow]), children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id));
971
+ HIDE_BELOW_CLASS[cell.column.columnDef.meta.hideBelow]), children: renderTemplate(cell.column.columnDef.cell, cell.getContext()) }, cell.id));
902
972
  };
903
- return (_jsxs(_Fragment, { children: [cells.filter(isLeading).map((cell) => renderCell(cell, -1)), selectionEnabled ? (_jsx("td", { ...selectCellProps(row), style: stickyFirstColumn
973
+ return (_jsxs(_Fragment, { children: [cells.filter(isLeading).map((cell) => renderCell(cell, -1)), selectionShown ? (_jsx("td", { ...selectCellProps(row), style: stickyFirstColumn
904
974
  ? {
905
975
  '--cb-frozen-bg': rowIndex % 2 === 1
906
976
  ? 'color-mix(in srgb, var(--color-muted) 50%, var(--color-card))'