@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,14 +1,15 @@
1
1
  <svelte:options runes />
2
2
 
3
- <script module lang="ts">
4
- import { TooltipContext } from '../Contexts/TooltipContext.svelte.js';
5
- import { Delay } from '../Delay/Delay.js';
3
+ <script
4
+ module
5
+ lang="ts"
6
+ >
6
7
  import { passthrough } from '../Helpers/Helpers.svelte.js';
8
+ import { useTooltip } from '../Helpers/useTooltip.svelte.js';
7
9
  import { Colour, ColourSet } from '../scss/colours.js';
8
10
  import { Side } from '../Types/Internal/Side.js';
9
11
  import { Size } from '../Types/Internal/Size.js';
10
12
  import { Variant } from '../Types/Internal/Variant.js';
11
- import { getContext } from 'svelte';
12
13
  import type { ButtonProps } from './ButtonProps.js';
13
14
  import Icon from './Icon.svelte';
14
15
 
@@ -24,7 +25,7 @@
24
25
  [Size.DoubleXLarge]: '1.1rem',
25
26
  [Size.TripleXLarge]: '1.2975rem',
26
27
  [Size.FillWidth]: '0.75rem', // TODO decide
27
- [Size.FillHeight]: '0' // TODO decide
28
+ [Size.FillHeight]: '0', // TODO decide
28
29
  };
29
30
 
30
31
  // TODO alter the values for these if required
@@ -39,7 +40,7 @@
39
40
  [Size.DoubleXLarge]: '1.1rem',
40
41
  [Size.TripleXLarge]: '1.2975rem',
41
42
  [Size.FillWidth]: '0.75rem', // TODO decide
42
- [Size.FillHeight]: '0.75rem' // TODO decide
43
+ [Size.FillHeight]: '0.75rem', // TODO decide
43
44
  };
44
45
 
45
46
  // const fontSizes: Record<Size, string> = {
@@ -68,17 +69,17 @@
68
69
  [Size.DoubleXLarge]: '0.1875rem',
69
70
  [Size.TripleXLarge]: '0.1875rem',
70
71
  [Size.FillWidth]: '0.1875rem', // TODO decide
71
- [Size.FillHeight]: '0.1875rem' // TODO decide
72
+ [Size.FillHeight]: '0.1875rem', // TODO decide
72
73
  };
73
74
 
74
75
  const iconColours: Record<ColourSet, Colour | undefined> = {
75
76
  [ColourSet.Primary]: Colour['$ui-white'],
76
77
  [ColourSet.CallToAction]: Colour['$ui-white'],
77
- [ColourSet.Secondary]: undefined,
78
- [ColourSet.Auxiliary]: undefined,
78
+ [ColourSet.Secondary]: Colour['$ui-blue-14'],
79
+ [ColourSet.Auxiliary]: Colour['$font-primary'],
79
80
  [ColourSet.Warning]: Colour['$error-border'],
80
81
  [ColourSet.Error]: Colour['$error-border'],
81
- [ColourSet.Info]: Colour['$error-border']
82
+ [ColourSet.Info]: Colour['$primary-blue-13'],
82
83
  };
83
84
  </script>
84
85
 
@@ -102,11 +103,34 @@
102
103
  onclick,
103
104
  onfocus,
104
105
  onblur,
106
+ onkeydown: onkeydownProp,
105
107
  children,
106
108
  relative,
107
- noninteractive
109
+ noninteractive,
108
110
  }: ButtonProps = $props();
109
- const tooltipContext = getContext<TooltipContext>(TooltipContext.identifier);
111
+ function onkeydown(e: KeyboardEvent): void {
112
+ passthrough(e);
113
+ if (document.activeElement === e.target) {
114
+ onkeydownProp?.(e);
115
+ }
116
+ }
117
+
118
+ // Shared tooltip lifecycle: hover handlers plus unmount-time teardown so
119
+ // a rapidly-churning host (toolbar, table row) does not leave the global
120
+ // tooltip host painting against a node that no longer exists. The helper
121
+ // also exposes an `onclick` hook that we compose with the consumer's
122
+ // `onclick`. The extra `$effect` dismisses the tooltip when `disabled`
123
+ // flips to true mid-hover - the disabled element will not fire its own
124
+ // `mouseleave`.
125
+ const tt = useTooltip({
126
+ text: () => label,
127
+ arrow: () => side ?? Side.Left,
128
+ });
129
+ $effect(() => {
130
+ if (disabled) {
131
+ tt.onmouseleave();
132
+ }
133
+ });
110
134
  </script>
