@lavalogic/scoria 0.36.0 → 0.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (550) hide show
  1. package/dist/Components/AccordionGroup.svelte +6 -2
  2. package/dist/Components/AccordionGroupButton.svelte +78 -78
  3. package/dist/Components/AccordionGroupButtonProps.d.ts +27 -8
  4. package/dist/Components/AccordionGroupProps.d.ts +10 -2
  5. package/dist/Components/Action.svelte +31 -33
  6. package/dist/Components/ActionProps.d.ts +23 -3
  7. package/dist/Components/AlertModal.svelte +90 -39
  8. package/dist/Components/AppointmentCalendar/AppointmentCalendar.svelte +1126 -0
  9. package/dist/Components/AppointmentCalendar/AppointmentCalendar.svelte.d.ts +4 -0
  10. package/dist/Components/AppointmentCalendar/AppointmentCalendarProps.d.ts +92 -0
  11. package/dist/Components/AppointmentCalendar/AppointmentCalendarProps.js +12 -0
  12. package/dist/Components/Base/BaseModal.svelte +172 -0
  13. package/dist/Components/Base/BaseModal.svelte.d.ts +4 -0
  14. package/dist/Components/Base/BaseModalProps.d.ts +73 -0
  15. package/dist/Components/Base/BaseModalProps.js +1 -0
  16. package/dist/Components/Base/ContextWrapper.svelte +37 -15
  17. package/dist/Components/Base/ContextWrapper.svelte.d.ts +24 -5
  18. package/dist/Components/Base/ContextWrapperProps.d.ts +22 -0
  19. package/dist/Components/Base/Pagination.svelte +70 -62
  20. package/dist/Components/Base/Pagination.svelte.d.ts +12 -2
  21. package/dist/Components/Base/PaginationProps.d.ts +60 -3
  22. package/dist/Components/Base/Snippets.svelte +7 -0
  23. package/dist/Components/Base/Snippets.svelte.d.ts +5 -1
  24. package/dist/Components/BigRadioSet.svelte +18 -9
  25. package/dist/Components/BigRadioSetProps.d.ts +17 -1
  26. package/dist/Components/Bubble.svelte +67 -34
  27. package/dist/Components/Bubble.svelte.d.ts +23 -2
  28. package/dist/Components/BubbleProps.d.ts +55 -4
  29. package/dist/Components/Button.svelte +50 -38
  30. package/dist/Components/ButtonProps.d.ts +66 -1
  31. package/dist/Components/Checkbox.svelte +57 -29
  32. package/dist/Components/Checkbox.svelte.d.ts +1 -12
  33. package/dist/Components/CheckboxProps.d.ts +27 -0
  34. package/dist/Components/CheckboxProps.js +1 -0
  35. package/dist/Components/CollapsibleCard.svelte +53 -22
  36. package/dist/Components/CollapsibleCardProps.d.ts +22 -1
  37. package/dist/Components/Contexts/ContextMenu.svelte +53 -32
  38. package/dist/Components/Contexts/ContextMenu.svelte.d.ts +26 -0
  39. package/dist/Components/Contexts/ContextMenuDivider.svelte +15 -7
  40. package/dist/Components/Contexts/ContextMenuDivider.svelte.d.ts +9 -0
  41. package/dist/Components/Contexts/ContextMenuOption.svelte +27 -18
  42. package/dist/Components/Contexts/ContextMenuOption.svelte.d.ts +12 -1
  43. package/dist/Components/Contexts/ContextMenuOptionProps.d.ts +34 -2
  44. package/dist/Components/Contexts/Toast.svelte +28 -4
  45. package/dist/Components/Contexts/Toast.svelte.d.ts +14 -0
  46. package/dist/Components/Contexts/ToastContainer.svelte +30 -11
  47. package/dist/Components/Contexts/ToastContainer.svelte.d.ts +14 -0
  48. package/dist/Components/Contexts/ToastProps.d.ts +14 -1
  49. package/dist/Components/Contexts/Tooltip.svelte +21 -10
  50. package/dist/Components/Contexts/Tooltip.svelte.d.ts +10 -0
  51. package/dist/Components/DataMatrixIcon.svelte +82 -11
  52. package/dist/Components/DataMatrixIconProps.d.ts +73 -1
  53. package/dist/Components/DateInput.svelte +64 -29
  54. package/dist/Components/DateInput.svelte.d.ts +1 -1
  55. package/dist/Components/DateOnlyInputProps.d.ts +31 -5
  56. package/dist/Components/DatePicker.svelte +96 -108
  57. package/dist/Components/DatePickerProps.d.ts +18 -1
  58. package/dist/Components/DateTimeInputProps.d.ts +30 -5
  59. package/dist/Components/DesktopModal.svelte +14 -43
  60. package/dist/Components/DesktopModalProps.d.ts +5 -4
  61. package/dist/Components/Dial.svelte +103 -41
  62. package/dist/Components/DialProps.d.ts +74 -2
  63. package/dist/Components/DimensionInput.svelte +50 -64
  64. package/dist/Components/DimensionInput.svelte.d.ts +1 -1
  65. package/dist/Components/DimensionInputProps.d.ts +39 -4
  66. package/dist/Components/DragMenu/DragMenuHolder.svelte +41 -29
  67. package/dist/Components/DragMenu/DragMenuHolderProps.d.ts +30 -1
  68. package/dist/Components/DragMenu/DraggableCard.svelte +44 -8
  69. package/dist/Components/DragMenu/DraggableCardProps.d.ts +27 -1
  70. package/dist/Components/FileCard.svelte +6 -2
  71. package/dist/Components/FileCardProps.d.ts +17 -1
  72. package/dist/Components/FileUpload.svelte +82 -42
  73. package/dist/Components/FileUploadProps.d.ts +34 -4
  74. package/dist/Components/GridInput.svelte +27 -17
  75. package/dist/Components/GridInput.svelte.d.ts +5 -5
  76. package/dist/Components/GridInputProps.d.ts +4 -1
  77. package/dist/Components/GridInputSet.svelte +12 -5
  78. package/dist/Components/GridInputSet.svelte.d.ts +5 -5
  79. package/dist/Components/GridInputSetProps.d.ts +4 -2
  80. package/dist/Components/HorizontalTabGroup.svelte +13 -11
  81. package/dist/Components/HorizontalTabGroupButton.svelte +16 -68
  82. package/dist/Components/HorizontalTabGroupProps.d.ts +15 -2
  83. package/dist/Components/Icon.svelte +62 -21
  84. package/dist/Components/IconProps.d.ts +54 -6
  85. package/dist/Components/Icons.d.ts +8 -0
  86. package/dist/Components/Icons.js +234 -215
  87. package/dist/Components/LoadingAnimation.svelte +18 -18
  88. package/dist/Components/LoadingAnimation.svelte.d.ts +1 -3
  89. package/dist/Components/LoadingAnimationProps.d.ts +16 -0
  90. package/dist/Components/LoadingAnimationProps.js +1 -0
  91. package/dist/Components/LoadingModal.svelte +18 -20
  92. package/dist/Components/LoadingModal.svelte.d.ts +1 -4
  93. package/dist/Components/LoadingModalProps.d.ts +17 -0
  94. package/dist/Components/LoadingModalProps.js +1 -0
  95. package/dist/Components/LoadingOverlay.svelte +11 -13
  96. package/dist/Components/LoadingOverlay.svelte.d.ts +1 -5
  97. package/dist/Components/LoadingOverlayProps.d.ts +28 -0
  98. package/dist/Components/LoadingOverlayProps.js +1 -0
  99. package/dist/Components/Modal.svelte +77 -82
  100. package/dist/Components/Modal.svelte.d.ts +1 -25
  101. package/dist/Components/ModalProps.d.ts +65 -0
  102. package/dist/Components/ModalProps.js +1 -0
  103. package/dist/Components/MultiSelect.svelte +88 -76
  104. package/dist/Components/MultiSelectCommonProps.d.ts +33 -4
  105. package/dist/Components/MultiSelectPropsAsObject.d.ts +5 -0
  106. package/dist/Components/MultiSelectPropsAsPrimitive.d.ts +6 -0
  107. package/dist/Components/Nav/CallbackButtonWithIcon.d.ts +22 -1
  108. package/dist/Components/Nav/Nav.svelte +35 -30
  109. package/dist/Components/Nav/Nav.svelte.d.ts +23 -2
  110. package/dist/Components/Nav/NavProps.d.ts +50 -3
  111. package/dist/Components/Nav/NavServiceMenuList.svelte +12 -3
  112. package/dist/Components/Nav/NavServiceMenuListProps.d.ts +25 -1
  113. package/dist/Components/Nav/NavTab.svelte +19 -48
  114. package/dist/Components/Nav/NavTab.svelte.d.ts +23 -2
  115. package/dist/Components/Nav/NavTabProps.d.ts +16 -2
  116. package/dist/Components/Nav/ServiceMenuItem.svelte +29 -20
  117. package/dist/Components/Nav/ServicesNav.svelte +60 -34
  118. package/dist/Components/Nav/ServicesNav.svelte.d.ts +23 -2
  119. package/dist/Components/Nav/ServicesNavProps.d.ts +20 -4
  120. package/dist/Components/Nav/SideMenuItemProps.d.ts +16 -0
  121. package/dist/Components/NumberInput.svelte +37 -27
  122. package/dist/Components/NumberInputProps.d.ts +37 -0
  123. package/dist/Components/PageHeading.svelte +2 -13
  124. package/dist/Components/PageHeading.svelte.d.ts +1 -6
  125. package/dist/Components/PageHeadingProps.d.ts +23 -0
  126. package/dist/Components/PageHeadingProps.js +1 -0
  127. package/dist/Components/PasswordInput.svelte +27 -15
  128. package/dist/Components/PasswordInput.svelte.d.ts +2 -2
  129. package/dist/Components/PasswordInputProps.d.ts +21 -0
  130. package/dist/Components/PasswordInputProps.js +1 -0
  131. package/dist/Components/Portal.svelte +14 -3
  132. package/dist/Components/PortalProps.d.ts +20 -1
  133. package/dist/Components/ProgressBubble.svelte +98 -53
  134. package/dist/Components/ProgressBubbleProps.d.ts +23 -2
  135. package/dist/Components/QuerySelect.svelte +103 -159
  136. package/dist/Components/QuerySelect.svelte.d.ts +2 -29
  137. package/dist/Components/QuerySelectProps.d.ts +66 -0
  138. package/dist/Components/QuerySelectProps.js +1 -0
  139. package/dist/Components/SingleSelect.svelte +86 -108
  140. package/dist/Components/SingleSelectCommonProps.d.ts +43 -5
  141. package/dist/Components/SingleSelectPropsAsObject.d.ts +7 -0
  142. package/dist/Components/SingleSelectPropsAsPrimitive.d.ts +8 -0
  143. package/dist/Components/StepButton.svelte +19 -69
  144. package/dist/Components/StepForm.svelte +52 -52
  145. package/dist/Components/StepFormProps.d.ts +16 -2
  146. package/dist/Components/Switch.svelte +68 -31
  147. package/dist/Components/Switch.svelte.d.ts +1 -1
  148. package/dist/Components/SwitchProps.d.ts +46 -0
  149. package/dist/Components/Table/Body/HeightData.d.ts +1 -6
  150. package/dist/Components/Table/Body/HeightData.js +8 -0
  151. package/dist/Components/Table/Body/QuickSearchCell.svelte +106 -50
  152. package/dist/Components/Table/Body/QuickSearchCell.svelte.d.ts +12 -11
  153. package/dist/Components/Table/Body/QuickSearchCellProps.d.ts +6 -0
  154. package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte +43 -9
  155. package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte.d.ts +24 -2
  156. package/dist/Components/Table/Body/Rows/ColumnHighlightProps.d.ts +3 -0
  157. package/dist/Components/Table/Body/Rows/ColumnList.svelte +15 -5
  158. package/dist/Components/Table/Body/Rows/ColumnList.svelte.d.ts +12 -11
  159. package/dist/Components/Table/Body/Rows/ColumnListProps.d.ts +1 -0
  160. package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +424 -91
  161. package/dist/Components/Table/Body/Rows/ColumnListRow.svelte.d.ts +12 -11
  162. package/dist/Components/Table/Body/Rows/ColumnListRowProps.d.ts +5 -0
  163. package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte +43 -13
  164. package/dist/Components/Table/Body/Rows/Columns/AccessorComponentProps.d.ts +12 -0
  165. package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +50 -38
  166. package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte.d.ts +12 -12
  167. package/dist/Components/Table/Body/Rows/Columns/ActionsColumn.d.ts +9 -0
  168. package/dist/Components/Table/Body/Rows/Columns/ActionsTableCell.d.ts +5 -0
  169. package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +61 -26
  170. package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte.d.ts +14 -13
  171. package/dist/Components/Table/Body/Rows/Columns/BubbleCellProps.d.ts +12 -0
  172. package/dist/Components/Table/Body/Rows/Columns/BubbleCellProps.js +1 -0
  173. package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +36 -16
  174. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +47 -24
  175. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte.d.ts +12 -11
  176. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCellProps.d.ts +7 -0
  177. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +54 -20
  178. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte.d.ts +17 -11
  179. package/dist/Components/Table/Body/Rows/Columns/RowSelectionColumn.d.ts +8 -0
  180. package/dist/Components/Table/Body/Rows/Columns/RowSelectionTableCell.d.ts +5 -0
  181. package/dist/Components/Table/Body/Rows/Columns/SelectColumn.d.ts +11 -0
  182. package/dist/Components/Table/Body/Rows/Columns/SelectTableCell.d.ts +11 -0
  183. package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte +55 -40
  184. package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte.d.ts +11 -0
  185. package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +38 -27
  186. package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte.d.ts +13 -18
  187. package/dist/Components/Table/Body/Rows/Columns/TableCheckboxProps.d.ts +17 -0
  188. package/dist/Components/Table/Body/Rows/Columns/TableCheckboxProps.js +1 -0
  189. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +22 -7
  190. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte.d.ts +1 -7
  191. package/dist/Components/Table/Body/Rows/Columns/TableColumnProps.d.ts +16 -0
  192. package/dist/Components/Table/Body/Rows/Columns/TableColumnProps.js +1 -0
  193. package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +61 -31
  194. package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte.d.ts +12 -11
  195. package/dist/Components/Table/Body/Rows/Columns/TableDatePickerProps.d.ts +9 -0
  196. package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +123 -244
  197. package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte.d.ts +20 -12
  198. package/dist/Components/Table/Body/Rows/Columns/TableQueryCell.d.ts +8 -0
  199. package/dist/Components/Table/Body/Rows/Columns/TableQueryColumn.d.ts +9 -0
  200. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +126 -189
  201. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte.d.ts +12 -11
  202. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelectProps.d.ts +8 -0
  203. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +31 -19
  204. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte.d.ts +2 -5
  205. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckboxProps.d.ts +14 -0
  206. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckboxProps.js +1 -0
  207. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +125 -187
  208. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte.d.ts +13 -12
  209. package/dist/Components/Table/Body/Rows/Columns/TableSelectProps.d.ts +6 -0
  210. package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +119 -270
  211. package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte.d.ts +12 -11
  212. package/dist/Components/Table/Body/Rows/Columns/TableTextInputProps.d.ts +6 -0
  213. package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +23 -13
  214. package/dist/Components/Table/Body/Rows/Columns/_helpers/useAsyncEditable.svelte.d.ts +104 -0
  215. package/dist/Components/Table/Body/Rows/Columns/_helpers/useAsyncEditable.svelte.js +215 -0
  216. package/dist/Components/Table/Body/Rows/TableRow.svelte +200 -132
  217. package/dist/Components/Table/Body/Rows/TableRow.svelte.d.ts +2 -10
  218. package/dist/Components/Table/Body/Rows/TableRowProps.d.ts +11 -2
  219. package/dist/Components/Table/Body/TableBody.svelte +170 -53
  220. package/dist/Components/Table/Body/TableBody.svelte.d.ts +15 -22
  221. package/dist/Components/Table/Body/TableBodyProps.d.ts +9 -7
  222. package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.js +18 -12
  223. package/dist/Components/Table/ColumnFactory.svelte.d.ts +43 -0
  224. package/dist/Components/Table/ColumnFactory.svelte.js +339 -0
  225. package/dist/Components/Table/Headers/HighlightAllHeader.svelte +5 -3
  226. package/dist/Components/Table/Headers/HighlightAllHeader.svelte.d.ts +12 -11
  227. package/dist/Components/Table/Headers/SelectAllHeader.svelte +5 -3
  228. package/dist/Components/Table/Headers/SelectAllHeader.svelte.d.ts +12 -11
  229. package/dist/Components/Table/Headers/TableHead.svelte +340 -200
  230. package/dist/Components/Table/Headers/TableHead.svelte.d.ts +13 -16
  231. package/dist/Components/Table/Headers/TableHeadProps.d.ts +10 -0
  232. package/dist/Components/Table/Headers/TableHeadProps.js +1 -0
  233. package/dist/Components/Table/Misc/ColumnPanel.svelte +108 -50
  234. package/dist/Components/Table/Misc/ColumnPanel.svelte.d.ts +12 -11
  235. package/dist/Components/Table/Misc/ColumnPanelModal.svelte +20 -7
  236. package/dist/Components/Table/Misc/ColumnPanelModal.svelte.d.ts +12 -11
  237. package/dist/Components/Table/Misc/ColumnPanelModalProps.d.ts +5 -0
  238. package/dist/Components/Table/Misc/FilterInput.svelte +30 -41
  239. package/dist/Components/Table/Misc/FilterInput.svelte.d.ts +12 -11
  240. package/dist/Components/Table/Misc/FilterPanel.svelte +387 -29
  241. package/dist/Components/Table/Misc/FilterPanel.svelte.d.ts +12 -11
  242. package/dist/Components/Table/Misc/FilterPanelModal.svelte +4 -51
  243. package/dist/Components/Table/Misc/FilterPanelModal.svelte.d.ts +2 -23
  244. package/dist/Components/Table/Misc/SidePanel.svelte +12 -9
  245. package/dist/Components/Table/Misc/SidePanel.svelte.d.ts +1 -7
  246. package/dist/Components/Table/Misc/SidePanelProps.d.ts +17 -0
  247. package/dist/Components/Table/Misc/SidePanelProps.js +1 -0
  248. package/dist/Components/Table/Misc/TableFooter.svelte +44 -35
  249. package/dist/Components/Table/Misc/TableFooter.svelte.d.ts +13 -14
  250. package/dist/Components/Table/Misc/TableFooterProps.d.ts +8 -0
  251. package/dist/Components/Table/Misc/TableFooterProps.js +1 -0
  252. package/dist/Components/Table/Misc/TableHorizontalBar.svelte +17 -48
  253. package/dist/Components/Table/Misc/TableHorizontalBar.svelte.d.ts +12 -11
  254. package/dist/Components/Table/Misc/TableSidebar.svelte +28 -47
  255. package/dist/Components/Table/Misc/TableSidebar.svelte.d.ts +12 -11
  256. package/dist/Components/Table/Misc/ToolboxPanel.svelte +121 -55
  257. package/dist/Components/Table/Misc/ToolboxPanel.svelte.d.ts +12 -11
  258. package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +31 -24
  259. package/dist/Components/Table/Misc/ToolboxPanelModal.svelte.d.ts +12 -11
  260. package/dist/Components/Table/Misc/ToolboxPanelModalProps.d.ts +5 -0
  261. package/dist/Components/Table/Misc/numberDateFilterTypes.d.ts +7 -4
  262. package/dist/Components/Table/Misc/numberDateFilterTypes.js +8 -3
  263. package/dist/Components/Table/Misc/stringFilterTypes.d.ts +6 -4
  264. package/dist/Components/Table/Misc/stringFilterTypes.js +7 -3
  265. package/dist/Components/Table/NestedTable.svelte +85 -41
  266. package/dist/Components/Table/NestedTable.svelte.d.ts +2 -10
  267. package/dist/Components/Table/NestedTableProps.d.ts +25 -0
  268. package/dist/Components/Table/NestedTableProps.js +1 -0
  269. package/dist/Components/Table/SubApis.svelte.d.ts +23 -0
  270. package/dist/Components/Table/SubApis.svelte.js +359 -0
  271. package/dist/Components/Table/Table.svelte +347 -172
  272. package/dist/Components/Table/Table.svelte.d.ts +24 -1
  273. package/dist/Components/Table/TableHelpers.svelte.d.ts +58 -0
  274. package/dist/Components/Table/TableHelpers.svelte.js +88 -0
  275. package/dist/Components/Table/Types/Columns/Column.d.ts +10 -0
  276. package/dist/Components/Table/Types/Columns/ColumnPinningState.d.ts +12 -0
  277. package/dist/Components/Table/Types/Columns/ColumnSizingState.d.ts +8 -0
  278. package/dist/Components/Table/Types/Columns/ColumnType.d.ts +17 -0
  279. package/dist/Components/Table/Types/Columns/ColumnType.js +18 -1
  280. package/dist/Components/Table/Types/Columns/DateColumn.d.ts +6 -0
  281. package/dist/Components/Table/Types/Columns/DateTableCell.d.ts +7 -0
  282. package/dist/Components/Table/Types/Columns/Definitions/AccessorFn.d.ts +13 -0
  283. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.d.ts +28 -3
  284. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.js +15 -0
  285. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorType.d.ts +10 -0
  286. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorType.js +11 -1
  287. package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.d.ts +23 -2
  288. package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.js +9 -2
  289. package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.d.ts +21 -2
  290. package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.js +8 -0
  291. package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.d.ts +29 -3
  292. package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.js +11 -0
  293. package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.d.ts +23 -0
  294. package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.js +8 -0
  295. package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.d.ts +31 -0
  296. package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.js +17 -3
  297. package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.d.ts +21 -2
  298. package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.js +7 -0
  299. package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.d.ts +29 -1
  300. package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.js +17 -3
  301. package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.d.ts +122 -11
  302. package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.js +77 -11
  303. package/dist/Components/Table/Types/Columns/Definitions/ColumnDefSet.d.ts +9 -0
  304. package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts +41 -1
  305. package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js +16 -0
  306. package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.d.ts +19 -1
  307. package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.js +12 -1
  308. package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.d.ts +11 -0
  309. package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.js +6 -3
  310. package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.d.ts +19 -0
  311. package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.js +25 -1
  312. package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.d.ts +26 -0
  313. package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.js +20 -5
  314. package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +43 -7
  315. package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.js +18 -3
  316. package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts +19 -5
  317. package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.js +16 -5
  318. package/dist/Components/Table/Types/Columns/Definitions/JSONColumnDefSet.d.ts +14 -0
  319. package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.d.ts +34 -2
  320. package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.js +30 -7
  321. package/dist/Components/Table/Types/Columns/Definitions/ValidationFn.d.ts +17 -0
  322. package/dist/Components/Table/Types/Columns/DefsWrapper.d.ts +10 -0
  323. package/dist/Components/Table/Types/Columns/DisplayType.d.ts +13 -0
  324. package/dist/Components/Table/Types/Columns/DisplayType.js +14 -1
  325. package/dist/Components/Table/Types/Columns/ExpandColumn.d.ts +5 -0
  326. package/dist/Components/Table/Types/Columns/ExpandTableCell.d.ts +7 -0
  327. package/dist/Components/Table/Types/Columns/JSONColumnPinningState.d.ts +6 -0
  328. package/dist/Components/Table/Types/Columns/ProgressBarColumn.d.ts +5 -0
  329. package/dist/Components/Table/Types/Columns/ProgressBarTableCell.d.ts +9 -0
  330. package/dist/Components/Table/Types/Columns/TableActionButton.d.ts +12 -0
  331. package/dist/Components/Table/Types/Columns/TableCell.d.ts +16 -2
  332. package/dist/Components/Table/Types/Columns/VisibilityState.d.ts +12 -0
  333. package/dist/Components/Table/Types/Context/ColumnLayoutState.svelte.d.ts +173 -0
  334. package/dist/Components/Table/Types/Context/ColumnLayoutState.svelte.js +241 -0
  335. package/dist/Components/Table/Types/Context/FilteringState.svelte.d.ts +166 -0
  336. package/dist/Components/Table/Types/Context/FilteringState.svelte.js +180 -0
  337. package/dist/Components/Table/Types/Context/FocusState.svelte.d.ts +316 -0
  338. package/dist/Components/Table/Types/Context/FocusState.svelte.js +751 -0
  339. package/dist/Components/Table/Types/Context/ITable.d.ts +10 -0
  340. package/dist/Components/Table/Types/Context/PreferencesState.svelte.d.ts +242 -0
  341. package/dist/Components/Table/Types/Context/PreferencesState.svelte.js +317 -0
  342. package/dist/Components/Table/Types/Context/ReadonlyRowModel.d.ts +14 -3
  343. package/dist/Components/Table/Types/Context/Row.d.ts +18 -0
  344. package/dist/Components/Table/Types/Context/RowModel.d.ts +11 -0
  345. package/dist/Components/Table/Types/Context/SelectionState.svelte.d.ts +260 -0
  346. package/dist/Components/Table/Types/Context/SelectionState.svelte.js +613 -0
  347. package/dist/Components/Table/Types/Context/SortingState.svelte.d.ts +112 -0
  348. package/dist/Components/Table/Types/Context/SortingState.svelte.js +272 -0
  349. package/dist/Components/Table/Types/Context/TableContext.svelte.d.ts +547 -53
  350. package/dist/Components/Table/Types/Context/TableContext.svelte.js +959 -1259
  351. package/dist/Components/Table/Types/Context/TableInitOptions.d.ts +16 -0
  352. package/dist/Components/Table/Types/Context/TableSettings.d.ts +20 -0
  353. package/dist/Components/Table/Types/Context/VirtualisationState.svelte.d.ts +167 -0
  354. package/dist/Components/Table/Types/Context/VirtualisationState.svelte.js +226 -0
  355. package/dist/Components/Table/Types/Coordinates/CellCoordinates.d.ts +12 -0
  356. package/dist/Components/Table/Types/Coordinates/CellCoordinatesWithoutColumn.d.ts +5 -0
  357. package/dist/Components/Table/Types/Coordinates/ColumnIndices.d.ts +16 -2
  358. package/dist/Components/Table/Types/DataRepository/BuiltInRemoteRepository.svelte.d.ts +143 -0
  359. package/dist/Components/Table/Types/DataRepository/BuiltInRemoteRepository.svelte.js +454 -0
  360. package/dist/Components/Table/Types/DataRepository/IDataRepository.d.ts +21 -0
  361. package/dist/Components/Table/Types/DataRepository/ILocalDataRepository.d.ts +10 -0
  362. package/dist/Components/Table/Types/DataRepository/IRemoteDataRepository.d.ts +16 -0
  363. package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.d.ts +87 -3
  364. package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.js +112 -7
  365. package/dist/Components/Table/Types/DataRepository/SortingState.d.ts +12 -0
  366. package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.d.ts +87 -2
  367. package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.js +74 -1
  368. package/dist/Components/Table/Types/ExpandedPanel.d.ts +9 -0
  369. package/dist/Components/Table/Types/ExpandedPanel.js +10 -1
  370. package/dist/Components/Table/Types/Filtering/ColumnFiltersState.d.ts +17 -0
  371. package/dist/Components/Table/Types/Filtering/CustomFilter.d.ts +21 -0
  372. package/dist/Components/Table/Types/Filtering/CustomFilterType.d.ts +5 -0
  373. package/dist/Components/Table/Types/Filtering/CustomFilterType.js +6 -1
  374. package/dist/Components/Table/Types/Filtering/CustomRemoteFilters.d.ts +6 -0
  375. package/dist/Components/Table/Types/Filtering/FilterFn.d.ts +28 -0
  376. package/dist/Components/Table/Types/Filtering/FilterMode.d.ts +7 -0
  377. package/dist/Components/Table/Types/Filtering/FilterType.d.ts +8 -0
  378. package/dist/Components/Table/Types/Filtering/FilterType.js +9 -1
  379. package/dist/Components/Table/Types/Filtering/FilterValueType.d.ts +11 -0
  380. package/dist/Components/Table/Types/Filtering/FilterValueType.js +12 -1
  381. package/dist/Components/Table/Types/Filtering/HasCustomFilterFunction.d.ts +23 -2
  382. package/dist/Components/Table/Types/Filtering/NumberDateFilterMode.d.ts +19 -12
  383. package/dist/Components/Table/Types/Filtering/NumberDateFilterMode.js +18 -14
  384. package/dist/Components/Table/Types/Filtering/StringFilterMode.d.ts +22 -15
  385. package/dist/Components/Table/Types/Filtering/StringFilterMode.js +22 -16
  386. package/dist/Components/Table/Types/Focus/MultiFocusEdge.d.ts +8 -0
  387. package/dist/Components/Table/Types/Focus/MultiFocusEdge.js +9 -1
  388. package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.d.ts +22 -0
  389. package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.js +22 -0
  390. package/dist/Components/Table/Types/Header.d.ts +8 -0
  391. package/dist/Components/Table/Types/HeaderGroup.d.ts +7 -0
  392. package/dist/Components/Table/Types/Layout/CellPinning.d.ts +1 -0
  393. package/dist/Components/Table/Types/Layout/CellPinning.js +8 -0
  394. package/dist/Components/Table/Types/OnChangeFn.d.ts +11 -0
  395. package/dist/Components/Table/Types/Pagination/PaginationState.d.ts +9 -0
  396. package/dist/Components/Table/Types/Pagination/PaginationType.d.ts +10 -0
  397. package/dist/Components/Table/Types/Pagination/PaginationType.js +11 -1
  398. package/dist/Components/Table/Types/Public/AnyEditEvent.d.ts +30 -0
  399. package/dist/Components/Table/Types/Public/AnyEditEvent.js +1 -0
  400. package/dist/Components/Table/Types/Public/BaseColumnOptions.d.ts +44 -0
  401. package/dist/Components/Table/Types/Public/BaseColumnOptions.js +1 -0
  402. package/dist/Components/Table/Types/Public/ColumnFactory.d.ts +35 -0
  403. package/dist/Components/Table/Types/Public/ColumnFactory.js +1 -0
  404. package/dist/Components/Table/Types/Public/ColumnOptions.d.ts +238 -0
  405. package/dist/Components/Table/Types/Public/ColumnOptions.js +1 -0
  406. package/dist/Components/Table/Types/Public/ColumnSpec.d.ts +39 -0
  407. package/dist/Components/Table/Types/Public/ColumnSpec.js +1 -0
  408. package/dist/Components/Table/Types/Public/CreateTableOptions.d.ts +87 -0
  409. package/dist/Components/Table/Types/Public/CreateTableOptions.js +1 -0
  410. package/dist/Components/Table/Types/Public/KeyConstraints.d.ts +42 -0
  411. package/dist/Components/Table/Types/Public/KeyConstraints.js +22 -0
  412. package/dist/Components/Table/Types/Public/RowSource.d.ts +87 -0
  413. package/dist/Components/Table/Types/Public/RowSource.js +1 -0
  414. package/dist/Components/Table/Types/Public/SelectionOptions.d.ts +26 -0
  415. package/dist/Components/Table/Types/Public/SelectionOptions.js +1 -0
  416. package/dist/Components/Table/Types/Public/Table.d.ts +39 -0
  417. package/dist/Components/Table/Types/Public/Table.js +1 -0
  418. package/dist/Components/Table/Types/Public/TableInitialState.d.ts +26 -0
  419. package/dist/Components/Table/Types/Public/TableInitialState.js +1 -0
  420. package/dist/Components/Table/Types/Public/TablePersistence.d.ts +38 -0
  421. package/dist/Components/Table/Types/Public/TablePersistence.js +1 -0
  422. package/dist/Components/Table/Types/Public/TableSubApis.d.ts +157 -0
  423. package/dist/Components/Table/Types/Public/TableSubApis.js +1 -0
  424. package/dist/Components/Table/Types/Public/index.d.ts +20 -0
  425. package/dist/Components/Table/Types/Public/index.js +8 -0
  426. package/dist/Components/Table/Types/Toolbar/ToolbarPosition.d.ts +4 -0
  427. package/dist/Components/Table/Types/Toolbar/ToolbarPosition.js +5 -1
  428. package/dist/Components/Table/createTable.svelte.d.ts +53 -0
  429. package/dist/Components/Table/createTable.svelte.js +269 -0
  430. package/dist/Components/TextArea.svelte +37 -18
  431. package/dist/Components/TextAreaProps.d.ts +37 -0
  432. package/dist/Components/TextInput.svelte +41 -22
  433. package/dist/Components/TextInputProps.d.ts +58 -1
  434. package/dist/Components/ThreeStateRadio.svelte +61 -64
  435. package/dist/Components/ThreeStateRadioProps.d.ts +29 -1
  436. package/dist/Components/Touch/BoolCard.svelte +8 -15
  437. package/dist/Components/Touch/BoolCard.svelte.d.ts +1 -10
  438. package/dist/Components/Touch/BoolCardProps.d.ts +21 -0
  439. package/dist/Components/Touch/BoolCardProps.js +1 -0
  440. package/dist/Components/Touch/DateModal.svelte +17 -25
  441. package/dist/Components/Touch/DateModal.svelte.d.ts +1 -17
  442. package/dist/Components/Touch/DateModalProps.d.ts +36 -0
  443. package/dist/Components/Touch/DateModalProps.js +1 -0
  444. package/dist/Components/Touch/EditCard.svelte +10 -3
  445. package/dist/Components/Touch/EditCardProps.d.ts +21 -0
  446. package/dist/Components/Touch/InfoCard.svelte +14 -7
  447. package/dist/Components/Touch/InfoCardProps.d.ts +9 -0
  448. package/dist/Components/Touch/InfoTextCard.svelte +9 -2
  449. package/dist/Components/Touch/InfoTextCardProps.d.ts +8 -0
  450. package/dist/Components/Touch/ModalExplanation.svelte +9 -12
  451. package/dist/Components/Touch/ModalExplanation.svelte.d.ts +1 -6
  452. package/dist/Components/Touch/ModalExplanationProps.d.ts +22 -0
  453. package/dist/Components/Touch/ModalExplanationProps.js +1 -0
  454. package/dist/Components/Touch/NumberKeyboard.svelte +62 -105
  455. package/dist/Components/Touch/NumberKeyboardProps.d.ts +19 -0
  456. package/dist/Components/Touch/NumberModal.svelte +16 -6
  457. package/dist/Components/Touch/NumberModalProps.d.ts +23 -1
  458. package/dist/Components/Touch/PlusMinusCard.svelte +12 -16
  459. package/dist/Components/Touch/PlusMinusCard.svelte.d.ts +1 -6
  460. package/dist/Components/Touch/PlusMinusCardProps.d.ts +18 -0
  461. package/dist/Components/Touch/PlusMinusCardProps.js +1 -0
  462. package/dist/Components/Touch/SelectModal.svelte +33 -15
  463. package/dist/Components/Touch/SelectModalProps.d.ts +22 -1
  464. package/dist/Components/Touch/SummaryCard.svelte +56 -14
  465. package/dist/Components/Touch/SummaryCardProps.d.ts +16 -3
  466. package/dist/Components/Touch/TextAreaModal.svelte +18 -9
  467. package/dist/Components/Touch/TextAreaModalProps.d.ts +21 -0
  468. package/dist/Components/Touch/TextModal.svelte +15 -32
  469. package/dist/Components/Touch/TextModalProps.d.ts +28 -1
  470. package/dist/Components/Touch/TouchCard.svelte +9 -47
  471. package/dist/Components/Touch/TouchCardProps.d.ts +21 -0
  472. package/dist/Components/Touch/TouchModal.svelte +105 -99
  473. package/dist/Components/Touch/TouchModalProps.d.ts +35 -1
  474. package/dist/Components/Touch/UtilityButton.svelte +36 -18
  475. package/dist/Components/Touch/UtilityButtonProps.d.ts +16 -0
  476. package/dist/Components/VerticalTabGroup.svelte +18 -40
  477. package/dist/Components/VerticalTabGroupButton.svelte +11 -50
  478. package/dist/Components/VerticalTabGroupProps.d.ts +15 -2
  479. package/dist/Contexts/AlertContext.svelte.d.ts +92 -8
  480. package/dist/Contexts/AlertContext.svelte.js +69 -6
  481. package/dist/Contexts/ContextMenuContext.svelte.d.ts +54 -8
  482. package/dist/Contexts/ContextMenuContext.svelte.js +48 -2
  483. package/dist/Contexts/TestContext.svelte.d.ts +27 -1
  484. package/dist/Contexts/TestContext.svelte.js +29 -1
  485. package/dist/Contexts/ToastContext.svelte.d.ts +29 -1
  486. package/dist/Contexts/ToastContext.svelte.js +93 -24
  487. package/dist/Contexts/TooltipContext.svelte.d.ts +68 -1
  488. package/dist/Contexts/TooltipContext.svelte.js +70 -7
  489. package/dist/Contexts/UntypedInputContext.svelte.d.ts +54 -5
  490. package/dist/Contexts/UntypedInputContext.svelte.js +87 -34
  491. package/dist/Delay/Delay.js +1 -1
  492. package/dist/Helpers/AsyncFlag.svelte.d.ts +39 -0
  493. package/dist/Helpers/AsyncFlag.svelte.js +72 -0
  494. package/dist/Helpers/Datamatrix.d.ts +10 -1
  495. package/dist/Helpers/Datamatrix.js +290 -1
  496. package/dist/Helpers/Helpers.svelte.d.ts +252 -18
  497. package/dist/Helpers/Helpers.svelte.js +271 -75
  498. package/dist/Helpers/INamed.d.ts +6 -0
  499. package/dist/Helpers/Storage.d.ts +67 -0
  500. package/dist/Helpers/Storage.js +138 -0
  501. package/dist/Helpers/dropdownPortal.d.ts +52 -0
  502. package/dist/Helpers/dropdownPortal.js +232 -0
  503. package/dist/Helpers/dropdownPortal.svelte.d.ts +2 -0
  504. package/dist/Helpers/dropdownPortal.svelte.js +5 -0
  505. package/dist/Helpers/memoiseByRow.d.ts +45 -0
  506. package/dist/Helpers/memoiseByRow.js +78 -0
  507. package/dist/Helpers/prefersReducedMotion.svelte.d.ts +27 -0
  508. package/dist/Helpers/prefersReducedMotion.svelte.js +18 -0
  509. package/dist/Helpers/useTooltip.svelte.d.ts +53 -0
  510. package/dist/Helpers/useTooltip.svelte.js +62 -0
  511. package/dist/Types/Examples/ExampleModal.svelte +2 -1
  512. package/dist/Types/Examples/ExampleSelectEnum.js +1 -1
  513. package/dist/Types/Internal/AsyncFlag.d.ts +7 -0
  514. package/dist/Types/Internal/AsyncFlag.js +1 -0
  515. package/dist/Types/Internal/BigRadioOption.d.ts +8 -0
  516. package/dist/Types/Internal/ButtonProp.d.ts +24 -2
  517. package/dist/Types/Internal/CallbackButton.d.ts +12 -0
  518. package/dist/Types/Internal/DateChange.d.ts +8 -0
  519. package/dist/Types/Internal/DatePickerType.d.ts +5 -0
  520. package/dist/Types/Internal/DatePickerType.js +6 -1
  521. package/dist/Types/Internal/IdentifiableToastMessage.d.ts +8 -0
  522. package/dist/Types/Internal/InputVariant.d.ts +5 -0
  523. package/dist/Types/Internal/InputVariant.js +6 -1
  524. package/dist/Types/Internal/Misc.d.ts +91 -0
  525. package/dist/Types/Internal/RefWrapper.d.ts +6 -0
  526. package/dist/Types/Internal/SelectOption.d.ts +8 -0
  527. package/dist/Types/Internal/Shape.d.ts +1 -0
  528. package/dist/Types/Internal/Shape.js +2 -1
  529. package/dist/Types/Internal/Side.d.ts +1 -0
  530. package/dist/Types/Internal/Side.js +2 -1
  531. package/dist/Types/Internal/Size.d.ts +5 -0
  532. package/dist/Types/Internal/Size.js +6 -1
  533. package/dist/Types/Internal/TabOption.d.ts +15 -5
  534. package/dist/Types/Internal/Ternary.d.ts +6 -0
  535. package/dist/Types/Internal/Ternary.js +7 -1
  536. package/dist/Types/Internal/ToastMessage.d.ts +28 -0
  537. package/dist/Types/Internal/Validity.d.ts +6 -0
  538. package/dist/Types/Internal/Validity.js +7 -1
  539. package/dist/Types/Internal/ValidityWrapper.d.ts +8 -0
  540. package/dist/Types/Internal/Variant.d.ts +5 -0
  541. package/dist/Types/Internal/Variant.js +6 -1
  542. package/dist/index.d.ts +27 -82
  543. package/dist/index.js +24 -62
  544. package/dist/scss/_mixins.scss +451 -167
  545. package/dist/scss/_motion.scss +57 -0
  546. package/dist/scss/_sizing.scss +16 -0
  547. package/dist/scss/colours.js +2 -2
  548. package/dist/scss/sizing.d.ts +9 -0
  549. package/dist/scss/sizing.js +10 -1
  550. package/package.json +35 -31
