@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,7 +7,7 @@
7
7
  import Action from '../../../../Action.svelte';
8
8
  import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
9
9
  import type { Primitive } from '../../../Types/Context/TableInitOptions.js';
10
- import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
10
+ import type { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
11
11
  import { devCatch, isValidityTuple } from '../../../../../Helpers/Helpers.svelte.js';
12
12
  import { ColourSet } from '../../../../../scss/colours.js';
13
13
  import { Size } from '../../../../../Types/Internal/Size.js';
@@ -21,9 +21,9 @@
21
21
  onExpandChange,
22
22
  }: ExpandCellProps<T, R, IdType, FilterValueType> = $props();
23
23
 
24
- const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
25
- const focusDetails: TableFocusDetails<T, never> = $derived(
26
- new TableFocusDetails(cell, tableContext)
24
+ const tableContext = getContext<TableContext<T, IdType>>(TableContext.identifier);
25
+ const focusDetails: TableFocusDetails<T, IdType> = $derived(
26
+ tableContext._focus.getFocusDetailsFor(cell)
27
27
  );
28
28
 
29
29
  const enabled: boolean | Promise<boolean> = $derived(
@@ -49,7 +49,8 @@
49
49
  </script>
50
50
 
51
51
  <!-- svelte-ignore a11y_mouse_events_have_key_events -->
52
- <td
52
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
53
+ <div
53
54
  class:info={validity == Validity.Info}
54
55
  class:success={validity == Validity.Valid}
55
56
  class:warning={validity == Validity.Warning}
@@ -88,7 +89,7 @@
88
89
  {@render action(enabled)}
89
90
  {/await}
90
91
  </div>
91
- </td>
92
+ </div>
92
93
 
93
94
  {#snippet action(enabled: boolean)}
94
95
  <div class="noninteractive">
@@ -116,7 +117,11 @@
116
117
  </div>
117
118
  {/snippet}
118
119
 
119
- <style>td {
120
+ <style>.focusable,
121
+ .checkbox-cell,
122
+ .input-cell,
123
+ .select-cell,
124
+ .datepicker-cell {
120
125
  transition: line-height 0.2s ease, height 0.2s ease;
121
126
  --input-border: none;
122
127
  --input-height: var(--height);
@@ -126,35 +131,50 @@
126
131
  position: relative;
127
132
  padding-left: 0.75rem;
128
133
  padding-right: 0.75rem;
129
- border: solid 1px #cbd4da;
130
- border-left: none;
134
+ border-right: solid 1px #cbd4da;
135
+ border-bottom: solid 1px #cbd4da;
136
+ box-sizing: border-box;
137
+ width: 100%;
138
+ height: var(--height);
131
139
  }
132
140
 
133
- td.focusable {
141
+ .focusable {
134
142
  user-select: none;
135
143
  cursor: default;
136
144
  outline: none;
137
145
  }
138
- td.focusable.editable {
146
+ .focusable.editable {
139
147
  cursor: pointer;
140
148
  }
141
149
 
142
- td {
150
+ .focusable,
151
+ .checkbox-cell,
152
+ .input-cell,
153
+ .select-cell {
143
154
  max-height: var(--max-height);
144
155
  height: var(--height);
145
- box-sizing: content-box;
156
+ box-sizing: border-box;
146
157
  overflow-x: clip;
147
158
  --td-padding-left: 0;
148
159
  --td-padding-right: 0;
149
160
  }
150
161
 
151
- td.info {
162
+ .focusable.info,
163
+ .checkbox-cell.info,
164
+ .input-cell.info,
165
+ .select-cell.info {
152
166
  background-color: #1f81a0;
153
167
  }
154
- td.warning {
168
+ .focusable.warning,
169
+ .checkbox-cell.warning,
170
+ .input-cell.warning,
171
+ .select-cell.warning {
155
172
  background-color: #f8eab8;
156
173
  }
157
- td.error {
174
+ .focusable.error,
175
+ .checkbox-cell.error,
176
+ .input-cell.error,
177
+ .select-cell.error {
158
178
  background-color: #f9e9e9;
159
179
  }
160
180
 
@@ -2,25 +2,29 @@
2
2
 
3
3
  <script
4
4
  lang="ts"
5
- generics="T extends object, FilterValueType"
5
+ generics="T extends object, FilterValueType, RowIdType extends Primitive"
6
6
  >
7
+ import Portal from '../../../../Portal.svelte';
8
+ import type { AbstractDisplayDef } from '../../../Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js';
7
9
  import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
8
- import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
10
+ import { type Primitive } from '../../../Types/Context/TableInitOptions.js';
11
+ import type { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
9
12
  import { devCatch, isValidityTuple, loadingText } from '../../../../../Helpers/Helpers.svelte.js';
10
13
  import type { SelectOption } from '../../../../../Types/Internal/SelectOption.js';
11
14
  import { Validity } from '../../../../../Types/Internal/Validity.js';
12
- import { getContext } from 'svelte';
15
+ import { getContext, tick } from 'svelte';
13
16
  import type { FocusableImmutableCellProps } from './FocusableImmutableCellProps.js';
14
17
 
15
18
  const { cell, children }: FocusableImmutableCellProps<T, FilterValueType> = $props();
16
19
 
17
20
  const value = $derived(cell.getValue());
18
21
 
22
+ /** Optional override-display value from the column def; falls back to the raw `value`. */
19
23
  const visibleValue = $derived(
20
24
  cell.column.columnDef.getDisplayValue?.(cell.row.original, cell.row.originalIndex) ?? value
21
25
  );
22
26
 
23
- const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
27
+ const tableContext = getContext<TableContext<T, RowIdType>>(TableContext.identifier);
24
28
 
25
29
  const options: Array<SelectOption<unknown>> = $derived(
26
30
  ('options' in cell.column.columnDef ? cell.column.columnDef.options : []) as Array<
@@ -29,10 +33,50 @@
29
33
  );
30
34
  const hasValue: boolean = $derived(value !== undefined);
31
35
 
32
- const focusDetails: TableFocusDetails<T, never> = $derived(
33
- new TableFocusDetails(cell, tableContext)
36
+ const focusDetails: TableFocusDetails<T, RowIdType> = $derived(
37
+ tableContext._focus.getFocusDetailsFor(cell)
34
38
  );
35
39
 
40
+ // `modal` lives on every `AbstractDisplayDef` subclass (Display,
41
+ // Bubble, Progress, Validity), so a duck-typed read against the base
42
+ // `ColumnDef` is sufficient and avoids importing the entire
43
+ // AbstractDisplayDef class chain just to satisfy the type checker.
44
+ const modalComponent = $derived(
45
+ (cell.column.columnDef as AbstractDisplayDef<T, FilterValueType>).modal
46
+ );
47
+
48
+ let previousFocusElement: HTMLElement | undefined = $state();
49
+ let showModal = $state(false);
50
+
51
+ const thisId = $derived(
52
+ `${tableContext.tableName}-cell-${cell.row.visibleIndex}-${cell.column.id}`
53
+ );
54
+
55
+ // Match the open-modal state by row-object identity and column id so
56
+ // pagination / sort / filter does not silently re-target the modal at
57
+ // a different row that happens to occupy the same visible index.
58
+ $effect(() => {
59
+ const target = tableContext.openModalCell;
60
+ if (target !== null && target.row === cell.row.original && target.columnId === cell.column.id) {
61
+ previousFocusElement = document.activeElement as HTMLElement | undefined;
62
+ showModal = true;
63
+ } else {
64
+ showModal = false;
65
+ }
66
+ });
67
+
68
+ function onclose() {
69
+ tableContext.setOpenModalCell(null);
70
+
71
+ if (previousFocusElement?.id != thisId) {
72
+ tick()
73
+ .then(() => {
74
+ previousFocusElement?.focus();
75
+ })
76
+ .catch(devCatch);
77
+ }
78
+ }
79
+
36
80
  let validity: Validity = $state(Validity.Valid);
37
81
  $effect(() => {
38
82
  const validityPromise = focusDetails.validity;
@@ -52,16 +96,14 @@
52
96
  </script>
53
97
 
54
98
  <!-- svelte-ignore a11y_mouse_events_have_key_events -->
55
- <!-- class:left={focusDetails.leftEdge}
56
- class:top={focusDetails.topEdge}
57
- class:right={focusDetails.rightEdge}
58
- class:bottom={focusDetails.bottomEdge} -->
59
- <td
60
- id={`${tableContext.tableName}-cell-${cell.row.visibleIndex}-${cell.column.id}`}
99
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
100
+ <div
101
+ id={thisId}
61
102
  class:info={validity == Validity.Info}
62
103
  class:success={validity == Validity.Valid}
63
104
  class:warning={validity == Validity.Warning}
64
105
  class:error={validity == Validity.Invalid}
106
+ class:has-modal={!!modalComponent}
65
107
  tabIndex={hasValue ? 0 : undefined}
66
108
  class="focusable"
67
109
  style={focusDetails.outline}
@@ -86,6 +128,31 @@ class:bottom={focusDetails.bottomEdge} -->
86
128
  onmouseup={() => {
87
129
  tableContext.endFocus(focusDetails.coordinates);
88
130
  }}
131
+ onclick={() => {
132
+ // Open the per-cell modal if the column declares one. Click is
133
+ // the right trigger here (focus already started on mousedown);
134
+ // modal-less display cells fall through to the default focus
135
+ // behaviour with no extra handler.
136
+ if (modalComponent) {
137
+ tableContext.setOpenModalCell({
138
+ row: cell.row.original,
139
+ columnId: cell.column.id,
140
+ });
141
+ }
142
+ }}
143
+ onkeydown={(e) => {
144
+ // Keyboard parity with `onclick` above: when the cell has DOM
145
+ // focus (via `tabIndex`), Enter / Space opens the modal. Only
146
+ // fires for columns that declare a `modal`; non-modal display
147
+ // cells defer to the table's global keyboard navigation.
148
+ if (modalComponent && (e.key === 'Enter' || e.key === ' ')) {
149
+ e.preventDefault();
150
+ tableContext.setOpenModalCell({
151
+ row: cell.row.original,
152
+ columnId: cell.column.id,
153
+ });
154
+ }
155
+ }}
89
156
  >
90
157
  {#if hasValue}
91
158
  {#await visibleValue}
@@ -105,13 +172,32 @@ class:bottom={focusDetails.bottomEdge} -->
105
172
  class:multifocus={focusDetails.isMultiFocused}
106
173
  class:multifocus-start={focusDetails.isMultiFocusStart}
107
174
  >
108
- <!-- TODO {focusDetails.isMultiFocusStart} -->
109
175
  {@render children()}
110
176
  </div>
111
177
  {/if}
112
- </td>
178
+ </div>
179
+ {#if showModal && modalComponent}
180
+ <!--
181
+ Mirrors the `ValidityCell` pattern: portal the modal to
182
+ `document.body` so the surrounding sticky / overflow:hidden
183
+ ancestors (header, pinned columns, virtualised viewport) never
184
+ clip it. The component receives the public
185
+ `DisplayModalProps<T>` shape `{ row, close }`.
186
+ -->
187
+ <Portal target={document.body}>
188
+ {@const ModalComponent = modalComponent}
189
+ <ModalComponent
190
+ row={cell.row.original}
191
+ close={onclose}
192
+ />
193
+ </Portal>
194
+ {/if}
113
195
 
114
- <style>td {
196
+ <style>.focusable,
197
+ .checkbox-cell,
198
+ .input-cell,
199
+ .select-cell,
200
+ .datepicker-cell {
115
201
  transition: line-height 0.2s ease, height 0.2s ease;
116
202
  --input-border: none;
117
203
  --input-height: var(--height);
@@ -121,30 +207,42 @@ class:bottom={focusDetails.bottomEdge} -->
121
207
  position: relative;
122
208
  padding-left: 0.75rem;
123
209
  padding-right: 0.75rem;
124
- border: solid 1px #cbd4da;
125
- border-left: none;
210
+ border-right: solid 1px #cbd4da;
211
+ border-bottom: solid 1px #cbd4da;
212
+ box-sizing: border-box;
213
+ width: 100%;
214
+ height: var(--height);
126
215
  }
127
216
 
128
- td.multifocus {
217
+ .focusable.multifocus,
218
+ .checkbox-cell.multifocus,
219
+ .input-cell.multifocus,
220
+ .select-cell.multifocus {
129
221
  background-color: var(--multifocus-colour, #e6f8fd);
130
222
  }
131
- td.multifocus.multifocus-start {
223
+ .focusable.multifocus.multifocus-start,
224
+ .checkbox-cell.multifocus.multifocus-start,
225
+ .input-cell.multifocus.multifocus-start,
226
+ .select-cell.multifocus.multifocus-start {
132
227
  background-color: #ffffff;
133
228
  }
134
229
 
135
- td.focusable {
230
+ .focusable {
136
231
  user-select: none;
137
232
  cursor: default;
138
233
  outline: none;
139
234
  }
140
- td.focusable.editable {
235
+ .focusable.editable {
141
236
  cursor: pointer;
142
237
  }
143
238
 
144
- td {
239
+ .focusable,
240
+ .checkbox-cell,
241
+ .input-cell,
242
+ .select-cell {
145
243
  max-height: var(--max-height);
146
244
  height: var(--height);
147
- box-sizing: content-box;
245
+ box-sizing: border-box;
148
246
  overflow-x: clip;
149
247
  --td-padding-left: 0;
150
248
  --td-padding-right: 0;
@@ -167,12 +265,21 @@ div.slot-wrapper {
167
265
  justify-content: center;
168
266
  }
169
267
 
170
- td.info {
268
+ .focusable.info,
269
+ .checkbox-cell.info,
270
+ .input-cell.info,
271
+ .select-cell.info {
171
272
  background-color: #1f81a0;
172
273
  }
173
- td.warning {
274
+ .focusable.warning,
275
+ .checkbox-cell.warning,
276
+ .input-cell.warning,
277
+ .select-cell.warning {
174
278
  background-color: #f8eab8;
175
279
  }
176
- td.error {
280
+ .focusable.error,
281
+ .checkbox-cell.error,
282
+ .input-cell.error,
283
+ .select-cell.error {
177
284
  background-color: #f9e9e9;
178
285
  }</style>
@@ -1,25 +1,26 @@
1
+ import { type Primitive } from '../../../Types/Context/TableInitOptions.js';
1
2
  import type { FocusableImmutableCellProps } from './FocusableImmutableCellProps.js';
2
- declare function $$render<T extends object, FilterValueType>(): {
3
+ declare function $$render<T extends object, FilterValueType, RowIdType extends Primitive>(): {
3
4
  props: FocusableImmutableCellProps<T, FilterValueType>;
4
5
  exports: {};
5
6
  bindings: "";
6
7
  slots: {};
7
8
  events: {};
8
9
  };
9
- declare class __sveltets_Render<T extends object, FilterValueType> {
10
- props(): ReturnType<typeof $$render<T, FilterValueType>>['props'];
11
- events(): ReturnType<typeof $$render<T, FilterValueType>>['events'];
12
- slots(): ReturnType<typeof $$render<T, FilterValueType>>['slots'];
10
+ declare class __sveltets_Render<T extends object, FilterValueType, RowIdType extends Primitive> {
11
+ props(): ReturnType<typeof $$render<T, FilterValueType, RowIdType>>['props'];
12
+ events(): ReturnType<typeof $$render<T, FilterValueType, RowIdType>>['events'];
13
+ slots(): ReturnType<typeof $$render<T, FilterValueType, RowIdType>>['slots'];
13
14
  bindings(): "";
14
15
  exports(): {};
15
16
  }
16
17
  interface $$IsomorphicComponent {
17
- new <T extends object, FilterValueType>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, FilterValueType>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, FilterValueType>['props']>, ReturnType<__sveltets_Render<T, FilterValueType>['events']>, ReturnType<__sveltets_Render<T, FilterValueType>['slots']>> & {
18
- $$bindings?: ReturnType<__sveltets_Render<T, FilterValueType>['bindings']>;
19
- } & ReturnType<__sveltets_Render<T, FilterValueType>['exports']>;
20
- <T extends object, FilterValueType>(internal: unknown, props: ReturnType<__sveltets_Render<T, FilterValueType>['props']> & {}): ReturnType<__sveltets_Render<T, FilterValueType>['exports']>;
21
- z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
18
+ new <T extends object, FilterValueType, RowIdType extends Primitive>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, FilterValueType, RowIdType>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, FilterValueType, RowIdType>['props']>, ReturnType<__sveltets_Render<T, FilterValueType, RowIdType>['events']>, ReturnType<__sveltets_Render<T, FilterValueType, RowIdType>['slots']>> & {
19
+ $$bindings?: ReturnType<__sveltets_Render<T, FilterValueType, RowIdType>['bindings']>;
20
+ } & ReturnType<__sveltets_Render<T, FilterValueType, RowIdType>['exports']>;
21
+ <T extends object, FilterValueType, RowIdType extends Primitive>(internal: unknown, props: ReturnType<__sveltets_Render<T, FilterValueType, RowIdType>['props']> & {}): ReturnType<__sveltets_Render<T, FilterValueType, RowIdType>['exports']>;
22
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any, any>['bindings']>;
22
23
  }
23
24
  declare const FocusableImmutableCell: $$IsomorphicComponent;
24
- type FocusableImmutableCell<T extends object, FilterValueType> = InstanceType<typeof FocusableImmutableCell<T, FilterValueType>>;
25
+ type FocusableImmutableCell<T extends object, FilterValueType, RowIdType extends Primitive> = InstanceType<typeof FocusableImmutableCell<T, FilterValueType, RowIdType>>;
25
26
  export default FocusableImmutableCell;
@@ -1,6 +1,13 @@
1
1
  import type { TableCell } from '../../../Types/Columns/TableCell.js';
2
2
  import type { Snippet } from 'svelte';
3
+ /**
4
+ * Props for {@link FocusableImmutableCell}. Either the cell renders its own
5
+ * (possibly async) display value, or, if the value is absent (`undefined`),
6
+ * the consumer's `children` snippet is rendered inside a focus-styled wrapper.
7
+ */
3
8
  export interface FocusableImmutableCellProps<T extends object, FilterValueType> {
9
+ /** Cell whose value should be rendered read-only. */
4
10
  cell: TableCell<T, FilterValueType>;
11
+ /** Optional snippet rendered when `cell.getValue()` is `undefined`. */
5
12
  children?: Snippet;
6
13
  }
@@ -7,29 +7,37 @@
7
7
  import ProgressBubble from '../../../../ProgressBubble.svelte';
8
8
  import type { ProgressBarTableCell } from '../../../Types/Columns/ProgressBarTableCell.js';
9
9
  import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
10
- import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
10
+ import { type Primitive } from '../../../Types/Context/TableInitOptions.js';
11
11
  import { devCatch, isValidityTuple } from '../../../../../Helpers/Helpers.svelte.js';
12
12
  import { Validity } from '../../../../../Types/Internal/Validity.js';
13
13
  import { getContext } from 'svelte';
14
14
 
15
+ /**
16
+ * Props for {@link ProgressCell}. The cell renders a single `<ProgressBubble>`
17
+ * whose `[done, total]` tuple comes from `cell.getValue()`.
18
+ */
15
19
  export interface ProgressCellProps<T extends object, FilterValueType> {
20
+ /** Progress-bar table cell whose `[done, total]` value should be rendered. */
16
21
  cell: ProgressBarTableCell<T, FilterValueType>;
17
22
  }
18
23
  </script>
19
24
 
20
- <!-- TODO editable version of this should contain a multi select -->
21
25
  <script
22
26
  lang="ts"
23
- generics="T extends object, FilterValueType"
27
+ generics="T extends object, FilterValueType, RowIdType extends Primitive"
24
28
  >
25
29
  const { cell }: ProgressCellProps<T, FilterValueType> = $props();
26
30
 
31
+ /**
32
+ * Tuple of `[done, total]`. The cast is unavoidable until `ProgressBarDef`
33
+ * carries a narrowed `TValue = [number, number]` generic; tracked under
34
+ * the cross-cutting RowGenericThreading + ProgressBarDef.value follow-up.
35
+ */
27
36
  const value: [number, number] = $derived(cell.getValue()) as [number, number];
28
37
 
29
- const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
30
- // const previousRowIndex: number | undefined = $state(undefined);
38
+ const tableContext = getContext<TableContext<T, RowIdType>>(TableContext.identifier);
31
39
 
32
- const focusDetails = $derived(new TableFocusDetails<T, never>(cell, tableContext));
40
+ const focusDetails = $derived(tableContext._focus.getFocusDetailsFor(cell));
33
41
 
34
42
  let validity: Validity = $state(Validity.Valid);
35
43
  $effect(() => {
@@ -54,7 +62,8 @@
54
62
  </script>
55
63
 
56
64
  <!-- svelte-ignore a11y_mouse_events_have_key_events -->
57
- <td
65
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
66
+ <div
58
67
  id={`${tableContext.tableName}-cell-${cell.row.visibleIndex}-${cell.column.id}`}
59
68
  tabIndex={0}
60
69
  class="focusable"
@@ -91,9 +100,13 @@
91
100
  {colours}
92
101
  />
93
102
  </div>
94
- </td>
103
+ </div>
95
104
 
96
- <style>td {
105
+ <style>.focusable,
106
+ .checkbox-cell,
107
+ .input-cell,
108
+ .select-cell,
109
+ .datepicker-cell {
97
110
  transition: line-height 0.2s ease, height 0.2s ease;
98
111
  --input-border: none;
99
112
  --input-height: var(--height);
@@ -103,40 +116,61 @@
103
116
  position: relative;
104
117
  padding-left: 0.75rem;
105
118
  padding-right: 0.75rem;
106
- border: solid 1px #cbd4da;
107
- border-left: none;
119
+ border-right: solid 1px #cbd4da;
120
+ border-bottom: solid 1px #cbd4da;
121
+ box-sizing: border-box;
122
+ width: 100%;
123
+ height: var(--height);
108
124
  }
109
125
 
110
- td.multifocus {
126
+ .focusable.multifocus,
127
+ .checkbox-cell.multifocus,
128
+ .input-cell.multifocus,
129
+ .select-cell.multifocus {
111
130
  background-color: var(--multifocus-colour, #e6f8fd);
112
131
  }
113
- td.multifocus.multifocus-start {
132
+ .focusable.multifocus.multifocus-start,
133
+ .checkbox-cell.multifocus.multifocus-start,
134
+ .input-cell.multifocus.multifocus-start,
135
+ .select-cell.multifocus.multifocus-start {
114
136
  background-color: #ffffff;
115
137
  }
116
138
 
117
- td.focusable {
139
+ .focusable {
118
140
  user-select: none;
119
141
  cursor: default;
120
142
  outline: none;
121
143
  }
122
- td.focusable.editable {
144
+ .focusable.editable {
123
145
  cursor: pointer;
124
146
  }
125
147
 
126
- td.info {
148
+ .focusable.info,
149
+ .checkbox-cell.info,
150
+ .input-cell.info,
151
+ .select-cell.info {
127
152
  background-color: #1f81a0;
128
153
  }
129
- td.warning {
154
+ .focusable.warning,
155
+ .checkbox-cell.warning,
156
+ .input-cell.warning,
157
+ .select-cell.warning {
130
158
  background-color: #f8eab8;
131
159
  }
132
- td.error {
160
+ .focusable.error,
161
+ .checkbox-cell.error,
162
+ .input-cell.error,
163
+ .select-cell.error {
133
164
  background-color: #f9e9e9;
134
165
  }
135
166
 
136
- td {
167
+ .focusable,
168
+ .checkbox-cell,
169
+ .input-cell,
170
+ .select-cell {
137
171
  max-height: var(--max-height);
138
172
  height: var(--height);
139
- box-sizing: content-box;
173
+ box-sizing: border-box;
140
174
  overflow-x: clip;
141
175
  --td-padding-left: 0;
142
176
  --td-padding-right: 0;
@@ -1,28 +1,34 @@
1
1
  import type { ProgressBarTableCell } from '../../../Types/Columns/ProgressBarTableCell.js';
2
+ import { type Primitive } from '../../../Types/Context/TableInitOptions.js';
3
+ /**
4
+ * Props for {@link ProgressCell}. The cell renders a single `<ProgressBubble>`
5
+ * whose `[done, total]` tuple comes from `cell.getValue()`.
6
+ */
2
7
  export interface ProgressCellProps<T extends object, FilterValueType> {
8
+ /** Progress-bar table cell whose `[done, total]` value should be rendered. */
3
9
  cell: ProgressBarTableCell<T, FilterValueType>;
4
10
  }
5
- declare function $$render<T extends object, FilterValueType>(): {
11
+ declare function $$render<T extends object, FilterValueType, RowIdType extends Primitive>(): {
6
12
  props: ProgressCellProps<T, FilterValueType>;
7
13
  exports: {};
8
14
  bindings: "";
9
15
  slots: {};
10
16
  events: {};
11
17
  };
12
- declare class __sveltets_Render<T extends object, FilterValueType> {
13
- props(): ReturnType<typeof $$render<T, FilterValueType>>['props'];
14
- events(): ReturnType<typeof $$render<T, FilterValueType>>['events'];
15
- slots(): ReturnType<typeof $$render<T, FilterValueType>>['slots'];
18
+ declare class __sveltets_Render<T extends object, FilterValueType, RowIdType extends Primitive> {
19
+ props(): ReturnType<typeof $$render<T, FilterValueType, RowIdType>>['props'];
20
+ events(): ReturnType<typeof $$render<T, FilterValueType, RowIdType>>['events'];
21
+ slots(): ReturnType<typeof $$render<T, FilterValueType, RowIdType>>['slots'];
16
22
  bindings(): "";
17
23
  exports(): {};
18
24
  }
19
25
  interface $$IsomorphicComponent {
20
- new <T extends object, FilterValueType>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, FilterValueType>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, FilterValueType>['props']>, ReturnType<__sveltets_Render<T, FilterValueType>['events']>, ReturnType<__sveltets_Render<T, FilterValueType>['slots']>> & {
21
- $$bindings?: ReturnType<__sveltets_Render<T, FilterValueType>['bindings']>;
22
- } & ReturnType<__sveltets_Render<T, FilterValueType>['exports']>;
23
- <T extends object, FilterValueType>(internal: unknown, props: ReturnType<__sveltets_Render<T, FilterValueType>['props']> & {}): ReturnType<__sveltets_Render<T, FilterValueType>['exports']>;
24
- z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
26
+ new <T extends object, FilterValueType, RowIdType extends Primitive>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, FilterValueType, RowIdType>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, FilterValueType, RowIdType>['props']>, ReturnType<__sveltets_Render<T, FilterValueType, RowIdType>['events']>, ReturnType<__sveltets_Render<T, FilterValueType, RowIdType>['slots']>> & {
27
+ $$bindings?: ReturnType<__sveltets_Render<T, FilterValueType, RowIdType>['bindings']>;
28
+ } & ReturnType<__sveltets_Render<T, FilterValueType, RowIdType>['exports']>;
29
+ <T extends object, FilterValueType, RowIdType extends Primitive>(internal: unknown, props: ReturnType<__sveltets_Render<T, FilterValueType, RowIdType>['props']> & {}): ReturnType<__sveltets_Render<T, FilterValueType, RowIdType>['exports']>;
30
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any, any>['bindings']>;
25
31
  }
26
32
  declare const ProgressCell: $$IsomorphicComponent;
27
- type ProgressCell<T extends object, FilterValueType> = InstanceType<typeof ProgressCell<T, FilterValueType>>;
33
+ type ProgressCell<T extends object, FilterValueType, RowIdType extends Primitive> = InstanceType<typeof ProgressCell<T, FilterValueType, RowIdType>>;
28
34
  export default ProgressCell;
@@ -1,6 +1,14 @@
1
1
  import type { Column } from '../../../Types/Columns/Column.js';
2
2
  import type { RowSelectionDef } from '../../../Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.js';
3
3
  import type { BoolFilterValueType } from '../../../Types/Filtering/FilterFn.js';
4
+ /**
5
+ * Narrowed `Column<T>` whose `columnDef` is a `RowSelectionDef`.
6
+ *
7
+ * The filter value type is fixed to `BoolFilterValueType` (selected /
8
+ * not-selected / tri-state null) because row-selection is the only filter
9
+ * value space this column supports; consumers therefore do not need to thread
10
+ * a second generic.
11
+ */
4
12
  export interface RowSelectionColumn<T extends object> extends Column<T, BoolFilterValueType> {
5
13
  columnDef: RowSelectionDef<T>;
6
14
  }
@@ -1,6 +1,11 @@
1
1
  import type { TableCell } from '../../../Types/Columns/TableCell.js';
2
2
  import type { BoolFilterValueType } from '../../../Types/Filtering/FilterFn.js';
3
3
  import type { RowSelectionColumn } from './RowSelectionColumn.js';
4
+ /**
5
+ * Narrowed `TableCell<T>` whose `column` is a `RowSelectionColumn`. Paired
6
+ * with `RowSelectionColumn` so the row-selection checkbox component receives a
7
+ * cell handle that has already been narrowed away from the generic union.
8
+ */
4
9
  export interface RowSelectionTableCell<T extends object> extends TableCell<T, BoolFilterValueType> {
5
10
  column: RowSelectionColumn<T>;
6
11
  }
@@ -1,5 +1,16 @@
1
1
  import type { Column } from '../../../Types/Columns/Column.js';
2
2
  import type { SelectDef } from '../../../Types/Columns/Definitions/Accessors/SelectDef.svelte.js';
3
+ /**
4
+ * Narrowed `Column<T>` whose `columnDef` is a `SelectDef`.
5
+ *
6
+ * The variance markers (`in FilterValueType`, `out SelectValueType`) mirror
7
+ * the underlying `SelectDef` declaration and let TypeScript co-/contra-variance
8
+ * follow the assignability of select-typed columns. The historical defaults
9
+ * (`FilterValueType = T`, `SelectValueType = T`) are intentionally retained
10
+ * to avoid mass-breakage of the eight `SelectColumn<T>` consumers; the
11
+ * type-strictness review proposed tightening these to `unknown`. Tightening
12
+ * is deferred (see workorder Cell Glue Types finding 2).
13
+ */
3
14
  export interface SelectColumn<T extends object, in FilterValueType = T, out SelectValueType = T> extends Column<T, FilterValueType> {
4
15
  columnDef: SelectDef<T, FilterValueType, SelectValueType>;
5
16
  }
@@ -1,5 +1,16 @@
1
1
  import type { TableCell } from '../../../Types/Columns/TableCell.js';
2
2
  import type { SelectColumn } from './SelectColumn.js';
3
+ /**
4
+ * Narrowed `TableCell<T>` whose `column` is a `SelectColumn`. `TableSelect`
5
+ * and `MultiSelect` cell hosts consume this so that `cell.column.columnDef`
6
+ * resolves directly to a `SelectDef` without runtime casts.
7
+ *
8
+ * The third generic on `SelectColumn` (`SelectValueType`) is not threaded
9
+ * through here for consistency with the rest of the cell-glue group; the
10
+ * underlying `SelectColumn<T, FilterValueType>` defaults `SelectValueType` to
11
+ * `T` so the cell still compiles. Threading that third generic through is
12
+ * deferred (see workorder Cell Glue Types finding 4).
13
+ */
3
14
  export interface SelectTableCell<T extends object, FilterValueType> extends TableCell<T, FilterValueType> {
4
15
  column: SelectColumn<T, FilterValueType>;
5
16
  }