111
135
 
112
136
  <!-- title={label} -->
@@ -114,22 +138,8 @@
114
138
  size
115
139
  ]};" -->
116
140
  <button
117
- onmouseenter={(e) => {
118
- if (label) {
119
- const rect = (e.target as HTMLButtonElement).getBoundingClientRect();
120
- tooltipContext.showTooltip({
121
- text: label,
122
- arrow: side ?? Side.Left,
123
- delay: Delay.Default,
124
- rect
125
- });
126
- }
127
- }}
128
- onmouseleave={() => {
129
- if (label) {
130
- tooltipContext.hideTooltip(label);
131
- }
132
- }}
141
+ onmouseenter={tt.onmouseenter}
142
+ onmouseleave={tt.onmouseleave}
133
143
  class:noninteractive
134
144
  class:relative
135
145
  class:default={variant === Variant.Default}
@@ -162,22 +172,20 @@
162
172
  aria-label={label}
163
173
  {disabled}
164
174
  onclick={(e) => {
165
- // e.stopImmediatePropagation();
166
- // if (dev) {
167
- // // console.trace();
168
- // }
169
- if (label) {
170
- tooltipContext.hideTooltip(label);
171
- }
175
+ tt.onclick();
172
176
  onclick?.(e);
173
177
  }}
174
178
  {onfocus}
175
179
  {onblur}
176
- onkeydown={passthrough}
180
+ {onkeydown}
177
181
  >
178
182
  <div class="icon-container">