@@ -0,0 +1,62 @@
1
+ import { TooltipContext } from '../Contexts/TooltipContext.svelte.js';
2
+ import { Delay } from '../Delay/Delay.js';
3
+ import { Side } from '../Types/Internal/Side.js';
4
+ import { getContext } from 'svelte';
5
+ /**
6
+ * Shared lifecycle for `TooltipContext`-driven tooltips. Centralises the
7
+ * `showTooltip` / `hideTooltip` calls on hover, the
8
+ * `hideTooltip`-on-click race-guard, and the unmount-time teardown that
9
+ * prevents a stuck tooltip when the anchor element churns mid-hover.
10
+ *
11
+ * Looks up `TooltipContext` once at initialisation time. When no context
12
+ * is mounted (or `text()` returns `undefined`), all handlers are no-ops.
13
+ *
14
+ * Must be called during component initialisation so it can register its
15
+ * `$effect` cleanup hook.
16
+ *
17
+ * @param options Thunks describing the tooltip text, arrow side, and delay.
18
+ * @returns A bundle of `onmouseenter` / `onmouseleave` / `onclick`
19
+ * handlers ready to wire onto the anchor element.
20
+ */
21
+ export function useTooltip(options) {
22
+ const tooltipContext = getContext(TooltipContext.identifier);
23
+ function hide() {
24
+ const t = options.text();
25
+ if (tooltipContext && t) {
26
+ tooltipContext.hideTooltip(t);
27
+ }
28
+ }
29
+ // Hide any tooltip we may have shown when the host component unmounts.
30
+ // Without this teardown a rapidly-churning host (toolbar, table row)
31
+ // can leave the global tooltip painting against a node that no longer
32
+ // exists.
33
+ $effect(() => {
34
+ return () => {
35
+ hide();
36
+ };
37
+ });
38
+ return {
39
+ onmouseenter: (e) => {
40
+ const t = options.text();
41
+ if (!tooltipContext || !t) {
42
+ return;
43
+ }
44
+ const rect = e.target?.getBoundingClientRect();
45
+ if (!rect) {
46
+ return;
47
+ }
48
+ tooltipContext.showTooltip({
49
+ text: t,
50
+ arrow: options.arrow?.() ?? Side.Top,
51
+ delay: options.delay?.() ?? Delay.Default,
52
+ rect,
53
+ });
54
+ },
55
+ onmouseleave: () => {
56
+ hide();
57
+ },
58
+ onclick: () => {
59
+ hide();
60
+ },
61
+ };
62
+ }
@@ -2,6 +2,7 @@
2
2
 
