@lavalogic/scoria 0.36.0 → 0.37.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 (550) hide show
  1. package/dist/Components/AccordionGroup.svelte +6 -2
  2. package/dist/Components/AccordionGroupButton.svelte +78 -78
  3. package/dist/Components/AccordionGroupButtonProps.d.ts +27 -8
  4. package/dist/Components/AccordionGroupProps.d.ts +10 -2
  5. package/dist/Components/Action.svelte +31 -33
  6. package/dist/Components/ActionProps.d.ts +23 -3
  7. package/dist/Components/AlertModal.svelte +90 -39
  8. package/dist/Components/AppointmentCalendar/AppointmentCalendar.svelte +1126 -0
  9. package/dist/Components/AppointmentCalendar/AppointmentCalendar.svelte.d.ts +4 -0
  10. package/dist/Components/AppointmentCalendar/AppointmentCalendarProps.d.ts +92 -0
  11. package/dist/Components/AppointmentCalendar/AppointmentCalendarProps.js +12 -0
  12. package/dist/Components/Base/BaseModal.svelte +172 -0
  13. package/dist/Components/Base/BaseModal.svelte.d.ts +4 -0
  14. package/dist/Components/Base/BaseModalProps.d.ts +73 -0
  15. package/dist/Components/Base/BaseModalProps.js +1 -0
  16. package/dist/Components/Base/ContextWrapper.svelte +37 -15
  17. package/dist/Components/Base/ContextWrapper.svelte.d.ts +24 -5
  18. package/dist/Components/Base/ContextWrapperProps.d.ts +22 -0
  19. package/dist/Components/Base/Pagination.svelte +70 -62
  20. package/dist/Components/Base/Pagination.svelte.d.ts +12 -2
  21. package/dist/Components/Base/PaginationProps.d.ts +60 -3
  22. package/dist/Components/Base/Snippets.svelte +7 -0
  23. package/dist/Components/Base/Snippets.svelte.d.ts +5 -1
  24. package/dist/Components/BigRadioSet.svelte +18 -9
  25. package/dist/Components/BigRadioSetProps.d.ts +17 -1
  26. package/dist/Components/Bubble.svelte +67 -34
  27. package/dist/Components/Bubble.svelte.d.ts +23 -2
  28. package/dist/Components/BubbleProps.d.ts +55 -4
  29. package/dist/Components/Button.svelte +50 -38
  30. package/dist/Components/ButtonProps.d.ts +66 -1
  31. package/dist/Components/Checkbox.svelte +57 -29
  32. package/dist/Components/Checkbox.svelte.d.ts +1 -12
  33. package/dist/Components/CheckboxProps.d.ts +27 -0
  34. package/dist/Components/CheckboxProps.js +1 -0
  35. package/dist/Components/CollapsibleCard.svelte +53 -22
  36. package/dist/Components/CollapsibleCardProps.d.ts +22 -1
  37. package/dist/Components/Contexts/ContextMenu.svelte +53 -32
  38. package/dist/Components/Contexts/ContextMenu.svelte.d.ts +26 -0
  39. package/dist/Components/Contexts/ContextMenuDivider.svelte +15 -7
  40. package/dist/Components/Contexts/ContextMenuDivider.svelte.d.ts +9 -0
  41. package/dist/Components/Contexts/ContextMenuOption.svelte +27 -18
  42. package/dist/Components/Contexts/ContextMenuOption.svelte.d.ts +12 -1
  43. package/dist/Components/Contexts/ContextMenuOptionProps.d.ts +34 -2
  44. package/dist/Components/Contexts/Toast.svelte +28 -4
  45. package/dist/Components/Contexts/Toast.svelte.d.ts +14 -0
  46. package/dist/Components/Contexts/ToastContainer.svelte +30 -11
  47. package/dist/Components/Contexts/ToastContainer.svelte.d.ts +14 -0
  48. package/dist/Components/Contexts/ToastProps.d.ts +14 -1
  49. package/dist/Components/Contexts/Tooltip.svelte +21 -10
  50. package/dist/Components/Contexts/Tooltip.svelte.d.ts +10 -0
  51. package/dist/Components/DataMatrixIcon.svelte +82 -11
  52. package/dist/Components/DataMatrixIconProps.d.ts +73 -1
  53. package/dist/Components/DateInput.svelte +64 -29
  54. package/dist/Components/DateInput.svelte.d.ts +1 -1
  55. package/dist/Components/DateOnlyInputProps.d.ts +31 -5
  56. package/dist/Components/DatePicker.svelte +96 -108
  57. package/dist/Components/DatePickerProps.d.ts +18 -1
  58. package/dist/Components/DateTimeInputProps.d.ts +30 -5
  59. package/dist/Components/DesktopModal.svelte +14 -43
  60. package/dist/Components/DesktopModalProps.d.ts +5 -4
  61. package/dist/Components/Dial.svelte +103 -41
  62. package/dist/Components/DialProps.d.ts +74 -2
  63. package/dist/Components/DimensionInput.svelte +50 -64
  64. package/dist/Components/DimensionInput.svelte.d.ts +1 -1
  65. package/dist/Components/DimensionInputProps.d.ts +39 -4
  66. package/dist/Components/DragMenu/DragMenuHolder.svelte +41 -29
  67. package/dist/Components/DragMenu/DragMenuHolderProps.d.ts +30 -1
  68. package/dist/Components/DragMenu/DraggableCard.svelte +44 -8
  69. package/dist/Components/DragMenu/DraggableCardProps.d.ts +27 -1
  70. package/dist/Components/FileCard.svelte +6 -2
  71. package/dist/Components/FileCardProps.d.ts +17 -1
  72. package/dist/Components/FileUpload.svelte +82 -42
  73. package/dist/Components/FileUploadProps.d.ts +34 -4
  74. package/dist/Components/GridInput.svelte +27 -17
  75. package/dist/Components/GridInput.svelte.d.ts +5 -5
  76. package/dist/Components/GridInputProps.d.ts +4 -1
  77. package/dist/Components/GridInputSet.svelte +12 -5
  78. package/dist/Components/GridInputSet.svelte.d.ts +5 -5
  79. package/dist/Components/GridInputSetProps.d.ts +4 -2
  80. package/dist/Components/HorizontalTabGroup.svelte +13 -11
  81. package/dist/Components/HorizontalTabGroupButton.svelte +16 -68
  82. package/dist/Components/HorizontalTabGroupProps.d.ts +15 -2
  83. package/dist/Components/Icon.svelte +62 -21
  84. package/dist/Components/IconProps.d.ts +54 -6
  85. package/dist/Components/Icons.d.ts +8 -0
  86. package/dist/Components/Icons.js +234 -215
  87. package/dist/Components/LoadingAnimation.svelte +18 -18
  88. package/dist/Components/LoadingAnimation.svelte.d.ts +1 -3
  89. package/dist/Components/LoadingAnimationProps.d.ts +16 -0
  90. package/dist/Components/LoadingAnimationProps.js +1 -0
  91. package/dist/Components/LoadingModal.svelte +18 -20
  92. package/dist/Components/LoadingModal.svelte.d.ts +1 -4
  93. package/dist/Components/LoadingModalProps.d.ts +17 -0
  94. package/dist/Components/LoadingModalProps.js +1 -0
  95. package/dist/Components/LoadingOverlay.svelte +11 -13
  96. package/dist/Components/LoadingOverlay.svelte.d.ts +1 -5
  97. package/dist/Components/LoadingOverlayProps.d.ts +28 -0
  98. package/dist/Components/LoadingOverlayProps.js +1 -0
  99. package/dist/Components/Modal.svelte +77 -82
  100. package/dist/Components/Modal.svelte.d.ts +1 -25
  101. package/dist/Components/ModalProps.d.ts +65 -0
  102. package/dist/Components/ModalProps.js +1 -0
  103. package/dist/Components/MultiSelect.svelte +88 -76
  104. package/dist/Components/MultiSelectCommonProps.d.ts +33 -4
  105. package/dist/Components/MultiSelectPropsAsObject.d.ts +5 -0
  106. package/dist/Components/MultiSelectPropsAsPrimitive.d.ts +6 -0
  107. package/dist/Components/Nav/CallbackButtonWithIcon.d.ts +22 -1
  108. package/dist/Components/Nav/Nav.svelte +35 -30
  109. package/dist/Components/Nav/Nav.svelte.d.ts +23 -2
  110. package/dist/Components/Nav/NavProps.d.ts +50 -3
  111. package/dist/Components/Nav/NavServiceMenuList.svelte +12 -3
  112. package/dist/Components/Nav/NavServiceMenuListProps.d.ts +25 -1
  113. package/dist/Components/Nav/NavTab.svelte +19 -48
  114. package/dist/Components/Nav/NavTab.svelte.d.ts +23 -2
  115. package/dist/Components/Nav/NavTabProps.d.ts +16 -2
  116. package/dist/Components/Nav/ServiceMenuItem.svelte +29 -20
  117. package/dist/Components/Nav/ServicesNav.svelte +60 -34
  118. package/dist/Components/Nav/ServicesNav.svelte.d.ts +23 -2
  119. package/dist/Components/Nav/ServicesNavProps.d.ts +20 -4
  120. package/dist/Components/Nav/SideMenuItemProps.d.ts +16 -0
  121. package/dist/Components/NumberInput.svelte +37 -27
  122. package/dist/Components/NumberInputProps.d.ts +37 -0
  123. package/dist/Components/PageHeading.svelte +2 -13
  124. package/dist/Components/PageHeading.svelte.d.ts +1 -6
  125. package/dist/Components/PageHeadingProps.d.ts +23 -0
  126. package/dist/Components/PageHeadingProps.js +1 -0
  127. package/dist/Components/PasswordInput.svelte +27 -15
  128. package/dist/Components/PasswordInput.svelte.d.ts +2 -2
  129. package/dist/Components/PasswordInputProps.d.ts +21 -0
  130. package/dist/Components/PasswordInputProps.js +1 -0
  131. package/dist/Components/Portal.svelte +14 -3
  132. package/dist/Components/PortalProps.d.ts +20 -1
  133. package/dist/Components/ProgressBubble.svelte +98 -53
  134. package/dist/Components/ProgressBubbleProps.d.ts +23 -2
  135. package/dist/Components/QuerySelect.svelte +103 -159
  136. package/dist/Components/QuerySelect.svelte.d.ts +2 -29
  137. package/dist/Components/QuerySelectProps.d.ts +66 -0
  138. package/dist/Components/QuerySelectProps.js +1 -0
  139. package/dist/Components/SingleSelect.svelte +86 -108
  140. package/dist/Components/SingleSelectCommonProps.d.ts +43 -5
  141. package/dist/Components/SingleSelectPropsAsObject.d.ts +7 -0
  142. package/dist/Components/SingleSelectPropsAsPrimitive.d.ts +8 -0
  143. package/dist/Components/StepButton.svelte +19 -69
  144. package/dist/Components/StepForm.svelte +52 -52
  145. package/dist/Components/StepFormProps.d.ts +16 -2
  146. package/dist/Components/Switch.svelte +68 -31
  147. package/dist/Components/Switch.svelte.d.ts +1 -1
  148. package/dist/Components/SwitchProps.d.ts +46 -0
  149. package/dist/Components/Table/Body/HeightData.d.ts +1 -6
  150. package/dist/Components/Table/Body/HeightData.js +8 -0
  151. package/dist/Components/Table/Body/QuickSearchCell.svelte +106 -50
  152. package/dist/Components/Table/Body/QuickSearchCell.svelte.d.ts +12 -11
  153. package/dist/Components/Table/Body/QuickSearchCellProps.d.ts +6 -0
  154. package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte +43 -9
  155. package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte.d.ts +24 -2
  156. package/dist/Components/Table/Body/Rows/ColumnHighlightProps.d.ts +3 -0
  157. package/dist/Components/Table/Body/Rows/ColumnList.svelte +15 -5
  158. package/dist/Components/Table/Body/Rows/ColumnList.svelte.d.ts +12 -11
  159. package/dist/Components/Table/Body/Rows/ColumnListProps.d.ts +1 -0
  160. package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +424 -91
  161. package/dist/Components/Table/Body/Rows/ColumnListRow.svelte.d.ts +12 -11
  162. package/dist/Components/Table/Body/Rows/ColumnListRowProps.d.ts +5 -0
  163. package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte +43 -13
  164. package/dist/Components/Table/Body/Rows/Columns/AccessorComponentProps.d.ts +12 -0
  165. package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +50 -38
  166. package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte.d.ts +12 -12
  167. package/dist/Components/Table/Body/Rows/Columns/ActionsColumn.d.ts +9 -0
  168. package/dist/Components/Table/Body/Rows/Columns/ActionsTableCell.d.ts +5 -0
  169. package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +61 -26
  170. package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte.d.ts +14 -13
  171. package/dist/Components/Table/Body/Rows/Columns/BubbleCellProps.d.ts +12 -0
  172. package/dist/Components/Table/Body/Rows/Columns/BubbleCellProps.js +1 -0
  173. package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +36 -16
  174. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +47 -24
  175. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte.d.ts +12 -11
  176. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCellProps.d.ts +7 -0
  177. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +54 -20
  178. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte.d.ts +17 -11
  179. package/dist/Components/Table/Body/Rows/Columns/RowSelectionColumn.d.ts +8 -0
  180. package/dist/Components/Table/Body/Rows/Columns/RowSelectionTableCell.d.ts +5 -0
  181. package/dist/Components/Table/Body/Rows/Columns/SelectColumn.d.ts +11 -0
  182. package/dist/Components/Table/Body/Rows/Columns/SelectTableCell.d.ts +11 -0
  183. package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte +55 -40
  184. package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte.d.ts +11 -0
  185. package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +38 -27
  186. package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte.d.ts +13 -18
  187. package/dist/Components/Table/Body/Rows/Columns/TableCheckboxProps.d.ts +17 -0
  188. package/dist/Components/Table/Body/Rows/Columns/TableCheckboxProps.js +1 -0
  189. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +22 -7
  190. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte.d.ts +1 -7
  191. package/dist/Components/Table/Body/Rows/Columns/TableColumnProps.d.ts +16 -0
  192. package/dist/Components/Table/Body/Rows/Columns/TableColumnProps.js +1 -0
  193. package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +61 -31
  194. package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte.d.ts +12 -11
  195. package/dist/Components/Table/Body/Rows/Columns/TableDatePickerProps.d.ts +9 -0
  196. package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +123 -244
  197. package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte.d.ts +20 -12
  198. package/dist/Components/Table/Body/Rows/Columns/TableQueryCell.d.ts +8 -0
  199. package/dist/Components/Table/Body/Rows/Columns/TableQueryColumn.d.ts +9 -0
  200. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +126 -189
  201. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte.d.ts +12 -11
  202. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelectProps.d.ts +8 -0
  203. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +31 -19
  204. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte.d.ts +2 -5
  205. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckboxProps.d.ts +14 -0
  206. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckboxProps.js +1 -0
  207. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +125 -187
  208. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte.d.ts +13 -12
  209. package/dist/Components/Table/Body/Rows/Columns/TableSelectProps.d.ts +6 -0
  210. package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +119 -270
  211. package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte.d.ts +12 -11
  212. package/dist/Components/Table/Body/Rows/Columns/TableTextInputProps.d.ts +6 -0
  213. package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +23 -13
  214. package/dist/Components/Table/Body/Rows/Columns/_helpers/useAsyncEditable.svelte.d.ts +104 -0
  215. package/dist/Components/Table/Body/Rows/Columns/_helpers/useAsyncEditable.svelte.js +215 -0
  216. package/dist/Components/Table/Body/Rows/TableRow.svelte +200 -132
  217. package/dist/Components/Table/Body/Rows/TableRow.svelte.d.ts +2 -10
  218. package/dist/Components/Table/Body/Rows/TableRowProps.d.ts +11 -2
  219. package/dist/Components/Table/Body/TableBody.svelte +170 -53
  220. package/dist/Components/Table/Body/TableBody.svelte.d.ts +15 -22
  221. package/dist/Components/Table/Body/TableBodyProps.d.ts +9 -7
  222. package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.js +18 -12
  223. package/dist/Components/Table/ColumnFactory.svelte.d.ts +43 -0
  224. package/dist/Components/Table/ColumnFactory.svelte.js +339 -0
  225. package/dist/Components/Table/Headers/HighlightAllHeader.svelte +5 -3
  226. package/dist/Components/Table/Headers/HighlightAllHeader.svelte.d.ts +12 -11
  227. package/dist/Components/Table/Headers/SelectAllHeader.svelte +5 -3
  228. package/dist/Components/Table/Headers/SelectAllHeader.svelte.d.ts +12 -11
  229. package/dist/Components/Table/Headers/TableHead.svelte +340 -200
  230. package/dist/Components/Table/Headers/TableHead.svelte.d.ts +13 -16
  231. package/dist/Components/Table/Headers/TableHeadProps.d.ts +10 -0
  232. package/dist/Components/Table/Headers/TableHeadProps.js +1 -0
  233. package/dist/Components/Table/Misc/ColumnPanel.svelte +108 -50
  234. package/dist/Components/Table/Misc/ColumnPanel.svelte.d.ts +12 -11
  235. package/dist/Components/Table/Misc/ColumnPanelModal.svelte +20 -7
  236. package/dist/Components/Table/Misc/ColumnPanelModal.svelte.d.ts +12 -11
  237. package/dist/Components/Table/Misc/ColumnPanelModalProps.d.ts +5 -0
  238. package/dist/Components/Table/Misc/FilterInput.svelte +30 -41
  239. package/dist/Components/Table/Misc/FilterInput.svelte.d.ts +12 -11
  240. package/dist/Components/Table/Misc/FilterPanel.svelte +387 -29
  241. package/dist/Components/Table/Misc/FilterPanel.svelte.d.ts +12 -11
  242. package/dist/Components/Table/Misc/FilterPanelModal.svelte +4 -51
  243. package/dist/Components/Table/Misc/FilterPanelModal.svelte.d.ts +2 -23
  244. package/dist/Components/Table/Misc/SidePanel.svelte +12 -9
  245. package/dist/Components/Table/Misc/SidePanel.svelte.d.ts +1 -7
  246. package/dist/Components/Table/Misc/SidePanelProps.d.ts +17 -0
  247. package/dist/Components/Table/Misc/SidePanelProps.js +1 -0
  248. package/dist/Components/Table/Misc/TableFooter.svelte +44 -35
  249. package/dist/Components/Table/Misc/TableFooter.svelte.d.ts +13 -14
  250. package/dist/Components/Table/Misc/TableFooterProps.d.ts +8 -0
  251. package/dist/Components/Table/Misc/TableFooterProps.js +1 -0
  252. package/dist/Components/Table/Misc/TableHorizontalBar.svelte +17 -48
  253. package/dist/Components/Table/Misc/TableHorizontalBar.svelte.d.ts +12 -11
  254. package/dist/Components/Table/Misc/TableSidebar.svelte +28 -47
  255. package/dist/Components/Table/Misc/TableSidebar.svelte.d.ts +12 -11
  256. package/dist/Components/Table/Misc/ToolboxPanel.svelte +121 -55
  257. package/dist/Components/Table/Misc/ToolboxPanel.svelte.d.ts +12 -11
  258. package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +31 -24
  259. package/dist/Components/Table/Misc/ToolboxPanelModal.svelte.d.ts +12 -11
  260. package/dist/Components/Table/Misc/ToolboxPanelModalProps.d.ts +5 -0
  261. package/dist/Components/Table/Misc/numberDateFilterTypes.d.ts +7 -4
  262. package/dist/Components/Table/Misc/numberDateFilterTypes.js +8 -3
  263. package/dist/Components/Table/Misc/stringFilterTypes.d.ts +6 -4
  264. package/dist/Components/Table/Misc/stringFilterTypes.js +7 -3
  265. package/dist/Components/Table/NestedTable.svelte +85 -41
  266. package/dist/Components/Table/NestedTable.svelte.d.ts +2 -10
  267. package/dist/Components/Table/NestedTableProps.d.ts +25 -0
  268. package/dist/Components/Table/NestedTableProps.js +1 -0
  269. package/dist/Components/Table/SubApis.svelte.d.ts +23 -0
  270. package/dist/Components/Table/SubApis.svelte.js +359 -0
  271. package/dist/Components/Table/Table.svelte +347 -172
  272. package/dist/Components/Table/Table.svelte.d.ts +24 -1
  273. package/dist/Components/Table/TableHelpers.svelte.d.ts +58 -0
  274. package/dist/Components/Table/TableHelpers.svelte.js +88 -0
  275. package/dist/Components/Table/Types/Columns/Column.d.ts +10 -0
  276. package/dist/Components/Table/Types/Columns/ColumnPinningState.d.ts +12 -0
  277. package/dist/Components/Table/Types/Columns/ColumnSizingState.d.ts +8 -0
  278. package/dist/Components/Table/Types/Columns/ColumnType.d.ts +17 -0
  279. package/dist/Components/Table/Types/Columns/ColumnType.js +18 -1
  280. package/dist/Components/Table/Types/Columns/DateColumn.d.ts +6 -0
  281. package/dist/Components/Table/Types/Columns/DateTableCell.d.ts +7 -0
  282. package/dist/Components/Table/Types/Columns/Definitions/AccessorFn.d.ts +13 -0
  283. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.d.ts +28 -3
  284. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.js +15 -0
  285. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorType.d.ts +10 -0
  286. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorType.js +11 -1
  287. package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.d.ts +23 -2
  288. package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.js +9 -2
  289. package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.d.ts +21 -2
  290. package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.js +8 -0
  291. package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.d.ts +29 -3
  292. package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.js +11 -0
  293. package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.d.ts +23 -0
  294. package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.js +8 -0
  295. package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.d.ts +31 -0
  296. package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.js +17 -3
  297. package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.d.ts +21 -2
  298. package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.js +7 -0
  299. package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.d.ts +29 -1
  300. package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.js +17 -3
  301. package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.d.ts +122 -11
  302. package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.js +77 -11
  303. package/dist/Components/Table/Types/Columns/Definitions/ColumnDefSet.d.ts +9 -0
  304. package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts +41 -1
  305. package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js +16 -0
  306. package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.d.ts +19 -1
  307. package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.js +12 -1
  308. package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.d.ts +11 -0
  309. package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.js +6 -3
  310. package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.d.ts +19 -0
  311. package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.js +25 -1
  312. package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.d.ts +26 -0
  313. package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.js +20 -5
  314. package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +43 -7
  315. package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.js +18 -3
  316. package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts +19 -5
  317. package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.js +16 -5
  318. package/dist/Components/Table/Types/Columns/Definitions/JSONColumnDefSet.d.ts +14 -0
  319. package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.d.ts +34 -2
  320. package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.js +30 -7
  321. package/dist/Components/Table/Types/Columns/Definitions/ValidationFn.d.ts +17 -0
  322. package/dist/Components/Table/Types/Columns/DefsWrapper.d.ts +10 -0
  323. package/dist/Components/Table/Types/Columns/DisplayType.d.ts +13 -0
  324. package/dist/Components/Table/Types/Columns/DisplayType.js +14 -1
  325. package/dist/Components/Table/Types/Columns/ExpandColumn.d.ts +5 -0
  326. package/dist/Components/Table/Types/Columns/ExpandTableCell.d.ts +7 -0
  327. package/dist/Components/Table/Types/Columns/JSONColumnPinningState.d.ts +6 -0
  328. package/dist/Components/Table/Types/Columns/ProgressBarColumn.d.ts +5 -0
  329. package/dist/Components/Table/Types/Columns/ProgressBarTableCell.d.ts +9 -0
  330. package/dist/Components/Table/Types/Columns/TableActionButton.d.ts +12 -0
  331. package/dist/Components/Table/Types/Columns/TableCell.d.ts +16 -2
  332. package/dist/Components/Table/Types/Columns/VisibilityState.d.ts +12 -0
  333. package/dist/Components/Table/Types/Context/ColumnLayoutState.svelte.d.ts +173 -0
  334. package/dist/Components/Table/Types/Context/ColumnLayoutState.svelte.js +241 -0
  335. package/dist/Components/Table/Types/Context/FilteringState.svelte.d.ts +166 -0
  336. package/dist/Components/Table/Types/Context/FilteringState.svelte.js +180 -0
  337. package/dist/Components/Table/Types/Context/FocusState.svelte.d.ts +316 -0
  338. package/dist/Components/Table/Types/Context/FocusState.svelte.js +751 -0
  339. package/dist/Components/Table/Types/Context/ITable.d.ts +10 -0
  340. package/dist/Components/Table/Types/Context/PreferencesState.svelte.d.ts +242 -0
  341. package/dist/Components/Table/Types/Context/PreferencesState.svelte.js +317 -0
  342. package/dist/Components/Table/Types/Context/ReadonlyRowModel.d.ts +14 -3
  343. package/dist/Components/Table/Types/Context/Row.d.ts +18 -0
  344. package/dist/Components/Table/Types/Context/RowModel.d.ts +11 -0
  345. package/dist/Components/Table/Types/Context/SelectionState.svelte.d.ts +260 -0
  346. package/dist/Components/Table/Types/Context/SelectionState.svelte.js +613 -0
  347. package/dist/Components/Table/Types/Context/SortingState.svelte.d.ts +112 -0
  348. package/dist/Components/Table/Types/Context/SortingState.svelte.js +272 -0
  349. package/dist/Components/Table/Types/Context/TableContext.svelte.d.ts +547 -53
  350. package/dist/Components/Table/Types/Context/TableContext.svelte.js +959 -1259
  351. package/dist/Components/Table/Types/Context/TableInitOptions.d.ts +16 -0
  352. package/dist/Components/Table/Types/Context/TableSettings.d.ts +20 -0
  353. package/dist/Components/Table/Types/Context/VirtualisationState.svelte.d.ts +167 -0
  354. package/dist/Components/Table/Types/Context/VirtualisationState.svelte.js +226 -0
  355. package/dist/Components/Table/Types/Coordinates/CellCoordinates.d.ts +12 -0
  356. package/dist/Components/Table/Types/Coordinates/CellCoordinatesWithoutColumn.d.ts +5 -0
  357. package/dist/Components/Table/Types/Coordinates/ColumnIndices.d.ts +16 -2
  358. package/dist/Components/Table/Types/DataRepository/BuiltInRemoteRepository.svelte.d.ts +143 -0
  359. package/dist/Components/Table/Types/DataRepository/BuiltInRemoteRepository.svelte.js +454 -0
  360. package/dist/Components/Table/Types/DataRepository/IDataRepository.d.ts +21 -0
  361. package/dist/Components/Table/Types/DataRepository/ILocalDataRepository.d.ts +10 -0
  362. package/dist/Components/Table/Types/DataRepository/IRemoteDataRepository.d.ts +16 -0
  363. package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.d.ts +87 -3
  364. package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.js +112 -7
  365. package/dist/Components/Table/Types/DataRepository/SortingState.d.ts +12 -0
  366. package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.d.ts +87 -2
  367. package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.js +74 -1
  368. package/dist/Components/Table/Types/ExpandedPanel.d.ts +9 -0
  369. package/dist/Components/Table/Types/ExpandedPanel.js +10 -1
  370. package/dist/Components/Table/Types/Filtering/ColumnFiltersState.d.ts +17 -0
  371. package/dist/Components/Table/Types/Filtering/CustomFilter.d.ts +21 -0
  372. package/dist/Components/Table/Types/Filtering/CustomFilterType.d.ts +5 -0
  373. package/dist/Components/Table/Types/Filtering/CustomFilterType.js +6 -1
  374. package/dist/Components/Table/Types/Filtering/CustomRemoteFilters.d.ts +6 -0
  375. package/dist/Components/Table/Types/Filtering/FilterFn.d.ts +28 -0
  376. package/dist/Components/Table/Types/Filtering/FilterMode.d.ts +7 -0
  377. package/dist/Components/Table/Types/Filtering/FilterType.d.ts +8 -0
  378. package/dist/Components/Table/Types/Filtering/FilterType.js +9 -1
  379. package/dist/Components/Table/Types/Filtering/FilterValueType.d.ts +11 -0
  380. package/dist/Components/Table/Types/Filtering/FilterValueType.js +12 -1
  381. package/dist/Components/Table/Types/Filtering/HasCustomFilterFunction.d.ts +23 -2
  382. package/dist/Components/Table/Types/Filtering/NumberDateFilterMode.d.ts +19 -12
  383. package/dist/Components/Table/Types/Filtering/NumberDateFilterMode.js +18 -14
  384. package/dist/Components/Table/Types/Filtering/StringFilterMode.d.ts +22 -15
  385. package/dist/Components/Table/Types/Filtering/StringFilterMode.js +22 -16
  386. package/dist/Components/Table/Types/Focus/MultiFocusEdge.d.ts +8 -0
  387. package/dist/Components/Table/Types/Focus/MultiFocusEdge.js +9 -1
  388. package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.d.ts +22 -0
  389. package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.js +22 -0
  390. package/dist/Components/Table/Types/Header.d.ts +8 -0
  391. package/dist/Components/Table/Types/HeaderGroup.d.ts +7 -0
  392. package/dist/Components/Table/Types/Layout/CellPinning.d.ts +1 -0
  393. package/dist/Components/Table/Types/Layout/CellPinning.js +8 -0
  394. package/dist/Components/Table/Types/OnChangeFn.d.ts +11 -0
  395. package/dist/Components/Table/Types/Pagination/PaginationState.d.ts +9 -0
  396. package/dist/Components/Table/Types/Pagination/PaginationType.d.ts +10 -0
  397. package/dist/Components/Table/Types/Pagination/PaginationType.js +11 -1
  398. package/dist/Components/Table/Types/Public/AnyEditEvent.d.ts +30 -0
  399. package/dist/Components/Table/Types/Public/AnyEditEvent.js +1 -0
  400. package/dist/Components/Table/Types/Public/BaseColumnOptions.d.ts +44 -0
  401. package/dist/Components/Table/Types/Public/BaseColumnOptions.js +1 -0
  402. package/dist/Components/Table/Types/Public/ColumnFactory.d.ts +35 -0
  403. package/dist/Components/Table/Types/Public/ColumnFactory.js +1 -0
  404. package/dist/Components/Table/Types/Public/ColumnOptions.d.ts +238 -0
  405. package/dist/Components/Table/Types/Public/ColumnOptions.js +1 -0
  406. package/dist/Components/Table/Types/Public/ColumnSpec.d.ts +39 -0
  407. package/dist/Components/Table/Types/Public/ColumnSpec.js +1 -0
  408. package/dist/Components/Table/Types/Public/CreateTableOptions.d.ts +87 -0
  409. package/dist/Components/Table/Types/Public/CreateTableOptions.js +1 -0
  410. package/dist/Components/Table/Types/Public/KeyConstraints.d.ts +42 -0
  411. package/dist/Components/Table/Types/Public/KeyConstraints.js +22 -0
  412. package/dist/Components/Table/Types/Public/RowSource.d.ts +87 -0
  413. package/dist/Components/Table/Types/Public/RowSource.js +1 -0
  414. package/dist/Components/Table/Types/Public/SelectionOptions.d.ts +26 -0
  415. package/dist/Components/Table/Types/Public/SelectionOptions.js +1 -0
  416. package/dist/Components/Table/Types/Public/Table.d.ts +39 -0
  417. package/dist/Components/Table/Types/Public/Table.js +1 -0
  418. package/dist/Components/Table/Types/Public/TableInitialState.d.ts +26 -0
  419. package/dist/Components/Table/Types/Public/TableInitialState.js +1 -0
  420. package/dist/Components/Table/Types/Public/TablePersistence.d.ts +38 -0
  421. package/dist/Components/Table/Types/Public/TablePersistence.js +1 -0
  422. package/dist/Components/Table/Types/Public/TableSubApis.d.ts +157 -0
  423. package/dist/Components/Table/Types/Public/TableSubApis.js +1 -0
  424. package/dist/Components/Table/Types/Public/index.d.ts +20 -0
  425. package/dist/Components/Table/Types/Public/index.js +8 -0
  426. package/dist/Components/Table/Types/Toolbar/ToolbarPosition.d.ts +4 -0
  427. package/dist/Components/Table/Types/Toolbar/ToolbarPosition.js +5 -1
  428. package/dist/Components/Table/createTable.svelte.d.ts +53 -0
  429. package/dist/Components/Table/createTable.svelte.js +269 -0
  430. package/dist/Components/TextArea.svelte +37 -18
  431. package/dist/Components/TextAreaProps.d.ts +37 -0
  432. package/dist/Components/TextInput.svelte +41 -22
  433. package/dist/Components/TextInputProps.d.ts +58 -1
  434. package/dist/Components/ThreeStateRadio.svelte +61 -64
  435. package/dist/Components/ThreeStateRadioProps.d.ts +29 -1
  436. package/dist/Components/Touch/BoolCard.svelte +8 -15
  437. package/dist/Components/Touch/BoolCard.svelte.d.ts +1 -10
  438. package/dist/Components/Touch/BoolCardProps.d.ts +21 -0
  439. package/dist/Components/Touch/BoolCardProps.js +1 -0
  440. package/dist/Components/Touch/DateModal.svelte +17 -25
  441. package/dist/Components/Touch/DateModal.svelte.d.ts +1 -17
  442. package/dist/Components/Touch/DateModalProps.d.ts +36 -0
  443. package/dist/Components/Touch/DateModalProps.js +1 -0
  444. package/dist/Components/Touch/EditCard.svelte +10 -3
  445. package/dist/Components/Touch/EditCardProps.d.ts +21 -0
  446. package/dist/Components/Touch/InfoCard.svelte +14 -7
  447. package/dist/Components/Touch/InfoCardProps.d.ts +9 -0
  448. package/dist/Components/Touch/InfoTextCard.svelte +9 -2
  449. package/dist/Components/Touch/InfoTextCardProps.d.ts +8 -0
  450. package/dist/Components/Touch/ModalExplanation.svelte +9 -12
  451. package/dist/Components/Touch/ModalExplanation.svelte.d.ts +1 -6
  452. package/dist/Components/Touch/ModalExplanationProps.d.ts +22 -0
  453. package/dist/Components/Touch/ModalExplanationProps.js +1 -0
  454. package/dist/Components/Touch/NumberKeyboard.svelte +62 -105
  455. package/dist/Components/Touch/NumberKeyboardProps.d.ts +19 -0
  456. package/dist/Components/Touch/NumberModal.svelte +16 -6
  457. package/dist/Components/Touch/NumberModalProps.d.ts +23 -1
  458. package/dist/Components/Touch/PlusMinusCard.svelte +12 -16
  459. package/dist/Components/Touch/PlusMinusCard.svelte.d.ts +1 -6
  460. package/dist/Components/Touch/PlusMinusCardProps.d.ts +18 -0
  461. package/dist/Components/Touch/PlusMinusCardProps.js +1 -0
  462. package/dist/Components/Touch/SelectModal.svelte +33 -15
  463. package/dist/Components/Touch/SelectModalProps.d.ts +22 -1
  464. package/dist/Components/Touch/SummaryCard.svelte +56 -14
  465. package/dist/Components/Touch/SummaryCardProps.d.ts +16 -3
  466. package/dist/Components/Touch/TextAreaModal.svelte +18 -9
  467. package/dist/Components/Touch/TextAreaModalProps.d.ts +21 -0
  468. package/dist/Components/Touch/TextModal.svelte +15 -32
  469. package/dist/Components/Touch/TextModalProps.d.ts +28 -1
  470. package/dist/Components/Touch/TouchCard.svelte +9 -47
  471. package/dist/Components/Touch/TouchCardProps.d.ts +21 -0
  472. package/dist/Components/Touch/TouchModal.svelte +105 -99
  473. package/dist/Components/Touch/TouchModalProps.d.ts +35 -1
  474. package/dist/Components/Touch/UtilityButton.svelte +36 -18
  475. package/dist/Components/Touch/UtilityButtonProps.d.ts +16 -0
  476. package/dist/Components/VerticalTabGroup.svelte +18 -40
  477. package/dist/Components/VerticalTabGroupButton.svelte +11 -50
  478. package/dist/Components/VerticalTabGroupProps.d.ts +15 -2
  479. package/dist/Contexts/AlertContext.svelte.d.ts +92 -8
  480. package/dist/Contexts/AlertContext.svelte.js +69 -6
  481. package/dist/Contexts/ContextMenuContext.svelte.d.ts +54 -8
  482. package/dist/Contexts/ContextMenuContext.svelte.js +48 -2
  483. package/dist/Contexts/TestContext.svelte.d.ts +27 -1
  484. package/dist/Contexts/TestContext.svelte.js +29 -1
  485. package/dist/Contexts/ToastContext.svelte.d.ts +29 -1
  486. package/dist/Contexts/ToastContext.svelte.js +93 -24
  487. package/dist/Contexts/TooltipContext.svelte.d.ts +68 -1
  488. package/dist/Contexts/TooltipContext.svelte.js +70 -7
  489. package/dist/Contexts/UntypedInputContext.svelte.d.ts +54 -5
  490. package/dist/Contexts/UntypedInputContext.svelte.js +87 -34
  491. package/dist/Delay/Delay.js +1 -1
  492. package/dist/Helpers/AsyncFlag.svelte.d.ts +39 -0
  493. package/dist/Helpers/AsyncFlag.svelte.js +72 -0
  494. package/dist/Helpers/Datamatrix.d.ts +10 -1
  495. package/dist/Helpers/Datamatrix.js +290 -1
  496. package/dist/Helpers/Helpers.svelte.d.ts +252 -18
  497. package/dist/Helpers/Helpers.svelte.js +271 -75
  498. package/dist/Helpers/INamed.d.ts +6 -0
  499. package/dist/Helpers/Storage.d.ts +67 -0
  500. package/dist/Helpers/Storage.js +138 -0
  501. package/dist/Helpers/dropdownPortal.d.ts +52 -0
  502. package/dist/Helpers/dropdownPortal.js +232 -0
  503. package/dist/Helpers/dropdownPortal.svelte.d.ts +2 -0
  504. package/dist/Helpers/dropdownPortal.svelte.js +5 -0
  505. package/dist/Helpers/memoiseByRow.d.ts +45 -0
  506. package/dist/Helpers/memoiseByRow.js +78 -0
  507. package/dist/Helpers/prefersReducedMotion.svelte.d.ts +27 -0
  508. package/dist/Helpers/prefersReducedMotion.svelte.js +18 -0
  509. package/dist/Helpers/useTooltip.svelte.d.ts +53 -0
  510. package/dist/Helpers/useTooltip.svelte.js +62 -0
  511. package/dist/Types/Examples/ExampleModal.svelte +2 -1
  512. package/dist/Types/Examples/ExampleSelectEnum.js +1 -1
  513. package/dist/Types/Internal/AsyncFlag.d.ts +7 -0
  514. package/dist/Types/Internal/AsyncFlag.js +1 -0
  515. package/dist/Types/Internal/BigRadioOption.d.ts +8 -0
  516. package/dist/Types/Internal/ButtonProp.d.ts +24 -2
  517. package/dist/Types/Internal/CallbackButton.d.ts +12 -0
  518. package/dist/Types/Internal/DateChange.d.ts +8 -0
  519. package/dist/Types/Internal/DatePickerType.d.ts +5 -0
  520. package/dist/Types/Internal/DatePickerType.js +6 -1
  521. package/dist/Types/Internal/IdentifiableToastMessage.d.ts +8 -0
  522. package/dist/Types/Internal/InputVariant.d.ts +5 -0
  523. package/dist/Types/Internal/InputVariant.js +6 -1
  524. package/dist/Types/Internal/Misc.d.ts +91 -0
  525. package/dist/Types/Internal/RefWrapper.d.ts +6 -0
  526. package/dist/Types/Internal/SelectOption.d.ts +8 -0
  527. package/dist/Types/Internal/Shape.d.ts +1 -0
  528. package/dist/Types/Internal/Shape.js +2 -1
  529. package/dist/Types/Internal/Side.d.ts +1 -0
  530. package/dist/Types/Internal/Side.js +2 -1
  531. package/dist/Types/Internal/Size.d.ts +5 -0
  532. package/dist/Types/Internal/Size.js +6 -1
  533. package/dist/Types/Internal/TabOption.d.ts +15 -5
  534. package/dist/Types/Internal/Ternary.d.ts +6 -0
  535. package/dist/Types/Internal/Ternary.js +7 -1
  536. package/dist/Types/Internal/ToastMessage.d.ts +28 -0
  537. package/dist/Types/Internal/Validity.d.ts +6 -0
  538. package/dist/Types/Internal/Validity.js +7 -1
  539. package/dist/Types/Internal/ValidityWrapper.d.ts +8 -0
  540. package/dist/Types/Internal/Variant.d.ts +5 -0
  541. package/dist/Types/Internal/Variant.js +6 -1
  542. package/dist/index.d.ts +27 -82
  543. package/dist/index.js +24 -62
  544. package/dist/scss/_mixins.scss +451 -167
  545. package/dist/scss/_motion.scss +57 -0
  546. package/dist/scss/_sizing.scss +16 -0
  547. package/dist/scss/colours.js +2 -2
  548. package/dist/scss/sizing.d.ts +9 -0
  549. package/dist/scss/sizing.js +10 -1
  550. package/package.json +35 -31
