@lavalogic/scoria 0.36.0 → 0.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (550) hide show
  1. package/dist/Components/AccordionGroup.svelte +6 -2
  2. package/dist/Components/AccordionGroupButton.svelte +78 -78
  3. package/dist/Components/AccordionGroupButtonProps.d.ts +27 -8
  4. package/dist/Components/AccordionGroupProps.d.ts +10 -2
  5. package/dist/Components/Action.svelte +31 -33
  6. package/dist/Components/ActionProps.d.ts +23 -3
  7. package/dist/Components/AlertModal.svelte +90 -39
  8. package/dist/Components/AppointmentCalendar/AppointmentCalendar.svelte +1126 -0
  9. package/dist/Components/AppointmentCalendar/AppointmentCalendar.svelte.d.ts +4 -0
  10. package/dist/Components/AppointmentCalendar/AppointmentCalendarProps.d.ts +92 -0
  11. package/dist/Components/AppointmentCalendar/AppointmentCalendarProps.js +12 -0
  12. package/dist/Components/Base/BaseModal.svelte +172 -0
  13. package/dist/Components/Base/BaseModal.svelte.d.ts +4 -0
  14. package/dist/Components/Base/BaseModalProps.d.ts +73 -0
  15. package/dist/Components/Base/BaseModalProps.js +1 -0
  16. package/dist/Components/Base/ContextWrapper.svelte +37 -15
  17. package/dist/Components/Base/ContextWrapper.svelte.d.ts +24 -5
  18. package/dist/Components/Base/ContextWrapperProps.d.ts +22 -0
  19. package/dist/Components/Base/Pagination.svelte +70 -62
  20. package/dist/Components/Base/Pagination.svelte.d.ts +12 -2
  21. package/dist/Components/Base/PaginationProps.d.ts +60 -3
  22. package/dist/Components/Base/Snippets.svelte +7 -0
  23. package/dist/Components/Base/Snippets.svelte.d.ts +5 -1
  24. package/dist/Components/BigRadioSet.svelte +18 -9
  25. package/dist/Components/BigRadioSetProps.d.ts +17 -1
  26. package/dist/Components/Bubble.svelte +67 -34
  27. package/dist/Components/Bubble.svelte.d.ts +23 -2
  28. package/dist/Components/BubbleProps.d.ts +55 -4
  29. package/dist/Components/Button.svelte +50 -38
  30. package/dist/Components/ButtonProps.d.ts +66 -1
  31. package/dist/Components/Checkbox.svelte +57 -29
  32. package/dist/Components/Checkbox.svelte.d.ts +1 -12
  33. package/dist/Components/CheckboxProps.d.ts +27 -0
  34. package/dist/Components/CheckboxProps.js +1 -0
  35. package/dist/Components/CollapsibleCard.svelte +53 -22
  36. package/dist/Components/CollapsibleCardProps.d.ts +22 -1
  37. package/dist/Components/Contexts/ContextMenu.svelte +53 -32
  38. package/dist/Components/Contexts/ContextMenu.svelte.d.ts +26 -0
  39. package/dist/Components/Contexts/ContextMenuDivider.svelte +15 -7
  40. package/dist/Components/Contexts/ContextMenuDivider.svelte.d.ts +9 -0
  41. package/dist/Components/Contexts/ContextMenuOption.svelte +27 -18
  42. package/dist/Components/Contexts/ContextMenuOption.svelte.d.ts +12 -1
  43. package/dist/Components/Contexts/ContextMenuOptionProps.d.ts +34 -2
  44. package/dist/Components/Contexts/Toast.svelte +28 -4
  45. package/dist/Components/Contexts/Toast.svelte.d.ts +14 -0
  46. package/dist/Components/Contexts/ToastContainer.svelte +30 -11
  47. package/dist/Components/Contexts/ToastContainer.svelte.d.ts +14 -0
  48. package/dist/Components/Contexts/ToastProps.d.ts +14 -1
  49. package/dist/Components/Contexts/Tooltip.svelte +21 -10
  50. package/dist/Components/Contexts/Tooltip.svelte.d.ts +10 -0
  51. package/dist/Components/DataMatrixIcon.svelte +82 -11
  52. package/dist/Components/DataMatrixIconProps.d.ts +73 -1
  53. package/dist/Components/DateInput.svelte +64 -29
  54. package/dist/Components/DateInput.svelte.d.ts +1 -1
  55. package/dist/Components/DateOnlyInputProps.d.ts +31 -5
  56. package/dist/Components/DatePicker.svelte +96 -108
  57. package/dist/Components/DatePickerProps.d.ts +18 -1
  58. package/dist/Components/DateTimeInputProps.d.ts +30 -5
  59. package/dist/Components/DesktopModal.svelte +14 -43
  60. package/dist/Components/DesktopModalProps.d.ts +5 -4
  61. package/dist/Components/Dial.svelte +103 -41
  62. package/dist/Components/DialProps.d.ts +74 -2
  63. package/dist/Components/DimensionInput.svelte +50 -64
  64. package/dist/Components/DimensionInput.svelte.d.ts +1 -1
  65. package/dist/Components/DimensionInputProps.d.ts +39 -4
  66. package/dist/Components/DragMenu/DragMenuHolder.svelte +41 -29
  67. package/dist/Components/DragMenu/DragMenuHolderProps.d.ts +30 -1
  68. package/dist/Components/DragMenu/DraggableCard.svelte +44 -8
  69. package/dist/Components/DragMenu/DraggableCardProps.d.ts +27 -1
  70. package/dist/Components/FileCard.svelte +6 -2
  71. package/dist/Components/FileCardProps.d.ts +17 -1
  72. package/dist/Components/FileUpload.svelte +82 -42
  73. package/dist/Components/FileUploadProps.d.ts +34 -4
  74. package/dist/Components/GridInput.svelte +27 -17
  75. package/dist/Components/GridInput.svelte.d.ts +5 -5
  76. package/dist/Components/GridInputProps.d.ts +4 -1
  77. package/dist/Components/GridInputSet.svelte +12 -5
  78. package/dist/Components/GridInputSet.svelte.d.ts +5 -5
  79. package/dist/Components/GridInputSetProps.d.ts +4 -2
  80. package/dist/Components/HorizontalTabGroup.svelte +13 -11
  81. package/dist/Components/HorizontalTabGroupButton.svelte +16 -68
  82. package/dist/Components/HorizontalTabGroupProps.d.ts +15 -2
  83. package/dist/Components/Icon.svelte +62 -21
  84. package/dist/Components/IconProps.d.ts +54 -6
  85. package/dist/Components/Icons.d.ts +8 -0
  86. package/dist/Components/Icons.js +234 -215
  87. package/dist/Components/LoadingAnimation.svelte +18 -18
  88. package/dist/Components/LoadingAnimation.svelte.d.ts +1 -3
  89. package/dist/Components/LoadingAnimationProps.d.ts +16 -0
  90. package/dist/Components/LoadingAnimationProps.js +1 -0
  91. package/dist/Components/LoadingModal.svelte +18 -20
  92. package/dist/Components/LoadingModal.svelte.d.ts +1 -4
  93. package/dist/Components/LoadingModalProps.d.ts +17 -0
  94. package/dist/Components/LoadingModalProps.js +1 -0
  95. package/dist/Components/LoadingOverlay.svelte +11 -13
  96. package/dist/Components/LoadingOverlay.svelte.d.ts +1 -5
  97. package/dist/Components/LoadingOverlayProps.d.ts +28 -0
  98. package/dist/Components/LoadingOverlayProps.js +1 -0
  99. package/dist/Components/Modal.svelte +77 -82
  100. package/dist/Components/Modal.svelte.d.ts +1 -25
  101. package/dist/Components/ModalProps.d.ts +65 -0
  102. package/dist/Components/ModalProps.js +1 -0
  103. package/dist/Components/MultiSelect.svelte +88 -76
  104. package/dist/Components/MultiSelectCommonProps.d.ts +33 -4
  105. package/dist/Components/MultiSelectPropsAsObject.d.ts +5 -0
  106. package/dist/Components/MultiSelectPropsAsPrimitive.d.ts +6 -0
  107. package/dist/Components/Nav/CallbackButtonWithIcon.d.ts +22 -1
  108. package/dist/Components/Nav/Nav.svelte +35 -30
  109. package/dist/Components/Nav/Nav.svelte.d.ts +23 -2
  110. package/dist/Components/Nav/NavProps.d.ts +50 -3
  111. package/dist/Components/Nav/NavServiceMenuList.svelte +12 -3
  112. package/dist/Components/Nav/NavServiceMenuListProps.d.ts +25 -1
  113. package/dist/Components/Nav/NavTab.svelte +19 -48
  114. package/dist/Components/Nav/NavTab.svelte.d.ts +23 -2
  115. package/dist/Components/Nav/NavTabProps.d.ts +16 -2
  116. package/dist/Components/Nav/ServiceMenuItem.svelte +29 -20
  117. package/dist/Components/Nav/ServicesNav.svelte +60 -34
  118. package/dist/Components/Nav/ServicesNav.svelte.d.ts +23 -2
  119. package/dist/Components/Nav/ServicesNavProps.d.ts +20 -4
  120. package/dist/Components/Nav/SideMenuItemProps.d.ts +16 -0
  121. package/dist/Components/NumberInput.svelte +37 -27
  122. package/dist/Components/NumberInputProps.d.ts +37 -0
  123. package/dist/Components/PageHeading.svelte +2 -13
  124. package/dist/Components/PageHeading.svelte.d.ts +1 -6
  125. package/dist/Components/PageHeadingProps.d.ts +23 -0
  126. package/dist/Components/PageHeadingProps.js +1 -0
  127. package/dist/Components/PasswordInput.svelte +27 -15
  128. package/dist/Components/PasswordInput.svelte.d.ts +2 -2
  129. package/dist/Components/PasswordInputProps.d.ts +21 -0
  130. package/dist/Components/PasswordInputProps.js +1 -0
  131. package/dist/Components/Portal.svelte +14 -3
  132. package/dist/Components/PortalProps.d.ts +20 -1
  133. package/dist/Components/ProgressBubble.svelte +98 -53
  134. package/dist/Components/ProgressBubbleProps.d.ts +23 -2
  135. package/dist/Components/QuerySelect.svelte +103 -159
  136. package/dist/Components/QuerySelect.svelte.d.ts +2 -29
  137. package/dist/Components/QuerySelectProps.d.ts +66 -0
  138. package/dist/Components/QuerySelectProps.js +1 -0
  139. package/dist/Components/SingleSelect.svelte +86 -108
  140. package/dist/Components/SingleSelectCommonProps.d.ts +43 -5
  141. package/dist/Components/SingleSelectPropsAsObject.d.ts +7 -0
  142. package/dist/Components/SingleSelectPropsAsPrimitive.d.ts +8 -0
  143. package/dist/Components/StepButton.svelte +19 -69
  144. package/dist/Components/StepForm.svelte +52 -52
  145. package/dist/Components/StepFormProps.d.ts +16 -2
  146. package/dist/Components/Switch.svelte +68 -31
  147. package/dist/Components/Switch.svelte.d.ts +1 -1
  148. package/dist/Components/SwitchProps.d.ts +46 -0
  149. package/dist/Components/Table/Body/HeightData.d.ts +1 -6
  150. package/dist/Components/Table/Body/HeightData.js +8 -0
  151. package/dist/Components/Table/Body/QuickSearchCell.svelte +106 -50
  152. package/dist/Components/Table/Body/QuickSearchCell.svelte.d.ts +12 -11
  153. package/dist/Components/Table/Body/QuickSearchCellProps.d.ts +6 -0
  154. package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte +43 -9
  155. package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte.d.ts +24 -2
  156. package/dist/Components/Table/Body/Rows/ColumnHighlightProps.d.ts +3 -0
  157. package/dist/Components/Table/Body/Rows/ColumnList.svelte +15 -5
  158. package/dist/Components/Table/Body/Rows/ColumnList.svelte.d.ts +12 -11
  159. package/dist/Components/Table/Body/Rows/ColumnListProps.d.ts +1 -0
  160. package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +424 -91
  161. package/dist/Components/Table/Body/Rows/ColumnListRow.svelte.d.ts +12 -11
  162. package/dist/Components/Table/Body/Rows/ColumnListRowProps.d.ts +5 -0
  163. package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte +43 -13
  164. package/dist/Components/Table/Body/Rows/Columns/AccessorComponentProps.d.ts +12 -0
  165. package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +50 -38
  166. package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte.d.ts +12 -12
  167. package/dist/Components/Table/Body/Rows/Columns/ActionsColumn.d.ts +9 -0
  168. package/dist/Components/Table/Body/Rows/Columns/ActionsTableCell.d.ts +5 -0
  169. package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +61 -26
  170. package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte.d.ts +14 -13
  171. package/dist/Components/Table/Body/Rows/Columns/BubbleCellProps.d.ts +12 -0
  172. package/dist/Components/Table/Body/Rows/Columns/BubbleCellProps.js +1 -0
  173. package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +36 -16
  174. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +47 -24
  175. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte.d.ts +12 -11
  176. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCellProps.d.ts +7 -0
  177. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +54 -20
  178. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte.d.ts +17 -11
  179. package/dist/Components/Table/Body/Rows/Columns/RowSelectionColumn.d.ts +8 -0
  180. package/dist/Components/Table/Body/Rows/Columns/RowSelectionTableCell.d.ts +5 -0
  181. package/dist/Components/Table/Body/Rows/Columns/SelectColumn.d.ts +11 -0
  182. package/dist/Components/Table/Body/Rows/Columns/SelectTableCell.d.ts +11 -0
  183. package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte +55 -40
  184. package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte.d.ts +11 -0
  185. package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +38 -27
  186. package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte.d.ts +13 -18
  187. package/dist/Components/Table/Body/Rows/Columns/TableCheckboxProps.d.ts +17 -0
  188. package/dist/Components/Table/Body/Rows/Columns/TableCheckboxProps.js +1 -0
  189. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +22 -7
  190. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte.d.ts +1 -7
  191. package/dist/Components/Table/Body/Rows/Columns/TableColumnProps.d.ts +16 -0
  192. package/dist/Components/Table/Body/Rows/Columns/TableColumnProps.js +1 -0
  193. package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +61 -31
  194. package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte.d.ts +12 -11
  195. package/dist/Components/Table/Body/Rows/Columns/TableDatePickerProps.d.ts +9 -0
  196. package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +123 -244
  197. package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte.d.ts +20 -12
  198. package/dist/Components/Table/Body/Rows/Columns/TableQueryCell.d.ts +8 -0
  199. package/dist/Components/Table/Body/Rows/Columns/TableQueryColumn.d.ts +9 -0
  200. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +126 -189
  201. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte.d.ts +12 -11
  202. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelectProps.d.ts +8 -0
  203. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +31 -19
  204. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte.d.ts +2 -5
  205. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckboxProps.d.ts +14 -0
  206. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckboxProps.js +1 -0
  207. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +125 -187
  208. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte.d.ts +13 -12
  209. package/dist/Components/Table/Body/Rows/Columns/TableSelectProps.d.ts +6 -0
  210. package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +119 -270
  211. package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte.d.ts +12 -11
  212. package/dist/Components/Table/Body/Rows/Columns/TableTextInputProps.d.ts +6 -0
  213. package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +23 -13
  214. package/dist/Components/Table/Body/Rows/Columns/_helpers/useAsyncEditable.svelte.d.ts +104 -0
  215. package/dist/Components/Table/Body/Rows/Columns/_helpers/useAsyncEditable.svelte.js +215 -0
  216. package/dist/Components/Table/Body/Rows/TableRow.svelte +200 -132
  217. package/dist/Components/Table/Body/Rows/TableRow.svelte.d.ts +2 -10
  218. package/dist/Components/Table/Body/Rows/TableRowProps.d.ts +11 -2
  219. package/dist/Components/Table/Body/TableBody.svelte +170 -53
  220. package/dist/Components/Table/Body/TableBody.svelte.d.ts +15 -22
  221. package/dist/Components/Table/Body/TableBodyProps.d.ts +9 -7
  222. package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.js +18 -12
  223. package/dist/Components/Table/ColumnFactory.svelte.d.ts +43 -0
  224. package/dist/Components/Table/ColumnFactory.svelte.js +339 -0
  225. package/dist/Components/Table/Headers/HighlightAllHeader.svelte +5 -3
  226. package/dist/Components/Table/Headers/HighlightAllHeader.svelte.d.ts +12 -11
  227. package/dist/Components/Table/Headers/SelectAllHeader.svelte +5 -3
  228. package/dist/Components/Table/Headers/SelectAllHeader.svelte.d.ts +12 -11
  229. package/dist/Components/Table/Headers/TableHead.svelte +340 -200
  230. package/dist/Components/Table/Headers/TableHead.svelte.d.ts +13 -16
  231. package/dist/Components/Table/Headers/TableHeadProps.d.ts +10 -0
  232. package/dist/Components/Table/Headers/TableHeadProps.js +1 -0
  233. package/dist/Components/Table/Misc/ColumnPanel.svelte +108 -50
  234. package/dist/Components/Table/Misc/ColumnPanel.svelte.d.ts +12 -11
  235. package/dist/Components/Table/Misc/ColumnPanelModal.svelte +20 -7
  236. package/dist/Components/Table/Misc/ColumnPanelModal.svelte.d.ts +12 -11
  237. package/dist/Components/Table/Misc/ColumnPanelModalProps.d.ts +5 -0
  238. package/dist/Components/Table/Misc/FilterInput.svelte +30 -41
  239. package/dist/Components/Table/Misc/FilterInput.svelte.d.ts +12 -11
  240. package/dist/Components/Table/Misc/FilterPanel.svelte +387 -29
  241. package/dist/Components/Table/Misc/FilterPanel.svelte.d.ts +12 -11
  242. package/dist/Components/Table/Misc/FilterPanelModal.svelte +4 -51
  243. package/dist/Components/Table/Misc/FilterPanelModal.svelte.d.ts +2 -23
  244. package/dist/Components/Table/Misc/SidePanel.svelte +12 -9
  245. package/dist/Components/Table/Misc/SidePanel.svelte.d.ts +1 -7
  246. package/dist/Components/Table/Misc/SidePanelProps.d.ts +17 -0
  247. package/dist/Components/Table/Misc/SidePanelProps.js +1 -0
  248. package/dist/Components/Table/Misc/TableFooter.svelte +44 -35
  249. package/dist/Components/Table/Misc/TableFooter.svelte.d.ts +13 -14
  250. package/dist/Components/Table/Misc/TableFooterProps.d.ts +8 -0
  251. package/dist/Components/Table/Misc/TableFooterProps.js +1 -0
  252. package/dist/Components/Table/Misc/TableHorizontalBar.svelte +17 -48
  253. package/dist/Components/Table/Misc/TableHorizontalBar.svelte.d.ts +12 -11
  254. package/dist/Components/Table/Misc/TableSidebar.svelte +28 -47
  255. package/dist/Components/Table/Misc/TableSidebar.svelte.d.ts +12 -11
  256. package/dist/Components/Table/Misc/ToolboxPanel.svelte +121 -55
  257. package/dist/Components/Table/Misc/ToolboxPanel.svelte.d.ts +12 -11
  258. package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +31 -24
  259. package/dist/Components/Table/Misc/ToolboxPanelModal.svelte.d.ts +12 -11
  260. package/dist/Components/Table/Misc/ToolboxPanelModalProps.d.ts +5 -0
  261. package/dist/Components/Table/Misc/numberDateFilterTypes.d.ts +7 -4
  262. package/dist/Components/Table/Misc/numberDateFilterTypes.js +8 -3
  263. package/dist/Components/Table/Misc/stringFilterTypes.d.ts +6 -4
  264. package/dist/Components/Table/Misc/stringFilterTypes.js +7 -3
  265. package/dist/Components/Table/NestedTable.svelte +85 -41
  266. package/dist/Components/Table/NestedTable.svelte.d.ts +2 -10
  267. package/dist/Components/Table/NestedTableProps.d.ts +25 -0
  268. package/dist/Components/Table/NestedTableProps.js +1 -0
  269. package/dist/Components/Table/SubApis.svelte.d.ts +23 -0
  270. package/dist/Components/Table/SubApis.svelte.js +359 -0
  271. package/dist/Components/Table/Table.svelte +347 -172
  272. package/dist/Components/Table/Table.svelte.d.ts +24 -1
  273. package/dist/Components/Table/TableHelpers.svelte.d.ts +58 -0
  274. package/dist/Components/Table/TableHelpers.svelte.js +88 -0
  275. package/dist/Components/Table/Types/Columns/Column.d.ts +10 -0
  276. package/dist/Components/Table/Types/Columns/ColumnPinningState.d.ts +12 -0
  277. package/dist/Components/Table/Types/Columns/ColumnSizingState.d.ts +8 -0
  278. package/dist/Components/Table/Types/Columns/ColumnType.d.ts +17 -0
  279. package/dist/Components/Table/Types/Columns/ColumnType.js +18 -1
  280. package/dist/Components/Table/Types/Columns/DateColumn.d.ts +6 -0
  281. package/dist/Components/Table/Types/Columns/DateTableCell.d.ts +7 -0
  282. package/dist/Components/Table/Types/Columns/Definitions/AccessorFn.d.ts +13 -0
  283. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.d.ts +28 -3
  284. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.js +15 -0
  285. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorType.d.ts +10 -0
  286. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorType.js +11 -1
  287. package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.d.ts +23 -2
  288. package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.js +9 -2
  289. package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.d.ts +21 -2
  290. package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.js +8 -0
  291. package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.d.ts +29 -3
  292. package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.js +11 -0
  293. package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.d.ts +23 -0
  294. package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.js +8 -0
  295. package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.d.ts +31 -0
  296. package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.js +17 -3
  297. package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.d.ts +21 -2
  298. package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.js +7 -0
  299. package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.d.ts +29 -1
  300. package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.js +17 -3
  301. package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.d.ts +122 -11
  302. package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.js +77 -11
  303. package/dist/Components/Table/Types/Columns/Definitions/ColumnDefSet.d.ts +9 -0
  304. package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts +41 -1
  305. package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js +16 -0
  306. package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.d.ts +19 -1
  307. package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.js +12 -1
  308. package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.d.ts +11 -0
  309. package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.js +6 -3
  310. package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.d.ts +19 -0
  311. package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.js +25 -1
  312. package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.d.ts +26 -0
  313. package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.js +20 -5
  314. package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +43 -7
  315. package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.js +18 -3
  316. package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts +19 -5
  317. package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.js +16 -5
  318. package/dist/Components/Table/Types/Columns/Definitions/JSONColumnDefSet.d.ts +14 -0
  319. package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.d.ts +34 -2
  320. package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.js +30 -7
  321. package/dist/Components/Table/Types/Columns/Definitions/ValidationFn.d.ts +17 -0
  322. package/dist/Components/Table/Types/Columns/DefsWrapper.d.ts +10 -0
  323. package/dist/Components/Table/Types/Columns/DisplayType.d.ts +13 -0
  324. package/dist/Components/Table/Types/Columns/DisplayType.js +14 -1
  325. package/dist/Components/Table/Types/Columns/ExpandColumn.d.ts +5 -0
  326. package/dist/Components/Table/Types/Columns/ExpandTableCell.d.ts +7 -0
  327. package/dist/Components/Table/Types/Columns/JSONColumnPinningState.d.ts +6 -0
  328. package/dist/Components/Table/Types/Columns/ProgressBarColumn.d.ts +5 -0
  329. package/dist/Components/Table/Types/Columns/ProgressBarTableCell.d.ts +9 -0
  330. package/dist/Components/Table/Types/Columns/TableActionButton.d.ts +12 -0
  331. package/dist/Components/Table/Types/Columns/TableCell.d.ts +16 -2
  332. package/dist/Components/Table/Types/Columns/VisibilityState.d.ts +12 -0
  333. package/dist/Components/Table/Types/Context/ColumnLayoutState.svelte.d.ts +173 -0
  334. package/dist/Components/Table/Types/Context/ColumnLayoutState.svelte.js +241 -0
  335. package/dist/Components/Table/Types/Context/FilteringState.svelte.d.ts +166 -0
  336. package/dist/Components/Table/Types/Context/FilteringState.svelte.js +180 -0
  337. package/dist/Components/Table/Types/Context/FocusState.svelte.d.ts +316 -0
  338. package/dist/Components/Table/Types/Context/FocusState.svelte.js +751 -0
  339. package/dist/Components/Table/Types/Context/ITable.d.ts +10 -0
  340. package/dist/Components/Table/Types/Context/PreferencesState.svelte.d.ts +242 -0
  341. package/dist/Components/Table/Types/Context/PreferencesState.svelte.js +317 -0
  342. package/dist/Components/Table/Types/Context/ReadonlyRowModel.d.ts +14 -3
  343. package/dist/Components/Table/Types/Context/Row.d.ts +18 -0
  344. package/dist/Components/Table/Types/Context/RowModel.d.ts +11 -0
  345. package/dist/Components/Table/Types/Context/SelectionState.svelte.d.ts +260 -0
  346. package/dist/Components/Table/Types/Context/SelectionState.svelte.js +613 -0
  347. package/dist/Components/Table/Types/Context/SortingState.svelte.d.ts +112 -0
  348. package/dist/Components/Table/Types/Context/SortingState.svelte.js +272 -0
  349. package/dist/Components/Table/Types/Context/TableContext.svelte.d.ts +547 -53
  350. package/dist/Components/Table/Types/Context/TableContext.svelte.js +959 -1259
  351. package/dist/Components/Table/Types/Context/TableInitOptions.d.ts +16 -0
  352. package/dist/Components/Table/Types/Context/TableSettings.d.ts +20 -0
  353. package/dist/Components/Table/Types/Context/VirtualisationState.svelte.d.ts +167 -0
  354. package/dist/Components/Table/Types/Context/VirtualisationState.svelte.js +226 -0
  355. package/dist/Components/Table/Types/Coordinates/CellCoordinates.d.ts +12 -0
  356. package/dist/Components/Table/Types/Coordinates/CellCoordinatesWithoutColumn.d.ts +5 -0
  357. package/dist/Components/Table/Types/Coordinates/ColumnIndices.d.ts +16 -2
  358. package/dist/Components/Table/Types/DataRepository/BuiltInRemoteRepository.svelte.d.ts +143 -0
  359. package/dist/Components/Table/Types/DataRepository/BuiltInRemoteRepository.svelte.js +454 -0
  360. package/dist/Components/Table/Types/DataRepository/IDataRepository.d.ts +21 -0
  361. package/dist/Components/Table/Types/DataRepository/ILocalDataRepository.d.ts +10 -0
  362. package/dist/Components/Table/Types/DataRepository/IRemoteDataRepository.d.ts +16 -0
  363. package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.d.ts +87 -3
  364. package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.js +112 -7
  365. package/dist/Components/Table/Types/DataRepository/SortingState.d.ts +12 -0
  366. package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.d.ts +87 -2
  367. package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.js +74 -1
  368. package/dist/Components/Table/Types/ExpandedPanel.d.ts +9 -0
  369. package/dist/Components/Table/Types/ExpandedPanel.js +10 -1
  370. package/dist/Components/Table/Types/Filtering/ColumnFiltersState.d.ts +17 -0
  371. package/dist/Components/Table/Types/Filtering/CustomFilter.d.ts +21 -0
  372. package/dist/Components/Table/Types/Filtering/CustomFilterType.d.ts +5 -0
  373. package/dist/Components/Table/Types/Filtering/CustomFilterType.js +6 -1
  374. package/dist/Components/Table/Types/Filtering/CustomRemoteFilters.d.ts +6 -0
  375. package/dist/Components/Table/Types/Filtering/FilterFn.d.ts +28 -0
  376. package/dist/Components/Table/Types/Filtering/FilterMode.d.ts +7 -0
  377. package/dist/Components/Table/Types/Filtering/FilterType.d.ts +8 -0
  378. package/dist/Components/Table/Types/Filtering/FilterType.js +9 -1
  379. package/dist/Components/Table/Types/Filtering/FilterValueType.d.ts +11 -0
  380. package/dist/Components/Table/Types/Filtering/FilterValueType.js +12 -1
  381. package/dist/Components/Table/Types/Filtering/HasCustomFilterFunction.d.ts +23 -2
  382. package/dist/Components/Table/Types/Filtering/NumberDateFilterMode.d.ts +19 -12
  383. package/dist/Components/Table/Types/Filtering/NumberDateFilterMode.js +18 -14
  384. package/dist/Components/Table/Types/Filtering/StringFilterMode.d.ts +22 -15
  385. package/dist/Components/Table/Types/Filtering/StringFilterMode.js +22 -16
  386. package/dist/Components/Table/Types/Focus/MultiFocusEdge.d.ts +8 -0
  387. package/dist/Components/Table/Types/Focus/MultiFocusEdge.js +9 -1
  388. package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.d.ts +22 -0
  389. package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.js +22 -0
  390. package/dist/Components/Table/Types/Header.d.ts +8 -0
  391. package/dist/Components/Table/Types/HeaderGroup.d.ts +7 -0
  392. package/dist/Components/Table/Types/Layout/CellPinning.d.ts +1 -0
  393. package/dist/Components/Table/Types/Layout/CellPinning.js +8 -0
  394. package/dist/Components/Table/Types/OnChangeFn.d.ts +11 -0
  395. package/dist/Components/Table/Types/Pagination/PaginationState.d.ts +9 -0
  396. package/dist/Components/Table/Types/Pagination/PaginationType.d.ts +10 -0
  397. package/dist/Components/Table/Types/Pagination/PaginationType.js +11 -1
  398. package/dist/Components/Table/Types/Public/AnyEditEvent.d.ts +30 -0
  399. package/dist/Components/Table/Types/Public/AnyEditEvent.js +1 -0
  400. package/dist/Components/Table/Types/Public/BaseColumnOptions.d.ts +44 -0
  401. package/dist/Components/Table/Types/Public/BaseColumnOptions.js +1 -0
  402. package/dist/Components/Table/Types/Public/ColumnFactory.d.ts +35 -0
  403. package/dist/Components/Table/Types/Public/ColumnFactory.js +1 -0
  404. package/dist/Components/Table/Types/Public/ColumnOptions.d.ts +238 -0
  405. package/dist/Components/Table/Types/Public/ColumnOptions.js +1 -0
  406. package/dist/Components/Table/Types/Public/ColumnSpec.d.ts +39 -0
  407. package/dist/Components/Table/Types/Public/ColumnSpec.js +1 -0
  408. package/dist/Components/Table/Types/Public/CreateTableOptions.d.ts +87 -0
  409. package/dist/Components/Table/Types/Public/CreateTableOptions.js +1 -0
  410. package/dist/Components/Table/Types/Public/KeyConstraints.d.ts +42 -0
  411. package/dist/Components/Table/Types/Public/KeyConstraints.js +22 -0
  412. package/dist/Components/Table/Types/Public/RowSource.d.ts +87 -0
  413. package/dist/Components/Table/Types/Public/RowSource.js +1 -0
  414. package/dist/Components/Table/Types/Public/SelectionOptions.d.ts +26 -0
  415. package/dist/Components/Table/Types/Public/SelectionOptions.js +1 -0
  416. package/dist/Components/Table/Types/Public/Table.d.ts +39 -0
  417. package/dist/Components/Table/Types/Public/Table.js +1 -0
  418. package/dist/Components/Table/Types/Public/TableInitialState.d.ts +26 -0
  419. package/dist/Components/Table/Types/Public/TableInitialState.js +1 -0
  420. package/dist/Components/Table/Types/Public/TablePersistence.d.ts +38 -0
  421. package/dist/Components/Table/Types/Public/TablePersistence.js +1 -0
  422. package/dist/Components/Table/Types/Public/TableSubApis.d.ts +157 -0
  423. package/dist/Components/Table/Types/Public/TableSubApis.js +1 -0
  424. package/dist/Components/Table/Types/Public/index.d.ts +20 -0
  425. package/dist/Components/Table/Types/Public/index.js +8 -0
  426. package/dist/Components/Table/Types/Toolbar/ToolbarPosition.d.ts +4 -0
  427. package/dist/Components/Table/Types/Toolbar/ToolbarPosition.js +5 -1
  428. package/dist/Components/Table/createTable.svelte.d.ts +53 -0
  429. package/dist/Components/Table/createTable.svelte.js +269 -0
  430. package/dist/Components/TextArea.svelte +37 -18
  431. package/dist/Components/TextAreaProps.d.ts +37 -0
  432. package/dist/Components/TextInput.svelte +41 -22
  433. package/dist/Components/TextInputProps.d.ts +58 -1
  434. package/dist/Components/ThreeStateRadio.svelte +61 -64
  435. package/dist/Components/ThreeStateRadioProps.d.ts +29 -1
  436. package/dist/Components/Touch/BoolCard.svelte +8 -15
  437. package/dist/Components/Touch/BoolCard.svelte.d.ts +1 -10
  438. package/dist/Components/Touch/BoolCardProps.d.ts +21 -0
  439. package/dist/Components/Touch/BoolCardProps.js +1 -0
  440. package/dist/Components/Touch/DateModal.svelte +17 -25
  441. package/dist/Components/Touch/DateModal.svelte.d.ts +1 -17
  442. package/dist/Components/Touch/DateModalProps.d.ts +36 -0
  443. package/dist/Components/Touch/DateModalProps.js +1 -0
  444. package/dist/Components/Touch/EditCard.svelte +10 -3
  445. package/dist/Components/Touch/EditCardProps.d.ts +21 -0
  446. package/dist/Components/Touch/InfoCard.svelte +14 -7
  447. package/dist/Components/Touch/InfoCardProps.d.ts +9 -0
  448. package/dist/Components/Touch/InfoTextCard.svelte +9 -2
  449. package/dist/Components/Touch/InfoTextCardProps.d.ts +8 -0
  450. package/dist/Components/Touch/ModalExplanation.svelte +9 -12
  451. package/dist/Components/Touch/ModalExplanation.svelte.d.ts +1 -6
  452. package/dist/Components/Touch/ModalExplanationProps.d.ts +22 -0
  453. package/dist/Components/Touch/ModalExplanationProps.js +1 -0
  454. package/dist/Components/Touch/NumberKeyboard.svelte +62 -105
  455. package/dist/Components/Touch/NumberKeyboardProps.d.ts +19 -0
  456. package/dist/Components/Touch/NumberModal.svelte +16 -6
  457. package/dist/Components/Touch/NumberModalProps.d.ts +23 -1
  458. package/dist/Components/Touch/PlusMinusCard.svelte +12 -16
  459. package/dist/Components/Touch/PlusMinusCard.svelte.d.ts +1 -6
  460. package/dist/Components/Touch/PlusMinusCardProps.d.ts +18 -0
  461. package/dist/Components/Touch/PlusMinusCardProps.js +1 -0
  462. package/dist/Components/Touch/SelectModal.svelte +33 -15
  463. package/dist/Components/Touch/SelectModalProps.d.ts +22 -1
  464. package/dist/Components/Touch/SummaryCard.svelte +56 -14
  465. package/dist/Components/Touch/SummaryCardProps.d.ts +16 -3
  466. package/dist/Components/Touch/TextAreaModal.svelte +18 -9
  467. package/dist/Components/Touch/TextAreaModalProps.d.ts +21 -0
  468. package/dist/Components/Touch/TextModal.svelte +15 -32
  469. package/dist/Components/Touch/TextModalProps.d.ts +28 -1
  470. package/dist/Components/Touch/TouchCard.svelte +9 -47
  471. package/dist/Components/Touch/TouchCardProps.d.ts +21 -0
  472. package/dist/Components/Touch/TouchModal.svelte +105 -99
  473. package/dist/Components/Touch/TouchModalProps.d.ts +35 -1
  474. package/dist/Components/Touch/UtilityButton.svelte +36 -18
  475. package/dist/Components/Touch/UtilityButtonProps.d.ts +16 -0
  476. package/dist/Components/VerticalTabGroup.svelte +18 -40
  477. package/dist/Components/VerticalTabGroupButton.svelte +11 -50
  478. package/dist/Components/VerticalTabGroupProps.d.ts +15 -2
  479. package/dist/Contexts/AlertContext.svelte.d.ts +92 -8
  480. package/dist/Contexts/AlertContext.svelte.js +69 -6
  481. package/dist/Contexts/ContextMenuContext.svelte.d.ts +54 -8
  482. package/dist/Contexts/ContextMenuContext.svelte.js +48 -2
  483. package/dist/Contexts/TestContext.svelte.d.ts +27 -1
  484. package/dist/Contexts/TestContext.svelte.js +29 -1
  485. package/dist/Contexts/ToastContext.svelte.d.ts +29 -1
  486. package/dist/Contexts/ToastContext.svelte.js +93 -24
  487. package/dist/Contexts/TooltipContext.svelte.d.ts +68 -1
  488. package/dist/Contexts/TooltipContext.svelte.js +70 -7
  489. package/dist/Contexts/UntypedInputContext.svelte.d.ts +54 -5
  490. package/dist/Contexts/UntypedInputContext.svelte.js +87 -34
  491. package/dist/Delay/Delay.js +1 -1
  492. package/dist/Helpers/AsyncFlag.svelte.d.ts +39 -0
  493. package/dist/Helpers/AsyncFlag.svelte.js +72 -0
  494. package/dist/Helpers/Datamatrix.d.ts +10 -1
  495. package/dist/Helpers/Datamatrix.js +290 -1
  496. package/dist/Helpers/Helpers.svelte.d.ts +252 -18
  497. package/dist/Helpers/Helpers.svelte.js +271 -75
  498. package/dist/Helpers/INamed.d.ts +6 -0
  499. package/dist/Helpers/Storage.d.ts +67 -0
  500. package/dist/Helpers/Storage.js +138 -0
  501. package/dist/Helpers/dropdownPortal.d.ts +52 -0
  502. package/dist/Helpers/dropdownPortal.js +232 -0
  503. package/dist/Helpers/dropdownPortal.svelte.d.ts +2 -0
  504. package/dist/Helpers/dropdownPortal.svelte.js +5 -0
  505. package/dist/Helpers/memoiseByRow.d.ts +45 -0
  506. package/dist/Helpers/memoiseByRow.js +78 -0
  507. package/dist/Helpers/prefersReducedMotion.svelte.d.ts +27 -0
  508. package/dist/Helpers/prefersReducedMotion.svelte.js +18 -0
  509. package/dist/Helpers/useTooltip.svelte.d.ts +53 -0
  510. package/dist/Helpers/useTooltip.svelte.js +62 -0
  511. package/dist/Types/Examples/ExampleModal.svelte +2 -1
  512. package/dist/Types/Examples/ExampleSelectEnum.js +1 -1
  513. package/dist/Types/Internal/AsyncFlag.d.ts +7 -0
  514. package/dist/Types/Internal/AsyncFlag.js +1 -0
  515. package/dist/Types/Internal/BigRadioOption.d.ts +8 -0
  516. package/dist/Types/Internal/ButtonProp.d.ts +24 -2
  517. package/dist/Types/Internal/CallbackButton.d.ts +12 -0
  518. package/dist/Types/Internal/DateChange.d.ts +8 -0
  519. package/dist/Types/Internal/DatePickerType.d.ts +5 -0
  520. package/dist/Types/Internal/DatePickerType.js +6 -1
  521. package/dist/Types/Internal/IdentifiableToastMessage.d.ts +8 -0
  522. package/dist/Types/Internal/InputVariant.d.ts +5 -0
  523. package/dist/Types/Internal/InputVariant.js +6 -1
  524. package/dist/Types/Internal/Misc.d.ts +91 -0
  525. package/dist/Types/Internal/RefWrapper.d.ts +6 -0
  526. package/dist/Types/Internal/SelectOption.d.ts +8 -0
  527. package/dist/Types/Internal/Shape.d.ts +1 -0
  528. package/dist/Types/Internal/Shape.js +2 -1
  529. package/dist/Types/Internal/Side.d.ts +1 -0
  530. package/dist/Types/Internal/Side.js +2 -1
  531. package/dist/Types/Internal/Size.d.ts +5 -0
  532. package/dist/Types/Internal/Size.js +6 -1
  533. package/dist/Types/Internal/TabOption.d.ts +15 -5
  534. package/dist/Types/Internal/Ternary.d.ts +6 -0
  535. package/dist/Types/Internal/Ternary.js +7 -1
  536. package/dist/Types/Internal/ToastMessage.d.ts +28 -0
  537. package/dist/Types/Internal/Validity.d.ts +6 -0
  538. package/dist/Types/Internal/Validity.js +7 -1
  539. package/dist/Types/Internal/ValidityWrapper.d.ts +8 -0
  540. package/dist/Types/Internal/Variant.d.ts +5 -0
  541. package/dist/Types/Internal/Variant.js +6 -1
  542. package/dist/index.d.ts +27 -82
  543. package/dist/index.js +24 -62
  544. package/dist/scss/_mixins.scss +451 -167
  545. package/dist/scss/_motion.scss +57 -0
  546. package/dist/scss/_sizing.scss +16 -0
  547. package/dist/scss/colours.js +2 -2
  548. package/dist/scss/sizing.d.ts +9 -0
  549. package/dist/scss/sizing.js +10 -1
  550. package/package.json +35 -31
