@lavalogic/scoria 0.35.0 → 0.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (555) hide show
  1. package/README.md +58 -58
  2. package/dist/Components/AccordionGroup.svelte +46 -42
  3. package/dist/Components/AccordionGroupButton.svelte +106 -106
  4. package/dist/Components/AccordionGroupButtonProps.d.ts +27 -8
  5. package/dist/Components/AccordionGroupProps.d.ts +10 -2
  6. package/dist/Components/Action.svelte +137 -139
  7. package/dist/Components/ActionProps.d.ts +23 -3
  8. package/dist/Components/AlertModal.svelte +176 -125
  9. package/dist/Components/AppointmentCalendar/AppointmentCalendar.svelte +1126 -0
  10. package/dist/Components/AppointmentCalendar/AppointmentCalendar.svelte.d.ts +4 -0
  11. package/dist/Components/AppointmentCalendar/AppointmentCalendarProps.d.ts +92 -0
  12. package/dist/Components/AppointmentCalendar/AppointmentCalendarProps.js +12 -0
  13. package/dist/Components/Base/BaseModal.svelte +172 -0
  14. package/dist/Components/Base/BaseModal.svelte.d.ts +4 -0
  15. package/dist/Components/Base/BaseModalProps.d.ts +73 -0
  16. package/dist/Components/Base/BaseModalProps.js +1 -0
  17. package/dist/Components/Base/ContextWrapper.svelte +72 -50
  18. package/dist/Components/Base/ContextWrapper.svelte.d.ts +24 -5
  19. package/dist/Components/Base/ContextWrapperProps.d.ts +22 -0
  20. package/dist/Components/Base/Pagination.svelte +198 -190
  21. package/dist/Components/Base/Pagination.svelte.d.ts +12 -2
  22. package/dist/Components/Base/PaginationProps.d.ts +60 -3
  23. package/dist/Components/Base/Snippets.svelte +36 -29
  24. package/dist/Components/Base/Snippets.svelte.d.ts +5 -1
  25. package/dist/Components/BigRadioSet.svelte +39 -30
  26. package/dist/Components/BigRadioSetProps.d.ts +17 -1
  27. package/dist/Components/Bubble.svelte +110 -77
  28. package/dist/Components/Bubble.svelte.d.ts +23 -2
  29. package/dist/Components/BubbleProps.d.ts +55 -4
  30. package/dist/Components/Button.svelte +209 -197
  31. package/dist/Components/ButtonProps.d.ts +66 -1
  32. package/dist/Components/Checkbox.svelte +100 -72
  33. package/dist/Components/Checkbox.svelte.d.ts +1 -12
  34. package/dist/Components/CheckboxProps.d.ts +27 -0
  35. package/dist/Components/CheckboxProps.js +1 -0
  36. package/dist/Components/CollapsibleCard.svelte +114 -83
  37. package/dist/Components/CollapsibleCardProps.d.ts +22 -1
  38. package/dist/Components/Contexts/ContextMenu.svelte +178 -157
  39. package/dist/Components/Contexts/ContextMenu.svelte.d.ts +26 -0
  40. package/dist/Components/Contexts/ContextMenuDivider.svelte +19 -11
  41. package/dist/Components/Contexts/ContextMenuDivider.svelte.d.ts +9 -0
  42. package/dist/Components/Contexts/ContextMenuOption.svelte +66 -57
  43. package/dist/Components/Contexts/ContextMenuOption.svelte.d.ts +12 -1
  44. package/dist/Components/Contexts/ContextMenuOptionProps.d.ts +34 -2
  45. package/dist/Components/Contexts/Toast.svelte +88 -64
  46. package/dist/Components/Contexts/Toast.svelte.d.ts +14 -0
  47. package/dist/Components/Contexts/ToastContainer.svelte +68 -49
  48. package/dist/Components/Contexts/ToastContainer.svelte.d.ts +14 -0
  49. package/dist/Components/Contexts/ToastProps.d.ts +14 -1
  50. package/dist/Components/Contexts/Tooltip.svelte +47 -36
  51. package/dist/Components/Contexts/Tooltip.svelte.d.ts +10 -0
  52. package/dist/Components/DataMatrixIcon.svelte +113 -42
  53. package/dist/Components/DataMatrixIconProps.d.ts +73 -1
  54. package/dist/Components/DateInput.svelte +144 -109
  55. package/dist/Components/DateInput.svelte.d.ts +1 -1
  56. package/dist/Components/DateOnlyInputProps.d.ts +31 -5
  57. package/dist/Components/DatePicker.svelte +301 -313
  58. package/dist/Components/DatePickerProps.d.ts +18 -1
  59. package/dist/Components/DateTimeInputProps.d.ts +30 -5
  60. package/dist/Components/DesktopModal.svelte +90 -119
  61. package/dist/Components/DesktopModalProps.d.ts +5 -4
  62. package/dist/Components/Dial.svelte +213 -151
  63. package/dist/Components/DialProps.d.ts +74 -2
  64. package/dist/Components/DimensionInput.svelte +171 -185
  65. package/dist/Components/DimensionInput.svelte.d.ts +1 -1
  66. package/dist/Components/DimensionInputProps.d.ts +39 -4
  67. package/dist/Components/DragMenu/DragMenuHolder.svelte +119 -107
  68. package/dist/Components/DragMenu/DragMenuHolderProps.d.ts +30 -1
  69. package/dist/Components/DragMenu/DraggableCard.svelte +77 -41
  70. package/dist/Components/DragMenu/DraggableCardProps.d.ts +27 -1
  71. package/dist/Components/FileCard.svelte +24 -20
  72. package/dist/Components/FileCardProps.d.ts +17 -1
  73. package/dist/Components/FileUpload.svelte +236 -196
  74. package/dist/Components/FileUploadProps.d.ts +34 -4
  75. package/dist/Components/GridInput.svelte +201 -191
  76. package/dist/Components/GridInput.svelte.d.ts +5 -5
  77. package/dist/Components/GridInputProps.d.ts +4 -1
  78. package/dist/Components/GridInputSet.svelte +31 -24
  79. package/dist/Components/GridInputSet.svelte.d.ts +5 -5
  80. package/dist/Components/GridInputSetProps.d.ts +4 -2
  81. package/dist/Components/HorizontalTabGroup.svelte +81 -79
  82. package/dist/Components/HorizontalTabGroupButton.svelte +51 -103
  83. package/dist/Components/HorizontalTabGroupProps.d.ts +15 -2
  84. package/dist/Components/Icon.svelte +144 -103
  85. package/dist/Components/IconProps.d.ts +54 -6
  86. package/dist/Components/Icons.d.ts +8 -0
  87. package/dist/Components/Icons.js +591 -572
  88. package/dist/Components/LoadingAnimation.svelte +39 -39
  89. package/dist/Components/LoadingAnimation.svelte.d.ts +1 -3
  90. package/dist/Components/LoadingAnimationProps.d.ts +16 -0
  91. package/dist/Components/LoadingAnimationProps.js +1 -0
  92. package/dist/Components/LoadingModal.svelte +48 -50
  93. package/dist/Components/LoadingModal.svelte.d.ts +1 -4
  94. package/dist/Components/LoadingModalProps.d.ts +17 -0
  95. package/dist/Components/LoadingModalProps.js +1 -0
  96. package/dist/Components/LoadingOverlay.svelte +28 -30
  97. package/dist/Components/LoadingOverlay.svelte.d.ts +1 -5
  98. package/dist/Components/LoadingOverlayProps.d.ts +28 -0
  99. package/dist/Components/LoadingOverlayProps.js +1 -0
  100. package/dist/Components/Modal.svelte +250 -255
  101. package/dist/Components/Modal.svelte.d.ts +1 -25
  102. package/dist/Components/ModalProps.d.ts +65 -0
  103. package/dist/Components/ModalProps.js +1 -0
  104. package/dist/Components/MultiSelect.svelte +238 -226
  105. package/dist/Components/MultiSelectCommonProps.d.ts +33 -4
  106. package/dist/Components/MultiSelectPropsAsObject.d.ts +5 -0
  107. package/dist/Components/MultiSelectPropsAsPrimitive.d.ts +6 -0
  108. package/dist/Components/Nav/CallbackButtonWithIcon.d.ts +22 -1
  109. package/dist/Components/Nav/Nav.svelte +115 -110
  110. package/dist/Components/Nav/Nav.svelte.d.ts +23 -2
  111. package/dist/Components/Nav/NavProps.d.ts +50 -3
  112. package/dist/Components/Nav/NavServiceMenuList.svelte +44 -35
  113. package/dist/Components/Nav/NavServiceMenuListProps.d.ts +25 -1
  114. package/dist/Components/Nav/NavTab.svelte +62 -91
  115. package/dist/Components/Nav/NavTab.svelte.d.ts +23 -2
  116. package/dist/Components/Nav/NavTabProps.d.ts +16 -2
  117. package/dist/Components/Nav/ServiceMenuItem.svelte +101 -92
  118. package/dist/Components/Nav/ServicesNav.svelte +96 -70
  119. package/dist/Components/Nav/ServicesNav.svelte.d.ts +23 -2
  120. package/dist/Components/Nav/ServicesNavProps.d.ts +20 -4
  121. package/dist/Components/Nav/SideMenuItemProps.d.ts +16 -0
  122. package/dist/Components/NumberInput.svelte +155 -145
  123. package/dist/Components/NumberInputProps.d.ts +37 -0
  124. package/dist/Components/PageHeading.svelte +25 -36
  125. package/dist/Components/PageHeading.svelte.d.ts +1 -6
  126. package/dist/Components/PageHeadingProps.d.ts +23 -0
  127. package/dist/Components/PageHeadingProps.js +1 -0
  128. package/dist/Components/PasswordInput.svelte +85 -73
  129. package/dist/Components/PasswordInput.svelte.d.ts +2 -2
  130. package/dist/Components/PasswordInputProps.d.ts +21 -0
  131. package/dist/Components/PasswordInputProps.js +1 -0
  132. package/dist/Components/Portal.svelte +36 -25
  133. package/dist/Components/PortalProps.d.ts +20 -1
  134. package/dist/Components/ProgressBubble.svelte +129 -84
  135. package/dist/Components/ProgressBubbleProps.d.ts +23 -2
  136. package/dist/Components/QuerySelect.svelte +384 -440
  137. package/dist/Components/QuerySelect.svelte.d.ts +2 -29
  138. package/dist/Components/QuerySelectProps.d.ts +66 -0
  139. package/dist/Components/QuerySelectProps.js +1 -0
  140. package/dist/Components/SingleSelect.svelte +268 -290
  141. package/dist/Components/SingleSelectCommonProps.d.ts +43 -5
  142. package/dist/Components/SingleSelectPropsAsObject.d.ts +7 -0
  143. package/dist/Components/SingleSelectPropsAsPrimitive.d.ts +8 -0
  144. package/dist/Components/StepButton.svelte +70 -120
  145. package/dist/Components/StepForm.svelte +147 -147
  146. package/dist/Components/StepFormProps.d.ts +16 -2
  147. package/dist/Components/Switch.svelte +84 -47
  148. package/dist/Components/Switch.svelte.d.ts +1 -1
  149. package/dist/Components/SwitchProps.d.ts +46 -0
  150. package/dist/Components/Table/Body/HeightData.d.ts +1 -6
  151. package/dist/Components/Table/Body/HeightData.js +8 -0
  152. package/dist/Components/Table/Body/QuickSearchCell.svelte +697 -641
  153. package/dist/Components/Table/Body/QuickSearchCell.svelte.d.ts +12 -11
  154. package/dist/Components/Table/Body/QuickSearchCellProps.d.ts +6 -0
  155. package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte +68 -34
  156. package/dist/Components/Table/Body/Rows/ColumnHighlight.svelte.d.ts +24 -2
  157. package/dist/Components/Table/Body/Rows/ColumnHighlightProps.d.ts +3 -0
  158. package/dist/Components/Table/Body/Rows/ColumnList.svelte +66 -56
  159. package/dist/Components/Table/Body/Rows/ColumnList.svelte.d.ts +12 -11
  160. package/dist/Components/Table/Body/Rows/ColumnListProps.d.ts +1 -0
  161. package/dist/Components/Table/Body/Rows/ColumnListRow.svelte +515 -182
  162. package/dist/Components/Table/Body/Rows/ColumnListRow.svelte.d.ts +12 -11
  163. package/dist/Components/Table/Body/Rows/ColumnListRowProps.d.ts +5 -0
  164. package/dist/Components/Table/Body/Rows/Columns/AccessorComponent.svelte +79 -49
  165. package/dist/Components/Table/Body/Rows/Columns/AccessorComponentProps.d.ts +12 -0
  166. package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte +203 -191
  167. package/dist/Components/Table/Body/Rows/Columns/ActionsCell.svelte.d.ts +12 -12
  168. package/dist/Components/Table/Body/Rows/Columns/ActionsColumn.d.ts +9 -0
  169. package/dist/Components/Table/Body/Rows/Columns/ActionsTableCell.d.ts +5 -0
  170. package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte +150 -115
  171. package/dist/Components/Table/Body/Rows/Columns/BubbleCell.svelte.d.ts +14 -13
  172. package/dist/Components/Table/Body/Rows/Columns/BubbleCellProps.d.ts +12 -0
  173. package/dist/Components/Table/Body/Rows/Columns/BubbleCellProps.js +1 -0
  174. package/dist/Components/Table/Body/Rows/Columns/ExpandCell.svelte +149 -129
  175. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte +149 -126
  176. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCell.svelte.d.ts +12 -11
  177. package/dist/Components/Table/Body/Rows/Columns/FocusableImmutableCellProps.d.ts +7 -0
  178. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte +142 -108
  179. package/dist/Components/Table/Body/Rows/Columns/ProgressCell.svelte.d.ts +17 -11
  180. package/dist/Components/Table/Body/Rows/Columns/RowSelectionColumn.d.ts +8 -0
  181. package/dist/Components/Table/Body/Rows/Columns/RowSelectionTableCell.d.ts +5 -0
  182. package/dist/Components/Table/Body/Rows/Columns/SelectColumn.d.ts +11 -0
  183. package/dist/Components/Table/Body/Rows/Columns/SelectTableCell.d.ts +11 -0
  184. package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte +87 -72
  185. package/dist/Components/Table/Body/Rows/Columns/TableAction.svelte.d.ts +11 -0
  186. package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte +148 -137
  187. package/dist/Components/Table/Body/Rows/Columns/TableCheckbox.svelte.d.ts +13 -18
  188. package/dist/Components/Table/Body/Rows/Columns/TableCheckboxProps.d.ts +17 -0
  189. package/dist/Components/Table/Body/Rows/Columns/TableCheckboxProps.js +1 -0
  190. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte +159 -144
  191. package/dist/Components/Table/Body/Rows/Columns/TableColumn.svelte.d.ts +1 -7
  192. package/dist/Components/Table/Body/Rows/Columns/TableColumnProps.d.ts +16 -0
  193. package/dist/Components/Table/Body/Rows/Columns/TableColumnProps.js +1 -0
  194. package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte +279 -249
  195. package/dist/Components/Table/Body/Rows/Columns/TableDatePicker.svelte.d.ts +12 -11
  196. package/dist/Components/Table/Body/Rows/Columns/TableDatePickerProps.d.ts +9 -0
  197. package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte +249 -370
  198. package/dist/Components/Table/Body/Rows/Columns/TableNumberInput.svelte.d.ts +20 -12
  199. package/dist/Components/Table/Body/Rows/Columns/TableQueryCell.d.ts +8 -0
  200. package/dist/Components/Table/Body/Rows/Columns/TableQueryColumn.d.ts +9 -0
  201. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte +291 -354
  202. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelect.svelte.d.ts +12 -11
  203. package/dist/Components/Table/Body/Rows/Columns/TableQuerySelectProps.d.ts +8 -0
  204. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte +201 -189
  205. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckbox.svelte.d.ts +2 -5
  206. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckboxProps.d.ts +14 -0
  207. package/dist/Components/Table/Body/Rows/Columns/TableRowSelectionCheckboxProps.js +1 -0
  208. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte +263 -325
  209. package/dist/Components/Table/Body/Rows/Columns/TableSelect.svelte.d.ts +13 -12
  210. package/dist/Components/Table/Body/Rows/Columns/TableSelectProps.d.ts +6 -0
  211. package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte +230 -381
  212. package/dist/Components/Table/Body/Rows/Columns/TableTextInput.svelte.d.ts +12 -11
  213. package/dist/Components/Table/Body/Rows/Columns/TableTextInputProps.d.ts +6 -0
  214. package/dist/Components/Table/Body/Rows/Columns/ValidityCell.svelte +187 -177
  215. package/dist/Components/Table/Body/Rows/Columns/_helpers/useAsyncEditable.svelte.d.ts +104 -0
  216. package/dist/Components/Table/Body/Rows/Columns/_helpers/useAsyncEditable.svelte.js +215 -0
  217. package/dist/Components/Table/Body/Rows/TableRow.svelte +331 -263
  218. package/dist/Components/Table/Body/Rows/TableRow.svelte.d.ts +2 -10
  219. package/dist/Components/Table/Body/Rows/TableRowProps.d.ts +11 -2
  220. package/dist/Components/Table/Body/TableBody.svelte +198 -81
  221. package/dist/Components/Table/Body/TableBody.svelte.d.ts +15 -22
  222. package/dist/Components/Table/Body/TableBodyProps.d.ts +9 -7
  223. package/dist/Components/Table/ColumnDefinitions/ExampleItemColumnDefRepository.svelte.js +18 -12
  224. package/dist/Components/Table/ColumnFactory.svelte.d.ts +43 -0
  225. package/dist/Components/Table/ColumnFactory.svelte.js +339 -0
  226. package/dist/Components/Table/Headers/HighlightAllHeader.svelte +41 -39
  227. package/dist/Components/Table/Headers/HighlightAllHeader.svelte.d.ts +12 -11
  228. package/dist/Components/Table/Headers/SelectAllHeader.svelte +30 -28
  229. package/dist/Components/Table/Headers/SelectAllHeader.svelte.d.ts +12 -11
  230. package/dist/Components/Table/Headers/TableHead.svelte +434 -294
  231. package/dist/Components/Table/Headers/TableHead.svelte.d.ts +13 -16
  232. package/dist/Components/Table/Headers/TableHeadProps.d.ts +10 -0
  233. package/dist/Components/Table/Headers/TableHeadProps.js +1 -0
  234. package/dist/Components/Table/Misc/ColumnPanel.svelte +154 -96
  235. package/dist/Components/Table/Misc/ColumnPanel.svelte.d.ts +12 -11
  236. package/dist/Components/Table/Misc/ColumnPanelModal.svelte +112 -99
  237. package/dist/Components/Table/Misc/ColumnPanelModal.svelte.d.ts +12 -11
  238. package/dist/Components/Table/Misc/ColumnPanelModalProps.d.ts +5 -0
  239. package/dist/Components/Table/Misc/FilterInput.svelte +545 -556
  240. package/dist/Components/Table/Misc/FilterInput.svelte.d.ts +12 -11
  241. package/dist/Components/Table/Misc/FilterPanel.svelte +409 -51
  242. package/dist/Components/Table/Misc/FilterPanel.svelte.d.ts +12 -11
  243. package/dist/Components/Table/Misc/FilterPanelModal.svelte +30 -77
  244. package/dist/Components/Table/Misc/FilterPanelModal.svelte.d.ts +2 -23
  245. package/dist/Components/Table/Misc/SidePanel.svelte +35 -32
  246. package/dist/Components/Table/Misc/SidePanel.svelte.d.ts +1 -7
  247. package/dist/Components/Table/Misc/SidePanelProps.d.ts +17 -0
  248. package/dist/Components/Table/Misc/SidePanelProps.js +1 -0
  249. package/dist/Components/Table/Misc/TableFooter.svelte +315 -306
  250. package/dist/Components/Table/Misc/TableFooter.svelte.d.ts +13 -14
  251. package/dist/Components/Table/Misc/TableFooterProps.d.ts +8 -0
  252. package/dist/Components/Table/Misc/TableFooterProps.js +1 -0
  253. package/dist/Components/Table/Misc/TableHorizontalBar.svelte +126 -157
  254. package/dist/Components/Table/Misc/TableHorizontalBar.svelte.d.ts +12 -11
  255. package/dist/Components/Table/Misc/TableSidebar.svelte +158 -177
  256. package/dist/Components/Table/Misc/TableSidebar.svelte.d.ts +12 -11
  257. package/dist/Components/Table/Misc/ToolboxPanel.svelte +147 -81
  258. package/dist/Components/Table/Misc/ToolboxPanel.svelte.d.ts +12 -11
  259. package/dist/Components/Table/Misc/ToolboxPanelModal.svelte +107 -100
  260. package/dist/Components/Table/Misc/ToolboxPanelModal.svelte.d.ts +12 -11
  261. package/dist/Components/Table/Misc/ToolboxPanelModalProps.d.ts +5 -0
  262. package/dist/Components/Table/Misc/numberDateFilterTypes.d.ts +7 -4
  263. package/dist/Components/Table/Misc/numberDateFilterTypes.js +8 -3
  264. package/dist/Components/Table/Misc/stringFilterTypes.d.ts +6 -4
  265. package/dist/Components/Table/Misc/stringFilterTypes.js +7 -3
  266. package/dist/Components/Table/NestedTable.svelte +132 -88
  267. package/dist/Components/Table/NestedTable.svelte.d.ts +2 -10
  268. package/dist/Components/Table/NestedTableProps.d.ts +25 -0
  269. package/dist/Components/Table/NestedTableProps.js +1 -0
  270. package/dist/Components/Table/SubApis.svelte.d.ts +23 -0
  271. package/dist/Components/Table/SubApis.svelte.js +359 -0
  272. package/dist/Components/Table/Table.svelte +694 -519
  273. package/dist/Components/Table/Table.svelte.d.ts +24 -1
  274. package/dist/Components/Table/TableHelpers.svelte.d.ts +58 -0
  275. package/dist/Components/Table/TableHelpers.svelte.js +88 -0
  276. package/dist/Components/Table/Types/Columns/Column.d.ts +10 -0
  277. package/dist/Components/Table/Types/Columns/ColumnPinningState.d.ts +12 -0
  278. package/dist/Components/Table/Types/Columns/ColumnSizingState.d.ts +8 -0
  279. package/dist/Components/Table/Types/Columns/ColumnType.d.ts +17 -0
  280. package/dist/Components/Table/Types/Columns/ColumnType.js +18 -1
  281. package/dist/Components/Table/Types/Columns/DateColumn.d.ts +6 -0
  282. package/dist/Components/Table/Types/Columns/DateTableCell.d.ts +7 -0
  283. package/dist/Components/Table/Types/Columns/Definitions/AccessorFn.d.ts +13 -0
  284. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.d.ts +28 -3
  285. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorDef.svelte.js +15 -0
  286. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorType.d.ts +10 -0
  287. package/dist/Components/Table/Types/Columns/Definitions/Accessors/AccessorType.js +11 -1
  288. package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.d.ts +23 -2
  289. package/dist/Components/Table/Types/Columns/Definitions/Accessors/CheckboxDef.svelte.js +9 -2
  290. package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.d.ts +21 -2
  291. package/dist/Components/Table/Types/Columns/Definitions/Accessors/DateInputDef.svelte.js +8 -0
  292. package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.d.ts +29 -3
  293. package/dist/Components/Table/Types/Columns/Definitions/Accessors/NumberInputDef.svelte.js +11 -0
  294. package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.d.ts +23 -0
  295. package/dist/Components/Table/Types/Columns/Definitions/Accessors/QueryDef.svelte.js +8 -0
  296. package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.d.ts +31 -0
  297. package/dist/Components/Table/Types/Columns/Definitions/Accessors/SelectDef.svelte.js +17 -3
  298. package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.d.ts +21 -2
  299. package/dist/Components/Table/Types/Columns/Definitions/Accessors/TextInputDef.svelte.js +7 -0
  300. package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.d.ts +29 -1
  301. package/dist/Components/Table/Types/Columns/Definitions/Actions/ActionsDef.svelte.js +17 -3
  302. package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.d.ts +122 -11
  303. package/dist/Components/Table/Types/Columns/Definitions/ColumnDef.svelte.js +77 -11
  304. package/dist/Components/Table/Types/Columns/Definitions/ColumnDefSet.d.ts +9 -0
  305. package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.d.ts +41 -1
  306. package/dist/Components/Table/Types/Columns/Definitions/Display/AbstractDisplayDef.svelte.js +16 -0
  307. package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.d.ts +19 -1
  308. package/dist/Components/Table/Types/Columns/Definitions/Display/BubbleDef.svelte.js +12 -1
  309. package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.d.ts +11 -0
  310. package/dist/Components/Table/Types/Columns/Definitions/Display/DisplayDef.svelte.js +6 -3
  311. package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.d.ts +19 -0
  312. package/dist/Components/Table/Types/Columns/Definitions/Display/ProgressBarDef.svelte.js +25 -1
  313. package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.d.ts +26 -0
  314. package/dist/Components/Table/Types/Columns/Definitions/Display/ValidityDef.svelte.js +20 -5
  315. package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.d.ts +43 -7
  316. package/dist/Components/Table/Types/Columns/Definitions/Expand/ExpandDef.svelte.js +18 -3
  317. package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.d.ts +19 -5
  318. package/dist/Components/Table/Types/Columns/Definitions/FilterOnly/FilterOnlyDef.svelte.js +16 -5
  319. package/dist/Components/Table/Types/Columns/Definitions/JSONColumnDefSet.d.ts +14 -0
  320. package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.d.ts +34 -2
  321. package/dist/Components/Table/Types/Columns/Definitions/RowSelection/RowSelectionDef.svelte.js +30 -7
  322. package/dist/Components/Table/Types/Columns/Definitions/ValidationFn.d.ts +17 -0
  323. package/dist/Components/Table/Types/Columns/DefsWrapper.d.ts +10 -0
  324. package/dist/Components/Table/Types/Columns/DisplayType.d.ts +13 -0
  325. package/dist/Components/Table/Types/Columns/DisplayType.js +14 -1
  326. package/dist/Components/Table/Types/Columns/ExpandColumn.d.ts +5 -0
  327. package/dist/Components/Table/Types/Columns/ExpandTableCell.d.ts +7 -0
  328. package/dist/Components/Table/Types/Columns/JSONColumnPinningState.d.ts +6 -0
  329. package/dist/Components/Table/Types/Columns/ProgressBarColumn.d.ts +5 -0
  330. package/dist/Components/Table/Types/Columns/ProgressBarTableCell.d.ts +9 -0
  331. package/dist/Components/Table/Types/Columns/TableActionButton.d.ts +12 -0
  332. package/dist/Components/Table/Types/Columns/TableCell.d.ts +16 -2
  333. package/dist/Components/Table/Types/Columns/VisibilityState.d.ts +12 -0
  334. package/dist/Components/Table/Types/Context/ColumnLayoutState.svelte.d.ts +173 -0
  335. package/dist/Components/Table/Types/Context/ColumnLayoutState.svelte.js +241 -0
  336. package/dist/Components/Table/Types/Context/FilteringState.svelte.d.ts +166 -0
  337. package/dist/Components/Table/Types/Context/FilteringState.svelte.js +180 -0
  338. package/dist/Components/Table/Types/Context/FocusState.svelte.d.ts +316 -0
  339. package/dist/Components/Table/Types/Context/FocusState.svelte.js +751 -0
  340. package/dist/Components/Table/Types/Context/ITable.d.ts +10 -0
  341. package/dist/Components/Table/Types/Context/PreferencesState.svelte.d.ts +242 -0
  342. package/dist/Components/Table/Types/Context/PreferencesState.svelte.js +317 -0
  343. package/dist/Components/Table/Types/Context/ReadonlyRowModel.d.ts +14 -3
  344. package/dist/Components/Table/Types/Context/Row.d.ts +18 -0
  345. package/dist/Components/Table/Types/Context/RowModel.d.ts +11 -0
  346. package/dist/Components/Table/Types/Context/SelectionState.svelte.d.ts +260 -0
  347. package/dist/Components/Table/Types/Context/SelectionState.svelte.js +613 -0
  348. package/dist/Components/Table/Types/Context/SortingState.svelte.d.ts +112 -0
  349. package/dist/Components/Table/Types/Context/SortingState.svelte.js +272 -0
  350. package/dist/Components/Table/Types/Context/TableContext.svelte.d.ts +547 -53
  351. package/dist/Components/Table/Types/Context/TableContext.svelte.js +959 -1259
  352. package/dist/Components/Table/Types/Context/TableInitOptions.d.ts +16 -0
  353. package/dist/Components/Table/Types/Context/TableSettings.d.ts +20 -0
  354. package/dist/Components/Table/Types/Context/VirtualisationState.svelte.d.ts +167 -0
  355. package/dist/Components/Table/Types/Context/VirtualisationState.svelte.js +226 -0
  356. package/dist/Components/Table/Types/Coordinates/CellCoordinates.d.ts +12 -0
  357. package/dist/Components/Table/Types/Coordinates/CellCoordinatesWithoutColumn.d.ts +5 -0
  358. package/dist/Components/Table/Types/Coordinates/ColumnIndices.d.ts +16 -2
  359. package/dist/Components/Table/Types/DataRepository/BuiltInRemoteRepository.svelte.d.ts +143 -0
  360. package/dist/Components/Table/Types/DataRepository/BuiltInRemoteRepository.svelte.js +454 -0
  361. package/dist/Components/Table/Types/DataRepository/IDataRepository.d.ts +21 -0
  362. package/dist/Components/Table/Types/DataRepository/ILocalDataRepository.d.ts +10 -0
  363. package/dist/Components/Table/Types/DataRepository/IRemoteDataRepository.d.ts +16 -0
  364. package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.d.ts +87 -3
  365. package/dist/Components/Table/Types/DataRepository/LocalTableDataRepository.svelte.js +112 -7
  366. package/dist/Components/Table/Types/DataRepository/SortingState.d.ts +12 -0
  367. package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.d.ts +87 -2
  368. package/dist/Components/Table/Types/DataRepository/TableDataRepository.svelte.js +74 -1
  369. package/dist/Components/Table/Types/ExpandedPanel.d.ts +9 -0
  370. package/dist/Components/Table/Types/ExpandedPanel.js +10 -1
  371. package/dist/Components/Table/Types/Filtering/ColumnFiltersState.d.ts +17 -0
  372. package/dist/Components/Table/Types/Filtering/CustomFilter.d.ts +21 -0
  373. package/dist/Components/Table/Types/Filtering/CustomFilterType.d.ts +5 -0
  374. package/dist/Components/Table/Types/Filtering/CustomFilterType.js +6 -1
  375. package/dist/Components/Table/Types/Filtering/CustomRemoteFilters.d.ts +6 -0
  376. package/dist/Components/Table/Types/Filtering/FilterFn.d.ts +28 -0
  377. package/dist/Components/Table/Types/Filtering/FilterMode.d.ts +7 -0
  378. package/dist/Components/Table/Types/Filtering/FilterType.d.ts +8 -0
  379. package/dist/Components/Table/Types/Filtering/FilterType.js +9 -1
  380. package/dist/Components/Table/Types/Filtering/FilterValueType.d.ts +11 -0
  381. package/dist/Components/Table/Types/Filtering/FilterValueType.js +12 -1
  382. package/dist/Components/Table/Types/Filtering/HasCustomFilterFunction.d.ts +23 -2
  383. package/dist/Components/Table/Types/Filtering/NumberDateFilterMode.d.ts +19 -12
  384. package/dist/Components/Table/Types/Filtering/NumberDateFilterMode.js +18 -14
  385. package/dist/Components/Table/Types/Filtering/StringFilterMode.d.ts +22 -15
  386. package/dist/Components/Table/Types/Filtering/StringFilterMode.js +22 -16
  387. package/dist/Components/Table/Types/Focus/MultiFocusEdge.d.ts +8 -0
  388. package/dist/Components/Table/Types/Focus/MultiFocusEdge.js +9 -1
  389. package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.d.ts +22 -0
  390. package/dist/Components/Table/Types/Focus/TableFocusDetails.svelte.js +22 -0
  391. package/dist/Components/Table/Types/Header.d.ts +8 -0
  392. package/dist/Components/Table/Types/HeaderGroup.d.ts +7 -0
  393. package/dist/Components/Table/Types/Layout/CellPinning.d.ts +1 -0
  394. package/dist/Components/Table/Types/Layout/CellPinning.js +8 -0
  395. package/dist/Components/Table/Types/OnChangeFn.d.ts +11 -0
  396. package/dist/Components/Table/Types/Pagination/PaginationState.d.ts +9 -0
  397. package/dist/Components/Table/Types/Pagination/PaginationType.d.ts +10 -0
  398. package/dist/Components/Table/Types/Pagination/PaginationType.js +11 -1
  399. package/dist/Components/Table/Types/Public/AnyEditEvent.d.ts +30 -0
  400. package/dist/Components/Table/Types/Public/AnyEditEvent.js +1 -0
  401. package/dist/Components/Table/Types/Public/BaseColumnOptions.d.ts +44 -0
  402. package/dist/Components/Table/Types/Public/BaseColumnOptions.js +1 -0
  403. package/dist/Components/Table/Types/Public/ColumnFactory.d.ts +35 -0
  404. package/dist/Components/Table/Types/Public/ColumnFactory.js +1 -0
  405. package/dist/Components/Table/Types/Public/ColumnOptions.d.ts +238 -0
  406. package/dist/Components/Table/Types/Public/ColumnOptions.js +1 -0
  407. package/dist/Components/Table/Types/Public/ColumnSpec.d.ts +39 -0
  408. package/dist/Components/Table/Types/Public/ColumnSpec.js +1 -0
  409. package/dist/Components/Table/Types/Public/CreateTableOptions.d.ts +87 -0
  410. package/dist/Components/Table/Types/Public/CreateTableOptions.js +1 -0
  411. package/dist/Components/Table/Types/Public/KeyConstraints.d.ts +42 -0
  412. package/dist/Components/Table/Types/Public/KeyConstraints.js +22 -0
  413. package/dist/Components/Table/Types/Public/RowSource.d.ts +87 -0
  414. package/dist/Components/Table/Types/Public/RowSource.js +1 -0
  415. package/dist/Components/Table/Types/Public/SelectionOptions.d.ts +26 -0
  416. package/dist/Components/Table/Types/Public/SelectionOptions.js +1 -0
  417. package/dist/Components/Table/Types/Public/Table.d.ts +39 -0
  418. package/dist/Components/Table/Types/Public/Table.js +1 -0
  419. package/dist/Components/Table/Types/Public/TableInitialState.d.ts +26 -0
  420. package/dist/Components/Table/Types/Public/TableInitialState.js +1 -0
  421. package/dist/Components/Table/Types/Public/TablePersistence.d.ts +38 -0
  422. package/dist/Components/Table/Types/Public/TablePersistence.js +1 -0
  423. package/dist/Components/Table/Types/Public/TableSubApis.d.ts +157 -0
  424. package/dist/Components/Table/Types/Public/TableSubApis.js +1 -0
  425. package/dist/Components/Table/Types/Public/index.d.ts +20 -0
  426. package/dist/Components/Table/Types/Public/index.js +8 -0
  427. package/dist/Components/Table/Types/Toolbar/ToolbarPosition.d.ts +4 -0
  428. package/dist/Components/Table/Types/Toolbar/ToolbarPosition.js +5 -1
  429. package/dist/Components/Table/createTable.svelte.d.ts +53 -0
  430. package/dist/Components/Table/createTable.svelte.js +269 -0
  431. package/dist/Components/Test/TestContextConsumer.svelte +13 -13
  432. package/dist/Components/TextArea.svelte +127 -108
  433. package/dist/Components/TextAreaProps.d.ts +37 -0
  434. package/dist/Components/TextInput.svelte +166 -147
  435. package/dist/Components/TextInputProps.d.ts +58 -1
  436. package/dist/Components/ThreeStateRadio.svelte +140 -143
  437. package/dist/Components/ThreeStateRadioProps.d.ts +29 -1
  438. package/dist/Components/Touch/BoolCard.svelte +45 -52
  439. package/dist/Components/Touch/BoolCard.svelte.d.ts +1 -10
  440. package/dist/Components/Touch/BoolCardProps.d.ts +21 -0
  441. package/dist/Components/Touch/BoolCardProps.js +1 -0
  442. package/dist/Components/Touch/DateModal.svelte +209 -217
  443. package/dist/Components/Touch/DateModal.svelte.d.ts +1 -17
  444. package/dist/Components/Touch/DateModalProps.d.ts +36 -0
  445. package/dist/Components/Touch/DateModalProps.js +1 -0
  446. package/dist/Components/Touch/EditCard.svelte +59 -52
  447. package/dist/Components/Touch/EditCardProps.d.ts +21 -0
  448. package/dist/Components/Touch/InfoCard.svelte +35 -28
  449. package/dist/Components/Touch/InfoCardProps.d.ts +9 -0
  450. package/dist/Components/Touch/InfoTextCard.svelte +28 -21
  451. package/dist/Components/Touch/InfoTextCardProps.d.ts +8 -0
  452. package/dist/Components/Touch/ModalExplanation.svelte +17 -20
  453. package/dist/Components/Touch/ModalExplanation.svelte.d.ts +1 -6
  454. package/dist/Components/Touch/ModalExplanationProps.d.ts +22 -0
  455. package/dist/Components/Touch/ModalExplanationProps.js +1 -0
  456. package/dist/Components/Touch/NumberKeyboard.svelte +225 -268
  457. package/dist/Components/Touch/NumberKeyboardProps.d.ts +19 -0
  458. package/dist/Components/Touch/NumberModal.svelte +79 -69
  459. package/dist/Components/Touch/NumberModalProps.d.ts +23 -1
  460. package/dist/Components/Touch/PlusMinusCard.svelte +48 -52
  461. package/dist/Components/Touch/PlusMinusCard.svelte.d.ts +1 -6
  462. package/dist/Components/Touch/PlusMinusCardProps.d.ts +18 -0
  463. package/dist/Components/Touch/PlusMinusCardProps.js +1 -0
  464. package/dist/Components/Touch/SelectModal.svelte +123 -105
  465. package/dist/Components/Touch/SelectModalProps.d.ts +22 -1
  466. package/dist/Components/Touch/SummaryCard.svelte +107 -65
  467. package/dist/Components/Touch/SummaryCardProps.d.ts +16 -3
  468. package/dist/Components/Touch/TextAreaModal.svelte +95 -86
  469. package/dist/Components/Touch/TextAreaModalProps.d.ts +21 -0
  470. package/dist/Components/Touch/TextModal.svelte +106 -123
  471. package/dist/Components/Touch/TextModalProps.d.ts +28 -1
  472. package/dist/Components/Touch/TouchCard.svelte +34 -72
  473. package/dist/Components/Touch/TouchCardProps.d.ts +21 -0
  474. package/dist/Components/Touch/TouchModal.svelte +265 -259
  475. package/dist/Components/Touch/TouchModalProps.d.ts +35 -1
  476. package/dist/Components/Touch/UtilityButton.svelte +116 -98
  477. package/dist/Components/Touch/UtilityButtonProps.d.ts +16 -0
  478. package/dist/Components/VerticalTabGroup.svelte +80 -102
  479. package/dist/Components/VerticalTabGroupButton.svelte +59 -98
  480. package/dist/Components/VerticalTabGroupProps.d.ts +15 -2
  481. package/dist/Contexts/AlertContext.svelte.d.ts +92 -8
  482. package/dist/Contexts/AlertContext.svelte.js +69 -6
  483. package/dist/Contexts/ContextMenuContext.svelte.d.ts +54 -8
  484. package/dist/Contexts/ContextMenuContext.svelte.js +48 -2
  485. package/dist/Contexts/TestContext.svelte.d.ts +27 -1
  486. package/dist/Contexts/TestContext.svelte.js +29 -1
  487. package/dist/Contexts/ToastContext.svelte.d.ts +29 -1
  488. package/dist/Contexts/ToastContext.svelte.js +93 -24
  489. package/dist/Contexts/TooltipContext.svelte.d.ts +68 -1
  490. package/dist/Contexts/TooltipContext.svelte.js +70 -7
  491. package/dist/Contexts/UntypedInputContext.svelte.d.ts +54 -5
  492. package/dist/Contexts/UntypedInputContext.svelte.js +87 -34
  493. package/dist/Delay/Delay.js +1 -1
  494. package/dist/Helpers/AsyncFlag.svelte.d.ts +39 -0
  495. package/dist/Helpers/AsyncFlag.svelte.js +72 -0
  496. package/dist/Helpers/Datamatrix.d.ts +19 -10
  497. package/dist/Helpers/Datamatrix.js +291 -2
  498. package/dist/Helpers/Helpers.svelte.d.ts +252 -17
  499. package/dist/Helpers/Helpers.svelte.js +271 -60
  500. package/dist/Helpers/INamed.d.ts +6 -0
  501. package/dist/Helpers/Storage.d.ts +67 -0
  502. package/dist/Helpers/Storage.js +138 -0
  503. package/dist/Helpers/dropdownPortal.d.ts +52 -0
  504. package/dist/Helpers/dropdownPortal.js +232 -0
  505. package/dist/Helpers/dropdownPortal.svelte.d.ts +2 -0
  506. package/dist/Helpers/dropdownPortal.svelte.js +5 -0
  507. package/dist/Helpers/memoiseByRow.d.ts +45 -0
  508. package/dist/Helpers/memoiseByRow.js +78 -0
  509. package/dist/Helpers/prefersReducedMotion.svelte.d.ts +27 -0
  510. package/dist/Helpers/prefersReducedMotion.svelte.js +18 -0
  511. package/dist/Helpers/useTooltip.svelte.d.ts +53 -0
  512. package/dist/Helpers/useTooltip.svelte.js +62 -0
  513. package/dist/Types/Examples/ExampleModal.svelte +35 -34
  514. package/dist/Types/Examples/ExampleSelectEnum.js +1 -1
  515. package/dist/Types/Internal/AsyncFlag.d.ts +7 -0
  516. package/dist/Types/Internal/AsyncFlag.js +1 -0
  517. package/dist/Types/Internal/BigRadioOption.d.ts +8 -0
  518. package/dist/Types/Internal/ButtonProp.d.ts +24 -2
  519. package/dist/Types/Internal/CallbackButton.d.ts +12 -0
  520. package/dist/Types/Internal/DateChange.d.ts +8 -0
  521. package/dist/Types/Internal/DatePickerType.d.ts +5 -0
  522. package/dist/Types/Internal/DatePickerType.js +6 -1
  523. package/dist/Types/Internal/IdentifiableToastMessage.d.ts +8 -0
  524. package/dist/Types/Internal/InputVariant.d.ts +5 -0
  525. package/dist/Types/Internal/InputVariant.js +6 -1
  526. package/dist/Types/Internal/Misc.d.ts +91 -0
  527. package/dist/Types/Internal/RefWrapper.d.ts +6 -0
  528. package/dist/Types/Internal/SelectOption.d.ts +8 -0
  529. package/dist/Types/Internal/Shape.d.ts +1 -0
  530. package/dist/Types/Internal/Shape.js +2 -1
  531. package/dist/Types/Internal/Side.d.ts +1 -0
  532. package/dist/Types/Internal/Side.js +2 -1
  533. package/dist/Types/Internal/Size.d.ts +5 -0
  534. package/dist/Types/Internal/Size.js +6 -1
  535. package/dist/Types/Internal/TabOption.d.ts +15 -5
  536. package/dist/Types/Internal/Ternary.d.ts +6 -0
  537. package/dist/Types/Internal/Ternary.js +7 -1
  538. package/dist/Types/Internal/ToastMessage.d.ts +28 -0
  539. package/dist/Types/Internal/Validity.d.ts +6 -0
  540. package/dist/Types/Internal/Validity.js +7 -1
  541. package/dist/Types/Internal/ValidityWrapper.d.ts +8 -0
  542. package/dist/Types/Internal/Variant.d.ts +5 -0
  543. package/dist/Types/Internal/Variant.js +6 -1
  544. package/dist/index.d.ts +27 -82
  545. package/dist/index.js +24 -62
  546. package/dist/scss/_basics.scss +12 -12
  547. package/dist/scss/_colours.scss +134 -134
  548. package/dist/scss/_mixins.scss +3300 -3016
  549. package/dist/scss/_motion.scss +57 -0
  550. package/dist/scss/_sizing.scss +85 -69
  551. package/dist/scss/_transitions.scss +8 -8
  552. package/dist/scss/colours.js +2 -2
  553. package/dist/scss/sizing.d.ts +9 -0
  554. package/dist/scss/sizing.js +10 -1
  555. package/package.json +6 -2
