@lavalogic/scoria 0.35.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 (555) hide show
  1. package/README.md +58 -58
  2. package/dist/Components/AccordionGroup.svelte +46 -42
  3. package/dist/Components/AccordionGroupButton.svelte +106 -106
  4. package/dist/Components/AccordionGroupButtonProps.d.ts +27 -8
  5. package/dist/Components/AccordionGroupProps.d.ts +10 -2
  6. package/dist/Components/Action.svelte +137 -139
  7. package/dist/Components/ActionProps.d.ts +23 -3
  8. package/dist/Components/AlertModal.svelte +176 -125
  9. package/dist/Components/AppointmentCalendar/AppointmentCalendar.svelte +1126 -0
  10. package/dist/Components/AppointmentCalendar/AppointmentCalendar.svelte.d.ts +4 -0
  11. package/dist/Components/AppointmentCalendar/AppointmentCalendarProps.d.ts +92 -0
  12. package/dist/Components/AppointmentCalendar/AppointmentCalendarProps.js +12 -0
  13. package/dist/Components/Base/BaseModal.svelte +172 -0
  14. package/dist/Components/Base/BaseModal.svelte.d.ts +4 -0
  15. package/dist/Components/Base/BaseModalProps.d.ts +73 -0
  16. package/dist/Components/Base/BaseModalProps.js +1 -0
  17. package/dist/Components/Base/ContextWrapper.svelte +72 -50
  18. package/dist/Components/Base/ContextWrapper.svelte.d.ts +24 -5
  19. package/dist/Components/Base/ContextWrapperProps.d.ts +22 -0
  20. package/dist/Components/Base/Pagination.svelte +198 -190
  21. package/dist/Components/Base/Pagination.svelte.d.ts +12 -2
  22. package/dist/Components/Base/PaginationProps.d.ts +60 -3
  23. package/dist/Components/Base/Snippets.svelte +36 -29
  24. package/dist/Components/Base/Snippets.svelte.d.ts +5 -1
  25. package/dist/Components/BigRadioSet.svelte +39 -30
  26. package/dist/Components/BigRadioSetProps.d.ts +17 -1
  27. package/dist/Components/Bubble.svelte +110 -77
  28. package/dist/Components/Bubble.svelte.d.ts +23 -2
  29. package/dist/Components/BubbleProps.d.ts +55 -4
  30. package/dist/Components/Button.svelte +209 -197
  31. package/dist/Components/ButtonProps.d.ts +66 -1
  32. package/dist/Components/Checkbox.svelte +100 -72
  33. package/dist/Components/Checkbox.svelte.d.ts +1 -12
  34. package/dist/Components/CheckboxProps.d.ts +27 -0
  35. package/dist/Components/CheckboxProps.js +1 -0
  36. package/dist/Components/CollapsibleCard.svelte +114 -83
  37. package/dist/Components/CollapsibleCardProps.d.ts +22 -1
  38. package/dist/Components/Contexts/ContextMenu.svelte +178 -157
  39. package/dist/Components/Contexts/ContextMenu.svelte.d.ts +26 -0
  40. package/dist/Components/Contexts/ContextMenuDivider.svelte +19 -11
  41. package/dist/Components/Contexts/ContextMenuDivider.svelte.d.ts +9 -0
  42. package/dist/Components/Contexts/ContextMenuOption.svelte +66 -57
  43. package/dist/Components/Contexts/ContextMenuOption.svelte.d.ts +12 -1
  44. package/dist/Components/Contexts/ContextMenuOptionProps.d.ts +34 -2
  45. package/dist/Components/Contexts/Toast.svelte +88 -64
  46. package/dist/Components/Contexts/Toast.svelte.d.ts +14 -0
  47. package/dist/Components/Contexts/ToastContainer.svelte +68 -49
  48. package/dist/Components/Contexts/ToastContainer.svelte.d.ts +14 -0
  49. package/dist/Components/Contexts/ToastProps.d.ts +14 -1
  50. package/dist/Components/Contexts/Tooltip.svelte +47 -36
  51. package/dist/Components/Contexts/Tooltip.svelte.d.ts +10 -0
  52. package/dist/Components/DataMatrixIcon.svelte +113 -42
  53. package/dist/Components/DataMatrixIconProps.d.ts +73 -1
  54. package/dist/Components/DateInput.svelte +144 -109
  55. package/dist/Components/DateInput.svelte.d.ts +1 -1
  56. package/dist/Components/DateOnlyInputProps.d.ts +31 -5
  57. package/dist/Components/DatePicker.svelte +301 -313
  58. package/dist/Components/DatePickerProps.d.ts +18 -1
  59. package/dist/Components/DateTimeInputProps.d.ts +30 -5
  60. package/dist/Components/DesktopModal.svelte +90 -119
  61. package/dist/Components/DesktopModalProps.d.ts +5 -4
  62. package/dist/Components/Dial.svelte +213 -151
  63. package/dist/Components/DialProps.d.ts +74 -2
  64. package/dist/Components/DimensionInput.svelte +171 -185
  65. package/dist/Components/DimensionInput.svelte.d.ts +1 -1
  66. package/dist/Components/DimensionInputProps.d.ts +39 -4
  67. package/dist/Components/DragMenu/DragMenuHolder.svelte +119 -107
  68. package/dist/Components/DragMenu/DragMenuHolderProps.d.ts +30 -1
  69. package/dist/Components/DragMenu/DraggableCard.svelte +77 -41
  70. package/dist/Components/DragMenu/DraggableCardProps.d.ts +27 -1
  71. package/dist/Components/FileCard.svelte +24 -20
  72. package/dist/Components/FileCardProps.d.ts +17 -1
  73. package/dist/Components/FileUpload.svelte +236 -196
  74. package/dist/Components/FileUploadProps.d.ts +34 -4
  75. package/dist/Components/GridInput.svelte +201 -191
  76. package/dist/Components/GridInput.svelte.d.ts +5 -5
  77. package/dist/Components/GridInputProps.d.ts +4 -1
  78. package/dist/Components/GridInputSet.svelte +31 -24
  79. package/dist/Components/GridInputSet.svelte.d.ts +5 -5
  80. package/dist/Components/GridInputSetProps.d.ts +4 -2
  81. package/dist/Components/HorizontalTabGroup.svelte +81 -79
  82. package/dist/Components/HorizontalTabGroupButton.svelte +51 -103
  83. package/dist/Components/HorizontalTabGroupProps.d.ts +15 -2
  84. package/dist/Components/Icon.svelte +144 -103
  85. package/dist/Components/IconProps.d.ts +54 -6
  86. package/dist/Components/Icons.d.ts +8 -0
  87. package/dist/Components/Icons.js +591 -572
  88. package/dist/Components/LoadingAnimation.svelte +39 -39
  89. package/dist/Components/LoadingAnimation.svelte.d.ts +1 -3
  90. package/dist/Components/LoadingAnimationProps.d.ts +16 -0
  91. package/dist/Components/LoadingAnimationProps.js +1 -0
  92. package/dist/Components/LoadingModal.svelte +48 -50
  93. package/dist/Components/LoadingModal.svelte.d.ts +1 -4
  94. package/dist/Components/LoadingModalProps.d.ts +17 -0
  95. package/dist/Components/LoadingModalProps.js +1 -0
  96. package/dist/Components/LoadingOverlay.svelte +28 -30
  97. package/dist/Components/LoadingOverlay.svelte.d.ts +1 -5
  98. package/dist/Components/LoadingOverlayProps.d.ts +28 -0
  99. package/dist/Components/LoadingOverlayProps.js +1 -0
  100. package/dist/Components/Modal.svelte +250 -255
  101. package/dist/Components/Modal.svelte.d.ts +1 -25
  102. package/dist/Components/ModalProps.d.ts +65 -0
  103. package/dist/Components/ModalProps.js +1 -0
  104. package/dist/Components/MultiSelect.svelte +238 -226
  105. package/dist/Components/MultiSelectCommonProps.d.ts +33 -4
  106. package/dist/Components/MultiSelectPropsAsObject.d.ts +5 -0
  107. package/dist/Components/MultiSelectPropsAsPrimitive.d.ts +6 -0
  108. package/dist/Components/Nav/CallbackButtonWithIcon.d.ts +22 -1
  109. package/dist/Components/Nav/Nav.svelte +115 -110
  110. package/dist/Components/Nav/Nav.svelte.d.ts +23 -2
  111. package/dist/Components/Nav/NavProps.d.ts +50 -3
  112. package/dist/Components/Nav/NavServiceMenuList.svelte +44 -35
  113. package/dist/Components/Nav/NavServiceMenuListProps.d.ts +25 -1
  114. package/dist/Components/Nav/NavTab.svelte +62 -91
  115. package/dist/Components/Nav/NavTab.svelte.d.ts +23 -2
  116. package/dist/Components/Nav/NavTabProps.d.ts +16 -2
  117. package/dist/Components/Nav/ServiceMenuItem.svelte +101 -92
  118. package/dist/Components/Nav/ServicesNav.svelte +96 -70
  119. package/dist/Components/Nav/ServicesNav.svelte.d.ts +23 -2
  120. package/dist/Components/Nav/ServicesNavProps.d.ts +20 -4
  121. package/dist/Components/Nav/SideMenuItemProps.d.ts +16 -0
  122. package/dist/Components/NumberInput.svelte +155 -145
  123. package/dist/Components/NumberInputProps.d.ts +37 -0
  124. package/dist/Components/PageHeading.svelte +25 -36
  125. package/dist/Components/PageHeading.svelte.d.ts +1 -6
  126. package/dist/Components/PageHeadingProps.d.ts +23 -0
  127. package/dist/Components/PageHeadingProps.js +1 -0
  128. package/dist/Components/PasswordInput.svelte +85 -73
  129. package/dist/Components/PasswordInput.svelte.d.ts +2 -2
  130. package/dist/Components/PasswordInputProps.d.ts +21 -0
  131. package/dist/Components/PasswordInputProps.js +1 -0
  132. package/dist/Components/Portal.svelte +36 -25
  133. package/dist/Components/PortalProps.d.ts +20 -1
  134. package/dist/Components/ProgressBubble.svelte +129 -84
  135. package/dist/Components/ProgressBubbleProps.d.ts +23 -2
  136. package/dist/Components/QuerySelect.svelte +384 -440
  137. package/dist/Components/QuerySelect.svelte.d.ts +2 -29
  138. package/dist/Components/QuerySelectProps.d.ts +66 -0
  139. package/dist/Components/QuerySelectProps.js +1 -0
  140. package/dist/Components/SingleSelect.svelte +268 -290
  141. package/dist/Components/SingleSelectCommonProps.d.ts +43 -5
  142. package/dist/Components/SingleSelectPropsAsObject.d.ts +7 -0
  143. package/dist/Components/SingleSelectPropsAsPrimitive.d.ts +8 -0
  144. package/dist/Components/StepButton.svelte +70 -120
  145. package/dist/Components/StepForm.svelte +147 -147
  146. package/dist/Components/StepFormProps.d.ts +16 -2
  147. package/dist/Components/Switch.svelte +84 -47
  148. package/dist/Components/Switch.svelte.d.ts +1 -1
  149. package/dist/Components/SwitchProps.d.ts +46 -0
  150. package/dist/Components/Table/Body/HeightData.d.ts +1 -6
  151. package/dist/Components/Table/Body/HeightData.js +8 -0
  152. package/dist/Components/Table/Body/QuickSearchCell.svelte +697 -641
  153. package/dist/Components/Table/Body/QuickSearchCell.svelte.d.ts +12 -11
  154. package/dist/Components/Table/Body/QuickSearchCellProps.d.ts +6 -0
  155. package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte +68 -34
  156. package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte.d.ts +24 -2
  157. package/dist/Components/Table/Body/Rows/ColumnHighlightProps.d.ts +3 -0
  158. package/dist/Components/Table/Body/Rows/ColumnList.svelte +66 -56
  159. package/dist/Components/Table/Body/Rows/ColumnList.svelte.d.ts +12 -11
  160. package/dist/Components/Table/Body/Rows/ColumnListProps.d.ts +1 -0
  161. package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +515 -182
  162. package/dist/Components/Table/Body/Rows/ColumnListRow.svelte.d.ts +12 -11
  163. package/dist/Components/Table/Body/Rows/ColumnListRowProps.d.ts +5 -0
  164. package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte +79 -49
  165. package/dist/Components/Table/Body/Rows/Columns/AccessorComponentProps.d.ts +12 -0
  166. package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +203 -191
  167. package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte.d.ts +12 -12
  168. package/dist/Components/Table/Body/Rows/Columns/ActionsColumn.d.ts +9 -0
  169. package/dist/Components/Table/Body/Rows/Columns/ActionsTableCell.d.ts +5 -0
  170. package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +150 -115
  171. package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte.d.ts +14 -13
  172. package/dist/Components/Table/Body/Rows/Columns/BubbleCellProps.d.ts +12 -0
  173. package/dist/Components/Table/Body/Rows/Columns/BubbleCellProps.js +1 -0
  174. package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +149 -129
  175. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +149 -126
  176. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte.d.ts +12 -11
  177. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCellProps.d.ts +7 -0
  178. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +142 -108
  179. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte.d.ts +17 -11
  180. package/dist/Components/Table/Body/Rows/Columns/RowSelectionColumn.d.ts +8 -0
  181. package/dist/Components/Table/Body/Rows/Columns/RowSelectionTableCell.d.ts +5 -0
  182. package/dist/Components/Table/Body/Rows/Columns/SelectColumn.d.ts +11 -0
  183. package/dist/Components/Table/Body/Rows/Columns/SelectTableCell.d.ts +11 -0
  184. package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte +87 -72
  185. package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte.d.ts +11 -0
  186. package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +148 -137
  187. package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte.d.ts +13 -18
  188. package/dist/Components/Table/Body/Rows/Columns/TableCheckboxProps.d.ts +17 -0
  189. package/dist/Components/Table/Body/Rows/Columns/TableCheckboxProps.js +1 -0
  190. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +159 -144
  191. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte.d.ts +1 -7
  192. package/dist/Components/Table/Body/Rows/Columns/TableColumnProps.d.ts +16 -0
  193. package/dist/Components/Table/Body/Rows/Columns/TableColumnProps.js +1 -0
  194. package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +279 -249
  195. package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte.d.ts +12 -11
  196. package/dist/Components/Table/Body/Rows/Columns/TableDatePickerProps.d.ts +9 -0
  197. package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +249 -370
  198. package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte.d.ts +20 -12
  199. package/dist/Components/Table/Body/Rows/Columns/TableQueryCell.d.ts +8 -0
  200. package/dist/Components/Table/Body/Rows/Columns/TableQueryColumn.d.ts +9 -0
  201. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +291 -354
  202. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte.d.ts +12 -11
  203. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelectProps.d.ts +8 -0
  204. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +201 -189
  205. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte.d.ts +2 -5
  206. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckboxProps.d.ts +14 -0
  207. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckboxProps.js +1 -0
  208. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +263 -325
  209. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte.d.ts +13 -12
  210. package/dist/Components/Table/Body/Rows/Columns/TableSelectProps.d.ts +6 -0
  211. package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +230 -381
  212. package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte.d.ts +12 -11
  213. package/dist/Components/Table/Body/Rows/Columns/TableTextInputProps.d.ts +6 -0
  214. package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +187 -177
  215. package/dist/Components/Table/Body/Rows/Columns/_helpers/useAsyncEditable.svelte.d.ts +104 -0
  216. package/dist/Components/Table/Body/Rows/Columns/_helpers/useAsyncEditable.svelte.js +215 -0
  217. package/dist/Components/Table/Body/Rows/TableRow.svelte +331 -263
  218. package/dist/Components/Table/Body/Rows/TableRow.svelte.d.ts +2 -10
  219. package/dist/Components/Table/Body/Rows/TableRowProps.d.ts +11 -2
  220. package/dist/Components/Table/Body/TableBody.svelte +198 -81
  221. package/dist/Components/Table/Body/TableBody.svelte.d.ts +15 -22
  222. package/dist/Components/Table/Body/TableBodyProps.d.ts +9 -7
  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 +41 -39
  227. package/dist/Components/Table/Headers/HighlightAllHeader.svelte.d.ts +12 -11
  228. package/dist/Components/Table/Headers/SelectAllHeader.svelte +30 -28
  229. package/dist/Components/Table/Headers/SelectAllHeader.svelte.d.ts +12 -11
  230. package/dist/Components/Table/Headers/TableHead.svelte +434 -294
  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 +154 -96
  235. package/dist/Components/Table/Misc/ColumnPanel.svelte.d.ts +12 -11
  236. package/dist/Components/Table/Misc/ColumnPanelModal.svelte +112 -99
  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 +545 -556
  240. package/dist/Components/Table/Misc/FilterInput.svelte.d.ts +12 -11
  241. package/dist/Components/Table/Misc/FilterPanel.svelte +409 -51
  242. package/dist/Components/Table/Misc/FilterPanel.svelte.d.ts +12 -11
  243. package/dist/Components/Table/Misc/FilterPanelModal.svelte +30 -77
  244. package/dist/Components/Table/Misc/FilterPanelModal.svelte.d.ts +2 -23
  245. package/dist/Components/Table/Misc/SidePanel.svelte +35 -32
  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 +315 -306
  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 +126 -157
  254. package/dist/Components/Table/Misc/TableHorizontalBar.svelte.d.ts +12 -11
  255. package/dist/Components/Table/Misc/TableSidebar.svelte +158 -177
  256. package/dist/Components/Table/Misc/TableSidebar.svelte.d.ts +12 -11
  257. package/dist/Components/Table/Misc/ToolboxPanel.svelte +147 -81
  258. package/dist/Components/Table/Misc/ToolboxPanel.svelte.d.ts +12 -11
  259. package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +107 -100
  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 +132 -88
  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 +23 -0
  271. package/dist/Components/Table/SubApis.svelte.js +359 -0
  272. package/dist/Components/Table/Table.svelte +694 -519
  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 +41 -1
  306. package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js +16 -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 +547 -53
  351. package/dist/Components/Table/Types/Context/TableContext.svelte.js +959 -1259
  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 +238 -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 +39 -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 +157 -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 +269 -0
  431. package/dist/Components/Test/TestContextConsumer.svelte +13 -13
  432. package/dist/Components/TextArea.svelte +127 -108
  433. package/dist/Components/TextAreaProps.d.ts +37 -0
  434. package/dist/Components/TextInput.svelte +166 -147
  435. package/dist/Components/TextInputProps.d.ts +58 -1
  436. package/dist/Components/ThreeStateRadio.svelte +140 -143
  437. package/dist/Components/ThreeStateRadioProps.d.ts +29 -1
  438. package/dist/Components/Touch/BoolCard.svelte +45 -52
  439. package/dist/Components/Touch/BoolCard.svelte.d.ts +1 -10
  440. package/dist/Components/Touch/BoolCardProps.d.ts +21 -0
  441. package/dist/Components/Touch/BoolCardProps.js +1 -0
  442. package/dist/Components/Touch/DateModal.svelte +209 -217
  443. package/dist/Components/Touch/DateModal.svelte.d.ts +1 -17
  444. package/dist/Components/Touch/DateModalProps.d.ts +36 -0
  445. package/dist/Components/Touch/DateModalProps.js +1 -0
  446. package/dist/Components/Touch/EditCard.svelte +59 -52
  447. package/dist/Components/Touch/EditCardProps.d.ts +21 -0
  448. package/dist/Components/Touch/InfoCard.svelte +35 -28
  449. package/dist/Components/Touch/InfoCardProps.d.ts +9 -0
  450. package/dist/Components/Touch/InfoTextCard.svelte +28 -21
  451. package/dist/Components/Touch/InfoTextCardProps.d.ts +8 -0
  452. package/dist/Components/Touch/ModalExplanation.svelte +17 -20
  453. package/dist/Components/Touch/ModalExplanation.svelte.d.ts +1 -6
  454. package/dist/Components/Touch/ModalExplanationProps.d.ts +22 -0
  455. package/dist/Components/Touch/ModalExplanationProps.js +1 -0
  456. package/dist/Components/Touch/NumberKeyboard.svelte +225 -268
  457. package/dist/Components/Touch/NumberKeyboardProps.d.ts +19 -0
  458. package/dist/Components/Touch/NumberModal.svelte +79 -69
  459. package/dist/Components/Touch/NumberModalProps.d.ts +23 -1
  460. package/dist/Components/Touch/PlusMinusCard.svelte +48 -52
  461. package/dist/Components/Touch/PlusMinusCard.svelte.d.ts +1 -6
  462. package/dist/Components/Touch/PlusMinusCardProps.d.ts +18 -0
  463. package/dist/Components/Touch/PlusMinusCardProps.js +1 -0
  464. package/dist/Components/Touch/SelectModal.svelte +123 -105
  465. package/dist/Components/Touch/SelectModalProps.d.ts +22 -1
  466. package/dist/Components/Touch/SummaryCard.svelte +107 -65
  467. package/dist/Components/Touch/SummaryCardProps.d.ts +16 -3
  468. package/dist/Components/Touch/TextAreaModal.svelte +95 -86
  469. package/dist/Components/Touch/TextAreaModalProps.d.ts +21 -0
  470. package/dist/Components/Touch/TextModal.svelte +106 -123
  471. package/dist/Components/Touch/TextModalProps.d.ts +28 -1
  472. package/dist/Components/Touch/TouchCard.svelte +34 -72
  473. package/dist/Components/Touch/TouchCardProps.d.ts +21 -0
  474. package/dist/Components/Touch/TouchModal.svelte +265 -259
  475. package/dist/Components/Touch/TouchModalProps.d.ts +35 -1
  476. package/dist/Components/Touch/UtilityButton.svelte +116 -98
  477. package/dist/Components/Touch/UtilityButtonProps.d.ts +16 -0
  478. package/dist/Components/VerticalTabGroup.svelte +80 -102
  479. package/dist/Components/VerticalTabGroupButton.svelte +59 -98
  480. package/dist/Components/VerticalTabGroupProps.d.ts +15 -2
  481. package/dist/Contexts/AlertContext.svelte.d.ts +92 -8
  482. package/dist/Contexts/AlertContext.svelte.js +69 -6
  483. package/dist/Contexts/ContextMenuContext.svelte.d.ts +54 -8
  484. package/dist/Contexts/ContextMenuContext.svelte.js +48 -2
  485. package/dist/Contexts/TestContext.svelte.d.ts +27 -1
  486. package/dist/Contexts/TestContext.svelte.js +29 -1
  487. package/dist/Contexts/ToastContext.svelte.d.ts +29 -1
  488. package/dist/Contexts/ToastContext.svelte.js +93 -24
  489. package/dist/Contexts/TooltipContext.svelte.d.ts +68 -1
  490. package/dist/Contexts/TooltipContext.svelte.js +70 -7
  491. package/dist/Contexts/UntypedInputContext.svelte.d.ts +54 -5
  492. package/dist/Contexts/UntypedInputContext.svelte.js +87 -34
  493. package/dist/Delay/Delay.js +1 -1
  494. package/dist/Helpers/AsyncFlag.svelte.d.ts +39 -0
  495. package/dist/Helpers/AsyncFlag.svelte.js +72 -0
  496. package/dist/Helpers/Datamatrix.d.ts +19 -10
  497. package/dist/Helpers/Datamatrix.js +291 -2
  498. package/dist/Helpers/Helpers.svelte.d.ts +252 -17
  499. package/dist/Helpers/Helpers.svelte.js +271 -60
  500. package/dist/Helpers/INamed.d.ts +6 -0
  501. package/dist/Helpers/Storage.d.ts +67 -0
  502. package/dist/Helpers/Storage.js +138 -0
  503. package/dist/Helpers/dropdownPortal.d.ts +52 -0
  504. package/dist/Helpers/dropdownPortal.js +232 -0
  505. package/dist/Helpers/dropdownPortal.svelte.d.ts +2 -0
  506. package/dist/Helpers/dropdownPortal.svelte.js +5 -0
  507. package/dist/Helpers/memoiseByRow.d.ts +45 -0
  508. package/dist/Helpers/memoiseByRow.js +78 -0
  509. package/dist/Helpers/prefersReducedMotion.svelte.d.ts +27 -0
  510. package/dist/Helpers/prefersReducedMotion.svelte.js +18 -0
  511. package/dist/Helpers/useTooltip.svelte.d.ts +53 -0
  512. package/dist/Helpers/useTooltip.svelte.js +62 -0
  513. package/dist/Types/Examples/ExampleModal.svelte +35 -34
  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/_basics.scss +12 -12
  547. package/dist/scss/_colours.scss +134 -134
  548. package/dist/scss/_mixins.scss +3300 -3016
  549. package/dist/scss/_motion.scss +57 -0
  550. package/dist/scss/_sizing.scss +85 -69
  551. package/dist/scss/_transitions.scss +8 -8
  552. package/dist/scss/colours.js +2 -2
  553. package/dist/scss/sizing.d.ts +9 -0
  554. package/dist/scss/sizing.js +10 -1
  555. package/package.json +6 -2
