@ifloppy/maxcraftmc-ui-svelte 0.1.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 (495) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/LICENSE +201 -0
  3. package/NOTICE +11 -0
  4. package/README.md +122 -0
  5. package/css/_popover.scss +325 -0
  6. package/css/all.css +1 -0
  7. package/css/all.scss +81 -0
  8. package/css/g10.css +1 -0
  9. package/css/g10.scss +34 -0
  10. package/css/g100.css +1 -0
  11. package/css/g100.scss +33 -0
  12. package/css/g80.css +1 -0
  13. package/css/g80.scss +34 -0
  14. package/css/g90.css +1 -0
  15. package/css/g90.scss +33 -0
  16. package/css/maxcraft.css +3239 -0
  17. package/css/white.css +1 -0
  18. package/css/white.scss +33 -0
  19. package/docs/compatibility.md +53 -0
  20. package/docs/component-catalog.md +99 -0
  21. package/docs/consumer-checklist.md +42 -0
  22. package/docs/contributing.md +80 -0
  23. package/docs/hugo-integration.md +94 -0
  24. package/docs/installation.md +89 -0
  25. package/docs/publishing.md +74 -0
  26. package/docs/svelte-migration.md +123 -0
  27. package/docs/theme-tokens.md +60 -0
  28. package/examples/component-gallery/index.html +12 -0
  29. package/examples/component-gallery/src/App.svelte +474 -0
  30. package/examples/component-gallery/src/main.js +6 -0
  31. package/examples/component-gallery/vite.config.js +6 -0
  32. package/examples/hugo-head.html +25 -0
  33. package/examples/hugo-module-mounts.toml +34 -0
  34. package/examples/svelte-basic/+layout.svelte +11 -0
  35. package/examples/svelte-basic/+page.svelte +150 -0
  36. package/package.json +80 -0
  37. package/src/Accordion/Accordion.svelte +60 -0
  38. package/src/Accordion/AccordionItem.svelte +79 -0
  39. package/src/Accordion/AccordionSkeleton.svelte +63 -0
  40. package/src/Accordion/index.js +3 -0
  41. package/src/AspectRatio/AspectRatio.svelte +25 -0
  42. package/src/AspectRatio/index.js +1 -0
  43. package/src/Breadcrumb/Breadcrumb.svelte +40 -0
  44. package/src/Breadcrumb/BreadcrumbItem.svelte +46 -0
  45. package/src/Breadcrumb/BreadcrumbSkeleton.svelte +26 -0
  46. package/src/Breadcrumb/index.js +3 -0
  47. package/src/Breakpoint/Breakpoint.svelte +47 -0
  48. package/src/Breakpoint/breakpointObserver.d.ts +28 -0
  49. package/src/Breakpoint/breakpointObserver.js +82 -0
  50. package/src/Breakpoint/breakpoints.d.ts +11 -0
  51. package/src/Breakpoint/breakpoints.js +13 -0
  52. package/src/Breakpoint/index.d.ts +4 -0
  53. package/src/Breakpoint/index.js +3 -0
  54. package/src/Button/Button.svelte +212 -0
  55. package/src/Button/ButtonSet.svelte +12 -0
  56. package/src/Button/ButtonSkeleton.svelte +54 -0
  57. package/src/Button/index.js +3 -0
  58. package/src/Checkbox/Checkbox.svelte +130 -0
  59. package/src/Checkbox/CheckboxSkeleton.svelte +14 -0
  60. package/src/Checkbox/InlineCheckbox.svelte +41 -0
  61. package/src/Checkbox/index.js +3 -0
  62. package/src/CodeSnippet/CodeSnippet.svelte +280 -0
  63. package/src/CodeSnippet/CodeSnippetSkeleton.svelte +27 -0
  64. package/src/CodeSnippet/index.js +2 -0
  65. package/src/ComboBox/ComboBox.svelte +432 -0
  66. package/src/ComboBox/index.js +1 -0
  67. package/src/ComposedModal/ComposedModal.svelte +172 -0
  68. package/src/ComposedModal/ModalBody.svelte +22 -0
  69. package/src/ComposedModal/ModalFooter.svelte +90 -0
  70. package/src/ComposedModal/ModalHeader.svelte +65 -0
  71. package/src/ComposedModal/index.js +4 -0
  72. package/src/ContentSwitcher/ContentSwitcher.svelte +74 -0
  73. package/src/ContentSwitcher/Switch.svelte +72 -0
  74. package/src/ContentSwitcher/index.js +2 -0
  75. package/src/ContextMenu/ContextMenu.svelte +196 -0
  76. package/src/ContextMenu/ContextMenuDivider.svelte +1 -0
  77. package/src/ContextMenu/ContextMenuGroup.svelte +36 -0
  78. package/src/ContextMenu/ContextMenuOption.svelte +286 -0
  79. package/src/ContextMenu/ContextMenuRadioGroup.svelte +34 -0
  80. package/src/ContextMenu/index.js +5 -0
  81. package/src/CopyButton/CopyButton.svelte +82 -0
  82. package/src/CopyButton/index.js +1 -0
  83. package/src/DataTable/DataTable.svelte +609 -0
  84. package/src/DataTable/DataTableSkeleton.svelte +102 -0
  85. package/src/DataTable/DataTableTypes.d.ts +18 -0
  86. package/src/DataTable/Table.svelte +60 -0
  87. package/src/DataTable/TableBody.svelte +3 -0
  88. package/src/DataTable/TableCell.svelte +4 -0
  89. package/src/DataTable/TableContainer.svelte +28 -0
  90. package/src/DataTable/TableHead.svelte +5 -0
  91. package/src/DataTable/TableHeader.svelte +76 -0
  92. package/src/DataTable/TableRow.svelte +4 -0
  93. package/src/DataTable/Toolbar.svelte +34 -0
  94. package/src/DataTable/ToolbarBatchActions.svelte +99 -0
  95. package/src/DataTable/ToolbarContent.svelte +3 -0
  96. package/src/DataTable/ToolbarMenu.svelte +23 -0
  97. package/src/DataTable/ToolbarMenuItem.svelte +9 -0
  98. package/src/DataTable/ToolbarSearch.svelte +122 -0
  99. package/src/DataTable/index.js +15 -0
  100. package/src/DatePicker/DatePicker.svelte +271 -0
  101. package/src/DatePicker/DatePickerInput.svelte +173 -0
  102. package/src/DatePicker/DatePickerSkeleton.svelte +36 -0
  103. package/src/DatePicker/createCalendar.js +100 -0
  104. package/src/DatePicker/index.js +3 -0
  105. package/src/Dropdown/Dropdown.svelte +336 -0
  106. package/src/Dropdown/DropdownSkeleton.svelte +23 -0
  107. package/src/Dropdown/index.js +2 -0
  108. package/src/FileUploader/FileUploader.svelte +177 -0
  109. package/src/FileUploader/FileUploaderButton.svelte +125 -0
  110. package/src/FileUploader/FileUploaderDropContainer.svelte +129 -0
  111. package/src/FileUploader/FileUploaderItem.svelte +79 -0
  112. package/src/FileUploader/FileUploaderSkeleton.svelte +19 -0
  113. package/src/FileUploader/Filename.svelte +57 -0
  114. package/src/FileUploader/index.js +6 -0
  115. package/src/FluidForm/FluidForm.svelte +23 -0
  116. package/src/FluidForm/index.js +1 -0
  117. package/src/Form/Form.svelte +20 -0
  118. package/src/Form/index.js +1 -0
  119. package/src/FormGroup/FormGroup.svelte +44 -0
  120. package/src/FormGroup/index.js +1 -0
  121. package/src/FormItem/FormItem.svelte +12 -0
  122. package/src/FormItem/index.js +1 -0
  123. package/src/FormLabel/FormLabel.svelte +18 -0
  124. package/src/FormLabel/index.js +1 -0
  125. package/src/Grid/Column.svelte +119 -0
  126. package/src/Grid/Grid.svelte +58 -0
  127. package/src/Grid/Row.svelte +54 -0
  128. package/src/Grid/index.js +3 -0
  129. package/src/ImageLoader/ImageLoader.svelte +117 -0
  130. package/src/ImageLoader/index.js +1 -0
  131. package/src/InlineLoading/InlineLoading.svelte +82 -0
  132. package/src/InlineLoading/index.js +1 -0
  133. package/src/Link/Link.svelte +89 -0
  134. package/src/Link/OutboundLink.svelte +18 -0
  135. package/src/Link/index.js +2 -0
  136. package/src/ListBox/ListBox.svelte +64 -0
  137. package/src/ListBox/ListBoxField.svelte +67 -0
  138. package/src/ListBox/ListBoxMenu.svelte +18 -0
  139. package/src/ListBox/ListBoxMenuIcon.svelte +38 -0
  140. package/src/ListBox/ListBoxMenuItem.svelte +38 -0
  141. package/src/ListBox/ListBoxSelection.svelte +114 -0
  142. package/src/ListBox/index.js +6 -0
  143. package/src/ListItem/ListItem.svelte +12 -0
  144. package/src/ListItem/index.js +1 -0
  145. package/src/Loading/Loading.svelte +76 -0
  146. package/src/Loading/index.js +1 -0
  147. package/src/LocalStorage/LocalStorage.svelte +71 -0
  148. package/src/LocalStorage/index.js +1 -0
  149. package/src/Modal/Modal.svelte +304 -0
  150. package/src/Modal/index.js +1 -0
  151. package/src/Modal/modalStore.js +36 -0
  152. package/src/MultiSelect/MultiSelect.svelte +557 -0
  153. package/src/MultiSelect/index.js +1 -0
  154. package/src/Notification/InlineNotification.svelte +114 -0
  155. package/src/Notification/NotificationActionButton.svelte +18 -0
  156. package/src/Notification/NotificationButton.svelte +47 -0
  157. package/src/Notification/NotificationIcon.svelte +41 -0
  158. package/src/Notification/ToastNotification.svelte +131 -0
  159. package/src/Notification/index.js +5 -0
  160. package/src/NumberInput/NumberInput.svelte +279 -0
  161. package/src/NumberInput/NumberInputSkeleton.svelte +20 -0
  162. package/src/NumberInput/index.js +2 -0
  163. package/src/OrderedList/OrderedList.svelte +26 -0
  164. package/src/OrderedList/index.js +1 -0
  165. package/src/OverflowMenu/OverflowMenu.svelte +259 -0
  166. package/src/OverflowMenu/OverflowMenuItem.svelte +117 -0
  167. package/src/OverflowMenu/index.js +2 -0
  168. package/src/Pagination/Pagination.svelte +216 -0
  169. package/src/Pagination/PaginationSkeleton.svelte +24 -0
  170. package/src/Pagination/index.js +2 -0
  171. package/src/PaginationNav/PaginationItem.svelte +23 -0
  172. package/src/PaginationNav/PaginationNav.svelte +190 -0
  173. package/src/PaginationNav/PaginationOverflow.svelte +56 -0
  174. package/src/PaginationNav/index.js +1 -0
  175. package/src/Popover/Popover.svelte +73 -0
  176. package/src/Popover/index.js +1 -0
  177. package/src/ProgressBar/ProgressBar.svelte +110 -0
  178. package/src/ProgressBar/index.js +1 -0
  179. package/src/ProgressIndicator/ProgressIndicator.svelte +79 -0
  180. package/src/ProgressIndicator/ProgressIndicatorSkeleton.svelte +38 -0
  181. package/src/ProgressIndicator/ProgressStep.svelte +107 -0
  182. package/src/ProgressIndicator/index.js +3 -0
  183. package/src/RadioButton/RadioButton.svelte +93 -0
  184. package/src/RadioButton/RadioButtonSkeleton.svelte +13 -0
  185. package/src/RadioButton/index.js +2 -0
  186. package/src/RadioButtonGroup/RadioButtonGroup.svelte +120 -0
  187. package/src/RadioButtonGroup/index.js +1 -0
  188. package/src/RecursiveList/RecursiveList.svelte +38 -0
  189. package/src/RecursiveList/RecursiveListItem.svelte +19 -0
  190. package/src/RecursiveList/index.js +1 -0
  191. package/src/Search/Search.svelte +173 -0
  192. package/src/Search/SearchSkeleton.svelte +24 -0
  193. package/src/Search/index.js +2 -0
  194. package/src/Select/Select.svelte +248 -0
  195. package/src/Select/SelectItem.svelte +63 -0
  196. package/src/Select/SelectItemGroup.svelte +11 -0
  197. package/src/Select/SelectSkeleton.svelte +22 -0
  198. package/src/Select/index.js +4 -0
  199. package/src/SkeletonPlaceholder/SkeletonPlaceholder.svelte +10 -0
  200. package/src/SkeletonPlaceholder/index.js +1 -0
  201. package/src/SkeletonText/SkeletonText.svelte +50 -0
  202. package/src/SkeletonText/index.js +1 -0
  203. package/src/Slider/Slider.svelte +232 -0
  204. package/src/Slider/SliderSkeleton.svelte +28 -0
  205. package/src/Slider/index.js +2 -0
  206. package/src/StructuredList/StructuredList.svelte +53 -0
  207. package/src/StructuredList/StructuredListBody.svelte +13 -0
  208. package/src/StructuredList/StructuredListCell.svelte +22 -0
  209. package/src/StructuredList/StructuredListHead.svelte +13 -0
  210. package/src/StructuredList/StructuredListInput.svelte +45 -0
  211. package/src/StructuredList/StructuredListRow.svelte +44 -0
  212. package/src/StructuredList/StructuredListSkeleton.svelte +36 -0
  213. package/src/StructuredList/index.js +7 -0
  214. package/src/Tabs/Tab.svelte +74 -0
  215. package/src/Tabs/TabContent.svelte +26 -0
  216. package/src/Tabs/Tabs.svelte +168 -0
  217. package/src/Tabs/TabsSkeleton.svelte +34 -0
  218. package/src/Tabs/index.js +4 -0
  219. package/src/Tag/Tag.svelte +172 -0
  220. package/src/Tag/TagSkeleton.svelte +17 -0
  221. package/src/Tag/index.js +2 -0
  222. package/src/TextArea/TextArea.svelte +134 -0
  223. package/src/TextArea/TextAreaSkeleton.svelte +20 -0
  224. package/src/TextArea/index.js +2 -0
  225. package/src/TextInput/PasswordInput.svelte +265 -0
  226. package/src/TextInput/TextInput.svelte +249 -0
  227. package/src/TextInput/TextInputSkeleton.svelte +20 -0
  228. package/src/TextInput/index.js +3 -0
  229. package/src/Theme/Theme.svelte +120 -0
  230. package/src/Theme/index.js +1 -0
  231. package/src/Tile/ClickableTile.svelte +43 -0
  232. package/src/Tile/ExpandableTile.svelte +104 -0
  233. package/src/Tile/RadioTile.svelte +95 -0
  234. package/src/Tile/SelectableTile.svelte +95 -0
  235. package/src/Tile/Tile.svelte +18 -0
  236. package/src/Tile/TileGroup.svelte +66 -0
  237. package/src/Tile/index.js +6 -0
  238. package/src/TimePicker/TimePicker.svelte +115 -0
  239. package/src/TimePicker/TimePickerSelect.svelte +78 -0
  240. package/src/TimePicker/index.js +2 -0
  241. package/src/Toggle/Toggle.svelte +107 -0
  242. package/src/Toggle/ToggleSkeleton.svelte +51 -0
  243. package/src/Toggle/index.js +2 -0
  244. package/src/Tooltip/Tooltip.svelte +269 -0
  245. package/src/Tooltip/TooltipFooter.svelte +29 -0
  246. package/src/Tooltip/index.js +2 -0
  247. package/src/TooltipDefinition/TooltipDefinition.svelte +85 -0
  248. package/src/TooltipDefinition/index.js +1 -0
  249. package/src/TooltipIcon/TooltipIcon.svelte +83 -0
  250. package/src/TooltipIcon/index.js +1 -0
  251. package/src/TreeView/TreeView.svelte +266 -0
  252. package/src/TreeView/TreeViewNode.svelte +133 -0
  253. package/src/TreeView/TreeViewNodeList.svelte +179 -0
  254. package/src/TreeView/index.d.ts +1 -0
  255. package/src/TreeView/index.js +1 -0
  256. package/src/Truncate/Truncate.svelte +12 -0
  257. package/src/Truncate/index.js +2 -0
  258. package/src/Truncate/truncate.d.ts +12 -0
  259. package/src/Truncate/truncate.js +29 -0
  260. package/src/UIShell/Content.svelte +24 -0
  261. package/src/UIShell/HamburgerMenu.svelte +45 -0
  262. package/src/UIShell/Header.svelte +103 -0
  263. package/src/UIShell/HeaderAction.svelte +160 -0
  264. package/src/UIShell/HeaderActionLink.svelte +43 -0
  265. package/src/UIShell/HeaderGlobalAction.svelte +33 -0
  266. package/src/UIShell/HeaderNav.svelte +13 -0
  267. package/src/UIShell/HeaderNavItem.svelte +66 -0
  268. package/src/UIShell/HeaderNavMenu.svelte +106 -0
  269. package/src/UIShell/HeaderPanelDivider.svelte +22 -0
  270. package/src/UIShell/HeaderPanelLink.svelte +23 -0
  271. package/src/UIShell/HeaderPanelLinks.svelte +3 -0
  272. package/src/UIShell/HeaderSearch.svelte +338 -0
  273. package/src/UIShell/HeaderUtilities.svelte +3 -0
  274. package/src/UIShell/SideNav.svelte +84 -0
  275. package/src/UIShell/SideNavDivider.svelte +1 -0
  276. package/src/UIShell/SideNavItems.svelte +3 -0
  277. package/src/UIShell/SideNavLink.svelte +54 -0
  278. package/src/UIShell/SideNavMenu.svelte +59 -0
  279. package/src/UIShell/SideNavMenuItem.svelte +32 -0
  280. package/src/UIShell/SkipToContent.svelte +11 -0
  281. package/src/UIShell/index.js +20 -0
  282. package/src/UIShell/navStore.js +7 -0
  283. package/src/UnorderedList/UnorderedList.svelte +22 -0
  284. package/src/UnorderedList/index.js +1 -0
  285. package/src/icons/Add.svelte +28 -0
  286. package/src/icons/ArrowUp.svelte +28 -0
  287. package/src/icons/ArrowsVertical.svelte +28 -0
  288. package/src/icons/Calendar.svelte +28 -0
  289. package/src/icons/CaretDown.svelte +26 -0
  290. package/src/icons/CaretLeft.svelte +26 -0
  291. package/src/icons/CaretRight.svelte +26 -0
  292. package/src/icons/Checkmark.svelte +26 -0
  293. package/src/icons/CheckmarkFilled.svelte +32 -0
  294. package/src/icons/CheckmarkOutline.svelte +30 -0
  295. package/src/icons/ChevronDown.svelte +26 -0
  296. package/src/icons/ChevronRight.svelte +26 -0
  297. package/src/icons/CircleDash.svelte +28 -0
  298. package/src/icons/Close.svelte +28 -0
  299. package/src/icons/Copy.svelte +28 -0
  300. package/src/icons/EditOff.svelte +28 -0
  301. package/src/icons/ErrorFilled.svelte +33 -0
  302. package/src/icons/IconSearch.svelte +28 -0
  303. package/src/icons/Incomplete.svelte +28 -0
  304. package/src/icons/Information.svelte +30 -0
  305. package/src/icons/InformationFilled.svelte +32 -0
  306. package/src/icons/InformationSquareFilled.svelte +32 -0
  307. package/src/icons/Launch.svelte +30 -0
  308. package/src/icons/Menu.svelte +26 -0
  309. package/src/icons/OverflowMenuHorizontal.svelte +27 -0
  310. package/src/icons/OverflowMenuVertical.svelte +27 -0
  311. package/src/icons/Settings.svelte +30 -0
  312. package/src/icons/Subtract.svelte +26 -0
  313. package/src/icons/Switcher.svelte +28 -0
  314. package/src/icons/View.svelte +30 -0
  315. package/src/icons/ViewOff.svelte +30 -0
  316. package/src/icons/Warning.svelte +29 -0
  317. package/src/icons/WarningAltFilled.svelte +34 -0
  318. package/src/icons/WarningFilled.svelte +33 -0
  319. package/src/index.js +155 -0
  320. package/src/utils/toHierarchy.d.ts +21 -0
  321. package/src/utils/toHierarchy.js +49 -0
  322. package/tokens/maxcraft.css +84 -0
  323. package/types/Accordion/Accordion.svelte.d.ts +39 -0
  324. package/types/Accordion/AccordionItem.svelte.d.ts +48 -0
  325. package/types/Accordion/AccordionSkeleton.svelte.d.ts +45 -0
  326. package/types/AspectRatio/AspectRatio.svelte.d.ts +31 -0
  327. package/types/Breadcrumb/Breadcrumb.svelte.d.ts +27 -0
  328. package/types/Breadcrumb/BreadcrumbItem.svelte.d.ts +33 -0
  329. package/types/Breadcrumb/BreadcrumbSkeleton.svelte.d.ts +33 -0
  330. package/types/Breakpoint/Breakpoint.svelte.d.ts +30 -0
  331. package/types/Breakpoint/breakpointObserver.d.ts +28 -0
  332. package/types/Breakpoint/breakpoints.d.ts +11 -0
  333. package/types/Breakpoint/index.d.ts +4 -0
  334. package/types/Button/Button.svelte.d.ts +140 -0
  335. package/types/Button/ButtonSet.svelte.d.ts +22 -0
  336. package/types/Button/ButtonSkeleton.svelte.d.ts +35 -0
  337. package/types/Checkbox/Checkbox.svelte.d.ts +109 -0
  338. package/types/Checkbox/CheckboxSkeleton.svelte.d.ts +21 -0
  339. package/types/CodeSnippet/CodeSnippet.svelte.d.ts +140 -0
  340. package/types/CodeSnippet/CodeSnippetSkeleton.svelte.d.ts +27 -0
  341. package/types/ComboBox/ComboBox.svelte.d.ts +189 -0
  342. package/types/ComposedModal/ComposedModal.svelte.d.ts +69 -0
  343. package/types/ComposedModal/ModalBody.svelte.d.ts +28 -0
  344. package/types/ComposedModal/ModalFooter.svelte.d.ts +65 -0
  345. package/types/ComposedModal/ModalHeader.svelte.d.ts +58 -0
  346. package/types/ContentSwitcher/ContentSwitcher.svelte.d.ts +34 -0
  347. package/types/ContentSwitcher/Switch.svelte.d.ts +53 -0
  348. package/types/ContextMenu/ContextMenu.svelte.d.ts +53 -0
  349. package/types/ContextMenu/ContextMenuDivider.svelte.d.ts +9 -0
  350. package/types/ContextMenu/ContextMenuGroup.svelte.d.ts +20 -0
  351. package/types/ContextMenu/ContextMenuOption.svelte.d.ts +86 -0
  352. package/types/ContextMenu/ContextMenuRadioGroup.svelte.d.ts +21 -0
  353. package/types/CopyButton/CopyButton.svelte.d.ts +50 -0
  354. package/types/DataTable/DataTable.svelte.d.ts +238 -0
  355. package/types/DataTable/DataTableSkeleton.svelte.d.ts +67 -0
  356. package/types/DataTable/DataTableTypes.d.ts +18 -0
  357. package/types/DataTable/Table.svelte.d.ts +52 -0
  358. package/types/DataTable/TableBody.svelte.d.ts +16 -0
  359. package/types/DataTable/TableCell.svelte.d.ts +21 -0
  360. package/types/DataTable/TableContainer.svelte.d.ts +40 -0
  361. package/types/DataTable/TableHead.svelte.d.ts +21 -0
  362. package/types/DataTable/TableHeader.svelte.d.ts +57 -0
  363. package/types/DataTable/TableRow.svelte.d.ts +21 -0
  364. package/types/DataTable/Toolbar.svelte.d.ts +22 -0
  365. package/types/DataTable/ToolbarBatchActions.svelte.d.ts +28 -0
  366. package/types/DataTable/ToolbarContent.svelte.d.ts +9 -0
  367. package/types/DataTable/ToolbarMenu.svelte.d.ts +10 -0
  368. package/types/DataTable/ToolbarMenuItem.svelte.d.ts +10 -0
  369. package/types/DataTable/ToolbarSearch.svelte.d.ts +84 -0
  370. package/types/DatePicker/DatePicker.svelte.d.ts +105 -0
  371. package/types/DatePicker/DatePickerInput.svelte.d.ts +118 -0
  372. package/types/DatePicker/DatePickerSkeleton.svelte.d.ts +33 -0
  373. package/types/Dropdown/Dropdown.svelte.d.ts +160 -0
  374. package/types/Dropdown/DropdownSkeleton.svelte.d.ts +27 -0
  375. package/types/FileUploader/FileUploader.svelte.d.ts +104 -0
  376. package/types/FileUploader/FileUploaderButton.svelte.d.ts +98 -0
  377. package/types/FileUploader/FileUploaderDropContainer.svelte.d.ts +92 -0
  378. package/types/FileUploader/FileUploaderItem.svelte.d.ts +69 -0
  379. package/types/FileUploader/FileUploaderSkeleton.svelte.d.ts +21 -0
  380. package/types/FileUploader/Filename.svelte.d.ts +36 -0
  381. package/types/FluidForm/FluidForm.svelte.d.ts +23 -0
  382. package/types/Form/Form.svelte.d.ts +29 -0
  383. package/types/FormGroup/FormGroup.svelte.d.ts +57 -0
  384. package/types/FormItem/FormItem.svelte.d.ts +21 -0
  385. package/types/FormLabel/FormLabel.svelte.d.ts +27 -0
  386. package/types/Grid/Column.svelte.d.ts +92 -0
  387. package/types/Grid/Grid.svelte.d.ts +65 -0
  388. package/types/Grid/Row.svelte.d.ts +59 -0
  389. package/types/ImageLoader/ImageLoader.svelte.d.ts +64 -0
  390. package/types/InlineLoading/InlineLoading.svelte.d.ts +47 -0
  391. package/types/Link/Link.svelte.d.ts +64 -0
  392. package/types/Link/OutboundLink.svelte.d.ts +15 -0
  393. package/types/ListBox/ListBox.svelte.d.ts +70 -0
  394. package/types/ListBox/ListBoxField.svelte.d.ts +67 -0
  395. package/types/ListBox/ListBoxMenu.svelte.d.ts +28 -0
  396. package/types/ListBox/ListBoxMenuIcon.svelte.d.ts +35 -0
  397. package/types/ListBox/ListBoxMenuItem.svelte.d.ts +38 -0
  398. package/types/ListBox/ListBoxSelection.svelte.d.ts +47 -0
  399. package/types/ListItem/ListItem.svelte.d.ts +21 -0
  400. package/types/Loading/Loading.svelte.d.ts +40 -0
  401. package/types/LocalStorage/LocalStorage.svelte.d.ts +34 -0
  402. package/types/Modal/Modal.svelte.d.ts +156 -0
  403. package/types/MultiSelect/MultiSelect.svelte.d.ts +264 -0
  404. package/types/Notification/InlineNotification.svelte.d.ts +82 -0
  405. package/types/Notification/NotificationActionButton.svelte.d.ts +15 -0
  406. package/types/Notification/NotificationButton.svelte.d.ts +45 -0
  407. package/types/Notification/NotificationIcon.svelte.d.ts +33 -0
  408. package/types/Notification/ToastNotification.svelte.d.ts +95 -0
  409. package/types/NumberInput/NumberInput.svelte.d.ts +168 -0
  410. package/types/NumberInput/NumberInputSkeleton.svelte.d.ts +27 -0
  411. package/types/OrderedList/OrderedList.svelte.d.ts +39 -0
  412. package/types/OverflowMenu/OverflowMenu.svelte.d.ts +96 -0
  413. package/types/OverflowMenu/OverflowMenuItem.svelte.d.ts +71 -0
  414. package/types/Pagination/Pagination.svelte.d.ts +129 -0
  415. package/types/Pagination/PaginationSkeleton.svelte.d.ts +21 -0
  416. package/types/PaginationNav/PaginationNav.svelte.d.ts +63 -0
  417. package/types/Popover/Popover.svelte.d.ts +70 -0
  418. package/types/ProgressBar/ProgressBar.svelte.d.ts +70 -0
  419. package/types/ProgressIndicator/ProgressIndicator.svelte.d.ts +46 -0
  420. package/types/ProgressIndicator/ProgressIndicatorSkeleton.svelte.d.ts +34 -0
  421. package/types/ProgressIndicator/ProgressStep.svelte.d.ts +70 -0
  422. package/types/RadioButton/RadioButton.svelte.d.ts +80 -0
  423. package/types/RadioButton/RadioButtonSkeleton.svelte.d.ts +21 -0
  424. package/types/RadioButtonGroup/RadioButtonGroup.svelte.d.ts +76 -0
  425. package/types/RecursiveList/RecursiveList.svelte.d.ts +34 -0
  426. package/types/Search/Search.svelte.d.ts +128 -0
  427. package/types/Search/SearchSkeleton.svelte.d.ts +27 -0
  428. package/types/Select/Select.svelte.d.ts +124 -0
  429. package/types/Select/SelectItem.svelte.d.ts +46 -0
  430. package/types/Select/SelectItemGroup.svelte.d.ts +28 -0
  431. package/types/Select/SelectSkeleton.svelte.d.ts +27 -0
  432. package/types/SkeletonPlaceholder/SkeletonPlaceholder.svelte.d.ts +21 -0
  433. package/types/SkeletonText/SkeletonText.svelte.d.ts +45 -0
  434. package/types/Slider/Slider.svelte.d.ts +139 -0
  435. package/types/Slider/SliderSkeleton.svelte.d.ts +27 -0
  436. package/types/StructuredList/StructuredList.svelte.d.ts +46 -0
  437. package/types/StructuredList/StructuredListBody.svelte.d.ts +21 -0
  438. package/types/StructuredList/StructuredListCell.svelte.d.ts +33 -0
  439. package/types/StructuredList/StructuredListHead.svelte.d.ts +21 -0
  440. package/types/StructuredList/StructuredListInput.svelte.d.ts +52 -0
  441. package/types/StructuredList/StructuredListRow.svelte.d.ts +40 -0
  442. package/types/StructuredList/StructuredListSkeleton.svelte.d.ts +28 -0
  443. package/types/Tabs/Tab.svelte.d.ts +58 -0
  444. package/types/Tabs/TabContent.svelte.d.ts +22 -0
  445. package/types/Tabs/Tabs.svelte.d.ts +50 -0
  446. package/types/Tabs/TabsSkeleton.svelte.d.ts +33 -0
  447. package/types/Tag/Tag.svelte.d.ts +87 -0
  448. package/types/Tag/TagSkeleton.svelte.d.ts +26 -0
  449. package/types/TextArea/TextArea.svelte.d.ts +124 -0
  450. package/types/TextArea/TextAreaSkeleton.svelte.d.ts +27 -0
  451. package/types/TextInput/PasswordInput.svelte.d.ts +154 -0
  452. package/types/TextInput/TextInput.svelte.d.ts +139 -0
  453. package/types/TextInput/TextInputSkeleton.svelte.d.ts +27 -0
  454. package/types/Theme/Theme.svelte.d.ts +58 -0
  455. package/types/Tile/ClickableTile.svelte.d.ts +46 -0
  456. package/types/Tile/ExpandableTile.svelte.d.ts +88 -0
  457. package/types/Tile/RadioTile.svelte.d.ts +77 -0
  458. package/types/Tile/SelectableTile.svelte.d.ts +84 -0
  459. package/types/Tile/Tile.svelte.d.ts +27 -0
  460. package/types/Tile/TileGroup.svelte.d.ts +46 -0
  461. package/types/TimePicker/TimePicker.svelte.d.ts +112 -0
  462. package/types/TimePicker/TimePickerSelect.svelte.d.ts +63 -0
  463. package/types/Toggle/Toggle.svelte.d.ts +80 -0
  464. package/types/Toggle/ToggleSkeleton.svelte.d.ts +39 -0
  465. package/types/Tooltip/Tooltip.svelte.d.ts +106 -0
  466. package/types/Tooltip/TooltipFooter.svelte.d.ts +15 -0
  467. package/types/TooltipDefinition/TooltipDefinition.svelte.d.ts +60 -0
  468. package/types/TooltipIcon/TooltipIcon.svelte.d.ts +65 -0
  469. package/types/TreeView/TreeView.svelte.d.ts +114 -0
  470. package/types/TreeView/index.d.ts +1 -0
  471. package/types/Truncate/Truncate.svelte.d.ts +21 -0
  472. package/types/Truncate/truncate.d.ts +12 -0
  473. package/types/UIShell/Content.svelte.d.ts +22 -0
  474. package/types/UIShell/Header.svelte.d.ts +93 -0
  475. package/types/UIShell/HeaderAction.svelte.d.ts +80 -0
  476. package/types/UIShell/HeaderActionLink.svelte.d.ts +40 -0
  477. package/types/UIShell/HeaderGlobalAction.svelte.d.ts +28 -0
  478. package/types/UIShell/HeaderNav.svelte.d.ts +16 -0
  479. package/types/UIShell/HeaderNavItem.svelte.d.ts +49 -0
  480. package/types/UIShell/HeaderNavMenu.svelte.d.ts +49 -0
  481. package/types/UIShell/HeaderPanelDivider.svelte.d.ts +9 -0
  482. package/types/UIShell/HeaderPanelLink.svelte.d.ts +28 -0
  483. package/types/UIShell/HeaderPanelLinks.svelte.d.ts +9 -0
  484. package/types/UIShell/HeaderSearch.svelte.d.ts +67 -0
  485. package/types/UIShell/HeaderUtilities.svelte.d.ts +9 -0
  486. package/types/UIShell/SideNav.svelte.d.ts +56 -0
  487. package/types/UIShell/SideNavDivider.svelte.d.ts +16 -0
  488. package/types/UIShell/SideNavItems.svelte.d.ts +9 -0
  489. package/types/UIShell/SideNavLink.svelte.d.ts +46 -0
  490. package/types/UIShell/SideNavMenu.svelte.d.ts +40 -0
  491. package/types/UIShell/SideNavMenuItem.svelte.d.ts +40 -0
  492. package/types/UIShell/SkipToContent.svelte.d.ts +28 -0
  493. package/types/UnorderedList/UnorderedList.svelte.d.ts +33 -0
  494. package/types/index.d.ts +169 -0
  495. package/types/utils/toHierarchy.d.ts +21 -0