3
3
  <script lang="ts">
4
4
  import DesktopModal from '../../Components/DesktopModal.svelte';
5
+ import { cssLength } from '../../Helpers/Helpers.svelte.js';
5
6
  import Switch from '../../Components/Switch.svelte';
6
7
  import type { DisplayDefModalProps } from '../../Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js';
7
8
  import type { ExampleItem } from './ExampleItem.js';
@@ -10,7 +11,7 @@
10
11
  </script>
11
12
 
12
13
  <DesktopModal
13
- width="1220px"
14
+ width={cssLength('1220px')}
14
15
  headerLabel="Hello World"
15
16
  {onclose}
16
17
  {onsubmit}
@@ -2,6 +2,6 @@ export const ExampleSelectEnum = {
2
2
  FirstOption: 'FirstOption',
3
3
  SecondOption: 'SecondOption',
4
4
  ThirdOption: 'ThirdOption',
5
- FourthOption: 'FourthOption'
5
+ FourthOption: 'FourthOption',
6
6
  };
7
7
  Object.freeze(ExampleSelectEnum);
@@ -0,0 +1,7 @@
1
+ /**
2
+ * A prop that may be a bare value or a Promise of that value. Resolved at
3
+ * read-time by {@link useAsyncFlag}. Used pervasively across scoria's button,
4
+ * tab, and modal families for `isValid`, `disabled`, `visible`, and similar
5
+ * flag-style props.
6
+ */
7
+ export type AsyncFlag<T> = T | Promise<T>;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,13 @@
1
+ /**
2
+ * A single option in a `BigRadioSet`. The generic carries the
3
+ * concrete value type so the surrounding component can stay
4
+ * type-safe in its `onchange` callback.
5
+ */
1
6
  export interface BigRadioOption<T> {
7
+ /** Visible label. */
2
8
  label: string;
9
+ /** The option's value when selected. */
3
10
  value: T;
11
+ /** Optional helper text rendered alongside the label. */
4
12
  info?: string;
5
13
  }
