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.
- package/README.md +44 -112
- package/dist/components/action/input/select/segment-control/SegmentControl.svelte +145 -21
- package/dist/components/action/input/select/segment-control/SegmentControl.svelte.d.ts +7 -2
- package/dist/components/action/input/select/switch/Switch.svelte +641 -38
- package/dist/components/action/input/select/switch/Switch.svelte.d.ts +16 -1
- package/dist/components/display/annotation/tag/Tag.svelte +141 -105
- package/dist/components/display/data-display/visual/timeline/Timeline.svelte +161 -0
- package/dist/components/display/data-display/visual/timeline/Timeline.svelte.d.ts +17 -0
- package/dist/components/display/data-display/visual/timeline/TimelineItem.svelte +470 -0
- package/dist/components/display/data-display/visual/timeline/TimelineItem.svelte.d.ts +15 -0
- package/dist/components/display/data-display/visual/timeline/context.d.ts +14 -0
- package/dist/components/display/data-display/visual/timeline/context.js +14 -0
- package/dist/components/display/feedback/loading/loading-dots/LoadingDots.svelte +120 -51
- package/dist/components/display/feedback/loading/spinner/Spinner.svelte +118 -49
- package/dist/components/display/media/icon/IconGlyph.svelte +8 -2
- package/dist/components/display/typography/code-snippet/CodeSnippet.svelte +145 -0
- package/dist/components/display/typography/code-snippet/CodeSnippet.svelte.d.ts +9 -0
- package/dist/components/display/typography/code-snippet/tokenize.d.ts +10 -0
- package/dist/components/display/typography/code-snippet/tokenize.js +352 -0
- package/dist/components/framework/layout/container/app-shell/AppShell.svelte +1 -1
- package/dist/components/framework/navigation/sidebar/sidebar/Sidebar.svelte +712 -0
- package/dist/components/framework/navigation/sidebar/sidebar/Sidebar.svelte.d.ts +18 -0
- package/dist/components/framework/navigation/sidebar/sidenav/Sidenav.svelte +195 -0
- package/dist/components/framework/navigation/sidebar/sidenav/Sidenav.svelte.d.ts +17 -0
- package/dist/components/framework/navigation/sidebar/sidenav/SidenavItem.svelte +89 -0
- package/dist/components/framework/navigation/sidebar/sidenav/SidenavItem.svelte.d.ts +19 -0
- package/dist/components/framework/navigation/sidebar/sidenav/fragments/SidenavItemBranch.svelte +203 -0
- package/dist/components/framework/navigation/sidebar/sidenav/fragments/SidenavItemBranch.svelte.d.ts +21 -0
- package/dist/components/framework/navigation/sidebar/sidenav/fragments/SidenavItemDivider.svelte +17 -0
- package/dist/components/framework/navigation/sidebar/sidenav/fragments/SidenavItemDivider.svelte.d.ts +26 -0
- package/dist/components/framework/navigation/sidebar/sidenav/fragments/SidenavItemLeaf.svelte +85 -0
- package/dist/components/framework/navigation/sidebar/sidenav/fragments/SidenavItemLeaf.svelte.d.ts +17 -0
- package/dist/components/framework/navigation/sidebar/sidenav/fragments/SidenavItemRow.svelte +404 -0
- package/dist/components/framework/navigation/sidebar/sidenav/fragments/SidenavItemRow.svelte.d.ts +30 -0
- package/dist/components/framework/navigation/sidebar/sidenav/sidenav.d.ts +29 -0
- package/dist/components/framework/navigation/sidebar/sidenav/sidenav.js +86 -0
- package/dist/design-system/inheritance/tokens.d.ts +7 -0
- package/dist/design-system/inheritance/tokens.js +39 -0
- package/dist/design-system/reserved-props/allowed-options.d.ts +7 -2
- package/dist/icons/generated/alarm-snooze.svelte +16 -0
- package/dist/icons/generated/alarm-snooze.svelte.d.ts +7 -0
- package/dist/icons/generated/alarm.svelte +16 -0
- package/dist/icons/generated/alarm.svelte.d.ts +7 -0
- package/dist/icons/generated/alert-octagon-outline.svelte +16 -0
- package/dist/icons/generated/alert-octagon-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/alert-octagon.svelte +16 -0
- package/dist/icons/generated/alert-octagon.svelte.d.ts +7 -0
- package/dist/icons/generated/arrow-bottom-left-thin.svelte +16 -0
- package/dist/icons/generated/arrow-bottom-left-thin.svelte.d.ts +7 -0
- package/dist/icons/generated/arrow-bottom-right-thin.svelte +16 -0
- package/dist/icons/generated/arrow-bottom-right-thin.svelte.d.ts +7 -0
- package/dist/icons/generated/arrow-down-thin.svelte +16 -0
- package/dist/icons/generated/arrow-down-thin.svelte.d.ts +7 -0
- package/dist/icons/generated/arrow-left-thin.svelte +16 -0
- package/dist/icons/generated/arrow-left-thin.svelte.d.ts +7 -0
- package/dist/icons/generated/arrow-right-thin.svelte +16 -0
- package/dist/icons/generated/arrow-right-thin.svelte.d.ts +7 -0
- package/dist/icons/generated/arrow-top-left-thin.svelte +16 -0
- package/dist/icons/generated/arrow-top-left-thin.svelte.d.ts +7 -0
- package/dist/icons/generated/arrow-top-right-thin.svelte +16 -0
- package/dist/icons/generated/arrow-top-right-thin.svelte.d.ts +7 -0
- package/dist/icons/generated/arrow-up-thin.svelte +16 -0
- package/dist/icons/generated/arrow-up-thin.svelte.d.ts +7 -0
- package/dist/icons/generated/bell-outline.svelte +16 -0
- package/dist/icons/generated/bell-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/bell.svelte +16 -0
- package/dist/icons/generated/bell.svelte.d.ts +7 -0
- package/dist/icons/generated/book-open-blank-variant-outline.svelte +16 -0
- package/dist/icons/generated/book-open-blank-variant-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/book-open-blank-variant.svelte +16 -0
- package/dist/icons/generated/book-open-blank-variant.svelte.d.ts +7 -0
- package/dist/icons/generated/book-open-page-variant-outline.svelte +16 -0
- package/dist/icons/generated/book-open-page-variant-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/book-open-page-variant.svelte +16 -0
- package/dist/icons/generated/book-open-page-variant.svelte.d.ts +7 -0
- package/dist/icons/generated/book-open-variant-outline.svelte +16 -0
- package/dist/icons/generated/book-open-variant-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/book-open-variant.svelte +16 -0
- package/dist/icons/generated/book-open-variant.svelte.d.ts +7 -0
- package/dist/icons/generated/book-plus-outline.svelte +16 -0
- package/dist/icons/generated/book-plus-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/button-cursor.svelte +16 -0
- package/dist/icons/generated/button-cursor.svelte.d.ts +7 -0
- package/dist/icons/generated/calendar-blank-outline.svelte +16 -0
- package/dist/icons/generated/calendar-blank-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/calendar-blank.svelte +16 -0
- package/dist/icons/generated/calendar-blank.svelte.d.ts +7 -0
- package/dist/icons/generated/calendar-outline.svelte +16 -0
- package/dist/icons/generated/calendar-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/calendar.svelte +16 -0
- package/dist/icons/generated/calendar.svelte.d.ts +7 -0
- package/dist/icons/generated/cancel.svelte +16 -0
- package/dist/icons/generated/cancel.svelte.d.ts +7 -0
- package/dist/icons/generated/certificate-outline.svelte +16 -0
- package/dist/icons/generated/certificate-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/chart-box-outline.svelte +16 -0
- package/dist/icons/generated/chart-box-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/chart-box.svelte +16 -0
- package/dist/icons/generated/chart-box.svelte.d.ts +7 -0
- package/dist/icons/generated/chat-outline.svelte +16 -0
- package/dist/icons/generated/chat-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/chat-processing-outline.svelte +16 -0
- package/dist/icons/generated/chat-processing-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/chat-processing.svelte +16 -0
- package/dist/icons/generated/chat-processing.svelte.d.ts +7 -0
- package/dist/icons/generated/chat-question-outline.svelte +16 -0
- package/dist/icons/generated/chat-question-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/chat-question.svelte +16 -0
- package/dist/icons/generated/chat-question.svelte.d.ts +7 -0
- package/dist/icons/generated/chat.svelte +16 -0
- package/dist/icons/generated/chat.svelte.d.ts +7 -0
- package/dist/icons/generated/circle-large-outline.svelte +16 -0
- package/dist/icons/generated/circle-large-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/circle-large.svelte +16 -0
- package/dist/icons/generated/circle-large.svelte.d.ts +7 -0
- package/dist/icons/generated/circle-medium.svelte +16 -0
- package/dist/icons/generated/circle-medium.svelte.d.ts +7 -0
- package/dist/icons/generated/circle-outline.svelte +16 -0
- package/dist/icons/generated/circle-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/circle-small.svelte +16 -0
- package/dist/icons/generated/circle-small.svelte.d.ts +7 -0
- package/dist/icons/generated/circle.svelte +16 -0
- package/dist/icons/generated/circle.svelte.d.ts +7 -0
- package/dist/icons/generated/clipboard-account-outline.svelte +16 -0
- package/dist/icons/generated/clipboard-account-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/clipboard-arrow-down-outline.svelte +16 -0
- package/dist/icons/generated/clipboard-arrow-down-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/clipboard-arrow-up-outline.svelte +16 -0
- package/dist/icons/generated/clipboard-arrow-up-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/clipboard-clock-outline.svelte +16 -0
- package/dist/icons/generated/clipboard-clock-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/clipboard-edit-outline.svelte +16 -0
- package/dist/icons/generated/clipboard-edit-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/clipboard-edit.svelte +16 -0
- package/dist/icons/generated/clipboard-edit.svelte.d.ts +7 -0
- package/dist/icons/generated/clipboard-flow-outline.svelte +16 -0
- package/dist/icons/generated/clipboard-flow-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/clipboard-text-clock-outline.svelte +16 -0
- package/dist/icons/generated/clipboard-text-clock-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/clipboard-text-clock.svelte +16 -0
- package/dist/icons/generated/clipboard-text-clock.svelte.d.ts +7 -0
- package/dist/icons/generated/clipboard-text-outline.svelte +16 -0
- package/dist/icons/generated/clipboard-text-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/clipboard-text.svelte +16 -0
- package/dist/icons/generated/clipboard-text.svelte.d.ts +7 -0
- package/dist/icons/generated/clock-outline.svelte +16 -0
- package/dist/icons/generated/clock-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/clock.svelte +16 -0
- package/dist/icons/generated/clock.svelte.d.ts +7 -0
- package/dist/icons/generated/cog-outline.svelte +16 -0
- package/dist/icons/generated/cog-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/cog.svelte +16 -0
- package/dist/icons/generated/cog.svelte.d.ts +7 -0
- package/dist/icons/generated/copy.svelte +16 -0
- package/dist/icons/generated/copy.svelte.d.ts +7 -0
- package/dist/icons/generated/creation-outline.svelte +16 -0
- package/dist/icons/generated/creation-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/creation.svelte +16 -0
- package/dist/icons/generated/creation.svelte.d.ts +7 -0
- package/dist/icons/generated/cursor-default-click-outline.svelte +16 -0
- package/dist/icons/generated/cursor-default-click-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/cursor-default-click.svelte +16 -0
- package/dist/icons/generated/cursor-default-click.svelte.d.ts +7 -0
- package/dist/icons/generated/duck.svelte +16 -0
- package/dist/icons/generated/duck.svelte.d.ts +7 -0
- package/dist/icons/generated/email-open-outline.svelte +23 -0
- package/dist/icons/generated/email-open-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/email-open.svelte +16 -0
- package/dist/icons/generated/email-open.svelte.d.ts +7 -0
- package/dist/icons/generated/email-outline.svelte +16 -0
- package/dist/icons/generated/email-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/email.svelte +16 -0
- package/dist/icons/generated/email.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon-angry-outline.svelte +16 -0
- package/dist/icons/generated/emoticon-angry-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon-angry.svelte +16 -0
- package/dist/icons/generated/emoticon-angry.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon-confused-outline.svelte +16 -0
- package/dist/icons/generated/emoticon-confused-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon-confused.svelte +16 -0
- package/dist/icons/generated/emoticon-confused.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon-cool-outline.svelte +16 -0
- package/dist/icons/generated/emoticon-cool-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon-cool.svelte +16 -0
- package/dist/icons/generated/emoticon-cool.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon-excited-outline.svelte +16 -0
- package/dist/icons/generated/emoticon-excited-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon-excited.svelte +16 -0
- package/dist/icons/generated/emoticon-excited.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon-frown-outline.svelte +16 -0
- package/dist/icons/generated/emoticon-frown-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon-frown.svelte +16 -0
- package/dist/icons/generated/emoticon-frown.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon-happy-outline.svelte +16 -0
- package/dist/icons/generated/emoticon-happy-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon-happy.svelte +16 -0
- package/dist/icons/generated/emoticon-happy.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon-neutral-outline.svelte +16 -0
- package/dist/icons/generated/emoticon-neutral-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon-neutral.svelte +16 -0
- package/dist/icons/generated/emoticon-neutral.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon-outline.svelte +16 -0
- package/dist/icons/generated/emoticon-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon-sad-outline.svelte +16 -0
- package/dist/icons/generated/emoticon-sad-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon-sad.svelte +16 -0
- package/dist/icons/generated/emoticon-sad.svelte.d.ts +7 -0
- package/dist/icons/generated/emoticon.svelte +16 -0
- package/dist/icons/generated/emoticon.svelte.d.ts +7 -0
- package/dist/icons/generated/eye-closed.svelte +16 -0
- package/dist/icons/generated/eye-closed.svelte.d.ts +7 -0
- package/dist/icons/generated/eye-off-outline.svelte +16 -0
- package/dist/icons/generated/eye-off-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/eye-off.svelte +16 -0
- package/dist/icons/generated/eye-off.svelte.d.ts +7 -0
- package/dist/icons/generated/eye-outline.svelte +16 -0
- package/dist/icons/generated/eye-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/eye.svelte +16 -0
- package/dist/icons/generated/eye.svelte.d.ts +7 -0
- package/dist/icons/generated/eyedropper.svelte +16 -0
- package/dist/icons/generated/eyedropper.svelte.d.ts +7 -0
- package/dist/icons/generated/file-document-outline.svelte +16 -0
- package/dist/icons/generated/file-document-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/file-document.svelte +16 -0
- package/dist/icons/generated/file-document.svelte.d.ts +7 -0
- package/dist/icons/generated/file-star-outline.svelte +16 -0
- package/dist/icons/generated/file-star-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/flower-head.svelte +16 -0
- package/dist/icons/generated/flower-head.svelte.d.ts +7 -0
- package/dist/icons/generated/flower-tulip.svelte +16 -0
- package/dist/icons/generated/flower-tulip.svelte.d.ts +7 -0
- package/dist/icons/generated/flower.svelte +16 -0
- package/dist/icons/generated/flower.svelte.d.ts +7 -0
- package/dist/icons/generated/folder-open-outline.svelte +16 -0
- package/dist/icons/generated/folder-open-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/folder-open.svelte +16 -0
- package/dist/icons/generated/folder-open.svelte.d.ts +7 -0
- package/dist/icons/generated/folder-outline.svelte +16 -0
- package/dist/icons/generated/folder-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/folder.svelte +16 -0
- package/dist/icons/generated/folder.svelte.d.ts +7 -0
- package/dist/icons/generated/format-color-fill.svelte +16 -0
- package/dist/icons/generated/format-color-fill.svelte.d.ts +7 -0
- package/dist/icons/generated/format-color-highlight.svelte +16 -0
- package/dist/icons/generated/format-color-highlight.svelte.d.ts +7 -0
- package/dist/icons/generated/format-list-bulleted-square.svelte +16 -0
- package/dist/icons/generated/format-list-bulleted-square.svelte.d.ts +7 -0
- package/dist/icons/generated/format-list-bulleted.svelte +16 -0
- package/dist/icons/generated/format-list-bulleted.svelte.d.ts +7 -0
- package/dist/icons/generated/format-quote-close-outline.svelte +16 -0
- package/dist/icons/generated/format-quote-close-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/format-quote-close.svelte +16 -0
- package/dist/icons/generated/format-quote-close.svelte.d.ts +7 -0
- package/dist/icons/generated/format-quote-open-outline.svelte +16 -0
- package/dist/icons/generated/format-quote-open-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/format-quote-open.svelte +16 -0
- package/dist/icons/generated/format-quote-open.svelte.d.ts +7 -0
- package/dist/icons/generated/group.svelte +16 -0
- package/dist/icons/generated/group.svelte.d.ts +7 -0
- package/dist/icons/generated/handle-grip.svelte +16 -0
- package/dist/icons/generated/handle-grip.svelte.d.ts +7 -0
- package/dist/icons/generated/image-outline.svelte +16 -0
- package/dist/icons/generated/image-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/image.svelte +16 -0
- package/dist/icons/generated/image.svelte.d.ts +7 -0
- package/dist/icons/generated/index.d.ts +173 -0
- package/dist/icons/generated/index.js +173 -0
- package/dist/icons/generated/lead-pencil.svelte +16 -0
- package/dist/icons/generated/lead-pencil.svelte.d.ts +7 -0
- package/dist/icons/generated/lightbulb-outline.svelte +16 -0
- package/dist/icons/generated/lightbulb-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/lightbulb.svelte +16 -0
- package/dist/icons/generated/lightbulb.svelte.d.ts +7 -0
- package/dist/icons/generated/lock-open-outline.svelte +16 -0
- package/dist/icons/generated/lock-open-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/lock-open.svelte +16 -0
- package/dist/icons/generated/lock-open.svelte.d.ts +7 -0
- package/dist/icons/generated/lock-outline.svelte +16 -0
- package/dist/icons/generated/lock-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/lock.svelte +16 -0
- package/dist/icons/generated/lock.svelte.d.ts +7 -0
- package/dist/icons/generated/magic-wand.svelte +16 -0
- package/dist/icons/generated/magic-wand.svelte.d.ts +7 -0
- package/dist/icons/generated/magnify.svelte +16 -0
- package/dist/icons/generated/magnify.svelte.d.ts +7 -0
- package/dist/icons/generated/manifest.js +1464 -62
- package/dist/icons/generated/menu-down.svelte +16 -0
- package/dist/icons/generated/menu-down.svelte.d.ts +7 -0
- package/dist/icons/generated/menu-up.svelte +16 -0
- package/dist/icons/generated/menu-up.svelte.d.ts +7 -0
- package/dist/icons/generated/minus-thick.svelte +16 -0
- package/dist/icons/generated/minus-thick.svelte.d.ts +7 -0
- package/dist/icons/generated/minus.svelte +16 -0
- package/dist/icons/generated/minus.svelte.d.ts +7 -0
- package/dist/icons/generated/page-layout-header-footer.svelte +16 -0
- package/dist/icons/generated/page-layout-header-footer.svelte.d.ts +7 -0
- package/dist/icons/generated/palette-outline.svelte +16 -0
- package/dist/icons/generated/palette-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/palette.svelte +16 -0
- package/dist/icons/generated/palette.svelte.d.ts +7 -0
- package/dist/icons/generated/pause.svelte +16 -0
- package/dist/icons/generated/pause.svelte.d.ts +7 -0
- package/dist/icons/generated/pen.svelte +16 -0
- package/dist/icons/generated/pen.svelte.d.ts +7 -0
- package/dist/icons/generated/pencil-outline.svelte +16 -0
- package/dist/icons/generated/pencil-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/pencil.svelte +16 -0
- package/dist/icons/generated/pencil.svelte.d.ts +7 -0
- package/dist/icons/generated/percent.svelte +16 -0
- package/dist/icons/generated/percent.svelte.d.ts +7 -0
- package/dist/icons/generated/pine-tree-box.svelte +16 -0
- package/dist/icons/generated/pine-tree-box.svelte.d.ts +7 -0
- package/dist/icons/generated/pine-tree-variant-outline.svelte +16 -0
- package/dist/icons/generated/pine-tree-variant-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/play-pause.svelte +16 -0
- package/dist/icons/generated/play-pause.svelte.d.ts +7 -0
- package/dist/icons/generated/play.svelte +16 -0
- package/dist/icons/generated/play.svelte.d.ts +7 -0
- package/dist/icons/generated/plus-thick.svelte +16 -0
- package/dist/icons/generated/plus-thick.svelte.d.ts +7 -0
- package/dist/icons/generated/plus.svelte +16 -0
- package/dist/icons/generated/plus.svelte.d.ts +7 -0
- package/dist/icons/generated/reset-focus.svelte +16 -0
- package/dist/icons/generated/reset-focus.svelte.d.ts +7 -0
- package/dist/icons/generated/reset.svelte +16 -0
- package/dist/icons/generated/reset.svelte.d.ts +7 -0
- package/dist/icons/generated/ruler-square.svelte +16 -0
- package/dist/icons/generated/ruler-square.svelte.d.ts +7 -0
- package/dist/icons/generated/ruler.svelte +16 -0
- package/dist/icons/generated/ruler.svelte.d.ts +7 -0
- package/dist/icons/generated/star-outline.svelte +16 -0
- package/dist/icons/generated/star-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/star.svelte +16 -0
- package/dist/icons/generated/star.svelte.d.ts +7 -0
- package/dist/icons/generated/table-border.svelte +16 -0
- package/dist/icons/generated/table-border.svelte.d.ts +7 -0
- package/dist/icons/generated/tag-multiple-outline.svelte +16 -0
- package/dist/icons/generated/tag-multiple-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/tag-multiple.svelte +16 -0
- package/dist/icons/generated/tag-multiple.svelte.d.ts +7 -0
- package/dist/icons/generated/tag-outline.svelte +16 -0
- package/dist/icons/generated/tag-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/tag.svelte +16 -0
- package/dist/icons/generated/tag.svelte.d.ts +7 -0
- package/dist/icons/generated/text-box-outline.svelte +16 -0
- package/dist/icons/generated/text-box-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/text-box-plus-outline.svelte +16 -0
- package/dist/icons/generated/text-box-plus-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/text-box-plus.svelte +16 -0
- package/dist/icons/generated/text-box-plus.svelte.d.ts +7 -0
- package/dist/icons/generated/text-box.svelte +16 -0
- package/dist/icons/generated/text-box.svelte.d.ts +7 -0
- package/dist/icons/generated/thumb-down-outline.svelte +16 -0
- package/dist/icons/generated/thumb-down-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/thumb-down.svelte +16 -0
- package/dist/icons/generated/thumb-down.svelte.d.ts +7 -0
- package/dist/icons/generated/thumb-up-outline.svelte +16 -0
- package/dist/icons/generated/thumb-up-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/thumb-up.svelte +16 -0
- package/dist/icons/generated/thumb-up.svelte.d.ts +7 -0
- package/dist/icons/generated/tilde.svelte +16 -0
- package/dist/icons/generated/tilde.svelte.d.ts +7 -0
- package/dist/icons/generated/tooltip-image-outline.svelte +16 -0
- package/dist/icons/generated/tooltip-image-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/tooltip-question-outline.svelte +16 -0
- package/dist/icons/generated/tooltip-question-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/tooltip-question.svelte +16 -0
- package/dist/icons/generated/tooltip-question.svelte.d.ts +7 -0
- package/dist/icons/generated/tooltip-text-outline.svelte +16 -0
- package/dist/icons/generated/tooltip-text-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/tooltip-text.svelte +16 -0
- package/dist/icons/generated/tooltip-text.svelte.d.ts +7 -0
- package/dist/icons/generated/triangle-down-outline.svelte +16 -0
- package/dist/icons/generated/triangle-down-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/triangle-down.svelte +16 -0
- package/dist/icons/generated/triangle-down.svelte.d.ts +7 -0
- package/dist/icons/generated/triangle-outline.svelte +16 -0
- package/dist/icons/generated/triangle-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/triangle-small-down.svelte +16 -0
- package/dist/icons/generated/triangle-small-down.svelte.d.ts +7 -0
- package/dist/icons/generated/triangle-small.svelte +16 -0
- package/dist/icons/generated/triangle-small.svelte.d.ts +7 -0
- package/dist/icons/generated/triangle.svelte +16 -0
- package/dist/icons/generated/triangle.svelte.d.ts +7 -0
- package/dist/icons/generated/view-grid-outline.svelte +16 -0
- package/dist/icons/generated/view-grid-outline.svelte.d.ts +7 -0
- package/dist/icons/generated/view-grid.svelte +16 -0
- package/dist/icons/generated/view-grid.svelte.d.ts +7 -0
- package/dist/index.d.ts +7 -3
- package/dist/index.js +6 -2
- package/dist/styles/tone-context.css +94 -0
- package/package.json +2 -1
- package/dist/components/framework/layout/container/sidebar/Sidebar.svelte +0 -134
- package/dist/components/framework/layout/container/sidebar/Sidebar.svelte.d.ts +0 -9
- package/dist/components/framework/navigation/sidenav/Sidenav.svelte +0 -86
- package/dist/components/framework/navigation/sidenav/Sidenav.svelte.d.ts +0 -8
- package/dist/components/framework/navigation/sidenav/SidenavTree.svelte +0 -265
- package/dist/components/framework/navigation/sidenav/SidenavTree.svelte.d.ts +0 -14
- package/dist/components/framework/navigation/sidenav/sidenav.d.ts +0 -6
- 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
|
[](https://seblify.com/components)
|
|
39
|
-
[](https://seblify.com/components)
|
|
40
40
|
[](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
|
-
|
|
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 · 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 ·
|
|
123
|
+
<summary><strong>Typography · 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. |
|
|
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 ·
|
|
170
|
+
<summary><strong>Container · 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 ·
|
|
183
|
+
<summary><strong>Navigation · 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
|
-
| [
|
|
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 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>· 0.2.
|
|
221
|
+
## Release Notes <small>· 0.2.1</small>
|
|
216
222
|
|
|
217
|
-
|
|
223
|
+
_June 3 2026_ · _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
|
-
### [
|
|
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
|
-
|
|
243
|
-
|
|
244
|
-
-
|
|
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
|
-
-
|
|
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
|
|
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
|
-
|
|
242
|
+
### [inheritance](https://seblify.com/components/inheritance)
|
|
276
243
|
|
|
277
|
-
|
|
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 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
|
-
-
|
|
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
|
-
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
-
|
|
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
|
|
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
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
- Added
|
|
331
|
-
-
|
|
332
|
-
-
|
|
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
|
-
### [
|
|
273
|
+
### [Timeline](https://seblify.com/components/timeline)
|
|
344
274
|
|
|
345
|
-
- Added
|
|
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
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
|
|
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
|
-
|
|
90
|
-
|
|
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:
|
|
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
|
-
|
|
118
|
-
|
|
223
|
+
.option-content {
|
|
224
|
+
position: relative;
|
|
225
|
+
z-index: 1;
|
|
226
|
+
display: inline-flex;
|
|
119
227
|
min-height: 32px;
|
|
120
|
-
|
|
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
|
-
|
|
128
|
-
|
|
129
|
-
|
|
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
|
-
|
|
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
|
|
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 +
|
|
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
|
|
4
|
+
label?: string;
|
|
5
|
+
ariaLabel?: string;
|
|
4
6
|
disabled?: boolean;
|
|
7
|
+
icon?: Component<{
|
|
8
|
+
size?: string;
|
|
9
|
+
}>;
|
|
5
10
|
}
|
|
6
|
-
declare const SegmentControl:
|
|
11
|
+
declare const SegmentControl: Component<{
|
|
7
12
|
value?: string | undefined;
|
|
8
13
|
options: SegmentControlOption[];
|
|
9
14
|
label?: string | undefined;
|