@@ -1,51 +1,135 @@
1
+ /**
2
+ * Application context driving the global `AlertModal` host.
3
+ *
4
+ * The class exposes two public entry points - {@link AlertContext.alert}
5
+ * and {@link AlertContext.prompt} - each of which configures the modal
6
+ * labels, body and callbacks then flips `showModal` to `true`. The
7
+ * visual host (`Components/Contexts/AlertModal.svelte`, mounted by
8
+ * `Components/Base/ContextWrapper.svelte`) renders the modal and
9
+ * wires the three button callbacks (`onYes`, `onNo`, `onOther`).
10
+ *
11
+ * Conforms to the canonical scoria context pattern:
12
+ * - `static readonly identifier = Symbol()` registered through
13
+ * `setContext`/`getContext`.
14
+ * - Private runes-backed fields (`_x = $state(...)`) exposed via
15
+ * getter / private setter pairs.
16
+ *
17
+ * Note: `onYes`/`onNo`/`onOther` are public arrow-typed class fields.
18
+ * The arrows re-bind `this`, so they may safely reassign
19
+ * `this.showModal = false` via the private setter even when invoked
20
+ * detached from the instance (e.g. as event handlers).
21
+ */
1
22
  export declare class AlertContext {
23
+ /** Stable lookup symbol used by `getContext`/`setContext`. */
2
24
  static readonly identifier: unique symbol;
3
25
  private _header;
26
+ /** Modal header text. Defaults to `'Confirmation'`. */
4
27
  get header(): string;
5
28
  private set header(value);
6
29
  private _body;
30
+ /** Modal body text. Set by {@link AlertContext.alert} / {@link AlertContext.prompt}. */
7
31
  get body(): string;
8
32
  private set body(value);
9
33
  private _footer;
34
+ /** Optional modal footer. `null` hides the footer slot. */
10
35
  get footer(): string | null;
11
36
  private set footer(value);
12
37
  private _yesLabel;
38
+ /** Confirm-button label. Default is `'Yes'` for prompts, `'Okay'` for alerts. */
13
39
  get yesLabel(): string;
14
40
  private set yesLabel(value);
15
41
  private _noLabel;
42
+ /** Cancel-button label. `null` hides the button (alert-only mode). */
16
43
  get noLabel(): string | null;
17
44
  private set noLabel(value);
18
45
  private _otherLabel;
46
+ /** Tertiary-button label. `null` hides the button. */
19
47
  get otherLabel(): string | null;
20
48
  private set otherLabel(value);
21
49
  private _showModal;
50
+ /** Whether the modal is currently visible. */
22
51
  get showModal(): boolean;
23
52
  private set showModal(value);
24
53
  private _mandatory;
54
+ /**
55
+ * If `true`, the modal cannot be dismissed via Escape or
56
+ * background click. The host must reply through one of the
57
+ * configured buttons.
58
+ */
25
59
  get mandatory(): boolean;
26
60
  private set mandatory(value);
27
61
  private _onYes;
62
+ /**
63
+ * Click handler for the confirm button. Closes the modal, invokes
64
+ * the consumer-supplied callback if any, then clears the stored
65
+ * callbacks so the closures (and anything they captured) can be
66
+ * garbage-collected. Async consumer callbacks are awaited
67
+ * implicitly via `void`.
68
+ */
28
69
  onYes: () => void;
29
70
  private _onNo;
71
+ /** Click handler for the cancel button. See {@link AlertContext.onYes}. */
30
72
  onNo: () => void;
31
73
  private _onOther;
74
+ /** Click handler for the tertiary button. See {@link AlertContext.onYes}. */
32
75
  onOther: () => void;
33
76
  private resetState;
34
- alert: (body: string, props?: IAlertProps) => void;
35
- prompt: (body: string, props: IPromptProps) => void;
77
+ /**
78
+ * Shows an alert modal (single confirm button). Resets all prior
79
+ * state, then applies the supplied {@link AlertProps}.
80
+ */
81
+ alert: (body: string, props?: AlertProps) => void;
82
+ /**
83
+ * Shows a prompt modal (confirm + cancel + optional tertiary).
84
+ * Resets all prior state, then applies the supplied
85
+ * {@link PromptProps}.
86
+ */
87
+ prompt: (body: string, props: PromptProps) => void;
36
88
  }
