@lavalogic/scoria 0.36.0 → 0.37.1

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 (552) 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 +437 -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 +133 -26
  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 +46 -23
  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.d.ts +2 -2
  223. package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.js +18 -12
  224. package/dist/Components/Table/ColumnFactory.svelte.d.ts +43 -0
  225. package/dist/Components/Table/ColumnFactory.svelte.js +339 -0
  226. package/dist/Components/Table/Headers/HighlightAllHeader.svelte +5 -3
  227. package/dist/Components/Table/Headers/HighlightAllHeader.svelte.d.ts +12 -11
  228. package/dist/Components/Table/Headers/SelectAllHeader.svelte +5 -3
  229. package/dist/Components/Table/Headers/SelectAllHeader.svelte.d.ts +12 -11
  230. package/dist/Components/Table/Headers/TableHead.svelte +340 -200
  231. package/dist/Components/Table/Headers/TableHead.svelte.d.ts +13 -16
  232. package/dist/Components/Table/Headers/TableHeadProps.d.ts +10 -0
  233. package/dist/Components/Table/Headers/TableHeadProps.js +1 -0
  234. package/dist/Components/Table/Misc/ColumnPanel.svelte +108 -50
  235. package/dist/Components/Table/Misc/ColumnPanel.svelte.d.ts +12 -11
  236. package/dist/Components/Table/Misc/ColumnPanelModal.svelte +20 -7
  237. package/dist/Components/Table/Misc/ColumnPanelModal.svelte.d.ts +12 -11
  238. package/dist/Components/Table/Misc/ColumnPanelModalProps.d.ts +5 -0
  239. package/dist/Components/Table/Misc/FilterInput.svelte +30 -41
  240. package/dist/Components/Table/Misc/FilterInput.svelte.d.ts +12 -11
  241. package/dist/Components/Table/Misc/FilterPanel.svelte +387 -29
  242. package/dist/Components/Table/Misc/FilterPanel.svelte.d.ts +12 -11
  243. package/dist/Components/Table/Misc/FilterPanelModal.svelte +4 -51
  244. package/dist/Components/Table/Misc/FilterPanelModal.svelte.d.ts +2 -23
  245. package/dist/Components/Table/Misc/SidePanel.svelte +12 -9
  246. package/dist/Components/Table/Misc/SidePanel.svelte.d.ts +1 -7
  247. package/dist/Components/Table/Misc/SidePanelProps.d.ts +17 -0
  248. package/dist/Components/Table/Misc/SidePanelProps.js +1 -0
  249. package/dist/Components/Table/Misc/TableFooter.svelte +44 -35
  250. package/dist/Components/Table/Misc/TableFooter.svelte.d.ts +13 -14
  251. package/dist/Components/Table/Misc/TableFooterProps.d.ts +8 -0
  252. package/dist/Components/Table/Misc/TableFooterProps.js +1 -0
  253. package/dist/Components/Table/Misc/TableHorizontalBar.svelte +17 -48
  254. package/dist/Components/Table/Misc/TableHorizontalBar.svelte.d.ts +12 -11
  255. package/dist/Components/Table/Misc/TableSidebar.svelte +28 -47
  256. package/dist/Components/Table/Misc/TableSidebar.svelte.d.ts +12 -11
  257. package/dist/Components/Table/Misc/ToolboxPanel.svelte +121 -55
  258. package/dist/Components/Table/Misc/ToolboxPanel.svelte.d.ts +12 -11
  259. package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +31 -24
  260. package/dist/Components/Table/Misc/ToolboxPanelModal.svelte.d.ts +12 -11
  261. package/dist/Components/Table/Misc/ToolboxPanelModalProps.d.ts +5 -0
  262. package/dist/Components/Table/Misc/numberDateFilterTypes.d.ts +7 -4
  263. package/dist/Components/Table/Misc/numberDateFilterTypes.js +8 -3
  264. package/dist/Components/Table/Misc/stringFilterTypes.d.ts +6 -4
  265. package/dist/Components/Table/Misc/stringFilterTypes.js +7 -3
  266. package/dist/Components/Table/NestedTable.svelte +85 -41
  267. package/dist/Components/Table/NestedTable.svelte.d.ts +2 -10
  268. package/dist/Components/Table/NestedTableProps.d.ts +25 -0
  269. package/dist/Components/Table/NestedTableProps.js +1 -0
  270. package/dist/Components/Table/SubApis.svelte.d.ts +24 -0
  271. package/dist/Components/Table/SubApis.svelte.js +380 -0
  272. package/dist/Components/Table/Table.svelte +345 -172
  273. package/dist/Components/Table/Table.svelte.d.ts +24 -1
  274. package/dist/Components/Table/TableHelpers.svelte.d.ts +58 -0
  275. package/dist/Components/Table/TableHelpers.svelte.js +88 -0
  276. package/dist/Components/Table/Types/Columns/Column.d.ts +10 -0
  277. package/dist/Components/Table/Types/Columns/ColumnPinningState.d.ts +12 -0
  278. package/dist/Components/Table/Types/Columns/ColumnSizingState.d.ts +8 -0
  279. package/dist/Components/Table/Types/Columns/ColumnType.d.ts +17 -0
  280. package/dist/Components/Table/Types/Columns/ColumnType.js +18 -1
  281. package/dist/Components/Table/Types/Columns/DateColumn.d.ts +6 -0
  282. package/dist/Components/Table/Types/Columns/DateTableCell.d.ts +7 -0
  283. package/dist/Components/Table/Types/Columns/Definitions/AccessorFn.d.ts +13 -0
  284. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.d.ts +28 -3
  285. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.js +15 -0
  286. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorType.d.ts +10 -0
  287. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorType.js +11 -1
  288. package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.d.ts +23 -2
  289. package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.js +9 -2
  290. package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.d.ts +21 -2
  291. package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.js +8 -0
  292. package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.d.ts +29 -3
  293. package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.js +11 -0
  294. package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.d.ts +23 -0
  295. package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.js +8 -0
  296. package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.d.ts +31 -0
  297. package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.js +17 -3
  298. package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.d.ts +21 -2
  299. package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.js +7 -0
  300. package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.d.ts +29 -1
  301. package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.js +17 -3
  302. package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.d.ts +122 -11
  303. package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.js +77 -11
  304. package/dist/Components/Table/Types/Columns/Definitions/ColumnDefSet.d.ts +9 -0
  305. package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts +30 -9
  306. package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js +14 -0
  307. package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.d.ts +19 -1
  308. package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.js +12 -1
  309. package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.d.ts +11 -0
  310. package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.js +6 -3
  311. package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.d.ts +19 -0
  312. package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.js +25 -1
  313. package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.d.ts +26 -0
  314. package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.js +20 -5
  315. package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +43 -7
  316. package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.js +18 -3
  317. package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts +19 -5
  318. package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.js +16 -5
  319. package/dist/Components/Table/Types/Columns/Definitions/JSONColumnDefSet.d.ts +14 -0
  320. package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.d.ts +34 -2
  321. package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.js +30 -7
  322. package/dist/Components/Table/Types/Columns/Definitions/ValidationFn.d.ts +17 -0
  323. package/dist/Components/Table/Types/Columns/DefsWrapper.d.ts +10 -0
  324. package/dist/Components/Table/Types/Columns/DisplayType.d.ts +13 -0
  325. package/dist/Components/Table/Types/Columns/DisplayType.js +14 -1
  326. package/dist/Components/Table/Types/Columns/ExpandColumn.d.ts +5 -0
  327. package/dist/Components/Table/Types/Columns/ExpandTableCell.d.ts +7 -0
  328. package/dist/Components/Table/Types/Columns/JSONColumnPinningState.d.ts +6 -0
  329. package/dist/Components/Table/Types/Columns/ProgressBarColumn.d.ts +5 -0
  330. package/dist/Components/Table/Types/Columns/ProgressBarTableCell.d.ts +9 -0
  331. package/dist/Components/Table/Types/Columns/TableActionButton.d.ts +12 -0
  332. package/dist/Components/Table/Types/Columns/TableCell.d.ts +16 -2
  333. package/dist/Components/Table/Types/Columns/VisibilityState.d.ts +12 -0
  334. package/dist/Components/Table/Types/Context/ColumnLayoutState.svelte.d.ts +173 -0
  335. package/dist/Components/Table/Types/Context/ColumnLayoutState.svelte.js +241 -0
  336. package/dist/Components/Table/Types/Context/FilteringState.svelte.d.ts +166 -0
  337. package/dist/Components/Table/Types/Context/FilteringState.svelte.js +180 -0
  338. package/dist/Components/Table/Types/Context/FocusState.svelte.d.ts +316 -0
  339. package/dist/Components/Table/Types/Context/FocusState.svelte.js +751 -0
  340. package/dist/Components/Table/Types/Context/ITable.d.ts +10 -0
  341. package/dist/Components/Table/Types/Context/PreferencesState.svelte.d.ts +242 -0
  342. package/dist/Components/Table/Types/Context/PreferencesState.svelte.js +317 -0
  343. package/dist/Components/Table/Types/Context/ReadonlyRowModel.d.ts +14 -3
  344. package/dist/Components/Table/Types/Context/Row.d.ts +18 -0
  345. package/dist/Components/Table/Types/Context/RowModel.d.ts +11 -0
  346. package/dist/Components/Table/Types/Context/SelectionState.svelte.d.ts +260 -0
  347. package/dist/Components/Table/Types/Context/SelectionState.svelte.js +613 -0
  348. package/dist/Components/Table/Types/Context/SortingState.svelte.d.ts +112 -0
  349. package/dist/Components/Table/Types/Context/SortingState.svelte.js +272 -0
  350. package/dist/Components/Table/Types/Context/TableContext.svelte.d.ts +580 -58
  351. package/dist/Components/Table/Types/Context/TableContext.svelte.js +984 -1278
  352. package/dist/Components/Table/Types/Context/TableInitOptions.d.ts +16 -0
  353. package/dist/Components/Table/Types/Context/TableSettings.d.ts +20 -0
  354. package/dist/Components/Table/Types/Context/VirtualisationState.svelte.d.ts +167 -0
  355. package/dist/Components/Table/Types/Context/VirtualisationState.svelte.js +226 -0
  356. package/dist/Components/Table/Types/Coordinates/CellCoordinates.d.ts +12 -0
  357. package/dist/Components/Table/Types/Coordinates/CellCoordinatesWithoutColumn.d.ts +5 -0
  358. package/dist/Components/Table/Types/Coordinates/ColumnIndices.d.ts +16 -2
  359. package/dist/Components/Table/Types/DataRepository/BuiltInRemoteRepository.svelte.d.ts +143 -0
  360. package/dist/Components/Table/Types/DataRepository/BuiltInRemoteRepository.svelte.js +454 -0
  361. package/dist/Components/Table/Types/DataRepository/IDataRepository.d.ts +21 -0
  362. package/dist/Components/Table/Types/DataRepository/ILocalDataRepository.d.ts +10 -0
  363. package/dist/Components/Table/Types/DataRepository/IRemoteDataRepository.d.ts +16 -0
  364. package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.d.ts +87 -3
  365. package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.js +112 -7
  366. package/dist/Components/Table/Types/DataRepository/SortingState.d.ts +12 -0
  367. package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.d.ts +87 -2
  368. package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.js +74 -1
  369. package/dist/Components/Table/Types/ExpandedPanel.d.ts +9 -0
  370. package/dist/Components/Table/Types/ExpandedPanel.js +10 -1
  371. package/dist/Components/Table/Types/Filtering/ColumnFiltersState.d.ts +17 -0
  372. package/dist/Components/Table/Types/Filtering/CustomFilter.d.ts +21 -0
  373. package/dist/Components/Table/Types/Filtering/CustomFilterType.d.ts +5 -0
  374. package/dist/Components/Table/Types/Filtering/CustomFilterType.js +6 -1
  375. package/dist/Components/Table/Types/Filtering/CustomRemoteFilters.d.ts +6 -0
  376. package/dist/Components/Table/Types/Filtering/FilterFn.d.ts +28 -0
  377. package/dist/Components/Table/Types/Filtering/FilterMode.d.ts +7 -0
  378. package/dist/Components/Table/Types/Filtering/FilterType.d.ts +8 -0
  379. package/dist/Components/Table/Types/Filtering/FilterType.js +9 -1
  380. package/dist/Components/Table/Types/Filtering/FilterValueType.d.ts +11 -0
  381. package/dist/Components/Table/Types/Filtering/FilterValueType.js +12 -1
  382. package/dist/Components/Table/Types/Filtering/HasCustomFilterFunction.d.ts +23 -2
  383. package/dist/Components/Table/Types/Filtering/NumberDateFilterMode.d.ts +19 -12
  384. package/dist/Components/Table/Types/Filtering/NumberDateFilterMode.js +18 -14
  385. package/dist/Components/Table/Types/Filtering/StringFilterMode.d.ts +22 -15
  386. package/dist/Components/Table/Types/Filtering/StringFilterMode.js +22 -16
  387. package/dist/Components/Table/Types/Focus/MultiFocusEdge.d.ts +8 -0
  388. package/dist/Components/Table/Types/Focus/MultiFocusEdge.js +9 -1
  389. package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.d.ts +22 -0
  390. package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.js +22 -0
  391. package/dist/Components/Table/Types/Header.d.ts +8 -0
  392. package/dist/Components/Table/Types/HeaderGroup.d.ts +7 -0
  393. package/dist/Components/Table/Types/Layout/CellPinning.d.ts +1 -0
  394. package/dist/Components/Table/Types/Layout/CellPinning.js +8 -0
  395. package/dist/Components/Table/Types/OnChangeFn.d.ts +11 -0
  396. package/dist/Components/Table/Types/Pagination/PaginationState.d.ts +9 -0
  397. package/dist/Components/Table/Types/Pagination/PaginationType.d.ts +10 -0
  398. package/dist/Components/Table/Types/Pagination/PaginationType.js +11 -1
  399. package/dist/Components/Table/Types/Public/AnyEditEvent.d.ts +30 -0
  400. package/dist/Components/Table/Types/Public/AnyEditEvent.js +1 -0
  401. package/dist/Components/Table/Types/Public/BaseColumnOptions.d.ts +44 -0
  402. package/dist/Components/Table/Types/Public/BaseColumnOptions.js +1 -0
  403. package/dist/Components/Table/Types/Public/ColumnFactory.d.ts +35 -0
  404. package/dist/Components/Table/Types/Public/ColumnFactory.js +1 -0
  405. package/dist/Components/Table/Types/Public/ColumnOptions.d.ts +244 -0
  406. package/dist/Components/Table/Types/Public/ColumnOptions.js +1 -0
  407. package/dist/Components/Table/Types/Public/ColumnSpec.d.ts +39 -0
  408. package/dist/Components/Table/Types/Public/ColumnSpec.js +1 -0
  409. package/dist/Components/Table/Types/Public/CreateTableOptions.d.ts +87 -0
  410. package/dist/Components/Table/Types/Public/CreateTableOptions.js +1 -0
  411. package/dist/Components/Table/Types/Public/KeyConstraints.d.ts +42 -0
  412. package/dist/Components/Table/Types/Public/KeyConstraints.js +22 -0
  413. package/dist/Components/Table/Types/Public/RowSource.d.ts +87 -0
  414. package/dist/Components/Table/Types/Public/RowSource.js +1 -0
  415. package/dist/Components/Table/Types/Public/SelectionOptions.d.ts +26 -0
  416. package/dist/Components/Table/Types/Public/SelectionOptions.js +1 -0
  417. package/dist/Components/Table/Types/Public/Table.d.ts +40 -0
  418. package/dist/Components/Table/Types/Public/Table.js +1 -0
  419. package/dist/Components/Table/Types/Public/TableInitialState.d.ts +26 -0
  420. package/dist/Components/Table/Types/Public/TableInitialState.js +1 -0
  421. package/dist/Components/Table/Types/Public/TablePersistence.d.ts +38 -0
  422. package/dist/Components/Table/Types/Public/TablePersistence.js +1 -0
  423. package/dist/Components/Table/Types/Public/TableSubApis.d.ts +190 -0
  424. package/dist/Components/Table/Types/Public/TableSubApis.js +1 -0
  425. package/dist/Components/Table/Types/Public/index.d.ts +20 -0
  426. package/dist/Components/Table/Types/Public/index.js +8 -0
  427. package/dist/Components/Table/Types/Toolbar/ToolbarPosition.d.ts +4 -0
  428. package/dist/Components/Table/Types/Toolbar/ToolbarPosition.js +5 -1
  429. package/dist/Components/Table/createTable.svelte.d.ts +53 -0
  430. package/dist/Components/Table/createTable.svelte.js +270 -0
  431. package/dist/Components/TextArea.svelte +37 -18
  432. package/dist/Components/TextAreaProps.d.ts +37 -0
  433. package/dist/Components/TextInput.svelte +41 -22
  434. package/dist/Components/TextInputProps.d.ts +58 -1
  435. package/dist/Components/ThreeStateRadio.svelte +61 -64
  436. package/dist/Components/ThreeStateRadioProps.d.ts +29 -1
  437. package/dist/Components/Touch/BoolCard.svelte +8 -15
  438. package/dist/Components/Touch/BoolCard.svelte.d.ts +1 -10
  439. package/dist/Components/Touch/BoolCardProps.d.ts +21 -0
  440. package/dist/Components/Touch/BoolCardProps.js +1 -0
  441. package/dist/Components/Touch/DateModal.svelte +17 -25
  442. package/dist/Components/Touch/DateModal.svelte.d.ts +1 -17
  443. package/dist/Components/Touch/DateModalProps.d.ts +36 -0
  444. package/dist/Components/Touch/DateModalProps.js +1 -0
  445. package/dist/Components/Touch/EditCard.svelte +10 -3
  446. package/dist/Components/Touch/EditCardProps.d.ts +21 -0
  447. package/dist/Components/Touch/InfoCard.svelte +14 -7
  448. package/dist/Components/Touch/InfoCardProps.d.ts +9 -0
  449. package/dist/Components/Touch/InfoTextCard.svelte +9 -2
  450. package/dist/Components/Touch/InfoTextCardProps.d.ts +8 -0
  451. package/dist/Components/Touch/ModalExplanation.svelte +9 -12
  452. package/dist/Components/Touch/ModalExplanation.svelte.d.ts +1 -6
  453. package/dist/Components/Touch/ModalExplanationProps.d.ts +22 -0
  454. package/dist/Components/Touch/ModalExplanationProps.js +1 -0
  455. package/dist/Components/Touch/NumberKeyboard.svelte +62 -105
  456. package/dist/Components/Touch/NumberKeyboardProps.d.ts +19 -0
  457. package/dist/Components/Touch/NumberModal.svelte +16 -6
  458. package/dist/Components/Touch/NumberModalProps.d.ts +23 -1
  459. package/dist/Components/Touch/PlusMinusCard.svelte +12 -16
  460. package/dist/Components/Touch/PlusMinusCard.svelte.d.ts +1 -6
  461. package/dist/Components/Touch/PlusMinusCardProps.d.ts +18 -0
  462. package/dist/Components/Touch/PlusMinusCardProps.js +1 -0
  463. package/dist/Components/Touch/SelectModal.svelte +33 -15
  464. package/dist/Components/Touch/SelectModalProps.d.ts +22 -1
  465. package/dist/Components/Touch/SummaryCard.svelte +56 -14
  466. package/dist/Components/Touch/SummaryCardProps.d.ts +16 -3
  467. package/dist/Components/Touch/TextAreaModal.svelte +18 -9
  468. package/dist/Components/Touch/TextAreaModalProps.d.ts +21 -0
  469. package/dist/Components/Touch/TextModal.svelte +15 -32
  470. package/dist/Components/Touch/TextModalProps.d.ts +28 -1
  471. package/dist/Components/Touch/TouchCard.svelte +9 -47
  472. package/dist/Components/Touch/TouchCardProps.d.ts +21 -0
  473. package/dist/Components/Touch/TouchModal.svelte +105 -99
  474. package/dist/Components/Touch/TouchModalProps.d.ts +35 -1
  475. package/dist/Components/Touch/UtilityButton.svelte +36 -18
  476. package/dist/Components/Touch/UtilityButtonProps.d.ts +16 -0
  477. package/dist/Components/VerticalTabGroup.svelte +18 -40
  478. package/dist/Components/VerticalTabGroupButton.svelte +11 -50
  479. package/dist/Components/VerticalTabGroupProps.d.ts +15 -2
  480. package/dist/Contexts/AlertContext.svelte.d.ts +92 -8
  481. package/dist/Contexts/AlertContext.svelte.js +69 -6
  482. package/dist/Contexts/ContextMenuContext.svelte.d.ts +54 -8
  483. package/dist/Contexts/ContextMenuContext.svelte.js +48 -2
  484. package/dist/Contexts/TestContext.svelte.d.ts +27 -1
  485. package/dist/Contexts/TestContext.svelte.js +29 -1
  486. package/dist/Contexts/ToastContext.svelte.d.ts +29 -1
  487. package/dist/Contexts/ToastContext.svelte.js +93 -24
  488. package/dist/Contexts/TooltipContext.svelte.d.ts +68 -1
  489. package/dist/Contexts/TooltipContext.svelte.js +70 -7
  490. package/dist/Contexts/UntypedInputContext.svelte.d.ts +54 -5
  491. package/dist/Contexts/UntypedInputContext.svelte.js +87 -34
  492. package/dist/Delay/Delay.js +1 -1
  493. package/dist/Helpers/AsyncFlag.svelte.d.ts +39 -0
  494. package/dist/Helpers/AsyncFlag.svelte.js +72 -0
  495. package/dist/Helpers/Datamatrix.d.ts +10 -1
  496. package/dist/Helpers/Datamatrix.js +290 -1
  497. package/dist/Helpers/Helpers.svelte.d.ts +252 -18
  498. package/dist/Helpers/Helpers.svelte.js +271 -75
  499. package/dist/Helpers/INamed.d.ts +6 -0
  500. package/dist/Helpers/Storage.d.ts +67 -0
  501. package/dist/Helpers/Storage.js +138 -0
  502. package/dist/Helpers/dropdownPortal.d.ts +52 -0
  503. package/dist/Helpers/dropdownPortal.js +232 -0
  504. package/dist/Helpers/dropdownPortal.svelte.d.ts +2 -0
  505. package/dist/Helpers/dropdownPortal.svelte.js +5 -0
  506. package/dist/Helpers/memoiseByRow.d.ts +45 -0
  507. package/dist/Helpers/memoiseByRow.js +78 -0
  508. package/dist/Helpers/prefersReducedMotion.svelte.d.ts +27 -0
  509. package/dist/Helpers/prefersReducedMotion.svelte.js +18 -0
  510. package/dist/Helpers/useTooltip.svelte.d.ts +53 -0
  511. package/dist/Helpers/useTooltip.svelte.js +62 -0
  512. package/dist/Types/Examples/ExampleModal.svelte +12 -11
  513. package/dist/Types/Examples/ExampleModal.svelte.d.ts +2 -2
  514. package/dist/Types/Examples/ExampleSelectEnum.js +1 -1
  515. package/dist/Types/Internal/AsyncFlag.d.ts +7 -0
  516. package/dist/Types/Internal/AsyncFlag.js +1 -0
  517. package/dist/Types/Internal/BigRadioOption.d.ts +8 -0
  518. package/dist/Types/Internal/ButtonProp.d.ts +24 -2
  519. package/dist/Types/Internal/CallbackButton.d.ts +12 -0
  520. package/dist/Types/Internal/DateChange.d.ts +8 -0
  521. package/dist/Types/Internal/DatePickerType.d.ts +5 -0
  522. package/dist/Types/Internal/DatePickerType.js +6 -1
  523. package/dist/Types/Internal/IdentifiableToastMessage.d.ts +8 -0
  524. package/dist/Types/Internal/InputVariant.d.ts +5 -0
  525. package/dist/Types/Internal/InputVariant.js +6 -1
  526. package/dist/Types/Internal/Misc.d.ts +91 -0
  527. package/dist/Types/Internal/RefWrapper.d.ts +6 -0
  528. package/dist/Types/Internal/SelectOption.d.ts +8 -0
  529. package/dist/Types/Internal/Shape.d.ts +1 -0
  530. package/dist/Types/Internal/Shape.js +2 -1
  531. package/dist/Types/Internal/Side.d.ts +1 -0
  532. package/dist/Types/Internal/Side.js +2 -1
  533. package/dist/Types/Internal/Size.d.ts +5 -0
  534. package/dist/Types/Internal/Size.js +6 -1
  535. package/dist/Types/Internal/TabOption.d.ts +15 -5
  536. package/dist/Types/Internal/Ternary.d.ts +6 -0
  537. package/dist/Types/Internal/Ternary.js +7 -1
  538. package/dist/Types/Internal/ToastMessage.d.ts +28 -0
  539. package/dist/Types/Internal/Validity.d.ts +6 -0
  540. package/dist/Types/Internal/Validity.js +7 -1
  541. package/dist/Types/Internal/ValidityWrapper.d.ts +8 -0
  542. package/dist/Types/Internal/Variant.d.ts +5 -0
  543. package/dist/Types/Internal/Variant.js +6 -1
  544. package/dist/index.d.ts +27 -82
  545. package/dist/index.js +24 -62
  546. package/dist/scss/_mixins.scss +451 -167
  547. package/dist/scss/_motion.scss +57 -0
  548. package/dist/scss/_sizing.scss +16 -0
  549. package/dist/scss/colours.js +2 -2
  550. package/dist/scss/sizing.d.ts +9 -0
  551. package/dist/scss/sizing.js +10 -1
  552. package/package.json +35 -31
