carbon-components-svelte 0.90.1 → 0.90.3

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 (269) hide show
  1. package/package.json +3 -2
  2. package/src/Accordion/Accordion.svelte +3 -0
  3. package/src/Accordion/AccordionItem.svelte +1 -1
  4. package/src/Breadcrumb/BreadcrumbItem.svelte +2 -3
  5. package/src/Breakpoint/Breakpoint.svelte +6 -6
  6. package/src/Breakpoint/breakpointObserver.d.ts +1 -1
  7. package/src/Breakpoint/breakpointObserver.js +8 -8
  8. package/src/Button/Button.svelte +1 -0
  9. package/src/Button/index.js +1 -1
  10. package/src/CodeSnippet/CodeSnippet.svelte +2 -2
  11. package/src/ComboBox/ComboBox.svelte +2 -2
  12. package/src/ComposedModal/ComposedModal.svelte +36 -16
  13. package/src/ComposedModal/ModalFooter.svelte +1 -1
  14. package/src/ComposedModal/index.js +1 -1
  15. package/src/ContentSwitcher/ContentSwitcher.svelte +38 -20
  16. package/src/ContextMenu/ContextMenu.svelte +29 -10
  17. package/src/ContextMenu/ContextMenuGroup.svelte +25 -12
  18. package/src/ContextMenu/ContextMenuOption.svelte +5 -5
  19. package/src/ContextMenu/ContextMenuRadioGroup.svelte +24 -8
  20. package/src/DataTable/DataTable.svelte +69 -50
  21. package/src/DataTable/TableHeader.svelte +1 -1
  22. package/src/DataTable/Toolbar.svelte +12 -4
  23. package/src/DataTable/ToolbarBatchActions.svelte +3 -3
  24. package/src/DataTable/ToolbarSearch.svelte +1 -1
  25. package/src/DataTable/index.js +2 -2
  26. package/src/DatePicker/DatePicker.svelte +102 -54
  27. package/src/DatePicker/DatePickerInput.svelte +1 -1
  28. package/src/DatePicker/createCalendar.js +2 -2
  29. package/src/Dropdown/Dropdown.svelte +1 -1
  30. package/src/FileUploader/FileUploader.svelte +1 -1
  31. package/src/FileUploader/FileUploaderButton.svelte +3 -1
  32. package/src/FileUploader/Filename.svelte +1 -1
  33. package/src/FileUploader/index.js +2 -2
  34. package/src/FluidForm/FluidForm.svelte +6 -1
  35. package/src/Grid/Column.svelte +2 -0
  36. package/src/Grid/index.js +1 -1
  37. package/src/ImageLoader/ImageLoader.svelte +1 -1
  38. package/src/InlineLoading/InlineLoading.svelte +1 -1
  39. package/src/Link/OutboundLink.svelte +1 -1
  40. package/src/ListBox/ListBoxSelection.svelte +2 -2
  41. package/src/LocalStorage/LocalStorage.svelte +1 -1
  42. package/src/Modal/Modal.svelte +3 -3
  43. package/src/MultiSelect/MultiSelect.svelte +30 -18
  44. package/src/Notification/InlineNotification.svelte +1 -1
  45. package/src/Notification/NotificationIcon.svelte +1 -1
  46. package/src/Notification/index.js +1 -1
  47. package/src/NumberInput/NumberInput.svelte +3 -3
  48. package/src/OverflowMenu/OverflowMenu.svelte +57 -36
  49. package/src/OverflowMenu/OverflowMenuItem.svelte +1 -1
  50. package/src/Pagination/Pagination.svelte +2 -2
  51. package/src/PaginationNav/PaginationNav.svelte +2 -2
  52. package/src/ProgressIndicator/ProgressIndicator.svelte +56 -30
  53. package/src/ProgressIndicator/ProgressStep.svelte +2 -2
  54. package/src/RadioButtonGroup/RadioButtonGroup.svelte +21 -8
  55. package/src/RecursiveList/RecursiveList.svelte +1 -1
  56. package/src/Select/Select.svelte +27 -21
  57. package/src/Select/index.js +1 -1
  58. package/src/StructuredList/StructuredList.svelte +11 -3
  59. package/src/StructuredList/index.js +3 -3
  60. package/src/Tabs/Tabs.svelte +83 -39
  61. package/src/Tabs/index.js +1 -1
  62. package/src/TextArea/TextArea.svelte +1 -1
  63. package/src/TextInput/PasswordInput.svelte +2 -2
  64. package/src/TextInput/TextInput.svelte +4 -4
  65. package/src/TextInput/index.js +1 -1
  66. package/src/Theme/Theme.svelte +2 -2
  67. package/src/Tile/TileGroup.svelte +23 -10
  68. package/src/Tile/index.js +2 -2
  69. package/src/TimePicker/TimePickerSelect.svelte +3 -0
  70. package/src/Tooltip/Tooltip.svelte +5 -2
  71. package/src/TreeView/TreeView.svelte +51 -17
  72. package/src/UIShell/Header.svelte +1 -1
  73. package/src/UIShell/HeaderNavMenu.svelte +43 -17
  74. package/src/UIShell/SideNav.svelte +2 -2
  75. package/src/UIShell/index.js +4 -4
  76. package/src/icons/Add.svelte +1 -1
  77. package/src/icons/ArrowUp.svelte +1 -1
  78. package/src/icons/ArrowsVertical.svelte +1 -1
  79. package/src/icons/Calendar.svelte +1 -1
  80. package/src/icons/CaretDown.svelte +1 -1
  81. package/src/icons/CaretLeft.svelte +1 -1
  82. package/src/icons/CaretRight.svelte +1 -1
  83. package/src/icons/Checkmark.svelte +1 -1
  84. package/src/icons/CheckmarkFilled.svelte +1 -1
  85. package/src/icons/CheckmarkOutline.svelte +1 -1
  86. package/src/icons/ChevronDown.svelte +1 -1
  87. package/src/icons/ChevronRight.svelte +1 -1
  88. package/src/icons/CircleDash.svelte +1 -1
  89. package/src/icons/Close.svelte +1 -1
  90. package/src/icons/Copy.svelte +1 -1
  91. package/src/icons/EditOff.svelte +1 -1
  92. package/src/icons/ErrorFilled.svelte +1 -1
  93. package/src/icons/IconSearch.svelte +1 -1
  94. package/src/icons/Incomplete.svelte +1 -1
  95. package/src/icons/Information.svelte +1 -1
  96. package/src/icons/InformationFilled.svelte +1 -1
  97. package/src/icons/InformationSquareFilled.svelte +1 -1
  98. package/src/icons/Launch.svelte +1 -1
  99. package/src/icons/Menu.svelte +1 -1
  100. package/src/icons/OverflowMenuHorizontal.svelte +1 -1
  101. package/src/icons/OverflowMenuVertical.svelte +1 -1
  102. package/src/icons/Settings.svelte +1 -1
  103. package/src/icons/Subtract.svelte +1 -1
  104. package/src/icons/Switcher.svelte +1 -1
  105. package/src/icons/View.svelte +1 -1
  106. package/src/icons/ViewOff.svelte +1 -1
  107. package/src/icons/Warning.svelte +1 -1
  108. package/src/icons/WarningAltFilled.svelte +1 -1
  109. package/src/icons/WarningFilled.svelte +1 -1
  110. package/src/index.js +29 -29
  111. package/types/Accordion/Accordion.svelte.d.ts +5 -1
  112. package/types/Accordion/AccordionItem.svelte.d.ts +1 -1
  113. package/types/Accordion/AccordionSkeleton.svelte.d.ts +1 -1
  114. package/types/AspectRatio/AspectRatio.svelte.d.ts +1 -1
  115. package/types/Breadcrumb/Breadcrumb.svelte.d.ts +1 -1
  116. package/types/Breadcrumb/BreadcrumbItem.svelte.d.ts +3 -1
  117. package/types/Breadcrumb/BreadcrumbSkeleton.svelte.d.ts +1 -1
  118. package/types/Breakpoint/breakpointObserver.d.ts +1 -1
  119. package/types/Button/Button.svelte.d.ts +7 -2
  120. package/types/Button/ButtonSet.svelte.d.ts +1 -1
  121. package/types/Button/ButtonSkeleton.svelte.d.ts +1 -1
  122. package/types/Checkbox/Checkbox.svelte.d.ts +1 -1
  123. package/types/Checkbox/CheckboxSkeleton.svelte.d.ts +1 -1
  124. package/types/CodeSnippet/CodeSnippet.svelte.d.ts +1 -1
  125. package/types/CodeSnippet/CodeSnippetSkeleton.svelte.d.ts +1 -1
  126. package/types/ComboBox/ComboBox.svelte.d.ts +4 -1
  127. package/types/ComposedModal/ComposedModal.svelte.d.ts +9 -2
  128. package/types/ComposedModal/ModalBody.svelte.d.ts +1 -1
  129. package/types/ComposedModal/ModalFooter.svelte.d.ts +2 -2
  130. package/types/ComposedModal/ModalHeader.svelte.d.ts +1 -1
  131. package/types/ContentSwitcher/ContentSwitcher.svelte.d.ts +8 -1
  132. package/types/ContentSwitcher/Switch.svelte.d.ts +1 -1
  133. package/types/ContextMenu/ContextMenu.svelte.d.ts +9 -1
  134. package/types/ContextMenu/ContextMenuDivider.svelte.d.ts +2 -2
  135. package/types/ContextMenu/ContextMenuGroup.svelte.d.ts +7 -1
  136. package/types/ContextMenu/ContextMenuOption.svelte.d.ts +6 -1
  137. package/types/ContextMenu/ContextMenuRadioGroup.svelte.d.ts +8 -1
  138. package/types/CopyButton/CopyButton.svelte.d.ts +1 -1
  139. package/types/DataTable/DataTable.svelte.d.ts +23 -12
  140. package/types/DataTable/DataTableSkeleton.svelte.d.ts +7 -2
  141. package/types/DataTable/Table.svelte.d.ts +1 -1
  142. package/types/DataTable/TableBody.svelte.d.ts +1 -1
  143. package/types/DataTable/TableCell.svelte.d.ts +1 -1
  144. package/types/DataTable/TableContainer.svelte.d.ts +1 -1
  145. package/types/DataTable/TableHead.svelte.d.ts +1 -1
  146. package/types/DataTable/TableHeader.svelte.d.ts +1 -1
  147. package/types/DataTable/TableRow.svelte.d.ts +1 -1
  148. package/types/DataTable/Toolbar.svelte.d.ts +6 -1
  149. package/types/DataTable/ToolbarBatchActions.svelte.d.ts +1 -1
  150. package/types/DataTable/ToolbarContent.svelte.d.ts +2 -2
  151. package/types/DataTable/ToolbarMenu.svelte.d.ts +1 -1
  152. package/types/DataTable/ToolbarMenuItem.svelte.d.ts +1 -1
  153. package/types/DataTable/ToolbarSearch.svelte.d.ts +1 -1
  154. package/types/DatePicker/DatePicker.svelte.d.ts +16 -1
  155. package/types/DatePicker/DatePickerInput.svelte.d.ts +1 -1
  156. package/types/DatePicker/DatePickerSkeleton.svelte.d.ts +1 -1
  157. package/types/Dropdown/DropdownSkeleton.svelte.d.ts +1 -1
  158. package/types/FileUploader/FileUploader.svelte.d.ts +1 -1
  159. package/types/FileUploader/FileUploaderButton.svelte.d.ts +1 -1
  160. package/types/FileUploader/FileUploaderDropContainer.svelte.d.ts +1 -1
  161. package/types/FileUploader/FileUploaderItem.svelte.d.ts +1 -1
  162. package/types/FileUploader/FileUploaderSkeleton.svelte.d.ts +1 -1
  163. package/types/FileUploader/Filename.svelte.d.ts +1 -1
  164. package/types/FluidForm/FluidForm.svelte.d.ts +5 -1
  165. package/types/Form/Form.svelte.d.ts +1 -1
  166. package/types/FormGroup/FormGroup.svelte.d.ts +1 -1
  167. package/types/FormItem/FormItem.svelte.d.ts +1 -1
  168. package/types/FormLabel/FormLabel.svelte.d.ts +1 -1
  169. package/types/ImageLoader/ImageLoader.svelte.d.ts +1 -1
  170. package/types/InlineLoading/InlineLoading.svelte.d.ts +1 -1
  171. package/types/Link/Link.svelte.d.ts +1 -1
  172. package/types/Link/OutboundLink.svelte.d.ts +1 -1
  173. package/types/ListBox/ListBox.svelte.d.ts +1 -1
  174. package/types/ListBox/ListBoxField.svelte.d.ts +1 -1
  175. package/types/ListBox/ListBoxMenu.svelte.d.ts +1 -1
  176. package/types/ListBox/ListBoxMenuIcon.svelte.d.ts +1 -1
  177. package/types/ListBox/ListBoxMenuItem.svelte.d.ts +1 -1
  178. package/types/ListBox/ListBoxSelection.svelte.d.ts +1 -1
  179. package/types/ListItem/ListItem.svelte.d.ts +1 -1
  180. package/types/Loading/Loading.svelte.d.ts +1 -1
  181. package/types/LocalStorage/LocalStorage.svelte.d.ts +1 -1
  182. package/types/Modal/Modal.svelte.d.ts +7 -3
  183. package/types/MultiSelect/MultiSelect.svelte.d.ts +11 -2
  184. package/types/Notification/InlineNotification.svelte.d.ts +6 -1
  185. package/types/Notification/NotificationActionButton.svelte.d.ts +1 -1
  186. package/types/Notification/NotificationButton.svelte.d.ts +1 -1
  187. package/types/Notification/NotificationIcon.svelte.d.ts +1 -1
  188. package/types/Notification/ToastNotification.svelte.d.ts +6 -1
  189. package/types/NumberInput/NumberInput.svelte.d.ts +1 -1
  190. package/types/NumberInput/NumberInputSkeleton.svelte.d.ts +1 -1
  191. package/types/OrderedList/OrderedList.svelte.d.ts +1 -1
  192. package/types/OverflowMenu/OverflowMenu.svelte.d.ts +31 -1
  193. package/types/OverflowMenu/OverflowMenuItem.svelte.d.ts +1 -1
  194. package/types/Pagination/Pagination.svelte.d.ts +4 -4
  195. package/types/Pagination/PaginationSkeleton.svelte.d.ts +1 -1
  196. package/types/PaginationNav/PaginationNav.svelte.d.ts +3 -3
  197. package/types/Popover/Popover.svelte.d.ts +2 -2
  198. package/types/ProgressBar/ProgressBar.svelte.d.ts +1 -1
  199. package/types/ProgressIndicator/ProgressIndicator.svelte.d.ts +28 -1
  200. package/types/ProgressIndicator/ProgressIndicatorSkeleton.svelte.d.ts +1 -1
  201. package/types/RadioButton/RadioButton.svelte.d.ts +1 -1
  202. package/types/RadioButton/RadioButtonSkeleton.svelte.d.ts +1 -1
  203. package/types/RadioButtonGroup/RadioButtonGroup.svelte.d.ts +9 -1
  204. package/types/RecursiveList/RecursiveList.svelte.d.ts +1 -1
  205. package/types/Search/Search.svelte.d.ts +1 -1
  206. package/types/Search/SearchSkeleton.svelte.d.ts +1 -1
  207. package/types/Select/Select.svelte.d.ts +8 -1
  208. package/types/Select/SelectItem.svelte.d.ts +1 -1
  209. package/types/Select/SelectItemGroup.svelte.d.ts +1 -1
  210. package/types/Select/SelectSkeleton.svelte.d.ts +1 -1
  211. package/types/SkeletonPlaceholder/SkeletonPlaceholder.svelte.d.ts +1 -1
  212. package/types/SkeletonText/SkeletonText.svelte.d.ts +1 -1
  213. package/types/Slider/Slider.svelte.d.ts +1 -1
  214. package/types/Slider/SliderSkeleton.svelte.d.ts +1 -1
  215. package/types/StructuredList/StructuredList.svelte.d.ts +6 -1
  216. package/types/StructuredList/StructuredListBody.svelte.d.ts +1 -1
  217. package/types/StructuredList/StructuredListCell.svelte.d.ts +1 -1
  218. package/types/StructuredList/StructuredListHead.svelte.d.ts +1 -1
  219. package/types/StructuredList/StructuredListInput.svelte.d.ts +1 -1
  220. package/types/StructuredList/StructuredListRow.svelte.d.ts +1 -1
  221. package/types/StructuredList/StructuredListSkeleton.svelte.d.ts +1 -1
  222. package/types/Tabs/Tab.svelte.d.ts +1 -1
  223. package/types/Tabs/TabContent.svelte.d.ts +1 -1
  224. package/types/Tabs/Tabs.svelte.d.ts +22 -1
  225. package/types/Tabs/TabsSkeleton.svelte.d.ts +1 -1
  226. package/types/Tag/Tag.svelte.d.ts +4 -1
  227. package/types/Tag/TagSkeleton.svelte.d.ts +1 -1
  228. package/types/TextArea/TextArea.svelte.d.ts +1 -1
  229. package/types/TextArea/TextAreaSkeleton.svelte.d.ts +1 -1
  230. package/types/TextInput/PasswordInput.svelte.d.ts +1 -1
  231. package/types/TextInput/TextInput.svelte.d.ts +1 -1
  232. package/types/TextInput/TextInputSkeleton.svelte.d.ts +1 -1
  233. package/types/Tile/ClickableTile.svelte.d.ts +1 -1
  234. package/types/Tile/ExpandableTile.svelte.d.ts +1 -1
  235. package/types/Tile/RadioTile.svelte.d.ts +1 -1
  236. package/types/Tile/SelectableTile.svelte.d.ts +1 -1
  237. package/types/Tile/Tile.svelte.d.ts +1 -1
  238. package/types/Tile/TileGroup.svelte.d.ts +9 -1
  239. package/types/TimePicker/TimePicker.svelte.d.ts +1 -1
  240. package/types/TimePicker/TimePickerSelect.svelte.d.ts +5 -1
  241. package/types/Toggle/Toggle.svelte.d.ts +5 -1
  242. package/types/Toggle/ToggleSkeleton.svelte.d.ts +1 -1
  243. package/types/Tooltip/Tooltip.svelte.d.ts +9 -1
  244. package/types/Tooltip/TooltipFooter.svelte.d.ts +1 -1
  245. package/types/TooltipDefinition/TooltipDefinition.svelte.d.ts +1 -1
  246. package/types/TooltipIcon/TooltipIcon.svelte.d.ts +1 -1
  247. package/types/TreeView/TreeView.svelte.d.ts +11 -1
  248. package/types/Truncate/Truncate.svelte.d.ts +1 -1
  249. package/types/UIShell/Content.svelte.d.ts +1 -1
  250. package/types/UIShell/Header.svelte.d.ts +6 -1
  251. package/types/UIShell/HeaderAction.svelte.d.ts +6 -1
  252. package/types/UIShell/HeaderActionLink.svelte.d.ts +1 -1
  253. package/types/UIShell/HeaderGlobalAction.svelte.d.ts +1 -1
  254. package/types/UIShell/HeaderNav.svelte.d.ts +1 -1
  255. package/types/UIShell/HeaderNavItem.svelte.d.ts +1 -1
  256. package/types/UIShell/HeaderNavMenu.svelte.d.ts +10 -1
  257. package/types/UIShell/HeaderPanelDivider.svelte.d.ts +2 -2
  258. package/types/UIShell/HeaderPanelLink.svelte.d.ts +1 -1
  259. package/types/UIShell/HeaderPanelLinks.svelte.d.ts +2 -2
  260. package/types/UIShell/HeaderUtilities.svelte.d.ts +2 -2
  261. package/types/UIShell/SideNav.svelte.d.ts +2 -2
  262. package/types/UIShell/SideNavDivider.svelte.d.ts +1 -1
  263. package/types/UIShell/SideNavItems.svelte.d.ts +2 -2
  264. package/types/UIShell/SideNavLink.svelte.d.ts +1 -1
  265. package/types/UIShell/SideNavMenu.svelte.d.ts +1 -1
  266. package/types/UIShell/SideNavMenuItem.svelte.d.ts +1 -1
  267. package/types/UIShell/SkipToContent.svelte.d.ts +1 -1
  268. package/types/UnorderedList/UnorderedList.svelte.d.ts +1 -1
  269. package/types/index.d.ts +28 -28
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "carbon-components-svelte",
3
- "version": "0.90.1",
3
+ "version": "0.90.3",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Svelte implementation of the Carbon Design System",
6
6
  "type": "module",