@@ -2,16 +2,17 @@
2
2
 
3
3
  <script
4
4
  lang="ts"
5
- generics="T extends object,"
5
+ generics="T extends object, RowIdType extends Primitive"
6
6
  >
7
7
  import QuerySelect from '../../../../QuerySelect.svelte';
8
8
  import type { QueryDef } from '../../../Types/Columns/Definitions/Accessors/QueryDef.svelte.js';
9
9
  import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
10
- import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
11
- import { devCatch, isValidityTuple, loadingText } from '../../../../../Helpers/Helpers.svelte.js';
10
+ import { type Primitive } from '../../../Types/Context/TableInitOptions.js';
11
+ import { devCatch, loadingText } from '../../../../../Helpers/Helpers.svelte.js';
12
12
  import type { SelectOption } from '../../../../../Types/Internal/SelectOption.js';
13
13
  import { Validity } from '../../../../../Types/Internal/Validity.js';
14
14
  import { getContext, tick, untrack } from 'svelte';
15
+ import { useAsyncEditable } from './_helpers/useAsyncEditable.svelte.js';
15
16
  import type { TableQuerySelectProps } from './TableQuerySelectProps.js';
16
17
 
17
18
  const { cell }: TableQuerySelectProps<T, unknown> = $props();
@@ -22,18 +23,24 @@
22
23
  cell.column.columnDef.getDisplayValue(cell.row.original, cell.row.originalIndex)