37
- export interface IAlertProps {
89
+ /**
90
+ * Optional configuration for {@link AlertContext.alert}.
91
+ */
92
+ export interface AlertProps {
93
+ /** Modal header text. Defaults to `'Confirmation'` if omitted. */
38
94
  header?: string;
95
+ /** Optional modal footer. */
39
96
  footer?: string;
40
- onYes?: () => void;
97
+ /** Callback invoked when the user clicks the confirm button. */
98
+ onYes?: () => void | Promise<void>;
99
+ /** Confirm-button label. Defaults to `'Okay'` if omitted. */
41
100
  yesLabel?: string;
101
+ /** If `true`, the modal cannot be dismissed without clicking a button. */
42
102
  mandatory?: boolean;
43
103
  }
44
- export interface IPromptProps extends IAlertProps {
45
- onYes: () => void;
46
- onNo?: () => void;
47
- onOther?: () => void;
104
+ /**
105
+ * Required configuration for {@link AlertContext.prompt}. `onYes`
106
+ * is required (because a prompt without an explicit confirm path is
107
+ * meaningless); the cancel and tertiary buttons are independently
108
+ * optional.
109
+ */
110
+ export interface PromptProps extends AlertProps {
111
+ /** Required confirm callback. */
112
+ onYes: () => void | Promise<void>;
113
+ /** Optional cancel callback. */
114
+ onNo?: () => void | Promise<void>;
115
+ /** Optional tertiary callback. */
116
+ onOther?: () => void | Promise<void>;
117
+ /** Cancel-button label. Defaults to `'No'` if omitted. */
48
118
  noLabel?: string;
119
+ /** Tertiary-button label. The button is hidden when omitted. */
49
120
  otherLabel?: string;
121
+ /** If `true`, the modal cannot be dismissed without clicking a button. */
50
122
  mandatory?: boolean;
51
123
  }
124
+ /**
125
+ * Legacy `I`-prefixed alias for {@link AlertProps}. Prefer
126
+ * `AlertProps` in new code; this re-export is kept for backwards
127
+ * compatibility with existing consumers.
128
+ */
129
+ export type IAlertProps = AlertProps;
130
+ /**
131
+ * Legacy `I`-prefixed alias for {@link PromptProps}. Prefer
132
+ * `PromptProps` in new code; this re-export is kept for backwards
133
+ * compatibility with existing consumers.
134
+ */
135
+ export type IPromptProps = PromptProps;
@@ -1,6 +1,29 @@
1
+ /**
2
+ * Application context driving the global `AlertModal` host.
3
+ *
4
+ * The class exposes two public entry points - {@link AlertContext.alert}
5
+ * and {@link AlertContext.prompt} - each of which configures the modal
6
+ * labels, body and callbacks then flips `showModal` to `true`. The
7
+ * visual host (`Components/Contexts/AlertModal.svelte`, mounted by
8
+ * `Components/Base/ContextWrapper.svelte`) renders the modal and
9
+ * wires the three button callbacks (`onYes`, `onNo`, `onOther`).
10
+ *
11
+ * Conforms to the canonical scoria context pattern:
12
+ * - `static readonly identifier = Symbol()` registered through
13
+ * `setContext`/`getContext`.
14
+ * - Private runes-backed fields (`_x = $state(...)`) exposed via
15
+ * getter / private setter pairs.
16
+ *
17
+ * Note: `onYes`/`onNo`/`onOther` are public arrow-typed class fields.
18
+ * The arrows re-bind `this`, so they may safely reassign
19
+ * `this.showModal = false` via the private setter even when invoked
20
+ * detached from the instance (e.g. as event handlers).
21
+ */
1
22
  export class AlertContext {
23
+ /** Stable lookup symbol used by `getContext`/`setContext`. */
2
24
  static identifier = Symbol();
3
25
  _header = $state('Confirmation');
26
+ /** Modal header text. Defaults to `'Confirmation'`. */
4
27
  get header() {
5
28
  return this._header;
6
29
  }
@@ -8,6 +31,7 @@ export class AlertContext {
8
31
  this._header = v;
9
32
  }
10
33
  _body = $state('');
34
+ /** Modal body text. Set by {@link AlertContext.alert} / {@link AlertContext.prompt}. */
11
35
  get body() {
12
36
  return this._body;
13
37
  }
@@ -15,6 +39,7 @@ export class AlertContext {
15
39
  this._body = v;
16
40
  }
17
41
  _footer = $state(null);
42
+ /** Optional modal footer. `null` hides the footer slot. */
18
43
  get footer() {
19
44
  return this._footer;
20
45
  }
@@ -22,6 +47,7 @@ export class AlertContext {
22
47
  this._footer = v;
23
48
  }
24
49
  _yesLabel = $state('Yes');
50
+ /** Confirm-button label. Default is `'Yes'` for prompts, `'Okay'` for alerts. */
25
51
  get yesLabel() {
26
52
  return this._yesLabel;
27
53
  }
@@ -29,6 +55,7 @@ export class AlertContext {
29
55
  this._yesLabel = v;
30
56
  }
31
57
  _noLabel = $state(null);
58
+ /** Cancel-button label. `null` hides the button (alert-only mode). */
32
59
  get noLabel() {
33
60
  return this._noLabel;
34
61
  }
@@ -36,6 +63,7 @@ export class AlertContext {
36
63
  this._noLabel = v;
37
64
  }
38
65
  _otherLabel = $state(null);
66
+ /** Tertiary-button label. `null` hides the button. */
39
67
  get otherLabel() {
40
68
  return this._otherLabel;
41
69
  }
@@ -43,6 +71,7 @@ export class AlertContext {
43
71
  this._otherLabel = v;
44
72
  }
45
73
  _showModal = $state(false);
74
+ /** Whether the modal is currently visible. */
46
75
  get showModal() {
47
76
  return this._showModal;
48
77
  }
@@ -50,6 +79,11 @@ export class AlertContext {
50
79
  this._showModal = v;
51
80
  }
52
81
  _mandatory = $state(false);
82
+ /**
83
+ * If `true`, the modal cannot be dismissed via Escape or
84
+ * background click. The host must reply through one of the
85
+ * configured buttons.
86
+ */
53
87
  get mandatory() {
54
88
  return this._mandatory;
55
89
  }
@@ -57,19 +91,40 @@ export class AlertContext {
57
91
  this._mandatory = v;
58
92
  }
59
93
  _onYes = undefined;
94
+ /**
95
+ * Click handler for the confirm button. Closes the modal, invokes
96
+ * the consumer-supplied callback if any, then clears the stored
97
+ * callbacks so the closures (and anything they captured) can be
98
+ * garbage-collected. Async consumer callbacks are awaited
99
+ * implicitly via `void`.
100
+ */
60
101
  onYes = () => {
61
102
  this.showModal = false;
62
- this._onYes?.();
103
+ const cb = this._onYes;
104
+ this._onYes = undefined;
105
+ this._onNo = undefined;
106
+ this._onOther = undefined;
107
+ void cb?.();
63
108
  };
64
109
  _onNo = undefined;
110
+ /** Click handler for the cancel button. See {@link AlertContext.onYes}. */
65
111
  onNo = () => {
66
112
  this.showModal = false;
67
- this._onNo?.();
113
+ const cb = this._onNo;
114
+ this._onYes = undefined;
115
+ this._onNo = undefined;
116
+ this._onOther = undefined;
117
+ void cb?.();
68
118
  };
69
119
  _onOther = undefined;
120
+ /** Click handler for the tertiary button. See {@link AlertContext.onYes}. */
70
121
  onOther = () => {
71
122
  this.showModal = false;
72
- this._onOther?.();
123
+ const cb = this._onOther;
124
+ this._onYes = undefined;
125
+ this._onNo = undefined;
126
+ this._onOther = undefined;
127
+ void cb?.();
73
128
  };
74
129
  resetState = () => {
75
130
  this._body = '';
@@ -82,8 +137,11 @@ export class AlertContext {
82
137
  this._onNo = undefined;
83
138
  this._onOther = undefined;
84
139
  };
140
+ /**
141
+ * Shows an alert modal (single confirm button). Resets all prior
142
+ * state, then applies the supplied {@link AlertProps}.
143
+ */
85
144
  alert = (body, props) => {
86
- // debugger;
87
145
  this.resetState();
88
146
  this._body = body;
89
147
  if (props) {
@@ -93,7 +151,7 @@ export class AlertContext {
93
151
  if (props.footer) {
94
152
  this._footer = props.footer;
95
153
  }
96
- this._yesLabel = props.yesLabel || 'Okay';
154
+ this._yesLabel = props.yesLabel ?? 'Okay';
97
155
  this._onYes = props.onYes;
98
156
  }
99
157
  else {
@@ -102,6 +160,11 @@ export class AlertContext {
102
160
  this.mandatory = props?.mandatory ?? false;
103
161
  this.showModal = true;
104
162
  };
163
+ /**
164
+ * Shows a prompt modal (confirm + cancel + optional tertiary).
165
+ * Resets all prior state, then applies the supplied
166
+ * {@link PromptProps}.
167
+ */
105
168
  prompt = (body, props) => {
106
169
  this.resetState();
107
170
  this._body = body;
@@ -114,7 +177,7 @@ export class AlertContext {
114
177
  if (props.yesLabel) {
115
178
  this._yesLabel = props.yesLabel;
116
179
  }
117
- this._noLabel = props.noLabel || 'No';
180
+ this._noLabel = props.noLabel ?? 'No';
118
181
  if (props.otherLabel) {
119
182
  this._otherLabel = props.otherLabel;
120
183
  }
@@ -1,22 +1,68 @@
1
+ /**
2
+ * Application context driving the global `ContextMenu` host.
3
+ *
4
+ * The class exposes {@link ContextMenuContext.openContextMenu} and
5
+ * {@link ContextMenuContext.closeMenu} as the only public mutators.
6
+ * Position (`x`, `y`), `items`, and `showMenu` are read-only from
7
+ * outside the class to keep the open-flow centralised.
8
+ */
1
9
  export declare class ContextMenuContext {
10
+ /** Stable lookup symbol used by `getContext`/`setContext`. */
2
11
  static readonly identifier: unique symbol;
12
+ /**
13
+ * Monotonically increasing open-count used to bail out of stale
14
+ * {@link ContextMenuContext.openContextMenu} calls when the user
15
+ * opens a second menu before the first one's reopen-delay has
16
+ * elapsed.
17
+ */
18
+ private openVersion;
3
19
  private _x;
20
+ /** Menu x-coordinate in viewport-relative CSS pixels. */
4
21
  get x(): number;
5
- set x(v: number);
22
+ private set x(value);
6
23
  private _y;
24
+ /** Menu y-coordinate in viewport-relative CSS pixels. */
7
25
  get y(): number;
8
- set y(v: number);
26
+ private set y(value);
9
27
  private _items;
10
- get items(): Array<IContextMenuOption>;
11
- set items(v: Array<IContextMenuOption>);
28
+ /** The current menu items. Mutate only via {@link ContextMenuContext.openContextMenu}. */
29
+ get items(): ReadonlyArray<ContextMenuOption>;
30
+ private set items(value);
12
31
  private _showMenu;
32
+ /** Whether the menu is currently visible. */
13
33
  get showMenu(): boolean;
14
- set showMenu(v: boolean);
15
- readonly openContextMenu: (e: MouseEvent, options: Array<IContextMenuOption>) => Promise<void>;
34
+ private set showMenu(value);
35
+ /**
36
+ * Opens the context menu at the position of the supplied
37
+ * `MouseEvent` (`clientX`/`clientY`). If a menu is already
38
+ * visible, closes it, waits {@link REOPEN_DELAY_MS} for the
39
+ * close animation to play, then opens the new one.
40
+ *
41
+ * Concurrent calls are version-guarded: only the most recent
42
+ * call's open-state survives the post-await write phase.
43
+ */
44
+ readonly openContextMenu: (e: MouseEvent, options: Array<ContextMenuOption>) => Promise<void>;
45
+ /**
46
+ * Closes the menu and clears the item list. Increments the open
47
+ * version so any in-flight {@link ContextMenuContext.openContextMenu}
48
+ * call resolves to a no-op.
49
+ */
16
50
  closeMenu: () => void;
17
51
  }
18
- export interface IContextMenuOption {
19
- callback: () => void;
52
+ /**
53
+ * A single context-menu row.
54
+ */
55
+ export interface ContextMenuOption {
56
+ /** Click handler. May be async; the menu does not await the result. */
57
+ callback: () => void | Promise<void>;
58
+ /** Visible row label. */
20
59
  text: string;
60
+ /** When `true`, the row is shown greyed-out and ignores clicks. */
21
61
  disabled?: boolean;
22
62
  }
63
+ /**
64
+ * Legacy `I`-prefixed alias for {@link ContextMenuOption}. Prefer
65
+ * `ContextMenuOption` in new code; this re-export is kept for
66
+ * backwards compatibility with existing consumers.
67
+ */
68
+ export type IContextMenuOption = ContextMenuOption;
@@ -1,6 +1,30 @@
1
+ import { asyncSleep } from '../Helpers/Helpers.svelte.js';
2
+ /**
3
+ * Delay in milliseconds that {@link ContextMenuContext.openContextMenu}
4
+ * waits after closing a previous menu before opening the next one,
5
+ * giving the close animation time to complete.
6
+ */
7
+ const REOPEN_DELAY_MS = 100;
8
+ /**
9
+ * Application context driving the global `ContextMenu` host.
10
+ *
11
+ * The class exposes {@link ContextMenuContext.openContextMenu} and
12
+ * {@link ContextMenuContext.closeMenu} as the only public mutators.
13
+ * Position (`x`, `y`), `items`, and `showMenu` are read-only from
14
+ * outside the class to keep the open-flow centralised.
15
+ */
1
16
  export class ContextMenuContext {
17
+ /** Stable lookup symbol used by `getContext`/`setContext`. */
2
18
  static identifier = Symbol();
19
+ /**
20
+ * Monotonically increasing open-count used to bail out of stale
21
+ * {@link ContextMenuContext.openContextMenu} calls when the user
22
+ * opens a second menu before the first one's reopen-delay has
23
+ * elapsed.
24
+ */
25
+ openVersion = 0;
3
26
  _x = $state(0);
27
+ /** Menu x-coordinate in viewport-relative CSS pixels. */
4
28
  get x() {
5
29
  return this._x;
6
30
  }
@@ -8,6 +32,7 @@ export class ContextMenuContext {
8
32
  this._x = v;
9
33
  }
10
34
  _y = $state(0);
35
+ /** Menu y-coordinate in viewport-relative CSS pixels. */
11
36
  get y() {
12
37
  return this._y;
13
38
  }
@@ -15,30 +40,51 @@ export class ContextMenuContext {
15
40
  this._y = v;
16
41
  }
17
42
  _items = $state([]);
43
+ /** The current menu items. Mutate only via {@link ContextMenuContext.openContextMenu}. */
18
44
  get items() {
19
45
  return this._items;
20
46
  }
21
47
  set items(v) {
22
- this._items = v;
48
+ this._items = [...v];
23
49
  }
24
50
  _showMenu = $state(false);
51
+ /** Whether the menu is currently visible. */
25
52
  get showMenu() {
26
53
  return this._showMenu;
27
54
  }
28
55
  set showMenu(v) {
29
56
  this._showMenu = v;
30
57
  }
58
+ /**
59
+ * Opens the context menu at the position of the supplied
60
+ * `MouseEvent` (`clientX`/`clientY`). If a menu is already
61
+ * visible, closes it, waits {@link REOPEN_DELAY_MS} for the
62
+ * close animation to play, then opens the new one.
63
+ *
64
+ * Concurrent calls are version-guarded: only the most recent
65
+ * call's open-state survives the post-await write phase.
66
+ */
31
67
  openContextMenu = async (e, options) => {
68
+ const version = ++this.openVersion;
32
69
  if (this.showMenu) {
33
70
  this.closeMenu();
34
- await new Promise((res) => setTimeout(res, 100));
71
+ await asyncSleep(REOPEN_DELAY_MS);
72
+ if (version !== this.openVersion) {
73
+ return;
74
+ }
35
75
  }
36
76
  this.items = options;
37
77
  this.x = e.clientX;
38
78
  this.y = e.clientY;
39
79
  this.showMenu = true;
40
80
  };
81
+ /**
82
+ * Closes the menu and clears the item list. Increments the open
83
+ * version so any in-flight {@link ContextMenuContext.openContextMenu}
84
+ * call resolves to a no-op.
85
+ */
41
86
  closeMenu = () => {
87
+ this.openVersion++;
42
88
  this.showMenu = false;
43
89
  this.items = [];
44
90
  };
@@ -1,11 +1,37 @@
1
1
  import type { RefWrapper } from '../Types/Internal/RefWrapper.js';
2
+ /**
3
+ * Test-only fixture context demonstrating the `RefWrapper` +
4
+ * derived-effect pattern used elsewhere in scoria.
5
+ *
6
+ * Not part of the shipped public surface and not mounted by
7
+ * `ContextWrapper`. For a canonical context to copy from, see
8
+ * `AlertContext`, `ToastContext`, or `TooltipContext`.
9
+ *
10
+ * Non-canonical patterns intentionally present:
11
+ * - The `value2` field is initialised via `useTestEffect(value1)`
12
+ * which calls `$effect`. `$effect` requires an active effect
13
+ * scope. In real code, construct the context lazily inside the
14
+ * consuming component (or `$effect.root`).
15
+ * - The setters on `value1`/`value2` are public for test
16
+ * ergonomics. Real contexts keep their setters private.
17
+ */
2
18
  export declare class TestContext {
19
+ /** Stable lookup symbol used by `getContext`/`setContext`. */
3
20
  static readonly identifier: unique symbol;
4
21
  private _value1;
22
+ /** Test-driver-visible reactive cell. */
5
23
  get value1(): RefWrapper<number>;
6
24
  set value1(v: RefWrapper<number>);
7
25
  private _value2;
26
+ /** Derived counter; accumulates `value1` whenever it is divisible by three. */
8
27
  get value2(): RefWrapper<number>;
9
28
  set value2(v: RefWrapper<number>);
10
- useTestEffect(sourceValue: RefWrapper<number>): RefWrapper<number>;
29
+ constructor();
30
+ /**
31
+ * Returns a `RefWrapper<number>` that accumulates the input
32
+ * `RefWrapper`'s `value` whenever the input becomes divisible by
33
+ * three. `untrack` keeps the write off the reactive dependency
34
+ * graph so the effect does not self-trigger.
35
+ */
36
+ private useTestEffect;
11
37
  }
@@ -1,21 +1,49 @@
1
1
  import { refWrapper } from '../Helpers/Helpers.svelte.js';
2
2
  import { untrack } from 'svelte';
3
+ /**
4
+ * Test-only fixture context demonstrating the `RefWrapper` +
5
+ * derived-effect pattern used elsewhere in scoria.
6
+ *
7
+ * Not part of the shipped public surface and not mounted by
8
+ * `ContextWrapper`. For a canonical context to copy from, see
9
+ * `AlertContext`, `ToastContext`, or `TooltipContext`.
10
+ *
11
+ * Non-canonical patterns intentionally present:
12
+ * - The `value2` field is initialised via `useTestEffect(value1)`
13
+ * which calls `$effect`. `$effect` requires an active effect
14
+ * scope. In real code, construct the context lazily inside the
15
+ * consuming component (or `$effect.root`).
16
+ * - The setters on `value1`/`value2` are public for test
17
+ * ergonomics. Real contexts keep their setters private.
18
+ */
3
19
  export class TestContext {
20
+ /** Stable lookup symbol used by `getContext`/`setContext`. */
4
21
  static identifier = Symbol();
5
22
  _value1 = $state(refWrapper(0));
23
+ /** Test-driver-visible reactive cell. */
6
24
  get value1() {
7
25
  return this._value1;
8
26
  }
9
27
  set value1(v) {
10
28
  this._value1 = v;
11
29
  }
12
- _value2 = $state(this.useTestEffect(this.value1));
30
+ _value2;
31
+ /** Derived counter; accumulates `value1` whenever it is divisible by three. */
13
32
  get value2() {
14
33
  return this._value2;
15
34
  }
16
35
  set value2(v) {
17
36
  this._value2 = v;
18
37
  }
38
+ constructor() {
39
+ this._value2 = this.useTestEffect(this._value1);
40
+ }
41
+ /**
42
+ * Returns a `RefWrapper<number>` that accumulates the input
43
+ * `RefWrapper`'s `value` whenever the input becomes divisible by
44
+ * three. `untrack` keeps the write off the reactive dependency
45
+ * graph so the effect does not self-trigger.
46
+ */
19
47
  useTestEffect(sourceValue) {
20
48
  const internalState = refWrapper(0);
21
49
  $effect(() => {
@@ -1,9 +1,37 @@
1
1
  import type { IdentifiableToastMessage } from '../Types/Internal/IdentifiableToastMessage.js';
2
+ /**
3
+ * Application context driving the global `ToastContainer` host.
4
+ *
5
+ * The id counter is an instance field so multiple contexts (e.g.
6
+ * tests or HMR-reloaded hosts) do not collide. Verbose copy output
7
+ * (stack trace, cause chain) is gated on `$app/environment.dev`
8
+ * so production users cannot leak backend internals to the
9
+ * clipboard.
10
+ */
2
11
  export declare class ToastContext {
12
+ /** Stable lookup symbol used by `getContext`/`setContext`. */
3
13
  static readonly identifier: unique symbol;
14
+ private idIncrement;
4
15
  private _toasts;
5
- get toasts(): Array<IdentifiableToastMessage>;
16
+ /**
17
+ * The currently visible toasts. Returned as a `ReadonlyArray` so
18
+ * consumers cannot mutate the internal queue; use {@link ToastContext.toast}
19
+ * to add and `IdentifiableToastMessage.close` to remove.
20
+ */
21
+ get toasts(): ReadonlyArray<IdentifiableToastMessage>;
6
22
  private set toasts(value);
23
+ private readonly timeoutHandles;
24
+ /**
25
+ * Queues a toast for display. Accepts `string`, `ReadonlyArray<string>`,
26
+ * `Error`, {@link ToastMessage}, the wrapped HTTP response shape, or
27
+ * anything else (rendered as "Unknown Error"). `null` / `undefined`
28
+ * are silently dropped.
29
+ */
7
30
  readonly toast: (message: unknown) => void;
31
+ /**
32
+ * Removes the toast with the given id from the visible queue and
33
+ * clears any pending auto-dismiss timer so the closure does not
34
+ * leak.
35
+ */
8
36
  private dismiss;
9
37
  }