@@ -1,3 +1,9 @@
1
1
  import type { SvelteMap } from 'svelte/reactivity';
2
2
  import type { CustomFilter } from './CustomFilter.js';
3
+ /**
4
+ * Reactive registry of custom filters keyed by `CustomFilter.id`. Held on
5
+ * `DefsWrapper.remoteFilters` and consumed by the filter panel. The
6
+ * `SvelteMap` choice (rather than a plain `Map`) ensures the filter panel
7
+ * re-renders when filters are added / removed.
8
+ */
3
9
  export type CustomRemoteFilters<FilterValueType> = SvelteMap<string, CustomFilter<FilterValueType>>;
@@ -1,9 +1,37 @@
1
1
  import type { Row } from '../Context/Row.js';
2
+ /**
3
+ * Date column filter value: an inclusive `[from, to]` tuple. Either bound
4
+ * may be `undefined` to represent an open-ended range (e.g.
5
+ * `[d, undefined]` is "from `d` onwards").
6
+ */
2
7
  export type DateFilterValueType = [Date | undefined, Date | undefined];
8
+ /**
9
+ * Number column filter value: an array of `number | string | undefined`.
10
+ * Strings are accepted because the filter input may forward raw string
11
+ * values for ranges or `In` / `NotIn` mode lists; the filter function is
12
+ * expected to coerce them. `undefined` entries represent open ends.
13
+ */
3
14
  export type NumberFilterValueType = Array<number | string | undefined>;