@@ -1,3 +1,5 @@
1
+ import { PreferencesState } from './PreferencesState.svelte.js';
2
+ import { SelectionState } from './SelectionState.svelte.js';
1
3
  import { SvelteMap } from 'svelte/reactivity';
2
4
  import type { Updater } from 'svelte/store';
3
5
  import type { ColumnPinningState } from '../Columns/ColumnPinningState.js';
@@ -7,9 +9,13 @@ import type { ColumnDefSet } from '../Columns/Definitions/ColumnDefSet.js';
7
9
  import type { DefsWrapper } from '../Columns/DefsWrapper.js';
8
10
  import type { VisibilityState } from '../Columns/VisibilityState.js';
9
11
  import type { CellCoordinates } from '../Coordinates/CellCoordinates.js';
10
- import type { CellCoordinatesWithoutColumn } from '../Coordinates/CellCoordinatesWithoutColumn.js';
11
12
  import type { VisualColumnIndex } from '../Coordinates/ColumnIndices.js';
12
13
  import type { IDataRepository } from '../DataRepository/IDataRepository.js';
14
+ import { SortingState } from './SortingState.svelte.js';
15
+ import { FilteringState } from './FilteringState.svelte.js';
16
+ import { ColumnLayoutState } from './ColumnLayoutState.svelte.js';
17
+ import { FocusState } from './FocusState.svelte.js';
18
+ import { VirtualisationState } from './VirtualisationState.svelte.js';
13
19
  import type { ColumnFiltersState } from '../Filtering/ColumnFiltersState.js';