@@ -30,7 +30,8 @@
30
30
  "css/*.css"
31
31
  ],
32
32
  "scripts": {
33
- "postinstall": "ibmtelemetry --config=telemetry.yml"
33
+ "postinstall": "ibmtelemetry --config=telemetry.yml",
34
+ "prepare": "lefthook install"
34
35
  },
35
36
  "dependencies": {
36
37
  "@ibm/telemetry-js": "^1.5.0",
@@ -23,6 +23,9 @@
23
23
  import { writable } from "svelte/store";
24
24
  import AccordionSkeleton from "./AccordionSkeleton.svelte";
25
25
 
26
+ /**
27
+ * @type {import("svelte/store").Writable<boolean>}
28
+ */
26
29
  const disableItems = writable(disabled);
27
30
 
28
31
  $: disableItems.set(disabled);
@@ -14,7 +14,7 @@
14
14
  /** Specify the ARIA label for the accordion item chevron icon */
15
15
  export let iconDescription = "Expand/Collapse";
16
16
 
17
- import { onMount, getContext } from "svelte";
17
+ import { getContext, onMount } from "svelte";
18
18
  import ChevronRight from "../icons/ChevronRight.svelte";
19
19
 
20
20
  let initialDisabled = disabled;
@@ -1,6 +1,6 @@
1
1
  <script>
2
2
  /**
3
- * @slot {{props?: { ["aria-current"]?: string; class: "bx--link"; }}}
3
+ * @slot {{props?: { "aria-current"?: string; class: "bx--link"; }}}
4
4
  */
5
5
 
6
6
  /**
@@ -12,9 +12,8 @@
12
12
  /** Set to `true` if the breadcrumb item represents the current page */
13
13
  export let isCurrentPage = false;
14
14
 
15
- import Link from "../Link/Link.svelte";
16
-
17
15
  import { setContext } from "svelte";
16
+ import Link from "../Link/Link.svelte";
18
17
 
19
18
  setContext("BreadcrumbItem", {});
20
19
  </script>
@@ -33,13 +33,13 @@
33
33
 
34
34
  $: size = $observer;
35
35
  $: sizes = {
36
- sm: size == "sm",
37
- md: size == "md",
38
- lg: size == "lg",
39
- xlg: size == "xlg",
40
- max: size == "max",
36
+ sm: size === "sm",
37
+ md: size === "md",
38
+ lg: size === "lg",
39
+ xlg: size === "xlg",
40
+ max: size === "max",
41
41
  };
42
- $: if (size != undefined)
42
+ $: if (size !== undefined)
43
43
  // svelte-ignore reactive_declaration_non_reactive_property
44
44
  dispatch("change", { size, breakpointValue: breakpoints[size] });
45
45
  </script>
@@ -1,5 +1,5 @@
1
1
  import type { Readable, Subscriber, Unsubscriber } from "svelte/store";
2
- import type { BreakpointSize, BreakpointValue } from "./breakpoints";
2
+ import type { BreakpointSize } from "./breakpoints";
3
3
 
4
4
  /**
5
5
  * Creates a readable store that returns the current breakpoint size.
@@ -29,7 +29,7 @@ export function breakpointObserver() {
29
29
  matchers.map(([size, queryList]) => [queryList.media, size]),
30
30
  );
31
31
 
32
- const size = matchers.find(([size, queryList]) => queryList.matches)[0];
32
+ const size = matchers.find(([_size, queryList]) => queryList.matches)[0];
33
33
  store.set(size);
34
34
 
35
35
  /** @type {(e: MediaQueryListEvent) => void} */
@@ -38,14 +38,14 @@ export function breakpointObserver() {
38
38
  if (matches) store.set(size);
39
39
  }
40
40
 
41
- matchers.forEach(([size, queryList]) =>
42
- queryList.addEventListener("change", handleChange),
43
- );
41
+ matchers.forEach(([_size, queryList]) => {
42
+ queryList.addEventListener("change", handleChange);
43
+ });
44
44
 
45
45
  return () => {
46
- matchers.forEach(([size, queryList]) =>
47
- queryList.removeEventListener("change", handleChange),
48
- );
46
+ matchers.forEach(([_size, queryList]) => {
47
+ queryList.removeEventListener("change", handleChange);
48
+ });
49
49
  };
50
50
  });