23
24
  );
24
25
 
25
- let tdref = $state<HTMLTableCellElement | undefined>();
26
-
27
- const columnDef: QueryDef<T> = $derived(cell.column.columnDef) as unknown as QueryDef<T>; // TODO stabilise and remove `as unknown`
28
- // const optional = $derived(columnDef.optional ?? false);
29
-
26
+ let tdref = $state<HTMLElement | undefined>();
27
+
28
+ /**
29
+ * Narrow the column def to `QueryDef<T>`. The cast is required because
30
+ * `TableCell.column.columnDef` is the loose `ColumnDef<T>`; `TableColumn`
31
+ * dispatches this component only when the underlying def is in fact a
32
+ * `QueryDef`, but the static type does not reflect that. Replacing this
33
+ * with a discriminated cell-host props type is tracked under the
34
+ * cross-cutting RowGenericThreading workorder.
35
+ */
36
+ const columnDef: QueryDef<T> = $derived(cell.column.columnDef) as unknown as QueryDef<T>;
37
+
38
+ // `bind:options` below requires a `let` binding even though we never
39
+ // reassign the reference (Svelte uses the binding for two-way wiring).
40
+ // eslint-disable-next-line svelte/prefer-const
30
41
  let lastOptions: Array<SelectOption<unknown>> = $state([]);