14
20
  import type { CustomRemoteFilters } from '../Filtering/CustomRemoteFilters.js';
15
21
  import type { BoolFilterValueType, DateFilterValueType, FilterFn, NumberFilterValueType, SelectFilterValueType, StringFilterValueType } from '../Filtering/FilterFn.js';
@@ -19,6 +25,25 @@ import { ToolbarPosition } from '../Toolbar/ToolbarPosition.js';
19
25
  import type { ITable } from './ITable.js';
20
26
  import type { RowModel } from './RowModel.js';
21
27
  import type { Primitive, TableInitOptions } from './TableInitOptions.js';
28
+ /**
29
+ * Default values applied by `TableContext.init` for any `TableInitOptions`
30
+ * field the consumer omits. Frozen so callers (notably `NestedTable`)
31
+ * can spread it without risking accidental shared-object mutation.
32
+ *
33
+ * Mirrors the default literals consumed inside `init`; both share this
34
+ * constant so the two cannot drift.
35
+ */
36
+ export declare const DEFAULT_TABLE_INIT_OPTIONS: Readonly<{
37
+ allowCopy: true;
38
+ enableResize: true;
39
+ allowColumnReordering: true;
40
+ allowQuickFiltering: true;
41
+ showQuickFilterByDefault: true;
42
+ allowAdvancedFiltering: true;
43
+ toolbar: "Right";
44
+ displayFooter: true;
45
+ debug: false;
46
+ }>;
22
47
  export declare class TableContext<T extends object, RowIdType extends Primitive> {
23
48
  readonly defaultColumnDefs: DefsWrapper<T>;
24
49
  readonly tableName: string;
@@ -35,61 +60,131 @@ export declare class TableContext<T extends object, RowIdType extends Primitive>
35
60
  private _onEditCell;
36
61
  readonly debug: boolean;
37
62
  static readonly identifier: unique symbol;
63
+ /**
64
+ * Factory for `TableContext`. Coalesces every optional flag from the
65
+ * caller-supplied `options` against `DEFAULT_TABLE_INIT_OPTIONS` so
66
+ * the constructor receives a complete set of values. The constructor
67
+ * itself is `protected` and gated by an internal symbol to make it
68
+ * impossible to construct a `TableContext` without going through
69
+ * `init`.
70
+ */
38
71
  static init<T extends object, RowIdType extends Primitive>(defaultColumnDefs: DefsWrapper<T>, tableName: string, dataRepo: IDataRepository<T>, options: TableInitOptions<T, RowIdType>): TableContext<T, RowIdType>;
39
72
  protected constructor(INTERNAL_ONLY: symbol, defaultColumnDefs: DefsWrapper<T>, tableName: string, dataRepo: IDataRepository<T>, allowCopy: boolean, enableResize: boolean, allowColumnReordering: boolean, allowQuickFiltering: boolean, showQuickFilterByDefault: boolean, allowAdvancedFiltering: boolean, toolbarPosition: ToolbarPosition, displayFooter: boolean, selectionExtractor: TableInitOptions<T, RowIdType>['selectionExtractor'], getUserId: () => string | undefined, _onEditCell: TableInitOptions<T, RowIdType>['onEditCell'], debug: boolean);
40
- private readonly userId;
41
73
  private isSelectable;
42
74
  private _paginationRepo;
43
75
  get paginationRepo(): IDataRepository<T> | undefined;
44
76
  set paginationRepo(v: IDataRepository<T> | undefined);
45
- private _showQuickFiltering;
77
+ /**
78
+ * Delegating accessor preserved for backwards compatibility; reads /
79
+ * writes through to `_filtering.showQuickFiltering`. The sub-context
80
+ * owns the `allowQuickFiltering` gate so the setter logic stays
81
+ * identical to the pre-extraction implementation.
82
+ */
46
83
  get showQuickFiltering(): boolean;
47
84
  set showQuickFiltering(v: boolean);
48
85
  private _dataRepo;
49
86
  get dataRepo(): IDataRepository<T>;
50
87
  private set dataRepo(value);
51
- private _remoteFilters;
88
+ /**
89
+ * Delegating getter preserved for backwards compatibility. Reads
90
+ * through to `_filtering.remoteFilters`; the parent uses
91
+ * `_filtering.setRemoteFilters` during column-def setup to write the
92
+ * caller-supplied value.
93
+ */
52
94
  get remoteFilters(): CustomRemoteFilters<unknown> | undefined;
53
- private set remoteFilters(value);
54
- private _showSelectedOnly;
95
+ /**
96
+ * Delegating accessor preserved for backwards compatibility; reads /
97
+ * writes through to `_filtering.showSelectedOnly`. The sub-context
98
+ * preserves the idempotency short-circuit (re-assigning the same
99
+ * value is a no-op).
100
+ */
55
101
  get showSelectedOnly(): boolean;
56
102
  set showSelectedOnly(v: boolean);
57
- readonly dateFilter: FilterFn<T, DateFilterValueType> | undefined;
58
- readonly numberFilter: FilterFn<T, NumberFilterValueType> | undefined;
59
- readonly selectFilter: FilterFn<T, SelectFilterValueType<T>> | undefined;
60
- readonly boolFilter: FilterFn<T, BoolFilterValueType> | undefined;
61
- readonly stringFilter: FilterFn<T, StringFilterValueType> | undefined;
103
+ /**
104
+ * Delegating getters that relay the per-type `FilterFn` from
105
+ * `_filtering`. The sub-context's `$derived` chain reads through
106
+ * `paginationRepo` via the thunk so the source of truth stays
107
+ * with the data repository; consumers that bind these getters
108
+ * (notably `setupDefaultColumnDefs`) need no migration.
109
+ */
110
+ get dateFilter(): FilterFn<T, DateFilterValueType> | undefined;
111
+ get numberFilter(): FilterFn<T, NumberFilterValueType> | undefined;
112
+ get selectFilter(): FilterFn<T, SelectFilterValueType<T>> | undefined;
113
+ get boolFilter(): FilterFn<T, BoolFilterValueType> | undefined;
114
+ get stringFilter(): FilterFn<T, StringFilterValueType> | undefined;
62
115
  private _limitFooter;
63
116
  get limitFooter(): boolean;
64
117
  set limitFooter(v: boolean);
65
118
  private _dragTarget;
66
119
  get dragTarget(): ColumnDef<T> | null;
67
120
  set dragTarget(v: ColumnDef<T> | null);
68
- private _columnDefs;
121
+ /**
122
+ * Delegating accessor preserved for backwards compatibility. The
123
+ * actual `$state` slot lives on `_columnLayout`; this getter / setter
124
+ * pair forwards reads and writes so existing consumers need no
125
+ * migration. See `_columnLayout` below for the sub-context.
126
+ */
69
127
  get columnDefs(): Array<ColumnDef<T>>;
70
128
  set columnDefs(v: Array<ColumnDef<T>>);
71
- private _columnPresets;
129
+ /**
130
+ * Delegating accessor preserved for backwards compatibility. The
131
+ * actual `$state` slot lives on `_preferences._columnPresets`
132
+ * (Phase 6.4). The setter is private because the consumer-facing
133
+ * write path goes through `saveColumnPreset` (which also persists
134
+ * the list to localStorage); internal call sites that need to
135
+ * mutate the list directly call `_preferences.setPresets(...)`.
136
+ */
72
137
  get columnPresets(): ReadonlyArray<ColumnDefSet<T>>;
73
- private set columnPresets(value);
74
- private _selectedPreset;
138
+ /**
139
+ * Delegating accessor preserved for backwards compatibility. The
140
+ * actual `$state` slot lives on `_preferences._selectedPreset`
141
+ * (Phase 6.4). Reads / writes through to the sub-context.
142
+ */
75
143
  get selectedPreset(): ColumnDefSet<T> | undefined;
76
144
  set selectedPreset(v: ColumnDefSet<T> | undefined);
77
- private _focusedRowIndices;
145
+ /**
146
+ * Delegating accessor preserved for backwards compatibility. The
147
+ * `$state` slot lives on `_focus._focusedRowIndices` (Phase 6.6).
148
+ * Populated by the parent's focus-derived `$effect` through
149
+ * `_focus.setFocusedDerived(rows, cols)`.
150
+ */
78
151
  get focusedRowIndices(): ReadonlySet<number>;
79
- private readonly _highlightedItems;
152
+ /**
153
+ * Delegating accessor preserved for backwards compatibility. The
154
+ * actual `$state` slot lives on `_selection._highlightedItems`
155
+ * (Phase 6.5).
156
+ */
80
157
  get highlightedItems(): SvelteMap<RowIdType, T>;
81
- _focusedColumnIds: ReadonlySet<string>;
158
+ /**
159
+ * Delegating accessor preserved for backwards compatibility. The
160
+ * `$state` slot lives on `_focus._focusedColumnIds` (Phase 6.6).
161
+ */
82
162
  get focusedColumnIds(): ReadonlySet<string>;
83
- private _isMousingDown;
163
+ /**
164
+ * Delegating accessor preserved for backwards compatibility. The
165
+ * `$state` slot lives on `_focus._isMousingDown` (Phase 6.6).
166
+ */
84
167
  get isMousingDown(): boolean;
85
168
  set isMousingDown(v: boolean);
86
- private _focusStart;
169
+ /**
170
+ * Delegating accessor preserved for backwards compatibility. The
171
+ * `$state` slot lives on `_focus._focusStart` (Phase 6.6). The
172
+ * setter remains read-only at this surface; the write path is
173
+ * `moveFocus` / `unfocus` / `tabForward` / `tabBackward` /
174
+ * `endFocus` / `setFocusEnd` / `startFocus` (all delegated below).
175
+ */
87
176
  get focusStart(): CellCoordinates | null;
88
- private set focusStart(value);
89
- private _focusStartIsBeingEdited;
177
+ /**
178
+ * Delegating accessor preserved for backwards compatibility. The
179
+ * `$state` slot lives on `_focus._focusStartIsBeingEdited`
180
+ * (Phase 6.6).
181
+ */
90
182
  get focusStartIsBeingEdited(): boolean;
91
183
  set focusStartIsBeingEdited(v: boolean);
92
- private _focusEnd;
184
+ /**
185
+ * Delegating accessor preserved for backwards compatibility. The
186
+ * `$state` slot lives on `_focus._focusEnd` (Phase 6.6).
187
+ */
93
188
  get focusEnd(): CellCoordinates | null;
94
189
  set focusEnd(v: CellCoordinates | null);
95
190
  private _singleClickEditing;
@@ -110,42 +205,280 @@ export declare class TableContext<T extends object, RowIdType extends Primitive>
110
205
  private _commaSeparatedCopy;
111
206
  get commaSeparatedCopy(): boolean;
112
207
  set commaSeparatedCopy(v: boolean);
113
- private _columnSizing;
208
+ /**
209
+ * Delegating accessor preserved for backwards compatibility. Reads
210
+ * through to `_columnLayout.columnSizing`. Per-key mutations (e.g.
211
+ * `this.columnSizing[id] = w` in `autoResize`) work because the
212
+ * underlying `$state` slot is a Svelte proxy.
213
+ */
114
214
  get columnSizing(): ColumnSizingState;
115
215
  set columnSizing(v: ColumnSizingState);
116
- private _columnPinning;
216
+ /**
217
+ * Delegating accessor preserved for backwards compatibility. Reads
218
+ * through to `_columnLayout.columnPinning`. The `setColumnPinning`
219
+ * updater below honours the `allowColumnReordering` master gate; the
220
+ * direct setter does not, by design (used for preset switches and
221
+ * the init flow where the gate has already been checked).
222
+ */
117
223
  get columnPinning(): ColumnPinningState;
118
224
  set columnPinning(v: ColumnPinningState);
119
- private _columnVisibility;
225
+ /**
226
+ * Delegating accessor preserved for backwards compatibility. Reads
227
+ * through to `_columnLayout.columnVisibility`. Tri-state semantics
228
+ * (`true` / `false` / `undefined`) are preserved.
229
+ */
120
230
  get columnVisibility(): VisibilityState;
121
231
  set columnVisibility(v: VisibilityState);
122
- private _openModalCoordinates;
123
- get openModalCoordinates(): CellCoordinatesWithoutColumn | null;
124
- set openModalCoordinates(v: CellCoordinatesWithoutColumn | null);
125
- private _allSelectedAsync;
126
- private _allSelectedInCurrentPage;
232
+ /**
233
+ * Identifies the cell whose `col.validity({ modal })` /
234
+ * `col.display({ modal })` modal is currently open, or `null` when no
235
+ * modal is open.
236
+ *
237
+ * Keyed on the **row object reference**, not on visible index, so the
238
+ * open-modal state is stable across pagination, sort, and filter
239
+ * changes - the cell renderer matches via `cell.row.original ===
240
+ * openModalCell.row`. Visible-index-based keying (the old
241
+ * `CellCoordinatesWithoutColumn` shape) silently re-targeted the modal
242
+ * to whichever row happened to occupy the same index after a page
243
+ * change.
244
+ */
245
+ private _openModalCell;
246
+ get openModalCell(): {
247
+ row: T;
248
+ columnId: string;
249
+ } | null;
250
+ set openModalCell(v: {
251
+ row: T;
252
+ columnId: string;
253
+ } | null);
254
+ private _shownActionsPopup;
255
+ get shownActionsPopup(): symbol | undefined;
256
+ set shownActionsPopup(v: symbol | undefined);
257
+ /**
258
+ * Delegating getter preserved for backwards compatibility. The
259
+ * actual `$derived` chain (and the async-result cache) live on
260
+ * `_selection.allSelectedInCurrentPage` (Phase 6.5).
261
+ */
127
262
  get allSelectedInCurrentPage(): boolean;
128
- private allSelectedBySelectableMethod;
129
- private _areAllHighlighted;
130
- private _allHighlighted;
263
+ /**
264
+ * Delegating getter preserved for backwards compatibility. Reads
265
+ * through to `_selection.allHighlighted`; the value is published by
266
+ * the `_allHighlightedEffect` below which lives on this class
267
+ * because it reads `paginationRepo.pageStartIndex` / `pageEndIndexExclusive`
268
+ * directly.
269
+ */
131
270
  get allHighlighted(): boolean;
132
- private _hasHighlightedItems;
271
+ /**
272
+ * Delegating getter preserved for backwards compatibility. The
273
+ * `$derived` lives on `_selection.hasHighlightedItems` (Phase 6.5).
274
+ */
133
275
  get hasHighlightedItems(): boolean;
134
- private _selectedItems;
276
+ /**
277
+ * Delegating accessors preserved for backwards compatibility. The
278
+ * `$state` slots live on `_selection` (Phase 6.5). `selectedItems`
279
+ * is read-only at this surface; the consumer-facing writers are
280
+ * `toggleSelected` / `setSelected` / `resetSelectedItems` /
281
+ * `setSelectionMap` below.
282
+ */
135
283
  get selectedItems(): SvelteMap<RowIdType, T>;
136
- private _invalidValues;
137
284
  get invalidValues(): SvelteMap<RowIdType, T>;
138
285
  set invalidValues(v: SvelteMap<RowIdType, T>);
139
286
  private _hasInvalidSelectedItems;
140
287
  get hasInvalidSelectedItems(): boolean;
141
288
  private set hasInvalidSelectedItems(value);
142
- private columnDefsById;
143
- private readonly getSortingFn;
144
- private _filteredIndices;
289
+ /**
290
+ * Delegating accessor preserved for backwards compatibility. The
291
+ * id->def lookup map is owned by `_columnLayout.columnDefsById`
292
+ * (Phase 6.3); previously this was a `$derived` private field on
293
+ * `TableContext`. Made `public get` (instead of the previous
294
+ * `private` field) so the dependent sub-contexts (`SortingState`)
295
+ * and helpers (`generateTableOptions`) can read it through the
296
+ * legacy surface without piercing the sub-context boundary.
297
+ */
298
+ get columnDefsById(): ReadonlyMap<string, ColumnDef<T>>;
299
+ /**
300
+ * Phase 6.3 sub-context that owns the column-layout state:
301
+ * `columnDefs`, `columnSizing`, `columnPinning`, `columnVisibility`,
302
+ * the `columnDefsById` reverse-lookup map, the `visualColumns`
303
+ * cached array (and the paired `visualColumnIndexById` O(1) lookup),
304
+ * the gated `setColumnPinning` updater, the `updateDefsBasedOnPinning`
305
+ * helper, and the `setNewPinningState` helper.
306
+ *
307
+ * Dependencies are passed as thunks so the sub-context never holds
308
+ * a reference to the parent. The `allowColumnReordering` thunk
309
+ * gates the public `setColumnPinning` updater; the `debug` thunk
310
+ * mirrors the parent's logger gate.
311
+ */
312
+ readonly _columnLayout: ColumnLayoutState<T>;
313
+ /**
314
+ * Phase 6.2 sub-context that owns the filtering-related state: the
315
+ * per-row filter result (`filteredIndices`), the `filteredData`
316
+ * derived chain, the user-facing toggles (`showQuickFiltering`,
317
+ * `showSelectedOnly`), the per-type `FilterFn` relays, the
318
+ * remote-filter slot, and the `updateFilters` `OnChangeFn` slot.
319
+ *
320
+ * Dependencies are passed as thunks so the sub-context never holds
321
+ * a reference to the parent; the population effect for
322
+ * `_filteredIndices` stays in `TableContext` because it calls
323
+ * `this.createRow` (parent concern) - the effect publishes its
324
+ * result via `this._filtering.setFilteredIndices`.
325
+ */
326
+ readonly _filtering: FilteringState<T>;
327
+ /**
328
+ * Delegating getter preserved for backwards compatibility. Reads
329
+ * through to `_filtering.filteredIndices`, which is populated by
330
+ * the per-row filter `$effect` in this class (the effect calls
331
+ * `this.createRow` and must stay where `createRow` lives).
332
+ */
145
333
  get filteredIndices(): ReadonlyArray<number>;
146
- readonly filteredData: T[];
147
- private sortedDataAbortController;
148
- readonly sortedData: T[];
334
+ /**
335
+ * Delegating getter preserved for backwards compatibility. Reads
336
+ * through to `_filtering.filteredData`, which owns the local /
337
+ * remote / show-selected-only branching.
338
+ */
339
+ get filteredData(): Array<T>;
340
+ /**
341
+ * Phase 6.1 sub-context that owns the sort-related derived chain and
342
+ * the per-`ColumnDef` comparator dispatch. The dependency thunks
343
+ * close over `this.columnDefsById` / `this.filteredData` /
344
+ * `this.dataRepo` / `this.paginationRepo` / `this.debug`, so the
345
+ * sub-context never holds a direct reference to the parent and the
346
+ * reactivity graph remains threaded through `$derived` only.
347
+ *
348
+ * Exposed as a public field so future consumers can read sorting
349
+ * state directly; the legacy `sortedData` getter below preserves the
350
+ * pre-decomposition surface for backwards compatibility.
351
+ */
352
+ readonly _sorting: SortingState<T>;
353
+ /**
354
+ * Phase 6.4 sub-context that owns every persistence / preferences
355
+ * concern previously held directly on `TableContext`:
356
+ *
357
+ * - the saved column-presets list and currently-selected preset
358
+ * (`columnPresets`, `selectedPreset`);
359
+ * - the `userIdSegment` `$derived` (used to namespace every
360
+ * `scoria-table:<user>:<tableName>:<suffix>` storage key);
361
+ * - the `saveColumnPreset` / `setSelectedPreset` writers (which
362
+ * apply the layout AND persist);
363
+ * - the `loadPresets` / `loadSelectedPresetName` /
364
+ * `loadSavedSettings` boot-time hydration helpers;
365
+ * - the `persistSettings` writer used by the in-app settings
366
+ * toggles (`setIsCompact`, `setAlternateRowColours`, etc.);
367
+ * - the schema-validation typeguards (exported alongside the
368
+ * sub-context for unit testing).
369
+ *
370
+ * The settings fields themselves (`isCompact`, `singleClickEditing`,
371
+ * `alternateRowColours`, etc.) stay on `TableContext` because each
372
+ * one drives reactive UI; only the localStorage round-trip moved.
373
+ * `TableContext` retains delegating getters/setters/methods for
374
+ * every legacy surface (`columnPresets`, `selectedPreset`,
375
+ * `saveColumnPreset`, `setSelectedPreset`, `setIsCompact`, etc.).
376
+ */
377
+ readonly _preferences: PreferencesState<T>;
378
+ /**
379
+ * Phase 6.5 sub-context that owns every selection + highlighting +
380
+ * key-cache concern previously held directly on `TableContext`:
381
+ *
382
+ * - `selectedItems` / `invalidValues` / `highlightedItems`
383
+ * (`SvelteMap` slots, keyed by `selectionExtractor(item)`);
384
+ * - the `WeakMap<T, RowIdType>` key-cache that memoises the
385
+ * extractor result for each row reference;
386
+ * - the pending-flush buffer and its debounced microtask
387
+ * (`_pendingSelectionChanges` -> `tick().then(flush)`);
388
+ * - the `allSelectedInCurrentPage` `$derived` (with the async-
389
+ * result cache for promise-returning `selectionExtractor` /
390
+ * `RowSelectionDef.isSelectable`);
391
+ * - the `selectAllInCurrentPage` / `updateSelectedItems` /
392
+ * `onHighlightAll` flows;
393
+ * - the `handleItemMutation` split that powers the parent's
394
+ * `onEditCell` - the sub-context owns the key-cache delete +
395
+ * selection rebind; the user-supplied callback stays on this
396
+ * class.
397
+ *
398
+ * Dependencies are passed as thunks so the sub-context never holds
399
+ * a direct reference to `TableContext`. The two `$effect`s that
400
+ * historically lived on this class continue to live here (they
401
+ * read `paginationRepo` directly) but publish their results
402
+ * through `_selection.setAllHighlighted(...)` and
403
+ * `_selection.updateSelectedItems()`.
404
+ */
405
+ readonly _selection: SelectionState<T, RowIdType>;
406
+ /**
407
+ * Phase 6.6 sub-context that owns every focus + keyboard-navigation
408
+ * concern previously held directly on `TableContext`:
409
+ *
410
+ * - `focusStart` / `focusEnd` / `focusStartIsBeingEdited` /
411
+ * `isMousingDown` (the `$state` slots that define the focused
412
+ * cell-range);
413
+ * - the `focusedRowIndices` / `focusedColumnIds` sets (populated
414
+ * by the parent's `$effect` through `setFocusedDerived(...)`);
415
+ * - every focus writer (`startFocus`, `moveFocus`, `unfocus`,
416
+ * `endFocus`, `setFocusEnd`, `focusToTop`, `focusToBottom`,
417
+ * `focusToStart`, `focusToEnd`, `moveToTop`, `moveToBottom`,
418
+ * `moveToStart`, `moveToEnd`, `setFocusUp` / `setFocusDown` /
419
+ * `setFocusLeft` / `setFocusRight`, and the
420
+ * `moveFocusUp` / `moveFocusDown` / `moveFocusLeft` /
421
+ * `moveFocusRight` range-extension variants);
422
+ * - `handleTdKeydown` (the root `onkeydown` router) and the
423
+ * private `handleKeystroke` dispatch.
424
+ *
425
+ * Dependencies are passed as thunks so the sub-context never holds
426
+ * a direct reference to `TableContext`. The Ctrl+F / Tab / Ctrl+C
427
+ * paths in `handleTdKeydown` and `handleKeystroke` call back into
428
+ * the parent through the `toggleQuickFiltering` / `tabForward` /
429
+ * `tabBackward` / `copyDataToClipboard` thunks because those
430
+ * methods read fields owned by other sub-contexts (or the parent
431
+ * directly) and would otherwise need to import them.
432
+ *
433
+ * The focus-derived `$effect` that publishes
434
+ * `focusedRowIndices` / `focusedColumnIds` lives on `TableContext`
435
+ * because it reads `paginationRowModel` + `_visualColumns` directly;
436
+ * it calls `_focus.setFocusedDerived(rows, cols)` to publish.
437
+ *
438
+ * Group 2 Item C (per-cell `TableFocusDetails` reuse cache) is
439
+ * deferred for Phase 6.6 - see the class-level JSDoc on
440
+ * `FocusState` for the deferral rationale.
441
+ */
442
+ readonly _focus: FocusState<T>;
443
+ /**
444
+ * Phase 7.4 row-virtualisation sub-context. Owns the visible-row
445
+ * window plus the top / bottom spacer-height derived chain that
446
+ * `TableBody.svelte` renders. Threshold defaults to 100 rows
447
+ * (below that the legacy code path renders every row directly);
448
+ * overscan defaults to 10 rows above and below the viewport so a
449
+ * fast flick of the wheel does not surface a blank band before
450
+ * the next paint.
451
+ *
452
+ * Dependencies are thunks - the sub-context reads
453
+ * `paginationRowModel.rows` through `getRows`, the max-side
454
+ * observed height from the `_columnLayout` row-height pool
455
+ * through `getRowHeight`, and the per-table-density estimate
456
+ * through `getEstimatedRowHeight`.
457
+ */
458
+ /**
459
+ * Rendered widths of header cells, keyed by columnId. TableHead
460
+ * observes each `<div role="columnheader">` with a `ResizeObserver`
461
+ * and writes the actual rendered width here; TableRow / TableBody
462
+ * read these widths when computing sticky pinning offsets so that
463
+ * pinned columns can flex with `minmax(W, 1fr)` like centre columns
464
+ * (matching width-preservation expectation on pinning) while the
465
+ * sticky-cell offsets stay accurate.
466
+ *
467
+ * Fallback when a column has not yet been measured: 0. The first
468
+ * frame after pinning toggles may render with stale offsets but the
469
+ * resize observer fires immediately afterwards.
470
+ */
471
+ readonly _columnRenderedWidths: SvelteMap<string, number>;
472
+ readonly _virtualisation: VirtualisationState<T>;
473
+ /**
474
+ * Delegating getter preserved for backwards compatibility. Reads
475
+ * through to `_sorting.sortedData`, which owns the comparator-hoist
476
+ * optimisation and the `AbortController` short-circuit. Consumers
477
+ * inside `src/lib` already point at `tableContext.sortedData`; the
478
+ * delegation will be removed once Phase 6 v-next migrates every
479
+ * reader to `tableContext._sorting.sortedData` directly.
480
+ */
481
+ get sortedData(): Array<T>;
149
482
  private _sortedRowModel;
150
483
  get sortedRowModel(): RowModel<T>;
151
484
  private CurrentPageDataAbortController;
@@ -155,96 +488,285 @@ export declare class TableContext<T extends object, RowIdType extends Primitive>
155
488
  private rowsPromise;
156
489
  private _paginationRowModel;
157
490
  get paginationRowModel(): RowModel<T>;
158
- private readonly _keyCache;
491
+ /**
492
+ * Delegating wrapper preserved for backwards compatibility. The
493
+ * key-extraction cache lives on `_selection` (Phase 6.5); this
494
+ * method forwards to `_selection.cachedKey(item)` so legacy call
495
+ * sites in `getHighlightedRowData` / `getFocusElementData` /
496
+ * `originalRowIndices` / `sortedRowModel` / `onHighlightAll` see
497
+ * no behavioural change.
498
+ */
159
499
  private _cachedKey;
160
- private readonly _pendingSelectionChanges;
161
- private _flushScheduled;
162
- private _flushPendingSelectionChanges;
163
- private _schedulePendingFlush;
500
+ /** Delegating accessor preserved for backwards compatibility. The
501
+ * implementation lives on `_selection.selectionContains` (Phase 6.5). */
164
502
  readonly selectionContains: (item: T) => boolean | Promise<boolean>;
503
+ /** Delegating accessor preserved for backwards compatibility. */
165
504
  readonly addInvalidValue: (item: T) => void | Promise<void>;
505
+ /** Delegating accessor preserved for backwards compatibility. */
166
506
  readonly removeInvalidValue: (item: T) => void | Promise<void>;
167
- readonly setOpenModalCoordinates: (coordinates: CellCoordinatesWithoutColumn | null) => void;
507
+ /**
508
+ * Stores or clears the cell whose per-cell modal is currently open.
509
+ *
510
+ * Pass `{ row, columnId }` to open; pass `null` to close. The `row`
511
+ * value must be the same object reference the table holds for that row
512
+ * (`cell.row.original`) - identity comparison is what the cell
513
+ * renderers use to decide which one of them should render the modal.
514
+ */
515
+ readonly setOpenModalCell: (cell: {
516
+ row: T;
517
+ columnId: string;
518
+ } | null) => void;
519
+ /** Delegating accessor preserved for backwards compatibility. */
168
520
  readonly toggleHighlightedRow: (item: T) => void | Promise<void>;
521
+ /** Delegating accessor preserved for backwards compatibility. */
169
522
  readonly resetHighlightedRows: () => void;
523
+ /** Delegating accessor preserved for backwards compatibility. */
170
524
  readonly toggleSelected: (item: T) => void | Promise<void>;
525
+ /** Delegating accessor preserved for backwards compatibility. */
171
526
  readonly setSelected: (item: T, selected: boolean) => void | Promise<void>;
527
+ /** Delegating accessor preserved for backwards compatibility. */
172
528
  setSelectionMap: (set: SvelteMap<RowIdType, T>) => void;
529
+ /** Delegating accessor preserved for backwards compatibility. */
173
530
  readonly updateSelectedItems: () => Promise<void>;
531
+ /** Delegating accessor preserved for backwards compatibility. */
174
532
  readonly resetSelectedItems: () => void;
533
+ /** Delegating accessor preserved for backwards compatibility. */
175
534
  readonly selectAllInCurrentPage: () => Promise<void>;
535
+ /** Delegating accessor preserved for backwards compatibility. */
176
536
  readonly onHighlightAll: () => void | Promise<void>;
537
+ /**
538
+ * Invoked by every editable cell on commit. Split between this
539
+ * class (the user-supplied edit callback) and `_selection`
540
+ * (the key-cache invalidation + selection-rebind half). The
541
+ * sub-context's `handleItemMutation` accepts a thunk that runs
542
+ * the consumer callback between the pre- and post-edit selection
543
+ * bookkeeping so the boundary stays explicit.
544
+ */
177
545
  readonly onEditCell: (item: T, coords: CellCoordinates, value: unknown) => Promise<void>;
546
+ /**
547
+ * Delegating accessor preserved for backwards compatibility. The
548
+ * implementation lives on `_focus.handleTdKeydown` (Phase 6.6).
549
+ * Bound to the root `<table>` container's `onkeydown` listener;
550
+ * routes Ctrl+F / Escape / Tab synchronously and dispatches the
551
+ * arrow-key / Home / End / Ctrl+A / Ctrl+C path asynchronously.
552
+ */
178
553
  readonly handleTdKeydown: (e: KeyboardEvent) => void;
179
- private handleKeystroke;
554
+ /** Toggles quick-filtering visibility and refocuses the matching cell. */
180
555
  readonly toggleQuickFiltering: () => void;
556
+ /**
557
+ * Applies an updater to the column-pinning state (left / right
558
+ * pins). Delegates to `_columnLayout.setColumnPinning`, which
559
+ * enforces the `allowColumnReordering` master gate.
560
+ */
181
561
  readonly setColumnPinning: (updater: Updater<ColumnPinningState>) => void;
182
- updateFilters: OnChangeFn<ColumnFiltersState> | undefined;
562
+ /**
563
+ * Delegating accessor preserved for backwards compatibility. The
564
+ * actual `$state` slot lives on `_filtering`; this getter / setter
565
+ * pair forwards reads and writes so existing consumers (notably
566
+ * `generateTableOptions`) need no migration.
567
+ */
568
+ get updateFilters(): OnChangeFn<ColumnFiltersState> | undefined;
569
+ set updateFilters(v: OnChangeFn<ColumnFiltersState> | undefined);
183
570
  updateVisibility: OnChangeFn<VisibilityState>;
184
571
  readonly table: ITable<T>;
185
572
  readonly lastPage: number;
573
+ /** Canvas-measured width of a column header label, plus padding. */
186
574
  readonly measureHeaderWidth: (columnDef: ColumnDef<T>) => number;
575
+ /** Sizes a column to fit its widest current-page cell label. */
187
576
  readonly autoResize: (columnDef: ColumnDef<T>) => Promise<void>;
188
- reorderColumn: (dropTarget: HTMLLIElement | HTMLTableCellElement | null) => void;
577
+ /**
578
+ * Drops the in-progress column drag onto the supplied target,
579
+ * updating `columnDefs`, pinning state, and focus. No-op when
580
+ * column reordering is disabled.
581
+ */
582
+ reorderColumn: (dropTarget: HTMLLIElement | HTMLElement | null) => void;
583
+ /**
584
+ * Programmatic column-reorder primitive used by keyboard accessibility
585
+ * shortcuts in the column-management panel. Moves the column at
586
+ * {@link currentIndex} to {@link newIndex} (both expressed in the
587
+ * sorted-by-`index` order of {@link columnDefs}). No-op when column
588
+ * reordering is disabled or indices are out of range / unchanged.
589
+ */
590
+ moveColumnTo: (currentIndex: number, newIndex: number) => void;
591
+ /** Copies the highlighted rows to the OS clipboard as TSV / CSV. */
189
592
  copyHighlightedRowsToClipboard: () => Promise<void>;
593
+ /** Copies the currently focused cell range to the OS clipboard. */
190
594
  copyDataToClipboard: () => Promise<void>;
191
595
  private _performRowCopy;
596
+ /** Delegating accessor preserved for backwards compatibility. The
597
+ * implementation lives on `_focus.startFocus` (Phase 6.6). */
192
598
  readonly startFocus: (coords: CellCoordinates) => void;
599
+ /** Delegating accessor preserved for backwards compatibility. The
600
+ * implementation lives on `_focus.moveFocus` (Phase 6.6). */
193
601
  readonly moveFocus: (coords: CellCoordinates, startEditing?: boolean) => void;
602
+ /** Delegating accessor preserved for backwards compatibility. */
194
603
  readonly unfocus: () => void;
604
+ /** Delegating accessor preserved for backwards compatibility. */
195
605
  readonly focusToTop: () => void;
606
+ /** Delegating accessor preserved for backwards compatibility. */
196
607
  readonly focusToBottom: () => void;
608
+ /** Delegating accessor preserved for backwards compatibility. */
197
609
  readonly moveToBottom: () => void;
610
+ /** Delegating accessor preserved for backwards compatibility. */
198
611
  readonly moveToTop: () => void;
612
+ /** Delegating accessor preserved for backwards compatibility. */
199
613
  readonly moveFocusUp: () => void;
614
+ /** Delegating accessor preserved for backwards compatibility. */
200
615
  readonly setFocusUp: () => void;
616
+ /** Delegating accessor preserved for backwards compatibility. */
201
617
  readonly tabForward: () => void;
618
+ /** Delegating accessor preserved for backwards compatibility. */
202
619
  readonly tabBackward: () => void;
620
+ /** Delegating accessor preserved for backwards compatibility. */
203
621
  readonly focusToStart: () => void;
622
+ /** Delegating accessor preserved for backwards compatibility. */
204
623
  readonly moveToStart: () => void;
624
+ /** Delegating accessor preserved for backwards compatibility. */
205
625
  readonly focusToEnd: () => void;
626
+ /** Delegating accessor preserved for backwards compatibility. */
206
627
  readonly moveToEnd: () => void;
628
+ /** Delegating accessor preserved for backwards compatibility. */
207
629
  readonly moveFocusDown: () => void;
630
+ /** Delegating accessor preserved for backwards compatibility. */
208
631
  readonly setFocusDown: () => void;
632
+ /** Delegating accessor preserved for backwards compatibility. */
209
633
  readonly moveFocusLeft: () => void;
634
+ /** Delegating accessor preserved for backwards compatibility. */
210
635
  readonly setFocusLeft: () => void;
636
+ /** Delegating accessor preserved for backwards compatibility. */
211
637
  readonly moveFocusRight: () => void;
638
+ /** Delegating accessor preserved for backwards compatibility. */
212
639
  readonly setFocusRight: () => void;
640
+ /** Delegating accessor preserved for backwards compatibility. */
213
641
  readonly endFocus: (coords: CellCoordinates) => void;
642
+ /** Toggles compact row sizing and persists to localStorage. */
214
643
  readonly setIsCompact: (value: boolean) => void;
644
+ /** Toggles alternating row colours and persists to localStorage. */
215
645
  readonly setAlternateRowColours: (value: boolean) => void;
646
+ /** Toggles single-click editing and persists to localStorage. */
216
647
  readonly setSingleClickEditing: (value: boolean) => void;
648
+ /** Toggles row-hover colour change and persists to localStorage. */
217
649
  readonly setChangeColourOnHover: (value: boolean) => void;
650
+ /** Toggles whether copy-to-clipboard prepends a header row and persists. */
218
651
  readonly setCopyWithHeaders: (value: boolean) => void;
652
+ /** Toggles CSV vs TSV copy-to-clipboard separator and persists. */
219
653
  readonly setCommaSeparatedCopy: (value: boolean) => void;
654
+ /**
655
+ * Delegating method preserved for backwards compatibility. Applies
656
+ * the preset to the live column layout, forwards the preset's
657
+ * `sortingState` to the data-repository updater, and persists the
658
+ * selected name. The underlying implementation lives on
659
+ * `_preferences.setSelectedPreset` (Phase 6.4).
660
+ *
661
+ * The pre-extraction debug warning ("no sorting state found") was
662
+ * emitted unconditionally when `paginationRepo.updateSorting` was
663
+ * absent; the sub-context skips that warning because the
664
+ * `applySortingState` thunk already no-ops in that case. The
665
+ * warning is reinstated below so the surface is byte-identical.
666
+ */
220
667
  readonly setSelectedPreset: (preset: ColumnDefSet<T>) => void;
668
+ /**
669
+ * Delegating method preserved for backwards compatibility. Adds or
670
+ * replaces a saved preset for the current column layout and
671
+ * persists the full preset list to localStorage. Delegates to
672
+ * `_preferences.saveColumnPreset` (Phase 6.4).
673
+ */
221
674
  readonly saveColumnPreset: (name: string) => void;
222
675
  /**
223
676
  * This listener should be added and removed based on isMousingDown
224
677
  */
678
+ /** Delegating accessor preserved for backwards compatibility. The
679
+ * implementation lives on `_focus.setFocusEnd` (Phase 6.6). */
225
680
  readonly setFocusEnd: (coords: CellCoordinates) => void;
226
681
  private createRow;
227
682
  private columnDefReturnsTextValue;
683
+ /**
684
+ * Builds the user-controlled settings blob from the current
685
+ * `$state` slots and delegates the actual `localStorage.setItem`
686
+ * call to `_preferences.persistSettings` (Phase 6.4). The settings
687
+ * field set (`isCompact`, `singleClickEditing`, etc.) still lives
688
+ * on `TableContext` because each one drives reactive UI; only the
689
+ * persistence side of the boundary moved.
690
+ */
228
691
  private _updateLocalStorageSettings;
229
692
  /**
230
- * Columns in visual display order: pinned-left → center → pinned-right,
231
- * preserving memory order within each section. Only includes visible columns.
693
+ * Delegating accessor preserved for backwards compatibility. The
694
+ * cached visual-column array and its paired O(1) id->index map now
695
+ * live on `_columnLayout` (Phase 6.3). The underscore prefix is
696
+ * preserved on `TableContext` to keep the existing read sites in
697
+ * `tabForward` / `focusToStart` / `moveFocusLeft` / etc. untouched.
232
698
  */
233
- private get _visualColumns();
234
- /** Returns the visual index of the column with the given id, or -1 if not found. */
699
+ get _visualColumns(): Array<ColumnDef<T>>;
700
+ /** Returns the visual index of the column with the given id, or
701
+ * -1 if not found. Delegates to `_columnLayout.columnVisualIndex`
702
+ * which provides the O(1) lookup. */
235
703
  columnVisualIndex(id: string): VisualColumnIndex;
704
+ /**
705
+ * Delegating getter preserved for backwards compatibility. The
706
+ * implementation lives on `_focus.focusStartVisualColumn`
707
+ * (Phase 6.6); the visual-index lookup itself is owned by
708
+ * `_columnLayout.columnVisualIndex` (Phase 6.3).
709
+ */
236
710
  get focusStartVisualColumn(): VisualColumnIndex;
711
+ /**
712
+ * Delegating getter preserved for backwards compatibility. The
713
+ * implementation lives on `_focus.focusEndVisualColumn`
714
+ * (Phase 6.6).
715
+ */
237
716
  get focusEndVisualColumn(): VisualColumnIndex;
238
- private _moveFocusEndRow;
239
- private _moveFocusRow;
240
717
  private getHighlightedRowData;
241
718
  private getFocusElementData;
242
719
  private updateDefsBasedOnPinning;
243
720
  private assertNoDuplicateIds;
244
721
  private setupDefaultColumnDefs;
722
+ /**
723
+ * Reads the persisted per-table user-settings blob through
724
+ * `_preferences.loadSavedSettings` (Phase 6.4) and applies each
725
+ * field to the live `$state` slot. Field defaults mirror the
726
+ * pre-extraction behaviour:
727
+ *
728
+ * - missing slot: `singleClickEditing` defaults to `true`; every
729
+ * other field keeps its constructor default.
730
+ * - present slot: each field is applied if it would deviate from
731
+ * the constructor default (the "only alter when the user
732
+ * explicitly disabled" semantics are preserved verbatim).
733
+ */
245
734
  private _getUserDefaults;
246
735
  private _setNewPinningState;
247
736
  readonly getToggleSortingHandler: (def: ColumnDef<T>) => () => void;
248
737
  private reassignDefsToPresets;
249
738
  }