@@ -0,0 +1,129 @@
1
+ <script>
2
+ /**
3
+ * @event {ReadonlyArray<File>} add
4
+ * @event {ReadonlyArray<File>} change
5
+ */
6
+
7
+ /**
8
+ * Specify the accepted file types
9
+ * @type {ReadonlyArray<string>}
10
+ */
11
+ export let accept = [];
12
+
13
+ /**
14
+ * Obtain a reference to the uploaded files
15
+ * @type {ReadonlyArray<File>}
16
+ */
17
+ export let files = [];
18
+
19
+ /** Set to `true` to allow multiple files */
20
+ export let multiple = false;
21
+
22
+ /**
23
+ * Override the default behavior of validating uploaded files.
24
+ * By default, files are not validated
25
+ * @type {(files: ReadonlyArray<File>) => ReadonlyArray<File>}
26
+ */
27
+ export let validateFiles = (files) => files;
28
+
29
+ /** Specify the label text */
30
+ export let labelText = "Add file";
31
+
32
+ /** Specify the `role` attribute of the drop container */
33
+ export let role = "button";
34
+
35
+ /** Set to `true` to disable the input */
36
+ export let disabled = false;
37
+
38
+ /** Specify `tabindex` attribute */
39
+ export let tabindex = "0";
40
+
41
+ /** Set an id for the input element */
42
+ export let id = "ccs-" + Math.random().toString(36);
43
+
44
+ /** Specify a name attribute for the input */
45
+ export let name = "";
46
+
47
+ /** Obtain a reference to the input HTML element */
48
+ export let ref = null;
49
+
50
+ import { createEventDispatcher } from "svelte";
51
+
52
+ const dispatch = createEventDispatcher();
53
+
54
+ let over = false;
55
+ </script>
56
+
57
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
58
+ <div
59
+ class:bx--file={true}
60
+ {...$$restProps}
61
+ on:dragover
62
+ on:dragover|preventDefault|stopPropagation={({ dataTransfer }) => {
63
+ if (!disabled) {
64
+ over = true;
65
+ dataTransfer.dropEffect = "copy";
66
+ }
67
+ }}
68
+ on:dragleave
69
+ on:dragleave|preventDefault|stopPropagation={({ dataTransfer }) => {
70
+ if (!disabled) {
71
+ over = false;
72
+ dataTransfer.dropEffect = "move";
73
+ }
74
+ }}
75
+ on:drop
76
+ on:drop|preventDefault|stopPropagation={({ dataTransfer }) => {
77
+ if (!disabled) {
78
+ over = false;
79
+ files = validateFiles([...dataTransfer.files]);
80
+ dispatch("add", files);
81
+ dispatch("change", files);
82
+ }
83
+ }}
84
+ >
85
+ <!-- svelte-ignore a11y-no-noninteractive-tabindex -->
86
+ <!-- svelte-ignore a11y-no-noninteractive-element-interactions -->
87
+ <label
88
+ for={id}
89
+ {tabindex}
90
+ class:bx--file-browse-btn={true}
91
+ class:bx--file-browse-btn--disabled={disabled}
92
+ on:keydown
93
+ on:keydown={({ key }) => {
94
+ if (key === " " || key === "Enter") {
95
+ ref.click();
96
+ }
97
+ }}
98
+ >
99
+ <div
100
+ {role}
101
+ class:bx--file__drop-container={true}
102
+ class:bx--file__drop-container--drag-over={over}
103
+ >
104
+ <slot name="labelText">
105
+ {labelText}
106
+ </slot>
107
+ </div>
108
+ </label>
109
+ <input
110
+ bind:this={ref}
111
+ type="file"
112
+ tabindex="-1"
113
+ {id}
114
+ {disabled}
115
+ {accept}
116
+ {name}
117
+ {multiple}
118
+ class:bx--file-input={true}
119
+ on:change={({ target }) => {
120
+ files = validateFiles([...target.files]);
121
+ dispatch("add", files);
122
+ dispatch("change", files);
123
+ }}
124
+ on:click
125
+ on:click={({ target }) => {
126
+ target.value = null;
127
+ }}
128
+ />
129
+ </div>
@@ -0,0 +1,79 @@
1
+ <script>
2
+ /**
3
+ * @event {string} delete
4
+ */
5
+
6
+ /**
7
+ * Specify the file uploader status
8
+ * @type {"uploading" | "edit" | "complete"}
9
+ */
10
+ export let status = "uploading";
11
+
12
+ /**
13
+ * Specify the size of button skeleton
14
+ * @type {"default" | "field" | "small"}
15
+ */
16
+ export let size = "default";
17
+
18
+ /** Specify the ARIA label used for the status icons */
19
+ export let iconDescription = "";
20
+
21
+ /** Set to `true` to indicate an invalid state */
22
+ export let invalid = false;
23
+
24
+ /** Specify the error subject text */
25
+ export let errorSubject = "";
26
+
27
+ /** Specify the error body text */
28
+ export let errorBody = "";
29
+
30
+ /** Set an id for the top-level element */
31
+ export let id = "ccs-" + Math.random().toString(36);
32
+
33
+ /** Specify the file uploader name */
34
+ export let name = "";
35
+
36
+ import { createEventDispatcher } from "svelte";
37
+ import Filename from "./Filename.svelte";
38
+
39
+ const dispatch = createEventDispatcher();
40
+ </script>
41
+
42
+ <!-- svelte-ignore a11y-mouse-events-have-key-events -->
43
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
44
+ <span
45
+ {id}
46
+ class:bx--file__selected-file={true}
47
+ class:bx--file__selected-file--invalid={invalid}
48
+ class:bx--file__selected-file--md={size === "field"}
49
+ class:bx--file__selected-file--sm={size === "small"}
50
+ {...$$restProps}
51
+ on:mouseover
52
+ on:mouseenter
53
+ on:mouseleave
54
+ >
55
+ <p class:bx--file-filename={true}>{name}</p>
56
+ <span class:bx--file__state-container={true}>
57
+ <Filename
58
+ on:keydown={({ key }) => {
59
+ if (key === " " || key === "Enter") {
60
+ dispatch("delete", id);
61
+ }
62
+ }}
63
+ on:click={() => {
64
+ dispatch("delete", id);
65
+ }}
66
+ {iconDescription}
67
+ {status}
68
+ {invalid}
69
+ />
70
+ </span>
71
+ {#if invalid && errorSubject}
72
+ <div class:bx--form-requirement={true}>
73
+ <div class:bx--form-requirement__title={true}>{errorSubject}</div>
74
+ {#if errorBody}
75
+ <p class:bx--form-requirement__supplement={true}>{errorBody}</p>
76
+ {/if}
77
+ </div>
78
+ {/if}
79
+ </span>
@@ -0,0 +1,19 @@
1
+ <script>
2
+ import ButtonSkeleton from "../Button/ButtonSkeleton.svelte";
3
+ import SkeletonText from "../SkeletonText/SkeletonText.svelte";
4
+ </script>
5
+
6
+ <!-- svelte-ignore a11y-mouse-events-have-key-events -->
7
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
8
+ <div
9
+ class:bx--form-item={true}
10
+ {...$$restProps}
11
+ on:click
12
+ on:mouseover
13
+ on:mouseenter
14
+ on:mouseleave
15
+ >
16
+ <SkeletonText heading width="100px" />
17
+ <SkeletonText width="225px" class="bx--label-description" />
18
+ <ButtonSkeleton />
19
+ </div>
@@ -0,0 +1,57 @@
1
+ <script>
2
+ /**
3
+ * @restProps {div | button | svg}
4
+ */
5
+
6
+ /**
7
+ * Specify the file name status
8
+ * @type {"uploading" | "edit" | "complete"}
9
+ */
10
+ export let status = "uploading";
11
+
12
+ /** Specify the ARIA label used for the status icons */
13
+ export let iconDescription = "";
14
+
15
+ /** Set to `true` to indicate an invalid state */
16
+ export let invalid = false;
17
+
18
+ import Close from "../icons/Close.svelte";
19
+ import CheckmarkFilled from "../icons/CheckmarkFilled.svelte";
20
+ import WarningFilled from "../icons/WarningFilled.svelte";
21
+ import Loading from "../Loading/Loading.svelte";
22
+ </script>
23
+
24
+ {#if status === "uploading"}
25
+ <Loading
26
+ description={iconDescription}
27
+ {...$$restProps}
28
+ small
29
+ withOverlay={false}
30
+ />
31
+ {/if}
32
+
33
+ {#if status === "edit"}
34
+ {#if invalid}
35
+ <WarningFilled class="bx--file-invalid" />
36
+ {/if}
37
+ <button
38
+ aria-label={iconDescription}
39
+ class:bx--file-close={true}
40
+ type="button"
41
+ tabindex="0"
42
+ {...$$restProps}
43
+ on:click
44
+ on:keydown
45
+ >
46
+ <Close />
47
+ </button>
48
+ {/if}
49
+
50
+ {#if status === "complete"}
51
+ <CheckmarkFilled
52
+ aria-label={iconDescription}
53
+ title={iconDescription}
54
+ class="bx--file-complete"
55
+ {...$$restProps}
56
+ />
57
+ {/if}
@@ -0,0 +1,6 @@
1
+ export { default as FileUploader } from "./FileUploader.svelte";
2
+ export { default as FileUploaderButton } from "./FileUploaderButton.svelte";
3
+ export { default as FileUploaderItem } from "./FileUploaderItem.svelte";
4
+ export { default as FileUploaderDropContainer } from "./FileUploaderDropContainer.svelte";
5
+ export { default as Filename } from "./Filename.svelte";
6
+ export { default as FileUploaderSkeleton } from "./FileUploaderSkeleton.svelte";
@@ -0,0 +1,23 @@
1
+ <script>
2
+ /**
3
+ * @restProps {form}
4
+ */
5
+
6
+ import { setContext } from "svelte";
7
+ import Form from "../Form/Form.svelte";
8
+
9
+ setContext("Form", { isFluid: true });
10
+ </script>
11
+
12
+ <Form
13
+ {...$$restProps}
14
+ class="bx--form--fluid {$$restProps.class}"
15
+ on:click
16
+ on:keydown
17
+ on:mouseover
18
+ on:mouseenter
19
+ on:mouseleave
20
+ on:submit
21
+ >
22
+ <slot />
23
+ </Form>
@@ -0,0 +1 @@
1
+ export { default as FluidForm } from "./FluidForm.svelte";
@@ -0,0 +1,20 @@
1
+ <script>
2
+ /** Obtain a reference to the form element */
3
+ export let ref = null;
4
+ </script>
5
+
6
+ <!-- svelte-ignore a11y-mouse-events-have-key-events -->
7
+ <!-- svelte-ignore a11y-no-noninteractive-element-interactions -->
8
+ <form
9
+ class:bx--form={true}
10
+ bind:this={ref}
11
+ {...$$restProps}
12
+ on:click
13
+ on:keydown
14
+ on:mouseover
15
+ on:mouseenter
16
+ on:mouseleave
17
+ on:submit
18
+ >
19
+ <slot />
20
+ </form>
@@ -0,0 +1 @@
1
+ export { default as Form } from "./Form.svelte";
@@ -0,0 +1,44 @@
1
+ <script>
2
+ /** Set to `true` for to remove the bottom margin */
3
+ export let noMargin = false;
4
+
5
+ /** Set to `true` to indicate an invalid state */
6
+ export let invalid = false;
7
+
8
+ /** Set to `true` to render a form requirement */
9
+ export let message = false;
10
+
11
+ /** Specify the message text */
12
+ export let messageText = "";
13
+
14
+ /** Specify the legend text */
15
+ export let legendText = "";
16
+
17
+ /** Specify an id for the legend element */
18
+ export let legendId = "";
19
+ </script>
20
+
21
+ <!-- svelte-ignore a11y-mouse-events-have-key-events -->
22
+ <!-- svelte-ignore a11y-no-noninteractive-element-interactions -->
23
+ <fieldset
24
+ data-invalid={invalid || undefined}
25
+ class:bx--fieldset={true}
26
+ class:bx--fieldset--no-margin={noMargin}
27
+ aria-labelledby={$$restProps["aria-labelledby"] || legendId}
28
+ {...$$restProps}
29
+ on:click
30
+ on:mouseover
31
+ on:mouseenter
32
+ on:mouseleave
33
+ >
34
+ {#if legendText}
35
+ <legend
36
+ class:bx--label={true}
37
+ id={legendId || $$restProps["aria-labelledby"]}>{legendText}</legend
38
+ >
39
+ {/if}
40
+ <slot />
41
+ {#if message}
42
+ <div class:bx--form__requirement={true}>{messageText}</div>
43
+ {/if}
44
+ </fieldset>
@@ -0,0 +1 @@
1
+ export { default as FormGroup } from "./FormGroup.svelte";
@@ -0,0 +1,12 @@
1
+ <!-- svelte-ignore a11y-mouse-events-have-key-events -->
2
+ <!-- svelte-ignore a11y-no-static-element-interactions -->
3
+ <div
4
+ class:bx--form-item={true}
5
+ {...$$restProps}
6
+ on:click
7
+ on:mouseover
8
+ on:mouseenter
9
+ on:mouseleave
10
+ >
11
+ <slot />
12
+ </div>
@@ -0,0 +1 @@
1
+ export { default as FormItem } from "./FormItem.svelte";
@@ -0,0 +1,18 @@
1
+ <script>
2
+ /** Set an id to be used by the label element */
3
+ export let id = "ccs-" + Math.random().toString(36);
4
+ </script>
5
+
6
+ <!-- svelte-ignore a11y-mouse-events-have-key-events -->
7
+ <!-- svelte-ignore a11y-no-noninteractive-element-interactions -->
8
+ <label
9
+ class:bx--label={true}
10
+ for={id}
11
+ {...$$restProps}
12
+ on:click
13
+ on:mouseover
14
+ on:mouseenter
15
+ on:mouseleave
16
+ >
17
+ <slot />
18
+ </label>
@@ -0,0 +1 @@
1
+ export { default as FormLabel } from "./FormLabel.svelte";
@@ -0,0 +1,119 @@
1
+ <script>
2
+ /**
3
+ * @typedef {boolean | number} ColumnSize
4
+ * @typedef {{span?: ColumnSize; offset: number;}} ColumnSizeDescriptor
5
+ * @typedef {ColumnSize | ColumnSizeDescriptor} ColumnBreakpoint
6
+ * @restProps {div}
7
+ * @slot {{props: { class: string; [key: string]: any; }}}
8
+ */
9
+
10
+ /**
11
+ * @slot {{ props?: { class: string; } }}
12
+ */
13
+
14
+ /**
15
+ * Set to `true` to render a custom HTML element
16
+ * Props are destructured as `props` in the default slot (e.g., <Column let:props><article {...props}>...</article></Column>)
17
+ */
18
+ export let as = false;
19
+
20
+ /** Set to `true` to remove the gutter */
21
+ export let noGutter = false;
22
+
23
+ /** Set to `true` to remove the left gutter */
24
+ export let noGutterLeft = false;
25
+
26
+ /** Set to `true` to remove the right gutter */
27
+ export let noGutterRight = false;
28
+
29
+ /** Set to `true` to add top and bottom padding to the column */
30
+ export let padding = false;
31
+
32
+ /**
33
+ * Specify the aspect ratio of the column
34
+ * @type {"2x1" | "16x9" | "9x16" | "1x2" | "4x3" | "3x4" | "1x1"}
35
+ */
36
+ export let aspectRatio = undefined;
37
+
38
+ /**
39
+ * Set the small breakpoint
40
+ * @type {ColumnBreakpoint}
41
+ */
42
+ export let sm = undefined;
43
+
44
+ /**
45
+ * Set the medium breakpoint
46
+ * @type {ColumnBreakpoint}
47
+ */
48
+ export let md = undefined;
49
+
50
+ /**
51
+ * Set the large breakpoint
52
+ * @type {ColumnBreakpoint}
53
+ */
54
+ export let lg = undefined;
55
+
56
+ /**
57
+ * Set the extra large breakpoint
58
+ * @type {ColumnBreakpoint}
59
+ */
60
+ export let xlg = undefined;
61
+
62
+ /**
63
+ * Set the maximum breakpoint
64
+ * @type {ColumnBreakpoint}
65
+ */
66
+ export let max = undefined;
67
+
68
+ const breakpoints = ["sm", "md", "lg", "xlg", "max"];
69
+
70
+ $: columnClass = [sm, md, lg, xlg, max]
71
+ .map((breakpoint, i) => {
72
+ const name = breakpoints[i];
73
+
74
+ if (breakpoint === true) {
75
+ return `bx--col-${name}`;
76
+ } else if (typeof breakpoint === "number") {
77
+ return `bx--col-${name}-${breakpoint}`;
78
+ } else if (typeof breakpoint === "object") {
79
+ let bp = [];
80
+
81
+ if (typeof breakpoint.span === "number") {
82
+ bp = [...bp, `bx--col-${name}-${breakpoint.span}`];
83
+ } else if (breakpoint.span === true) {
84
+ bp = [...bp, `bx--col-${name}`];
85
+ }
86
+
87
+ if (typeof breakpoint.offset === "number") {
88
+ bp = [...bp, `bx--offset-${name}-${breakpoint.offset}`];
89
+ }
90
+
91
+ return bp.join(" ");
92
+ }
93
+ })
94
+ .filter(Boolean)
95
+ .join(" ");
96
+ $: props = {
97
+ ...$$restProps,
98
+ class: [
99
+ $$restProps.class,
100
+ columnClass,
101
+ !columnClass && "bx--col",
102
+ noGutter && "bx--no-gutter",
103
+ noGutterLeft && "bx--no-gutter--left",
104
+ noGutterRight && "bx--no-gutter--right",
105
+ aspectRatio && `bx--aspect-ratio bx--aspect-ratio--${aspectRatio}`,
106
+ padding && "bx--col-padding",
107
+ ]
108
+ .filter(Boolean)
109
+ .join(" "),
110
+ };
111
+ </script>
112
+
113
+ {#if as}
114
+ <slot {props} />
115
+ {:else}
116
+ <div {...props}>
117
+ <slot />
118
+ </div>
119
+ {/if}
@@ -0,0 +1,58 @@
1
+ <script>
2
+ /**
3
+ * @restProps {div}
4
+ * @slot {{ props: { class: string; [key: string]: any; } }}
5
+ */
6
+
7
+ /**
8
+ * Set to `true` to render a custom HTML element
9
+ * Props are destructured as `props` in the default slot (e.g., <Grid let:props><header {...props}>...</header></Grid>)
10
+ */
11
+ export let as = false;
12
+
13
+ /** Set to `true` to use the condensed variant */
14
+ export let condensed = false;
15
+
16
+ /** Set to `true` to use the narrow variant */
17
+ export let narrow = false;
18
+
19
+ /** Set to `true` to use the fullWidth variant */
20
+ export let fullWidth = false;
21
+
22
+ /** Set to `true` to remove the gutter */
23
+ export let noGutter = false;
24
+
25
+ /** Set to `true` to remove the left gutter */
26
+ export let noGutterLeft = false;
27
+
28
+ /** Set to `true` to remove the right gutter */
29
+ export let noGutterRight = false;
30
+
31
+ /** Set to `true` to add top and bottom padding to all columns */
32
+ export let padding = false;
33
+
34
+ $: props = {
35
+ ...$$restProps,
36
+ class: [
37
+ $$restProps.class,
38
+ "bx--grid",
39
+ condensed && "bx--grid--condensed",
40
+ narrow && "bx--grid--narrow",
41
+ fullWidth && "bx--grid--full-width",
42
+ noGutter && "bx--no-gutter",
43
+ noGutterLeft && "bx--no-gutter--left",
44
+ noGutterRight && "bx--no-gutter--right",
45
+ padding && "bx--row-padding",
46
+ ]
47
+ .filter(Boolean)
48
+ .join(" "),
49
+ };
50
+ </script>
51
+
52
+ {#if as}
53
+ <slot {props} />
54
+ {:else}
55
+ <div {...props}>
56
+ <slot />
57
+ </div>
58
+ {/if}
@@ -0,0 +1,54 @@
1
+ <script>
2
+ /**
3
+ * @restProps {div}
4
+ * @slot {{ props: { class: string; [key: string]: any; } }}
5
+ */
6
+
7
+ /**
8
+ * Set to `true` to render a custom HTML element
9
+ * Props are destructured as `props` in the default slot (e.g., <Row let:props><section {...props}>...</section></Row>)
10
+ */
11
+ export let as = false;
12
+
13
+ /** Set to `true` to use the condensed variant */
14
+ export let condensed = false;
15
+
16
+ /** Set to `true` to use the narrow variant */
17
+ export let narrow = false;
18
+
19
+ /** Set to `true` to remove the gutter */
20
+ export let noGutter = false;
21
+
22
+ /** Set to `true` to remove the left gutter */
23
+ export let noGutterLeft = false;
24
+
25
+ /** Set to `true` to remove the right gutter */
26
+ export let noGutterRight = false;
27
+
28
+ /** Set to `true` to add top and bottom padding to all columns */
29
+ export let padding = false;
30
+
31
+ $: props = {
32
+ ...$$restProps,
33
+ class: [
34
+ $$restProps.class,
35
+ "bx--row",
36
+ condensed && "bx--row--condensed",
37
+ narrow && "bx--row--narrow",
38
+ noGutter && "bx--no-gutter",
39
+ noGutterLeft && "bx--no-gutter--left",
40
+ noGutterRight && "bx--no-gutter--right",
41
+ padding && "bx--row-padding",
42
+ ]
43
+ .filter(Boolean)
44
+ .join(" "),
45
+ };
46
+ </script>
47
+
48
+ {#if as}
49
+ <slot {props} />
50
+ {:else}
51
+ <div {...props}>
52
+ <slot />
53
+ </div>
54
+ {/if}
@@ -0,0 +1,3 @@
1
+ export { default as Grid } from "./Grid.svelte";
2
+ export { default as Row } from "./Row.svelte";
3
+ export { default as Column } from "./Column.svelte";