@@ -1,11 +1,33 @@
1
+ import type { AsyncFlag } from './AsyncFlag.js';
1
2
  import type { ColourSet } from '../../scss/colours.js';
2
3
  import type { HTMLButtonAttributes } from 'svelte/elements';
4
+ /**
5
+ * Shape of a button-like configuration value used by modal footer
6
+ * arrays and similar config-driven button rows. Distinct from
7
+ * `ButtonProps` (the component prop interface for `Button.svelte`)
8
+ * and `CallbackButton` (the modal-callback variant carrying
9
+ * `left`/`disabled`).
10
+ */
3
11
  export interface ButtonProp {
12
+ /** Visible label; also wired through as `aria-label` / tooltip text. */
4
13
  label: string;
14
+ /** Optional colour bucket. Defaults to the consumer's surface default. */
5
15
  colourSet?: ColourSet;
6
- callback?: () => void;
16
+ /** Click callback. May be async; consumers await the result. */
17
+ callback?: () => void | Promise<void>;
18
+ /** Native `type` attribute (`'button'` / `'submit'` / `'reset'`). */
7
19
  type?: HTMLButtonAttributes['type'];
20
+ /** Layout hint: push to one edge of the button row. */
8
21
  margin?: 'left' | 'right';
22
+ /**
23
+ * If set, the button can be activated remotely by typing the
24
+ * given barcode value through `UntypedInputContext`.
25
+ */
9
26
  barcodeValue?: string;
10
- isValid?: boolean | Promise<boolean>;
27
+ /**
28
+ * AsyncFlag of a boolean. The button is rendered invalid when
29
+ * this resolves to false. Resolved through `useAsyncFlag` at
30
+ * the component level.
31
+ */
32
+ isValid?: AsyncFlag<boolean>;
11
33
  }