51
51
 
@@ -75,7 +75,7 @@ export function breakpointObserver() {
75
75
  }
76
76
 
77
77
  function checkSizeValid(size) {
78
- if (size in breakpoints == false)
78
+ if (size in breakpoints === false)
79
79
  throw new Error(`"${size}" is not a valid breakpoint size.`);
80
80
  }
81
81
 
@@ -3,6 +3,7 @@
3
3
  * @extends {"./ButtonSkeleton.svelte"} ButtonSkeletonProps
4
4
  * @restProps {button | a | div}
5
5
  * @slot {{ props: { role: "button"; type?: string; tabindex: any; disabled: boolean; href?: string; class: string; [key: string]: any; } }}
6
+ * @slot {{ style: undefined | string; }} icon
6
7
  */
7
8
 
8
9
  /**
@@ -1,3 +1,3 @@
1
1
  export { default as Button } from "./Button.svelte";
2
- export { default as ButtonSkeleton } from "./ButtonSkeleton.svelte";
3
2
  export { default as ButtonSet } from "./ButtonSet.svelte";
3
+ export { default as ButtonSkeleton } from "./ButtonSkeleton.svelte";
@@ -104,10 +104,10 @@
104
104
  /** Obtain a reference to the pre HTML element */
105
105
  export let ref = null;