@@ -1,14 +1,26 @@
1
+ import { dev } from '$app/environment';
1
2
  import { SvelteSet } from 'svelte/reactivity';
2
3
  import { FilterType } from '../Filtering/FilterType.js';
3
4
  import { NumberDateFilterMode } from '../Filtering/NumberDateFilterMode.js';
4
5
  import { StringFilterMode } from '../Filtering/StringFilterMode.js';
5
6
  import { PaginationType } from '../Pagination/PaginationType.js';
6
7
  import { TableDataRepository } from './TableDataRepository.svelte.js';
8
+ /**
9
+ * Filter modes that accept an empty filter value (e.g. "show empty",
10
+ * "show null"). Used by `setFilterMode` / `filterBy` to decide whether
11
+ * to keep an empty stub filter in the active filtering list.
12
+ */
7
13
  export const allowedEmptyFilterModes = new SvelteSet([
8
14
  StringFilterMode.Empty,
9
15
  StringFilterMode.null,
10
16
  NumberDateFilterMode.null,
11
17
  ]);
18
+ /**
19
+ * Negation-style filter modes. Used by the per-row filter callbacks to
20
+ * decide whether a row with a missing or wrong-shaped value should pass
21
+ * the filter (rows that cannot be tested are included for negation
22
+ * modes and excluded for inclusion modes).
23
+ */
12
24
  const inclusiveFilterModes = new SvelteSet([
13
25
  //strings
14
26
  StringFilterMode.NotEquals,
@@ -21,7 +33,18 @@ const inclusiveFilterModes = new SvelteSet([
21
33
  NumberDateFilterMode.NotIn,
22
34
  NumberDateFilterMode.null,
23
35
  ]);
24
- // let totalRedraws = 0;
36
+ /**
37
+ * Concrete in-memory data repository. The data array is supplied as a
38
+ * `RefWrapper` so consumers can mutate the underlying array and the
39
+ * repo's `$derived` totals will update reactively without a full
40
+ * reassignment.
41
+ *
42
+ * Implements the five filter callbacks (date / number / select / bool
43
+ * / string). The async signature is preserved across all five even
44
+ * though the bodies are synchronous; converting to a sync fast-path is
45
+ * deferred (LocalTableDataRepository P0 finding, requires a coordinated
46
+ * change to TableContext's `_filteredIndices` loop).
47
+ */
25
48
  export class LocalTableDataRepository extends TableDataRepository {
26
49
  addEmptyRow;
27
50
  debug;
@@ -36,6 +59,7 @@ export class LocalTableDataRepository extends TableDataRepository {
36
59
  this._totalRows = $derived(this._dataRef.value.length);
37
60
  }
38
61
  _isLoading = $state(false);
62
+ /** Whether a long-running operation is currently in flight. */
39
63
  get isLoading() {
40
64
  return this._isLoading;
41
65
  }
@@ -43,14 +67,17 @@ export class LocalTableDataRepository extends TableDataRepository {
43
67
  this._isLoading = v;
44
68
  }
45
69
  _dataRef;
70
+ /** The current data array (read from the underlying `RefWrapper`). */
46
71
  get data() {
47
72
  return this._dataRef.value;
48
73
  }
49
74
  _lastPage;
75
+ /** The last page index (1-based) given the current page size. */
50
76
  get lastPage() {
51
77
  return this._lastPage;
52
78
  }
53
79
  _sorting = $state([]);
80
+ /** The active sort columns, in precedence order. */
54
81
  get sorting() {
55
82
  return this._sorting;
56
83
  }
@@ -58,16 +85,22 @@ export class LocalTableDataRepository extends TableDataRepository {
58
85
  this._sorting = v;
59
86
  }
60
87
  _totalRows;
88
+ /** Total number of rows in the underlying data array. */
61
89
  get totalRows() {
62
90
  return this._totalRows;
63
91
  }
64
92
  _filtering = $state([]);
93
+ /** The active per-column filter values, in application order. */
65
94
  get filtering() {
66
95
  return this._filtering;
67
96
  }
68
97
  set filtering(v) {
69
98
  this._filtering = v;
70
99
  }
100
+ /**
101
+ * Replace the sorting state with either a literal array or a
102
+ * function that maps the previous state to a new state.
103
+ */
71
104
  updateSorting = (stateOrCallback) => {
72
105
  if (typeof stateOrCallback == 'function') {
73
106
  this.sorting = stateOrCallback(this.sorting);
@@ -77,6 +110,12 @@ export class LocalTableDataRepository extends TableDataRepository {
77
110
  }
78
111
  };
79
112
  paginationType = PaginationType.Local;
113
+ /**
114
+ * Sets (or clears) the filter mode for a column. Passing `undefined`
115
+ * removes the mode entry; setting an empty-allowed mode (e.g.
116
+ * "Empty", "Null") additionally adds a stub filter value so the
117
+ * filter actually applies even though no value was typed.
118
+ */
80
119
  setFilterMode = (id, mode) => {
81
120
  if (mode != undefined) {
82
121
  if (this.debug) {
@@ -95,6 +134,15 @@ export class LocalTableDataRepository extends TableDataRepository {
95
134
  this._filterModes.delete(id);
96
135
  }
97
136
  };
137
+ /**
138
+ * Sets or updates the filter value for a column. Empty values are
139
+ * dropped from the filtering list unless the column's active mode
140
+ * explicitly accepts an empty value (e.g. "Empty", "Null").
141
+ *
142
+ * Per-keystroke debouncing is deferred to the input layer; the
143
+ * `LocalTableDataRepository` P0 finding tracks adding a
144
+ * `filterByDebounced` helper here.
145
+ */
98
146
  filterBy = (id, value) => {
99
147
  if (typeof value === 'string') {
100
148
  value = value.trim();
@@ -134,16 +182,24 @@ export class LocalTableDataRepository extends TableDataRepository {
134
182
  this.filtering = newFiltering;
135
183
  };
136
184
  _pageStartIndex = $derived(this.paginationState.pageIndex * this.paginationState.pageSize);
185
+ /** Index of the first row on the current page. */
137
186
  get pageStartIndex() {
138
187
  return this._pageStartIndex;
139
188
  }
140
189
  _pageEndIndexExclusive = $derived((this.paginationState.pageIndex + 1) * this.paginationState.pageSize);
190
+ /** Index one past the last row on the current page. */
141
191
  get pageEndIndexExclusive() {
142
192
  return this._pageEndIndexExclusive;
143
193
  }
194
+ /** Clears every active filter value (keeps filter modes intact). */
144
195
  resetFilters = () => {
145
196
  this.filtering = [];
146
197
  };
198
+ /**
199
+ * Sets the page size and clamps the current page index so the new
200
+ * page count covers the current view. Accepts a string so a raw
201
+ * `<select>` value can be passed through without parsing first.
202
+ */
147
203
  setPageSize = (size) => {
148
204
  if (typeof size === 'string') {
149
205
  size = parseInt(size);
@@ -158,6 +214,7 @@ export class LocalTableDataRepository extends TableDataRepository {
158
214
  pageIndex: Math.max(0, Math.min(this.paginationState.pageIndex, lastIndex)),
159
215
  };
160
216
  };
217
+ /** Jumps to the given 1-based page number, clamped to the last page. */
161
218
  setPage = (page) => {
162
219
  const lastIndex = this._lastPage - 1;
163
220
  this.paginationState = {
@@ -165,6 +222,7 @@ export class LocalTableDataRepository extends TableDataRepository {
165
222
  pageIndex: Math.max(0, Math.min(lastIndex, page - 1)),
166
223
  };
167
224
  };
225
+ /** Advances to the next page, clamped to the last page. */
168
226
  nextPage = () => {
169
227
  const lastIndex = this._lastPage - 1;
170
228
  this.paginationState = {
@@ -172,6 +230,7 @@ export class LocalTableDataRepository extends TableDataRepository {
172
230
  pageIndex: Math.min(lastIndex, this.paginationState.pageIndex + 1),
173
231
  };
174
232
  };
233
+ /** Returns to the previous page, clamped to page 0. */
175
234
  prevPage = () => {
176
235
  this.paginationState = {
177
236
  ...this.paginationState,
@@ -179,12 +238,28 @@ export class LocalTableDataRepository extends TableDataRepository {
179
238
  };
180
239
  };
181
240
  // #region filters
241
+ /**
242
+ * Date range filter. The filter value is a `[from, to]` tuple where
243
+ * either bound may be `null` (or `undefined`) to leave that side
244
+ * unbounded. Rows whose value is not a `Date` are excluded.
245
+ *
246
+ * Inner `<T>` generic shadowing of the class `T` (workorder P1) is
247
+ * a known limitation, retained pending a coordinated signature
248
+ * change.
249
+ */
182
250
  dateFilter = async (row, columnId, // & keyof T,
183
251
  [dateFrom, dateTo]) => {
184
252
  if (!dateFrom && !dateTo) {
185
253
  return true;
186
254
  }
187
- const columnValue = (await row.getValue(columnId))?.valueOf();
255
+ const rawValue = await row.getValue(columnId);
256
+ if (!(rawValue instanceof Date)) {
257
+ if (dev && rawValue != null) {
258
+ console.warn(`dateFilter: column ${columnId} value was not a Date`, rawValue);
259
+ }
260
+ return false;
261
+ }
262
+ const columnValue = rawValue.valueOf();
188
263
  if (!columnValue) {
189
264
  return false;
190
265
  }
@@ -202,19 +277,24 @@ export class LocalTableDataRepository extends TableDataRepository {
202
277
  const dateToTimestamp = dateTo.valueOf();
203
278
  return columnValue <= dateToTimestamp;
204
279
  }
205
- else {
280
+ else if (dev) {
206
281
  console.warn('no valid dateFrom or dateTo exist in filter');
207
282
  //should never happen
208
283
  }
209
284
  return true;
210
285
  };
286
+ /**
287
+ * Numeric filter supporting equality, range, set, and negation
288
+ * modes. String filter modes that share a literal value are caught
289
+ * at the switch and throw, surfacing a programming error before the
290
+ * user sees stale data.
291
+ */
211
292
  numberFilter = async (row, columnId, // & keyof T,
212
293
  values) => {
213
294
  const columnValue = await row.getValue(columnId);
214
295
  const mode = this.filterModes.get(columnId) ?? NumberDateFilterMode.In;
215
296
  const isValueInvalid = columnValue == null || typeof columnValue != 'number' || isNaN(columnValue);
216
297
  if (mode == NumberDateFilterMode.null) {
217
- // TODO test
218
298
  return isValueInvalid;
219
299
  }
220
300
  if (isValueInvalid || typeof columnValue != 'number') {
@@ -290,18 +370,24 @@ export class LocalTableDataRepository extends TableDataRepository {
290
370
  case StringFilterMode.In:
291
371
  case StringFilterMode.NotIn:
292
372
  case StringFilterMode.Empty:
293
- case StringFilterMode.null:
373
+ // StringFilterMode.null shares its value ('__null=') with NumberDateFilterMode.null
374
+ // and is handled by the early-return above; we do not list it here because the
375
+ // frozen-const filter mode types collapse to identical string literals.
294
376
  throw new Error('Using string filter mode in a number filter column');
295
377
  }
296
378
  //default
297
379
  return !!values[0] && columnValue.toString().includes(values[0].toString());
298
380
  };
381
+ /**
382
+ * Multi-select / single-value equality filter. Accepts an array, a
383
+ * `Set`, an option-object with a `value` field, or a primitive
384
+ * compared with loose equality.
385
+ */
299
386
  selectFilter = async (row, columnId, // & keyof T,
300
387
  filterValue) => {
301
388
  if (!filterValue) {
302
389
  return true;
303
390
  }
304
- void filterValue;
305
391
  const columnValue = (await row.getValue(columnId));
306
392
  if (Array.isArray(filterValue)) {
307
393
  return filterValue.find((it) => it === columnValue) != null;
@@ -314,11 +400,30 @@ export class LocalTableDataRepository extends TableDataRepository {
314
400
  }
315
401
  return filterValue == columnValue;
316
402
  };
403
+ /**
404
+ * Boolean filter. Rows whose value is not a boolean are excluded
405
+ * (dev warning logged) so an accidental non-boolean accessor does
406
+ * not silently match every row.
407
+ */
317
408
  boolFilter = async (row, columnId, // & keyof T,
318
409
  filterValue) => {
319
- const columnValue = (await row.getValue(columnId));
410
+ const columnValue = await row.getValue(columnId);
411
+ if (typeof columnValue !== 'boolean') {
412
+ if (dev && columnValue != null) {
413
+ console.warn(`boolFilter: column ${columnId} value was not a boolean`, columnValue);
414
+ }
415
+ return filterValue == null;
416
+ }
320
417
  return filterValue == null || filterValue === columnValue;
321
418
  };
419
+ /**
420
+ * String filter implementing every `StringFilterMode` variant.
421
+ * Comparisons are case-insensitive and use trimmed lowercase forms;
422
+ * an empty filter value yields a positive match for inclusion modes
423
+ * and a negative match for negation modes (so empty inputs do not
424
+ * accidentally hide rows when the user is mid-typing a "not equals"
425
+ * filter).
426
+ */
322
427
  stringFilter = async (row, columnId, // & keyof T,
323
428
  filterValue) => {
324
429
  const filterType = this.filterModes.get(columnId) ?? StringFilterMode.Contains;
@@ -1,5 +1,17 @@
1
+ /**
2
+ * One sort instruction. `id` is the column id and `desc` is `true` for
3
+ * descending, `false` for ascending. `id` is a bare `string` rather than
4
+ * `string & keyof T` because column-preset deserialisation cannot statically
5
+ * know the row type; tightening is deferred (workorder
6
+ * Types-DataRepository-interfaces finding 4).
7
+ */
1
8
  export interface ColumnSort {
2
9
  desc: boolean;
3
10
  id: string;
4
11
  }
12
+ /**
13
+ * Ordered list of column sorts. Earlier entries win when
14
+ * `enableMultiSort` is on. An empty array means the data is in its natural
15
+ * (repository-supplied) order.
16
+ */
5
17
  export type SortingState = Array<ColumnSort>;
@@ -3,21 +3,50 @@ import type { ColumnFiltersState } from '../Filtering/ColumnFiltersState.js';
3
3
  import type { FilterMode } from '../Filtering/FilterMode.js';
4
4
  import type { FilterType } from '../Filtering/FilterType.js';
5
5
  import type { PaginationState } from '../Pagination/PaginationState.js';
6
+ import { PaginationType } from '../Pagination/PaginationType.js';
6
7
  import type { IDataRepository } from './IDataRepository.js';
7
8
  import type { SortingState } from './SortingState.js';
9
+ /**
10
+ * Pagination state with the read-only contract enforced at the type
11
+ * level. Both fields are read-only because consumers should never mutate
12
+ * an existing pagination object - they must reassign the whole shape
13
+ * through the public setter so the previously viewed page is tracked.
14
+ */
8
15
  export interface ReadonlyPaginationState extends PaginationState {
9
16
  readonly pageIndex: number;
10
17
  readonly pageSize: number;
11
18
  }
19
+ /**
20
+ * Abstract base for every data repository that backs a `TableContext`.
21
+ * Owns pagination state with localStorage write-through on `pageSize`,
22
+ * the reactive filter-mode map, the force-refresh hook, and shared
23
+ * static helpers for parsing comma-separated filter input.
24
+ *
25
+ * The `out FilterValueType` variance annotation is currently advisory:
26
+ * `filtering` reads the parameter (contravariant) but `__queryValues`
27
+ * does not currently use it. A proper variance audit is deferred to a
28
+ * future workorder; the existing annotation does not break type
29
+ * checking.
30
+ */
12
31
  export declare abstract class TableDataRepository<T extends object, out FilterValueType> implements IDataRepository<T> {
13
32
  private tableName;
14
33
  protected getUserId: () => string | undefined;
15
- abstract paginationType: 'Remote' | 'Local';
34
+ /**
35
+ * Discriminator used by `TableContext` to route pagination control
36
+ * flow. Subclasses must declare a concrete value drawn from
37
+ * `PaginationType` (currently `Local` or `Remote`).
38
+ */
39
+ abstract paginationType: typeof PaginationType.Local | typeof PaginationType.Remote;
16
40
  abstract filterType: FilterType;
17
41
  abstract totalRows: number;
18
42
  abstract isLoading: boolean;
19
43
  abstract data: Array<T>;
20
- abstract setPageSize: (size: number) => void;
44
+ /**
45
+ * Subclasses widen the parameter to `number | string` so a raw input
46
+ * value coming from a `<select>` element can be parsed inline. The
47
+ * abstract signature mirrors that broader contract.
48
+ */
49
+ abstract setPageSize: (size: number | string) => void;
21
50
  abstract filtering: ColumnFiltersState<FilterValueType>;
22
51
  abstract setFilterMode: (id: string, mode: FilterMode) => void;
23
52
  abstract filterBy: (id: string, value: unknown) => void;
@@ -29,20 +58,76 @@ export declare abstract class TableDataRepository<T extends object, out FilterVa
29
58
  abstract pageStartIndex: number;
30
59
  abstract pageEndIndexExclusive: number;
31
60
  constructor(tableName: string, getUserId: () => string | undefined);
61
+ /**
62
+ * Reactive bag of consumer-defined query values keyed by column id.
63
+ * Stored as `unknown` because the shape depends on the column type;
64
+ * narrowing to `FilterValueType` is deferred (would force consumers
65
+ * to choose a single value type at construction time, which is too
66
+ * restrictive for tables mixing several filter modes).
67
+ */
32
68
  __queryValues: SvelteMap<string, unknown>;
33
69
  private _paginationState;
70
+ /** Current page index plus the configured page size. */
34
71
  get paginationState(): ReadonlyPaginationState;
72
+ /**
73
+ * Replaces pagination state and writes the new `pageSize` through to
74
+ * localStorage. Idempotent: identical states are dropped so the
75
+ * previously-viewed-page tracker does not lose its value when the
76
+ * same state is reassigned (e.g. from a `$derived` re-evaluation).
77
+ */
35
78
  set paginationState(v: ReadonlyPaginationState);
36
79
  private _previouslyViewedPage;
80
+ /**
81
+ * The page index that was current immediately before the most recent
82
+ * `paginationState` assignment. Used by `Table.svelte` to decide
83
+ * whether to scroll-reset on remote-load.
84
+ */
37
85
  get previouslyViewedPage(): number;
38
86
  private set previouslyViewedPage(value);
39
87
  protected _filterModes: SvelteMap<string, FilterMode>;
88
+ /** Per-column filter mode (e.g. `Equals`, `Contains`). */
40
89
  get filterModes(): SvelteMap<string, FilterMode>;
41
90
  private _forceRefresh;
91
+ /**
92
+ * Returns the currently-registered force-refresh callback. Until a
93
+ * consumer registers a callback via `registerRefreshMethod` the
94
+ * returned function logs a console warning and otherwise does
95
+ * nothing.
96
+ */
42
97
  get forceRefresh(): () => void;
98
+ /**
99
+ * Replaces the force-refresh callback. Also invokes the new callback
100
+ * immediately so callers wiring up a remote repo can request a fresh
101
+ * payload as a single assignment.
102
+ *
103
+ * The implicit invocation on set is a known footgun (TableDataRepository
104
+ * P1 finding): a future workorder will introduce a dedicated
105
+ * `triggerRefresh()` method and remove the side effect from the
106
+ * setter. Behaviour preserved here to avoid breaking existing
107
+ * consumers.
108
+ */
43
109
  set forceRefresh(v: () => void);
110
+ /**
111
+ * Registers a refresh callback without invoking it. Preferred over
112
+ * the `forceRefresh` setter when the caller does not want the
113
+ * implicit immediate refresh.
114
+ */
44
115
  readonly registerRefreshMethod: (method: () => void) => void;
116
+ /**
117
+ * Parses a comma-separated filter value list into a reactive set of
118
+ * finite numbers, dropping non-numeric entries.
119
+ */
45
120
  protected getValueSet(values: Array<string | number | undefined>): SvelteSet<number>;
121
+ /**
122
+ * Splits a comma-separated filter input into a numeric array,
123
+ * dropping `NaN` entries. Static so it can be reused inside filter
124
+ * functions without an instance reference.
125
+ */
46
126
  static getValues(values: Array<string | number | null | undefined>): Array<number>;
127
+ /**
128
+ * Parses up to two filter-input values into a `[min, max]` tuple,
129
+ * coalescing missing or non-numeric `max` to `min` so a single-input
130
+ * filter still compares against a useful upper bound.
131
+ */
47
132
  static getMinMax(values: Array<string | number | null | undefined>): number[] | undefined[];
48
133
  }
@@ -1,5 +1,18 @@
1
1
  import { browser } from '$app/environment';
2
2
  import { SvelteMap, SvelteSet } from 'svelte/reactivity';
3
+ import { PaginationType } from '../Pagination/PaginationType.js';
4
+ /**
5
+ * Abstract base for every data repository that backs a `TableContext`.
6
+ * Owns pagination state with localStorage write-through on `pageSize`,
7
+ * the reactive filter-mode map, the force-refresh hook, and shared
8
+ * static helpers for parsing comma-separated filter input.
9
+ *
10
+ * The `out FilterValueType` variance annotation is currently advisory:
11
+ * `filtering` reads the parameter (contravariant) but `__queryValues`
12
+ * does not currently use it. A proper variance audit is deferred to a
13
+ * future workorder; the existing annotation does not break type
14
+ * checking.
15
+ */
3
16
  export class TableDataRepository {
4
17
  tableName;
5
18
  getUserId;
@@ -7,22 +20,45 @@ export class TableDataRepository {
7
20
  this.tableName = tableName;
8
21
  this.getUserId = getUserId;
9
22
  }
23
+ /**
24
+ * Reactive bag of consumer-defined query values keyed by column id.
25
+ * Stored as `unknown` because the shape depends on the column type;
26
+ * narrowing to `FilterValueType` is deferred (would force consumers
27
+ * to choose a single value type at construction time, which is too
28
+ * restrictive for tables mixing several filter modes).
29
+ */
10
30
  __queryValues = new SvelteMap();
11
31
  _paginationState = $state({
12
32
  pageIndex: 0,
13
33
  pageSize: 20,
14
34
  });
35
+ /** Current page index plus the configured page size. */
15
36
  get paginationState() {
16
37
  return this._paginationState;
17
38
  }
39
+ /**
40
+ * Replaces pagination state and writes the new `pageSize` through to
41
+ * localStorage. Idempotent: identical states are dropped so the
42
+ * previously-viewed-page tracker does not lose its value when the
43
+ * same state is reassigned (e.g. from a `$derived` re-evaluation).
44
+ */
18
45
  set paginationState(v) {
46
+ if (v.pageIndex === this._paginationState.pageIndex &&
47
+ v.pageSize === this._paginationState.pageSize) {
48
+ return;
49
+ }
19
50
  this._previouslyViewedPage = this._paginationState.pageIndex;
20
51
  this._paginationState = v;
21
52
  if (browser) {
22
- localStorage.setItem(`${this.getUserId()}-${this.tableName}-page-size`, v.pageSize.toString());
53
+ localStorage.setItem(`scoria-table:${this.getUserId() ?? 'anon'}:${this.tableName}:page-size`, v.pageSize.toString());
23
54
  }
24
55
  }
25
56
  _previouslyViewedPage = $state(0);
57
+ /**
58
+ * The page index that was current immediately before the most recent
59
+ * `paginationState` assignment. Used by `Table.svelte` to decide
60
+ * whether to scroll-reset on remote-load.
61
+ */
26
62
  get previouslyViewedPage() {
27
63
  return this._previouslyViewedPage;
28
64
  }
@@ -30,25 +66,57 @@ export class TableDataRepository {
30
66
  this._previouslyViewedPage = v;
31
67
  }
32
68
  _filterModes = $state(new SvelteMap());
69
+ /** Per-column filter mode (e.g. `Equals`, `Contains`). */
33
70
  get filterModes() {
34
71
  return this._filterModes;
35
72
  }
36
73
  _forceRefresh = $state(() => {
37
74
  console.warn('tried to force refresh without a callback registered');
38
75
  });
76
+ /**
77
+ * Returns the currently-registered force-refresh callback. Until a
78
+ * consumer registers a callback via `registerRefreshMethod` the
79
+ * returned function logs a console warning and otherwise does
80
+ * nothing.
81
+ */
39
82
  get forceRefresh() {
40
83
  return this._forceRefresh;
41
84
  }
85
+ /**
86
+ * Replaces the force-refresh callback. Also invokes the new callback
87
+ * immediately so callers wiring up a remote repo can request a fresh
88
+ * payload as a single assignment.
89
+ *
90
+ * The implicit invocation on set is a known footgun (TableDataRepository
91
+ * P1 finding): a future workorder will introduce a dedicated
92
+ * `triggerRefresh()` method and remove the side effect from the
93
+ * setter. Behaviour preserved here to avoid breaking existing
94
+ * consumers.
95
+ */
42
96
  set forceRefresh(v) {
43
97
  this._forceRefresh = v;
44
98
  this._forceRefresh();
45
99
  }
100
+ /**
101
+ * Registers a refresh callback without invoking it. Preferred over
102
+ * the `forceRefresh` setter when the caller does not want the
103
+ * implicit immediate refresh.
104
+ */
46
105
  registerRefreshMethod = (method) => {
47
106
  this._forceRefresh = method;
48
107
  };
108
+ /**
109
+ * Parses a comma-separated filter value list into a reactive set of
110
+ * finite numbers, dropping non-numeric entries.
111
+ */
49
112
  getValueSet(values) {
50
113
  return new SvelteSet(TableDataRepository.getValues(values));
51
114
  }
115
+ /**
116
+ * Splits a comma-separated filter input into a numeric array,
117
+ * dropping `NaN` entries. Static so it can be reused inside filter
118
+ * functions without an instance reference.
119
+ */
52
120
  static getValues(values) {
53
121
  return values
54
122
  .toString()
@@ -58,6 +126,11 @@ export class TableDataRepository {
58
126
  })
59
127
  .filter((it) => !isNaN(it));
60
128
  }
129
+ /**
130
+ * Parses up to two filter-input values into a `[min, max]` tuple,
131
+ * coalescing missing or non-numeric `max` to `min` so a single-input
132
+ * filter still compares against a useful upper bound.
133
+ */
61
134
  static getMinMax(values) {
62
135
  let [min, max] = values;
63
136
  if (typeof min === 'string') {
@@ -1,3 +1,12 @@
1
+ /**
2
+ * Discriminator on the currently-visible toolbar sidebar panel:
3
+ *
4
+ * - `None` - no panel open (currently the `null` state is preferred in
5
+ * `TableSidebar.svelte`; `None` is kept for symmetry but unused).
6
+ * - `Column` - column-picker panel.
7
+ * - `Filter` - advanced filter panel.
8
+ * - `Toolbox` - settings / toolbox panel.
9
+ */
1
10
  export declare const ExpandedPanel: {
2
11
  readonly None: "None";
3
12
  readonly Column: "Column";
@@ -1,7 +1,16 @@
1
+ /**
2
+ * Discriminator on the currently-visible toolbar sidebar panel:
3
+ *
4
+ * - `None` - no panel open (currently the `null` state is preferred in
5
+ * `TableSidebar.svelte`; `None` is kept for symmetry but unused).
6
+ * - `Column` - column-picker panel.
7
+ * - `Filter` - advanced filter panel.
8
+ * - `Toolbox` - settings / toolbox panel.
9
+ */
1
10
  export const ExpandedPanel = {
2
11
  None: 'None',
3
12
  Column: 'Column',
4
13
  Filter: 'Filter',
5
- Toolbox: 'Toolbox'
14
+ Toolbox: 'Toolbox',
6
15
  };
7
16
  Object.freeze(ExpandedPanel);
@@ -1,5 +1,22 @@
1
+ /**
2
+ * One filter entry: the column id (`string`, not narrowed to `keyof T` here
3
+ * because the state is heterogeneous across columns) plus the current filter
4
+ * value. The value's concrete shape depends on the column's
5
+ * `filterValueType` (see `FilterValueType`); the type parameter `T` here is
6
+ * the value-side, not the row-side, and defaults to `unknown` for the
7
+ * `ColumnFiltersState` aggregate.
8
+ *
9
+ * Tightening to a discriminated union (`{ kind: 'String'; value: string }
10
+ * | { kind: 'Number'; value: NumberFilterValueType } | ...`) is deferred to
11
+ * the `ColumnFilter` workorder.
12
+ */
1
13
  export interface ColumnFilter<T> {
2
14
  id: string;
3
15
  value: T;
4
16
  }
17
+ /**
18
+ * Heterogeneous list of filter entries. Default `T = unknown` reflects the
19
+ * fact that the per-entry filter value type cannot be statically known once
20
+ * the entries are mixed.
21
+ */
5
22
  export type ColumnFiltersState<T = unknown> = Array<ColumnFilter<T>>;
@@ -1,5 +1,26 @@
1
1
  import type { SelectOption } from '../../../../Types/Internal/SelectOption.js';
2
2
  import type { CustomFilterType } from './CustomFilterType.js';
3
+ /**
4
+ * Description of a consumer-supplied "custom" filter, surfaced in the filter
5
+ * panel alongside the per-column filter inputs. Used to let remote tables
6
+ * register filters that are not tied to a single column (e.g. a
7
+ * facility-wide status filter).
8
+ *
9
+ * - `queryKey` is the URL parameter / GraphQL variable name the filter binds
10
+ * to on the remote side.
11
+ * - `type` selects the input control (`String`, `Number`, `Select`, `Date`).
12
+ * - `id` is a stable identifier used as a map key in `CustomRemoteFilters`.
13
+ * - `options` is the static option set for `Select` filters; pass a Promise
14
+ * to load them async.
15
+ * - `query` is the dynamic option fetcher for `Select` filters whose options
16
+ * are searchable. The `value` argument is the user-entered search string
17
+ * from the filter input.
18
+ *
19
+ * Security note: `query.value` is untrusted user input. Implementers
20
+ * forwarding it to a backend MUST escape / parameterise it; the type
21
+ * signature is intentionally `unknown` for backwards compatibility but the
22
+ * runtime value is the user's keystrokes from the search box.
23
+ */
3
24
  export interface CustomFilter<FilterValueType> {
4
25
  queryKey: string;
5
26
  type: CustomFilterType;
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Input-type discriminator for a `CustomFilter`. Selects which control the
3
+ * filter panel renders for the custom filter (string field, number field,
4
+ * select dropdown, date picker).
5
+ */
1
6
  export declare const CustomFilterType: {
2
7
  readonly String: "String";
3
8
  readonly Number: "Number";
@@ -1,7 +1,12 @@
1
+ /**
2
+ * Input-type discriminator for a `CustomFilter`. Selects which control the
3
+ * filter panel renders for the custom filter (string field, number field,
4
+ * select dropdown, date picker).
5
+ */
1
6
  export const CustomFilterType = {
2
7
  String: 'String',
3
8
  Number: 'Number',
4
9
  Select: 'Select',
5
- Date: 'Date'
10
+ Date: 'Date',
6
11
  };
7
12
  Object.freeze(CustomFilterType);