@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,21 +1,18 @@
1
1
  <svelte:options runes />
2
2
 
3
- <script
4
- lang="ts"
5
- module
6
- >
7
- export interface LoadingAnimationProps {
8
- showText?: boolean;
9
- }
10
- </script>
11
-
12
3
  <script lang="ts">
13
4
  import { loadingText } from '../Helpers/Helpers.svelte.js';
5
+ import type { LoadingAnimationProps } from './LoadingAnimationProps.js';
14
6
 
15
- let { showText = true }: LoadingAnimationProps = $props();
7
+ const { showText = true, label = 'Loading' }: LoadingAnimationProps = $props();
16
8
  </script>
17
9
 
18
- <div class="container">
10
+ <div
11
+ class="container"
12
+ role="status"
13
+ aria-live="polite"
14
+ aria-label={label}
15
+ >
19
16
  <div id="cube">
20
17
  <div class="front"></div>
21
18
  <div class="front">
@@ -30,8 +27,8 @@
30
27
  </div>
31
28
 
32
29
  <style>.container {
33
- width: 100px;
34
- height: 100px;
30
+ width: var(--loading-animation-size, 100px);
31
+ height: var(--loading-animation-size, 100px);
35
32
  position: relative;
36
33
  perspective: 1000px;
37
34
  }
@@ -40,11 +37,15 @@
40
37
  height: 100%;
41
38
  position: absolute;
42
39
  transform-style: preserve-3d;
43
- animation: rotatecube 10s infinite;
40
+ }
41
+ @media (prefers-reduced-motion: no-preference) {
42
+ .container #cube {
43
+ animation: rotatecube 10s infinite;
44
+ }
44
45
  }
45
46
  .container #cube div {
46
- width: 100px;
47
- height: 100px;
47
+ width: var(--loading-animation-size, 100px);
48
+ height: var(--loading-animation-size, 100px);
48
49
  display: block;
49
50
  position: absolute;
50
51
  border: none;
@@ -58,7 +59,7 @@
58
59
  text-align: left;
59
60
  font-size: 1rem;
60
61
  font-weight: bold;
61
- font-family: arial;
62
+ font-family: inherit;
62
63
  color: #ffffff;
63
64
  }
64
65
 
@@ -100,7 +101,6 @@
100
101
  }
101
102
 
102
103
  .top {
103
- /* background: rgba(255,0,255,.5); */
104
104
  outline: 1px solid black;
105
105
  }
106
106
 
@@ -1,6 +1,4 @@
1
- export interface LoadingAnimationProps {
2
- showText?: boolean;
3
- }
1
+ import type { LoadingAnimationProps } from './LoadingAnimationProps.js';
4
2
  declare const LoadingAnimation: import("svelte").Component<LoadingAnimationProps, {}, "">;
5
3
  type LoadingAnimation = ReturnType<typeof LoadingAnimation>;
6
4
  export default LoadingAnimation;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Props for the {@link LoadingAnimation} cube indicator.
