seblify 0.2.0 → 0.2.1

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 (400) hide show
  1. package/README.md +44 -112
  2. package/dist/components/action/input/select/segment-control/SegmentControl.svelte +145 -21
  3. package/dist/components/action/input/select/segment-control/SegmentControl.svelte.d.ts +7 -2
  4. package/dist/components/action/input/select/switch/Switch.svelte +641 -38
  5. package/dist/components/action/input/select/switch/Switch.svelte.d.ts +16 -1
  6. package/dist/components/display/annotation/tag/Tag.svelte +141 -105
  7. package/dist/components/display/data-display/visual/timeline/Timeline.svelte +161 -0
  8. package/dist/components/display/data-display/visual/timeline/Timeline.svelte.d.ts +17 -0
  9. package/dist/components/display/data-display/visual/timeline/TimelineItem.svelte +470 -0
  10. package/dist/components/display/data-display/visual/timeline/TimelineItem.svelte.d.ts +15 -0
  11. package/dist/components/display/data-display/visual/timeline/context.d.ts +14 -0
  12. package/dist/components/display/data-display/visual/timeline/context.js +14 -0
  13. package/dist/components/display/feedback/loading/loading-dots/LoadingDots.svelte +120 -51
  14. package/dist/components/display/feedback/loading/spinner/Spinner.svelte +118 -49
  15. package/dist/components/display/media/icon/IconGlyph.svelte +8 -2
  16. package/dist/components/display/typography/code-snippet/CodeSnippet.svelte +145 -0
  17. package/dist/components/display/typography/code-snippet/CodeSnippet.svelte.d.ts +9 -0
  18. package/dist/components/display/typography/code-snippet/tokenize.d.ts +10 -0
  19. package/dist/components/display/typography/code-snippet/tokenize.js +352 -0
  20. package/dist/components/framework/layout/container/app-shell/AppShell.svelte +1 -1
  21. package/dist/components/framework/navigation/sidebar/sidebar/Sidebar.svelte +712 -0
  22. package/dist/components/framework/navigation/sidebar/sidebar/Sidebar.svelte.d.ts +18 -0
  23. package/dist/components/framework/navigation/sidebar/sidenav/Sidenav.svelte +195 -0
  24. package/dist/components/framework/navigation/sidebar/sidenav/Sidenav.svelte.d.ts +17 -0
  25. package/dist/components/framework/navigation/sidebar/sidenav/SidenavItem.svelte +89 -0
  26. package/dist/components/framework/navigation/sidebar/sidenav/SidenavItem.svelte.d.ts +19 -0
  27. package/dist/components/framework/navigation/sidebar/sidenav/fragments/SidenavItemBranch.svelte +203 -0
  28. package/dist/components/framework/navigation/sidebar/sidenav/fragments/SidenavItemBranch.svelte.d.ts +21 -0
  29. package/dist/components/framework/navigation/sidebar/sidenav/fragments/SidenavItemDivider.svelte +17 -0
  30. package/dist/components/framework/navigation/sidebar/sidenav/fragments/SidenavItemDivider.svelte.d.ts +26 -0
  31. package/dist/components/framework/navigation/sidebar/sidenav/fragments/SidenavItemLeaf.svelte +85 -0
  32. package/dist/components/framework/navigation/sidebar/sidenav/fragments/SidenavItemLeaf.svelte.d.ts +17 -0
  33. package/dist/components/framework/navigation/sidebar/sidenav/fragments/SidenavItemRow.svelte +404 -0
  34. package/dist/components/framework/navigation/sidebar/sidenav/fragments/SidenavItemRow.svelte.d.ts +30 -0
  35. package/dist/components/framework/navigation/sidebar/sidenav/sidenav.d.ts +29 -0
  36. package/dist/components/framework/navigation/sidebar/sidenav/sidenav.js +86 -0
  37. package/dist/design-system/inheritance/tokens.d.ts +7 -0
  38. package/dist/design-system/inheritance/tokens.js +39 -0
  39. package/dist/design-system/reserved-props/allowed-options.d.ts +7 -2
  40. package/dist/icons/generated/alarm-snooze.svelte +16 -0
  41. package/dist/icons/generated/alarm-snooze.svelte.d.ts +7 -0
  42. package/dist/icons/generated/alarm.svelte +16 -0
  43. package/dist/icons/generated/alarm.svelte.d.ts +7 -0
  44. package/dist/icons/generated/alert-octagon-outline.svelte +16 -0
  45. package/dist/icons/generated/alert-octagon-outline.svelte.d.ts +7 -0
  46. package/dist/icons/generated/alert-octagon.svelte +16 -0
  47. package/dist/icons/generated/alert-octagon.svelte.d.ts +7 -0
  48. package/dist/icons/generated/arrow-bottom-left-thin.svelte +16 -0
  49. package/dist/icons/generated/arrow-bottom-left-thin.svelte.d.ts +7 -0
  50. package/dist/icons/generated/arrow-bottom-right-thin.svelte +16 -0
  51. package/dist/icons/generated/arrow-bottom-right-thin.svelte.d.ts +7 -0
  52. package/dist/icons/generated/arrow-down-thin.svelte +16 -0
  53. package/dist/icons/generated/arrow-down-thin.svelte.d.ts +7 -0
  54. package/dist/icons/generated/arrow-left-thin.svelte +16 -0
  55. package/dist/icons/generated/arrow-left-thin.svelte.d.ts +7 -0
  56. package/dist/icons/generated/arrow-right-thin.svelte +16 -0
  57. package/dist/icons/generated/arrow-right-thin.svelte.d.ts +7 -0
  58. package/dist/icons/generated/arrow-top-left-thin.svelte +16 -0
  59. package/dist/icons/generated/arrow-top-left-thin.svelte.d.ts +7 -0
  60. package/dist/icons/generated/arrow-top-right-thin.svelte +16 -0
  61. package/dist/icons/generated/arrow-top-right-thin.svelte.d.ts +7 -0
  62. package/dist/icons/generated/arrow-up-thin.svelte +16 -0
  63. package/dist/icons/generated/arrow-up-thin.svelte.d.ts +7 -0
  64. package/dist/icons/generated/bell-outline.svelte +16 -0
  65. package/dist/icons/generated/bell-outline.svelte.d.ts +7 -0
  66. package/dist/icons/generated/bell.svelte +16 -0
  67. package/dist/icons/generated/bell.svelte.d.ts +7 -0
  68. package/dist/icons/generated/book-open-blank-variant-outline.svelte +16 -0
  69. package/dist/icons/generated/book-open-blank-variant-outline.svelte.d.ts +7 -0
  70. package/dist/icons/generated/book-open-blank-variant.svelte +16 -0
  71. package/dist/icons/generated/book-open-blank-variant.svelte.d.ts +7 -0
  72. package/dist/icons/generated/book-open-page-variant-outline.svelte +16 -0
  73. package/dist/icons/generated/book-open-page-variant-outline.svelte.d.ts +7 -0
  74. package/dist/icons/generated/book-open-page-variant.svelte +16 -0
  75. package/dist/icons/generated/book-open-page-variant.svelte.d.ts +7 -0
  76. package/dist/icons/generated/book-open-variant-outline.svelte +16 -0
  77. package/dist/icons/generated/book-open-variant-outline.svelte.d.ts +7 -0
  78. package/dist/icons/generated/book-open-variant.svelte +16 -0
  79. package/dist/icons/generated/book-open-variant.svelte.d.ts +7 -0
  80. package/dist/icons/generated/book-plus-outline.svelte +16 -0
  81. package/dist/icons/generated/book-plus-outline.svelte.d.ts +7 -0
  82. package/dist/icons/generated/button-cursor.svelte +16 -0
  83. package/dist/icons/generated/button-cursor.svelte.d.ts +7 -0
  84. package/dist/icons/generated/calendar-blank-outline.svelte +16 -0
  85. package/dist/icons/generated/calendar-blank-outline.svelte.d.ts +7 -0
  86. package/dist/icons/generated/calendar-blank.svelte +16 -0
  87. package/dist/icons/generated/calendar-blank.svelte.d.ts +7 -0
  88. package/dist/icons/generated/calendar-outline.svelte +16 -0
  89. package/dist/icons/generated/calendar-outline.svelte.d.ts +7 -0
  90. package/dist/icons/generated/calendar.svelte +16 -0
  91. package/dist/icons/generated/calendar.svelte.d.ts +7 -0
  92. package/dist/icons/generated/cancel.svelte +16 -0
  93. package/dist/icons/generated/cancel.svelte.d.ts +7 -0
  94. package/dist/icons/generated/certificate-outline.svelte +16 -0
  95. package/dist/icons/generated/certificate-outline.svelte.d.ts +7 -0
  96. package/dist/icons/generated/chart-box-outline.svelte +16 -0
  97. package/dist/icons/generated/chart-box-outline.svelte.d.ts +7 -0
  98. package/dist/icons/generated/chart-box.svelte +16 -0
  99. package/dist/icons/generated/chart-box.svelte.d.ts +7 -0
  100. package/dist/icons/generated/chat-outline.svelte +16 -0
  101. package/dist/icons/generated/chat-outline.svelte.d.ts +7 -0
  102. package/dist/icons/generated/chat-processing-outline.svelte +16 -0
  103. package/dist/icons/generated/chat-processing-outline.svelte.d.ts +7 -0
  104. package/dist/icons/generated/chat-processing.svelte +16 -0
  105. package/dist/icons/generated/chat-processing.svelte.d.ts +7 -0
  106. package/dist/icons/generated/chat-question-outline.svelte +16 -0
  107. package/dist/icons/generated/chat-question-outline.svelte.d.ts +7 -0
  108. package/dist/icons/generated/chat-question.svelte +16 -0
  109. package/dist/icons/generated/chat-question.svelte.d.ts +7 -0
  110. package/dist/icons/generated/chat.svelte +16 -0
  111. package/dist/icons/generated/chat.svelte.d.ts +7 -0
  112. package/dist/icons/generated/circle-large-outline.svelte +16 -0
  113. package/dist/icons/generated/circle-large-outline.svelte.d.ts +7 -0
  114. package/dist/icons/generated/circle-large.svelte +16 -0
  115. package/dist/icons/generated/circle-large.svelte.d.ts +7 -0
  116. package/dist/icons/generated/circle-medium.svelte +16 -0
  117. package/dist/icons/generated/circle-medium.svelte.d.ts +7 -0
  118. package/dist/icons/generated/circle-outline.svelte +16 -0
  119. package/dist/icons/generated/circle-outline.svelte.d.ts +7 -0
  120. package/dist/icons/generated/circle-small.svelte +16 -0
  121. package/dist/icons/generated/circle-small.svelte.d.ts +7 -0
  122. package/dist/icons/generated/circle.svelte +16 -0
  123. package/dist/icons/generated/circle.svelte.d.ts +7 -0
  124. package/dist/icons/generated/clipboard-account-outline.svelte +16 -0
  125. package/dist/icons/generated/clipboard-account-outline.svelte.d.ts +7 -0
  126. package/dist/icons/generated/clipboard-arrow-down-outline.svelte +16 -0
  127. package/dist/icons/generated/clipboard-arrow-down-outline.svelte.d.ts +7 -0
  128. package/dist/icons/generated/clipboard-arrow-up-outline.svelte +16 -0
  129. package/dist/icons/generated/clipboard-arrow-up-outline.svelte.d.ts +7 -0
  130. package/dist/icons/generated/clipboard-clock-outline.svelte +16 -0
  131. package/dist/icons/generated/clipboard-clock-outline.svelte.d.ts +7 -0
  132. package/dist/icons/generated/clipboard-edit-outline.svelte +16 -0
  133. package/dist/icons/generated/clipboard-edit-outline.svelte.d.ts +7 -0
  134. package/dist/icons/generated/clipboard-edit.svelte +16 -0
  135. package/dist/icons/generated/clipboard-edit.svelte.d.ts +7 -0
  136. package/dist/icons/generated/clipboard-flow-outline.svelte +16 -0
  137. package/dist/icons/generated/clipboard-flow-outline.svelte.d.ts +7 -0
  138. package/dist/icons/generated/clipboard-text-clock-outline.svelte +16 -0
  139. package/dist/icons/generated/clipboard-text-clock-outline.svelte.d.ts +7 -0
  140. package/dist/icons/generated/clipboard-text-clock.svelte +16 -0
  141. package/dist/icons/generated/clipboard-text-clock.svelte.d.ts +7 -0
  142. package/dist/icons/generated/clipboard-text-outline.svelte +16 -0
  143. package/dist/icons/generated/clipboard-text-outline.svelte.d.ts +7 -0
  144. package/dist/icons/generated/clipboard-text.svelte +16 -0
  145. package/dist/icons/generated/clipboard-text.svelte.d.ts +7 -0
  146. package/dist/icons/generated/clock-outline.svelte +16 -0
  147. package/dist/icons/generated/clock-outline.svelte.d.ts +7 -0
  148. package/dist/icons/generated/clock.svelte +16 -0
  149. package/dist/icons/generated/clock.svelte.d.ts +7 -0
  150. package/dist/icons/generated/cog-outline.svelte +16 -0
  151. package/dist/icons/generated/cog-outline.svelte.d.ts +7 -0
  152. package/dist/icons/generated/cog.svelte +16 -0
  153. package/dist/icons/generated/cog.svelte.d.ts +7 -0
  154. package/dist/icons/generated/copy.svelte +16 -0
  155. package/dist/icons/generated/copy.svelte.d.ts +7 -0
  156. package/dist/icons/generated/creation-outline.svelte +16 -0
  157. package/dist/icons/generated/creation-outline.svelte.d.ts +7 -0
  158. package/dist/icons/generated/creation.svelte +16 -0
  159. package/dist/icons/generated/creation.svelte.d.ts +7 -0
  160. package/dist/icons/generated/cursor-default-click-outline.svelte +16 -0
  161. package/dist/icons/generated/cursor-default-click-outline.svelte.d.ts +7 -0
  162. package/dist/icons/generated/cursor-default-click.svelte +16 -0
  163. package/dist/icons/generated/cursor-default-click.svelte.d.ts +7 -0
  164. package/dist/icons/generated/duck.svelte +16 -0
  165. package/dist/icons/generated/duck.svelte.d.ts +7 -0
  166. package/dist/icons/generated/email-open-outline.svelte +23 -0
  167. package/dist/icons/generated/email-open-outline.svelte.d.ts +7 -0
  168. package/dist/icons/generated/email-open.svelte +16 -0
  169. package/dist/icons/generated/email-open.svelte.d.ts +7 -0
  170. package/dist/icons/generated/email-outline.svelte +16 -0
  171. package/dist/icons/generated/email-outline.svelte.d.ts +7 -0
  172. package/dist/icons/generated/email.svelte +16 -0
  173. package/dist/icons/generated/email.svelte.d.ts +7 -0
  174. package/dist/icons/generated/emoticon-angry-outline.svelte +16 -0
  175. package/dist/icons/generated/emoticon-angry-outline.svelte.d.ts +7 -0
  176. package/dist/icons/generated/emoticon-angry.svelte +16 -0
  177. package/dist/icons/generated/emoticon-angry.svelte.d.ts +7 -0
  178. package/dist/icons/generated/emoticon-confused-outline.svelte +16 -0
  179. package/dist/icons/generated/emoticon-confused-outline.svelte.d.ts +7 -0
  180. package/dist/icons/generated/emoticon-confused.svelte +16 -0
  181. package/dist/icons/generated/emoticon-confused.svelte.d.ts +7 -0
  182. package/dist/icons/generated/emoticon-cool-outline.svelte +16 -0
  183. package/dist/icons/generated/emoticon-cool-outline.svelte.d.ts +7 -0
  184. package/dist/icons/generated/emoticon-cool.svelte +16 -0
  185. package/dist/icons/generated/emoticon-cool.svelte.d.ts +7 -0
  186. package/dist/icons/generated/emoticon-excited-outline.svelte +16 -0
  187. package/dist/icons/generated/emoticon-excited-outline.svelte.d.ts +7 -0
  188. package/dist/icons/generated/emoticon-excited.svelte +16 -0
  189. package/dist/icons/generated/emoticon-excited.svelte.d.ts +7 -0
  190. package/dist/icons/generated/emoticon-frown-outline.svelte +16 -0
  191. package/dist/icons/generated/emoticon-frown-outline.svelte.d.ts +7 -0
  192. package/dist/icons/generated/emoticon-frown.svelte +16 -0
  193. package/dist/icons/generated/emoticon-frown.svelte.d.ts +7 -0
  194. package/dist/icons/generated/emoticon-happy-outline.svelte +16 -0
  195. package/dist/icons/generated/emoticon-happy-outline.svelte.d.ts +7 -0
  196. package/dist/icons/generated/emoticon-happy.svelte +16 -0
  197. package/dist/icons/generated/emoticon-happy.svelte.d.ts +7 -0
  198. package/dist/icons/generated/emoticon-neutral-outline.svelte +16 -0
  199. package/dist/icons/generated/emoticon-neutral-outline.svelte.d.ts +7 -0
  200. package/dist/icons/generated/emoticon-neutral.svelte +16 -0
  201. package/dist/icons/generated/emoticon-neutral.svelte.d.ts +7 -0
  202. package/dist/icons/generated/emoticon-outline.svelte +16 -0
  203. package/dist/icons/generated/emoticon-outline.svelte.d.ts +7 -0
  204. package/dist/icons/generated/emoticon-sad-outline.svelte +16 -0
  205. package/dist/icons/generated/emoticon-sad-outline.svelte.d.ts +7 -0
  206. package/dist/icons/generated/emoticon-sad.svelte +16 -0
  207. package/dist/icons/generated/emoticon-sad.svelte.d.ts +7 -0
  208. package/dist/icons/generated/emoticon.svelte +16 -0
  209. package/dist/icons/generated/emoticon.svelte.d.ts +7 -0
  210. package/dist/icons/generated/eye-closed.svelte +16 -0
  211. package/dist/icons/generated/eye-closed.svelte.d.ts +7 -0
  212. package/dist/icons/generated/eye-off-outline.svelte +16 -0
  213. package/dist/icons/generated/eye-off-outline.svelte.d.ts +7 -0
  214. package/dist/icons/generated/eye-off.svelte +16 -0
  215. package/dist/icons/generated/eye-off.svelte.d.ts +7 -0
  216. package/dist/icons/generated/eye-outline.svelte +16 -0
  217. package/dist/icons/generated/eye-outline.svelte.d.ts +7 -0
  218. package/dist/icons/generated/eye.svelte +16 -0
  219. package/dist/icons/generated/eye.svelte.d.ts +7 -0
  220. package/dist/icons/generated/eyedropper.svelte +16 -0
  221. package/dist/icons/generated/eyedropper.svelte.d.ts +7 -0
  222. package/dist/icons/generated/file-document-outline.svelte +16 -0
  223. package/dist/icons/generated/file-document-outline.svelte.d.ts +7 -0
  224. package/dist/icons/generated/file-document.svelte +16 -0
  225. package/dist/icons/generated/file-document.svelte.d.ts +7 -0
  226. package/dist/icons/generated/file-star-outline.svelte +16 -0
  227. package/dist/icons/generated/file-star-outline.svelte.d.ts +7 -0
  228. package/dist/icons/generated/flower-head.svelte +16 -0
  229. package/dist/icons/generated/flower-head.svelte.d.ts +7 -0
  230. package/dist/icons/generated/flower-tulip.svelte +16 -0
  231. package/dist/icons/generated/flower-tulip.svelte.d.ts +7 -0
  232. package/dist/icons/generated/flower.svelte +16 -0
  233. package/dist/icons/generated/flower.svelte.d.ts +7 -0
  234. package/dist/icons/generated/folder-open-outline.svelte +16 -0
  235. package/dist/icons/generated/folder-open-outline.svelte.d.ts +7 -0
  236. package/dist/icons/generated/folder-open.svelte +16 -0
  237. package/dist/icons/generated/folder-open.svelte.d.ts +7 -0
  238. package/dist/icons/generated/folder-outline.svelte +16 -0
  239. package/dist/icons/generated/folder-outline.svelte.d.ts +7 -0
  240. package/dist/icons/generated/folder.svelte +16 -0
  241. package/dist/icons/generated/folder.svelte.d.ts +7 -0
  242. package/dist/icons/generated/format-color-fill.svelte +16 -0
  243. package/dist/icons/generated/format-color-fill.svelte.d.ts +7 -0
  244. package/dist/icons/generated/format-color-highlight.svelte +16 -0
  245. package/dist/icons/generated/format-color-highlight.svelte.d.ts +7 -0
  246. package/dist/icons/generated/format-list-bulleted-square.svelte +16 -0
  247. package/dist/icons/generated/format-list-bulleted-square.svelte.d.ts +7 -0
  248. package/dist/icons/generated/format-list-bulleted.svelte +16 -0
  249. package/dist/icons/generated/format-list-bulleted.svelte.d.ts +7 -0
  250. package/dist/icons/generated/format-quote-close-outline.svelte +16 -0
  251. package/dist/icons/generated/format-quote-close-outline.svelte.d.ts +7 -0
  252. package/dist/icons/generated/format-quote-close.svelte +16 -0
  253. package/dist/icons/generated/format-quote-close.svelte.d.ts +7 -0
  254. package/dist/icons/generated/format-quote-open-outline.svelte +16 -0
  255. package/dist/icons/generated/format-quote-open-outline.svelte.d.ts +7 -0
  256. package/dist/icons/generated/format-quote-open.svelte +16 -0
  257. package/dist/icons/generated/format-quote-open.svelte.d.ts +7 -0
  258. package/dist/icons/generated/group.svelte +16 -0
  259. package/dist/icons/generated/group.svelte.d.ts +7 -0
  260. package/dist/icons/generated/handle-grip.svelte +16 -0
  261. package/dist/icons/generated/handle-grip.svelte.d.ts +7 -0
  262. package/dist/icons/generated/image-outline.svelte +16 -0
  263. package/dist/icons/generated/image-outline.svelte.d.ts +7 -0
  264. package/dist/icons/generated/image.svelte +16 -0
  265. package/dist/icons/generated/image.svelte.d.ts +7 -0
  266. package/dist/icons/generated/index.d.ts +173 -0
  267. package/dist/icons/generated/index.js +173 -0
  268. package/dist/icons/generated/lead-pencil.svelte +16 -0
  269. package/dist/icons/generated/lead-pencil.svelte.d.ts +7 -0
  270. package/dist/icons/generated/lightbulb-outline.svelte +16 -0
  271. package/dist/icons/generated/lightbulb-outline.svelte.d.ts +7 -0
  272. package/dist/icons/generated/lightbulb.svelte +16 -0
  273. package/dist/icons/generated/lightbulb.svelte.d.ts +7 -0
  274. package/dist/icons/generated/lock-open-outline.svelte +16 -0
  275. package/dist/icons/generated/lock-open-outline.svelte.d.ts +7 -0
  276. package/dist/icons/generated/lock-open.svelte +16 -0
  277. package/dist/icons/generated/lock-open.svelte.d.ts +7 -0
  278. package/dist/icons/generated/lock-outline.svelte +16 -0
  279. package/dist/icons/generated/lock-outline.svelte.d.ts +7 -0
  280. package/dist/icons/generated/lock.svelte +16 -0
  281. package/dist/icons/generated/lock.svelte.d.ts +7 -0
  282. package/dist/icons/generated/magic-wand.svelte +16 -0
  283. package/dist/icons/generated/magic-wand.svelte.d.ts +7 -0
  284. package/dist/icons/generated/magnify.svelte +16 -0
  285. package/dist/icons/generated/magnify.svelte.d.ts +7 -0
  286. package/dist/icons/generated/manifest.js +1464 -62
  287. package/dist/icons/generated/menu-down.svelte +16 -0
  288. package/dist/icons/generated/menu-down.svelte.d.ts +7 -0
  289. package/dist/icons/generated/menu-up.svelte +16 -0
  290. package/dist/icons/generated/menu-up.svelte.d.ts +7 -0
  291. package/dist/icons/generated/minus-thick.svelte +16 -0
  292. package/dist/icons/generated/minus-thick.svelte.d.ts +7 -0
  293. package/dist/icons/generated/minus.svelte +16 -0
  294. package/dist/icons/generated/minus.svelte.d.ts +7 -0
  295. package/dist/icons/generated/page-layout-header-footer.svelte +16 -0
  296. package/dist/icons/generated/page-layout-header-footer.svelte.d.ts +7 -0
  297. package/dist/icons/generated/palette-outline.svelte +16 -0
  298. package/dist/icons/generated/palette-outline.svelte.d.ts +7 -0
  299. package/dist/icons/generated/palette.svelte +16 -0
  300. package/dist/icons/generated/palette.svelte.d.ts +7 -0
  301. package/dist/icons/generated/pause.svelte +16 -0
  302. package/dist/icons/generated/pause.svelte.d.ts +7 -0
  303. package/dist/icons/generated/pen.svelte +16 -0
  304. package/dist/icons/generated/pen.svelte.d.ts +7 -0
  305. package/dist/icons/generated/pencil-outline.svelte +16 -0
  306. package/dist/icons/generated/pencil-outline.svelte.d.ts +7 -0
  307. package/dist/icons/generated/pencil.svelte +16 -0
  308. package/dist/icons/generated/pencil.svelte.d.ts +7 -0
  309. package/dist/icons/generated/percent.svelte +16 -0
  310. package/dist/icons/generated/percent.svelte.d.ts +7 -0
  311. package/dist/icons/generated/pine-tree-box.svelte +16 -0
  312. package/dist/icons/generated/pine-tree-box.svelte.d.ts +7 -0
  313. package/dist/icons/generated/pine-tree-variant-outline.svelte +16 -0
  314. package/dist/icons/generated/pine-tree-variant-outline.svelte.d.ts +7 -0
  315. package/dist/icons/generated/play-pause.svelte +16 -0
  316. package/dist/icons/generated/play-pause.svelte.d.ts +7 -0
  317. package/dist/icons/generated/play.svelte +16 -0
  318. package/dist/icons/generated/play.svelte.d.ts +7 -0
  319. package/dist/icons/generated/plus-thick.svelte +16 -0
  320. package/dist/icons/generated/plus-thick.svelte.d.ts +7 -0
  321. package/dist/icons/generated/plus.svelte +16 -0
  322. package/dist/icons/generated/plus.svelte.d.ts +7 -0
  323. package/dist/icons/generated/reset-focus.svelte +16 -0
  324. package/dist/icons/generated/reset-focus.svelte.d.ts +7 -0
  325. package/dist/icons/generated/reset.svelte +16 -0
  326. package/dist/icons/generated/reset.svelte.d.ts +7 -0
  327. package/dist/icons/generated/ruler-square.svelte +16 -0
  328. package/dist/icons/generated/ruler-square.svelte.d.ts +7 -0
  329. package/dist/icons/generated/ruler.svelte +16 -0
  330. package/dist/icons/generated/ruler.svelte.d.ts +7 -0
  331. package/dist/icons/generated/star-outline.svelte +16 -0
  332. package/dist/icons/generated/star-outline.svelte.d.ts +7 -0
  333. package/dist/icons/generated/star.svelte +16 -0
  334. package/dist/icons/generated/star.svelte.d.ts +7 -0
  335. package/dist/icons/generated/table-border.svelte +16 -0
  336. package/dist/icons/generated/table-border.svelte.d.ts +7 -0
  337. package/dist/icons/generated/tag-multiple-outline.svelte +16 -0
  338. package/dist/icons/generated/tag-multiple-outline.svelte.d.ts +7 -0
  339. package/dist/icons/generated/tag-multiple.svelte +16 -0
  340. package/dist/icons/generated/tag-multiple.svelte.d.ts +7 -0
  341. package/dist/icons/generated/tag-outline.svelte +16 -0
  342. package/dist/icons/generated/tag-outline.svelte.d.ts +7 -0
  343. package/dist/icons/generated/tag.svelte +16 -0
  344. package/dist/icons/generated/tag.svelte.d.ts +7 -0
  345. package/dist/icons/generated/text-box-outline.svelte +16 -0
  346. package/dist/icons/generated/text-box-outline.svelte.d.ts +7 -0
  347. package/dist/icons/generated/text-box-plus-outline.svelte +16 -0
  348. package/dist/icons/generated/text-box-plus-outline.svelte.d.ts +7 -0
  349. package/dist/icons/generated/text-box-plus.svelte +16 -0
  350. package/dist/icons/generated/text-box-plus.svelte.d.ts +7 -0
  351. package/dist/icons/generated/text-box.svelte +16 -0
  352. package/dist/icons/generated/text-box.svelte.d.ts +7 -0
  353. package/dist/icons/generated/thumb-down-outline.svelte +16 -0
  354. package/dist/icons/generated/thumb-down-outline.svelte.d.ts +7 -0
  355. package/dist/icons/generated/thumb-down.svelte +16 -0
  356. package/dist/icons/generated/thumb-down.svelte.d.ts +7 -0
  357. package/dist/icons/generated/thumb-up-outline.svelte +16 -0
  358. package/dist/icons/generated/thumb-up-outline.svelte.d.ts +7 -0
  359. package/dist/icons/generated/thumb-up.svelte +16 -0
  360. package/dist/icons/generated/thumb-up.svelte.d.ts +7 -0
  361. package/dist/icons/generated/tilde.svelte +16 -0
  362. package/dist/icons/generated/tilde.svelte.d.ts +7 -0
  363. package/dist/icons/generated/tooltip-image-outline.svelte +16 -0
  364. package/dist/icons/generated/tooltip-image-outline.svelte.d.ts +7 -0
  365. package/dist/icons/generated/tooltip-question-outline.svelte +16 -0
  366. package/dist/icons/generated/tooltip-question-outline.svelte.d.ts +7 -0
  367. package/dist/icons/generated/tooltip-question.svelte +16 -0
  368. package/dist/icons/generated/tooltip-question.svelte.d.ts +7 -0
  369. package/dist/icons/generated/tooltip-text-outline.svelte +16 -0
  370. package/dist/icons/generated/tooltip-text-outline.svelte.d.ts +7 -0
  371. package/dist/icons/generated/tooltip-text.svelte +16 -0
  372. package/dist/icons/generated/tooltip-text.svelte.d.ts +7 -0
  373. package/dist/icons/generated/triangle-down-outline.svelte +16 -0
  374. package/dist/icons/generated/triangle-down-outline.svelte.d.ts +7 -0
  375. package/dist/icons/generated/triangle-down.svelte +16 -0
  376. package/dist/icons/generated/triangle-down.svelte.d.ts +7 -0
  377. package/dist/icons/generated/triangle-outline.svelte +16 -0
  378. package/dist/icons/generated/triangle-outline.svelte.d.ts +7 -0
  379. package/dist/icons/generated/triangle-small-down.svelte +16 -0
  380. package/dist/icons/generated/triangle-small-down.svelte.d.ts +7 -0
  381. package/dist/icons/generated/triangle-small.svelte +16 -0
  382. package/dist/icons/generated/triangle-small.svelte.d.ts +7 -0
  383. package/dist/icons/generated/triangle.svelte +16 -0
  384. package/dist/icons/generated/triangle.svelte.d.ts +7 -0
  385. package/dist/icons/generated/view-grid-outline.svelte +16 -0
  386. package/dist/icons/generated/view-grid-outline.svelte.d.ts +7 -0
  387. package/dist/icons/generated/view-grid.svelte +16 -0
  388. package/dist/icons/generated/view-grid.svelte.d.ts +7 -0
  389. package/dist/index.d.ts +7 -3
  390. package/dist/index.js +6 -2
  391. package/dist/styles/tone-context.css +94 -0
  392. package/package.json +2 -1
  393. package/dist/components/framework/layout/container/sidebar/Sidebar.svelte +0 -134
  394. package/dist/components/framework/layout/container/sidebar/Sidebar.svelte.d.ts +0 -9
  395. package/dist/components/framework/navigation/sidenav/Sidenav.svelte +0 -86
  396. package/dist/components/framework/navigation/sidenav/Sidenav.svelte.d.ts +0 -8
  397. package/dist/components/framework/navigation/sidenav/SidenavTree.svelte +0 -265
  398. package/dist/components/framework/navigation/sidenav/SidenavTree.svelte.d.ts +0 -14
  399. package/dist/components/framework/navigation/sidenav/sidenav.d.ts +0 -6
  400. package/dist/components/framework/navigation/sidenav/sidenav.js +0 -1
