@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
@@ -7,10 +7,33 @@ declare global {
7
7
  }>;
8
8
  }
9
9
  }
10
+ /**
11
+ * Top-level orchestrator props. Accepts either:
12
+ *
13
+ * - `table`: the structured `Table` instance returned by `createTable(...)`.
14
+ * This is the consumer-facing form.
15
+ * - `tableContext`: the underlying `TableContext`. Used internally by
16
+ * `NestedTable` which constructs a context directly for each
17
+ * expansion. Not intended for consumer use.
18
+ *
19
+ * Exactly one of the two must be supplied; a runtime guard inside the
20
+ * component throws if both are missing. The reference passed in is
21
+ * captured at mount via `setContext` and should not be reassigned
22
+ * afterwards.
23
+ */
10
24
  export interface TableProps<T extends object, IdType extends Primitive> {
11
- readonly tableContext: TableContext<T, IdType>;
25
+ readonly table?: {
26
+ readonly _context: TableContext<T, IdType>;
27
+ };
28
+ readonly tableContext?: TableContext<T, IdType>;
12
29
  nested?: boolean;
13
30
  }
31
+ /**
32
+ * Symbol used to share the currently-open quick-filter select across
33
+ * every header in a single Table tree. Stored via `setContext` on
34
+ * the same component that hosts the Table tree so multiple
35
+ * independent tables on a page each own their own popup state.
36
+ */
14
37
  export declare const quickFilterContextIdentifier: symbol;
