@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
@@ -1,19 +1,44 @@
1
1
  <svelte:options runes />
2
2
 
3
- <!--
3
+ <!--
4
4
  @component
5
+ Visual host for `ContextMenuContext`. Renders the fixed-positioned
6
+ `<ul role="menu">` near the `(x, y)` coordinates the context exposes,
7
+ and clamps the position so the menu never spills off the viewport.
5
8
 
9
+ Mounted exactly once at the app root by `ContextWrapper`; consumers do
10
+ not render `ContextMenu` directly. Open a menu through the context:
6
11
 
7
- -->
12
+ ```svelte
13
+ <script lang="ts">
14
+ import { ContextMenuContext } from '@lavalogic/scoria';
15
+ import { getContext } from 'svelte';
16
+
17
+ const ctx = getContext<ContextMenuContext>(ContextMenuContext.identifier);
18
+ </script>
19
+
20
+ <button oncontextmenu={(e) => ctx.openContextMenu(e, items)}>
21
+ Right-click me
22
+ </button>
23
+ ```
24
+
25
+ ### Keyboard
26
+
27
+ `Escape` closes the menu and returns focus to the previously focused
28
+ element; `ArrowUp` / `ArrowDown` cycle focus through the items.
29
+ -->
8
30
  <script lang="ts">
9
31
  import { ContextMenuContext } from '../../Contexts/ContextMenuContext.svelte.js';
10
32
  import { devCatch } from '../../Helpers/Helpers.svelte.js';
11
33
  import { getContext, tick, untrack } from 'svelte';
12
34
  import { fade } from 'svelte/transition';
35
+ import { usePrefersReducedMotion } from '../../Helpers/prefersReducedMotion.svelte.js';
13
36
  import ContextMenuOption from './ContextMenuOption.svelte';
14
37
  import type { MaybeFocusable } from './MaybeFocusable.js';
15
38
 
16
39
  const contextMenuContext = getContext<ContextMenuContext>(ContextMenuContext.identifier);
40
+ const reducedMotion = usePrefersReducedMotion();
41
+ const fadeDuration = $derived(reducedMotion.matches ? 0 : 50);
17
42
 
18
43
  let _x: number = $state(0);
19
44
  let _y: number = $state(0);
@@ -72,12 +97,11 @@
72
97
  return;
73
98
  }
74
99
  const items = [...menuEl.querySelectorAll<HTMLElement>('[role="menuitem"]')];
75
- const index = items.indexOf(document.activeElement as HTMLElement);
76
- const found = items.at((index + 1) % items.length);
77
- if (!found) {
78
- console.warn(`could not find next item`);
100
+ if (items.length === 0) {
101
+ return;
79
102
  }
80
- found?.focus();
103
+ const index = items.indexOf(document.activeElement as HTMLElement);
104
+ items.at((index + 1) % items.length)?.focus();
81
105
  }
82
106
 
83
107
  function focusPrev() {
@@ -85,13 +109,11 @@
85
109
  return;
86
110
  }
87
111
  const items = [...menuEl.querySelectorAll<HTMLElement>('[role="menuitem"]')];
88
- const index = items.indexOf(document.activeElement as HTMLElement);
89
-
90
- const found = items.at((index - 1 + items.length) % items.length);
91
- if (!found) {
92
- console.warn('could not find prev item');
112
+ if (items.length === 0) {
113
+ return;
93
114
  }
94
- found?.focus();
115
+ const index = items.indexOf(document.activeElement as HTMLElement);
116
+ items.at((index - 1 + items.length) % items.length)?.focus();
95
117
  }
96
118
  </script>
97
119
 
@@ -99,11 +121,12 @@
99
121
 