179
183
  {#if iconLeft}
180
- <Icon {...iconLeft} colour={iconColours[colourSet]} size={iconLeft.size ?? size} />
184
+ <Icon
185
+ {...iconLeft}
186
+ colour={iconColours[colourSet]}
187
+ size={iconLeft.size ?? size}
188
+ />
181
189
  {/if}
182
190
  {#if iconTop}
183
191
  <Icon {...iconTop} />
@@ -189,7 +197,11 @@
189
197
  <Icon {...iconBottom} />
190
198
  {/if}
191
199
  {#if iconRight}
192
- <Icon {...iconRight} colour={iconColours[colourSet]} size={iconRight.size ?? size} />
200
+ <Icon
201
+ {...iconRight}
202
+ colour={iconColours[colourSet]}
203
+ size={iconRight.size ?? size}
204
+ />
193
205
  {/if}
194
206
  </div>
195
207
  </button>
@@ -4,26 +4,91 @@ import type { Size } from '../Types/Internal/Size.js';
4
4
  import type { Variant } from '../Types/Internal/Variant.js';
5
5
  import type { Snippet } from 'svelte';
6
6
  import type { PartialIconProps } from './PartialIconProps.js';
7
+ /**
8
+ * Props for the foundational {@link Button} component. Every option is optional
9
+ * because Button is designed to be drop-in-friendly: a bare `<Button>Save</Button>`
10
+ * renders a secondary, medium-sized push button with no icon or tooltip.
11
+ */
7
12
  export interface ButtonProps {
13
+ /** Native `<button type>` attribute. Defaults to `'button'` so the button never
14
+ * accidentally submits an enclosing form. */
8
15
  type?: 'button' | 'submit' | 'reset' | undefined;
16
+ /** Visual variant: default push button, card surface, inner card, toolbar, or secondary. */
9
17
  variant?: Variant | undefined;
18
+ /** Whether the button renders in its toggled (selected) visual state. */
10
19
  toggled?: boolean | undefined;
20
+ /**
21
+ * Icon rendered to the left of the label.
22
+ *
23
+ * NOTE: The four side props (`iconLeft`, `iconRight`, `iconTop`,
24
+ * `iconBottom`) are deliberately **not** mutually exclusive at the
25
+ * type level. Buttons that need icons on more than one side (for
26
+ * example, a "next" button with a directional chevron on the right
27
+ * and a status dot on the left) are well established in the design
28
+ * system. The discriminated-union alternative was evaluated and
29
+ * deferred (see `Concepts/ButtonIconSides` for the migration plan)
30
+ * because the type-safety gain is negligible compared with the
31
+ * breaking-change cost across every existing call site.
32
+ *
33
+ * If a single button passes more than one side prop, all of them
34
+ * render simultaneously. If you need an at-most-one constraint at a
35
+ * particular call site, enforce it locally with a discriminated
36
+ * helper before composing `<Button>`.
37
+ */
11
38
  iconLeft?: PartialIconProps | undefined;
39
+ /**
40
+ * Icon rendered above the label. See `iconLeft` for the rationale on
41
+ * why this is independently optional rather than part of a
42
+ * discriminated union.
43
+ */
12
44
  iconTop?: PartialIconProps | undefined;
45
+ /**
46
+ * Icon rendered to the right of the label. See `iconLeft` for the
47
+ * rationale on why this is independently optional rather than part
48
+ * of a discriminated union.
49
+ */
13
50
  iconRight?: PartialIconProps | undefined;
51
+ /**
52
+ * Icon rendered below the label. See `iconLeft` for the rationale on
53
+ * why this is independently optional rather than part of a
54
+ * discriminated union.
55
+ */
14
56
  iconBottom?: PartialIconProps | undefined;
57
+ /** Prevent the label from wrapping when the button is narrower than its content. */
15
58
  nowrap?: boolean | undefined;
59
+ /** Side of the trigger the tooltip arrow points from. Defaults to Side.Left. */
16
60
  side?: Side | undefined;
61
+ /** Sizing token controlling padding, font size, and border width. Defaults to Size.Medium. */
17
62
  size?: Size | undefined;
63
+ /** Render the border as a dashed outline. */
18
64
  dashed?: boolean | undefined;
65
+ /** Disable interaction. Sets the native `disabled` attribute and hides the tooltip. */
19
66
  disabled?: boolean | undefined;
67
+ /** Stretch the button to fill its container's inline axis. */
20
68
  fullWidth?: boolean | undefined;
21
- label?: string | null | undefined;
69
+ /**
70
+ * Accessible name. Doubles as the tooltip text shown on hover. An
71
+ * empty string or `undefined` suppresses the tooltip and aria-label.
72
+ *
73
+ * BREAKING (vNext): the `null` variant has been removed. Pass
74
+ * `undefined` (or omit the prop) instead of `null` to indicate the
75
+ * absence of a label.
76
+ */
77
+ label?: string | undefined;
78
+ /** Semantic colour set used for foreground/background. Defaults to ColourSet.Secondary. */
22
79
  colourSet?: ColourSet | undefined;
80
+ /** Click handler. Tooltip is hidden synchronously before the handler fires. */
23
81
  onclick?: ((e: MouseEvent) => void) | undefined;
82
+ /** Native focus event handler. */
24
83
  onfocus?: ((e: FocusEvent) => void) | undefined;
84
+ /** Native blur event handler. */
25
85
  onblur?: ((e: FocusEvent) => void) | undefined;
86
+ /** Keydown handler. Composed with `passthrough` so scanner workflows continue to fire. */
87
+ onkeydown?: ((e: KeyboardEvent) => void) | undefined;
88
+ /** Snippet rendered between the optional icons. Typically the visible label. */
26
89
  children?: Snippet;
90
+ /** Apply `position: relative` so absolutely-positioned overlays anchor to the button. */
27
91
  relative?: boolean;
92
+ /** Visually present the button without interactive affordances (cursor stays at not-allowed). */
28
93
  noninteractive?: boolean;
29
94
  }
@@ -1,44 +1,37 @@
1
1
  <svelte:options runes />
2
2
 
3
- <script lang="ts" module>
4
- import { generateShortUUID } from '../Helpers/Helpers.svelte.js';
3
+ <script
4
+ lang="ts"
5
+ module
6
+ >
7
+ import { generateWeakId } from '../Helpers/Helpers.svelte.js';
5
8
  import { Size } from '../Types/Internal/Size.js';
6
- import type { ChangeEventHandler } from 'svelte/elements';
9
+ import type { CheckboxProps } from './CheckboxProps.js';
7
10
  import Icon from './Icon.svelte';
8
- import type { IconProps } from './IconProps.js';
9
-
10
- export interface CheckboxProps {
11
- value: boolean;
12
- id?: string;
13
- icon?: IconProps;
14
- size?: Size;
15
- label?: string;
16
- disabled?: boolean;
17
- onchange?: ChangeEventHandler<HTMLInputElement>;
18
- }
19
11
  </script>
20
12
 
21
13
  <script lang="ts">
22
14
  let {
23
15
  value = false,
24
- id = generateShortUUID(),
16
+ id = generateWeakId(),
25
17
  icon,
26
18
  size,
27
19
  label,
28
20
  disabled,
29
- onchange
21
+ onchange,
30
22
  }: CheckboxProps = $props();
31
23
  </script>
32
24
 
33
25
  {#if icon}
34
- <!-- style="--inner-checkbox-container-width: {(size != undefined ? widths[size] : undefined) ??
35
- '2.75rem'};" -->
36
26
  <div
37
27
  class="outer-checkbox-container"
38
28
  class:fill-width={size === Size.FillWidth}
39
29
  class:fill-height={size === Size.FillHeight}
40
30
  >
41
- <div class="inner-checkbox-container with-icon" class:disabled>
31
+ <div
32
+ class="inner-checkbox-container with-icon"
33
+ class:disabled
34
+ >
42
35
  <input
43
36
  {id}
44
37
  name={id}
@@ -48,24 +41,50 @@
48
41
  {disabled}
49
42
  checked={value}
50
43
  />
51
- <label class="icon-label" for={id} class:disabled>
52
- <Icon {...icon} size={icon.size ?? size ?? Size.DoubleXLarge} />
44
+ <label
45
+ class="icon-label"
46
+ for={id}
47
+ class:disabled
48
+ >
49
+ <Icon
50
+ {...icon}
51
+ size={icon.size ?? size ?? Size.DoubleXLarge}
52
+ />
53
53
  </label>
54
54
  </div>
55
55
  {#if label}
56
- <label class="text-label" for={id}>{label}</label>
56
+ <label
57
+ class="text-label"
58
+ for={id}>{label}</label
59
+ >
57
60
  {/if}
58
61
  </div>
59
62
  {:else}
60
- <div class="checkbox-container">
61
- <input {id} {onchange} type="checkbox" checked={value} {disabled} />
63
+ <div
64
+ class="checkbox-container"
65
+ class:compact={size === Size.Tiny ||
66
+ size === Size.Small ||
67
+ size === Size.MediumSmall ||
68
+ size === Size.Medium}
69
+ >
70
+ <input
71
+ {id}
72
+ {onchange}
73
+ type="checkbox"
74
+ checked={value}
75
+ {disabled}
76
+ />
62
77
  {#if label}
63
- <label class="text-label" for={id}>{label}</label>
78
+ <label
79
+ class="text-label"
80
+ for={id}>{label}</label
81
+ >
64
82
  {/if}
65
83
  </div>
66
84
  {/if}
67
85
 
68
86
  <style>.outer-checkbox-container {
87
+ box-sizing: border-box;
69
88
  display: flex;
70
89
  flex-flow: row nowrap;
71
90
  align-items: stretch;
@@ -79,7 +98,7 @@
79
98
  height: 100%;
80
99
  }
81
100
  .outer-checkbox-container:hover div.inner-checkbox-container:not(.disabled) {
82
- border: solid 2px #676774;
101
+ border: solid 2px #5a707f;
83
102
  }
84
103
  .outer-checkbox-container .icon-label {
85
104
  width: 100%;
@@ -99,11 +118,19 @@
99
118
  width: 3rem;
100
119
  height: 3rem;
101
120
  }
121
+ .checkbox-container.compact input {
122
+ width: 1.25rem;
123
+ height: 1.25rem;
124
+ }
102
125
 
103
126
  label.text-label {
104
127
  padding-left: 1rem;
105
128
  }
106
129
 
130
+ .checkbox-container.compact label.text-label {
131
+ padding-left: 0.5rem;
132
+ }
133
+
107
134
  input {
108
135
  cursor: pointer;
109
136
  accent-color: var(--colour, #259fc7);
@@ -122,24 +149,25 @@ input.with-icon {
122
149
  }
123
150
 
124
151
  div.inner-checkbox-container {
152
+ box-sizing: border-box;
125
153
  width: 100%;
126
154
  height: 100%;
127
155
  background-color: #ffffff;
128
156
  color: #ffffff;
129
157
  fill: #ffffff;
130
- border: solid 2px #8f8f9d;
158
+ border: solid 2px #adbbc5;
131
159
  border-radius: 4px;
132
160
  }
133
161
  div.inner-checkbox-container label:not(.disabled):hover {
134
162
  color: #8096a5;
135
163
  fill: #8096a5;
136
164
  }
137
- div.inner-checkbox-container input:checked:not([disabled=true]) + label {
165
+ div.inner-checkbox-container input:checked:not([disabled]) + label {
138
166
  background-color: #259fc7;
139
167
  color: #ffffff;
140
168
  fill: #ffffff;
141
169
  }
142
- div.inner-checkbox-container input:checked:not([disabled=true]) + label:hover {
170
+ div.inner-checkbox-container input:checked:not([disabled]) + label:hover {
143
171
  color: #1f81a0;
144
172
  fill: #1f81a0;
145
173
  }
@@ -1,15 +1,4 @@
1
- import { Size } from '../Types/Internal/Size.js';
2
- import type { ChangeEventHandler } from 'svelte/elements';
3
- import type { IconProps } from './IconProps.js';
4
- export interface CheckboxProps {
5
- value: boolean;
6
- id?: string;
7
- icon?: IconProps;
8
- size?: Size;
9
- label?: string;
10
- disabled?: boolean;
11
- onchange?: ChangeEventHandler<HTMLInputElement>;
12
- }
1
+ import type { CheckboxProps } from './CheckboxProps.js';
13
2
  declare const Checkbox: import("svelte").Component<CheckboxProps, {}, "">;
14
3
  type Checkbox = ReturnType<typeof Checkbox>;
15
4
  export default Checkbox;
@@ -0,0 +1,27 @@
1
+ import type { Size } from '../Types/Internal/Size.js';
2
+ import type { ChangeEventHandler } from 'svelte/elements';
3
+ import type { IconProps } from './IconProps.js';
4
+ /**
5
+ * Props for the {@link Checkbox} component.
6
+ *
7
+ * Supports a label-only variant and an icon variant. When `icon` is
8
+ * provided the native checkbox is visually replaced by the icon, with
9
+ * the underlying `<input>` kept in the DOM (visually hidden) to retain
10
+ * keyboard and screen-reader semantics.
11
+ */
12
+ export interface CheckboxProps {
13
+ /** Current checked state. */
14
+ value: boolean;
15
+ /** `id` on the `<input>`. Defaults to a generated short UUID. */
16
+ id?: string;
17
+ /** Optional icon rendered in place of the native checkbox UI. */
18
+ icon?: IconProps;
19
+ /** Render size token (drives the visual scale). */
20
+ size?: Size;
21
+ /** Visible label next to the checkbox. */
22
+ label?: string;
23
+ /** Native `disabled` attribute. */
24
+ disabled?: boolean;
25
+ /** Native `change` event handler. */
26
+ onchange?: ChangeEventHandler<HTMLInputElement>;
27
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,5 +1,12 @@
1
1
  <svelte:options runes />
2
2
 
3
+ <script
4
+ lang="ts"
5
+ module
6
+ >
7
+ import { generateWeakId } from '../Helpers/Helpers.svelte.js';
8
+ </script>
9
+
3
10
  <script lang="ts">
4
11
  import { loadingText } from '../Helpers/Helpers.svelte.js';
5
12
  import { Size } from '../Types/Internal/Size.js';
@@ -10,23 +17,20 @@
10
17
  let {
11
18
  title,
12
19
  subtitle,
13
- maxHeight: maxHeight,
20
+ maxHeight,
14
21
  children,
15
22
  grow,
16
23
  isCollapsed = $bindable(false),
17
24
  }: CollapsibleCardProps = $props();
18
25
 
19
- let cardRef: HTMLDivElement | undefined = $state();
26
+ const contentId = `collapsible-card-${generateWeakId()}`;
20
27
 
21
- let cardMaxHeight = $derived(
22
- cardRef && maxHeight != undefined && maxHeight > 0 && `${maxHeight}px`
23
- );
28
+ const cardMaxHeight = $derived(maxHeight != null && maxHeight > 0 ? `${maxHeight}px` : undefined);
24
29
  </script>
25
30
 
26
31
  <div
27
32
  class="collapsible-card"
28
- bind:this={cardRef}
29
- style={cardMaxHeight ? `--card-max-height: ${cardMaxHeight};` : ''}
33
+ style={cardMaxHeight != null ? `--card-max-height: ${cardMaxHeight};` : undefined}
30
34
  class:is-collapsed={isCollapsed}
31
35
  class:grow
32
36
  >
@@ -36,14 +40,16 @@
36
40
  {#if subtitle}
37
41
  {#await subtitle}
38
42
  <span>{loadingText}</span>
39
- {:then subtitle}
40
- <span>{subtitle}</span>
43
+ {:then resolvedSubtitle}
44
+ <span>{resolvedSubtitle}</span>
41
45
  {/await}
42
46
  {/if}
43
47
  </div>
44
48
  <div class="right">
45
49
  <Action
46
50
  label={isCollapsed ? 'Expand' : 'Collapse'}
51
+ aria-expanded={!isCollapsed}
52
+ aria-controls={contentId}
47
53
  onclick={() => {
48
54
  isCollapsed = !isCollapsed;
49
55
  }}
@@ -58,8 +64,10 @@
58
64
  </div>
59
65
 
60
66
  <div
67
+ id={contentId}
61
68
  class="content"
62
69
  class:is-collapsed={isCollapsed}
70
+ aria-hidden={isCollapsed}
63
71
  >
64
72
  {#if children}
65
73
  {@render children()}
@@ -68,7 +76,7 @@
68
76
  </div>
69
77
 
70
78
  <style>.collapsible-card {
71
- background-color: white;
79
+ background-color: #ffffff;
72
80
  display: flex;
73
81
  flex-flow: column nowrap;
74
82
  flex-shrink: 1;
@@ -111,32 +119,55 @@
111
119
  }
112
120
  .collapsible-card:not(.is-collapsed) .heading {
113
121
  margin-bottom: 1rem;
114
- border-bottom: solid 1px #e8e8e8;
122
+ border-bottom: solid 1px #dae0e5;
115
123
  }
116
124
 
117
125
  div.content {
118
126
  display: flex;
119
127
  flex-flow: column nowrap;
120
- transition: max-height ease-out 0.15s 0s, opacity ease-out 0.15s 0.1s;
128
+ }
129
+ @media (prefers-reduced-motion: no-preference) {
130
+ div.content {
131
+ transition: max-height ease-out 0.15s 0s, opacity ease-out 0.15s 0.1s;
132
+ }
133
+ }
134
+ div.content {
121
135
  max-height: var(--card-max-height, 100%);
122
136
  overflow: auto;
123
137
  height: var(--card-max-height);
124
138
  opacity: 1;
125
139
  width: 100%;
126
140
  }
141
+ @media (prefers-reduced-motion: no-preference) {
142
+ div.content.is-collapsed {
143
+ animation: accordion ease-out 0.15s 0s forwards;
144
+ }
145
+ }
127
146
  div.content.is-collapsed {
128
- animation: accordion ease-out 0.15s 0s forwards;
129
147
  max-height: 0px;
148
+ opacity: 0;
149
+ overflow: hidden;
130
150
  }
131
- @keyframes accordion {
132
- 0% {
133
- opacity: 1;
134
- max-height: var(--card-max-height, 90vh);
135
- overflow: auto;
151
+ @media (prefers-reduced-motion: no-preference) {
152
+ @keyframes accordion {
153
+ 0% {
154
+ opacity: 1;
155
+ max-height: var(--card-max-height, 90vh);
156
+ overflow: auto;
157
+ }
158
+ 100% {
159
+ opacity: 0;
160
+ max-height: 0px;
161
+ overflow: hidden;
162
+ }
136
163
  }
137
- 100% {
138
- opacity: 0;
139
- max-height: 0px;
140
- overflow: hidden;
164
+ }
165
+
166
+ @media (prefers-reduced-motion: reduce) {
167
+ .heading,
168
+ div.content,
169
+ div.content.is-collapsed {
170
+ animation-duration: 0.001ms !important;
171
+ transition-duration: 0.001ms !important;
141
172
  }
142
173
  }</style>
@@ -1,9 +1,30 @@
1
1
  import type { Snippet } from 'svelte';
2
+ import type { Pixels } from '../Types/Internal/Misc.js';
3
+ /**
4
+ * Props for the {@link CollapsibleCard} container.
5
+ */
2
6
  export interface CollapsibleCardProps {
7
+ /** Heading text displayed in the card header. */
3
8
  title?: string;
9
+ /**
10
+ * Optional subtitle rendered beneath the heading. May be a string or
11
+ * a `Promise<string>` that resolves asynchronously. When passing a
12
+ * Promise, callers should memoise the reference so that re-renders
13
+ * do not re-suspend with a fresh Promise on every update.
14
+ */
4
15
  subtitle?: string | Promise<string>;
16
+ /** Snippet rendered inside the collapsible body. */
5
17
  children?: Snippet;
6
- maxHeight?: number;
18
+ /**
19
+ * Maximum height of the content area in pixels. When omitted the
20
+ * card grows to fit its content. Branded as `Pixels` for clarity.
21
+ */
22
+ maxHeight?: Pixels;
23
+ /** Whether the card should flex-grow to fill its container. */
7
24
  grow?: boolean;
25
+ /**
26
+ * Whether the card is currently collapsed. Bindable so the
27
+ * collapsed state can be hoisted to the parent and persisted.
28
+ */
8
29
  isCollapsed?: boolean;
9
30
  }