106
106
 
107
- import { createEventDispatcher, tick, onMount } from "svelte";
108
- import ChevronDown from "../icons/ChevronDown.svelte";
107
+ import { createEventDispatcher, onMount, tick } from "svelte";
109
108
  import Button from "../Button/Button.svelte";
110
109
  import CopyButton from "../CopyButton/CopyButton.svelte";
110
+ import ChevronDown from "../icons/ChevronDown.svelte";
111
111
  import CodeSnippetSkeleton from "./CodeSnippetSkeleton.svelte";
112
112
 
113
113
  const dispatch = createEventDispatcher();
@@ -125,10 +125,10 @@
125
125
  */
126
126
  export let listRef = null;
127
127
 
128
- import { createEventDispatcher, afterUpdate, tick } from "svelte";
128
+ import { afterUpdate, createEventDispatcher, tick } from "svelte";
129
129
  import Checkmark from "../icons/Checkmark.svelte";
130
- import WarningFilled from "../icons/WarningFilled.svelte";
131
130
  import WarningAltFilled from "../icons/WarningAltFilled.svelte";
131
+ import WarningFilled from "../icons/WarningFilled.svelte";
132
132
  import ListBox from "../ListBox/ListBox.svelte";
133
133
  import ListBoxMenu from "../ListBox/ListBoxMenu.svelte";