3
+ */
4
+ export interface LoadingAnimationProps {
5
+ /**
6
+ * Whether the animated cube should display the loading text inside the
7
+ * front face. Defaults to `true`. Set to `false` when the parent already
8
+ * renders a textual message and the cube should be purely decorative.
9
+ */
10
+ showText?: boolean;
11
+ /**
12
+ * Optional accessible label used for the `aria-label` of the
13
+ * status region. Defaults to `'Loading'`.
14
+ */
15
+ label?: string;
16
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,27 +1,20 @@
1
1
  <svelte:options runes />
2
2
 
3
- <script lang="ts" module>
4
- export interface LoadingModalProps {
5
- showModal: boolean;
6
- message?: string | undefined;
7
- }
8
- </script>
9
-
10
3
  <script lang="ts">
11
4
  import LoadingAnimation from './LoadingAnimation.svelte';
5
+ import type { LoadingModalProps } from './LoadingModalProps.js';
12
6
 
13
- let { showModal, message }: LoadingModalProps = $props();
7
+ const { showModal, message }: LoadingModalProps = $props();
14
8
 
15
- let dialog: HTMLDialogElement | undefined;
9
+ let dialog: HTMLDialogElement | undefined = $state();
16
10
 
17
11
  $effect(() => {
18
- if (dialog && showModal) {
19
- dialog.showModal();
12
+ if (!dialog) {
13
+ return;
20
14
  }
21
- });
22
-
23
- $effect(() => {
24
- if (!showModal && dialog) {
15
+ if (showModal && !dialog.open) {
16
+ dialog.showModal();
17
+ } else if (!showModal && dialog.open) {
25
18
  dialog.close();
26
19
  }
27
20
  });
@@ -35,12 +28,17 @@
35
28
  }
36
29
  </script>
37
30
 
38
- <dialog bind:this={dialog} onkeydown={uncloseable}>
31
+ <dialog
32
+ bind:this={dialog}
33
+ onkeydown={uncloseable}
34
+ aria-label={message ?? 'Loading'}
35
+ aria-live="polite"
36
+ >
39
37
  <div class="modal-root">
40
38
  {#if message}
41
39
  <p>{message}</p>
42
40
  {/if}
43
- <LoadingAnimation />
41
+ <LoadingAnimation showText={!message} />
44
42
  </div>
45
43
  </dialog>
46
44
 
@@ -310,9 +308,9 @@ dialog .modal-root p {
310
308
  z-index: 99999;
311
309
  translate: -50% -80%;
312
310
  user-select: none;
313
- text-shadow: 0px 0px 3px black;
314
- background-color: rgba(100, 100, 100, 0.6);
311
+ text-shadow: 0px 0px 3px #000000;
312
+ background-color: rgba(0, 0, 0, 0.4);
315
313
  border-radius: 4px;
316
314
  padding: 1rem;
317
- color: white;
315
+ color: #ffffff;
318
316
  }</style>
@@ -1,7 +1,4 @@
1
- export interface LoadingModalProps {
2
- showModal: boolean;
3
- message?: string | undefined;
4
- }
1
+ import type { LoadingModalProps } from './LoadingModalProps.js';
5
2
  declare const LoadingModal: import("svelte").Component<LoadingModalProps, {}, "">;
6
3
  type LoadingModal = ReturnType<typeof LoadingModal>;
7
4
  export default LoadingModal;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Props for the {@link LoadingModal} non-dismissible loading dialog.
3
+ */
4
+ export interface LoadingModalProps {
5
+ /**
6
+ * Whether the modal should currently be shown. Bind from a flag the
7
+ * parent toggles when an async action begins/ends. The dialog cannot
8
+ * be closed by Escape or by clicking the backdrop; only flipping this
9
+ * prop to `false` will close it.
10
+ */
11
+ showModal: boolean;
12
+ /**
13
+ * Optional message rendered above the cube. When omitted the
14
+ * cube displays its built-in `loadingText` label instead.
15
+ */
16
+ message?: string | undefined;
17
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,22 +1,20 @@
1
1
  <svelte:options runes />
2
2
 
3
- <script lang="ts" module>
4
- export interface LoadingOverlayProps {
5
- message?: string | undefined;
6
- absolute?: boolean | undefined;
7
- borderRadius?: string | undefined;
8
- }
9
- </script>
10
-
11
3
  <script lang="ts">
12
4
  import LoadingAnimation from './LoadingAnimation.svelte';
13
- let { message, absolute, borderRadius }: LoadingOverlayProps = $props();
5
+ import type { LoadingOverlayProps } from './LoadingOverlayProps.js';
6
+
7
+ const { message, absolute, borderRadius }: LoadingOverlayProps = $props();
14
8
  </script>
15
9
 
16
10
  <div
17
11
  class="loading-overlay"
18
12
  class:absolute
19
- style={borderRadius ? `border-radius: ${borderRadius};` : undefined}
13
+ role="status"
14
+ aria-live="polite"
15
+ style={borderRadius != null && borderRadius.length > 0
16
+ ? `border-radius: ${borderRadius};`
17
+ : undefined}
20
18
  >
21
19
  {#if message}
22
20
  <p>{message}</p>
@@ -47,11 +45,11 @@
47
45
  z-index: 99999;
48
46
  translate: -50% -80%;
49
47
  user-select: none;
50
- text-shadow: 0px 0px 3px black;
51
- background-color: rgba(100, 100, 100, 0.6);
48
+ text-shadow: 0px 0px 3px #000000;
49
+ background-color: rgba(0, 0, 0, 0.4);
52
50
  border-radius: 4px;
53
51
  padding: 1rem;
54
- color: white;
52
+ color: #ffffff;
55
53
  }
56
54
  .loading-overlay.absolute {
57
55
  position: absolute;
@@ -1,8 +1,4 @@
1
- export interface LoadingOverlayProps {
2
- message?: string | undefined;
3
- absolute?: boolean | undefined;
4
- borderRadius?: string | undefined;
5
- }
1
+ import type { LoadingOverlayProps } from './LoadingOverlayProps.js';
6
2
  declare const LoadingOverlay: import("svelte").Component<LoadingOverlayProps, {}, "">;
7
3
  type LoadingOverlay = ReturnType<typeof LoadingOverlay>;
8
4
  export default LoadingOverlay;
@@ -0,0 +1,28 @@
1
+ import type { CssLength } from '../Types/Internal/Misc.js';
2
+ /**
3
+ * Props for the {@link LoadingOverlay} floating progress veil.
4
+ */
5
+ export interface LoadingOverlayProps {
6
+ /**
7
+ * Optional message rendered above the animation. When omitted the
8
+ * cube renders with its built-in `loadingText`.
9
+ */
10
+ message?: string | undefined;
11
+ /**
12
+ * When `true` the overlay uses `position: absolute` and fills its
13
+ * nearest positioned ancestor instead of the viewport. Use this
14
+ * when overlaying a modal or panel rather than the whole page.
15
+ * Defaults to `false`.
16
+ */
17
+ absolute?: boolean | undefined;
18
+ /**
19
+ * Branded CSS length for the overlay backdrop's border-radius
20
+ * (e.g. `cssLength('4px')`). Use when overlaying a rounded
21
+ * container so the veil follows the container shape.
22
+ *
23
+ * BREAKING (vNext): was `string`; now requires the `CssLength`
24
+ * brand. Migrate `borderRadius="4px"` to
25
+ * `borderRadius={cssLength('4px')}`.
26
+ */
27
+ borderRadius?: CssLength | undefined;
28
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -5,38 +5,14 @@
5
5
  lang="ts"
6
6
  >
7
7
  import { DATAMatrix } from '../Helpers/Datamatrix.js';
8
- import { devCatch, passthrough } from '../Helpers/Helpers.svelte.js';
8
+ import { passthrough } from '../Helpers/Helpers.svelte.js';
9
9
  import { ColourSet } from '../scss/colours.js';
10
- import type { ButtonProp } from '../Types/Internal/ButtonProp.js';
11
10
  import { Size } from '../Types/Internal/Size.js';
12
- import { onMount, tick, type Snippet } from 'svelte';
11
+ import { onMount } from 'svelte';
13
12
  import Action from './Action.svelte';
13
+ import BaseModal from './Base/BaseModal.svelte';
14
14
  import DataMatrixIcon from './DataMatrixIcon.svelte';
15
- import type { DefaultTimer } from './Touch/DefaultTimer.js';
16
-
17
- export interface ModalProps {
18
- header: string | Snippet;
19
- children: Snippet;
20
- onclose?: () => void;
21
-
22
- onsubmit?: ((e: SubmitEvent) => void) | undefined;
23
- buttons?: Array<ButtonProp>;
24
- mandatory?: boolean | undefined;
25
- staticHeight?: boolean | undefined;
26
- staticWidth?: boolean | undefined;
27
- minWidth?: string | undefined;
28
- minHeight?: string | undefined;
29
- width?: string | undefined;
30
- height?: string | undefined;
31
- onShowCallback?: () => void;
32
- submitRef?: HTMLButtonElement;
33
- defaultTimer?: DefaultTimer;
34
- isValid?: boolean | undefined;
35
- noscroll?: boolean | undefined;
36
- headerExtra?: Snippet;
37
- explanation?: Snippet;
38
- footer?: Snippet;
39
- }
15
+ import type { ModalProps } from './ModalProps.js';
40
16
  </script>
41
17
 
42
18
  <script lang="ts">
@@ -61,44 +37,53 @@
61
37
  children,
62
38
  footer,
63
39
  onclose,
40
+ autofocusSelector,
64
41
  }: ModalProps = $props();
65
42
 
66
- let dialog: HTMLDialogElement | undefined;
67
- let form: HTMLFormElement;
43
+ // `open` drives BaseModal's bindable `value`. Default true (the
44
+ // legacy "open immediately on mount" semantic). Flipping it to
45
+ // false closes the dialog; BaseModal will fire `onclose` after
46
+ // the native `close` event.
47
+ let open = $state(true);
48
+ let form: HTMLFormElement | undefined = $state();
68
49
  let timeout: ReturnType<typeof setTimeout> | undefined = undefined;
69
50
  let paused = $state(false);
51
+ let isActive = $state(false);
70
52
 
71
- $effect(() => {
72
- void dialog;
73
- // HACK tick helps with Portal shenanigans. will be removed if a better solution comes up
74
- tick()
75
- .then(() => {
76
- if (dialog) {
77
- dialog.showModal();
78
- onShowCallback?.();
79
- }
80
- })
81
- .catch(devCatch);
82
- });
53
+ // Pre-compute barcode SVGs once per `buttons` array. Building a DataMatrix
54
+ // barcode is non-trivial; rebuilding inside the each-block re-runs the
55
+ // encoder on every render.
56
+ const barcodeIcons = $derived.by(
57
+ () => buttons?.map((b) => (b.barcodeValue != null ? DATAMatrix(b.barcodeValue) : null)) ?? []
58
+ );
83
59
 
84
- let isActive = false;
85
60
  onMount(() => {
86
- setTimeout(() => {
61
+ // Fire onShowCallback after BaseModal has had a chance to call
62
+ // `showModal()`. BaseModal uses a tick() internally so we match
63
+ // that with a microtask here.
64
+ queueMicrotask(() => {
65
+ onShowCallback?.();
66
+ });
67
+
68
+ const activeTimer = setTimeout(() => {
87
69
  isActive = true;
88
70
  }, 200);
89
71
  if (defaultTimer) {
90
72
  timeout = setTimeout(() => {
91
- if (dialog && dialog.open) {
73
+ if (open) {
92
74
  if (defaultTimer.action === 'submit') {
93
- form.requestSubmit();
75
+ form?.requestSubmit();
94
76
  } else {
95
- dialog.close();
77
+ open = false;
96
78
  }
97
79
  }
98
80
  }, defaultTimer.time);
99
81
  }
100
82
 
101
- return clearTimer;
83
+ return () => {
84
+ clearTimeout(activeTimer);
85
+ clearTimer();
86
+ };
102
87
  });
103
88
 
104
89
  function clearTimer() {
@@ -109,46 +94,62 @@
109
94
  }
110
95
 
111
96
  function handleEsc(e: KeyboardEvent) {
97
+ // Forwarded to the Action button's onkeydown so an Escape press
98
+ // while the close icon has focus still closes the dialog rather
99
+ // than triggering the button's default activation.
112
100
  e.stopPropagation();
113
-
114
101
  if (e.key === 'Escape') {
115
102
  e.preventDefault();
116
103
  if (!mandatory) {
117
- dialog?.close();
104
+ open = false;
118
105
  }
119
106
  }
120
107
  }
108
+
109
+ function requestClose() {
110
+ open = false;
111
+ }
112
+
113
+ const dialogClassNames = $derived(
114
+ [
115
+ staticHeight ? 'static-height' : null,
116
+ staticWidth ? 'static-width' : null,
117
+ noscroll ? 'noscroll' : null,
118
+ ]
119
+ .filter((c): c is string => c !== null)
120
+ .join(' ')
121
+ );
122
+
123
+ const dialogStyle = $derived(
124
+ `--timer: ${defaultTimer ? defaultTimer.time.toString() + 'ms' : 'unset'};` +
125
+ (minWidth != null ? `--dialog-min-width: ${minWidth};` : '') +
126
+ (minHeight != null ? `--dialog-min-height: ${minHeight};` : '') +
127
+ (height != null ? `--dialog-height: ${height};` : '') +
128
+ (width != null ? `--dialog-width: ${width};` : '')
129
+ );
121
130
  </script>
122
131
 
123
- <dialog
124
- style="--timer: {defaultTimer && defaultTimer.time.toString() + 'ms'}; {minWidth &&
125
- `--dialog-min-width: ${minWidth};`} {minHeight &&
126
- `--dialog-min-height: ${minHeight};`} {height && `--dialog-height: ${height};`} {width &&
127
- `--dialog-width: ${width};`}"
128
- class:static-height={staticHeight}
129
- class:static-width={staticWidth}
130
- class:noscroll
131
- bind:this={dialog}
132
+ <BaseModal
133
+ bind:value={open}
132
134
  {onclose}
133
- onkeydown={handleEsc}
134
- onclick={(e) => {
135
- if (e.target === dialog) {
136
- if (!mandatory) {
137
- dialog.close();
138
- }
139
- }
140
- clearTimer();
141
- }}
135
+ {mandatory}
136
+ {autofocusSelector}
137
+ dialogClass={dialogClassNames}
138
+ {dialogStyle}
142
139
  >
140
+ <!-- svelte-ignore a11y_no_noninteractive_element_interactions -->
141
+ <!-- svelte-ignore a11y_click_events_have_key_events -->
143
142
  <form
144
143
  method="dialog"
145
144
  bind:this={form}
146
145
  onsubmit={(e) => {
147
146
  e.preventDefault();
147
+ clearTimer();
148
148
  if (isActive) {
149
149
  onsubmit?.(e);
150
150
  }
151
151
  }}
152
+ onclick={clearTimer}
152
153
  class="modal-root"
153
154
  >
154
155
  <div class="modal-header">
@@ -161,7 +162,7 @@
161
162
  <div class="close-button">
162
163
  <Action
163
164
  size={Size.DoubleXLarge}
164
- onclick={() => dialog?.close()}
165
+ onclick={requestClose}
165
166
  icon={{
166
167
  name: 'cross',
167
168
  }}
@@ -182,7 +183,6 @@
182
183
  </div>
183
184
 
184
185
  {#if defaultTimer}
185
- <!-- class:paused -->
186
186
  <div class="bar-container">
187
187
  <div
188
188
  class:paused
@@ -205,14 +205,13 @@
205
205
  {@render footer()}
206
206
  {:else if buttons?.length}
207
207
  <div class="modal-footer">
208
- {#each buttons as button (button)}
208
+ {#each buttons as button, index (button.label)}
209
209
  {#if button.callback}
210
210
  <div class="button-barcode-set">
211
- {#if button.barcodeValue}
212
- {@const icon = DATAMatrix(button.barcodeValue)}
211
+ {#if barcodeIcons[index]}
213
212
  <DataMatrixIcon
214
213
  title={button.label}
215
- {icon}
214
+ icon={{ kind: 'svg', svg: barcodeIcons[index] }}
216
215
  />
217
216
  {/if}
218
217
  <button
@@ -225,11 +224,10 @@
225
224
  </div>
226
225
  {:else}
227
226
  <div class="button-barcode-set">
228
- {#if button.barcodeValue}
229
- {@const icon = DATAMatrix(button.barcodeValue)}
227
+ {#if barcodeIcons[index]}
230
228
  <DataMatrixIcon
231
229
  title={button.label}
232
- {icon}
230
+ icon={{ kind: 'svg', svg: barcodeIcons[index] }}
233
231
  />
234
232
  {/if}
235
233
  <button
@@ -246,7 +244,7 @@
246
244
  </div>
247
245
  {/if}
248
246
  </form>
249
- </dialog>
247
+ </BaseModal>
250
248
 
251
249
  <style>dialog {
252
250
  overflow: clip;
@@ -493,10 +491,7 @@ button {
493
491
  border-radius: 4px;
494
492
  }
495
493
 
496
- dialog {
497
- overflow: visible;
498
- }
499
-
494
+ /* dialog itself is rendered by BaseModal; only inner-content rules live here. */
500
495
  form.modal-root {
501
496
  overflow: visible;
502
497
  }
@@ -1,28 +1,4 @@
1
- import type { ButtonProp } from '../Types/Internal/ButtonProp.js';
2
- import { type Snippet } from 'svelte';
3
- import type { DefaultTimer } from './Touch/DefaultTimer.js';
4
- export interface ModalProps {
5
- header: string | Snippet;
6
- children: Snippet;
7
- onclose?: () => void;
8
- onsubmit?: ((e: SubmitEvent) => void) | undefined;
9
- buttons?: Array<ButtonProp>;
10
- mandatory?: boolean | undefined;
11
- staticHeight?: boolean | undefined;
12
- staticWidth?: boolean | undefined;
13
- minWidth?: string | undefined;
14
- minHeight?: string | undefined;
15
- width?: string | undefined;
16
- height?: string | undefined;
17
- onShowCallback?: () => void;
18
- submitRef?: HTMLButtonElement;
19
- defaultTimer?: DefaultTimer;
20
- isValid?: boolean | undefined;
21
- noscroll?: boolean | undefined;
22
- headerExtra?: Snippet;
23
- explanation?: Snippet;
24
- footer?: Snippet;
25
- }
1
+ import type { ModalProps } from './ModalProps.js';
26
2
  declare const Modal: import("svelte").Component<ModalProps, {}, "submitRef">;
27
3
  type Modal = ReturnType<typeof Modal>;
28
4
  export default Modal;
@@ -0,0 +1,65 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { ButtonProp } from '../Types/Internal/ButtonProp.js';
3
+ import type { CssLength } from '../Types/Internal/Misc.js';
4
+ import type { DefaultTimer } from './Touch/DefaultTimer.js';
5
+ /**
6
+ * Props for the {@link Modal} dialog primitive.
7
+ */
8
+ export interface ModalProps {
9
+ /** Header label rendered at the top. Accepts a string or a snippet. */
10
+ header: string | Snippet;
11
+ /** Snippet rendered as the modal body. */
12
+ children: Snippet;
13
+ /** Fired when the dialog is closed (Escape, backdrop click, programmatic close). */
14
+ onclose?: () => void;
15
+ /** Submit handler invoked on form submission inside the modal. */
16
+ onsubmit?: ((e: SubmitEvent) => void) | undefined;
17
+ /** Optional array of action buttons rendered in the footer. */
18
+ buttons?: ReadonlyArray<ButtonProp>;
19
+ /**
20
+ * When `true` the modal cannot be dismissed by Escape or backdrop click.
21
+ * Only programmatic close (via `submitRef`, button callback or `onsubmit`)
22
+ * will dismiss it. Use sparingly.
23
+ */
24
+ mandatory?: boolean | undefined;
25
+ /** Lock the modal to a fixed height. */
26
+ staticHeight?: boolean | undefined;
27
+ /** Lock the modal to a fixed width. */
28
+ staticWidth?: boolean | undefined;
29
+ /**
30
+ * Minimum width as a branded CSS length value (e.g.
31
+ * `cssLength('40rem')`).
32
+ *
33
+ * BREAKING (vNext): was `string`; now requires the `CssLength`
34
+ * brand.
35
+ */
36
+ minWidth?: CssLength | undefined;
37
+ /** Minimum height as a branded CSS length value. See {@link minWidth}. */
38
+ minHeight?: CssLength | undefined;
39
+ /** Explicit width as a branded CSS length value. See {@link minWidth}. */
40
+ width?: CssLength | undefined;
41
+ /** Explicit height as a branded CSS length value. See {@link minWidth}. */
42
+ height?: CssLength | undefined;
43
+ /** Fired once the dialog has been shown (after `tick()`). */
44
+ onShowCallback?: () => void;
45
+ /** Bindable reference to the submit-type button in the footer. */
46
+ submitRef?: HTMLButtonElement;
47
+ /** Optional countdown timer that auto-submits or auto-closes the modal. */
48
+ defaultTimer?: DefaultTimer;
49
+ /** Whether the submit button should currently be enabled. Defaults to `true`. */
50
+ isValid?: boolean | undefined;
51
+ /** Disable scrolling inside the modal body. */
52
+ noscroll?: boolean | undefined;
53
+ /** Optional snippet rendered alongside the header (e.g. status pill). */
54
+ headerExtra?: Snippet;
55
+ /** Optional explanatory snippet rendered above `children`. */
56
+ explanation?: Snippet;
57
+ /** Optional custom footer snippet that overrides `buttons`. */
58
+ footer?: Snippet;
59
+ /**
60
+ * Optional CSS selector identifying the element to focus when the modal
61
+ * opens. When omitted the browser focuses the first focusable element
62
+ * inside the dialog. Pass e.g. `'input[name="email"]'` to pin focus.
63
+ */
64
+ autofocusSelector?: string | undefined;
65
+ }
@@ -0,0 +1 @@
1
+ export {};