31
42
 
32
- const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
33
-
34
- const editable = $derived(
35
- cell.column.columnDef.isEditable(cell.row.original, cell.row.originalIndex)
36
- );
43
+ const tableContext = getContext<TableContext<T, RowIdType>>(TableContext.identifier);
37
44
 
38
45
  let valueAsyncCounter = 0;
39
46
  $effect(() => {
@@ -80,126 +87,15 @@
80
87
  });
81
88
  });
82
89
 
83
- const focusDetails: TableFocusDetails<T, never> = $derived(
84
- new TableFocusDetails(cell, tableContext)
85
- );
86
-
87
- const wantsToBeEdited = $derived(
88
- tableContext.focusStart?.column === focusDetails.coordinates.column &&
89
- tableContext.focusEnd?.column === focusDetails.coordinates.column &&
90
- tableContext.focusStart.row === focusDetails.coordinates.row &&
91
- tableContext.focusEnd.row === focusDetails.coordinates.row &&
92
- !tableContext.isMousingDown &&
93
- tableContext.focusStartIsBeingEdited
94
- );
95
-
96
- let isBeingEdited = $state(false);
97
-
98
- function handleIsEditable(isEditable: boolean): Promise<void> {
99
- if (isEditable) {
100
- return tick().then(() => {
101
- isBeingEdited = true;
102
- });
103
- } else {
104
- if (isBeingEdited) {
105
- return tick()
106
- .then(() => {
107
- if (!tableContext.singleClickEditing) {
108
- tableContext.focusStartIsBeingEdited = false;
109
- }
110
-
111
- isBeingEdited = false;
112
- })
113
- .catch(devCatch);
114
- }
115
- }
116
- return Promise.resolve();
117
- }
118
-
119
- $effect(() => {
120
- void editable;
121
- if (wantsToBeEdited) {
122
- if (editable instanceof Promise) {
123
- editable
124
- .then((isEditable) => {
125
- return handleIsEditable(isEditable);
126
- })
127
-
128
- .catch(devCatch);
129
- } else {
130
- handleIsEditable(editable).catch(devCatch);
131
- }
132
- } else {
133
- tick()
134
- .then(() => {
135
- isBeingEdited = false;
136
- tableContext.focusStartIsBeingEdited = false;
137
- })
138
- .catch(devCatch);
139
- }
140
- });
141
-
142
- let validity: Validity = $state(Validity.Valid);
143
- $effect(() => {
144
- const validityPromise = focusDetails.validity;
145
-
146
- validityPromise
147
- .then((v) => {
148
- if (!v) {
149
- validity = Validity.Neutral;
150
- } else if (isValidityTuple(v)) {
151
- validity = v.value;
152
- } else {
153
- validity = v;
154
- }
155
- })
156
- .catch(devCatch);
90
+ const editable = useAsyncEditable<T, RowIdType>({
91
+ cell: () => cell,
157
92
  });
158
93
 
159
- const handleTDFocus = async () => {
160
- if (
161
- (await editable) &&
162
- tableContext.focusStart?.column === focusDetails.coordinates.column &&
163
- tableContext.focusStart.row === focusDetails.coordinates.row
164
- ) {
165
- if (
166
- tableContext.focusEnd?.column !== focusDetails.coordinates.column ||
167
- tableContext.focusEnd.row !== focusDetails.coordinates.row
168
- ) {
169
- tableContext.setFocusEnd(focusDetails.coordinates);
170
- }
171
-
172
- tableContext.isMousingDown = false;
173
- tableContext.focusStartIsBeingEdited = true;
174
- return true;
175
- }
176
-
177
- return false;
178
- };
179
-
180
- async function handleSingleClick(): Promise<boolean> {
181
- return tableContext.singleClickEditing && (await handleTDFocus());
182
- }
183
- async function handleDoubleClick(): Promise<boolean> {
184
- return !tableContext.singleClickEditing && (await handleTDFocus());
185
- }
186
-
187
- function tryHandleTDFocus() {
188
- handleTDFocus().catch(devCatch);
189
- }
190
-
191
94
  function handleUnfocus(e: KeyboardEvent) {
192
95
  if (e.key === 'Escape') {
193
96
  e.preventDefault();
194
97
  e.stopPropagation();
195
-
196
- tableContext.focusStartIsBeingEdited = false;
197
- tick()
198
- .then(() => {
199
- tdref?.focus();
200
- })
201
- .catch(devCatch);
202
-
98
+ editable.leaveEditingViaKeyboard(tdref);
203
99
  return true;
204
100
  }
205
101
 
@@ -231,50 +127,74 @@
231
127
  }
232
128
  }
233
129
 
130
+ /**
131
+ * Tracks the inner QuerySelect input so the keydown re-dispatcher can be
132
+ * removed cleanly on blur or remount; the prior implementation accumulated
133
+ * one listener per focus event (P1 workorder finding). This wiring is
134
+ * genuinely cell-specific (Select / QuerySelect only) and therefore lives
135
+ * outside the shared `useAsyncEditable` helper.
136
+ */
137
+ let activeKeydownTarget: HTMLInputElement | undefined;
138
+
234
139
  function addKeydownEvent(target: HTMLInputElement | undefined) {
235
- target?.addEventListener('keydown', keydownForce);
140
+ if (activeKeydownTarget && activeKeydownTarget !== target) {
141
+ activeKeydownTarget.removeEventListener('keydown', keydownForce);
142
+ }
143
+ if (target) {
144
+ target.addEventListener('keydown', keydownForce);
145
+ activeKeydownTarget = target;
146
+ }
236
147
  }
237
148
 
238
- let prevtdref: HTMLTableCellElement | undefined = undefined;
239
- $effect(() => {
240
- void tdref;
241
- untrack(() => {
242
- if (tdref && tdref != prevtdref) {
243
- tdref.addEventListener('edit', tryHandleTDFocus);
244
- } else {
245
- prevtdref = tdref;
246
- }
247
- });
248
- });
149
+ function removeKeydownEvent() {
150
+ if (activeKeydownTarget) {
151
+ activeKeydownTarget.removeEventListener('keydown', keydownForce);
152
+ activeKeydownTarget = undefined;
153
+ }
154
+ }
155
+
156
+ /**
157
+ * Effect wires the `edit` custom event with proper cleanup on tdref
158
+ * remount or component unmount (replaces the previous `prevtdref` pattern
159
+ * that accumulated listeners; P1 workorder finding). The listener wiring
160
+ * lives in the shared `useAsyncEditable` helper.
161
+ */
162
+ $effect(() => editable.attachEditListener(tdref));
163
+
164
+ // Ensure the keydown listener is dropped when the cell unmounts.
165
+ $effect(() => removeKeydownEvent);
249
166
  </script>
250
167
 
251
- {#if isBeingEdited}
252
- <!-- onkeydown={handleInputKeydown} -->
253
- <!-- onkeydown={handleEsc} -->
254
- <td
168
+ {#if editable.isBeingEdited}
169
+ <div
255
170
  class="select-cell"
256
171
  bind:this={tdref}
257
172
  >
258
- <!-- TODO: -->
259
173
  {#await value then value}
260
174
  <QuerySelect
261
175
  focusOnLoad
262
176
  name={cell.column.columnDef.id}
263
- valueProp="value"
264
- labelProp="label"
177
+ valueProp={'value' as never}
178
+ labelProp={'label' as never}
265
179
  clearable={cell.column.columnDef.clearable}
266
180
  valueAsObject={false}
267
- {value}
181
+ value={value as never}
268
182
  query={(v: string) => columnDef.query(v, cell.row.original, cell.row.originalIndex)}
269
- bind:options={lastOptions}
183
+ bind:options={lastOptions as never}
270
184
  onfocus={addKeydownEvent}
271
- onchange={(newValue: SelectOption<unknown> | null) => {
272
- if (newValue?.value !== value) {
185
+ onchange={(newValue: unknown) => {
186
+ // Phase 7.6: `valueAsObject={false}` means QuerySelect
187
+ // hands us the primitive value directly; no more
188
+ // `.value` dig off an option object. The `as never`
189
+ // casts work around inference: see TableSelect for the
190
+ // same workaround.
191
+ if (newValue !== value) {
273
192
  tableContext
274
- .onEditCell(cell.row.original, focusDetails.coordinates, newValue?.value ?? null)
193
+ .onEditCell(cell.row.original, editable.focusDetails.coordinates, newValue ?? null)
275
194
  .catch(devCatch);
276
195
  }
277
196
 
197
+ removeKeydownEvent();
278
198
  tableContext.focusStartIsBeingEdited = false;
279
199
  tick()
280
200
  .then(() => {
@@ -284,47 +204,46 @@
284
204
  }}
285
205
  />
286
206
  {/await}
287
- </td>
207
+ </div>
288
208
  {:else}
289
- <!-- // onkeydown={handleTdKeydown} -->
290
209
  <!-- svelte-ignore a11y_mouse_events_have_key_events -->
291
- <td
292
- style={focusDetails.outline}
210
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
211
+ <div
212
+ style={editable.focusDetails.outline}
293
213
  bind:this={tdref}
294
214
  tabIndex="0"
295
215
  id={`${tableContext.tableName}-cell-${cell.row.visibleIndex}-${cell.column.id}`}
296
216
  class="focusable editable"
297
- class:multifocus={focusDetails.isMultiFocused}
298
- class:multifocus-start={focusDetails.isMultiFocusStart}
299
- class:info={validity == Validity.Info}
300
- class:success={validity == Validity.Valid}
301
- class:warning={validity == Validity.Warning}
302
- class:error={validity == Validity.Invalid}
303
- ondblclick={handleDoubleClick}
217
+ class:multifocus={editable.focusDetails.isMultiFocused}
218
+ class:multifocus-start={editable.focusDetails.isMultiFocusStart}
219
+ class:info={editable.validity == Validity.Info}
220
+ class:success={editable.validity == Validity.Valid}
221
+ class:warning={editable.validity == Validity.Warning}
222
+ class:error={editable.validity == Validity.Invalid}
223
+ ondblclick={() => {
224
+ editable.handleDoubleClickFocus();
225
+ }}
304
226
  onmousedown={(e) => {
305
227
  // start focus only on left click
306
228
  if (e.button === 0) {
307
229
  if (e.shiftKey) {
308
230
  e.preventDefault();
309
- tableContext.setFocusEnd(focusDetails.coordinates);
231
+ tableContext.setFocusEnd(editable.focusDetails.coordinates);
310
232
  } else {
311
- tableContext.startFocus(focusDetails.coordinates);
233
+ tableContext.startFocus(editable.focusDetails.coordinates);
312
234
  }
313
235
  }
314
236
  }}
315
237
  onmouseover={() => {
316
238
  if (tableContext.isMousingDown) {
317
- tableContext.setFocusEnd(focusDetails.coordinates);
239
+ tableContext.setFocusEnd(editable.focusDetails.coordinates);
318
240
  }
319
241
  }}
320
242
  onmouseup={() => {
321
- handleSingleClick()
322
- .then((wasHandled) => {
323
- if (!wasHandled) {
324
- tableContext.endFocus(focusDetails.coordinates);
325
- }
326
- })
327
- .catch(devCatch);
243
+ const wasHandled = editable.handleSingleClickFocus();
244
+ if (!wasHandled) {
245
+ tableContext.endFocus(editable.focusDetails.coordinates);
246
+ }
328
247
  }}
329
248
  >
330
249
  {#await visibleValue}
@@ -332,10 +251,14 @@
332
251
  {:then v}
333
252
  {v}
334
253
  {/await}
335
- </td>
254
+ </div>
336
255
  {/if}
337
256
 
338
- <style>td {
257
+ <style>.focusable,
258
+ .checkbox-cell,
259
+ .input-cell,
260
+ .select-cell,
261
+ .datepicker-cell {
339
262
  transition: line-height 0.2s ease, height 0.2s ease;
340
263
  --input-border: none;
341
264
  --input-height: var(--height);
@@ -345,47 +268,61 @@
345
268
  position: relative;
346
269
  padding-left: 0.75rem;
347
270
  padding-right: 0.75rem;
348
- border: solid 1px #cbd4da;
349
- border-left: none;
271
+ border-right: solid 1px #cbd4da;
272
+ border-bottom: solid 1px #cbd4da;
273
+ box-sizing: border-box;
274
+ width: 100%;
275
+ height: var(--height);
350
276
  }
351
277
 
352
- td.multifocus {
278
+ .focusable.multifocus,
279
+ .checkbox-cell.multifocus,
280
+ .input-cell.multifocus,
281
+ .select-cell.multifocus {
353
282
  background-color: var(--multifocus-colour, #e6f8fd);
354
283
  }
355
- td.multifocus.multifocus-start {
284
+ .focusable.multifocus.multifocus-start,
285
+ .checkbox-cell.multifocus.multifocus-start,
286
+ .input-cell.multifocus.multifocus-start,
287
+ .select-cell.multifocus.multifocus-start {
356
288
  background-color: #ffffff;
357
289
  }
358
290
 
359
- td.focusable {
291
+ .focusable {
360
292
  user-select: none;
361
293
  cursor: default;
362
294
  outline: none;
363
295
  }
364
- td.focusable.editable {
296
+ .focusable.editable {
365
297
  cursor: pointer;
366
298
  }
367
299
 
368
- td.info {
300
+ .focusable.info,
301
+ .checkbox-cell.info,
302
+ .input-cell.info,
303
+ .select-cell.info {
369
304
  background-color: #1f81a0;
370
305
  }
371
- td.warning {
306
+ .focusable.warning,
307
+ .checkbox-cell.warning,
308
+ .input-cell.warning,
309
+ .select-cell.warning {
372
310
  background-color: #f8eab8;
373
311
  }
374
- td.error {
312
+ .focusable.error,
313
+ .checkbox-cell.error,
314
+ .input-cell.error,
315
+ .select-cell.error {
375
316
  background-color: #f9e9e9;
376
317
  }
377
318
 
378
- td.select-cell {
319
+ .select-cell {
379
320
  padding: unset;
380
321
  box-sizing: border-box;
381
- vertical-align: middle;
382
322
  text-align: center;
383
- }
384
-
385
- td {
386
323
  --sv-border: none;
387
324
  }
388
- td :global(.select-wrapper) {
325
+ .select-cell :global(.select-wrapper) {
389
326
  --sv-min-height: 0px;
390
327
  --sv-general-padding: 0px;
391
328
  --sv-item-wrap-padding: 0px 0.75rem;
@@ -1,25 +1,26 @@
1
+ import { type Primitive } from '../../../Types/Context/TableInitOptions.js';
1
2
  import type { TableQuerySelectProps } from './TableQuerySelectProps.js';
2
- declare function $$render<T extends object>(): {
3
+ declare function $$render<T extends object, RowIdType extends Primitive>(): {
3
4
  props: TableQuerySelectProps<T, unknown>;
4
5
  exports: {};
5
6
  bindings: "";
6
7
  slots: {};
7
8
  events: {};
8
9
  };
9
- declare class __sveltets_Render<T extends object> {
10
- props(): ReturnType<typeof $$render<T>>['props'];
11
- events(): ReturnType<typeof $$render<T>>['events'];
12
- slots(): ReturnType<typeof $$render<T>>['slots'];
10
+ declare class __sveltets_Render<T extends object, RowIdType extends Primitive> {
11
+ props(): ReturnType<typeof $$render<T, RowIdType>>['props'];
12
+ events(): ReturnType<typeof $$render<T, RowIdType>>['events'];
13
+ slots(): ReturnType<typeof $$render<T, RowIdType>>['slots'];
13
14
  bindings(): "";
14
15
  exports(): {};
15
16
  }
16
17
  interface $$IsomorphicComponent {
17
- new <T extends object>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
18
- $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
19
- } & ReturnType<__sveltets_Render<T>['exports']>;
20
- <T extends object>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
21
- z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
18
+ new <T extends object, RowIdType extends Primitive>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T, RowIdType>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T, RowIdType>['props']>, ReturnType<__sveltets_Render<T, RowIdType>['events']>, ReturnType<__sveltets_Render<T, RowIdType>['slots']>> & {
19
+ $$bindings?: ReturnType<__sveltets_Render<T, RowIdType>['bindings']>;
20
+ } & ReturnType<__sveltets_Render<T, RowIdType>['exports']>;
21
+ <T extends object, RowIdType extends Primitive>(internal: unknown, props: ReturnType<__sveltets_Render<T, RowIdType>['props']> & {}): ReturnType<__sveltets_Render<T, RowIdType>['exports']>;
22
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
22
23
  }
23
24
  declare const TableQuerySelect: $$IsomorphicComponent;
24
- type TableQuerySelect<T extends object> = InstanceType<typeof TableQuerySelect<T>>;
25
+ type TableQuerySelect<T extends object, RowIdType extends Primitive> = InstanceType<typeof TableQuerySelect<T, RowIdType>>;
25
26
  export default TableQuerySelect;
@@ -1,4 +1,12 @@
1
1
  import type { TableQueryCell } from './TableQueryCell.js';
2
+ /**
3
+ * Props for {@link TableQuerySelect}. The cell shows the awaited display
4
+ * value out of edit mode and opens a `QuerySelect` (backed by
5
+ * `QueryDef.query`) in edit mode. Callers forwarding raw user input through
6
+ * the `QueryDef.query` callback must follow the security guidance documented
7
+ * on `QueryDef`.
8
+ */
2
9
  export interface TableQuerySelectProps<T extends object, FilterValueType> {
10
+ /** The query-backed cell to render. */
3
11
  cell: TableQueryCell<T, FilterValueType>;
4
12
  }
@@ -5,30 +5,26 @@
5
5
  module
6
6
  >
7
7
  import type { RowSelectionDef } from '../../../Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.js';
8
- import type { TableCell } from '../../../Types/Columns/TableCell.js';
9
8
  import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
10
9
  import { type Primitive } from '../../../Types/Context/TableInitOptions.js';
11
- import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
10
+ import type { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
12
11
  import { devCatch, isValidityTuple } from '../../../../../Helpers/Helpers.svelte.js';
13
12
  import { Validity } from '../../../../../Types/Internal/Validity.js';
14
13
  import { getContext, tick, untrack } from 'svelte';
15
14
  import type { ChangeEventHandler } from 'svelte/elements';
16
-
17
- export interface TableCheckboxProps<T extends object> {
18
- cell: TableCell<T>;
19
- }
15
+ import type { TableRowSelectionCheckboxProps } from './TableRowSelectionCheckboxProps.js';
20
16
  </script>
21
17
 
22
18
  <script
23
19
  lang="ts"
24
- generics="T extends object,RowIdType extends Primitive"
20
+ generics="T extends object, RowIdType extends Primitive"
25
21
  >
26
- const { cell }: TableCheckboxProps<T> = $props();
22
+ const { cell }: TableRowSelectionCheckboxProps<T> = $props();
27
23
 
28
24
  const tableContext = getContext<TableContext<T, RowIdType>>(TableContext.identifier);
29
25
 
30
26
  const focusDetails: TableFocusDetails<T, RowIdType> = $derived(
31
- new TableFocusDetails(cell, tableContext)
27
+ tableContext._focus.getFocusDetailsFor(cell)
32
28
  );
33
29
 
34
30
  const keyOrPromise: RowIdType | Promise<RowIdType> = $derived(
@@ -55,7 +51,7 @@
55
51
  }
56
52
  });
57
53
 
58
- // Sync path (common): uses selectedItems.has(key) for per-key reactive tracking
54
+ // Sync path (common): uses selectedItems.has(key) for per-key reactive tracking -
59
55
  // only this row's checkbox re-runs when its specific key changes.
60
56
  // Async path (rare): returns null and defers to _isSelectedAsync updated by the $effect below.
61
57
  const isSelected: boolean | null = $derived.by(() => {
@@ -123,7 +119,8 @@
123
119
  </script>
124
120
 
125
121
  <!-- svelte-ignore a11y_mouse_events_have_key_events -->
126
- <td
122
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
123
+ <div
127
124
  class="checkbox-cell"
128
125
  class:info={validity == Validity.Info}
129
126
  class:success={validity == Validity.Valid}
@@ -152,7 +149,6 @@
152
149
  tableContext.toggleSelected(cell.row.original)?.catch(devCatch);
153
150
 
154
151
  inputRef?.dispatchEvent(new InputEvent('change'));
155
- // tableContext.onEditCell(cell.row.original, focusDetails.coordinates, !value);
156
152
  }
157
153
  }}
158
154
  onmouseover={() => {
@@ -178,9 +174,13 @@
178
174
  disabled={!isSelectable || tableContext.showSelectedOnly}
179
175
  />
180
176
  </label>
181
- </td>
177
+ </div>
182
178
 
183
- <style>td {
179
+ <style>.focusable,
180
+ .checkbox-cell,
181
+ .input-cell,
182
+ .select-cell,
183
+ .datepicker-cell {
184
184
  transition: line-height 0.2s ease, height 0.2s ease;
185
185
  --input-border: none;
186
186
  --input-height: var(--height);
@@ -190,8 +190,11 @@
190
190
  position: relative;
191
191
  padding-left: 0.75rem;
192
192
  padding-right: 0.75rem;
193
- border: solid 1px #cbd4da;
194
- border-left: none;
193
+ border-right: solid 1px #cbd4da;
194
+ border-bottom: solid 1px #cbd4da;
195
+ box-sizing: border-box;
196
+ width: 100%;
197
+ height: var(--height);
195
198
  }
196
199
 
197
200
  input[type=checkbox] {
@@ -230,12 +233,21 @@ label.multifocus.multifocus-start {
230
233
  background-color: #ffffff;
231
234
  }
232
235
 
233
- td.info {
236
+ .focusable.info,
237
+ .checkbox-cell.info,
238
+ .input-cell.info,
239
+ .select-cell.info {
234
240
  background-color: #1f81a0;
235
241
  }
236
- td.warning {
242
+ .focusable.warning,
243
+ .checkbox-cell.warning,
244
+ .input-cell.warning,
245
+ .select-cell.warning {
237
246
  background-color: #f8eab8;
238
247
  }
239
- td.error {
248
+ .focusable.error,
249
+ .checkbox-cell.error,
250
+ .input-cell.error,
251
+ .select-cell.error {
240
252
  background-color: #f9e9e9;
241
253
  }</style>
@@ -1,10 +1,7 @@
1
- import type { TableCell } from '../../../Types/Columns/TableCell.js';
2
1
  import { type Primitive } from '../../../Types/Context/TableInitOptions.js';
3
- export interface TableCheckboxProps<T extends object> {
4
- cell: TableCell<T>;
5
- }
2
+ import type { TableRowSelectionCheckboxProps } from './TableRowSelectionCheckboxProps.js';
6
3
  declare function $$render<T extends object, RowIdType extends Primitive>(): {
7
- props: TableCheckboxProps<T>;
4
+ props: TableRowSelectionCheckboxProps<T>;
8
5
  exports: {};
9
6
  bindings: "";
10
7
  slots: {};
@@ -0,0 +1,14 @@
1
+ import type { TableCell } from '../../../Types/Columns/TableCell.js';
2
+ /**
3
+ * Props for {@link TableRowSelectionCheckbox}. The cell renders a checkbox
4
+ * whose checked state mirrors `TableContext.selectedItems` and whose toggle
5
+ * goes through `TableContext.toggleSelected`.
6
+ *
7
+ * Renamed from the previous inline `TableCheckboxProps` (which collided
8
+ * with the unrelated `TableCheckbox` cell's props of the same name) per
9
+ * the type-strictness workorder finding.
10
+ */
11
+ export interface TableRowSelectionCheckboxProps<T extends object> {
12
+ /** The row-selection cell to render. */
13
+ cell: TableCell<T>;
14
+ }