134
134
  import ListBoxMenuIcon from "../ListBox/ListBoxMenuIcon.svelte";
@@ -32,11 +32,11 @@
32
32
  export let ref = null;
33
33
 
34
34
  import {
35
+ afterUpdate,
35
36
  createEventDispatcher,
36
- tick,
37
- setContext,
38
37
  onMount,
39
- afterUpdate,
38
+ setContext,
39
+ tick,
40
40
  } from "svelte";
41
41
  import { writable } from "svelte/store";
42
42
  import { trackModal } from "../Modal/modalStore";
@@ -59,20 +59,40 @@
59
59
  }
60
60
  }
61
61
 
62
+ /**
63
+ * @type {() => void}
64
+ */
65
+ const closeModal = () => {
66
+ close("close-button");
67
+ };
68
+
69
+ /**
70
+ * @type {() => void}
71
+ */
72
+ const submit = () => {
73
+ dispatch("submit");
74
+ dispatch("click:button--primary");
75
+ };
76
+
77
+ /**
78
+ * @type {(ref: HTMLButtonElement) => void}
79
+ */
80
+ const declareRef = (ref) => {
81
+ buttonRef = ref;
82
+ };
83
+
84
+ /**
85
+ * @type {(value: string | undefined) => void}
86
+ */
87
+ const updateLabel = (value) => {
88
+ label.set(value);
89
+ };
90
+
62
91
  setContext("ComposedModal", {
63
- closeModal: () => {
64
- close("close-button");
65
- },
66
- submit: () => {
67
- dispatch("submit");
68
- dispatch("click:button--primary");
69
- },
70
- declareRef: (ref) => {
71
- buttonRef = ref;
72
- },
73
- updateLabel: (value) => {
74
- label.set(value);
75
- },
92
+ closeModal,
93
+ submit,
94
+ declareRef,
95
+ updateLabel,
76
96
  });