15
38
  declare function $$render<T extends object, IdType extends Primitive>(): {
16
39
  props: TableProps<T, IdType>;
@@ -0,0 +1,58 @@
1
+ import type { DefsWrapper } from './Types/Columns/DefsWrapper.js';
2
+ import { TableContext } from './Types/Context/TableContext.svelte.js';
3
+ import type { Primitive } from './Types/Context/TableInitOptions.js';
4
+ import type { CustomFilter } from './Types/Filtering/CustomFilter.js';
5
+ import type { RefWrapper } from '../../Types/Internal/RefWrapper.js';
6
+ /**
7
+ * Argument object passed to {@link createLocalTable}.
8
+ *
9
+ * Lives under `Components/Table/` because it references Table-internal types
10
+ * ({@link DefsWrapper}, {@link Primitive}) that callers outside the Table
11
+ * subtree should not need to know about. Re-exported from the library entry
12
+ * point for public consumption.
13
+ */
14
+ export interface ICreateTableArgs<T extends object, RowIdType extends Primitive> {
15
+ name: string;
16
+ defs: DefsWrapper<T>;
17
+ data: RefWrapper<Array<T>>;
18
+ getUserId: () => string | undefined;
19
+ selectionExtractor: (item: T) => RowIdType | Promise<RowIdType>;
20
+ }
21
+ /**
22
+ * Convenience factory that wires up a {@link TableContext} backed by a
23
+ * {@link LocalTableDataRepository} (in-memory, `$state`-backed data).
24
+ *
25
+ * Co-located with the Table subtree it serves: previously this lived in the
26
+ * generic `Helpers.svelte.ts`, which forced every consumer of unrelated
27
+ * helpers (such as `getErrorMessage` or `asyncMap`) to drag the entire Table
28
+ * subtree into their dependency graph and broke tree-shaking. Moving the
29
+ * factory here breaks the structural cycle
30
+ * `Helpers <-> TableContext <-> RowSelectionDef` while keeping the public
31
+ * `@lavalogic/scoria` surface unchanged via re-export from `src/lib/index.ts`.
32
+ */
33
+ export declare function createLocalTable<T extends object, RowIdType extends Primitive>(args: ICreateTableArgs<T, RowIdType>): TableContext<T, RowIdType>;
34
+ /**
35
+ * Typeguard narrowing a {@link CustomFilter} to a Select-typed filter that
36
+ * carries a non-null `query` function. Useful inside column definitions and
37
+ * filter panel components that need to differentiate query-driven select
38
+ * filters from value-list select filters before invoking the async loader.
39
+ *
40
+ * Belongs under `Components/Table/` because it is meaningful only for the
41
+ * {@link CustomFilter}/{@link CustomFilterType} discriminated union owned by
42
+ * the Table subtree.
43
+ */
44
+ export declare function hasQuery<FilterValueType>(customFilter: CustomFilter<FilterValueType> | undefined): customFilter is CustomFilter<FilterValueType> & Required<Pick<CustomFilter<FilterValueType>, 'query'>>;
45
+ /**
46
+ * Builds a stable two-row comparator for an arbitrary accessor function,
47
+ * honouring an ascending/descending flag. Used by Table sorting paths that
48
+ * need to sort raw rows (rather than column-aware cell values) by an
49
+ * extracted scalar.
50
+ *
51
+ * Nullish accessor results always sort last regardless of direction, mirroring
52
+ * the rendering convention that empty cells trail populated cells.
53
+ *
54
+ * Lives under `Components/Table/` because it is only meaningful in the
55
+ * context of Table sorting; the broader `Helpers` module deliberately does
56
+ * not depend on any Table type.
57
+ */
58
+ export declare function getAccessorSortingFn<T, V>(accessorFn: (item: T) => V, desc: boolean): (a: T, b: T) => 1 | 0 | -1;
@@ -0,0 +1,88 @@
1
+ import { TableContext } from './Types/Context/TableContext.svelte.js';
2
+ import { LocalTableDataRepository } from './Types/DataRepository/LocalTableDataRepository.svelte.js';
3
+ import { CustomFilterType } from './Types/Filtering/CustomFilterType.js';
4
+ /**
5
+ * Convenience factory that wires up a {@link TableContext} backed by a
6
+ * {@link LocalTableDataRepository} (in-memory, `$state`-backed data).
7
+ *
8
+ * Co-located with the Table subtree it serves: previously this lived in the
9
+ * generic `Helpers.svelte.ts`, which forced every consumer of unrelated
10
+ * helpers (such as `getErrorMessage` or `asyncMap`) to drag the entire Table
11
+ * subtree into their dependency graph and broke tree-shaking. Moving the
12
+ * factory here breaks the structural cycle
13
+ * `Helpers <-> TableContext <-> RowSelectionDef` while keeping the public
14
+ * `@lavalogic/scoria` surface unchanged via re-export from `src/lib/index.ts`.
15
+ */
16
+ export function createLocalTable(args) {
17
+ const localRepo = new LocalTableDataRepository(args.name, args.data, args.getUserId);
18
+ return TableContext.init(args.defs, args.name, localRepo, {
19
+ selectionExtractor: args.selectionExtractor,
20
+ getUserId: args.getUserId,
21
+ });
22
+ }
23
+ /**
24
+ * Typeguard narrowing a {@link CustomFilter} to a Select-typed filter that
25
+ * carries a non-null `query` function. Useful inside column definitions and
26
+ * filter panel components that need to differentiate query-driven select
27
+ * filters from value-list select filters before invoking the async loader.
28
+ *
29
+ * Belongs under `Components/Table/` because it is meaningful only for the
30
+ * {@link CustomFilter}/{@link CustomFilterType} discriminated union owned by
31
+ * the Table subtree.
32
+ */
33
+ export function hasQuery(customFilter) {
34
+ return (!!customFilter &&
35
+ customFilter.type == CustomFilterType.Select &&
36
+ !!customFilter.query &&
37
+ typeof customFilter.query == 'function');
38
+ }
39
+ /**
40
+ * Builds a stable two-row comparator for an arbitrary accessor function,
41
+ * honouring an ascending/descending flag. Used by Table sorting paths that
42
+ * need to sort raw rows (rather than column-aware cell values) by an
43
+ * extracted scalar.
44
+ *
45
+ * Nullish accessor results always sort last regardless of direction, mirroring
46
+ * the rendering convention that empty cells trail populated cells.
47
+ *
48
+ * Lives under `Components/Table/` because it is only meaningful in the
49
+ * context of Table sorting; the broader `Helpers` module deliberately does
50
+ * not depend on any Table type.
51
+ */
52
+ export function getAccessorSortingFn(accessorFn, desc) {
53
+ return desc
54
+ ? (_a, _b) => {
55
+ const a = accessorFn(_a);
56
+ const b = accessorFn(_b);
57
+ if (a == undefined && b != undefined) {
58
+ return 1;
59
+ }
60
+ if (b == undefined && a != undefined) {
61
+ return -1;
62
+ }
63
+ if (a < b) {
64
+ return 1;
65
+ }
66
+ if (a > b) {
67
+ return -1;
68
+ }
69
+ return 0;
70
+ }
71
+ : (_a, _b) => {
72
+ const a = accessorFn(_a);
73
+ const b = accessorFn(_b);
74
+ if (a == undefined && b != undefined) {
75
+ return 1;
76
+ }
77
+ if (b == undefined && a != undefined) {
78
+ return -1;
79
+ }
80
+ if (a < b) {
81
+ return -1;
82
+ }
83
+ if (a > b) {
84
+ return 1;
85
+ }
86
+ return 0;
87
+ };
88
+ }
@@ -1,4 +1,14 @@
1
1
  import type { ColumnDef } from './Definitions/ColumnDef.svelte.js';
2
+ /**
3
+ * Header / body view of one column. Wraps the underlying `ColumnDef`
4
+ * with view-layer affordances such as sort toggling, resizing, and
5
+ * visibility lookup.
6
+ *
7
+ * `id` is a bare `string` rather than `string & keyof T` because synthetic
8
+ * columns (actions, expand, row-selection) carry generated ids that are not
9
+ * properties of `T`. Tightening this to a union of accessor-keys and
10
+ * synthetic-prefixed brands is deferred (see workorder `ColumnDef` finding 1).
11
+ */
2
12
  export interface Column<T extends object, in FilterFnType = never, out FilterOptionsType = unknown> {
3
13
  id: string;
4
14
  columnDef: ColumnDef<T, FilterFnType, FilterOptionsType>;
@@ -1,3 +1,15 @@
1
+ /**
2
+ * Runtime shape of the column-pinning state held by `TableContext`. Each map
3
+ * keys a column id to the width (in pixels) at which the column is currently
4
+ * pinned. A column id absent from both maps is unpinned (centre group).
5
+ *
6
+ * The widths are kept as bare numbers rather than `Pixels` brands because the
7
+ * resize handler and header code does arithmetic on them; brand promotion is
8
+ * tracked in the cross-cutting Pixels review.
9
+ *
10
+ * The matching serialisable shape is `JSONColumnPinningState`, which stores
11
+ * the same data as `Array<[id, width]>` pairs for `JSON.stringify`.
12
+ */
1
13
  export interface ColumnPinningState {
2
14
  left?: ReadonlyMap<string, number>;
3
15
  right?: ReadonlyMap<string, number>;
@@ -1 +1,9 @@
1
+ /**
2
+ * Runtime shape of the per-column width state held by `TableContext`. Keyed
3
+ * by column id, valued by current width in pixels. Persisted to localStorage
4
+ * as-is (it is already a JSON-friendly record).
5
+ *
6
+ * Width is a bare `number` rather than a `Pixels` brand; brand promotion is
7
+ * tracked in the cross-cutting Pixels review.
8
+ */
1
9
  export type ColumnSizingState = Record<string, number>;
@@ -1,3 +1,20 @@
1
+ /**
2
+ * Top-level taxonomy for column definitions. Every `ColumnDef` subclass sets
3
+ * `columnType` to one of these literals; the table context uses it to route
4
+ * cells to the correct cell component (`AccessorComponent`, `DisplayCell`,
5
+ * `ExpandCell`, etc.).
6
+ *
7
+ * - `Accessor` - data-backed column (text, number, date, select, query,
8
+ * checkbox).
9
+ * - `Display` - read-only display column with no underlying accessor value
10
+ * (bubble, progress, validity, plain display).
11
+ * - `Custom` - consumer-supplied column with a bespoke cell component.
12
+ * - `Expand` - master-detail expand control.
13
+ * - `RowSelect` - row-selection checkbox column.
14
+ * - `Actions` - action-button column.
15
+ * - `FilterOnly` - column that appears only in the filter panel; not rendered
16
+ * in the body or header.
17
+ */
1
18
  export declare const ColumnType: {
2
19
  readonly Accessor: "Accessor";
3
20
  readonly Display: "Display";
@@ -1,3 +1,20 @@
1
+ /**
2
+ * Top-level taxonomy for column definitions. Every `ColumnDef` subclass sets
3
+ * `columnType` to one of these literals; the table context uses it to route
4
+ * cells to the correct cell component (`AccessorComponent`, `DisplayCell`,
5
+ * `ExpandCell`, etc.).
6
+ *
7
+ * - `Accessor` - data-backed column (text, number, date, select, query,
8
+ * checkbox).
9
+ * - `Display` - read-only display column with no underlying accessor value
10
+ * (bubble, progress, validity, plain display).
11
+ * - `Custom` - consumer-supplied column with a bespoke cell component.
12
+ * - `Expand` - master-detail expand control.
13
+ * - `RowSelect` - row-selection checkbox column.
14
+ * - `Actions` - action-button column.
15
+ * - `FilterOnly` - column that appears only in the filter panel; not rendered
16
+ * in the body or header.
17
+ */
1
18
  export const ColumnType = {
2
19
  Accessor: 'Accessor',
3
20
  Display: 'Display',
@@ -5,6 +22,6 @@ export const ColumnType = {
5
22
  Expand: 'Expand',
6
23
  RowSelect: 'RowSelect',
7
24
  Actions: 'Actions',
8
- FilterOnly: 'Filter Only'
25
+ FilterOnly: 'Filter Only',
9
26
  };
10
27
  Object.freeze(ColumnType);
@@ -1,4 +1,10 @@
1
1
  import type { DateInputDef } from './Definitions/Accessors/DateInputDef.svelte.js';
2
+ /**
3
+ * Narrowed `Column<T>` whose `columnDef` is a `DateInputDef`. Currently
4
+ * declares its own shape rather than `extends Column<T, F, S>`; collapsing to
5
+ * an extension is deferred (see workorder Types-Columns finding 10) because
6
+ * the interface compatibility shift is consumer-facing.
7
+ */
2
8
  export interface DateColumn<T extends object, in FilterValueType, out SelectValueType> {
3
9
  id: string;
4
10
  columnDef: DateInputDef<T, FilterValueType, SelectValueType>;
@@ -1,5 +1,12 @@
1
1
  import type { Row } from '../Context/Row.js';
2
2
  import type { DateColumn } from './DateColumn.js';
3
+ /**
4
+ * Narrowed `TableCell<T>` for date columns. `getValue` is still typed
5
+ * `unknown` because the canonical signature on `TableCell<T>` is also
6
+ * `unknown`; tightening to `Date | null | undefined | Promise<Date | null
7
+ * | undefined>` is deferred to the `TableCell.getValue` workorder so the
8
+ * tightening happens in one place rather than per cell variant.
9
+ */
3
10
  export interface DateTableCell<T extends object, in FilterValueType, out SelectValueType> {
4
11
  column: DateColumn<T, FilterValueType, SelectValueType>;
5
12
  row: Row<T>;
@@ -1 +1,14 @@
1
+ /**
2
+ * `AccessorFn<T, TValue>` projects a row value out of `T` for a given column.
3
+ *
4
+ * The default `TValue = unknown` is retained for backwards compatibility:
5
+ * call sites that hold an `AccessorFn<T>` without a narrower second argument
6
+ * (notably `ColumnDef.accessorFn`) still compile unchanged.
7
+ *
8
+ * Concrete `ColumnDef` subclasses are expected to narrow `TValue` to the
9
+ * column's natural type (`boolean` for `CheckboxDef`, `number | string |
10
+ * null` for `NumberInputDef`, `string | null` for `TextInputDef`, etc.). This
11
+ * narrowing flows into the matching `TableCell` so that `cell.getValue()`
12
+ * returns the column's declared shape rather than `unknown`.
13
+ */
1
14
  export type AccessorFn<T extends object, TValue = unknown> = (originalRow: T, index: number) => TValue;
@@ -1,10 +1,35 @@
1
1
  import { ColumnDef, type ColumnDefProps } from '../ColumnDef.svelte.js';
2
2
  import type { AccessorType } from './AccessorType.js';
3
- export interface AccessorDefProps<T extends object, in FilterValueType, out FilterOptionsType> extends ColumnDefProps<T, FilterValueType, FilterOptionsType> {
3
+ /**
4
+ * Construction-time props for every `AccessorDef` subclass. Narrows
5
+ * `id` to `string & keyof T` so the column id can be used as a literal
6
+ * accessor on `T` (e.g. `row.original[def.id]`).
7
+ *
8
+ * The `TValue` generic is threaded down from `ColumnDef` so subclasses
9
+ * (`CheckboxDef`, `NumberInputDef`, etc.) can pin it to their natural
10
+ * runtime shape.
11
+ */
12
+ export interface AccessorDefProps<T extends object, in FilterValueType, out FilterOptionsType, TValue = unknown> extends ColumnDefProps<T, FilterValueType, FilterOptionsType, TValue> {
4
13
  readonly id: string & keyof T;
5
14
  }
6
- export declare abstract class AccessorDef<T extends object, in FilterValueType, out FilterOptionsType> extends ColumnDef<T, FilterValueType, FilterOptionsType> {
7
- constructor(props: AccessorDefProps<T, FilterValueType, FilterOptionsType>);
15
+ /**
16
+ * `AccessorDef<T, FilterValueType, FilterOptionsType, TValue>` is the
17
+ * base for every data-backed column definition. Discriminates as
18
+ * `ColumnType.Accessor` and exposes a further `accessorType` literal
19
+ * that each leaf subclass narrows (`Checkbox`, `Number`, `Text`,
20
+ * `Date`, `Select`, `Query`).
21
+ *
22
+ * The `TValue` generic is threaded down from `ColumnDef`; subclasses
23
+ * such as `CheckboxDef`, `NumberInputDef`, `TextInputDef`, and
24
+ * `DateInputDef` set it to their natural runtime shape so that the
25
+ * matching `TableCell.getValue()` returns the correct narrow type
26
+ * rather than `unknown`.
27
+ */
28
+ export declare abstract class AccessorDef<T extends object, in FilterValueType, out FilterOptionsType, TValue = unknown> extends ColumnDef<T, FilterValueType, FilterOptionsType, TValue> {
29
+ constructor(props: AccessorDefProps<T, FilterValueType, FilterOptionsType, TValue>);
30
+ /** Discriminator literal pinning every `AccessorDef` subclass to the
31
+ * `Accessor` column kind. Subclasses further narrow via `accessorType`. */
8
32
  readonly columnType: "Accessor";
33
+ /** Inner discriminator literal narrowed by each leaf subclass. */
9
34
  abstract readonly accessorType: AccessorType;
10
35
  }
@@ -1,10 +1,25 @@
1
1
  import { ColumnType } from '../../ColumnType.js';
2
2
  import { ColumnDef } from '../ColumnDef.svelte.js';
3
+ /**
4
+ * `AccessorDef<T, FilterValueType, FilterOptionsType, TValue>` is the
5
+ * base for every data-backed column definition. Discriminates as
6
+ * `ColumnType.Accessor` and exposes a further `accessorType` literal
7
+ * that each leaf subclass narrows (`Checkbox`, `Number`, `Text`,
8
+ * `Date`, `Select`, `Query`).
9
+ *
10
+ * The `TValue` generic is threaded down from `ColumnDef`; subclasses
11
+ * such as `CheckboxDef`, `NumberInputDef`, `TextInputDef`, and
12
+ * `DateInputDef` set it to their natural runtime shape so that the
13
+ * matching `TableCell.getValue()` returns the correct narrow type
14
+ * rather than `unknown`.
15
+ */
3
16
  export class AccessorDef extends ColumnDef {
4
17
  // NOTE: constructor in place to enforce that we're using AccessorDefProps
5
18
  // eslint-disable-next-line @typescript-eslint/no-useless-constructor
6
19
  constructor(props) {
7
20
  super(props);
8
21
  }
22
+ /** Discriminator literal pinning every `AccessorDef` subclass to the
23
+ * `Accessor` column kind. Subclasses further narrow via `accessorType`. */
9
24
  columnType = ColumnType.Accessor;
10
25
  }
@@ -1,3 +1,13 @@
1
+ /**
2
+ * Sub-taxonomy for `Accessor`-typed columns. Selects which editor cell
3
+ * component the body renders for editable cells (`TableTextInput`,
4
+ * `TableNumberInput`, `TableDatePicker`, `TableSelect`, `TableQuerySelect`,
5
+ * `TableCheckbox`).
6
+ *
7
+ * Note: the value space deliberately overlaps with `DisplayType` (`'Date'`,
8
+ * `'Number'`). The unions never mix at the same call site because
9
+ * `ColumnType` discriminates between `Accessor` and `Display` first.
10
+ */
1
11
  export declare const AccessorType: {
2
12
  readonly Text: "Text";
3
13
  readonly Number: "Number";
@@ -1,9 +1,19 @@
1
+ /**
2
+ * Sub-taxonomy for `Accessor`-typed columns. Selects which editor cell
3
+ * component the body renders for editable cells (`TableTextInput`,
4
+ * `TableNumberInput`, `TableDatePicker`, `TableSelect`, `TableQuerySelect`,
5
+ * `TableCheckbox`).
6
+ *
7
+ * Note: the value space deliberately overlaps with `DisplayType` (`'Date'`,
8
+ * `'Number'`). The unions never mix at the same call site because
9
+ * `ColumnType` discriminates between `Accessor` and `Display` first.
10
+ */
1
11
  export const AccessorType = {
2
12
  Text: 'Text',
3
13
  Number: 'Number',
4
14
  Date: 'Date',
5
15
  Select: 'Select',
6
16
  Query: 'Query',
7
- Checkbox: 'Checkbox'
17
+ Checkbox: 'Checkbox',
8
18
  };
9
19
  Object.freeze(AccessorType);
@@ -1,11 +1,32 @@
1
1
  import type { BoolFilterValueType, FilterFn } from '../../../Filtering/FilterFn.js';
2
2
  import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
3
- export interface CheckboxDefProps<T extends object, in FilterValueType = BoolFilterValueType, out SelectValueType = BoolFilterValueType> extends AccessorDefProps<T, FilterValueType, SelectValueType> {
3
+ /**
4
+ * Construction-time props for `CheckboxDef`. The `TValue` generic is
5
+ * pinned to `boolean` so `cell.getValue()` returns the narrow type.
6
+ *
7
+ * Notes:
8
+ * - `in FilterValueType` / `out SelectValueType` are unused by the
9
+ * checkbox UI today but retained so the shape parallels every other
10
+ * `AccessorDef` subclass.
11
+ * - The base interface is extended without adding fields; the marker
12
+ * exists for symmetry and so future checkbox-specific props can be
13
+ * added without a breaking-change rename.
14
+ */
15
+ export interface CheckboxDefProps<T extends object, in FilterValueType = BoolFilterValueType, out SelectValueType = BoolFilterValueType> extends AccessorDefProps<T, FilterValueType, SelectValueType, boolean> {
4
16
  }
5
- export declare class CheckboxDef<T extends object, in FilterValueType = BoolFilterValueType, out SelectValueType = BoolFilterValueType> extends AccessorDef<T, FilterValueType, SelectValueType> {
17
+ /**
18
+ * `CheckboxDef<T, FilterValueType, SelectValueType>` is an `AccessorDef`
19
+ * whose declared value is a `boolean`. The fixed `TValue = boolean`
20
+ * narrows `cell.getValue()` to `boolean | Promise<boolean>` at the cell
21
+ * layer.
22
+ */
23
+ export declare class CheckboxDef<T extends object, in FilterValueType = BoolFilterValueType, out SelectValueType = BoolFilterValueType> extends AccessorDef<T, FilterValueType, SelectValueType, boolean> {
24
+ /** Inner discriminator literal. */
6
25
  readonly accessorType: "Checkbox";
7
26
  constructor(props: CheckboxDefProps<T, FilterValueType, SelectValueType>);
8
27
  private _filterFn;
28
+ /** Filter predicate. Reassignable so consumers can swap the filter
29
+ * function post-construction. */
9
30
  get filterFn(): FilterFn<T, FilterValueType> | undefined;
10
31
  set filterFn(v: FilterFn<T, FilterValueType> | undefined);
11
32
  }
@@ -1,14 +1,21 @@
1
1
  import { AccessorDef } from './AccessorDef.svelte.js';
2
2
  import { AccessorType } from './AccessorType.js';
3
- // export interface CheckboxDefProps<T extends object>
4
- // extends AccessorDefProps<T, BoolFilterValueType> {}
3
+ /**
4
+ * `CheckboxDef<T, FilterValueType, SelectValueType>` is an `AccessorDef`
5
+ * whose declared value is a `boolean`. The fixed `TValue = boolean`
6
+ * narrows `cell.getValue()` to `boolean | Promise<boolean>` at the cell
7
+ * layer.
8
+ */
5
9
  export class CheckboxDef extends AccessorDef {
10
+ /** Inner discriminator literal. */
6
11
  accessorType = AccessorType.Checkbox;
7
12
  constructor(props) {
8
13
  super(props);
9
14
  this._filterFn = $state(props.filterFn);
10
15
  }
11
16
  _filterFn;
17
+ /** Filter predicate. Reassignable so consumers can swap the filter
18
+ * function post-construction. */
12
19
  get filterFn() {
13
20
  return this._filterFn;
14
21
  }
@@ -1,13 +1,32 @@
1
1
  import type { DateFilterValueType, FilterFn } from '../../../Filtering/FilterFn.js';
2
2
  import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
3
- export interface DateInputDefProps<T extends object, in FilterValueType = DateFilterValueType, out SelectValueType = DateFilterValueType> extends AccessorDefProps<T, FilterValueType, SelectValueType> {
3
+ /**
4
+ * Construction-time props for `DateInputDef`. The `TValue` generic is
5
+ * pinned to `Date | null`.
6
+ *
7
+ * Notes:
8
+ * - `showTime` controls whether the input renders a time picker.
9
+ * - The third generic (`SelectValueType`) is unused by the date input
10
+ * today but retained so the shape parallels every other
11
+ * `AccessorDef` subclass.
12
+ */
13
+ export interface DateInputDefProps<T extends object, in FilterValueType = DateFilterValueType, out SelectValueType = DateFilterValueType> extends AccessorDefProps<T, FilterValueType, SelectValueType, Date | null> {
14
+ /** Whether to render a time picker alongside the date picker. Defaults to false. */
4
15
  showTime?: boolean;
5
16
  }
6
- export declare class DateInputDef<T extends object, in FilterValueType = DateFilterValueType, out SelectValueType = DateFilterValueType> extends AccessorDef<T, FilterValueType, SelectValueType> {
17
+ /**
18
+ * `DateInputDef<T, FilterValueType, SelectValueType>` fixes its
19
+ * declared value type at `Date | null` so cell consumers can drop the
20
+ * bespoke cast on `cell.getValue()`.
21
+ */
22
+ export declare class DateInputDef<T extends object, in FilterValueType = DateFilterValueType, out SelectValueType = DateFilterValueType> extends AccessorDef<T, FilterValueType, SelectValueType, Date | null> {
23
+ /** Inner discriminator literal. */
7
24
  readonly accessorType: "Date";
8
25
  constructor(props: DateInputDefProps<T, FilterValueType, SelectValueType>);
9
26
  private _filterFn;
27
+ /** Filter predicate. Reassignable. */
10
28
  get filterFn(): FilterFn<T, FilterValueType> | undefined;
11
29
  set filterFn(v: FilterFn<T, FilterValueType> | undefined);
30
+ /** Whether to render a time picker. */
12
31
  readonly showTime: boolean;
13
32
  }
@@ -1,6 +1,12 @@
1
1
  import { AccessorDef } from './AccessorDef.svelte.js';
2
2
  import { AccessorType } from './AccessorType.js';
3
+ /**
4
+ * `DateInputDef<T, FilterValueType, SelectValueType>` fixes its
5
+ * declared value type at `Date | null` so cell consumers can drop the
6
+ * bespoke cast on `cell.getValue()`.
7
+ */
3
8
  export class DateInputDef extends AccessorDef {
9
+ /** Inner discriminator literal. */
4
10
  accessorType = AccessorType.Date;
5
11
  constructor(props) {
6
12
  super(props);
@@ -8,11 +14,13 @@ export class DateInputDef extends AccessorDef {
8
14
  this._filterFn = $state(props.filterFn);
9
15
  }
10
16
  _filterFn;
17
+ /** Filter predicate. Reassignable. */
11
18
  get filterFn() {
12
19
  return this._filterFn;
13
20
  }
14
21
  set filterFn(v) {
15
22
  this._filterFn = v;
16
23
  }
24
+ /** Whether to render a time picker. */
17
25
  showTime;
18
26
  }
@@ -1,15 +1,41 @@
1
1
  import type { FilterFn, NumberFilterValueType } from '../../../Filtering/FilterFn.js';
2
2
  import { AccessorDef, type AccessorDefProps } from './AccessorDef.svelte.js';
3
- export interface NumberInputDefProps<T extends object, in FilterValueType = NumberFilterValueType, out OptionssValueType = NumberFilterValueType> extends AccessorDefProps<T, FilterValueType, OptionssValueType> {
3
+ /**
4
+ * Construction-time props for `NumberInputDef`. The `TValue` generic is
5
+ * pinned to `number | string | null` - the widened union accepts the
6
+ * historic cell behaviour where a `string` may be parsed at render time
7
+ * and a `null` is interpreted as "no value".
8
+ *
9
+ * Notes:
10
+ * - `min` / `max` are not enforced at the definition layer; the input
11
+ * widget clamps at render time. Tracked in the workorder.
12
+ * - The third generic (now `OptionsValueType`, previously misspelled
13
+ * `OptionssValueType`) is unused by the number input today but
14
+ * retained so the shape parallels every other `AccessorDef` subclass.
15
+ */
16
+ export interface NumberInputDefProps<T extends object, in FilterValueType = NumberFilterValueType, out OptionsValueType = NumberFilterValueType> extends AccessorDefProps<T, FilterValueType, OptionsValueType, number | string | null> {
17
+ /** Minimum value accepted by the input widget. */
4
18
  min: number;
19
+ /** Maximum value accepted by the input widget. */
5
20
  max: number;
6
21
  }
7
- export declare class NumberInputDef<T extends object, in FilterValueType = NumberFilterValueType, out OptionssValueType = NumberFilterValueType> extends AccessorDef<T, FilterValueType, OptionssValueType> {
22
+ /**
23
+ * `NumberInputDef<T, FilterValueType, OptionsValueType>` fixes its
24
+ * declared value type at `number | string | null`. The widened union
25
+ * accepts the historic cell behaviour where a `string` may be parsed
26
+ * at render time and a `null` is interpreted as "no value". Cell
27
+ * consumers can drop the `as number` cast on `cell.getValue()`.
28
+ */
29
+ export declare class NumberInputDef<T extends object, in FilterValueType = NumberFilterValueType, out OptionsValueType = NumberFilterValueType> extends AccessorDef<T, FilterValueType, OptionsValueType, number | string | null> {
30
+ /** Inner discriminator literal. */
8
31
  readonly accessorType: "Number";
9
- constructor(props: NumberInputDefProps<T, FilterValueType, OptionssValueType>);
32
+ constructor(props: NumberInputDefProps<T, FilterValueType, OptionsValueType>);
33
+ /** Minimum value accepted by the input widget. */
10
34
  readonly min: number;
35
+ /** Maximum value accepted by the input widget. */
11
36
  readonly max: number;
12
37
  private _filterFn;
38
+ /** Filter predicate. Reassignable. */
13
39
  get filterFn(): FilterFn<T, FilterValueType> | undefined;
14
40
  set filterFn(v: FilterFn<T, FilterValueType> | undefined);
15
41
  }
@@ -1,6 +1,14 @@
1
1
  import { AccessorDef } from './AccessorDef.svelte.js';
2
2
  import { AccessorType } from './AccessorType.js';
3
+ /**
4
+ * `NumberInputDef<T, FilterValueType, OptionsValueType>` fixes its
5
+ * declared value type at `number | string | null`. The widened union
6
+ * accepts the historic cell behaviour where a `string` may be parsed
7
+ * at render time and a `null` is interpreted as "no value". Cell
8
+ * consumers can drop the `as number` cast on `cell.getValue()`.
9
+ */
3
10
  export class NumberInputDef extends AccessorDef {
11
+ /** Inner discriminator literal. */
4
12
  accessorType = AccessorType.Number;
5
13
  constructor(props) {
6
14
  super(props);
@@ -8,9 +16,12 @@ export class NumberInputDef extends AccessorDef {
8
16
  this.max = $derived(props.max);
9
17
  this._filterFn = $state(props.filterFn);
10
18
  }
19
+ /** Minimum value accepted by the input widget. */
11
20
  min;
21
+ /** Maximum value accepted by the input widget. */
12
22
  max;
13
23
  _filterFn;
24
+ /** Filter predicate. Reassignable. */
14
25
  get filterFn() {
15
26
  return this._filterFn;
16
27
  }