@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
@@ -15,34 +15,64 @@
15
15
  import TableQuerySelect from './TableQuerySelect.svelte';
16
16
  import TableSelect from './TableSelect.svelte';
17
17
  import TableTextInput from './TableTextInput.svelte';
18
- </script>
19
18
 
20
- <script
21
- lang="ts"
22
- generics="T extends object"
23
- >
24
- const { cell }: AccessorComponentProps<T> = $props();
19
+ /**
20
+ * Loose structural type used for the cell-host dispatch table.
21
+ *
22
+ * Every accessor cell host (TableNumberInput, TableDatePicker, ...) is a
23
+ * Svelte 5 `Component` whose props include at minimum `{ cell: TableCell<T> }`
24
+ * plus host-specific extras. A fully discriminated `AccessorComponentMap<T>`
25
+ * keyed on `accessorType` was considered (see the RowGenericThreading
26
+ * follow-up workorder) but deferred: it would force every cell host to share
27
+ * an identical prop signature or each branch of the dispatch to be invoked
28
+ * through a type-narrowed switch, both of which have a large blast radius
29
+ * across the Table subtree. Using `Component<Record<string, unknown>>` keeps
30
+ * the residual loosening contained to a single line and removes the previous
31
+ * `Component<any>` from this file.
32
+ */
33
+ type AccessorCellComponent = Component<Record<string, unknown>>;
25
34
 
26
- const cellTypes: Record<
27
- 'Number' | 'Date' | 'Select' | 'Checkbox' | 'Query' | 'Text',
28
- object & Component<any>
29
- > = {
35
+ /**
36
+ * Frozen lookup from `AccessorDef.accessorType` discriminator to the matching
37
+ * cell-host Svelte component. Hoisted to module scope so the table does not
38
+ * allocate a fresh 6-key object per cell on each render (with 100 rows by
39
+ * roughly 10 accessor columns that would be 1000 redundant allocations per
40
+ * render).
41
+ */
42
+ const cellTypes = Object.freeze({
30
43
  Number: TableNumberInput,
31
44
  Date: TableDatePicker,
32
45
  Select: TableSelect,
33
46
  Query: TableQuerySelect,
34
47
  Checkbox: TableCheckbox,
35
48
  Text: TableTextInput,
36
- } as const;
49
+ }) as unknown as Readonly<
50
+ Record<'Number' | 'Date' | 'Select' | 'Checkbox' | 'Query' | 'Text', AccessorCellComponent>
51
+ >;
52
+ </script>
53
+
54
+ <script
55
+ lang="ts"
56
+ generics="T extends object"
57
+ >
58
+ /** Single cell to render for the supplied {@link TableCell}. The accessor type discriminator is read off `cell.column.columnDef`. */
59
+ const { cell }: AccessorComponentProps<T> = $props();
37
60
 
38
61
  const CurrentComponent = $derived(getAppropriateAccessorDef(cell.column.columnDef));
39
62
 