77
97
 
78
98
  function focus(element) {
@@ -40,7 +40,7 @@
40
40
  /** Set to `true` to use the danger variant */
41
41
  export let danger = false;
42
42
 
43
- import { getContext, createEventDispatcher } from "svelte";
43
+ import { createEventDispatcher, getContext } from "svelte";
44
44
  import Button from "../Button/Button.svelte";
45
45
 
46
46
  const dispatch = createEventDispatcher();
@@ -1,4 +1,4 @@
1
1
  export { default as ComposedModal } from "./ComposedModal.svelte";
2
- export { default as ModalHeader } from "./ModalHeader.svelte";
3
2
  export { default as ModalBody } from "./ModalBody.svelte";
4
3
  export { default as ModalFooter } from "./ModalFooter.svelte";
4
+ export { default as ModalHeader } from "./ModalHeader.svelte";
@@ -16,6 +16,9 @@
16
16
  import { writable } from "svelte/store";
17
17
 
18
18
  const dispatch = createEventDispatcher();
19
+ /**
20
+ * @type {import("svelte/store").Writable<string | null>}
21
+ */
19
22
  const currentId = writable(null);
20
23
 
21
24
  $: currentIndex = -1;
@@ -25,29 +28,44 @@
25
28
  currentId.set(switches[currentIndex].id);
26
29
  }