15
+ /**
16
+ * Select column filter value. Permits string, array, set, or wrapped-object
17
+ * shapes so the same filter can serve both single-select and multi-select
18
+ * columns and remote-shaped value objects.
19
+ */
4
20
  export type SelectFilterValueType<T, columnType = T[keyof T]> = string | Array<unknown> | Set<unknown> | {
5
21
  value: columnType;
6
22
  } | undefined;
23
+ /** Tri-state boolean filter: `true` / `false` / `null` (no filter). */
7
24
  export type BoolFilterValueType = boolean | null;
25
+ /** String filter: a string or `null` (no filter). */
8
26
  export type StringFilterValueType = string | null;
27
+ /**
28
+ * Per-column row-matching function. Returns `true` to keep the row in the
29
+ * filtered set, `false` to drop it. The `in FilterValueType` variance marker
30
+ * is correct because the function consumes (but does not produce) the filter
31
+ * value.
32
+ *
33
+ * May return a `Promise<boolean>` so the implementation can read from an
34
+ * async source; `LocalTableDataRepository` awaits the result before applying
35
+ * pagination.
36
+ */
9
37
  export type FilterFn<T extends object, in FilterValueType> = (row: Row<T>, columnId: string, filterValue: FilterValueType) => boolean | Promise<boolean>;