40
- function getAppropriateAccessorDef(columnDef: ColumnDef<T>): Component<any> {
63
+ /**
64
+ * Returns the cell-host component for `columnDef`'s discriminant. Falls back
65
+ * to `FocusableImmutableCell` when the column is not an `AccessorDef` (this
66
+ * branch is technically dead in the live dispatcher since `TableColumn`
67
+ * filters first, but the total function keeps this file safe to call
68
+ * directly from other dispatch sites).
69
+ */
70
+ function getAppropriateAccessorDef(columnDef: ColumnDef<T>): AccessorCellComponent {
41
71
  if (columnDef instanceof AccessorDef) {
42
72
  return cellTypes[columnDef.accessorType];
43
73
  }
44
74
 
45
- return FocusableImmutableCell;
75
+ return FocusableImmutableCell as unknown as AccessorCellComponent;
46
76
  }
47
77
  </script>
48
78
 
@@ -1,4 +1,16 @@
1
1
  import type { TableCell } from '../../../Types/Columns/TableCell.js';
2
+ /**
3
+ * Props for {@link AccessorComponent}. The dispatcher reads
4
+ * `cell.column.columnDef.accessorType` to pick the matching cell-host
5
+ * component (TableNumberInput, TableDatePicker, etc.).
6
+ *
7
+ * The narrow per-accessor cell types are not threaded here yet; the dispatch
8
+ * accepts the generic `TableCell<T>` and the chosen host re-narrows via
9
+ * `cell.column.columnDef`. Threading a discriminated `TValue` through the
10
+ * accessor cell hosts is tracked under the cross-cutting RowGenericThreading
11
+ * workorder.
12
+ */
2
13
  export interface AccessorComponentProps<T extends object> {
14
+ /** The cell whose value should be rendered by the matching accessor cell host. */
3
15
  cell: TableCell<T>;
4
16
  }
@@ -8,37 +8,36 @@
8
8
  import Portal from '../../../../Portal.svelte';
9
9
  import type { TableActionButton } from '../../../Types/Columns/TableActionButton.js';
10
10
  import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
11
+ import type { Primitive } from '../../../Types/Context/TableInitOptions.js';
11
12
  import { MultiFocusEdge } from '../../../Types/Focus/MultiFocusEdge.js';
12
- import { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
13
- import { asyncMap, devCatch, isValidityTuple, refWrapper } from '../../../../../Helpers/Helpers.svelte.js';
13
+ import type { TableFocusDetails } from '../../../Types/Focus/TableFocusDetails.svelte.js';
14
+ import { asyncMap, devCatch, isValidityTuple } from '../../../../../Helpers/Helpers.svelte.js';
14
15
  import { Colour, ColourSet } from '../../../../../scss/colours.js';
15
16
  import { Size } from '../../../../../Types/Internal/Size.js';
16
17
  import { Validity } from '../../../../../Types/Internal/Validity.js';
17
18
  import { getContext, untrack } from 'svelte';
18
19
  import type { ActionsCellProps } from './ActionsCellProps.js';
19
20
  import TableAction from './TableAction.svelte';
20
-
21
- export let shownPopup = refWrapper<symbol | undefined>(undefined);
22
21
  </script>
23
22
 
24
23
  <script
25
24
  lang="ts"
26
- generics="T extends object,FilterValueType"
25
+ generics="T extends object, FilterValueType, RowIdType extends Primitive"
27
26
  >
28
27
  const { cell }: ActionsCellProps<T, FilterValueType> = $props();
29
28
 
30
29
  const value = $derived(cell.getValue());
31
30
 
32
- const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
31
+ const tableContext = getContext<TableContext<T, RowIdType>>(TableContext.identifier);
33
32
 
34
33
  const actions: Array<TableActionButton<T>> = $derived(cell.column.columnDef.actions);
35
34
 
36
35
  const thisPopup = $state(Symbol());
37
- const thisPopupIsVisibile = $derived(thisPopup === shownPopup.value);
36
+ const thisPopupIsVisibile = $derived(thisPopup === tableContext.shownActionsPopup);
38
37
  const hasValue: boolean = $derived(value !== undefined);
39
38
  const edge: MultiFocusEdge | undefined = $state();
40
- const focusDetails: TableFocusDetails<T, never> = $derived(
41
- new TableFocusDetails(cell, tableContext)
39
+ const focusDetails: TableFocusDetails<T, RowIdType> = $derived(
40
+ tableContext._focus.getFocusDetailsFor(cell)
42
41
  );
43
42
 
44
43
  let cellRef: HTMLDivElement | undefined = $state();
@@ -50,20 +49,7 @@
50
49
  const rect = cellRef.getBoundingClientRect();
51
50
  untrack(() => {
52
51
  const totalOffsetX = -6;
53
- // (props.offsetX ?? 0) +
54
- // (props.arrow === Side.Top || props.arrow === Side.Bottom
55
- // ? props.rect.width / 2
56
- // : props.arrow === Side.Right
57
- // ? -6 // arrow width
58
- // : props.rect.width + 6); // arrow width
59
-
60
52
  const totalOffsetY = rect.height / 2;
61
- // (props.offsetY ?? 0) +
62
- // (props.arrow === Side.Left || props.arrow === Side.Right
63
- // ? props.rect.height / 2
64
- // : props.arrow === Side.Top
65
- // ? props.rect.height
66
- // : 0);
67
53
 
68
54
  x = rect.x + totalOffsetX;
69
55
  y = rect.y + totalOffsetY;
@@ -90,7 +76,8 @@
90
76
  </script>
91
77
 
92
78
  <!-- svelte-ignore a11y_mouse_events_have_key_events -->
93
- <td
79
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
80
+ <div
94
81
  id={`${tableContext.tableName}-cell-${cell.row.visibleIndex}-${cell.column.id}`}
95
82
  tabIndex={hasValue ? 0 : undefined}
96
83
  class="focusable"
@@ -142,10 +129,10 @@
142
129
  icon={{ name: 'ellipsis', size: Size.Medium, colour: Colour['$brand-primary'] }}
143
130
  colourSet={ColourSet.Auxiliary}
144
131
  onclick={() => {
145
- if (shownPopup.value === thisPopup) {
146
- shownPopup.value = undefined;
132
+ if (tableContext.shownActionsPopup === thisPopup) {
133
+ tableContext.shownActionsPopup = undefined;
147
134
  } else {
148
- shownPopup.value = thisPopup;
135
+ tableContext.shownActionsPopup = thisPopup;
149
136
  }
150
137
  }}
151
138
  />
@@ -175,9 +162,13 @@
175
162
  </Portal>
176
163
  {/await}
177
164
  {/if}
178
- </td>
165
+ </div>
179
166
 
180
- <style>td {
167
+ <style>.focusable,
168
+ .checkbox-cell,
169
+ .input-cell,
170
+ .select-cell,
171
+ .datepicker-cell {
181
172
  transition: line-height 0.2s ease, height 0.2s ease;
182
173
  --input-border: none;
183
174
  --input-height: var(--height);
@@ -187,31 +178,52 @@
187
178
  position: relative;
188
179
  padding-left: 0.75rem;
189
180
  padding-right: 0.75rem;
190
- border: solid 1px #cbd4da;
191
- border-left: none;
181
+ border-right: solid 1px #cbd4da;
182
+ border-bottom: solid 1px #cbd4da;
183
+ box-sizing: border-box;
184
+ width: 100%;
185
+ height: var(--height);
192
186
  }
193
187
 
194
- td.multifocus {
188
+ .focusable.multifocus,
189
+ .checkbox-cell.multifocus,
190
+ .input-cell.multifocus,
191
+ .select-cell.multifocus {
195
192
  background-color: var(--multifocus-colour, #e6f8fd);
196
193
  }
197
- td.multifocus.multifocus-start {
194
+ .focusable.multifocus.multifocus-start,
195
+ .checkbox-cell.multifocus.multifocus-start,
196
+ .input-cell.multifocus.multifocus-start,
197
+ .select-cell.multifocus.multifocus-start {
198
198
  background-color: #ffffff;
199
199
  }
200
200
 
201
- td.info {
201
+ .focusable.info,
202
+ .checkbox-cell.info,
203
+ .input-cell.info,
204
+ .select-cell.info {
202
205
  background-color: #1f81a0;
203
206
  }
204
- td.warning {
207
+ .focusable.warning,
208
+ .checkbox-cell.warning,
209
+ .input-cell.warning,
210
+ .select-cell.warning {
205
211
  background-color: #f8eab8;
206
212
  }
207
- td.error {
213
+ .focusable.error,
214
+ .checkbox-cell.error,
215
+ .input-cell.error,
216
+ .select-cell.error {
208
217
  background-color: #f9e9e9;
209
218
  }
210
219
 
211
- td {
220
+ .focusable,
221
+ .checkbox-cell,
222
+ .input-cell,
223
+ .select-cell {
212
224
  max-height: var(--max-height);
213
225
  height: var(--height);
214
- box-sizing: content-box;
226
+ box-sizing: border-box;
215
227
  overflow-x: clip;
216
228
  --td-padding-left: 0;
217
229
  --td-padding-right: 0;
@@ -251,7 +263,7 @@ td {
251
263
  align-items: center;
252
264
  }
253
265
 
254
- td {
266
+ [role=cell] {
255
267
  overflow: visible;
256
268
  }
257
269
 
@@ -1,26 +1,26 @@
1
+ import type { Primitive } from '../../../Types/Context/TableInitOptions.js';
1
2
  import type { ActionsCellProps } from './ActionsCellProps.js';
2
- export declare let shownPopup: import("../../../../../index.js").RefWrapper<symbol | undefined>;
3
- declare function $$render<T extends object, FilterValueType>(): {
3
+ declare function $$render<T extends object, FilterValueType, RowIdType extends Primitive>(): {
4
4
  props: ActionsCellProps<T, FilterValueType>;
5
5
  exports: {};
6
6
  bindings: "";
7
7
  slots: {};
8
8
  events: {};
9
9
  };
10
- declare class __sveltets_Render<T extends object, FilterValueType> {
11
- props(): ReturnType<typeof $$render<T, FilterValueType>>['props'];
12
- events(): ReturnType<typeof $$render<T, FilterValueType>>['events'];
13
- 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'];
14
14
  bindings(): "";
15
15
  exports(): {};
16
16
  }
17
17
  interface $$IsomorphicComponent {
18
- 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']>> & {
19
- $$bindings?: ReturnType<__sveltets_Render<T, FilterValueType>['bindings']>;
20
- } & ReturnType<__sveltets_Render<T, FilterValueType>['exports']>;
21
- <T extends object, FilterValueType>(internal: unknown, props: ReturnType<__sveltets_Render<T, FilterValueType>['props']> & {}): ReturnType<__sveltets_Render<T, FilterValueType>['exports']>;
22
- 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']>;
23
23
  }
24
24
  declare const ActionsCell: $$IsomorphicComponent;
25
- type ActionsCell<T extends object, FilterValueType> = InstanceType<typeof ActionsCell<T, FilterValueType>>;
25
+ type ActionsCell<T extends object, FilterValueType, RowIdType extends Primitive> = InstanceType<typeof ActionsCell<T, FilterValueType, RowIdType>>;
26
26
  export default ActionsCell;
@@ -1,5 +1,14 @@
1
1
  import type { Column } from '../../../Types/Columns/Column.js';
2
2
  import type { ActionsDef } from '../../../Types/Columns/Definitions/Actions/ActionsDef.svelte.js';
3
+ /**
4
+ * Narrowed `Column<T>` whose `columnDef` is an `ActionsDef`.
5
+ *
6
+ * Used by header / body rendering paths that need to disambiguate an actions
7
+ * column from a regular accessor column. The `FilterValueType` parameter is
8
+ * retained for structural compatibility with `Column<T, F>` even though
9
+ * `ActionsDef.filterFn` is `undefined` (actions columns are not filterable);
10
+ * tightening this away is deferred (see workorder Cell Glue Types).
11
+ */
3
12
  export interface ActionsColumn<T extends object, FilterValueType> extends Column<T, FilterValueType> {
4
13
  columnDef: ActionsDef<T, FilterValueType>;
5
14
  }
@@ -1,5 +1,10 @@
1
1
  import type { TableCell } from '../../../Types/Columns/TableCell.js';
2
2
  import type { ActionsColumn } from './ActionsColumn.js';
3
+ /**
4
+ * Narrowed `TableCell<T>` whose `column` is an `ActionsColumn`. Paired with
5
+ * `ActionsColumn` so that `ActionsCell.svelte` and `TableAction.svelte` can
6
+ * receive a single strongly-typed cell handle instead of casting.
7
+ */
3
8
  export interface ActionsTableCell<T extends object, FilterValueType> extends TableCell<T, FilterValueType> {
4
9
  column: ActionsColumn<T, FilterValueType>;
5
10
  }
@@ -1,27 +1,33 @@
1
1
  <svelte:options runes />
2
2
 
3
- <!-- TODO editable version of this should contain a multi select -->
4
3
  <script
5
4
  lang="ts"
6
- generics="T extends object,FilterValueType"
5
+ generics="T extends object, FilterValueType, RowIdType extends Primitive"
7
6
  >
8
7
  import Bubble from '../../../../Bubble.svelte';
9
8
  import { BubbleDef } from '../../../Types/Columns/Definitions/Display/BubbleDef.svelte.js';
10
9
  import { TableContext } from '../../../Types/Context/TableContext.svelte.js';
11
- 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';
12
12
  import { devCatch, isValidityTuple } from '../../../../../Helpers/Helpers.svelte.js';
13
13
  import { Validity } from '../../../../../Types/Internal/Validity.js';
14
14
  import { getContext } from 'svelte';
15
- import type { FocusableImmutableCellProps } from './FocusableImmutableCellProps.js';
15
+ import type { BubbleCellProps } from './BubbleCellProps.js';
16
16
 
17
- const { cell }: FocusableImmutableCellProps<T, FilterValueType> = $props();
17
+ const { cell }: BubbleCellProps<T, FilterValueType> = $props();
18
18
 
19
+ /**
20
+ * Awaited or sync array of string labels to render as Bubble chips. The cast
21
+ * is unavoidable until `BubbleDef` carries a narrowed `TValue` generic and
22
+ * the dispatch passes a `BubbleTableCell<T, FilterValueType>`; tracked under
23
+ * the cross-cutting RowGenericThreading + BubbleDef.value work.
24
+ */
19
25
  const values = $derived(cell.getValue()) as Array<string> | Promise<Array<string>>;
20
26
 
21
- const tableContext = getContext<TableContext<T, never>>(TableContext.identifier);
27
+ const tableContext = getContext<TableContext<T, RowIdType>>(TableContext.identifier);
22
28
 
23
- const focusDetails: TableFocusDetails<T, never> = $derived(
24
- new TableFocusDetails(cell, tableContext)
29
+ const focusDetails: TableFocusDetails<T, RowIdType> = $derived(
30
+ tableContext._focus.getFocusDetailsFor(cell)
25
31
  );
26
32
 
27
33
  let validity: Validity = $state(Validity.Valid);
@@ -43,7 +49,8 @@
43
49
  </script>
44
50
 
45
51
  <!-- svelte-ignore a11y_mouse_events_have_key_events -->
46
- <td
52
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
53
+ <div
47
54
  id={`${tableContext.tableName}-cell-${cell.row.visibleIndex}-${cell.column.id}`}
48
55
  tabIndex={0}
49
56
  class="focusable"
@@ -76,8 +83,11 @@
76
83
  >
77
84
  <div class="bubble-parent">
78
85
  {#await values then values}
79
- <!-- eslint-disable-next-line svelte/require-each-key -->
80
- {#each values as value}
86
+ <!-- The label string itself is not guaranteed unique so the key combines
87
+ index and value; both pieces are required because duplicate labels
88
+ would otherwise collapse and reordering with identical labels
89
+ would force unrelated bubbles to swap. -->
90
+ {#each values as value, index (`${index}:${value}`)}
81
91
  {@const colourPromise = (cell.column.columnDef as BubbleDef<T>).getColour?.(
82
92
  cell.row.original,
83
93
  cell.row.originalIndex,
@@ -90,16 +100,20 @@
90
100
  {#await colourPromise then colour}
91
101
  <Bubble
92
102
  {value}
93
- colours={colour}
103
+ colours={colour ?? undefined}
94
104
  />
95
105
  {/await}
96
106
  {/if}
97
107
  {/each}
98
108
  {/await}
99
109
  </div>
100
- </td>
110
+ </div>
101
111
 
102
- <style>td {
112
+ <style>.focusable,
113
+ .checkbox-cell,
114
+ .input-cell,
115
+ .select-cell,
116
+ .datepicker-cell {
103
117
  transition: line-height 0.2s ease, height 0.2s ease;
104
118
  --input-border: none;
105
119
  --input-height: var(--height);
@@ -109,40 +123,61 @@
109
123
  position: relative;
110
124
  padding-left: 0.75rem;
111
125
  padding-right: 0.75rem;
112
- border: solid 1px #cbd4da;
113
- border-left: none;
126
+ border-right: solid 1px #cbd4da;
127
+ border-bottom: solid 1px #cbd4da;
128
+ box-sizing: border-box;
129
+ width: 100%;
130
+ height: var(--height);
114
131
  }
115
132
 
116
- td.multifocus {
133
+ .focusable.multifocus,
134
+ .checkbox-cell.multifocus,
135
+ .input-cell.multifocus,
136
+ .select-cell.multifocus {
117
137
  background-color: var(--multifocus-colour, #e6f8fd);
118
138
  }
119
- td.multifocus.multifocus-start {
139
+ .focusable.multifocus.multifocus-start,
140
+ .checkbox-cell.multifocus.multifocus-start,
141
+ .input-cell.multifocus.multifocus-start,
142
+ .select-cell.multifocus.multifocus-start {
120
143
  background-color: #ffffff;
121
144
  }
122
145
 
123
- td.focusable {
146
+ .focusable {
124
147
  user-select: none;
125
148
  cursor: default;
126
149
  outline: none;
127
150
  }
128
- td.focusable.editable {
151
+ .focusable.editable {
129
152
  cursor: pointer;
130
153
  }
131
154
 
132
- td.info {
155
+ .focusable.info,
156
+ .checkbox-cell.info,
157
+ .input-cell.info,
158
+ .select-cell.info {
133
159
  background-color: #1f81a0;
134
160
  }
135
- td.warning {
161
+ .focusable.warning,
162
+ .checkbox-cell.warning,
163
+ .input-cell.warning,
164
+ .select-cell.warning {
136
165
  background-color: #f8eab8;
137
166
  }
138
- td.error {
167
+ .focusable.error,
168
+ .checkbox-cell.error,
169
+ .input-cell.error,
170
+ .select-cell.error {
139
171
  background-color: #f9e9e9;
140
172
  }
141
173
 
142
- td {
174
+ .focusable,
175
+ .checkbox-cell,
176
+ .input-cell,
177
+ .select-cell {
143
178
  max-height: var(--max-height);
144
179
  height: var(--height);
145
- box-sizing: content-box;
180
+ box-sizing: border-box;
146
181
  overflow-x: clip;
147
182
  --td-padding-left: 0;
148
183
  --td-padding-right: 0;
@@ -155,6 +190,6 @@ div.bubble-parent {
155
190
  overflow-x: clip;
156
191
  justify-content: flex-start;
157
192
  align-items: center;
158
- gap: 0.5rem;
193
+ gap: 0.75rem;
159
194
  --line-height: 1;
160
195
  }</style>
@@ -1,25 +1,26 @@
1
- import type { FocusableImmutableCellProps } from './FocusableImmutableCellProps.js';
2
- declare function $$render<T extends object, FilterValueType>(): {
3
- props: FocusableImmutableCellProps<T, FilterValueType>;
1
+ import { type Primitive } from '../../../Types/Context/TableInitOptions.js';
2
+ import type { BubbleCellProps } from './BubbleCellProps.js';
3
+ declare function $$render<T extends object, FilterValueType, RowIdType extends Primitive>(): {
4
+ props: BubbleCellProps<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 BubbleCell: $$IsomorphicComponent;
24
- type BubbleCell<T extends object, FilterValueType> = InstanceType<typeof BubbleCell<T, FilterValueType>>;
25
+ type BubbleCell<T extends object, FilterValueType, RowIdType extends Primitive> = InstanceType<typeof BubbleCell<T, FilterValueType, RowIdType>>;
25
26
  export default BubbleCell;
@@ -0,0 +1,12 @@
1
+ import type { TableCell } from '../../../Types/Columns/TableCell.js';
2
+ /**
3
+ * Props for {@link BubbleCell}. The cell renders one `<Bubble>` per string
4
+ * value returned by `cell.getValue()`. The per-value optional colour is
5
+ * resolved by `(cell.column.columnDef as BubbleDef<T>).getColour?.()`;
6
+ * narrowing `cell` to a `BubbleTableCell<T, FilterValueType>` is deferred to
7
+ * the same RowGenericThreading follow-up that adds discriminated cell types.
8
+ */
9
+ export interface BubbleCellProps<T extends object, FilterValueType> {
10
+ /** The cell whose array-of-strings value should be rendered as a sequence of `<Bubble>` chips. */
11
+ cell: TableCell<T, FilterValueType>;
12
+ }