100
122
  {#if contextMenuContext.showMenu}
101
123
  <ul
102
- transition:fade={{ duration: 50 }}
124
+ transition:fade={{ duration: fadeDuration }}
103
125
  bind:this={menuEl}
104
126
  style="top: {_y}px; left: {_x}px;"
105
127
  role="menu"
106
128
  aria-label="Context menu"
129
+ tabindex="-1"
107
130
  onkeydown={(e) => {
108
131
  if (e.key === 'Escape') {
109
132
  e.stopImmediatePropagation();
@@ -129,7 +152,7 @@
129
152
  {index}
130
153
  disabled={item.disabled}
131
154
  onclick={() => {
132
- item.callback();
155
+ void item.callback();
133
156
  contextMenuContext.closeMenu();
134
157
  }}
135
158
  text={item.text}
@@ -138,20 +161,18 @@
138
161
  </ul>
139
162
  {/if}
140
163
 
141
- <style>
142
- ul {
143
- padding: 4px;
144
- position: fixed;
145
- display: grid;
146
- border: 1px solid #0003;
147
- box-shadow: 2px 2px 5px 0px #0002;
148
- gap: 4px;
149
- background: white;
150
- z-index: 9999;
151
- line-height: initial;
152
- }
153
-
154
- ul:focus {
155
- outline: none;
156
- }
157
- </style>
164
+ <style>ul {
165
+ padding: 0.375rem;
166
+ position: fixed;
167
+ display: grid;
168
+ border: solid 1px #cbd4da;
169
+ box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.13);
170
+ gap: 0.375rem;
171
+ background: #ffffff;
172
+ z-index: 99999;
173
+ line-height: initial;
174
+ }
175
+
176
+ ul:focus {
177
+ outline: none;
178
+ }</style>
@@ -1,3 +1,29 @@
1
+ /**
2
+ * Visual host for `ContextMenuContext`. Renders the fixed-positioned
3
+ * `<ul role="menu">` near the `(x, y)` coordinates the context exposes,
4
+ * and clamps the position so the menu never spills off the viewport.
5
+ *
6
+ * Mounted exactly once at the app root by `ContextWrapper`; consumers do
7
+ * not render `ContextMenu` directly. Open a menu through the context:
8
+ *
9
+ * ```svelte
10
+ * <script lang="ts">
11
+ * import { ContextMenuContext } from '@lavalogic/scoria';
12
+ * import { getContext } from 'svelte';
13
+ *
14
+ * const ctx = getContext<ContextMenuContext>(ContextMenuContext.identifier);
15
+ * </script>
16
+ *
17
+ * <button oncontextmenu={(e) => ctx.openContextMenu(e, items)}>
18
+ * Right-click me
19
+ * </button>
20
+ * ```
21
+ *
22
+ * ### Keyboard
23
+ *
24
+ * `Escape` closes the menu and returns focus to the previously focused
25
+ * element; `ArrowUp` / `ArrowDown` cycle focus through the items.
26
+ */
1
27
  declare const ContextMenu: import("svelte").Component<Record<string, never>, {}, "">;
2
28
  type ContextMenu = ReturnType<typeof ContextMenu>;
3
29
  export default ContextMenu;
@@ -1,11 +1,19 @@
1
1
  <svelte:options runes />
2
2
 
3
+ <!--
4
+ @component
5
+ Visual separator for {@link ContextMenu}. Renders a thin horizontal
6
+ rule. The native `<hr>` ARIA mapping is `role="separator"`, which is
7
+ the correct semantic inside a `role="menu"` group, so no explicit
8
+ role is set.
9
+
10
+ Intended for use between groups of `ContextMenuOption` entries inside
11
+ a context menu rendered via the visual host.
12
+ -->
3
13
  <hr />
4
14
 
5
- <style>
6
- hr {
7
- border-top: 1px solid #0003;
8
- width: 100%;
9
- margin: 2px 0;
10
- }
11
- </style>
15
+ <style>hr {
16
+ border-top: solid 1px #cbd4da;
17
+ width: 100%;
18
+ margin: 2px 0;
19
+ }</style>
@@ -3,4 +3,13 @@ type ContextMenuDivider = {
3
3
  $on?(type: string, callback: (e: any) => void): () => void;
4
4
  $set?(props: Partial<Record<string, never>>): void;
5
5
  };
6
+ /**
7
+ * Visual separator for {@link ContextMenu}. Renders a thin horizontal
8
+ * rule. The native `<hr>` ARIA mapping is `role="separator"`, which is
9
+ * the correct semantic inside a `role="menu"` group, so no explicit
10
+ * role is set.
11
+ *
12
+ * Intended for use between groups of `ContextMenuOption` entries inside
13
+ * a context menu rendered via the visual host.
14
+ */
6
15
  declare const ContextMenuDivider: import("svelte").Component<Record<string, never>, {}, "">;
@@ -1,28 +1,35 @@
1
1
  <svelte:options runes />
2
2
 
3
+ <!--
4
+ @component
5
+ A single row inside the {@link ContextMenu} host. Renders a
6
+ `<button role="menuitem">` and assigns a roving `tabindex`: the
7
+ first option (index `0`) receives focus on mount and is the only
8
+ tab stop, all subsequent options carry `tabindex="-1"` so arrow-key
9
+ navigation owns focus traversal within the menu.
10
+
11
+ Consumers do not usually mount `ContextMenuOption` directly; the
12
+ visual host iterates over `ContextMenuContext.items` and renders one
13
+ option per entry.
14
+ -->
3
15
  <script lang="ts">
4
16
  import { devCatch } from '../../Helpers/Helpers.svelte.js';
5
17
  import { tick } from 'svelte';
6
18
  import type { ContextMenuOptionProps } from './ContextMenuOptionProps.js';
7
19
 
8
- let {
9
- text = $bindable(''),
10
- index,
11
- disabled = false,
12
- onclick,
13
- children,
14
- }: ContextMenuOptionProps = $props();
20
+ let { text = '', index, disabled = false, onclick, children }: ContextMenuOptionProps = $props();
15
21
 
16
22
  let element = $state<HTMLButtonElement | undefined>();
17
23
 
18
24
  $effect(() => {
19
25
  void element;
20
- if (index == 0) {
26
+ // Only the first option seeds focus. The check stays inside the
27
+ // effect (rather than gating registration) so Svelte's reactive
28
+ // dependency on `index` is recorded.
29
+ if (index === 0) {
21
30
  tick()
22
31
  .then(() => {
23
- if (element) {
24
- element.focus();
25
- }
32
+ element?.focus();
26
33
  })
27
34
  .catch(devCatch);
28
35
  }
@@ -33,13 +40,14 @@
33
40
  class="context-menu-item"
34
41
  role="menuitem"
35
42
  class:disabled
36
- tabindex={index}
43
+ tabindex={index === 0 ? 0 : -1}
44
+ aria-disabled={disabled ? 'true' : undefined}
37
45
  bind:this={element}
38
46
  onclick={(e) => {
39
47
  e.stopImmediatePropagation();
40
48
  e.stopPropagation();
41
49
  e.preventDefault();
42
- onclick?.(e);
50
+ void onclick?.(e);
43
51
  }}
44
52
  >
45
53
  {#if text}
@@ -52,13 +60,14 @@
52
60
  <style>button {
53
61
  background-color: #ffffff;
54
62
  border: none;
55
- padding: 4px 15px;
63
+ padding: 0.375rem 0.75rem;
56
64
  cursor: default;
57
- font-size: 14px;
65
+ font-size: 0.875rem;
58
66
  display: flex;
59
67
  align-items: center;
60
- grid-gap: 5px;
68
+ grid-gap: 0.375rem;
61
69
  user-select: none;
70
+ color: #3a4952;
62
71
  }
63
72
 
64
73
  button:focus,
@@ -67,11 +76,11 @@ button:focus-within {
67
76
  }
68
77
 
69
78
  button:hover {
70
- background: rgba(0, 0, 0, 0.1333333333);
79
+ background: #e9ecf1;
71
80
  }
72
81
 
73
82
  button.disabled {
74
- color: rgba(0, 0, 0, 0.4);
83
+ color: #8096a5;
75
84
  }
76
85
 
77
86
  button.disabled:hover {
@@ -1,4 +1,15 @@
1
1
  import type { ContextMenuOptionProps } from './ContextMenuOptionProps.js';
2
- declare const ContextMenuOption: import("svelte").Component<ContextMenuOptionProps, {}, "text">;
2
+ /**
3
+ * A single row inside the {@link ContextMenu} host. Renders a
4
+ * `<button role="menuitem">` and assigns a roving `tabindex`: the
5
+ * first option (index `0`) receives focus on mount and is the only
6
+ * tab stop, all subsequent options carry `tabindex="-1"` so arrow-key
7
+ * navigation owns focus traversal within the menu.
8
+ *
9
+ * Consumers do not usually mount `ContextMenuOption` directly; the
10
+ * visual host iterates over `ContextMenuContext.items` and renders one
11
+ * option per entry.
12
+ */
13
+ declare const ContextMenuOption: import("svelte").Component<ContextMenuOptionProps, {}, "">;
3
14
  type ContextMenuOption = ReturnType<typeof ContextMenuOption>;
4
15
  export default ContextMenuOption;
@@ -1,8 +1,40 @@
1
1
  import type { Snippet } from 'svelte';
2
+ /**
3
+ * Props for {@link ContextMenuOption}.
4
+ *
5
+ * A single item inside the {@link ContextMenu} host. The host renders
6
+ * one option per entry in `ContextMenuContext.items`; consumers do not
7
+ * usually instantiate this component directly.
8
+ */
2
9
  export interface ContextMenuOptionProps {
10
+ /**
11
+ * Zero-based position of this option in the parent menu. The host
12
+ * uses the value to assign a roving `tabindex` (`0` for the first
13
+ * option, `-1` for the rest) and to seed initial focus.
14
+ *
15
+ * Must be a non-negative integer.
16
+ */
3
17
  index: number;
18
+ /**
19
+ * Plain-text label rendered inside the option button. If both
20
+ * `text` and `children` are supplied, `text` wins; prefer one or
21
+ * the other to keep the rendered output predictable.
22
+ */
4
23
  text?: string;
5
- disabled?: boolean | undefined;
6
- onclick?: (e: MouseEvent) => void;
24
+ /**
25
+ * When `true` the option is rendered greyed-out and ignores
26
+ * `onclick`. Hover styles are also suppressed.
27
+ */
28
+ disabled?: boolean;
29
+ /**
30
+ * Click handler. Receives the underlying `MouseEvent`. The handler
31
+ * may return a `Promise` because the menu host awaits the close
32
+ * sequence after invoking it.
33
+ */
34
+ onclick?: (e: MouseEvent) => void | Promise<void>;
35
+ /**
36
+ * Snippet alternative to `text` for richer content (icons, key
37
+ * hints). Ignored when `text` is set.
38
+ */
7
39
  children?: Snippet;
8
40
  }
@@ -1,5 +1,20 @@
1
1
  <svelte:options runes />
2
2
 
3
+ <!--
4
+ @component
5
+ Single toast rendering. Renders a horizontally-sliding pill near the
6
+ bottom-right of the viewport via `ToastContainer`. The severity of the
7
+ underlying toast drives both the colouring and the live-region
8
+ semantics:
9
+
10
+ - `Validity.Invalid` -> `role="alert"`, `aria-live="assertive"`.
11
+ - All other severities -> `role="status"`, `aria-live="polite"`.
12
+
13
+ The slide transition honours `prefers-reduced-motion` through the
14
+ shared `usePrefersReducedMotion` helper; when the user has opted in
15
+ the duration collapses to zero. The copy action is only shown when
16
+ `navigator.clipboard` is present (HTTPS or `localhost`).
17
+ -->
3
18
  <script
4
19
  lang="ts"
5
20
  module
@@ -14,7 +29,12 @@
14
29
  </script>
15
30
 
16
31
  <script lang="ts">
32
+ import { usePrefersReducedMotion } from '../../Helpers/prefersReducedMotion.svelte.js';
33
+
17
34
  let { toast, copy }: ToastProps = $props();
35
+
36
+ const reducedMotion = usePrefersReducedMotion();
37
+ const slideDuration = $derived(reducedMotion.matches ? 0 : 500);
18
38
  </script>
19
39
 
20
40
  <output
@@ -24,7 +44,7 @@
24
44
  class:success={toast.result == Validity.Valid}
25
45
  class:warning={toast.result == Validity.Warning}
26
46
  class:error={toast.result == Validity.Invalid}
27
- transition:slide={{ axis: 'x', duration: 500 }}
47
+ transition:slide={{ axis: 'x', duration: slideDuration }}
28
48
  >
29
49
  <div>
30
50
  <div class="noshrink">
@@ -32,6 +52,7 @@
32
52
  <Action
33
53
  onclick={copy}
34
54
  icon={{ name: 'copy' }}
55
+ label="Copy to clipboard"
35
56
  size={Size.MediumLarge}
36
57
  colourSet={ColourSet.Auxiliary}
37
58
  />
@@ -48,6 +69,7 @@
48
69
  <Action
49
70
  size={Size.MediumLarge}
50
71
  icon={{ name: 'cross' }}
72
+ label="Dismiss"
51
73
  onclick={() => {
52
74
  toast.close?.();
53
75
  }}
@@ -63,6 +85,7 @@
63
85
  font-size: 1.125rem;
64
86
  padding: 0.75rem;
65
87
  border-radius: 4px;
88
+ max-width: var(--toast-max-width, 32rem);
66
89
  }
67
90
  output.info, output.success {
68
91
  color: #ffffff;
@@ -86,7 +109,8 @@ output > div {
86
109
  align-items: center;
87
110
  }
88
111
  output span {
89
- text-wrap: nowrap;
90
- word-break: keep-all;
91
- overflow: hidden;
112
+ word-break: break-word;
113
+ overflow-wrap: anywhere;
114
+ min-width: 0;
115
+ flex: 1 1 auto;
92
116
  }</style>
@@ -1,4 +1,18 @@
1
1
  import type { ToastProps } from './ToastProps.js';
2
+ /**
3
+ * Single toast rendering. Renders a horizontally-sliding pill near the
4
+ * bottom-right of the viewport via `ToastContainer`. The severity of the
5
+ * underlying toast drives both the colouring and the live-region
6
+ * semantics:
7
+ *
8
+ * - `Validity.Invalid` -> `role="alert"`, `aria-live="assertive"`.
9
+ * - All other severities -> `role="status"`, `aria-live="polite"`.
10
+ *
11
+ * The slide transition honours `prefers-reduced-motion` through the
12
+ * shared `usePrefersReducedMotion` helper; when the user has opted in
13
+ * the duration collapses to zero. The copy action is only shown when
14
+ * `navigator.clipboard` is present (HTTPS or `localhost`).
15
+ */
2
16
  declare const Toast: import("svelte").Component<ToastProps, {}, "">;
3
17
  type Toast = ReturnType<typeof Toast>;
4
18
  export default Toast;
@@ -1,5 +1,20 @@
1
1
  <svelte:options runes />
2
2
 
3
+ <!--
4
+ @component
5
+ Live region for the {@link ToastContext}. Iterates the context's
6
+ queue and renders one `Toast` per message, providing the
7
+ copy-to-clipboard callback (the container owns the clipboard logic
8
+ because the toast itself only knows the message it should copy).
9
+
10
+ The wrapping `<section>` carries `role="region"` plus
11
+ `aria-live="polite"` so multiple toast appearances are announced as
12
+ a single rolling region without interrupting the user; individual
13
+ `Toast` elements override `aria-live` to `assertive` for hard errors.
14
+
15
+ Mounted once at the app root by `ContextWrapper`; consumers should
16
+ not render this directly.
17
+ -->
3
18
  <script lang="ts">
4
19
  import { ToastContext } from '../../Contexts/ToastContext.svelte.js';
5
20
  import { devCatch } from '../../Helpers/Helpers.svelte.js';
@@ -9,31 +24,35 @@
9
24
 
10
25
  const toastContext = getContext<ToastContext>(ToastContext.identifier);
11
26
 
12
- function copyDataToClipboard(text: string) {
13
- //clipboard doesn't exist in http connections. This may be redundant now but you never know
27
+ function copyDataToClipboard(text: string): void {
28
+ // `navigator.clipboard` is `undefined` on insecure (HTTP)
29
+ // origins and in some embedded WebViews. The compile-time
30
+ // type says it is always defined, hence the eslint disable;
31
+ // the runtime check is the load-bearing one.
14
32
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
15
33
  if (!navigator.clipboard) {
16
34
  toastContext.toast({
17
35
  result: Validity.Invalid,
18
36
  message: 'Cannot Copy in an Insecure Connection',
19
- copyable: false
37
+ copyable: false,
20
38
  });
21
39
  return;
22
40
  }
23
41
 
24
- // copy plain value
25
-
26
42
  navigator.clipboard.writeText(text).catch(devCatch);
27
43
  toastContext.toast({
28
44
  result: Validity.Info,
29
45
  message: 'Message copied to clipboard',
30
- copyable: false
46
+ copyable: false,
31
47
  });
32
48
  }
33
49
  </script>
34
50
 
35
- <section>
36
- {#each toastContext.toasts as toast (toast)}
51
+ <section
52
+ aria-live="polite"
53
+ aria-label="Notifications"
54
+ >
55
+ {#each toastContext.toasts as toast (toast.id)}
37
56
  <Toast
38
57
  {toast}
39
58
  copy={() => {
@@ -46,12 +65,12 @@
46
65
  <style>section {
47
66
  user-select: none;
48
67
  gap: 0.5rem;
49
- bottom: 8rem;
50
- right: 2rem;
68
+ bottom: var(--toast-bottom, 8rem);
69
+ right: var(--toast-right, 2rem);
51
70
  display: flex;
52
71
  position: fixed;
53
72
  flex-flow: column-reverse nowrap;
54
73
  justify-content: flex-end;
55
74
  align-items: flex-end;
56
- z-index: 9999;
75
+ z-index: 99999;
57
76
  }</style>
@@ -1,3 +1,17 @@
1
+ /**
2
+ * Live region for the {@link ToastContext}. Iterates the context's
3
+ * queue and renders one `Toast` per message, providing the
4
+ * copy-to-clipboard callback (the container owns the clipboard logic
5
+ * because the toast itself only knows the message it should copy).
6
+ *
7
+ * The wrapping `<section>` carries `role="region"` plus
8
+ * `aria-live="polite"` so multiple toast appearances are announced as
9
+ * a single rolling region without interrupting the user; individual
10
+ * `Toast` elements override `aria-live` to `assertive` for hard errors.
11
+ *
12
+ * Mounted once at the app root by `ContextWrapper`; consumers should
13
+ * not render this directly.
14
+ */
1
15
  declare const ToastContainer: import("svelte").Component<Record<string, never>, {}, "">;
2
16
  type ToastContainer = ReturnType<typeof ToastContainer>;
3
17
  export default ToastContainer;
@@ -1,5 +1,18 @@
1
1
  import type { IdentifiableToastMessage } from '../../Types/Internal/IdentifiableToastMessage.js';
2
+ /**
3
+ * Props for {@link Toast}.
4
+ *
5
+ * `Toast` is the per-message renderer used by `ToastContainer`. The
6
+ * container provides the `copy` callback because copy-to-clipboard is
7
+ * a host-level concern (the host knows which message text or verbose
8
+ * representation to write).
9
+ */
2
10
  export interface ToastProps {
11
+ /** The toast message and metadata to render. */
3
12
  toast: IdentifiableToastMessage;
4
- copy: () => void;
13
+ /**
14
+ * Click handler for the copy action. Allowed to return a promise
15
+ * so callers can await the underlying `navigator.clipboard.writeText`.
16
+ */
17
+ copy: () => void | Promise<void>;
5
18
  }
@@ -1,5 +1,16 @@
1
1
  <svelte:options runes />
2
2
 
3
+ <!--
4
+ @component
5
+ Visual host for `TooltipContext`. Renders a fixed-position tooltip at
6
+ the coordinates the context exposes, with a CSS arrow that points
7
+ back toward the anchored element on the configured side.
8
+
9
+ The tooltip just appears and disappears; no transition is applied,
10
+ which is the conservative choice for `prefers-reduced-motion`. Reads
11
+ the context with `getContext` and relies on `ContextWrapper` to have
12
+ set it up at the app root.
13
+ -->
3
14
  <script lang="ts">
4
15
  import { TooltipContext } from '../../Contexts/TooltipContext.svelte.js';
5
16
  import { Side } from '../../Types/Internal/Side.js';
@@ -25,19 +36,19 @@
25
36
 
26
37
  <style>.tooltip-wrapper {
27
38
  position: fixed;
28
- z-index: 9999;
39
+ z-index: 99999;
29
40
  border-radius: 4px;
30
- background-color: black;
31
- color: white;
32
- box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1333333333);
41
+ background-color: #3a4952;
42
+ color: #ffffff;
43
+ box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.13);
33
44
  border: solid 2px #dae0e5;
34
45
  }
35
46
  .tooltip-wrapper .tooltip {
36
47
  padding: 0.5rem;
37
- background-color: black;
48
+ background-color: #3a4952;
38
49
  border-radius: 4px;
39
50
  font-weight: 500;
40
- white-space: preserve;
51
+ white-space: pre-wrap;
41
52
  }
42
53
  .tooltip-wrapper.top-arrow {
43
54
  left: var(--x, 0);
@@ -54,7 +65,7 @@
54
65
  left: 50%;
55
66
  translate: -50% -50%;
56
67
  transform: rotate(45deg);
57
- background-color: black;
68
+ background-color: #3a4952;
58
69
  border: solid 2px #dae0e5;
59
70
  }
60
71
  .tooltip-wrapper.bottom-arrow {
@@ -72,7 +83,7 @@
72
83
  left: 50%;
73
84
  translate: -50% -50%;
74
85
  transform: rotate(45deg);
75
- background-color: black;
86
+ background-color: #3a4952;
76
87
  border: solid 2px #dae0e5;
77
88
  }
78
89
  .tooltip-wrapper.left-arrow {
@@ -90,7 +101,7 @@
90
101
  left: 0;
91
102
  translate: -50% -50%;
92
103
  transform: rotate(45deg);
93
- background-color: black;
104
+ background-color: #3a4952;
94
105
  border: solid 2px #dae0e5;
95
106
  }
96
107
  .tooltip-wrapper.right-arrow {
@@ -108,6 +119,6 @@
108
119
  left: 100%;
109
120
  translate: -50% -50%;
110
121
  transform: rotate(45deg);
111
- background-color: black;
122
+ background-color: #3a4952;
112
123
  border: solid 2px #dae0e5;
113
124
  }</style>
@@ -1,3 +1,13 @@
1
+ /**
2
+ * Visual host for `TooltipContext`. Renders a fixed-position tooltip at
3
+ * the coordinates the context exposes, with a CSS arrow that points
4
+ * back toward the anchored element on the configured side.
5
+ *
6
+ * The tooltip just appears and disappears; no transition is applied,
7
+ * which is the conservative choice for `prefers-reduced-motion`. Reads
8
+ * the context with `getContext` and relies on `ContextWrapper` to have
9
+ * set it up at the app root.
10
+ */
1
11
  declare const Tooltip: import("svelte").Component<Record<string, never>, {}, "">;
2
12
  type Tooltip = ReturnType<typeof Tooltip>;
3
13
  export default Tooltip;