@@ -1,3 +1,10 @@
1
1
  import type { NumberDateFilterMode } from './NumberDateFilterMode.js';
2
2
  import type { StringFilterMode } from './StringFilterMode.js';
3
+ /**
4
+ * Union of all per-column filter operators. The string values are operator
5
+ * suffixes appended to query parameters when serialising filter state, so
6
+ * the literal values are part of the on-disk / on-wire contract and must
7
+ * not be reordered or renamed without a migration. See
8
+ * `NumberDateFilterMode` and `StringFilterMode` for the canonical lists.
9
+ */
3
10
  export type FilterMode = StringFilterMode | NumberDateFilterMode;
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Discriminator on the active filter pipeline:
3
+ *
4
+ * - `Virtual` - filters are applied client-side over the full data set held
5
+ * by `LocalTableDataRepository`.
6
+ * - `Real` - filters are forwarded to the remote repository and applied
7
+ * server-side; the client only sees the already-filtered page.
8
+ */
1
9
  export declare const FilterType: {
2
10
  readonly Virtual: "Virtual";
3
11
  readonly Real: "Real";
@@ -1,5 +1,13 @@
1
+ /**
2
+ * Discriminator on the active filter pipeline:
3
+ *
4
+ * - `Virtual` - filters are applied client-side over the full data set held
5
+ * by `LocalTableDataRepository`.
6
+ * - `Real` - filters are forwarded to the remote repository and applied
7
+ * server-side; the client only sees the already-filtered page.
8
+ */
1
9
  export const FilterType = {
2
10
  Virtual: 'Virtual',
3
- Real: 'Real'
11
+ Real: 'Real',
4
12
  };
5
13
  Object.freeze(FilterType);
@@ -1,3 +1,14 @@
1
+ /**
2
+ * Discriminator on the value-side shape of a column filter. Selects which
3
+ * `FilterFn` and filter input the table wires up:
4
+ *
5
+ * - `String` - `StringFilterValueType`, text input with `StringFilterMode`s.
6
+ * - `Number` - `NumberFilterValueType`, number input with
7
+ * `NumberDateFilterMode`s.
8
+ * - `Date` - `DateFilterValueType`, date picker.
9
+ * - `Bool` - `BoolFilterValueType`, tri-state switch.
10
+ * - `Select` - `SelectFilterValueType`, dropdown / multi-select.
11
+ */
1
12
  export declare const FilterValueType: {
2
13
  readonly String: "String";
3
14
  readonly Number: "Number";
@@ -1,8 +1,19 @@
1
+ /**
2
+ * Discriminator on the value-side shape of a column filter. Selects which
3
+ * `FilterFn` and filter input the table wires up:
4
+ *
5
+ * - `String` - `StringFilterValueType`, text input with `StringFilterMode`s.
6
+ * - `Number` - `NumberFilterValueType`, number input with
7
+ * `NumberDateFilterMode`s.
8
+ * - `Date` - `DateFilterValueType`, date picker.
9
+ * - `Bool` - `BoolFilterValueType`, tri-state switch.
10
+ * - `Select` - `SelectFilterValueType`, dropdown / multi-select.
11
+ */
1
12
  export const FilterValueType = {
2
13
  String: 'String',
3
14
  Number: 'Number',
4
15
  Date: 'Date',
5
16
  Bool: 'Bool',
6
- Select: 'Select'
17
+ Select: 'Select',
7
18
  };
8
19
  Object.freeze(FilterValueType);
@@ -1,3 +1,24 @@
1
- export type HasCustomFilterFunction = {
2
- filterFn: HasCustomFilterFunction;
1
+ import type { FilterFn } from './FilterFn.js';
2
+ /**
3
+ * Type predicate companion used by `isSearchable(def)` to narrow a
4
+ * `ColumnDef` to "has a non-undefined `filterFn`". Used to gate filter UI
5
+ * surfaces (quick search, advanced filter input) on whether a column can
6
+ * actually be searched.
7
+ *
8
+ * The historical declaration was a self-recursive `{ filterFn:
9
+ * HasCustomFilterFunction }`, which compiled but reduced to a meaningless
10
+ * "anything truthy" check. The corrected form requires `filterFn` to be a
11
+ * `FilterFn`, matching what the predicate body actually asserts:
12
+ *
13
+ * ```ts
14
+ * def.filterFn && typeof def.filterFn === 'function'
15
+ * ```
16
+ *
17
+ * `T` defaults to `object` and `FilterValueType` to `unknown` so existing
18
+ * call sites that do not parametrise the type continue to compile; concrete
19
+ * consumers can narrow further once `ColumnDef.filterFn`'s generic chain is
20
+ * tightened.
21
+ */
22
+ export type HasCustomFilterFunction<T extends object = object, FilterValueType = unknown> = {
23
+ filterFn: FilterFn<T, FilterValueType>;
3
24
  };
@@ -1,12 +1,19 @@
1
- export declare enum NumberDateFilterMode {
2
- Equals = "=",
3
- NotEquals = "__notequals=",
4
- LessThan = "__lt=",
5
- LessThanOrEqual = "__lte=",
6
- GreaterThan = "__gt=",
7
- GreaterThanOrEqual = "__gte=",
8
- Between = "__between=",
9
- In = "__in=",
10
- NotIn = "__notin=",
11
- 'null' = "__null="
12
- }
1
+ /**
2
+ * Modes available when filtering a numeric or date column. The string values are
3
+ * the filter operator suffixes appended to query parameters; they MUST be preserved
4
+ * verbatim because serialised filter presets in localStorage and any in-flight
5
+ * URL/query encodings depend on them.
6
+ */
7
+ export declare const NumberDateFilterMode: Readonly<{
8
+ readonly Equals: "=";
9
+ readonly NotEquals: "__notequals=";
10
+ readonly LessThan: "__lt=";
11
+ readonly LessThanOrEqual: "__lte=";
12
+ readonly GreaterThan: "__gt=";
13
+ readonly GreaterThanOrEqual: "__gte=";
14
+ readonly Between: "__between=";
15
+ readonly In: "__in=";
16
+ readonly NotIn: "__notin=";
17
+ readonly null: "__null=";
18
+ }>;
19
+ export type NumberDateFilterMode = (typeof NumberDateFilterMode)[keyof typeof NumberDateFilterMode];
@@ -1,14 +1,18 @@
1
- export var NumberDateFilterMode;
2
- (function (NumberDateFilterMode) {
3
- NumberDateFilterMode["Equals"] = "=";
4
- // Only = '__only=',
5
- NumberDateFilterMode["NotEquals"] = "__notequals=";
6
- NumberDateFilterMode["LessThan"] = "__lt=";
7
- NumberDateFilterMode["LessThanOrEqual"] = "__lte=";
8
- NumberDateFilterMode["GreaterThan"] = "__gt=";
9
- NumberDateFilterMode["GreaterThanOrEqual"] = "__gte=";
10
- NumberDateFilterMode["Between"] = "__between=";
11
- NumberDateFilterMode["In"] = "__in=";
12
- NumberDateFilterMode["NotIn"] = "__notin=";
13
- NumberDateFilterMode["null"] = "__null=";
14
- })(NumberDateFilterMode || (NumberDateFilterMode = {}));
1
+ /**
2
+ * Modes available when filtering a numeric or date column. The string values are
3
+ * the filter operator suffixes appended to query parameters; they MUST be preserved
4
+ * verbatim because serialised filter presets in localStorage and any in-flight
5
+ * URL/query encodings depend on them.
6
+ */
7
+ export const NumberDateFilterMode = Object.freeze({
8
+ Equals: '=',
9
+ NotEquals: '__notequals=',
10
+ LessThan: '__lt=',
11
+ LessThanOrEqual: '__lte=',
12
+ GreaterThan: '__gt=',
13
+ GreaterThanOrEqual: '__gte=',
14
+ Between: '__between=',
15
+ In: '__in=',
16
+ NotIn: '__notin=',
17
+ null: '__null=',
18
+ });
@@ -1,15 +1,22 @@
1
- export declare enum StringFilterMode {
2
- ImplicitEquals = "=",// used by booleans which fall under 'true'/'false' and therefore strings in the current implementation
3
- Equals = "__equals=",
4
- NotEquals = "__notequals=",
5
- Contains = "__contains=",
6
- NotContains = "__notcontains=",
7
- StartsWith = "__startswith=",
8
- NotStartsWith = "__notstartswith=",
9
- EndsWith = "__endswith=",
10
- NotEndsWith = "__notendswith=",
11
- In = "__in=",
12
- NotIn = "__notin=",
13
- Empty = "__empty=",
14
- 'null' = "__null="
15
- }
1
+ /**
2
+ * Modes available when filtering a string (or boolean coerced to string) column.
3
+ * The string values are the filter operator suffixes appended to query parameters;
4
+ * they MUST be preserved verbatim because serialised filter presets in
5
+ * localStorage and any in-flight URL/query encodings depend on them.
6
+ */
7
+ export declare const StringFilterMode: Readonly<{
8
+ readonly ImplicitEquals: "=";
9
+ readonly Equals: "__equals=";
10
+ readonly NotEquals: "__notequals=";
11
+ readonly Contains: "__contains=";
12
+ readonly NotContains: "__notcontains=";
13
+ readonly StartsWith: "__startswith=";
14
+ readonly NotStartsWith: "__notstartswith=";
15
+ readonly EndsWith: "__endswith=";
16
+ readonly NotEndsWith: "__notendswith=";
17
+ readonly In: "__in=";
18
+ readonly NotIn: "__notin=";
19
+ readonly Empty: "__empty=";
20
+ readonly null: "__null=";
21
+ }>;
22
+ export type StringFilterMode = (typeof StringFilterMode)[keyof typeof StringFilterMode];
@@ -1,16 +1,22 @@
1
- export var StringFilterMode;
2
- (function (StringFilterMode) {
3
- StringFilterMode["ImplicitEquals"] = "=";
4
- StringFilterMode["Equals"] = "__equals=";
5
- StringFilterMode["NotEquals"] = "__notequals=";
6
- StringFilterMode["Contains"] = "__contains=";
7
- StringFilterMode["NotContains"] = "__notcontains=";
8
- StringFilterMode["StartsWith"] = "__startswith=";
9
- StringFilterMode["NotStartsWith"] = "__notstartswith=";
10
- StringFilterMode["EndsWith"] = "__endswith=";
11
- StringFilterMode["NotEndsWith"] = "__notendswith=";
12
- StringFilterMode["In"] = "__in=";
13
- StringFilterMode["NotIn"] = "__notin=";
14
- StringFilterMode["Empty"] = "__empty=";
15
- StringFilterMode["null"] = "__null=";
16
- })(StringFilterMode || (StringFilterMode = {}));
1
+ /**
2
+ * Modes available when filtering a string (or boolean coerced to string) column.
3
+ * The string values are the filter operator suffixes appended to query parameters;
4
+ * they MUST be preserved verbatim because serialised filter presets in
5
+ * localStorage and any in-flight URL/query encodings depend on them.
6
+ */
7
+ export const StringFilterMode = Object.freeze({
8
+ // Used by booleans which fall under 'true'/'false' and therefore strings in the current implementation.
9
+ ImplicitEquals: '=',
10
+ Equals: '__equals=',
11
+ NotEquals: '__notequals=',
12
+ Contains: '__contains=',
13
+ NotContains: '__notcontains=',
14
+ StartsWith: '__startswith=',
15
+ NotStartsWith: '__notstartswith=',
16
+ EndsWith: '__endswith=',
17
+ NotEndsWith: '__notendswith=',
18
+ In: '__in=',
19
+ NotIn: '__notin=',
20
+ Empty: '__empty=',
21
+ null: '__null=',
22
+ });
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Edge positions for cells that sit on the boundary of a multi-cell focus
3
+ * selection. Currently only `ActionsCell.svelte` consumes a single
4
+ * `MultiFocusEdge | undefined` field; the bulk of `TableFocusDetails` still
5
+ * exposes per-edge booleans (`topEdge`, `leftEdge`, ...). Either fully
6
+ * converting `TableFocusDetails` to the enum or deleting this type is
7
+ * deferred (workorder Types-Focus finding 8).
8
+ */
1
9
  export declare const MultiFocusEdge: {
2
10
  readonly TopLeft: "TopLeft";
3
11
  readonly Top: "Top";
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Edge positions for cells that sit on the boundary of a multi-cell focus
3
+ * selection. Currently only `ActionsCell.svelte` consumes a single
4
+ * `MultiFocusEdge | undefined` field; the bulk of `TableFocusDetails` still
5
+ * exposes per-edge booleans (`topEdge`, `leftEdge`, ...). Either fully
6
+ * converting `TableFocusDetails` to the enum or deleting this type is
7
+ * deferred (workorder Types-Focus finding 8).
8
+ */
1
9
  export const MultiFocusEdge = {
2
10
  TopLeft: 'TopLeft',
3
11
  Top: 'Top',
@@ -6,6 +14,6 @@ export const MultiFocusEdge = {
6
14
  BottomRight: 'BottomRight',
7
15
  Bottom: 'Bottom',
8
16
  BottomLeft: 'BottomLeft',
9
- Left: 'Left'
17
+ Left: 'Left',
10
18
  };
11
19
  Object.freeze(MultiFocusEdge);
@@ -4,6 +4,28 @@ import type { TableCell } from '../Columns/TableCell.js';
4
4
  import type { TableContext } from '../Context/TableContext.svelte.js';
5
5
  import type { Primitive } from '../Context/TableInitOptions.js';
6
6
  import type { CellCoordinates } from '../Coordinates/CellCoordinates.js';
7
+ /**
8
+ * Per-cell helper that derives "is this cell part of the current focus
9
+ * group" and the inline `box-shadow:` CSS string that draws the multi-focus
10
+ * outline. One instance per cell per render is the current pattern; the
11
+ * caching/flattening rewrite is tracked under the parent workorder
12
+ * (Types-Focus finding 1 / 2) and is the largest contributor to cell-render
13
+ * cost.
14
+ *
15
+ * Public surface:
16
+ *
17
+ * - `coordinates` - the `{ row, column, id }` for this cell.
18
+ * - `isMultiFocused` / `isMultiFocusStart` - whether this cell is in the
19
+ * focus group / the anchor cell.
20
+ * - `topEdge` / `rightEdge` / `bottomEdge` / `leftEdge` - whether this cell
21
+ * sits on each edge of the multi-focus rectangle.
22
+ * - `validity` - the `Promise<Validity | ValidityWrapper | undefined>` for
23
+ * this cell, computed by invoking `columnDef.isValid` (currently
24
+ * unwrapped in a try/catch fence; see the security note in the workorder).
25
+ * - `outline` - the inline `box-shadow: ...;` CSS fragment for the cell;
26
+ * safe because the colour comes from the `Colour['$brand-primary']` token
27
+ * and not user input.
28
+ */
7
29
  export declare class TableFocusDetails<T extends object, RowIdType extends Primitive> {
8
30
  private cell;
9
31
  private tableContext;
@@ -1,5 +1,27 @@
1
1
  import { Colour } from '../../../../scss/colours.js';
2
2
  import { Validity } from '../../../../Types/Internal/Validity.js';
3
+ /**
4
+ * Per-cell helper that derives "is this cell part of the current focus
5
+ * group" and the inline `box-shadow:` CSS string that draws the multi-focus
6
+ * outline. One instance per cell per render is the current pattern; the
7
+ * caching/flattening rewrite is tracked under the parent workorder
8
+ * (Types-Focus finding 1 / 2) and is the largest contributor to cell-render
9
+ * cost.
10
+ *
11
+ * Public surface:
12
+ *
13
+ * - `coordinates` - the `{ row, column, id }` for this cell.
14
+ * - `isMultiFocused` / `isMultiFocusStart` - whether this cell is in the
15
+ * focus group / the anchor cell.
16
+ * - `topEdge` / `rightEdge` / `bottomEdge` / `leftEdge` - whether this cell
17
+ * sits on each edge of the multi-focus rectangle.
18
+ * - `validity` - the `Promise<Validity | ValidityWrapper | undefined>` for
19
+ * this cell, computed by invoking `columnDef.isValid` (currently
20
+ * unwrapped in a try/catch fence; see the security note in the workorder).
21
+ * - `outline` - the inline `box-shadow: ...;` CSS fragment for the cell;
22
+ * safe because the colour comes from the `Colour['$brand-primary']` token
23
+ * and not user input.
24
+ */
3
25
  export class TableFocusDetails {
4
26
  cell;
5
27
  tableContext;
@@ -1,4 +1,12 @@
1
1
  import type { Column } from './Columns/Column.js';
2
+ /**
3
+ * Header-cell view of one column. Produced by the header machinery and
4
+ * consumed by `TableHead.svelte`. Holds the underlying `Column` plus
5
+ * header-only affordances: column-span, header size, and the resize handler.
6
+ *
7
+ * Variance markers (`in FilterValueType`, `out FilterOptionsType`) mirror
8
+ * the inner `Column<T, F, O>` so headers compose with column assignability.
9
+ */
2
10
  export interface Header<T extends object, in FilterValueType, out FilterOptionsType> {
3
11
  id: string;
4
12
  colSpan: number;
@@ -1,4 +1,11 @@
1
1
  import type { Header } from './Header.js';
2
+ /**
3
+ * One row of headers (left / centre / right group). `headers` is typed with
4
+ * the conservative placeholder element type `Header<T, never, unknown>`
5
+ * because the group holds heterogeneous columns whose per-column filter
6
+ * value type cannot be expressed in the array element type. Tightening to
7
+ * `Header<T, unknown, unknown>` is deferred (workorder Types-Root finding 1).
8
+ */
2
9
  export interface HeaderGroup<T extends object> {
3
10
  id: string;
4
11
  headers: Array<Header<T, never, unknown>>;
@@ -0,0 +1,8 @@
1
+ // File scheduled for deletion. The CellPinning type was designed for
2
+ // a per-cell pinning prop, but the final div+grid refactor moved the
3
+ // sticky positioning concern onto a wrapper `<div role="cell">` in
4
+ // TableRow / TableHead. Cells no longer need to know about pinning.
5
+ //
6
+ // Kept as an empty module until the next housekeeping pass removes it
7
+ // from the tree. No exports.
8
+ export {};
@@ -1,3 +1,14 @@
1
+ /**
2
+ * Tanstack-style updater: either the new value directly, or a function from
3
+ * the old value to the new value. The locally-declared shape (rather than
4
+ * importing `Updater` from `svelte/store`) is intentional - scoria avoids a
5
+ * runtime dependency on legacy Svelte stores per project convention.
6
+ */
1
7
  type Updater<T> = T | ((old: T) => T);
8
+ /**
9
+ * Subscriber-callback signature for state changes on `ITable`. Accepts the
10
+ * new value or an updater function. Used by `onColumnVisibilityChange`,
11
+ * `onColumnFiltersChange`, etc. on the table-options surface.
12
+ */
2
13
  export type OnChangeFn<T> = (updaterOrValue: Updater<T>) => void;
3
14
  export {};
@@ -1,3 +1,12 @@
1
+ /**
2
+ * Pagination cursor held by `IDataRepository.paginationState`.
3
+ *
4
+ * - `pageIndex` is zero-based (`0` is the first page). The footer / toolbar
5
+ * add `1` when displaying it to the user.
6
+ * - `pageSize` is the number of rows per page. Bare numbers rather than
7
+ * branded `PageIndex` / `PageSize`; brand promotion is deferred (workorder
8
+ * Types-Root finding 4).
9
+ */
1
10
  export interface PaginationState {
2
11
  pageIndex: number;
3
12
  pageSize: number;
@@ -1,3 +1,13 @@
1
+ /**
2
+ * Discriminator on a `IDataRepository`'s pagination mode. Used by
3
+ * `TableContext` to select code paths and by `TableFooter.svelte` to decide
4
+ * whether to render the page-count label.
5
+ *
6
+ * - `Remote` - server-paged; `lastPage` is authoritative from the backend.
7
+ * - `Local` - client-side pagination over the full in-memory data set.
8
+ * - `None` - no pagination (currently unused; the footer simply renders
9
+ * no page controls in this case).
10
+ */
1
11
  export declare const PaginationType: {
2
12
  readonly Remote: "Remote";
3
13
  readonly Local: "Local";
@@ -1,6 +1,16 @@
1
+ /**
2
+ * Discriminator on a `IDataRepository`'s pagination mode. Used by
3
+ * `TableContext` to select code paths and by `TableFooter.svelte` to decide
4
+ * whether to render the page-count label.
5
+ *
6
+ * - `Remote` - server-paged; `lastPage` is authoritative from the backend.
7
+ * - `Local` - client-side pagination over the full in-memory data set.
8
+ * - `None` - no pagination (currently unused; the footer simply renders
9
+ * no page controls in this case).
10
+ */
1
11
  export const PaginationType = {
2
12
  Remote: 'Remote',
3
13
  Local: 'Local',
4
- None: 'None'
14
+ None: 'None',
5
15
  };
6
16
  Object.freeze(PaginationType);
@@ -0,0 +1,30 @@
1
+ import type { CellCoordinates } from '../Coordinates/CellCoordinates.js';
2
+ /**
3
+ * Payload passed to the top-level `onAnyEdit` callback (see `CreateTableOptions.onAnyEdit`).
4
+ *
5
+ * Fires after every cell edit, regardless of column. Use for change tracking,
6
+ * batched saves, telemetry, audit logs, or anything else that needs a single
7
+ * observation point across every editable column.
8
+ *
9
+ * `value` is typed `unknown` deliberately. The Table cannot statically know
10
+ * which column produced the edit (the discriminated mapped-type funnel was
11
+ * considered and rejected in the proposal because it required `as const`
12
+ * column arrays, which the FloWMS audit shows are never possible in practice).
13
+ * Consumers that need a typed value go through per-column `onEdit` instead.
14
+ *
15
+ * When both per-column `onEdit` and `onAnyEdit` are configured, the per-column
16
+ * callback fires first with its typed `value`; `onAnyEdit` runs after the
17
+ * per-column callback resolves. A per-column callback that throws or rejects
18
+ * suppresses the corresponding `onAnyEdit`.
19
+ */
20
+ export interface AnyEditEvent<TRow extends object> {
21
+ /** The column id whose cell was edited. */
22
+ readonly column: string;
23
+ /** The new value. Untyped at this seam by design; use per-column `onEdit`
24
+ * for the typed value. */
25
+ readonly value: unknown;
26
+ /** The row instance the edit applied to. */
27
+ readonly row: TRow;
28
+ /** Full cell coordinates. */
29
+ readonly coords: CellCoordinates;
30
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,44 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { Pixels } from '../../../../Types/Internal/Misc.js';
3
+ export type { Pixels };
4
+ /**
5
+ * Options shared by every column kind. Each per-kind option interface
6
+ * (`TextColumnOptions`, `NumberColumnOptions`, etc.) extends this base.
7
+ *
8
+ * Width fields use plain `number` (pixels) at the public surface; the column
9
+ * factory converts to the internal `Pixels` brand at the boundary so consumers
10
+ * do not have to import the brand or its constructor. This matches the
11
+ * "branded primitives stay invisible at the call site" principle in the
12
+ * proposal (section 3 of `agent-review/proposals/table-api.md`).
13
+ */
14
+ export interface BaseColumnOptions {
15
+ /** Column header. Plain string renders as text; a Snippet renders arbitrary
16
+ * markup. Only string headers serialise cleanly into saved column presets;
17
+ * Snippet headers are stored by id and re-rendered from the live column
18
+ * defs on hydration. */
19
+ header: string | Snippet;
20
+ /** Minimum width in pixels. Defaults to 48. */
21
+ minWidth?: number;
22
+ /** Initial width in pixels. Defaults to `minWidth`. */
23
+ width?: number;
24
+ /** Whether this column may be sorted. Defaults to true. */
25
+ allowSorting?: boolean;
26
+ /** Whether this column may be filtered. Defaults to true. */
27
+ allowFiltering?: boolean;
28
+ /** Whether the column is hidden by default. Still appears in the column
29
+ * picker. Defaults to false. */
30
+ defaultHidden?: boolean;
31
+ /** Whether the user may resize the column via the resize handle. Defaults
32
+ * to true. */
33
+ resizable?: boolean;
34
+ /** When true, the cell, header, and filter row log per-render debug info to
35
+ * the console. Defaults to false. */
36
+ debug?: boolean;
37
+ /** Optional grouping label for this column's filter row in the
38
+ * advanced filter panel. Columns sharing the same `filterGroup`
39
+ * string render under a single collapsible section with the group
40
+ * name as its header. Columns without a `filterGroup` collect into
41
+ * a default "Other" group at the bottom of the panel. Has no
42
+ * effect on quick-filtering or on the column visibility panel. */
43
+ filterGroup?: string;
44
+ }
@@ -0,0 +1,35 @@
1
+ import type { Primitive } from '../Context/TableInitOptions.js';
2
+ import type { ActionsColumnOptions, BubbleColumnOptions, CheckboxColumnOptions, DateColumnOptions, DisplayColumnOptions, ExpandColumnOptions, FilterOnlyColumnOptions, NumberColumnOptions, ProgressColumnOptions, QueryColumnOptions, RowSelectionColumnOptions, SelectColumnOptions, TextColumnOptions, ValidityColumnOptions } from './ColumnOptions.js';
3
+ import type { ColumnSpec } from './ColumnSpec.js';
4
+ import type { BooleanKeyOf, DateKeyOf, NumberKeyOf, StringKeyOf } from './KeyConstraints.js';
5
+ /**
6
+ * Typed builder handed to the `columns:` closure on `createTable(...)`.
7
+ *
8
+ * Each method returns a `ColumnSpec<TRow, Kind>`. The accessor kinds
9
+ * (`text`, `number`, `checkbox`, `date`, `select`, `query`) constrain the
10
+ * `id` parameter via the matching `<Kind>KeyOf<TRow>` helper from
11
+ * `KeyConstraints.ts`, so IDE autocomplete only lists fields whose value
12
+ * type fits the kind. Display kinds and structural kinds do not take an
13
+ * `id` from the caller; the factory mints a synthetic id via
14
+ * `syntheticColumnId(...)` internally.
15
+ *
16
+ * Inference flows from the `<TRow>` parameter on `createTable(...)`
17
+ * through every method on this factory. Consumers do not write generics
18
+ * at any call site.
19
+ */
20
+ export interface ColumnFactory<TRow extends object> {
21
+ text<K extends StringKeyOf<TRow>>(options: TextColumnOptions<TRow, K>): ColumnSpec<TRow, 'text'>;
22
+ number<K extends NumberKeyOf<TRow>>(options: NumberColumnOptions<TRow, K>): ColumnSpec<TRow, 'number'>;
23
+ checkbox<K extends BooleanKeyOf<TRow>>(options: CheckboxColumnOptions<TRow, K>): ColumnSpec<TRow, 'checkbox'>;
24
+ date<K extends DateKeyOf<TRow>>(options: DateColumnOptions<TRow, K>): ColumnSpec<TRow, 'date'>;
25
+ select<K extends keyof TRow & string, TValue = TRow[K]>(options: SelectColumnOptions<TRow, K, TValue>): ColumnSpec<TRow, 'select'>;
26
+ query<K extends keyof TRow & string, TValue = TRow[K]>(options: QueryColumnOptions<TRow, K, TValue>): ColumnSpec<TRow, 'query'>;
27
+ display<TValue = unknown>(options: DisplayColumnOptions<TRow, TValue>): ColumnSpec<TRow, 'display'>;
28
+ bubble<TValue = unknown>(options: BubbleColumnOptions<TRow, TValue>): ColumnSpec<TRow, 'bubble'>;
29
+ progress(options: ProgressColumnOptions<TRow>): ColumnSpec<TRow, 'progress'>;
30
+ validity(options?: ValidityColumnOptions<TRow>): ColumnSpec<TRow, 'validity'>;
31
+ rowSelection(options?: RowSelectionColumnOptions<TRow>): ColumnSpec<TRow, 'rowSelection'>;
32
+ actions(options: ActionsColumnOptions<TRow>): ColumnSpec<TRow, 'actions'>;
33
+ expand<TInner extends object, TInnerId extends Primitive = string>(options: ExpandColumnOptions<TRow, TInner, TInnerId>): ColumnSpec<TRow, 'expand'>;
34
+ filterOnly<K extends keyof TRow & string, TValue = TRow[K]>(options: FilterOnlyColumnOptions<TRow, K, TValue>): ColumnSpec<TRow, 'filterOnly'>;
35
+ }