@@ -1,10 +1,22 @@
1
1
  import type { ButtonProps } from '../../Components/ButtonProps.js';
2
2
  import type { ColourSet } from '../../scss/colours.js';
3
+ /**
4
+ * Button descriptor used by modal footers and similar
5
+ * callback-driven button arrays. Shares fields with `ButtonProp`
6
+ * but adds modal-specific `disabled` and `left` (left-aligned)
7
+ * affordances.
8
+ */
3
9
  export interface CallbackButton {
10
+ /** Visible label; also used as `aria-label`. */
4
11
  label: string;
12
+ /** Click callback. May be async; the modal awaits before closing. */
5
13
  callback?: () => void | Promise<void>;
14
+ /** Native `type` attribute (`'button'` / `'submit'` / `'reset'`). */
6
15
  type?: ButtonProps['type'];
16
+ /** Optional colour bucket. */
7
17
  colourSet?: ColourSet;
18
+ /** When `true`, the button is rendered disabled and ignores clicks. */
8
19
  disabled?: boolean;
20
+ /** When `true`, the button is laid out on the left edge of the footer. */
9
21
  left?: boolean;
10
22
  }
@@ -1,5 +1,13 @@
1
1
  import type { DatePickerType } from './DatePickerType.js';
2
+ /**
3
+ * Granularity-tagged payload emitted by the date picker when the
4
+ * user updates a single component (year, month, day, ...). `type`
5
+ * identifies which component changed; `changedData` carries the
6
+ * new value at that granularity.
7
+ */
2
8
  export interface DateChange<T> {
9
+ /** Which granularity the change applies to. */
3
10
  type: DatePickerType;
11
+ /** The new value at the given granularity. */
4
12
  changedData: T;
5
13
  }
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Discriminator for date-picker change events. Identifies which
3
+ * granularity the change applies to. Note: values are lower-case
4
+ * to match the matching HTML input attribute conventions.
5
+ */
1
6
  export declare const DatePickerType: {
2
7
  readonly Year: "year";
3
8
  readonly Month: "month";
@@ -1,9 +1,14 @@
1
+ /**
2
+ * Discriminator for date-picker change events. Identifies which
3
+ * granularity the change applies to. Note: values are lower-case
4
+ * to match the matching HTML input attribute conventions.
5
+ */
1
6
  export const DatePickerType = {
2
7
  Year: 'year',
3
8
  Month: 'month',
4
9
  Day: 'day',
5
10
  Hours: 'hours',
6
11
  Minutes: 'minutes',
7
- Seconds: 'seconds'
12
+ Seconds: 'seconds',
8
13
  };
9
14
  Object.freeze(DatePickerType);
@@ -1,5 +1,13 @@
1
1
  import type { ToastMessage } from './ToastMessage.js';
2
+ /**
3
+ * A {@link ToastMessage} that has been queued by `ToastContext`.
4
+ * The context stamps a unique `id` and an instance-scoped
5
+ * `close()` handler before exposing the message to the visual
6
+ * host.
7
+ */
2
8
  export interface IdentifiableToastMessage extends ToastMessage {
9
+ /** Per-context unique identifier. */
3
10
  readonly id: number;
11
+ /** Imperatively close this toast. */
4
12
  readonly close?: () => void;
5
13
  }
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Surface-context variant for inputs. Switches between the
3
+ * standard (form-page) styling and tighter variants used inside
4
+ * modals and table cells.
5
+ */
1
6
  export declare const InputVariant: {
2
7
  readonly Default: "Default";
3
8
  readonly Modal: "Modal";
@@ -1,7 +1,12 @@
1
+ /**
2
+ * Surface-context variant for inputs. Switches between the
3
+ * standard (form-page) styling and tighter variants used inside
4
+ * modals and table cells.
5
+ */
1
6
  export const InputVariant = {
2
7
  Default: 'Default',
3
8
  Modal: 'Modal',
4
9
  ModalThin: 'ModalThin',
5
- Table: 'Table'
10
+ Table: 'Table',
6
11
  };
7
12
  Object.freeze(InputVariant);
@@ -1,17 +1,108 @@
1
+ /**
2
+ * Constrains a generic type parameter to the string keys of `T`,
3
+ * excluding the `null` value. Used by the grid select types to
4
+ * pick a value-property from a record shape.
5
+ */
1
6
  export type NonNullableKey<T> = T extends null ? never : string & keyof T;
7
+ /**
8
+ * Like {@link NonNullableKey} but accepts any non-null shape; the
9
+ * generic value-prop alias used across the grid family.
10
+ */
2
11
  export type ValueProp<V> = V extends null ? never : keyof V & string;
12
+ /**
13
+ * Function returned by registration calls that allows the caller
14
+ * to unregister later. Convention: zero-arg, returns nothing.
15
+ */
3
16
  export type Unsubscriber = () => void;
17
+ /**
18
+ * CSS pixel count. Currently a plain numeric alias; a future
19
+ * Types-Internal pass will promote this to
20
+ * `BrandedNumber<'Pixels'>` once consumers (sizing tokens,
21
+ * tooltip x/y, table column widths) are audited.
22
+ */
4
23
  export type Pixels = number;
24
+ /**
25
+ * Brand helper: produces a `string` subtype that carries a phantom
26
+ * tag of type `T`. Two branded strings with different tags are
27
+ * mutually unassignable at compile time but indistinguishable at
28
+ * runtime.
29
+ */
5
30
  export type BrandedString<T> = string & {
6
31
  __brand: T;
7
32
  };
33
+ /** Brand helper for `number` values. See {@link BrandedString}. */
8
34
  export type BrandedNumber<T> = number & {
9
35
  __brand: T;
10
36
  };
37
+ /**
38
+ * Brand helper for `number` values that are integers. Same shape
39
+ * as {@link BrandedNumber} but documents the integer constraint.
40
+ */
11
41
  export type BrandedInteger<T> = number & {
12
42
  __brand: T;
13
43
  };
44
+ /**
45
+ * Branded CSS length string (e.g. `'10px'`, `'1rem'`, `'-50%'`).
46
+ *
47
+ * Used by positioning and sizing props that interpolate user-supplied
48
+ * length values into `style="..."` attributes or CSS custom
49
+ * properties. Branding prevents accidentally passing an unrelated
50
+ * `string` (such as a colour token or arbitrary text) where a CSS
51
+ * length is required.
52
+ *
53
+ * Use the `cssLength` helper (re-exported from `$lib`) for
54
+ * ergonomic construction.
55
+ */
56
+ export type CssLength = BrandedString<'CssLength'>;
57
+ /**
58
+ * Branded key used to namespace browser-storage entries written from
59
+ * inside scoria components (e.g. `StepForm`, `VerticalTabGroup`'s
60
+ * remembered active-tab index).
61
+ *
62
+ * Branding the key prevents accidentally colliding with unrelated
63
+ * keys or passing arbitrary user input as a storage namespace. Use
64
+ * the `scoriaStorageKey` helper (re-exported from `$lib`) for
65
+ * ergonomic construction.
66
+ */
67
+ export type ScoriaStorageKey = BrandedString<'ScoriaStorageKey'>;
68
+ /** ISO date-only string of the form `YYYY-MM-DD`. */
14
69
  export type InputDate = BrandedString<'InputDate'>;
70
+ /** ISO date-time string of the form `YYYY-MM-DDTHH:MM:SS`. */
15
71
  export type InputDateWithTime = BrandedString<'InputDateWithTime'>;
72
+ /** Date string formatted for the FloWMS SQL backend. */
16
73
  export type SQLDate = BrandedString<'SQLDate'>;
74
+ /** Integer centimetre count. Used by dimension inputs. */
17
75
  export type Centimetres = BrandedInteger<'Centimetres'>;
76
+ /**
77
+ * Branded string carrying a `crypto.randomUUID()`-grade identifier
78
+ * (RFC 4122 v4). Use `generateUUID` to produce values of this
79
+ * type. For non-security-sensitive short identifiers prefer
80
+ * `generateWeakId` which returns an unbranded string.
81
+ */
82
+ export type Uuid = BrandedString<'Uuid'>;
83
+ /**
84
+ * Brand for synthetic column ids — those that do not correspond to a
85
+ * key on the row type. Used by `RowSelectionDef`, `ExpandDef`,
86
+ * `ActionsDef`, `FilterOnlyDef`, and any other `ColumnDef` whose `id`
87
+ * is generated rather than picked from a row field. Construct via
88
+ * the `syntheticColumnId` helper (re-exported from `$lib`).
89
+ */
90
+ export type SyntheticColumnId = BrandedString<'SyntheticColumnId'>;
91
+ /**
92
+ * Discriminated column id: either a string literal that is a key on
93
+ * the row type `T` (accessor-backed column) or a {@link SyntheticColumnId}
94
+ * (pseudo column with no row binding, e.g. row-selection / expand /
95
+ * actions). Used by `ColumnDef.id`; `AccessorDef.id` further narrows
96
+ * to `string & keyof T` so the id is usable as an accessor literal.
97
+ *
98
+ * @example Accessor column — id is a keyof T literal:
99
+ * ```ts
100
+ * new TextInputDef<MyRow>({ id: 'name', ... });
101
+ * ```
102
+ *
103
+ * @example Synthetic column — construct via `syntheticColumnId`:
104
+ * ```ts
105
+ * new RowSelectionDef<MyRow>(...) // internally uses syntheticColumnId
106
+ * ```
107
+ */
108
+ export type ColumnId<T> = (string & keyof T) | SyntheticColumnId;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Mutable container for a single value. Returned by `refWrapper`
3
+ * with `value` backed by `$state` for reactive consumers; used to
4
+ * pass mutable references across module boundaries without
5
+ * exposing the underlying rune.
6
+ */
1
7
  export interface RefWrapper<T> {
2
8
  value: T;
3
9
  }
@@ -1,4 +1,12 @@
1
+ /**
2
+ * A single option in a single/multi select dropdown. Generic
3
+ * `T` carries the value type so the surrounding component stays
4
+ * type-safe in `onchange`. `out T` is covariant so a
5
+ * `SelectOption<string>` is assignable to `SelectOption<unknown>`.
6
+ */
1
7
  export interface SelectOption<out T> {
8
+ /** Visible label. */
2
9
  label: string;
10
+ /** Concrete value emitted when the option is selected. */
3
11
  value: T;
4
12
  }
@@ -1,3 +1,4 @@
1
+ /** Outline shape used by Bubble and similar tag-like surfaces. */
1
2
  export declare const Shape: {
2
3
  readonly Rectangle: "Rectangle";
3
4
  readonly Circle: "Circle";
@@ -1,5 +1,6 @@
1
+ /** Outline shape used by Bubble and similar tag-like surfaces. */
1
2
  export const Shape = {
2
3
  Rectangle: 'Rectangle',
3
- Circle: 'Circle'
4
+ Circle: 'Circle',
4
5
  };
5
6
  Object.freeze(Shape);
@@ -1,3 +1,4 @@
1
+ /** Four-direction enum used by tooltips, accordion arrows and similar. */
1
2
  export declare const Side: {
2
3
  readonly Top: "Top";
3
4
  readonly Right: "Right";
@@ -1,7 +1,8 @@
1
+ /** Four-direction enum used by tooltips, accordion arrows and similar. */
1
2
  export const Side = {
2
3
  Top: 'Top',
3
4
  Right: 'Right',
4
5
  Bottom: 'Bottom',
5
- Left: 'Left'
6
+ Left: 'Left',
6
7
  };
7
8
  Object.freeze(Side);
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Discrete size token used across buttons, icons, modals, and
3
+ * cards. The value is the key by convention to make string-based
4
+ * SCSS lookups symmetrical.
5
+ */
1
6
  export declare const Size: {
2
7
  readonly Tiny: "Tiny";
3
8
  readonly Small: "Small";
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Discrete size token used across buttons, icons, modals, and
3
+ * cards. The value is the key by convention to make string-based
4
+ * SCSS lookups symmetrical.
5
+ */
1
6
  export const Size = {
2
7
  Tiny: 'Tiny',
3
8
  Small: 'Small',
@@ -9,6 +14,6 @@ export const Size = {
9
14
  DoubleXLarge: 'DoubleXLarge',
10
15
  TripleXLarge: 'TripleXLarge',
11
16
  FillWidth: 'FillWidth',
12
- FillHeight: 'FillHeight'
17
+ FillHeight: 'FillHeight',
13
18
  };
14
19
  Object.freeze(Size);
@@ -1,4 +1,5 @@
1
1
  import type { IconProps } from '../../Components/IconProps.js';
2
+ import type { AsyncFlag } from './AsyncFlag.js';
2
3
  import type { Snippet } from 'svelte';
3
4
  export interface TabOption<Args> {
4
5
  label: string;
@@ -7,9 +8,18 @@ export interface TabOption<Args> {
7
8
  args: Args;
8
9
  iconLeft?: IconProps;
9
10
  iconRight?: IconProps;
10
- isValid?: boolean | Promise<boolean>;
11
- /** default false */
12
- disabled?: boolean | Promise<boolean>;
13
- /** default true */
14
- visible?: boolean | Promise<boolean>;
11
+ /**
12
+ * AsyncFlag of a boolean. Tab is rendered invalid when this resolves to false.
13
+ */
14
+ isValid?: AsyncFlag<boolean>;
15
+ /**
16
+ * AsyncFlag of a boolean. Tab button is disabled when this resolves to true.
17
+ * Defaults to false.
18
+ */
19
+ disabled?: AsyncFlag<boolean>;
20
+ /**
21
+ * AsyncFlag of a boolean. Tab is hidden when this resolves to false.
22
+ * Defaults to true.
23
+ */
24
+ visible?: AsyncFlag<boolean>;
15
25
  }
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Three-valued boolean useful for ThreeStateRadio and similar
3
+ * inputs where "not yet answered" is a distinct, type-checkable
4
+ * state. Numeric values are deliberate so the underlying form
5
+ * value can be passed through `Number(...)` without conversion.
6
+ */
1
7
  export declare const Ternary: {
2
8
  readonly Neutral: -1;
3
9
  readonly False: 0;
@@ -1,6 +1,12 @@
1
+ /**
2
+ * Three-valued boolean useful for ThreeStateRadio and similar
3
+ * inputs where "not yet answered" is a distinct, type-checkable
4
+ * state. Numeric values are deliberate so the underlying form
5
+ * value can be passed through `Number(...)` without conversion.
6
+ */
1
7
  export const Ternary = {
2
8
  Neutral: -1,
3
9
  False: 0,
4
- True: 1
10
+ True: 1,
5
11
  };
6
12
  Object.freeze(Ternary);
@@ -1,10 +1,38 @@
1
1
  import type { Validity } from './Validity.js';
2
+ /**
3
+ * Shape of a toast message accepted by `ToastContext.toast`.
4
+ * Once queued, the context wraps this into an
5
+ * `IdentifiableToastMessage` by stamping a unique `id` and
6
+ * `close()` handler.
7
+ */
2
8
  export interface ToastMessage {
9
+ /** Severity / colour bucket. */
3
10
  readonly result: Validity;
11
+ /** Visible toast text. */
4
12
  readonly message: string;
13
+ /**
14
+ * Optional callback returning a more detailed string for the
15
+ * clipboard copy action. By convention, callers gate
16
+ * dev-revealing detail (stack traces, cause chains) on
17
+ * `$app/environment.dev`.
18
+ */
5
19
  readonly getVerbose?: () => string;
20
+ /**
21
+ * Auto-dismiss timeout in milliseconds. When omitted, the
22
+ * context applies its default of 10000ms (see
23
+ * `ToastContext.svelte.ts`).
24
+ *
25
+ * @default 10000
26
+ */
6
27
  readonly timeout?: number;
28
+ /**
29
+ * Whether the user can dismiss the toast manually.
30
+ *
31
+ * @default true
32
+ */
7
33
  readonly closeable?: boolean;
34
+ /** Whether the user can copy the verbose form to clipboard. */
8
35
  readonly copyable?: boolean;
36
+ /** Hook invoked when the toast is removed (auto or manual). */
9
37
  readonly onClose?: () => void;
10
38
  }
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Severity bucket used by inputs, toasts, and validity wrappers
3
+ * to communicate the four-and-a-half states the design system
4
+ * recognises: hard-invalid, valid, informational, warning, and
5
+ * "no opinion yet" (Neutral).
6
+ */
1
7
  export declare const Validity: {
2
8
  readonly Invalid: "Invalid";
3
9
  readonly Valid: "Valid";
@@ -1,8 +1,14 @@
1
+ /**
2
+ * Severity bucket used by inputs, toasts, and validity wrappers
3
+ * to communicate the four-and-a-half states the design system
4
+ * recognises: hard-invalid, valid, informational, warning, and
5
+ * "no opinion yet" (Neutral).
6
+ */
1
7
  export const Validity = {
2
8
  Invalid: 'Invalid',
3
9
  Valid: 'Valid',
4
10
  Info: 'Info',
5
11
  Warning: 'Warning',
6
- Neutral: 'Neutral'
12
+ Neutral: 'Neutral',
7
13
  };
8
14
  Object.freeze(Validity);
@@ -1,5 +1,13 @@
1
1
  import type { Validity } from './Validity.js';
2
+ /**
3
+ * Composite validity carrying both the {@link Validity} bucket and
4
+ * a human-readable explanation. Components that accept either a
5
+ * bare `Validity` or a wrapped form should narrow with
6
+ * `isValidityTuple` from `Helpers`.
7
+ */
2
8
  export interface ValidityWrapper {
9
+ /** Severity bucket. */
3
10
  value: Validity;
11
+ /** Optional explanation (tooltip / accessible-text). */
4
12
  reason?: string;
5
13
  }
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Visual variant for surface-style components (cards, modals,
3
+ * toolbars). Members carry no inherent ordering; the value is the
4
+ * key by convention so the SCSS side can switch on either.
5
+ */
1
6
  export declare const Variant: {
2
7
  readonly Primary: "Primary";
3
8
  readonly CardInner: "CardInner";
@@ -1,3 +1,8 @@
1
+ /**
2
+ * Visual variant for surface-style components (cards, modals,
3
+ * toolbars). Members carry no inherent ordering; the value is the
4
+ * key by convention so the SCSS side can switch on either.
5
+ */
1
6
  export const Variant = {
2
7
  Primary: 'Primary',
3
8
  CardInner: 'CardInner',
@@ -6,6 +11,6 @@ export const Variant = {
6
11
  Default: 'Default',
7
12
  Card: 'Card',
8
13
  Toolbar: 'Toolbar', // TODO style
9
- HeaderIcon: 'HeaderIcon'
14
+ HeaderIcon: 'HeaderIcon',
10
15
  };
11
16
  Object.freeze(Variant);