27
30
 
28
- setContext("ContentSwitcher", {
29
- currentId,
30
- add: ({ id, text, selected }) => {
31
- if (selected) {
32
- selectedIndex = switches.length;
33
- }
31
+ /**
32
+ * @type {(data: { id: string; text: string; selected: boolean }) => void}
33
+ */
34
+ const add = ({ id, text, selected }) => {
35
+ if (selected) {
36
+ selectedIndex = switches.length;
37
+ }
34
38
 
35
- switches = [...switches, { id, text, selected }];
36
- },
37
- update: (id) => {
38
- selectedIndex = switches.map(({ id }) => id).indexOf(id);
39
- },
40
- change: (direction) => {
41
- let index = currentIndex + direction;
39
+ switches = [...switches, { id, text, selected }];
40
+ };
42
41
 
43
- if (index < 0) {
44
- index = switches.length - 1;
45
- } else if (index >= switches.length) {
46
- index = 0;
47
- }
42
+ /**
43
+ * @type {(id: string) => void}
44
+ */
45
+ const update = (id) => {
46
+ selectedIndex = switches.map(({ id }) => id).indexOf(id);
47
+ };
48
48
 
49
- selectedIndex = index;
50
- },
49
+ /**
50
+ * @type {(direction: number) => void}
51
+ */
52
+ const change = (direction) => {
53
+ let index = currentIndex + direction;
54
+
55
+ if (index < 0) {
56
+ index = switches.length - 1;
57
+ } else if (index >= switches.length) {
58
+ index = 0;
59
+ }
60
+
61
+ selectedIndex = index;
62
+ };
63
+
64
+ setContext("ContentSwitcher", {
65
+ currentId,
66
+ add,
67
+ update,
68
+ change,
51
69
  });
52
70
 
53
71
  afterUpdate(() => {
@@ -26,18 +26,27 @@
26
26
  export let ref = null;
27
27
 
28
28
  import {
29
- onMount,
30
- setContext,
31
- getContext,
32
29
  afterUpdate,
33
30
  createEventDispatcher,
31
+ getContext,
32
+ onMount,
33
+ setContext,
34
34
  } from "svelte";
35
35
  import { writable } from "svelte/store";
36
36
 
37
37
  const dispatch = createEventDispatcher();
38
+ /**
39
+ * @type {import("svelte/store").Writable<[number, number]>}
40
+ */
38
41
  const position = writable([x, y]);
42
+ /**
43
+ * @type {import("svelte/store").Writable<number>}
44
+ */
39
45
  const currentIndex = writable(-1);
40
46
  const hasPopup = writable(false);
47
+ /**
48
+ * @type {import("svelte/store").Writable<number>}
49
+ */
41
50
  const menuOffsetX = writable(0);
42
51
  const ctx = getContext("ContextMenu");
43
52
 
@@ -48,6 +57,9 @@
48
57
  let focusIndex = -1;
49
58
  let openDetail = null;
50
59
 
60
+ /**
61
+ * @type {() => void}
62
+ */
51
63
  function close() {
52
64
  open = false;
53
65
  x = 0;
@@ -86,7 +98,9 @@
86
98
 
87
99
  $: if (target != null) {
88
100
  if (Array.isArray(target)) {
89
- target.forEach((node) => node?.addEventListener("contextmenu", openMenu));
101
+ target.forEach((node) => {
102
+ node?.addEventListener("contextmenu", openMenu);
103
+ });
90
104
  } else {
91
105
  target.addEventListener("contextmenu", openMenu);
92
106
  }
@@ -96,9 +110,9 @@
96
110
  return () => {
97
111
  if (target != null) {
98
112
  if (Array.isArray(target)) {
99
- target.forEach((node) =>
100
- node?.removeEventListener("contextmenu", openMenu),
101
- );
113
+ target.forEach((node) => {
114
+ node?.removeEventListener("contextmenu", openMenu);
115
+ });
102
116
  } else {
103
117
  target.removeEventListener("contextmenu", openMenu);
104
118
  }
@@ -106,14 +120,19 @@
106
120
  };
107
121
  });
108
122
 
123
+ /**
124
+ * @type {(popup: boolean) => void}
125
+ */
126
+ const setPopup = (popup) => {
127
+ hasPopup.set(popup);
128
+ };
129
+
109
130
  setContext("ContextMenu", {
110
131
  menuOffsetX,
111
132
  currentIndex,
112
133
  position,
113
134
  close,
114
- setPopup: (popup) => {
115
- hasPopup.set(popup);
116
- },
135
+ setPopup,
117
136
  });
118
137
 
119
138
  afterUpdate(() => {
@@ -8,22 +8,35 @@
8
8
  import { setContext } from "svelte";
9
9
  import { writable } from "svelte/store";
10
10
 
11
+ /**
12
+ * @type {import("svelte/store").Writable<ReadonlyArray<string>>}
13
+ */
11
14
  const currentIds = writable([]);
12
15
 
16
+ /**
17
+ * @type {(data: { id: string }) => void}
18
+ */
19
+ const addOption = ({ id }) => {
20
+ if (!selectedIds.includes(id)) {
21
+ selectedIds = [...selectedIds, id];
22
+ }
23
+ };
24
+
25
+ /**
26
+ * @type {(data: { id: string }) => void}
27
+ */
28
+ const toggleOption = ({ id }) => {
29
+ if (!selectedIds.includes(id)) {
30
+ selectedIds = [...selectedIds, id];
31
+ } else {
32
+ selectedIds = selectedIds.filter((_) => _ !== id);
33
+ }
34
+ };
35
+
13
36
  setContext("ContextMenuGroup", {
14
37
  currentIds,
15
- addOption: ({ id }) => {
16
- if (!selectedIds.includes(id)) {
17
- selectedIds = [...selectedIds, id];
18
- }
19
- },
20
- toggleOption: ({ id }) => {
21
- if (!selectedIds.includes(id)) {
22
- selectedIds = [...selectedIds, id];
23
- } else {
24
- selectedIds = selectedIds.filter((_) => _ !== id);
25
- }
26
- },
38
+ addOption,
39
+ toggleOption,
27
40
  });
28
41
 
29
42
  $: currentIds.set(selectedIds);
@@ -48,10 +48,10 @@
48
48
  /** Obtain a reference to the list item HTML element */
49
49
  export let ref = null;
50
50
 
51
- import { onMount, getContext, createEventDispatcher, tick } from "svelte";
52
- import ContextMenu from "./ContextMenu.svelte";
53
- import Checkmark from "../icons/Checkmark.svelte";
51
+ import { createEventDispatcher, getContext, onMount, tick } from "svelte";
54
52
  import CaretRight from "../icons/CaretRight.svelte";
53
+ import Checkmark from "../icons/Checkmark.svelte";
54
+ import ContextMenu from "./ContextMenu.svelte";
55
55
 
56
56
  const dispatch = createEventDispatcher();
57
57
  const ctx = getContext("ContextMenu");
@@ -156,9 +156,9 @@
156
156
  if (disabled) return ctx.close();
157
157
  if (subOptions) return;
158
158
 
159
- if (!!ctxGroup) {
159
+ if (ctxGroup) {
160
160
  ctxGroup.toggleOption({ id });
161
- } else if (!!ctxRadioGroup) {
161
+ } else if (ctxRadioGroup) {
162
162
  if (opts.fromKeyboard) {
163
163
  ctxRadioGroup.setOption({ id: opts.id });
164
164
  } else {
@@ -8,20 +8,36 @@
8
8
  import { setContext } from "svelte";
9
9
  import { writable } from "svelte/store";
10
10
 
11
+ /**
12
+ * @type {import("svelte/store").Writable<string>}
13
+ */
11
14
  const currentId = writable("");
15
+ /**
16
+ * @type {import("svelte/store").Writable<ReadonlyArray<string>>}
17
+ */
12
18
  const radioIds = writable([]);
13
19
 
20
+ /**
21
+ * @type {(data: { id: string }) => void}
22
+ */
23
+ const addOption = ({ id }) => {
24
+ if (!$radioIds.includes(id)) {
25
+ radioIds.update((_) => [..._, id]);
26
+ }
27
+ };
28
+
29
+ /**
30
+ * @type {(data: { id: string }) => void}
31
+ */
32
+ const setOption = ({ id }) => {
33
+ selectedId = id;
34
+ };
35
+
14
36
  setContext("ContextMenuRadioGroup", {
15
37
  currentId,
16
38
  radioIds,
17
- addOption: ({ id }) => {
18
- if (!$radioIds.includes(id)) {
19
- radioIds.update((_) => [..._, id]);
20
- }
21
- },
22
- setOption: ({ id }) => {
23
- selectedId = id;
24
- },
39
+ addOption,
40
+ setOption,
25
41
  });
26
42
 
27
43
  $: currentId.set(selectedId);