package/README.md CHANGED
@@ -36,7 +36,7 @@ import 'seblify/theme.css';
36
36
  Explore the supported components in this library. Components are grouped by purpose and linked to their full documentation, including usage examples, props, accessibility notes, and design-system guidance.
37
37
 
38
38
  [![components-stable](https://img.shields.io/badge/stable-0%20components-brightgreen.svg)](https://seblify.com/components)
39
- [![components-beta](https://img.shields.io/badge/beta-0%20components-yellow.svg)](https://seblify.com/components)
39
+ [![components-beta](https://img.shields.io/badge/beta-2%20components-yellow.svg)](https://seblify.com/components)
40
40
  [![components-draft](https://img.shields.io/badge/draft-24%20components-lightgrey.svg)](https://seblify.com/components)
41
41
 
42
42
  ### Quick links
@@ -84,10 +84,14 @@ Controls for selecting boolean, range, or option-based values.
84
84
 
85
85
  ### Display Components
86
86
 
87
- _8 items_
87
+ _10 items_
88
88
 
89
89
  Components for showing content, feedback, media, and motion.
90
90
 
91
+ | Component | Summary | Status |
92
+ | --- | --- | --- |
93
+ | [Timeline](https://seblify.com/components/timeline) | Arranges connected timeline items vertically or horizontally with flexible content, labels, and markers. | Beta |
94
+
91
95
  <details>
92
96
  <summary><strong>Annotation &middot; 3</strong></summary>
93
97
 
@@ -116,14 +120,15 @@ Progress indicators and waiting states.
116
120
  <br />
117
121
 
118
122
  <details>
119
- <summary><strong>Typography &middot; 2</strong></summary>
123
+ <summary><strong>Typography &middot; 3</strong></summary>
120
124
 
121
125
  Text primitives and typographic treatments for readable interfaces.
122
126
 
123
127
  | Component | Summary | Status |
124
128
  | --- | --- | --- |
129
+ | [CodeSnippet](https://seblify.com/components/code-snippet) | Displays formatted code snippets with Svelte-focused highlighting and optional line numbers. | Draft |
125
130
  | [Eyebrow](https://seblify.com/components/eyebrow) | A short contextual label that sits above a heading or dense content block. | Draft |
126
- | [Highlight](https://seblify.com/components/highlight) | Highlights case-insensitive text matches inside a plain text string. | Draft |
131
+ | [Highlight](https://seblify.com/components/highlight) | Highlights case-insensitive text matches inside a plain text string. | Beta |
127
132
 
128
133
  </details>
129
134
  <br />
@@ -162,7 +167,7 @@ Small layout primitives for spacing and aligning content.
162
167
  <br />
163
168
 
164
169
  <details>
165
- <summary><strong>Container &middot; 3</strong></summary>
170
+ <summary><strong>Container &middot; 2</strong></summary>
166
171
 
167
172
  Page and region containers that define app structure.
168
173
 
@@ -170,20 +175,20 @@ Page and region containers that define app structure.
170
175
  | --- | --- | --- |
171
176
  | [AppShell](https://seblify.com/components/app-shell) | A full-page application frame with sidebar, header, and content regions. | Draft |
172
177
  | [PageHeader](https://seblify.com/components/page-header) | A page-level heading block with optional breadcrumb, eyebrow, summary, and actions. | Draft |
173
- | [Sidebar](https://seblify.com/components/sidebar) | A responsive side container for persistent or overlay navigation. | Draft |
174
178
 
175
179
  </details>
176
180
  <br />
177
181
 
178
182
  <details>
179
- <summary><strong>Navigation &middot; 2</strong></summary>
183
+ <summary><strong>Navigation &middot; 3</strong></summary>
180
184
 
181
185
  Components that help users understand location and move around.
182
186
 
183
187
  | Component | Summary | Status |
184
188
  | --- | --- | --- |
185
189
  | [Breadcrumb](https://seblify.com/components/breadcrumb) | A contextual navigation trail for showing page hierarchy. | Draft |
186
- | [Sidenav](https://seblify.com/components/sidenav) | A hierarchical side navigation for sections, links, and nested pages. | Draft |
190
+ | [Sidebar](https://seblify.com/components/sidebar) | An orchestrator for main and deep sidebar navigation panels, with optional brand, search, and footer content. | Draft |
191
+ | [Sidenav](https://seblify.com/components/sidenav) | A recursive side navigation that renders links, headers, dividers, and expandable branches from a data tree. | Draft |
187
192
 
188
193
  </details>
189
194
  <br />
@@ -208,138 +213,65 @@ Theme, tokens, and styling guidance for Seblify.
208
213
  | --- | --- |
209
214
  | [Component&nbsp;API](https://seblify.com/design-system/component-api) | Shared prop naming rules for variants, tones, size, slots, radius, placement, and contextual inheritance. |
210
215
  | [Icons](https://seblify.com/design-system/icons) | Browse all generated Seblify icons, grouped automatically from the SVG source folders. |
216
+ | [Inheritance](https://seblify.com/design-system/inheritance) | Ambient CSS variables let components inherit tone and size from their context without hard-coded parent-child edge cases. |
211
217
  | [Theme](https://seblify.com/design-system/theme) | Seblify themes use CSS variables for light, dark, system, and custom color modes. |
212
218
 
213
219
  <br />
214
220
 
215
- ## Release Notes <small>&middot; 0.2.0</small>
221
+ ## Release Notes <small>&middot; 0.2.1</small>
216
222
 
217
- _May 14 2026_ &middot; _28 items updated_
223
+ _June 3 2026_ &middot; _9 items updated_
218
224
 
219
225
  Recent changes are summarized below. For the full release history, see the [changelog](https://seblify.com/release-notes).
220
226
 
221
- ### [AppShell](https://seblify.com/components/app-shell)
222
-
223
- - Added AppShell component
224
-
225
- ### [Badge](https://seblify.com/components/badge)
226
-
227
- - Added badge component. It takes a number or a short text
228
- - Added inheritable dir support. Added right-to-left example
229
- - Badge can now be placed on the center edge of its content
230
- - Badge can be colored with the tone property
231
- - Added appear animation when badge is populated. Added interactive example for badge with no content
232
- - Fixed badge placement on round objects
233
-
234
- ### [Breadcrumb](https://seblify.com/components/breadcrumb)
235
-
236
- - Added breadcrumb component with examples
237
-
238
- ### [Checkbox](https://seblify.com/components/checkbox)
239
-
240
- - Added checkbox component. Added example with optional disable state. Added example with checkboxes in a table
227
+ ### [CodeSnippet](https://seblify.com/components/code-snippet)
241
228
 
242
- ### [Cluster](https://seblify.com/components/cluster)
243
-
244
- - Added cluster component for wrapping lines
245
-
246
- ### [component-api](https://seblify.com/components/component-api)
247
-
248
- - Reserved prop value options to streamline semantics across components
249
-
250
- ### [Eyebrow](https://seblify.com/components/eyebrow)
251
-
252
- - Added eyebrow component
229
+ - Added code snippet component for readonly code formatting
230
+ - Long lines can now optionally wrap
231
+ - Changed tokenizer to track word context for smarter token detection
232
+ - CodeSnippet no longer enters infinite loop on trailing plain text
253
233
 
254
234
  ### [general](https://seblify.com/components/general)
255
235
 
256
- - Setup release note collection flow
257
-
258
- ### [Grid](https://seblify.com/components/grid)
259
-
260
- - Added grid component. Set column amount or item size
236
+ - Documentation can now display code examples
261
237
 
262
238
  ### [Highlight](https://seblify.com/components/highlight)
263
239
 
264
- - Added highlight component to highlight query matches in a text
265
- - Customize highlight style with tone and variant prop
266
- - Made a better example with a longer text
267
-
268
- ### [Icon](https://seblify.com/components/icon)
269
-
270
- - Added icon component. Takes the name of an icon to display
271
- - Generates icon components. Specific icons can be imported instead of entire svg collection. Better tree-shaking support
272
-
273
- ### [icons](https://seblify.com/components/icons)
240
+ - Added code examples to docs
274
241
 
275
- - Added initial icons as poc
242
+ ### [inheritance](https://seblify.com/components/inheritance)
276
243
 
277
- ### [Loading&nbsp;Dots](https://seblify.com/components/loading-dots)
278
-
279
- - Added loading dots component. Takes size prop
280
- - Different colors via tones prop
281
-
282
- ### [PageHeader](https://seblify.com/components/page-header)
283
-
284
- - Added page-header component. Uses eyebrow and breadcrumb
285
-
286
- ### [Paper](https://seblify.com/components/paper)
287
-
288
- - Added Paper basic surface component
289
-
290
- ### [Pin&nbsp;Input](https://seblify.com/components/pin-input)
291
-
292
- - Added pin-input component. It has optional length and can be disabled
293
-
294
- ### [Row](https://seblify.com/components/row)
295
-
296
- - Added row component as non-wrapping horizontal container
244
+ - Added tone inheritance with consuming and publishing css variables
297
245
 
298
246
  ### [SegmentControl](https://seblify.com/components/segment-control)
299
247
 
300
- - Added segment-control component
301
-
302
- ### [Sidebar](https://seblify.com/components/sidebar)
303
-
304
- - Added sidebar component - a left-side container. Uses sidenav component
248
+ - Selected background moves smoothly between active option
305
249
 
306
250
  ### [Sidenav](https://seblify.com/components/sidenav)
307
251
 
308
- - Added sidenav component. Takes tree data to build collapsible nav items
309
-
310
- ### [Slider](https://seblify.com/components/slider)
311
-
312
- - Added slider component. It can take stepsize
313
- - Added example with optional disabled slider
252
+ - Item can execute a method with a payload
253
+ - Item can take custom trailing content
254
+ - Item groups can be forced expanded
255
+ - Selecting an already selected link item with expanded children will collapse its children
256
+ - Sidenav no longer auto-collapses sections
314
257
 
315
258
  ### [Spinner](https://seblify.com/components/spinner)
316
259
 
317
- - Added spinner component with customizable size
318
- - Accepts tone prop
319
-
320
- ### [Stack](https://seblify.com/components/stack)
321
-
322
- - Added stack component as vertical container with gap prop
260
+ - Added code examples to documentation
323
261
 
324
262
  ### [Switch](https://seblify.com/components/switch)
325
263
 
326
- - Added switch component
327
-
328
- ### [Tag](https://seblify.com/components/tag)
329
-
330
- - Added tag component with custom radius
331
- - Tag takes variant, tone, and border props
332
- - Nested icons, spinner, or loading dots inherit size and tone
333
-
334
- ### [TagGroup](https://seblify.com/components/tag-group)
335
-
336
- - Added tag-group component. Used in all tag examples
337
-
338
- ### [theme](https://seblify.com/components/theme)
339
-
340
- - Setup initial theme structure
341
- - Added doc example for scoped theme customization
264
+ - Added tone and variant options
265
+ - Radius prop
266
+ - Added size prop
267
+ - Added shapes Pill, Flat, Long, Floating, Line
268
+ - Added optional grip icon to shapes Pill, Floating and Line
269
+ - Added optional track I/O icons
270
+ - Added animation options
271
+ - Focus ring color matches selected tone
342
272
 
343
- ### [ThemeSwitch](https://seblify.com/components/theme-switch)
273
+ ### [Timeline](https://seblify.com/components/timeline)
344
274
 
345
- - Added theme-switch component. It uses the segment-control
275
+ - Added timeline component
276
+ - Added node align options
277
+ - Timeline can use custom markers
@@ -1,10 +1,13 @@
1
1
  <script lang="ts">
2
2
  import type { SeblifyProps } from 'seblify';
3
+ import type { Component } from 'svelte';
3
4
 
4
5
  export interface SegmentControlOption {
5
6
  value: string;
6
- label: string;
7
+ label?: string;
8
+ ariaLabel?: string;
7
9
  disabled?: boolean;
10
+ icon?: Component<{ size?: string }>;
8
11
  }
9
12
 
10
13
  type Props = SeblifyProps<{
@@ -24,6 +27,75 @@
24
27
  name = 'segment-control',
25
28
  disabled = false,
26
29
  }: Props = $props();
30
+
31
+ let optionsElement = $state<HTMLDivElement>();
32
+ let indicatorLeft = $state(0);
33
+ let indicatorWidth = $state(0);
34
+ let indicatorVisible = $state(false);
35
+ const optionElements: Array<HTMLLabelElement | undefined> = [];
36
+
37
+ function measureIndicator() {
38
+ if (!optionsElement) {
39
+ indicatorVisible = false;
40
+ return;
41
+ }
42
+
43
+ const selectedIndex = options.findIndex((option) => option.value === value);
44
+ const selectedElement =
45
+ selectedIndex >= 0 ? optionElements[selectedIndex] : undefined;
46
+
47
+ if (!selectedElement) {
48
+ indicatorVisible = false;
49
+ return;
50
+ }
51
+
52
+ const parentRect = optionsElement.getBoundingClientRect();
53
+ const selectedRect = selectedElement.getBoundingClientRect();
54
+
55
+ indicatorLeft = selectedRect.left - parentRect.left - optionsElement.clientLeft;
56
+ indicatorWidth = selectedRect.width;
57
+ indicatorVisible = true;
58
+ }
59
+
60
+ function registerOption(node: HTMLLabelElement, index: number) {
61
+ optionElements[index] = node;
62
+ queueMicrotask(measureIndicator);
63
+
64
+ return {
65
+ destroy() {
66
+ if (optionElements[index] === node) {
67
+ optionElements[index] = undefined;
68
+ queueMicrotask(measureIndicator);
69
+ }
70
+ },
71
+ };
72
+ }
73
+
74
+ $effect(() => {
75
+ value;
76
+ options;
77
+ queueMicrotask(measureIndicator);
78
+ });
79
+
80
+ $effect(() => {
81
+ if (typeof ResizeObserver === 'undefined') {
82
+ return;
83
+ }
84
+
85
+ const resizeObserver = new ResizeObserver(() => measureIndicator());
86
+
87
+ if (optionsElement) {
88
+ resizeObserver.observe(optionsElement);
89
+ }
90
+
91
+ for (const optionElement of optionElements) {
92
+ if (optionElement) {
93
+ resizeObserver.observe(optionElement);
94
+ }
95
+ }
96
+
97
+ return () => resizeObserver.disconnect();
98
+ });
27
99
  </script>
28
100
 
29
101
  <fieldset class="segment-control" class:disabled>
@@ -38,20 +110,41 @@
38
110
  </legend>
39
111
  {/if}
40
112
 
41
- <span
42
- class="options"
43
- style={`--segment-count: ${Math.max(options.length, 1)}`}
44
- >
45
- {#each options as option}
46
- <label>
113
+ <span class="options" bind:this={optionsElement}>
114
+ {#if indicatorVisible}
115
+ <span
116
+ aria-hidden="true"
117
+ class="indicator"
118
+ style:left={`${indicatorLeft}px`}
119
+ style:width={`${indicatorWidth}px`}
120
+ ></span>
121
+ {/if}
122
+
123
+ {#each options as option, index (option.value)}
124
+ <label use:registerOption={index}>
47
125
  <input
126
+ aria-label={option.ariaLabel ?? option.label}
48
127
  bind:group={value}
49
128
  disabled={disabled || option.disabled}
50
129
  {name}
51
130
  type="radio"
52
131
  value={option.value}
53
132
  />
54
- <span>{option.label}</span>
133
+
134
+ <span
135
+ class="option-content"
136
+ data-icon-only={option.icon && !option.label ? 'true' : undefined}
137
+ >
138
+ {#if option.icon}
139
+ <span class="icon">
140
+ <option.icon size="1rem" />
141
+ </span>
142
+ {/if}
143
+
144
+ {#if option.label}
145
+ <span class="option-label">{option.label}</span>
146
+ {/if}
147
+ </span>
55
148
  </label>
56
149
  {/each}
57
150
  </span>
@@ -86,20 +179,33 @@
86
179
  }
87
180
 
88
181
  .options {
89
- display: grid;
90
- grid-template-columns: repeat(var(--segment-count), minmax(0, 1fr));
182
+ position: relative;
183
+ display: inline-flex;
91
184
  width: fit-content;
92
185
  max-width: 100%;
186
+ align-items: stretch;
93
187
  border: 1px solid var(--seblify-color-border-strong, #aab7c5);
94
188
  border-radius: 999px;
95
189
  background: var(--seblify-color-surface-muted, #d9e0e8);
96
190
  padding: 3px;
191
+ gap: 4px;
192
+ }
193
+
194
+ .indicator {
195
+ position: absolute;
196
+ top: 3px;
197
+ bottom: 3px;
198
+ border-radius: 999px;
199
+ background: var(--seblify-color-fill-accent, #146a6f);
200
+ transition:
201
+ left 220ms cubic-bezier(0.22, 1, 0.36, 1),
202
+ width 220ms cubic-bezier(0.22, 1, 0.36, 1);
97
203
  }
98
204
 
99
205
  label {
100
206
  position: relative;
101
207
  display: grid;
102
- min-width: 76px;
208
+ min-width: max-content;
103
209
  cursor: pointer;
104
210
  }
105
211
 
@@ -114,32 +220,50 @@
114
220
  white-space: nowrap;
115
221
  }
116
222
 
117
- label span {
118
- display: grid;
223
+ .option-content {
224
+ position: relative;
225
+ z-index: 1;
226
+ display: inline-flex;
119
227
  min-height: 32px;
120
- place-items: center;
228
+ align-items: center;
229
+ justify-content: center;
230
+ gap: 0.5rem;
121
231
  border-radius: 999px;
122
232
  padding: 6px 12px;
123
233
  color: var(--seblify-color-text-muted, #516176);
124
234
  font-size: 0.875rem;
125
235
  font-weight: 800;
126
236
  line-height: 1;
127
- transition:
128
- color 160ms ease,
129
- background 160ms ease;
237
+ user-select: none;
238
+ transition: color 160ms ease;
239
+ }
240
+
241
+ .option-content[data-icon-only='true'] {
242
+ min-width: 32px;
243
+ padding-inline: 8px;
244
+ }
245
+
246
+ .icon {
247
+ display: inline-flex;
248
+ align-items: center;
249
+ justify-content: center;
250
+ line-height: 0;
130
251
  }
131
252
 
132
- input:checked + span {
253
+ .option-label {
254
+ white-space: nowrap;
255
+ }
256
+
257
+ input:checked + .option-content {
133
258
  color: var(--seblify-color-fill-accent-text, #ffffff);
134
- background: var(--seblify-color-fill-accent, #146a6f);
135
259
  }
136
260
 
137
- input:focus-visible + span {
261
+ label:has(input:focus-visible) .option-content {
138
262
  outline: 3px solid var(--seblify-color-focus-ring, #9bd4d8);
139
263
  outline-offset: 2px;
140
264
  }
141
265
 
142
- input:disabled + span {
266
+ input:disabled + .option-content {
143
267
  cursor: not-allowed;
144
268
  opacity: var(--seblify-opacity-disabled, 0.56);
145
269
  }
@@ -1,9 +1,14 @@
1
+ import type { Component } from 'svelte';
1
2
  export interface SegmentControlOption {
2
3
  value: string;
3
- label: string;
4
+ label?: string;
5
+ ariaLabel?: string;
4
6
  disabled?: boolean;
7
+ icon?: Component<{
8
+ size?: string;
9
+ }>;
5
10
  }
6
- declare const SegmentControl: import("svelte").Component<{
11
+ declare const SegmentControl: Component<{
7
12
  value?: string | undefined;
8
13
  options: SegmentControlOption[];
9
14
  label?: string | undefined;