250
739
  export declare function isSearchable<T extends object, FilterValueType, FilterOptionsType, CD extends ColumnDef<T, FilterValueType, FilterOptionsType>>(def: CD): def is CD & HasCustomFilterFunction;
740
+ /**
741
+ * Neutralises CSV / TSV formula-injection prefixes recognised by Excel,
742
+ * LibreOffice Calc, Google Sheets, and Apple Numbers.
743
+ *
744
+ * When a clipboard payload reaches a spreadsheet, any cell whose first
745
+ * character is one of `=`, `+`, `-`, `@`, `\t`, `\r` is treated as a
746
+ * formula and evaluated in the user's context. Untrusted row data
747
+ * containing `=cmd|'/c calc'!A1` (or DDE / web-query equivalents) is the
748
+ * canonical attack vector. Prefixing such a value with a single quote
749
+ * (`'`) makes the spreadsheet interpret the cell as a literal string
750
+ * instead.
751
+ *
752
+ * Trade-off: the leading apostrophe is invisible in the rendered cell of
753
+ * every major spreadsheet, but the underlying cell value differs from the
754
+ * source when read back by another formula referencing the cell. This is
755
+ * the accepted industry mitigation (OWASP CSV Injection cheat sheet).
756
+ *
757
+ * Private helper - keep this colocated with `encapsulate` so every
758
+ * clipboard-bound string flows through both functions before being
759
+ * written to the OS clipboard.
760
+ */
761
+ declare function escapeForSpreadsheet(value: string): string;
762
+ declare function encapsulate(value: string): string;
763
+ /**
764
+ * Internal exports for tests. Not part of the public API; do not import
765
+ * from consumer code. Allows the clipboard formula-escape regression test
766
+ * to call the module-private helpers directly.
767
+ */
768
+ export declare const _internal: {
769
+ escapeForSpreadsheet: typeof escapeForSpreadsheet;
770
+ encapsulate: typeof encapsulate;
771
+ };
772
+ export {};