@wallarm-org/claude-design 0.0.0-stage → 4.8.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.
- package/README.md +114 -2
- package/bin/claude-design.js +347 -0
- package/dist/SETUP.md +130 -0
- package/dist/UPDATE.md +84 -0
- package/dist/assets/Icons/activity.svg +1 -0
- package/dist/assets/Icons/alt.svg +1 -0
- package/dist/assets/Icons/android-neutral.svg +1 -0
- package/dist/assets/Icons/android.svg +1 -0
- package/dist/assets/Icons/api.svg +1 -0
- package/dist/assets/Icons/apple-music-neutral.svg +1 -0
- package/dist/assets/Icons/apple-music.svg +1 -0
- package/dist/assets/Icons/apple-neutral.svg +1 -0
- package/dist/assets/Icons/apple-podcasts-neutral.svg +1 -0
- package/dist/assets/Icons/apple-podcasts.svg +1 -0
- package/dist/assets/Icons/apple.svg +1 -0
- package/dist/assets/Icons/archive.svg +1 -0
- package/dist/assets/Icons/arrow-big-up-dash.svg +1 -0
- package/dist/assets/Icons/arrow-big-up.svg +1 -0
- package/dist/assets/Icons/arrow-down-left.svg +1 -0
- package/dist/assets/Icons/arrow-down-right.svg +1 -0
- package/dist/assets/Icons/arrow-down.svg +1 -0
- package/dist/assets/Icons/arrow-left.svg +1 -0
- package/dist/assets/Icons/arrow-right-alt.svg +1 -0
- package/dist/assets/Icons/arrow-right.svg +1 -0
- package/dist/assets/Icons/arrow-up-down.svg +1 -0
- package/dist/assets/Icons/arrow-up-left.svg +1 -0
- package/dist/assets/Icons/arrow-up-right.svg +1 -0
- package/dist/assets/Icons/arrow-up.svg +1 -0
- package/dist/assets/Icons/artstation-neutral.svg +1 -0
- package/dist/assets/Icons/artstation.svg +1 -0
- package/dist/assets/Icons/asterisk.svg +1 -0
- package/dist/assets/Icons/audio-waveform.svg +1 -0
- package/dist/assets/Icons/aws-neutral.svg +1 -0
- package/dist/assets/Icons/aws.svg +1 -0
- package/dist/assets/Icons/badge-check.svg +1 -0
- package/dist/assets/Icons/baidu-neutral.svg +1 -0
- package/dist/assets/Icons/baidu.svg +1 -0
- package/dist/assets/Icons/bandage.svg +1 -0
- package/dist/assets/Icons/behance-neutral.svg +1 -0
- package/dist/assets/Icons/behance.svg +1 -0
- package/dist/assets/Icons/bell-cog.svg +1 -0
- package/dist/assets/Icons/bell.svg +1 -0
- package/dist/assets/Icons/binary.svg +1 -0
- package/dist/assets/Icons/book-open.svg +1 -0
- package/dist/assets/Icons/book.svg +1 -0
- package/dist/assets/Icons/boosty-neutral.svg +1 -0
- package/dist/assets/Icons/boosty.svg +1 -0
- package/dist/assets/Icons/bot.svg +1 -0
- package/dist/assets/Icons/brain.svg +1 -0
- package/dist/assets/Icons/braze-neutral.svg +1 -0
- package/dist/assets/Icons/braze.svg +1 -0
- package/dist/assets/Icons/brevo-neutral.svg +1 -0
- package/dist/assets/Icons/brevo.svg +1 -0
- package/dist/assets/Icons/bug-off.svg +1 -0
- package/dist/assets/Icons/bug-play.svg +1 -0
- package/dist/assets/Icons/bug.svg +1 -0
- package/dist/assets/Icons/building.svg +1 -0
- package/dist/assets/Icons/building2.svg +1 -0
- package/dist/assets/Icons/calendar-check.svg +1 -0
- package/dist/assets/Icons/calendar-check2.svg +1 -0
- package/dist/assets/Icons/calendar-clock.svg +1 -0
- package/dist/assets/Icons/calendar-cog.svg +1 -0
- package/dist/assets/Icons/calendar-days.svg +1 -0
- package/dist/assets/Icons/calendar-fold.svg +1 -0
- package/dist/assets/Icons/calendar-heart.svg +1 -0
- package/dist/assets/Icons/calendar-minus.svg +1 -0
- package/dist/assets/Icons/calendar-minus2.svg +1 -0
- package/dist/assets/Icons/calendar-off.svg +1 -0
- package/dist/assets/Icons/calendar-plus.svg +1 -0
- package/dist/assets/Icons/calendar-plus2.svg +1 -0
- package/dist/assets/Icons/calendar-range.svg +1 -0
- package/dist/assets/Icons/calendar-search.svg +1 -0
- package/dist/assets/Icons/calendar-x.svg +1 -0
- package/dist/assets/Icons/calendar-x2.svg +1 -0
- package/dist/assets/Icons/calendar.svg +1 -0
- package/dist/assets/Icons/chart-area.svg +1 -0
- package/dist/assets/Icons/chart-bar.svg +1 -0
- package/dist/assets/Icons/chart-column.svg +1 -0
- package/dist/assets/Icons/chart-no-axes-column.svg +1 -0
- package/dist/assets/Icons/check-check.svg +1 -0
- package/dist/assets/Icons/check.svg +1 -0
- package/dist/assets/Icons/checkbox-indeterminate.svg +1 -0
- package/dist/assets/Icons/chevron-down.svg +1 -0
- package/dist/assets/Icons/chevron-first.svg +1 -0
- package/dist/assets/Icons/chevron-last.svg +1 -0
- package/dist/assets/Icons/chevron-left.svg +1 -0
- package/dist/assets/Icons/chevron-right.svg +1 -0
- package/dist/assets/Icons/chevron-up-down.svg +1 -0
- package/dist/assets/Icons/chevron-up.svg +1 -0
- package/dist/assets/Icons/chevrons-down-up.svg +1 -0
- package/dist/assets/Icons/chevrons-down.svg +1 -0
- package/dist/assets/Icons/chevrons-left-right.svg +1 -0
- package/dist/assets/Icons/chevrons-left.svg +1 -0
- package/dist/assets/Icons/chevrons-right-left.svg +1 -0
- package/dist/assets/Icons/chevrons-right.svg +1 -0
- package/dist/assets/Icons/chevrons-up-down.svg +1 -0
- package/dist/assets/Icons/chevrons-up.svg +1 -0
- package/dist/assets/Icons/circle-arrow-down.svg +1 -0
- package/dist/assets/Icons/circle-arrow-left.svg +1 -0
- package/dist/assets/Icons/circle-arrow-out-down-left.svg +1 -0
- package/dist/assets/Icons/circle-arrow-out-down-right.svg +1 -0
- package/dist/assets/Icons/circle-arrow-out-up-left.svg +1 -0
- package/dist/assets/Icons/circle-arrow-out-up-right.svg +1 -0
- package/dist/assets/Icons/circle-arrow-right.svg +1 -0
- package/dist/assets/Icons/circle-arrow-up.svg +1 -0
- package/dist/assets/Icons/circle-check-big.svg +1 -0
- package/dist/assets/Icons/circle-check.svg +1 -0
- package/dist/assets/Icons/circle-chevron-down.svg +1 -0
- package/dist/assets/Icons/circle-chevron-left.svg +1 -0
- package/dist/assets/Icons/circle-chevron-right.svg +1 -0
- package/dist/assets/Icons/circle-chevron-up.svg +1 -0
- package/dist/assets/Icons/circle-dashed.svg +1 -0
- package/dist/assets/Icons/circle-dot-dashed.svg +1 -0
- package/dist/assets/Icons/circle-ellipsis.svg +1 -0
- package/dist/assets/Icons/circle-gauge.svg +1 -0
- package/dist/assets/Icons/circle-help.svg +1 -0
- package/dist/assets/Icons/circle-minus.svg +1 -0
- package/dist/assets/Icons/circle-plus.svg +1 -0
- package/dist/assets/Icons/circle-slash.svg +1 -0
- package/dist/assets/Icons/circle-slash2.svg +1 -0
- package/dist/assets/Icons/circle-stop.svg +1 -0
- package/dist/assets/Icons/circle.svg +1 -0
- package/dist/assets/Icons/clipboard-check.svg +1 -0
- package/dist/assets/Icons/clipboard-x.svg +1 -0
- package/dist/assets/Icons/clipboard.svg +1 -0
- package/dist/assets/Icons/clock-fading.svg +1 -0
- package/dist/assets/Icons/clock.svg +1 -0
- package/dist/assets/Icons/cloud-off.svg +1 -0
- package/dist/assets/Icons/cloud-sync.svg +1 -0
- package/dist/assets/Icons/cloud.svg +1 -0
- package/dist/assets/Icons/code.svg +1 -0
- package/dist/assets/Icons/collapse.svg +1 -0
- package/dist/assets/Icons/columns3-cog.svg +1 -0
- package/dist/assets/Icons/command.svg +1 -0
- package/dist/assets/Icons/compass.svg +1 -0
- package/dist/assets/Icons/copy-slash.svg +1 -0
- package/dist/assets/Icons/copy.svg +1 -0
- package/dist/assets/Icons/corner-down-left.svg +1 -0
- package/dist/assets/Icons/corner-down-right.svg +1 -0
- package/dist/assets/Icons/corner-left-down.svg +1 -0
- package/dist/assets/Icons/corner-left-up.svg +1 -0
- package/dist/assets/Icons/corner-right-down.svg +1 -0
- package/dist/assets/Icons/corner-right-up.svg +1 -0
- package/dist/assets/Icons/corner-up-left.svg +1 -0
- package/dist/assets/Icons/corner-up-right.svg +1 -0
- package/dist/assets/Icons/cpu.svg +1 -0
- package/dist/assets/Icons/credit-card.svg +1 -0
- package/dist/assets/Icons/crosshair.svg +1 -0
- package/dist/assets/Icons/ctrl.svg +1 -0
- package/dist/assets/Icons/database.svg +1 -0
- package/dist/assets/Icons/devianart-neutral.svg +1 -0
- package/dist/assets/Icons/devianart.svg +1 -0
- package/dist/assets/Icons/discord-neutral.svg +1 -0
- package/dist/assets/Icons/discord.svg +1 -0
- package/dist/assets/Icons/dollar-sign.svg +1 -0
- package/dist/assets/Icons/dot.svg +1 -0
- package/dist/assets/Icons/download.svg +1 -0
- package/dist/assets/Icons/dprofile-neutral.svg +1 -0
- package/dist/assets/Icons/dprofile.svg +1 -0
- package/dist/assets/Icons/dribbble-neutral.svg +1 -0
- package/dist/assets/Icons/dribbble.svg +1 -0
- package/dist/assets/Icons/droplet.svg +1 -0
- package/dist/assets/Icons/duplicate.svg +1 -0
- package/dist/assets/Icons/dzen-neutral.svg +1 -0
- package/dist/assets/Icons/dzen.svg +1 -0
- package/dist/assets/Icons/earth-lock.svg +1 -0
- package/dist/assets/Icons/earth.svg +1 -0
- package/dist/assets/Icons/ellipsis.svg +1 -0
- package/dist/assets/Icons/expand.svg +1 -0
- package/dist/assets/Icons/external-link.svg +1 -0
- package/dist/assets/Icons/eye-off.svg +1 -0
- package/dist/assets/Icons/eye.svg +1 -0
- package/dist/assets/Icons/facebook-neutral.svg +1 -0
- package/dist/assets/Icons/facebook.svg +1 -0
- package/dist/assets/Icons/fast-forward.svg +1 -0
- package/dist/assets/Icons/figma-neutral.svg +1 -0
- package/dist/assets/Icons/figma.svg +1 -0
- package/dist/assets/Icons/file-down.svg +1 -0
- package/dist/assets/Icons/file-plus.svg +1 -0
- package/dist/assets/Icons/file-text.svg +1 -0
- package/dist/assets/Icons/file.svg +1 -0
- package/dist/assets/Icons/film.svg +1 -0
- package/dist/assets/Icons/filter-x.svg +1 -0
- package/dist/assets/Icons/filter.svg +1 -0
- package/dist/assets/Icons/fingerprint-pattern.svg +1 -0
- package/dist/assets/Icons/flag.svg +1 -0
- package/dist/assets/Icons/flask-conical.svg +1 -0
- package/dist/assets/Icons/folder.svg +1 -0
- package/dist/assets/Icons/funnel-plus.svg +1 -0
- package/dist/assets/Icons/ghost.svg +1 -0
- package/dist/assets/Icons/git-branch.svg +1 -0
- package/dist/assets/Icons/git-commit-horizontal.svg +1 -0
- package/dist/assets/Icons/git-commit-vertical.svg +1 -0
- package/dist/assets/Icons/git-compare-arrows-alt.svg +1 -0
- package/dist/assets/Icons/git-compare-arrows.svg +1 -0
- package/dist/assets/Icons/git-compare.svg +1 -0
- package/dist/assets/Icons/git-fork.svg +1 -0
- package/dist/assets/Icons/git-graph.svg +1 -0
- package/dist/assets/Icons/git-merge.svg +1 -0
- package/dist/assets/Icons/git-pull-request-arrow.svg +1 -0
- package/dist/assets/Icons/git-pull-request-closed.svg +1 -0
- package/dist/assets/Icons/git-pull-request-create-arrow.svg +1 -0
- package/dist/assets/Icons/git-pull-request-create.svg +1 -0
- package/dist/assets/Icons/git-pull-request-draft.svg +1 -0
- package/dist/assets/Icons/git-pull-request.svg +1 -0
- package/dist/assets/Icons/github-neutral.svg +1 -0
- package/dist/assets/Icons/github.svg +1 -0
- package/dist/assets/Icons/globe-lock.svg +1 -0
- package/dist/assets/Icons/globe.svg +1 -0
- package/dist/assets/Icons/gmail-neutral.svg +1 -0
- package/dist/assets/Icons/gmail.svg +1 -0
- package/dist/assets/Icons/google-meet-neutral.svg +1 -0
- package/dist/assets/Icons/google-meet.svg +1 -0
- package/dist/assets/Icons/google-neutral.svg +1 -0
- package/dist/assets/Icons/google-play-neutral.svg +1 -0
- package/dist/assets/Icons/google-play.svg +1 -0
- package/dist/assets/Icons/google-podcast-neutral.svg +1 -0
- package/dist/assets/Icons/google-podcast.svg +1 -0
- package/dist/assets/Icons/google.svg +1 -0
- package/dist/assets/Icons/grip-horizontal.svg +1 -0
- package/dist/assets/Icons/grip-vertical.svg +1 -0
- package/dist/assets/Icons/hammer.svg +1 -0
- package/dist/assets/Icons/heart-pulse.svg +1 -0
- package/dist/assets/Icons/history.svg +1 -0
- package/dist/assets/Icons/home.svg +1 -0
- package/dist/assets/Icons/imo-neutral.svg +1 -0
- package/dist/assets/Icons/imo.svg +1 -0
- package/dist/assets/Icons/infinity.svg +1 -0
- package/dist/assets/Icons/info.svg +1 -0
- package/dist/assets/Icons/infobip-neutral.svg +1 -0
- package/dist/assets/Icons/infobip.svg +1 -0
- package/dist/assets/Icons/instagram-neutral.svg +1 -0
- package/dist/assets/Icons/instagram.svg +1 -0
- package/dist/assets/Icons/key-round.svg +1 -0
- package/dist/assets/Icons/key-square.svg +1 -0
- package/dist/assets/Icons/keyboard.svg +1 -0
- package/dist/assets/Icons/kickstarter-neutral.svg +1 -0
- package/dist/assets/Icons/kickstarter.svg +1 -0
- package/dist/assets/Icons/laptop.svg +1 -0
- package/dist/assets/Icons/layers.svg +1 -0
- package/dist/assets/Icons/layers2.svg +1 -0
- package/dist/assets/Icons/layers3.svg +1 -0
- package/dist/assets/Icons/layout-dashboard.svg +1 -0
- package/dist/assets/Icons/layout-grid.svg +1 -0
- package/dist/assets/Icons/layout-list.svg +1 -0
- package/dist/assets/Icons/layout-panel-left.svg +1 -0
- package/dist/assets/Icons/layout-panel-top.svg +1 -0
- package/dist/assets/Icons/layout-template.svg +1 -0
- package/dist/assets/Icons/library-big.svg +1 -0
- package/dist/assets/Icons/life-buoy.svg +1 -0
- package/dist/assets/Icons/lightbulb-off.svg +1 -0
- package/dist/assets/Icons/lightbulb.svg +1 -0
- package/dist/assets/Icons/line-neutral.svg +1 -0
- package/dist/assets/Icons/line.svg +1 -0
- package/dist/assets/Icons/link.svg +1 -0
- package/dist/assets/Icons/link2-off.svg +1 -0
- package/dist/assets/Icons/link2.svg +1 -0
- package/dist/assets/Icons/linkedin-neutral.svg +1 -0
- package/dist/assets/Icons/linkedin.svg +1 -0
- package/dist/assets/Icons/list-checks.svg +1 -0
- package/dist/assets/Icons/list-collapse.svg +1 -0
- package/dist/assets/Icons/list-filter.svg +1 -0
- package/dist/assets/Icons/list-minus.svg +1 -0
- package/dist/assets/Icons/list-ordered.svg +1 -0
- package/dist/assets/Icons/list-plus.svg +1 -0
- package/dist/assets/Icons/list-restart.svg +1 -0
- package/dist/assets/Icons/list-start.svg +1 -0
- package/dist/assets/Icons/list-todo.svg +1 -0
- package/dist/assets/Icons/list-tree.svg +1 -0
- package/dist/assets/Icons/list-video.svg +1 -0
- package/dist/assets/Icons/list-x.svg +1 -0
- package/dist/assets/Icons/list.svg +1 -0
- package/dist/assets/Icons/loader-circle.svg +1 -0
- package/dist/assets/Icons/loader.svg +1 -0
- package/dist/assets/Icons/lock-open.svg +1 -0
- package/dist/assets/Icons/lock.svg +1 -0
- package/dist/assets/Icons/log-in.svg +1 -0
- package/dist/assets/Icons/log-out.svg +1 -0
- package/dist/assets/Icons/mail-check.svg +1 -0
- package/dist/assets/Icons/mail-minus.svg +1 -0
- package/dist/assets/Icons/mail-open.svg +1 -0
- package/dist/assets/Icons/mail-plus.svg +1 -0
- package/dist/assets/Icons/mail-question.svg +1 -0
- package/dist/assets/Icons/mail-search.svg +1 -0
- package/dist/assets/Icons/mail-warning.svg +1 -0
- package/dist/assets/Icons/mail-x.svg +1 -0
- package/dist/assets/Icons/mail.svg +1 -0
- package/dist/assets/Icons/mailbox.svg +1 -0
- package/dist/assets/Icons/mailersend-neutral.svg +1 -0
- package/dist/assets/Icons/mailersend.svg +1 -0
- package/dist/assets/Icons/mailgun-neutral.svg +1 -0
- package/dist/assets/Icons/mailgun.svg +1 -0
- package/dist/assets/Icons/mailjet-neutral.svg +1 -0
- package/dist/assets/Icons/mailjet.svg +1 -0
- package/dist/assets/Icons/mails.svg +1 -0
- package/dist/assets/Icons/mailtrap-neutral.svg +1 -0
- package/dist/assets/Icons/mailtrap.svg +1 -0
- package/dist/assets/Icons/mandrill-neutral.svg +1 -0
- package/dist/assets/Icons/mandrill.svg +1 -0
- package/dist/assets/Icons/map-pin.svg +1 -0
- package/dist/assets/Icons/maqsam-neutral.svg +1 -0
- package/dist/assets/Icons/maqsam.svg +1 -0
- package/dist/assets/Icons/mattermost-neutral.svg +1 -0
- package/dist/assets/Icons/mattermost.svg +1 -0
- package/dist/assets/Icons/maximize.svg +1 -0
- package/dist/assets/Icons/maximize2.svg +1 -0
- package/dist/assets/Icons/medium-neutral.svg +1 -0
- package/dist/assets/Icons/medium.svg +1 -0
- package/dist/assets/Icons/megaphone-off.svg +1 -0
- package/dist/assets/Icons/megaphone.svg +1 -0
- package/dist/assets/Icons/menu.svg +1 -0
- package/dist/assets/Icons/merge.svg +1 -0
- package/dist/assets/Icons/message-square-code.svg +1 -0
- package/dist/assets/Icons/message-square-dashed.svg +1 -0
- package/dist/assets/Icons/message-square-diff.svg +1 -0
- package/dist/assets/Icons/message-square-dot.svg +1 -0
- package/dist/assets/Icons/message-square-heart.svg +1 -0
- package/dist/assets/Icons/message-square-off.svg +1 -0
- package/dist/assets/Icons/message-square-plus.svg +1 -0
- package/dist/assets/Icons/message-square-quote.svg +1 -0
- package/dist/assets/Icons/message-square-reply.svg +1 -0
- package/dist/assets/Icons/message-square-share.svg +1 -0
- package/dist/assets/Icons/message-square-text.svg +1 -0
- package/dist/assets/Icons/message-square-warning.svg +1 -0
- package/dist/assets/Icons/message-square-x.svg +1 -0
- package/dist/assets/Icons/message-square.svg +1 -0
- package/dist/assets/Icons/messages-square.svg +1 -0
- package/dist/assets/Icons/messenger-neutral.svg +1 -0
- package/dist/assets/Icons/messenger.svg +1 -0
- package/dist/assets/Icons/microsoft-neutral.svg +1 -0
- package/dist/assets/Icons/microsoft-teams-neutral.svg +1 -0
- package/dist/assets/Icons/microsoft-teams.svg +1 -0
- package/dist/assets/Icons/microsoft.svg +1 -0
- package/dist/assets/Icons/minimize.svg +1 -0
- package/dist/assets/Icons/minimize2.svg +1 -0
- package/dist/assets/Icons/minus.svg +1 -0
- package/dist/assets/Icons/moon.svg +1 -0
- package/dist/assets/Icons/mouse-pointer-ban.svg +1 -0
- package/dist/assets/Icons/mouse-pointer-click.svg +1 -0
- package/dist/assets/Icons/mouse-pointer.svg +1 -0
- package/dist/assets/Icons/mouse-pointer2.svg +1 -0
- package/dist/assets/Icons/mouse.svg +1 -0
- package/dist/assets/Icons/move-diagonal.svg +1 -0
- package/dist/assets/Icons/move-diagonal2.svg +1 -0
- package/dist/assets/Icons/move-down-left.svg +1 -0
- package/dist/assets/Icons/move-down-right.svg +1 -0
- package/dist/assets/Icons/move-down.svg +1 -0
- package/dist/assets/Icons/move-horizontal.svg +1 -0
- package/dist/assets/Icons/move-left.svg +1 -0
- package/dist/assets/Icons/move-right.svg +1 -0
- package/dist/assets/Icons/move-up-left.svg +1 -0
- package/dist/assets/Icons/move-up-right.svg +1 -0
- package/dist/assets/Icons/move-up.svg +1 -0
- package/dist/assets/Icons/move-vertical.svg +1 -0
- package/dist/assets/Icons/move3-d.svg +1 -0
- package/dist/assets/Icons/netcore-neutral.svg +1 -0
- package/dist/assets/Icons/netcore.svg +1 -0
- package/dist/assets/Icons/notebook-pen.svg +1 -0
- package/dist/assets/Icons/notebook-tabs.svg +1 -0
- package/dist/assets/Icons/notebook-text.svg +1 -0
- package/dist/assets/Icons/notebook.svg +1 -0
- package/dist/assets/Icons/notepad-text-dashed.svg +1 -0
- package/dist/assets/Icons/notepad-text.svg +1 -0
- package/dist/assets/Icons/notion-neutral.svg +1 -0
- package/dist/assets/Icons/notion.svg +1 -0
- package/dist/assets/Icons/octagon-alert.svg +1 -0
- package/dist/assets/Icons/octagon-pause.svg +1 -0
- package/dist/assets/Icons/octagon-x.svg +1 -0
- package/dist/assets/Icons/octagon.svg +1 -0
- package/dist/assets/Icons/ok-neutral.svg +1 -0
- package/dist/assets/Icons/ok-only-sign-neutral.svg +1 -0
- package/dist/assets/Icons/ok-only-sign.svg +1 -0
- package/dist/assets/Icons/ok.svg +1 -0
- package/dist/assets/Icons/onlyfans-neutral.svg +1 -0
- package/dist/assets/Icons/onlyfans.svg +1 -0
- package/dist/assets/Icons/option.svg +1 -0
- package/dist/assets/Icons/outlook365-neutral.svg +1 -0
- package/dist/assets/Icons/outlook365.svg +1 -0
- package/dist/assets/Icons/paintbrush.svg +1 -0
- package/dist/assets/Icons/panel-bottom-open.svg +1 -0
- package/dist/assets/Icons/panel-bottom.svg +1 -0
- package/dist/assets/Icons/panel-left-close.svg +1 -0
- package/dist/assets/Icons/panel-left-dashed.svg +1 -0
- package/dist/assets/Icons/panel-left-open.svg +1 -0
- package/dist/assets/Icons/panel-left.svg +1 -0
- package/dist/assets/Icons/panel-right-animated.svg +1 -0
- package/dist/assets/Icons/panel-right-close.svg +1 -0
- package/dist/assets/Icons/panel-right-dashed.svg +1 -0
- package/dist/assets/Icons/panel-right-open.svg +1 -0
- package/dist/assets/Icons/panel-right.svg +1 -0
- package/dist/assets/Icons/panel-top-bottom-dashed.svg +1 -0
- package/dist/assets/Icons/panel-top-close.svg +1 -0
- package/dist/assets/Icons/panel-top-open.svg +1 -0
- package/dist/assets/Icons/panel-top.svg +1 -0
- package/dist/assets/Icons/panels-left-bottom.svg +1 -0
- package/dist/assets/Icons/panels-right-bottom.svg +1 -0
- package/dist/assets/Icons/panels-top-left.svg +1 -0
- package/dist/assets/Icons/paperclip.svg +1 -0
- package/dist/assets/Icons/patreon-neutral.svg +1 -0
- package/dist/assets/Icons/patreon.svg +1 -0
- package/dist/assets/Icons/paypal-neutral.svg +1 -0
- package/dist/assets/Icons/paypal.svg +1 -0
- package/dist/assets/Icons/pen-line.svg +1 -0
- package/dist/assets/Icons/pen-off.svg +1 -0
- package/dist/assets/Icons/pen-tool.svg +1 -0
- package/dist/assets/Icons/pen.svg +1 -0
- package/dist/assets/Icons/pencil-line.svg +1 -0
- package/dist/assets/Icons/pencil-off.svg +1 -0
- package/dist/assets/Icons/pencil-ruler.svg +1 -0
- package/dist/assets/Icons/pencil.svg +1 -0
- package/dist/assets/Icons/pentagon.svg +1 -0
- package/dist/assets/Icons/percentage.svg +1 -0
- package/dist/assets/Icons/phone.svg +1 -0
- package/dist/assets/Icons/pin-off.svg +1 -0
- package/dist/assets/Icons/pin.svg +1 -0
- package/dist/assets/Icons/pinterest-neutral.svg +1 -0
- package/dist/assets/Icons/pinterest.svg +1 -0
- package/dist/assets/Icons/play.svg +1 -0
- package/dist/assets/Icons/plug.svg +1 -0
- package/dist/assets/Icons/plunk-neutral.svg +1 -0
- package/dist/assets/Icons/plunk.svg +1 -0
- package/dist/assets/Icons/plus.svg +1 -0
- package/dist/assets/Icons/postmark-neutral.svg +1 -0
- package/dist/assets/Icons/postmark.svg +1 -0
- package/dist/assets/Icons/product-hunt-neutral.svg +1 -0
- package/dist/assets/Icons/product-hunt.svg +1 -0
- package/dist/assets/Icons/quora-neutral.svg +1 -0
- package/dist/assets/Icons/quora.svg +1 -0
- package/dist/assets/Icons/quote.svg +1 -0
- package/dist/assets/Icons/radar.svg +1 -0
- package/dist/assets/Icons/reddit-neutral.svg +1 -0
- package/dist/assets/Icons/reddit.svg +1 -0
- package/dist/assets/Icons/redo-dot.svg +1 -0
- package/dist/assets/Icons/redo.svg +1 -0
- package/dist/assets/Icons/redo2.svg +1 -0
- package/dist/assets/Icons/refresh-ccw.svg +1 -0
- package/dist/assets/Icons/refresh-cw-off.svg +1 -0
- package/dist/assets/Icons/resend-neutral.svg +1 -0
- package/dist/assets/Icons/resend.svg +1 -0
- package/dist/assets/Icons/rss.svg +1 -0
- package/dist/assets/Icons/rules.svg +1 -0
- package/dist/assets/Icons/scan-line.svg +1 -0
- package/dist/assets/Icons/scroll-text.svg +1 -0
- package/dist/assets/Icons/search-hint.svg +1 -0
- package/dist/assets/Icons/search-x.svg +1 -0
- package/dist/assets/Icons/search.svg +1 -0
- package/dist/assets/Icons/sendgrid-neutral.svg +1 -0
- package/dist/assets/Icons/sendgrid.svg +1 -0
- package/dist/assets/Icons/server.svg +1 -0
- package/dist/assets/Icons/ses-neutral.svg +1 -0
- package/dist/assets/Icons/ses.svg +1 -0
- package/dist/assets/Icons/settings.svg +1 -0
- package/dist/assets/Icons/settings2.svg +1 -0
- package/dist/assets/Icons/shapes.svg +1 -0
- package/dist/assets/Icons/share.svg +1 -0
- package/dist/assets/Icons/sheet.svg +1 -0
- package/dist/assets/Icons/shield-alert.svg +1 -0
- package/dist/assets/Icons/shield-ban.svg +1 -0
- package/dist/assets/Icons/shield-check.svg +1 -0
- package/dist/assets/Icons/shield-ellipsis.svg +1 -0
- package/dist/assets/Icons/shield-half.svg +1 -0
- package/dist/assets/Icons/shield-minus.svg +1 -0
- package/dist/assets/Icons/shield-off.svg +1 -0
- package/dist/assets/Icons/shield-plus.svg +1 -0
- package/dist/assets/Icons/shield-question.svg +1 -0
- package/dist/assets/Icons/shield-user.svg +1 -0
- package/dist/assets/Icons/shield-x.svg +1 -0
- package/dist/assets/Icons/shield.svg +1 -0
- package/dist/assets/Icons/shift.svg +1 -0
- package/dist/assets/Icons/signal-neutral.svg +1 -0
- package/dist/assets/Icons/signal.svg +1 -0
- package/dist/assets/Icons/signpost.svg +1 -0
- package/dist/assets/Icons/sina-weibo-neutral.svg +1 -0
- package/dist/assets/Icons/sina-weibo.svg +1 -0
- package/dist/assets/Icons/skull.svg +1 -0
- package/dist/assets/Icons/skype-neutral.svg +1 -0
- package/dist/assets/Icons/skype.svg +1 -0
- package/dist/assets/Icons/slack-neutral.svg +1 -0
- package/dist/assets/Icons/slack.svg +1 -0
- package/dist/assets/Icons/sliders-horizontal.svg +1 -0
- package/dist/assets/Icons/sliders-vertical.svg +1 -0
- package/dist/assets/Icons/smtp-neutral.svg +1 -0
- package/dist/assets/Icons/smtp.svg +1 -0
- package/dist/assets/Icons/snapchat-neutral.svg +1 -0
- package/dist/assets/Icons/snapchat.svg +1 -0
- package/dist/assets/Icons/soundcloud-neutral.svg +1 -0
- package/dist/assets/Icons/soundcloud.svg +1 -0
- package/dist/assets/Icons/space.svg +1 -0
- package/dist/assets/Icons/sparkpost-neutral.svg +1 -0
- package/dist/assets/Icons/sparkpost.svg +1 -0
- package/dist/assets/Icons/speed.svg +1 -0
- package/dist/assets/Icons/split.svg +1 -0
- package/dist/assets/Icons/spotify-neutral.svg +1 -0
- package/dist/assets/Icons/spotify.svg +1 -0
- package/dist/assets/Icons/square-arrow-out-up-right.svg +1 -0
- package/dist/assets/Icons/square-minus.svg +1 -0
- package/dist/assets/Icons/square-pen.svg +1 -0
- package/dist/assets/Icons/square-plus.svg +1 -0
- package/dist/assets/Icons/square-user-round.svg +1 -0
- package/dist/assets/Icons/stack-overflow-neutral.svg +1 -0
- package/dist/assets/Icons/stack-overflow.svg +1 -0
- package/dist/assets/Icons/star.svg +1 -0
- package/dist/assets/Icons/sun.svg +1 -0
- package/dist/assets/Icons/syringe.svg +1 -0
- package/dist/assets/Icons/tag.svg +1 -0
- package/dist/assets/Icons/target.svg +1 -0
- package/dist/assets/Icons/teams-neutral.svg +1 -0
- package/dist/assets/Icons/teams.svg +1 -0
- package/dist/assets/Icons/telegram-neutral.svg +1 -0
- package/dist/assets/Icons/telegram-only-sign-neutral.svg +1 -0
- package/dist/assets/Icons/telegram-only-sign.svg +1 -0
- package/dist/assets/Icons/telegram.svg +1 -0
- package/dist/assets/Icons/terminal.svg +1 -0
- package/dist/assets/Icons/test-policies.svg +1 -0
- package/dist/assets/Icons/threads-neutral.svg +1 -0
- package/dist/assets/Icons/threads.svg +1 -0
- package/dist/assets/Icons/thumbs-down.svg +1 -0
- package/dist/assets/Icons/thumbs-up.svg +1 -0
- package/dist/assets/Icons/tiktok-neutral.svg +1 -0
- package/dist/assets/Icons/tiktok.svg +1 -0
- package/dist/assets/Icons/tinder-neutral.svg +1 -0
- package/dist/assets/Icons/tinder.svg +1 -0
- package/dist/assets/Icons/trash.svg +1 -0
- package/dist/assets/Icons/trash2.svg +1 -0
- package/dist/assets/Icons/triangle-alert.svg +1 -0
- package/dist/assets/Icons/tumblr-neutral.svg +1 -0
- package/dist/assets/Icons/tumblr.svg +1 -0
- package/dist/assets/Icons/twitch-neutral.svg +1 -0
- package/dist/assets/Icons/twitch.svg +1 -0
- package/dist/assets/Icons/undo-dot.svg +1 -0
- package/dist/assets/Icons/undo.svg +1 -0
- package/dist/assets/Icons/undo2.svg +1 -0
- package/dist/assets/Icons/unplug.svg +1 -0
- package/dist/assets/Icons/user-check.svg +1 -0
- package/dist/assets/Icons/user-minus.svg +1 -0
- package/dist/assets/Icons/user-plus.svg +1 -0
- package/dist/assets/Icons/user-round-x.svg +1 -0
- package/dist/assets/Icons/user-round.svg +1 -0
- package/dist/assets/Icons/user.svg +1 -0
- package/dist/assets/Icons/username.svg +1 -0
- package/dist/assets/Icons/users-round.svg +1 -0
- package/dist/assets/Icons/users.svg +1 -0
- package/dist/assets/Icons/viber-neutral.svg +1 -0
- package/dist/assets/Icons/viber.svg +1 -0
- package/dist/assets/Icons/video.svg +1 -0
- package/dist/assets/Icons/vimeo-neutral.svg +1 -0
- package/dist/assets/Icons/vimeo.svg +1 -0
- package/dist/assets/Icons/vk-music-neutral.svg +1 -0
- package/dist/assets/Icons/vk-music.svg +1 -0
- package/dist/assets/Icons/vk-neutral.svg +1 -0
- package/dist/assets/Icons/vk-only-sign-neutral.svg +1 -0
- package/dist/assets/Icons/vk-only-sign.svg +1 -0
- package/dist/assets/Icons/vk.svg +1 -0
- package/dist/assets/Icons/webhook-neutral.svg +1 -0
- package/dist/assets/Icons/webhook.svg +1 -0
- package/dist/assets/Icons/wechat-neutral.svg +1 -0
- package/dist/assets/Icons/wechat.svg +1 -0
- package/dist/assets/Icons/whatsapp-badge-neutral.svg +1 -0
- package/dist/assets/Icons/whatsapp-badge.svg +1 -0
- package/dist/assets/Icons/whatsapp-neutral.svg +1 -0
- package/dist/assets/Icons/whatsapp.svg +1 -0
- package/dist/assets/Icons/workflow.svg +1 -0
- package/dist/assets/Icons/wrap-text.svg +1 -0
- package/dist/assets/Icons/wrench.svg +1 -0
- package/dist/assets/Icons/x-ex-twitter-neutral.svg +1 -0
- package/dist/assets/Icons/x-ex-twitter.svg +1 -0
- package/dist/assets/Icons/x.svg +1 -0
- package/dist/assets/Icons/xing-neutral.svg +1 -0
- package/dist/assets/Icons/xing.svg +1 -0
- package/dist/assets/Icons/yandex-music-neutral.svg +1 -0
- package/dist/assets/Icons/yandex-music.svg +1 -0
- package/dist/assets/Icons/yelp-neutral.svg +1 -0
- package/dist/assets/Icons/yelp.svg +1 -0
- package/dist/assets/Icons/youtube-music-neutral.svg +1 -0
- package/dist/assets/Icons/youtube-music.svg +1 -0
- package/dist/assets/Icons/youtube-neutral.svg +1 -0
- package/dist/assets/Icons/youtube-shorts-neutral.svg +1 -0
- package/dist/assets/Icons/youtube-shorts.svg +1 -0
- package/dist/assets/Icons/youtube.svg +1 -0
- package/dist/assets/Icons/zap.svg +1 -0
- package/dist/assets/Icons/zoom-in.svg +1 -0
- package/dist/assets/Icons/zoom-neutral.svg +1 -0
- package/dist/assets/Icons/zoom-out.svg +1 -0
- package/dist/assets/Icons/zoom.svg +1 -0
- package/dist/assets/Icons/zulip-neutral.svg +1 -0
- package/dist/assets/Icons/zulip.svg +1 -0
- package/dist/assets/Logos/wallarm.svg +1 -0
- package/dist/assets.json +4666 -0
- package/dist/project/README.md +265 -0
- package/dist/project/components/Accordion/README.md +354 -0
- package/dist/project/components/Accordion/preview.html +2 -0
- package/dist/project/components/Accordion/stories.js +12 -0
- package/dist/project/components/AgentAvatar/README.md +127 -0
- package/dist/project/components/AgentAvatar/preview.html +2 -0
- package/dist/project/components/AgentAvatar/stories.js +12 -0
- package/dist/project/components/AgentAvatar/stories.md +1805 -0
- package/dist/project/components/AgentGlyph/README.md +1182 -0
- package/dist/project/components/AgentGlyph/preview.html +2 -0
- package/dist/project/components/AgentGlyph/stories.js +12 -0
- package/dist/project/components/AgentLookBuilder/README.md +269 -0
- package/dist/project/components/AgentLookBuilder/preview.html +2 -0
- package/dist/project/components/AgentLookBuilder/stories.js +12 -0
- package/dist/project/components/Alert/README.md +492 -0
- package/dist/project/components/Alert/preview.html +2 -0
- package/dist/project/components/Alert/stories.js +12 -0
- package/dist/project/components/AnimatedBackground/README.md +124 -0
- package/dist/project/components/AnimatedBackground/preview.html +2 -0
- package/dist/project/components/AnimatedBackground/stories.js +12 -0
- package/dist/project/components/AppShell/README.md +75 -0
- package/dist/project/components/AppShell/preview.html +2 -0
- package/dist/project/components/AppShell/stories.js +28 -0
- package/dist/project/components/AppShell/stories.md +2878 -0
- package/dist/project/components/ApprovalCard/README.md +353 -0
- package/dist/project/components/ApprovalCard/preview.html +2 -0
- package/dist/project/components/ApprovalCard/stories.js +12 -0
- package/dist/project/components/AreaChart/README.md +673 -0
- package/dist/project/components/AreaChart/preview.html +2 -0
- package/dist/project/components/AreaChart/stories.js +12 -0
- package/dist/project/components/AssistantMessage/README.md +724 -0
- package/dist/project/components/AssistantMessage/preview.html +2 -0
- package/dist/project/components/AssistantMessage/stories.js +55 -0
- package/dist/project/components/Attribute/README.md +1174 -0
- package/dist/project/components/Attribute/preview.html +2 -0
- package/dist/project/components/Attribute/stories.js +12 -0
- package/dist/project/components/Avatar/README.md +416 -0
- package/dist/project/components/Avatar/preview.html +2 -0
- package/dist/project/components/Avatar/stories.js +12 -0
- package/dist/project/components/Badge/README.md +853 -0
- package/dist/project/components/Badge/preview.html +2 -0
- package/dist/project/components/Badge/stories.js +12 -0
- package/dist/project/components/Banner/README.md +341 -0
- package/dist/project/components/Banner/preview.html +2 -0
- package/dist/project/components/Banner/stories.js +12 -0
- package/dist/project/components/BarList/README.md +757 -0
- package/dist/project/components/BarList/preview.html +2 -0
- package/dist/project/components/BarList/stories.js +12 -0
- package/dist/project/components/Breadcrumbs/README.md +274 -0
- package/dist/project/components/Breadcrumbs/preview.html +2 -0
- package/dist/project/components/Breadcrumbs/stories.js +12 -0
- package/dist/project/components/BulkBar/README.md +19 -0
- package/dist/project/components/Button/README.md +467 -0
- package/dist/project/components/Button/preview.html +2 -0
- package/dist/project/components/Button/stories.js +12 -0
- package/dist/project/components/Calendar/README.md +654 -0
- package/dist/project/components/Calendar/preview.html +2 -0
- package/dist/project/components/Calendar/stories.js +12 -0
- package/dist/project/components/Card/README.md +367 -0
- package/dist/project/components/Card/preview.html +2 -0
- package/dist/project/components/Card/stories.js +12 -0
- package/dist/project/components/ChainOfThought/README.md +412 -0
- package/dist/project/components/ChainOfThought/preview.html +2 -0
- package/dist/project/components/ChainOfThought/stories.js +12 -0
- package/dist/project/components/Chart/README.md +224 -0
- package/dist/project/components/Chart/preview.html +2 -0
- package/dist/project/components/Chart/stories.js +12 -0
- package/dist/project/components/Chat/README.md +1244 -0
- package/dist/project/components/Chat/preview.html +2 -0
- package/dist/project/components/Chat/stories.js +12 -0
- package/dist/project/components/ChatInput/README.md +378 -0
- package/dist/project/components/ChatInput/preview.html +2 -0
- package/dist/project/components/ChatInput/stories.js +12 -0
- package/dist/project/components/ChatPermissions/README.md +218 -0
- package/dist/project/components/ChatPermissions/preview.html +2 -0
- package/dist/project/components/ChatPermissions/stories.js +12 -0
- package/dist/project/components/Checkbox/README.md +367 -0
- package/dist/project/components/Checkbox/preview.html +2 -0
- package/dist/project/components/Checkbox/stories.js +12 -0
- package/dist/project/components/Code/README.md +243 -0
- package/dist/project/components/Code/preview.html +2 -0
- package/dist/project/components/Code/stories.js +12 -0
- package/dist/project/components/CodeEditor/README.md +280 -0
- package/dist/project/components/CodeEditor/preview.html +2 -0
- package/dist/project/components/CodeEditor/stories.js +162 -0
- package/dist/project/components/CodeEditor/stories.md +1533 -0
- package/dist/project/components/CodeSnippet/README.md +1352 -0
- package/dist/project/components/CodeSnippet/preview.html +2 -0
- package/dist/project/components/CodeSnippet/stories.js +156 -0
- package/dist/project/components/ColumnChart/README.md +521 -0
- package/dist/project/components/ColumnChart/preview.html +2 -0
- package/dist/project/components/ColumnChart/stories.js +12 -0
- package/dist/project/components/Conversation/README.md +314 -0
- package/dist/project/components/Conversation/preview.html +2 -0
- package/dist/project/components/Conversation/stories.js +12 -0
- package/dist/project/components/Copyable/README.md +406 -0
- package/dist/project/components/Copyable/preview.html +2 -0
- package/dist/project/components/Copyable/stories.js +12 -0
- package/dist/project/components/Country/README.md +226 -0
- package/dist/project/components/Country/preview.html +2 -0
- package/dist/project/components/Country/stories.js +12 -0
- package/dist/project/components/Cover/preview.html +43 -0
- package/dist/project/components/DateInput/README.md +458 -0
- package/dist/project/components/DateInput/preview.html +2 -0
- package/dist/project/components/DateInput/stories.js +12 -0
- package/dist/project/components/DateRangeInput/README.md +412 -0
- package/dist/project/components/DateRangeInput/preview.html +2 -0
- package/dist/project/components/DateRangeInput/stories.js +12 -0
- package/dist/project/components/Dialog/README.md +1140 -0
- package/dist/project/components/Dialog/preview.html +2 -0
- package/dist/project/components/Dialog/stories.js +12 -0
- package/dist/project/components/Drawer/README.md +1163 -0
- package/dist/project/components/Drawer/preview.html +2 -0
- package/dist/project/components/Drawer/stories.js +12 -0
- package/dist/project/components/DropdownMenu/README.md +678 -0
- package/dist/project/components/DropdownMenu/preview.html +2 -0
- package/dist/project/components/DropdownMenu/stories.js +12 -0
- package/dist/project/components/EmptyState/README.md +276 -0
- package/dist/project/components/EmptyState/preview.html +2 -0
- package/dist/project/components/EmptyState/stories.js +12 -0
- package/dist/project/components/FeedbackPulse/README.md +125 -0
- package/dist/project/components/FeedbackPulse/preview.html +2 -0
- package/dist/project/components/FeedbackPulse/stories.js +12 -0
- package/dist/project/components/Field/README.md +676 -0
- package/dist/project/components/Field/preview.html +2 -0
- package/dist/project/components/Field/stories.js +12 -0
- package/dist/project/components/FileUpload/README.md +544 -0
- package/dist/project/components/FileUpload/preview.html +2 -0
- package/dist/project/components/FileUpload/stories.js +12 -0
- package/dist/project/components/FilterCascade/README.md +348 -0
- package/dist/project/components/FilterCascade/preview.html +2 -0
- package/dist/project/components/FilterCascade/stories.js +12 -0
- package/dist/project/components/FilterDropdown/README.md +542 -0
- package/dist/project/components/FilterDropdown/preview.html +2 -0
- package/dist/project/components/FilterDropdown/stories.js +12 -0
- package/dist/project/components/FilterInput/README.md +416 -0
- package/dist/project/components/FilterInput/preview.html +2 -0
- package/dist/project/components/FilterInput/stories.js +12 -0
- package/dist/project/components/FilterInput/stories.md +6682 -0
- package/dist/project/components/Flex/README.md +225 -0
- package/dist/project/components/Flex/preview.html +2 -0
- package/dist/project/components/Flex/stories.js +12 -0
- package/dist/project/components/FormatDateTime/README.md +315 -0
- package/dist/project/components/FormatDateTime/preview.html +2 -0
- package/dist/project/components/FormatDateTime/stories.js +12 -0
- package/dist/project/components/FormatNumber/README.md +317 -0
- package/dist/project/components/FormatNumber/preview.html +2 -0
- package/dist/project/components/FormatNumber/stories.js +12 -0
- package/dist/project/components/Heading/README.md +240 -0
- package/dist/project/components/Heading/preview.html +2 -0
- package/dist/project/components/Heading/stories.js +12 -0
- package/dist/project/components/HorizontalBarStack/README.md +281 -0
- package/dist/project/components/HorizontalBarStack/preview.html +2 -0
- package/dist/project/components/HorizontalBarStack/stories.js +12 -0
- package/dist/project/components/HttpMethod/README.md +137 -0
- package/dist/project/components/HttpMethod/preview.html +2 -0
- package/dist/project/components/HttpMethod/stories.js +12 -0
- package/dist/project/components/ImageCropper/README.md +332 -0
- package/dist/project/components/ImageCropper/preview.html +2 -0
- package/dist/project/components/ImageCropper/stories.js +33 -0
- package/dist/project/components/Indicator/README.md +110 -0
- package/dist/project/components/Indicator/preview.html +2 -0
- package/dist/project/components/Indicator/stories.js +12 -0
- package/dist/project/components/InlineEdit/README.md +977 -0
- package/dist/project/components/InlineEdit/preview.html +2 -0
- package/dist/project/components/InlineEdit/stories.js +12 -0
- package/dist/project/components/Input/README.md +187 -0
- package/dist/project/components/Input/preview.html +2 -0
- package/dist/project/components/Input/stories.js +12 -0
- package/dist/project/components/InputGroup/README.md +423 -0
- package/dist/project/components/InputGroup/preview.html +2 -0
- package/dist/project/components/InputGroup/stories.js +12 -0
- package/dist/project/components/InputOTP/README.md +201 -0
- package/dist/project/components/InputOTP/preview.html +2 -0
- package/dist/project/components/InputOTP/stories.js +12 -0
- package/dist/project/components/Ip/README.md +226 -0
- package/dist/project/components/Ip/preview.html +2 -0
- package/dist/project/components/Ip/stories.js +12 -0
- package/dist/project/components/Kbd/README.md +126 -0
- package/dist/project/components/Kbd/preview.html +2 -0
- package/dist/project/components/Kbd/stories.js +12 -0
- package/dist/project/components/LineChart/README.md +1479 -0
- package/dist/project/components/LineChart/preview.html +2 -0
- package/dist/project/components/LineChart/stories.js +12 -0
- package/dist/project/components/Link/README.md +160 -0
- package/dist/project/components/Link/preview.html +2 -0
- package/dist/project/components/Link/stories.js +12 -0
- package/dist/project/components/List/README.md +181 -0
- package/dist/project/components/List/preview.html +2 -0
- package/dist/project/components/List/stories.js +12 -0
- package/dist/project/components/Loader/README.md +145 -0
- package/dist/project/components/Loader/preview.html +2 -0
- package/dist/project/components/Loader/stories.js +12 -0
- package/dist/project/components/Logo/README.md +183 -0
- package/dist/project/components/Logo/preview.html +2 -0
- package/dist/project/components/Logo/stories.js +12 -0
- package/dist/project/components/MessageActions/README.md +255 -0
- package/dist/project/components/MessageActions/preview.html +2 -0
- package/dist/project/components/MessageActions/stories.js +12 -0
- package/dist/project/components/Metric/README.md +324 -0
- package/dist/project/components/Metric/preview.html +2 -0
- package/dist/project/components/Metric/stories.js +12 -0
- package/dist/project/components/NavRail/README.md +25 -0
- package/dist/project/components/NotificationCenter/README.md +91 -0
- package/dist/project/components/NotificationCenter/preview.html +2 -0
- package/dist/project/components/NotificationCenter/stories.js +12 -0
- package/dist/project/components/NotificationCenter/stories.md +2170 -0
- package/dist/project/components/NumberInput/README.md +177 -0
- package/dist/project/components/NumberInput/preview.html +2 -0
- package/dist/project/components/NumberInput/stories.js +12 -0
- package/dist/project/components/NumericBadge/README.md +252 -0
- package/dist/project/components/NumericBadge/preview.html +2 -0
- package/dist/project/components/NumericBadge/stories.js +12 -0
- package/dist/project/components/OverflowList/README.md +324 -0
- package/dist/project/components/OverflowList/preview.html +2 -0
- package/dist/project/components/OverflowList/stories.js +12 -0
- package/dist/project/components/OverflowTooltip/README.md +421 -0
- package/dist/project/components/OverflowTooltip/preview.html +2 -0
- package/dist/project/components/OverflowTooltip/stories.js +12 -0
- package/dist/project/components/Overlay/README.md +95 -0
- package/dist/project/components/Overlay/preview.html +2 -0
- package/dist/project/components/Overlay/stories.js +12 -0
- package/dist/project/components/Overview/README.md +445 -0
- package/dist/project/components/Overview/preview.html +2 -0
- package/dist/project/components/Overview/stories.js +12 -0
- package/dist/project/components/Page/README.md +215 -0
- package/dist/project/components/Page/preview.html +2 -0
- package/dist/project/components/Page/stories.js +12 -0
- package/dist/project/components/Pagination/README.md +302 -0
- package/dist/project/components/Pagination/preview.html +2 -0
- package/dist/project/components/Pagination/stories.js +12 -0
- package/dist/project/components/ParameterPath/README.md +284 -0
- package/dist/project/components/ParameterPath/preview.html +2 -0
- package/dist/project/components/ParameterPath/stories.js +12 -0
- package/dist/project/components/PasswordComplexity/README.md +171 -0
- package/dist/project/components/PasswordComplexity/preview.html +2 -0
- package/dist/project/components/PasswordComplexity/stories.js +12 -0
- package/dist/project/components/PasswordInput/README.md +254 -0
- package/dist/project/components/PasswordInput/preview.html +2 -0
- package/dist/project/components/PasswordInput/stories.js +12 -0
- package/dist/project/components/PieChart/README.md +895 -0
- package/dist/project/components/PieChart/preview.html +2 -0
- package/dist/project/components/PieChart/stories.js +12 -0
- package/dist/project/components/Popover/README.md +282 -0
- package/dist/project/components/Popover/preview.html +2 -0
- package/dist/project/components/Popover/stories.js +12 -0
- package/dist/project/components/Progress/README.md +174 -0
- package/dist/project/components/Progress/preview.html +2 -0
- package/dist/project/components/Progress/stories.js +12 -0
- package/dist/project/components/Radio/README.md +264 -0
- package/dist/project/components/Radio/preview.html +2 -0
- package/dist/project/components/Radio/stories.js +12 -0
- package/dist/project/components/RemoteShell/README.md +1758 -0
- package/dist/project/components/RemoteShell/preview.html +2 -0
- package/dist/project/components/RemoteShell/stories.js +28 -0
- package/dist/project/components/Resizable/README.md +290 -0
- package/dist/project/components/Resizable/preview.html +2 -0
- package/dist/project/components/Resizable/stories.js +12 -0
- package/dist/project/components/ResponseCode/README.md +205 -0
- package/dist/project/components/ResponseCode/preview.html +2 -0
- package/dist/project/components/ResponseCode/stories.js +12 -0
- package/dist/project/components/ScrollArea/README.md +234 -0
- package/dist/project/components/ScrollArea/preview.html +2 -0
- package/dist/project/components/ScrollArea/stories.js +12 -0
- package/dist/project/components/SearchInput/README.md +158 -0
- package/dist/project/components/SearchInput/preview.html +2 -0
- package/dist/project/components/SearchInput/stories.js +12 -0
- package/dist/project/components/SearchModal/README.md +836 -0
- package/dist/project/components/SearchModal/preview.html +2 -0
- package/dist/project/components/SearchModal/stories.js +12 -0
- package/dist/project/components/SegmentedControl/README.md +382 -0
- package/dist/project/components/SegmentedControl/preview.html +2 -0
- package/dist/project/components/SegmentedControl/stories.js +12 -0
- package/dist/project/components/SegmentedTabs/README.md +390 -0
- package/dist/project/components/SegmentedTabs/preview.html +2 -0
- package/dist/project/components/SegmentedTabs/stories.js +12 -0
- package/dist/project/components/Select/README.md +1311 -0
- package/dist/project/components/Select/preview.html +2 -0
- package/dist/project/components/Select/stories.js +12 -0
- package/dist/project/components/Selection/README.md +648 -0
- package/dist/project/components/Selection/preview.html +2 -0
- package/dist/project/components/Selection/stories.js +12 -0
- package/dist/project/components/Separator/README.md +77 -0
- package/dist/project/components/Separator/preview.html +2 -0
- package/dist/project/components/Separator/stories.js +12 -0
- package/dist/project/components/Skeleton/README.md +358 -0
- package/dist/project/components/Skeleton/preview.html +2 -0
- package/dist/project/components/Skeleton/stories.js +12 -0
- package/dist/project/components/Slider/README.md +433 -0
- package/dist/project/components/Slider/preview.html +2 -0
- package/dist/project/components/Slider/stories.js +12 -0
- package/dist/project/components/SplashScreen/README.md +192 -0
- package/dist/project/components/SplashScreen/preview.html +2 -0
- package/dist/project/components/SplashScreen/stories.js +12 -0
- package/dist/project/components/SplitButton/README.md +402 -0
- package/dist/project/components/SplitButton/preview.html +2 -0
- package/dist/project/components/SplitButton/stories.js +12 -0
- package/dist/project/components/Stack/README.md +269 -0
- package/dist/project/components/Stack/preview.html +2 -0
- package/dist/project/components/Stack/stories.js +12 -0
- package/dist/project/components/Stepper/README.md +682 -0
- package/dist/project/components/Stepper/preview.html +2 -0
- package/dist/project/components/Stepper/stories.js +12 -0
- package/dist/project/components/Switch/README.md +236 -0
- package/dist/project/components/Switch/preview.html +2 -0
- package/dist/project/components/Switch/stories.js +12 -0
- package/dist/project/components/Table/README.md +471 -0
- package/dist/project/components/Table/preview.html +2 -0
- package/dist/project/components/Table/stories.js +12 -0
- package/dist/project/components/Table/stories.md +3697 -0
- package/dist/project/components/Tabs/README.md +443 -0
- package/dist/project/components/Tabs/preview.html +2 -0
- package/dist/project/components/Tabs/stories.js +12 -0
- package/dist/project/components/Tag/README.md +324 -0
- package/dist/project/components/Tag/preview.html +2 -0
- package/dist/project/components/Tag/stories.js +12 -0
- package/dist/project/components/Text/README.md +200 -0
- package/dist/project/components/Text/preview.html +2 -0
- package/dist/project/components/Text/stories.js +12 -0
- package/dist/project/components/Textarea/README.md +273 -0
- package/dist/project/components/Textarea/preview.html +2 -0
- package/dist/project/components/Textarea/stories.js +12 -0
- package/dist/project/components/TimeInput/README.md +359 -0
- package/dist/project/components/TimeInput/preview.html +2 -0
- package/dist/project/components/TimeInput/stories.js +12 -0
- package/dist/project/components/Timeline/README.md +204 -0
- package/dist/project/components/Timeline/preview.html +2 -0
- package/dist/project/components/Timeline/stories.js +12 -0
- package/dist/project/components/Toast/README.md +718 -0
- package/dist/project/components/Toast/preview.html +2 -0
- package/dist/project/components/Toast/stories.js +12 -0
- package/dist/project/components/ToggleButton/README.md +292 -0
- package/dist/project/components/ToggleButton/preview.html +2 -0
- package/dist/project/components/ToggleButton/stories.js +12 -0
- package/dist/project/components/Tooltip/README.md +199 -0
- package/dist/project/components/Tooltip/preview.html +2 -0
- package/dist/project/components/Tooltip/stories.js +12 -0
- package/dist/project/components/TopHeader/README.md +21 -0
- package/dist/project/components/Tour/README.md +532 -0
- package/dist/project/components/Tour/preview.html +2 -0
- package/dist/project/components/Tour/stories.js +12 -0
- package/dist/project/components/Tree/README.md +450 -0
- package/dist/project/components/Tree/preview.html +2 -0
- package/dist/project/components/Tree/stories.js +12 -0
- package/dist/project/components/TreeView/README.md +531 -0
- package/dist/project/components/TreeView/preview.html +2 -0
- package/dist/project/components/TreeView/stories.js +12 -0
- package/dist/project/components/UTILITIES.md +647 -0
- package/dist/project/components/UserMessage/README.md +166 -0
- package/dist/project/components/UserMessage/preview.html +2 -0
- package/dist/project/components/UserMessage/stories.js +12 -0
- package/dist/project/components/UtilityPage/README.md +147 -0
- package/dist/project/components/UtilityPage/preview.html +2 -0
- package/dist/project/components/UtilityPage/stories.js +12 -0
- package/dist/project/components/WallyAssistant/README.md +1380 -0
- package/dist/project/components/WallyAssistant/preview.html +2 -0
- package/dist/project/components/WallyAssistant/stories.js +12 -0
- package/dist/project/components/WallyIcon/README.md +130 -0
- package/dist/project/components/WallyIcon/preview.html +2 -0
- package/dist/project/components/WallyIcon/stories.js +12 -0
- package/dist/project/components/WallySkeleton/README.md +96 -0
- package/dist/project/components/WallySkeleton/preview.html +2 -0
- package/dist/project/components/WallySkeleton/stories.js +12 -0
- package/dist/project/components/bundle.css +18734 -0
- package/dist/project/components/bundle.js +167 -0
- package/dist/project/components/index.d.ts +27226 -0
- package/dist/project/design-system.json +35 -0
- package/dist/project/fonts/Geist-Variable.woff2 +0 -0
- package/dist/project/fonts/GeistMono-Variable.woff2 +0 -0
- package/dist/project/fonts/GeistPixel-Square.woff2 +0 -0
- package/dist/project/sampler.dc.html +238 -0
- package/dist/project/tokens.css +1395 -0
- package/dist/project/tokens.json +5235 -0
- package/dist/wallarm-sampler.dc.html +239 -0
- package/package.json +67 -3
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
Shows the full value only when it is actually truncated, so a reader who can already see the text is not given a tooltip that repeats it. It finds the truncating element itself, so wrap the content rather than pointing it at a node.
|
|
2
|
+
|
|
3
|
+
## Props as canvas attributes
|
|
4
|
+
|
|
5
|
+
Use kebab-case attribute names. Pass non-string values through renderVals holes, including booleans. The full emitted API is in `components/index.d.ts`.
|
|
6
|
+
|
|
7
|
+
| Attribute | Type | Required | Default | Description |
|
|
8
|
+
| --- | --- | --- | --- | --- |
|
|
9
|
+
| `force-tooltip` | `boolean \| undefined` | no | `false` | |
|
|
10
|
+
| `positioning` | `complex` | no | — | |
|
|
11
|
+
|
|
12
|
+
## Sub-components
|
|
13
|
+
|
|
14
|
+
- `WallarmDS.OverflowTooltipContent` — `OverflowTooltipContentProps` in the declaration bundle.
|
|
15
|
+
- `WallarmDS.OverflowTooltipTrigger` — `OverflowTooltipTriggerProps` in the declaration bundle.
|
|
16
|
+
|
|
17
|
+
## Stories
|
|
18
|
+
|
|
19
|
+
### AutoDetection
|
|
20
|
+
|
|
21
|
+
A single truncated line. The tooltip appears only when the text is cut — resize the frame and
|
|
22
|
+
it stops offering one.
|
|
23
|
+
|
|
24
|
+
Source: OverflowTooltip/OverflowTooltip.stories.tsx#AutoDetection
|
|
25
|
+
|
|
26
|
+
### MultiLineAutoDetection
|
|
27
|
+
|
|
28
|
+
The same with `line-clamp`, where truncation happens at the block rather than the line.
|
|
29
|
+
|
|
30
|
+
Source: OverflowTooltip/OverflowTooltip.stories.tsx#MultiLineAutoDetection
|
|
31
|
+
|
|
32
|
+
### NestedElements
|
|
33
|
+
|
|
34
|
+
The truncating element is somewhere inside the children, which is the usual case — it is
|
|
35
|
+
found rather than declared.
|
|
36
|
+
|
|
37
|
+
Source: OverflowTooltip/OverflowTooltip.stories.tsx#NestedElements
|
|
38
|
+
|
|
39
|
+
### CustomTooltipContent
|
|
40
|
+
|
|
41
|
+
Overriding the content, for when the full value needs formatting the truncated one does not
|
|
42
|
+
have.
|
|
43
|
+
|
|
44
|
+
Source: OverflowTooltip/OverflowTooltip.stories.tsx#CustomTooltipContent
|
|
45
|
+
|
|
46
|
+
### ForceTooltip
|
|
47
|
+
|
|
48
|
+
Forcing it on regardless of truncation. Reach for a plain `Tooltip` instead if the answer is
|
|
49
|
+
always yes — this prop exists for the case that switches.
|
|
50
|
+
|
|
51
|
+
Source: OverflowTooltip/OverflowTooltip.stories.tsx#ForceTooltip
|
|
52
|
+
|
|
53
|
+
### DifferentSides
|
|
54
|
+
|
|
55
|
+
Placement around the trigger. In a table, keep it off the side the reader is scanning.
|
|
56
|
+
|
|
57
|
+
Source: OverflowTooltip/OverflowTooltip.stories.tsx#DifferentSides
|
|
58
|
+
|
|
59
|
+
### DynamicContent
|
|
60
|
+
|
|
61
|
+
Content that changes after mount. The measurement is re-taken rather than cached from first
|
|
62
|
+
render, so text that grows past its box gains a tooltip without being remounted.
|
|
63
|
+
|
|
64
|
+
Source: OverflowTooltip/OverflowTooltip.stories.tsx#DynamicContent
|
|
65
|
+
|
|
66
|
+
## Story sources
|
|
67
|
+
|
|
68
|
+
### OverflowTooltip/OverflowTooltip.stories.tsx
|
|
69
|
+
|
|
70
|
+
```tsx
|
|
71
|
+
import { useState } from 'react';
|
|
72
|
+
import type { Meta, StoryFn } from 'storybook-react-rsbuild';
|
|
73
|
+
import { Button } from '../Button';
|
|
74
|
+
import {
|
|
75
|
+
OverflowTooltip,
|
|
76
|
+
OverflowTooltipContent,
|
|
77
|
+
type OverflowTooltipProps,
|
|
78
|
+
OverflowTooltipTrigger,
|
|
79
|
+
} from './index';
|
|
80
|
+
|
|
81
|
+
const DESCRIPTION = [
|
|
82
|
+
'Shows the full value only when it is actually truncated, so a reader who can already see the text is not given a tooltip that repeats it.',
|
|
83
|
+
'It finds the truncating element itself, so wrap the content rather than pointing it at a node.',
|
|
84
|
+
].join(' ');
|
|
85
|
+
|
|
86
|
+
const meta = {
|
|
87
|
+
title: 'Overlay/OverflowTooltip',
|
|
88
|
+
component: OverflowTooltip,
|
|
89
|
+
subcomponents: { OverflowTooltipTrigger, OverflowTooltipContent },
|
|
90
|
+
parameters: {
|
|
91
|
+
layout: 'centered',
|
|
92
|
+
docs: {
|
|
93
|
+
description: {
|
|
94
|
+
component: DESCRIPTION,
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
} satisfies Meta<typeof OverflowTooltip>;
|
|
99
|
+
|
|
100
|
+
export default meta;
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* A single truncated line. The tooltip appears only when the text is cut — resize the frame and
|
|
104
|
+
* it stops offering one.
|
|
105
|
+
*/
|
|
106
|
+
export const AutoDetection: StoryFn<OverflowTooltipProps> = () => {
|
|
107
|
+
return (
|
|
108
|
+
<div className='font-sans flex flex-col gap-16 w-300'>
|
|
109
|
+
<div>
|
|
110
|
+
<p className='sb-annotation mb-8'>short — no tooltip</p>
|
|
111
|
+
<OverflowTooltip>
|
|
112
|
+
<OverflowTooltipTrigger>
|
|
113
|
+
<div className='truncate'>Short text</div>
|
|
114
|
+
</OverflowTooltipTrigger>
|
|
115
|
+
<OverflowTooltipContent>
|
|
116
|
+
This won't show because text isn't overflowing
|
|
117
|
+
</OverflowTooltipContent>
|
|
118
|
+
</OverflowTooltip>
|
|
119
|
+
</div>
|
|
120
|
+
|
|
121
|
+
<div>
|
|
122
|
+
<p className='sb-annotation mb-8'>long — tooltip</p>
|
|
123
|
+
<OverflowTooltip>
|
|
124
|
+
<OverflowTooltipTrigger>
|
|
125
|
+
<div className='truncate'>
|
|
126
|
+
This is a very long text that will be truncated and automatically show a tooltip when
|
|
127
|
+
hovered
|
|
128
|
+
</div>
|
|
129
|
+
</OverflowTooltipTrigger>
|
|
130
|
+
<OverflowTooltipContent>
|
|
131
|
+
This is a very long text that will be truncated and automatically show a tooltip when
|
|
132
|
+
hovered
|
|
133
|
+
</OverflowTooltipContent>
|
|
134
|
+
</OverflowTooltip>
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
);
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* The same with `line-clamp`, where truncation happens at the block rather than the line.
|
|
142
|
+
*/
|
|
143
|
+
export const MultiLineAutoDetection: StoryFn<OverflowTooltipProps> = () => {
|
|
144
|
+
const longText =
|
|
145
|
+
'This is a very long text that demonstrates multi-line truncation. It keeps going and going to show how the component handles text that exceeds multiple lines. The tooltip will appear when you hover over the truncated content. And it continues even more to ensure we have enough content for demonstration purposes.';
|
|
146
|
+
|
|
147
|
+
return (
|
|
148
|
+
<div className='font-sans flex flex-col gap-16 w-300'>
|
|
149
|
+
<div>
|
|
150
|
+
<p className='sb-annotation mb-8'>line-clamp-2</p>
|
|
151
|
+
<OverflowTooltip>
|
|
152
|
+
<OverflowTooltipTrigger>
|
|
153
|
+
<div className='line-clamp-2'>{longText}</div>
|
|
154
|
+
</OverflowTooltipTrigger>
|
|
155
|
+
<OverflowTooltipContent>{longText}</OverflowTooltipContent>
|
|
156
|
+
</OverflowTooltip>
|
|
157
|
+
</div>
|
|
158
|
+
|
|
159
|
+
<div>
|
|
160
|
+
<p className='sb-annotation mb-8'>line-clamp-3</p>
|
|
161
|
+
<OverflowTooltip>
|
|
162
|
+
<OverflowTooltipTrigger>
|
|
163
|
+
<div className='line-clamp-3'>{longText}</div>
|
|
164
|
+
</OverflowTooltipTrigger>
|
|
165
|
+
<OverflowTooltipContent>{longText}</OverflowTooltipContent>
|
|
166
|
+
</OverflowTooltip>
|
|
167
|
+
</div>
|
|
168
|
+
|
|
169
|
+
<div>
|
|
170
|
+
<p className='sb-annotation mb-8'>line-clamp-4</p>
|
|
171
|
+
<OverflowTooltip>
|
|
172
|
+
<OverflowTooltipTrigger>
|
|
173
|
+
<div className='line-clamp-4'>{longText}</div>
|
|
174
|
+
</OverflowTooltipTrigger>
|
|
175
|
+
<OverflowTooltipContent>{longText}</OverflowTooltipContent>
|
|
176
|
+
</OverflowTooltip>
|
|
177
|
+
</div>
|
|
178
|
+
</div>
|
|
179
|
+
);
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* The truncating element is somewhere inside the children, which is the usual case — it is
|
|
184
|
+
* found rather than declared.
|
|
185
|
+
*/
|
|
186
|
+
export const NestedElements: StoryFn<OverflowTooltipProps> = () => {
|
|
187
|
+
return (
|
|
188
|
+
<div className='font-sans flex flex-col gap-16 w-300'>
|
|
189
|
+
<div>
|
|
190
|
+
<p className='sb-annotation mb-8'>one level deep</p>
|
|
191
|
+
<OverflowTooltip>
|
|
192
|
+
<OverflowTooltipTrigger>
|
|
193
|
+
<div className='border p-4'>
|
|
194
|
+
<h3 className='font-bold mb-2'>Card Title</h3>
|
|
195
|
+
<p className='truncate'>
|
|
196
|
+
This is a nested element with truncate that will be automatically detected for
|
|
197
|
+
overflow
|
|
198
|
+
</p>
|
|
199
|
+
</div>
|
|
200
|
+
</OverflowTooltipTrigger>
|
|
201
|
+
<OverflowTooltipContent>
|
|
202
|
+
This is a nested element with truncate that will be automatically detected for overflow
|
|
203
|
+
</OverflowTooltipContent>
|
|
204
|
+
</OverflowTooltip>
|
|
205
|
+
</div>
|
|
206
|
+
|
|
207
|
+
<div>
|
|
208
|
+
<p className='sb-annotation mb-8'>several, each truncating</p>
|
|
209
|
+
<OverflowTooltip>
|
|
210
|
+
<OverflowTooltipTrigger>
|
|
211
|
+
<div className='border p-4'>
|
|
212
|
+
<h3 className='font-bold mb-2 truncate'>
|
|
213
|
+
This is a very long title that might be truncated
|
|
214
|
+
</h3>
|
|
215
|
+
<p className='line-clamp-2'>
|
|
216
|
+
And this is a description that can span multiple lines but will be clamped to just
|
|
217
|
+
two lines. The component will detect if either of these elements overflow.
|
|
218
|
+
</p>
|
|
219
|
+
</div>
|
|
220
|
+
</OverflowTooltipTrigger>
|
|
221
|
+
<OverflowTooltipContent>
|
|
222
|
+
<div>
|
|
223
|
+
<strong>Title:</strong> This is a very long title that might be truncated
|
|
224
|
+
<br />
|
|
225
|
+
<strong>Description:</strong> And this is a description that can span multiple lines
|
|
226
|
+
but will be clamped to just two lines. The component will detect if either of these
|
|
227
|
+
elements overflow.
|
|
228
|
+
</div>
|
|
229
|
+
</OverflowTooltipContent>
|
|
230
|
+
</OverflowTooltip>
|
|
231
|
+
</div>
|
|
232
|
+
</div>
|
|
233
|
+
);
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Overriding the content, for when the full value needs formatting the truncated one does not
|
|
238
|
+
* have.
|
|
239
|
+
*/
|
|
240
|
+
export const CustomTooltipContent: StoryFn<OverflowTooltipProps> = () => {
|
|
241
|
+
return (
|
|
242
|
+
<div className='font-sans flex flex-col gap-16 w-300'>
|
|
243
|
+
<div>
|
|
244
|
+
<p className='sb-annotation mb-8'>rich content</p>
|
|
245
|
+
<OverflowTooltip>
|
|
246
|
+
<OverflowTooltipTrigger>
|
|
247
|
+
<div className='truncate'>
|
|
248
|
+
/api/v1/users/1234567890/sessions/abc-def-ghi-jkl-mno/tokens/refresh
|
|
249
|
+
</div>
|
|
250
|
+
</OverflowTooltipTrigger>
|
|
251
|
+
<OverflowTooltipContent>
|
|
252
|
+
<div className='flex flex-col gap-2'>
|
|
253
|
+
<div className='font-medium text-sm'>API Endpoint</div>
|
|
254
|
+
<code className='rounded-6 bg-component-kbi-tooltip-bg px-4 py-2 font-mono text-text-primary-alt text-xs'>
|
|
255
|
+
/api/v1/users/1234567890/sessions/abc-def-ghi-jkl-mno/tokens/refresh
|
|
256
|
+
</code>
|
|
257
|
+
<div className='text-xs text-text-secondary-alt'>
|
|
258
|
+
Method: POST
|
|
259
|
+
<br />
|
|
260
|
+
Auth: Bearer Token
|
|
261
|
+
</div>
|
|
262
|
+
</div>
|
|
263
|
+
</OverflowTooltipContent>
|
|
264
|
+
</OverflowTooltip>
|
|
265
|
+
</div>
|
|
266
|
+
|
|
267
|
+
<div>
|
|
268
|
+
<p className='sb-annotation mb-8'>table-like content</p>
|
|
269
|
+
<OverflowTooltip>
|
|
270
|
+
<OverflowTooltipTrigger>
|
|
271
|
+
<div className='truncate'>
|
|
272
|
+
user@example.com - Administrator - Last login: 2024-01-15
|
|
273
|
+
</div>
|
|
274
|
+
</OverflowTooltipTrigger>
|
|
275
|
+
<OverflowTooltipContent>
|
|
276
|
+
<div className='grid grid-cols-2 gap-2 text-sm'>
|
|
277
|
+
<span className='font-medium'>Email:</span>
|
|
278
|
+
<span>user@example.com</span>
|
|
279
|
+
<span className='font-medium'>Role:</span>
|
|
280
|
+
<span>Administrator</span>
|
|
281
|
+
<span className='font-medium'>Last Login:</span>
|
|
282
|
+
<span>2024-01-15</span>
|
|
283
|
+
</div>
|
|
284
|
+
</OverflowTooltipContent>
|
|
285
|
+
</OverflowTooltip>
|
|
286
|
+
</div>
|
|
287
|
+
</div>
|
|
288
|
+
);
|
|
289
|
+
};
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* Forcing it on regardless of truncation. Reach for a plain `Tooltip` instead if the answer is
|
|
293
|
+
* always yes — this prop exists for the case that switches.
|
|
294
|
+
*/
|
|
295
|
+
export const ForceTooltip: StoryFn<OverflowTooltipProps> = () => {
|
|
296
|
+
return (
|
|
297
|
+
<div className='font-sans flex flex-col gap-16 w-300'>
|
|
298
|
+
<div>
|
|
299
|
+
<p className='sb-annotation mb-8'>forced, nothing truncated</p>
|
|
300
|
+
<OverflowTooltip forceTooltip>
|
|
301
|
+
<OverflowTooltipTrigger>
|
|
302
|
+
<div className='truncate w-fit'>Short text</div>
|
|
303
|
+
</OverflowTooltipTrigger>
|
|
304
|
+
<OverflowTooltipContent>
|
|
305
|
+
This tooltip is forced to show even though the text isn't truncated
|
|
306
|
+
</OverflowTooltipContent>
|
|
307
|
+
</OverflowTooltip>
|
|
308
|
+
</div>
|
|
309
|
+
|
|
310
|
+
<div>
|
|
311
|
+
<p className='sb-annotation mb-8'>forced, with extra detail</p>
|
|
312
|
+
<OverflowTooltip forceTooltip>
|
|
313
|
+
<OverflowTooltipTrigger>
|
|
314
|
+
<Button variant='outline' color='neutral'>
|
|
315
|
+
Click for info
|
|
316
|
+
</Button>
|
|
317
|
+
</OverflowTooltipTrigger>
|
|
318
|
+
<OverflowTooltipContent>
|
|
319
|
+
<div className='flex flex-col gap-2'>
|
|
320
|
+
<strong>Additional Information</strong>
|
|
321
|
+
<span className='text-sm'>
|
|
322
|
+
This tooltip provides extra context even when the trigger element doesn't have
|
|
323
|
+
overflow.
|
|
324
|
+
</span>
|
|
325
|
+
</div>
|
|
326
|
+
</OverflowTooltipContent>
|
|
327
|
+
</OverflowTooltip>
|
|
328
|
+
</div>
|
|
329
|
+
</div>
|
|
330
|
+
);
|
|
331
|
+
};
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* Placement around the trigger. In a table, keep it off the side the reader is scanning.
|
|
335
|
+
*/
|
|
336
|
+
export const DifferentSides: StoryFn<OverflowTooltipProps> = () => {
|
|
337
|
+
const text = 'This is a text that will be truncated and show tooltips on different sides';
|
|
338
|
+
|
|
339
|
+
return (
|
|
340
|
+
<div className='font-sans flex flex-col gap-32 w-300 py-32'>
|
|
341
|
+
<div>
|
|
342
|
+
<p className='sb-annotation mb-8'>top — the default</p>
|
|
343
|
+
<OverflowTooltip positioning={{ placement: 'top' }}>
|
|
344
|
+
<OverflowTooltipTrigger>
|
|
345
|
+
<div className='truncate'>{text}</div>
|
|
346
|
+
</OverflowTooltipTrigger>
|
|
347
|
+
<OverflowTooltipContent>{text}</OverflowTooltipContent>
|
|
348
|
+
</OverflowTooltip>
|
|
349
|
+
</div>
|
|
350
|
+
|
|
351
|
+
<div>
|
|
352
|
+
<p className='sb-annotation mb-8'>bottom</p>
|
|
353
|
+
<OverflowTooltip positioning={{ placement: 'bottom' }}>
|
|
354
|
+
<OverflowTooltipTrigger>
|
|
355
|
+
<div className='truncate'>{text}</div>
|
|
356
|
+
</OverflowTooltipTrigger>
|
|
357
|
+
<OverflowTooltipContent>{text}</OverflowTooltipContent>
|
|
358
|
+
</OverflowTooltip>
|
|
359
|
+
</div>
|
|
360
|
+
|
|
361
|
+
<div>
|
|
362
|
+
<p className='sb-annotation mb-8'>left</p>
|
|
363
|
+
<OverflowTooltip positioning={{ placement: 'left' }}>
|
|
364
|
+
<OverflowTooltipTrigger>
|
|
365
|
+
<div className='truncate'>{text}</div>
|
|
366
|
+
</OverflowTooltipTrigger>
|
|
367
|
+
<OverflowTooltipContent>{text}</OverflowTooltipContent>
|
|
368
|
+
</OverflowTooltip>
|
|
369
|
+
</div>
|
|
370
|
+
|
|
371
|
+
<div>
|
|
372
|
+
<p className='sb-annotation mb-8'>right</p>
|
|
373
|
+
<OverflowTooltip positioning={{ placement: 'right' }}>
|
|
374
|
+
<OverflowTooltipTrigger>
|
|
375
|
+
<div className='truncate'>{text}</div>
|
|
376
|
+
</OverflowTooltipTrigger>
|
|
377
|
+
<OverflowTooltipContent>{text}</OverflowTooltipContent>
|
|
378
|
+
</OverflowTooltip>
|
|
379
|
+
</div>
|
|
380
|
+
</div>
|
|
381
|
+
);
|
|
382
|
+
};
|
|
383
|
+
|
|
384
|
+
/**
|
|
385
|
+
* Content that changes after mount. The measurement is re-taken rather than cached from first
|
|
386
|
+
* render, so text that grows past its box gains a tooltip without being remounted.
|
|
387
|
+
*/
|
|
388
|
+
export const DynamicContent: StoryFn<OverflowTooltipProps> = () => {
|
|
389
|
+
const [text, setText] = useState('Click the button to change this text');
|
|
390
|
+
|
|
391
|
+
return (
|
|
392
|
+
<div className='font-sans flex flex-col gap-16 w-300'>
|
|
393
|
+
<div>
|
|
394
|
+
<OverflowTooltip>
|
|
395
|
+
<OverflowTooltipTrigger>
|
|
396
|
+
<div className='truncate'>{text}</div>
|
|
397
|
+
</OverflowTooltipTrigger>
|
|
398
|
+
<OverflowTooltipContent>{text}</OverflowTooltipContent>
|
|
399
|
+
</OverflowTooltip>
|
|
400
|
+
</div>
|
|
401
|
+
|
|
402
|
+
<Button
|
|
403
|
+
variant='outline'
|
|
404
|
+
color='neutral'
|
|
405
|
+
onClick={() => {
|
|
406
|
+
const texts = [
|
|
407
|
+
'Short text',
|
|
408
|
+
'This is a medium length text that might overflow',
|
|
409
|
+
'This is a very long text that will definitely overflow and show a tooltip when you hover over it',
|
|
410
|
+
'Another short one',
|
|
411
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt',
|
|
412
|
+
];
|
|
413
|
+
setText(texts[Math.floor(Math.random() * texts.length)] ?? 'Short text');
|
|
414
|
+
}}
|
|
415
|
+
>
|
|
416
|
+
Change Text
|
|
417
|
+
</Button>
|
|
418
|
+
</div>
|
|
419
|
+
);
|
|
420
|
+
};
|
|
421
|
+
```
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
var e={vD(e,t,n){let o,r;/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @lightSyntaxTransform
|
|
8
|
+
* @noflow
|
|
9
|
+
* @nolint
|
|
10
|
+
* @preventMunge
|
|
11
|
+
* @preserve-invariant-messages
|
|
12
|
+
*/var l,a,i=Object.create,c=Object.defineProperty,s=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,h=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty,u=(e,t,n,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of d(t))m.call(e,r)||r===n||c(e,r,{get:()=>t[r],enumerable:!(o=s(t,r))||o.enumerable});return e},p={},f={$dispatcherGuard:()=>$,$makeReadOnly:()=>k,$reset:()=>C,$structuralCheck:()=>j,c:()=>N,clearRenderCounterRegistry:()=>M,renderCounterRegistry:()=>O,useRenderCounter:()=>A};for(var y in f)c(p,y,{get:f[y],enumerable:!0});e.exports=u(c({},"__esModule",{value:!0}),p);var v=(r=null!=(o=n("C"))?i(h(o)):{},u(o&&o.__esModule?r:c(r,"default",{value:o,enumerable:!0}),o)),{useRef:w,useEffect:b,isValidElement:g}=v,_=null!=(l=v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE)?l:v.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,x=Symbol.for("react.memo_cache_sentinel"),N="function"==typeof(null==(a=v.__COMPILER_RUNTIME)?void 0:a.c)?v.__COMPILER_RUNTIME.c:function(e){return v.useMemo(()=>{let t=Array(e);for(let n=0;n<e;n++)t[n]=x;return t[x]=!0,t},[])},S={};["readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","getCacheSignal","getCacheForType","useCacheRefresh"].forEach(e=>{S[e]=()=>{throw Error(`[React] Unexpected React hook call (${e}) from a React compiled function. Check that all hooks are called directly and named according to convention ('use[A-Z]') `)}});var T=null;function E(e){return _.ReactCurrentDispatcher.current=e,_.ReactCurrentDispatcher.current}S.useMemoCache=e=>{if(null!=T)return T.useMemoCache(e);throw Error("React Compiler internal invariant violation: unexpected null dispatcher")};var R=[];function $(e){let t=_.ReactCurrentDispatcher.current;if(0===e){if(R.push(t),1===R.length&&(T=t),t===S)throw Error("[React] Unexpected call to custom hook or component from a React compiled function. Check that (1) all hooks are called directly and named according to convention ('use[A-Z]') and (2) components are returned as JSX instead of being directly invoked.");E(S)}else if(1===e){let e=R.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");0===R.length&&(T=null),E(e)}else if(2===e)R.push(t),E(T);else if(3===e){let e=R.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");E(e)}else throw Error("React Compiler internal error: unreachable block"+e)}function C(e){for(let t=0;t<e.length;t++)e[t]=x}function k(){throw Error("TODO: implement $makeReadOnly in react-compiler-runtime")}var O=new Map;function M(){for(let e of O.values())e.forEach(e=>{e.count=0})}function A(e){let t=w(null);null!=t.current&&(t.current.count+=1),b(()=>{if(null==t.current){let n,o={count:0};null==(n=O.get(e))&&(n=new Set,O.set(e,n)),n.add(o),t.current=o}return()=>{var n;let o;null!==t.current&&(n=t.current,null!=(o=O.get(e))&&o.delete(n))}})}var D=new Set;function j(e,t,n,o,r,l){function a(e,t,a,i){let c=`${o}:${l} [${r}] ${n}${a} changed from ${e} to ${t} at depth ${i}`;D.has(c)||(D.add(c),console.error(c))}!function e(t,n,o,r){if(!(r>2)){if(t!==n)if(typeof t!=typeof n)a(`type ${typeof t}`,`type ${typeof n}`,o,r);else if("object"==typeof t){let l=Array.isArray(t),i=Array.isArray(n);if(null===t&&null!==n)a("null",`type ${typeof n}`,o,r);else if(null===n)a(`type ${typeof t}`,"null",o,r);else if(t instanceof Map)if(n instanceof Map)if(t.size!==n.size)a(`Map instance with size ${t.size}`,`Map instance with size ${n.size}`,o,r);else for(let[l,i]of t)n.has(l)?e(i,n.get(l),`${o}.get(${l})`,r+1):a(`Map instance with key ${l}`,`Map instance without key ${l}`,o,r);else a("Map instance","other value",o,r);else if(n instanceof Map)a("other value","Map instance",o,r);else if(t instanceof Set)if(n instanceof Set)if(t.size!==n.size)a(`Set instance with size ${t.size}`,`Set instance with size ${n.size}`,o,r);else for(let e of n)t.has(e)||a(`Set instance without element ${e}`,`Set instance with element ${e}`,o,r);else a("Set instance","other value",o,r);else if(n instanceof Set)a("other value","Set instance",o,r);else if(l||i)if(l!==i)a(`type ${l?"array":"object"}`,`type ${i?"array":"object"}`,o,r);else if(t.length!==n.length)a(`array with length ${t.length}`,`array with length ${n.length}`,o,r);else for(let l=0;l<t.length;l++)e(t[l],n[l],`${o}[${l}]`,r+1);else if(g(t)||g(n))g(t)!==g(n)?a(`type ${g(t)?"React element":"object"}`,`type ${g(n)?"React element":"object"}`,o,r):t.type!==n.type?a(`React element of type ${t.type}`,`React element of type ${n.type}`,o,r):e(t.props,n.props,`[props of ${o}]`,r+1);else{for(let e in n)e in t||a(`object without key ${e}`,`object with key ${e}`,o,r);for(let l in t)l in n?e(t[l],n[l],`${o}.${l}`,r+1):a(`object with key ${l}`,`object without key ${l}`,o,r)}}else{if("function"==typeof t)return;isNaN(t)||isNaN(n)?isNaN(t)!==isNaN(n)&&a(`${isNaN(t)?"NaN":"non-NaN value"}`,`${isNaN(n)?"NaN":"non-NaN value"}`,o,r):t!==n&&a(t,n,o,r)}}}(e,t,"",0)}},p(e,t,n){let o=new WeakMap,r=new WeakMap;function l(e,t,n){let l=t,a=n;if("object"==typeof l&&null!==l&&"$$typeof"in l&&l.$$typeof===Symbol.for("react.context")&&"Provider"in l&&(l=l.Provider),"function"==typeof l&&null!=a.ref&&!l.prototype?.isReactComponent){let t=l,n=o.get(e);n||(n=new WeakMap,o.set(e,n));let r=n.get(t);r||((r=e.forwardRef((e,n)=>t({...e,ref:n}))).displayName=t.displayName??t.name,n.set(t,r)),l=r}if("string"==typeof l&&"boolean"==typeof a.inert&&((a={...a}).inert?a.inert="":delete a.inert),"string"==typeof l)for(let[e,t]of[["fill-rule","fillRule"],["clip-rule","clipRule"]])e in a&&(a={...a,[t]:a[e]},delete a[e]);return"string"==typeof l&&null!=a.ref&&(l=function(e,t){let n=r.get(e);n||(n=new Map,r.set(e,n));let o=n.get(t);if(o)return o;let l=e.forwardRef((n,o)=>{let r=e.useRef(null);if(!r.current||r.current.original!==o){let e;r.current={original:o,callback:t=>{if(null==t&&e){let t=e;e=void 0,t();return}if("function"==typeof o){let n=o(t);e="function"==typeof n?n:void 0}else o&&(o.current=t)}}}return e.createElement(t,{...n,ref:r.current.callback})});return l.displayName=`CanvasHost(${t})`,n.set(t,l),l}(e,l)),{type:l,props:a}}function a(e){let t=(t,n,o)=>{let r=l(e,t,n??{});return e.createElement(r.type,void 0===o?r.props:{...r.props,key:o})};return{jsx:t,jsxs:(t,n,o)=>{let r=l(e,t,n??{}),{children:a,...i}=r.props;return e.createElement(r.type,void 0===o?i:{...i,key:o},...Array.isArray(a)?a:[a])},jsxDEV:t,Fragment:e.Fragment}}function i(e){return{...e,createElement:(t,n,...o)=>{let r=l(e,t,n??{});return e.createElement(r.type,r.props,...o)},cloneElement:(t,n,...o)=>{let r=e.cloneElement(t,n??void 0,...o),a=r.ref,i=l(e,r.type,{...r.props,ref:a});return i.type===r.type&&"string"!=typeof r.type?r:e.createElement(i.type,{...i.props,key:r.key})}}}n.d(t,{MA:()=>a,YJ:()=>i})},C(e,t,n){n.r(t);let o=(0,n("p").YJ)(window.React),{Children:r,Component:l,Fragment:a,Profiler:i,PureComponent:c,StrictMode:s,Suspense:d,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:h,act:m,cloneElement:u,createContext:p,createElement:f,createFactory:y,createRef:v,forwardRef:w,isValidElement:b,lazy:g,memo:_,startTransition:x,unstable_act:N,useCallback:S,useContext:T,useDebugValue:E,useDeferredValue:R,useEffect:$,useId:C,useImperativeHandle:k,useInsertionEffect:O,useLayoutEffect:M,useMemo:A,useReducer:D,useRef:j,useState:I,useSyncExternalStore:P,useTransition:L,version:z,use:W}=o;n.d(t,{},{Children:r,Component:l,Fragment:a,Profiler:i,PureComponent:c,StrictMode:s,Suspense:d,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:h,act:m,cloneElement:u,createContext:p,createElement:f,createFactory:y,createRef:v,default:o,forwardRef:w,isValidElement:b,lazy:g,memo:_,startTransition:x,unstable_act:N,use:W,useCallback:S,useContext:T,useDebugValue:E,useDeferredValue:R,useEffect:$,useId:C,useImperativeHandle:k,useInsertionEffect:O,useLayoutEffect:M,useMemo:A,useReducer:D,useRef:j,useState:I,useSyncExternalStore:P,useTransition:L,version:z})}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var l=t[o]={exports:{}};return e[o](l,l.exports,n),l.exports}n.d=(e,t,o)=>{var r=(t,o)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,[o]:t[r]})};r(t,"get"),r(o,"value")},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{let{jsx:e,jsxs:t,jsxDEV:o,Fragment:r}=(0,n("p").MA)(window.React);var l=n("vD"),a=n("C");let i=window.WallarmDS.Button,c=window.WallarmDS.OverflowTooltip,s=window.WallarmDS.OverflowTooltipContent,d=window.WallarmDS.OverflowTooltipTrigger,h={title:"Overlay/OverflowTooltip",component:c,subcomponents:{OverflowTooltipTrigger:d,OverflowTooltipContent:s},parameters:{layout:"centered",docs:{description:{component:"Shows the full value only when it is actually truncated, so a reader who can already see the text is not given a tooltip that repeats it. It finds the truncating element itself, so wrap the content rather than pointing it at a node."}}}},m=[{name:"AutoDetection",story:()=>{let n,o,r,a,i=(0,l.c)(4);return i[0]===Symbol.for("react.memo_cache_sentinel")?(n=e("p",{className:"sb-annotation mb-8",children:"short — no tooltip"}),i[0]=n):n=i[0],i[1]===Symbol.for("react.memo_cache_sentinel")?(o=t("div",{children:[n,t(c,{children:[e(d,{children:e("div",{className:"truncate",children:"Short text"})}),e(s,{children:"This won't show because text isn't overflowing"})]})]}),r=e("p",{className:"sb-annotation mb-8",children:"long — tooltip"}),i[1]=o,i[2]=r):(o=i[1],r=i[2]),i[3]===Symbol.for("react.memo_cache_sentinel")?(a=t("div",{className:"font-sans flex flex-col gap-16 w-300",children:[o,t("div",{children:[r,t(c,{children:[e(d,{children:e("div",{className:"truncate",children:"This is a very long text that will be truncated and automatically show a tooltip when hovered"})}),e(s,{children:"This is a very long text that will be truncated and automatically show a tooltip when hovered"})]})]})]}),i[3]=a):a=i[3],a},meta:h},{name:"MultiLineAutoDetection",story:()=>{let n,o,r,a,i,h,m=(0,l.c)(6);return m[0]===Symbol.for("react.memo_cache_sentinel")?(n=e("p",{className:"sb-annotation mb-8",children:"line-clamp-2"}),m[0]=n):n=m[0],m[1]===Symbol.for("react.memo_cache_sentinel")?(o=t("div",{children:[n,t(c,{children:[e(d,{children:e("div",{className:"line-clamp-2",children:"This is a very long text that demonstrates multi-line truncation. It keeps going and going to show how the component handles text that exceeds multiple lines. The tooltip will appear when you hover over the truncated content. And it continues even more to ensure we have enough content for demonstration purposes."})}),e(s,{children:"This is a very long text that demonstrates multi-line truncation. It keeps going and going to show how the component handles text that exceeds multiple lines. The tooltip will appear when you hover over the truncated content. And it continues even more to ensure we have enough content for demonstration purposes."})]})]}),r=e("p",{className:"sb-annotation mb-8",children:"line-clamp-3"}),m[1]=o,m[2]=r):(o=m[1],r=m[2]),m[3]===Symbol.for("react.memo_cache_sentinel")?(a=t("div",{children:[r,t(c,{children:[e(d,{children:e("div",{className:"line-clamp-3",children:"This is a very long text that demonstrates multi-line truncation. It keeps going and going to show how the component handles text that exceeds multiple lines. The tooltip will appear when you hover over the truncated content. And it continues even more to ensure we have enough content for demonstration purposes."})}),e(s,{children:"This is a very long text that demonstrates multi-line truncation. It keeps going and going to show how the component handles text that exceeds multiple lines. The tooltip will appear when you hover over the truncated content. And it continues even more to ensure we have enough content for demonstration purposes."})]})]}),i=e("p",{className:"sb-annotation mb-8",children:"line-clamp-4"}),m[3]=a,m[4]=i):(a=m[3],i=m[4]),m[5]===Symbol.for("react.memo_cache_sentinel")?(h=t("div",{className:"font-sans flex flex-col gap-16 w-300",children:[o,a,t("div",{children:[i,t(c,{children:[e(d,{children:e("div",{className:"line-clamp-4",children:"This is a very long text that demonstrates multi-line truncation. It keeps going and going to show how the component handles text that exceeds multiple lines. The tooltip will appear when you hover over the truncated content. And it continues even more to ensure we have enough content for demonstration purposes."})}),e(s,{children:"This is a very long text that demonstrates multi-line truncation. It keeps going and going to show how the component handles text that exceeds multiple lines. The tooltip will appear when you hover over the truncated content. And it continues even more to ensure we have enough content for demonstration purposes."})]})]})]}),m[5]=h):h=m[5],h},meta:h},{name:"NestedElements",story:()=>{let n,o,r,a,i,h,m=(0,l.c)(6);return m[0]===Symbol.for("react.memo_cache_sentinel")?(n=e("p",{className:"sb-annotation mb-8",children:"one level deep"}),m[0]=n):n=m[0],m[1]===Symbol.for("react.memo_cache_sentinel")?(o=t("div",{children:[n,t(c,{children:[e(d,{children:t("div",{className:"border p-4",children:[e("h3",{className:"font-bold mb-2",children:"Card Title"}),e("p",{className:"truncate",children:"This is a nested element with truncate that will be automatically detected for overflow"})]})}),e(s,{children:"This is a nested element with truncate that will be automatically detected for overflow"})]})]}),r=e("p",{className:"sb-annotation mb-8",children:"several, each truncating"}),m[1]=o,m[2]=r):(o=m[1],r=m[2]),m[3]===Symbol.for("react.memo_cache_sentinel")?(a=e(d,{children:t("div",{className:"border p-4",children:[e("h3",{className:"font-bold mb-2 truncate",children:"This is a very long title that might be truncated"}),e("p",{className:"line-clamp-2",children:"And this is a description that can span multiple lines but will be clamped to just two lines. The component will detect if either of these elements overflow."})]})}),m[3]=a):a=m[3],m[4]===Symbol.for("react.memo_cache_sentinel")?(i=e("strong",{children:"Title:"}),m[4]=i):i=m[4],m[5]===Symbol.for("react.memo_cache_sentinel")?(h=t("div",{className:"font-sans flex flex-col gap-16 w-300",children:[o,t("div",{children:[r,t(c,{children:[a,e(s,{children:t("div",{children:[i," This is a very long title that might be truncated",e("br",{}),e("strong",{children:"Description:"})," And this is a description that can span multiple lines but will be clamped to just two lines. The component will detect if either of these elements overflow."]})})]})]})]}),m[5]=h):h=m[5],h},meta:h},{name:"CustomTooltipContent",story:()=>{let n,o,r,a,i,h,m,u,p=(0,l.c)(8);return p[0]===Symbol.for("react.memo_cache_sentinel")?(n=e("p",{className:"sb-annotation mb-8",children:"rich content"}),p[0]=n):n=p[0],p[1]===Symbol.for("react.memo_cache_sentinel")?(o=e(d,{children:e("div",{className:"truncate",children:"/api/v1/users/1234567890/sessions/abc-def-ghi-jkl-mno/tokens/refresh"})}),p[1]=o):o=p[1],p[2]===Symbol.for("react.memo_cache_sentinel")?(r=e("div",{className:"font-medium text-sm",children:"API Endpoint"}),a=e("code",{className:"rounded-6 bg-component-kbi-tooltip-bg px-4 py-2 font-mono text-text-primary-alt text-xs",children:"/api/v1/users/1234567890/sessions/abc-def-ghi-jkl-mno/tokens/refresh"}),p[2]=r,p[3]=a):(r=p[2],a=p[3]),p[4]===Symbol.for("react.memo_cache_sentinel")?(i=t("div",{children:[n,t(c,{children:[o,e(s,{children:t("div",{className:"flex flex-col gap-2",children:[r,a,t("div",{className:"text-xs text-text-secondary-alt",children:["Method: POST",e("br",{}),"Auth: Bearer Token"]})]})})]})]}),h=e("p",{className:"sb-annotation mb-8",children:"table-like content"}),p[4]=i,p[5]=h):(i=p[4],h=p[5]),p[6]===Symbol.for("react.memo_cache_sentinel")?(m=e(d,{children:e("div",{className:"truncate",children:"user@example.com - Administrator - Last login: 2024-01-15"})}),p[6]=m):m=p[6],p[7]===Symbol.for("react.memo_cache_sentinel")?(u=t("div",{className:"font-sans flex flex-col gap-16 w-300",children:[i,t("div",{children:[h,t(c,{children:[m,e(s,{children:t("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[e("span",{className:"font-medium",children:"Email:"}),e("span",{children:"user@example.com"}),e("span",{className:"font-medium",children:"Role:"}),e("span",{children:"Administrator"}),e("span",{className:"font-medium",children:"Last Login:"}),e("span",{children:"2024-01-15"})]})})]})]})]}),p[7]=u):u=p[7],u},meta:h},{name:"ForceTooltip",story:()=>{let n,o,r,a,h,m=(0,l.c)(5);return m[0]===Symbol.for("react.memo_cache_sentinel")?(n=e("p",{className:"sb-annotation mb-8",children:"forced, nothing truncated"}),m[0]=n):n=m[0],m[1]===Symbol.for("react.memo_cache_sentinel")?(o=t("div",{children:[n,t(c,{forceTooltip:!0,children:[e(d,{children:e("div",{className:"truncate w-fit",children:"Short text"})}),e(s,{children:"This tooltip is forced to show even though the text isn't truncated"})]})]}),r=e("p",{className:"sb-annotation mb-8",children:"forced, with extra detail"}),m[1]=o,m[2]=r):(o=m[1],r=m[2]),m[3]===Symbol.for("react.memo_cache_sentinel")?(a=e(d,{children:e(i,{variant:"outline",color:"neutral",children:"Click for info"})}),m[3]=a):a=m[3],m[4]===Symbol.for("react.memo_cache_sentinel")?(h=t("div",{className:"font-sans flex flex-col gap-16 w-300",children:[o,t("div",{children:[r,t(c,{forceTooltip:!0,children:[a,e(s,{children:t("div",{className:"flex flex-col gap-2",children:[e("strong",{children:"Additional Information"}),e("span",{className:"text-sm",children:"This tooltip provides extra context even when the trigger element doesn't have overflow."})]})})]})]})]}),m[4]=h):h=m[4],h},meta:h},{name:"DifferentSides",story:()=>{let n,o,r,a,i,h,m,u,p,f,y,v,w=(0,l.c)(12);return w[0]===Symbol.for("react.memo_cache_sentinel")?(n=e("p",{className:"sb-annotation mb-8",children:"top — the default"}),w[0]=n):n=w[0],w[1]===Symbol.for("react.memo_cache_sentinel")?(o={placement:"top"},w[1]=o):o=w[1],w[2]===Symbol.for("react.memo_cache_sentinel")?(r=t("div",{children:[n,t(c,{positioning:o,children:[e(d,{children:e("div",{className:"truncate",children:"This is a text that will be truncated and show tooltips on different sides"})}),e(s,{children:"This is a text that will be truncated and show tooltips on different sides"})]})]}),a=e("p",{className:"sb-annotation mb-8",children:"bottom"}),w[2]=r,w[3]=a):(r=w[2],a=w[3]),w[4]===Symbol.for("react.memo_cache_sentinel")?(i={placement:"bottom"},w[4]=i):i=w[4],w[5]===Symbol.for("react.memo_cache_sentinel")?(h=t("div",{children:[a,t(c,{positioning:i,children:[e(d,{children:e("div",{className:"truncate",children:"This is a text that will be truncated and show tooltips on different sides"})}),e(s,{children:"This is a text that will be truncated and show tooltips on different sides"})]})]}),m=e("p",{className:"sb-annotation mb-8",children:"left"}),w[5]=h,w[6]=m):(h=w[5],m=w[6]),w[7]===Symbol.for("react.memo_cache_sentinel")?(u={placement:"left"},w[7]=u):u=w[7],w[8]===Symbol.for("react.memo_cache_sentinel")?(p=t("div",{children:[m,t(c,{positioning:u,children:[e(d,{children:e("div",{className:"truncate",children:"This is a text that will be truncated and show tooltips on different sides"})}),e(s,{children:"This is a text that will be truncated and show tooltips on different sides"})]})]}),f=e("p",{className:"sb-annotation mb-8",children:"right"}),w[8]=p,w[9]=f):(p=w[8],f=w[9]),w[10]===Symbol.for("react.memo_cache_sentinel")?(y={placement:"right"},w[10]=y):y=w[10],w[11]===Symbol.for("react.memo_cache_sentinel")?(v=t("div",{className:"font-sans flex flex-col gap-32 w-300 py-32",children:[r,h,p,t("div",{children:[f,t(c,{positioning:y,children:[e(d,{children:e("div",{className:"truncate",children:"This is a text that will be truncated and show tooltips on different sides"})}),e(s,{children:"This is a text that will be truncated and show tooltips on different sides"})]})]})]}),w[11]=v):v=w[11],v},meta:h},{name:"DynamicContent",story:()=>{let n,o,r,h=(0,l.c)(5),[m,u]=(0,a.useState)("Click the button to change this text");return h[0]!==m?(n=e("div",{children:t(c,{children:[e(d,{children:e("div",{className:"truncate",children:m})}),e(s,{children:m})]})}),h[0]=m,h[1]=n):n=h[1],h[2]===Symbol.for("react.memo_cache_sentinel")?(o=e(i,{variant:"outline",color:"neutral",onClick:()=>{let e=["Short text","This is a medium length text that might overflow","This is a very long text that will definitely overflow and show a tooltip when you hover over it","Another short one","Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt"];u(e[Math.floor(Math.random()*e.length)]??"Short text")},children:"Change Text"}),h[2]=o):o=h[2],h[3]!==n?(r=t("div",{className:"font-sans flex flex-col gap-16 w-300",children:[n,o]}),h[3]=n,h[4]=r):r=h[4],r},meta:h}];function u({entry:e}){let{story:t,meta:n}=e,o={...n.args,...t.args},r="function"==typeof t||t.$$typeof?t:t.render||n.render||n.component,l=()=>a.default.createElement(r,o),i={args:o,globals:{theme:"light"},parameters:{...n.parameters,...t.parameters},viewMode:"story"};for(let e of[...n.decorators||[],...t.decorators||[]].reverse()){let t=l;l=()=>e(t,i)}return a.default.createElement("section",{"data-preview-story":e.name,className:"p-16"},a.default.createElement("h2",{className:"text-sm mb-12"},e.name),a.default.createElement(l))}window.WallarmPreview={mount(e){let t=window.ReactDOM.createRoot(e);return t.render(a.default.createElement(window.WallarmDS.Root,null,m.map((e,t)=>a.default.createElement(u,{key:t,entry:e})))),t}}})();
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
The house scrim — a fixed, dimmed, lightly blurred layer that mutes the page behind an elevated surface. `Dialog`, `Drawer` and `Tour` render it for you, so reach for those; a popover, tooltip or dropdown is non-modal and takes no scrim at all. It is presentation only: no focus trap, no click-to-dismiss, no scroll lock, and no `className`.
|
|
2
|
+
|
|
3
|
+
## Props as canvas attributes
|
|
4
|
+
|
|
5
|
+
Use kebab-case attribute names. Pass non-string values through renderVals holes, including booleans. The full emitted API is in `components/index.d.ts`.
|
|
6
|
+
|
|
7
|
+
| Attribute | Type | Required | Default | Description |
|
|
8
|
+
| --- | --- | --- | --- | --- |
|
|
9
|
+
| `title` | `string \| undefined` | no | — | |
|
|
10
|
+
| `default-checked` | `boolean \| undefined` | no | — | |
|
|
11
|
+
| `default-value` | `string \| number \| readonly string[] \| undefined` | no | — | |
|
|
12
|
+
| `auto-focus` | `boolean \| undefined` | no | — | |
|
|
13
|
+
| `id` | `string \| undefined` | no | — | |
|
|
14
|
+
| `tab-index` | `number \| undefined` | no | — | |
|
|
15
|
+
| `rel` | `string \| undefined` | no | — | |
|
|
16
|
+
| `on-change` | `ChangeEventHandler<T, Element> \| undefined` | no | — | |
|
|
17
|
+
| `data-testid` | `string \| undefined` | no | — | |
|
|
18
|
+
|
|
19
|
+
## Stories
|
|
20
|
+
|
|
21
|
+
### Basic
|
|
22
|
+
|
|
23
|
+
The scrim over a page of text, which is the whole of what it does. Its fade keys off a `data-state` the parent sets, so on its own it just sits there — the behaviour comes from the headless backdrop you wrap it in.
|
|
24
|
+
|
|
25
|
+
Source: Overlay/Overlay.stories.tsx#Basic
|
|
26
|
+
|
|
27
|
+
## Story sources
|
|
28
|
+
|
|
29
|
+
### Overlay/Overlay.stories.tsx
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
import type { Meta, StoryFn } from 'storybook-react-rsbuild';
|
|
33
|
+
import { Text } from '../Text';
|
|
34
|
+
import { Overlay } from './Overlay';
|
|
35
|
+
|
|
36
|
+
const DESCRIPTION = [
|
|
37
|
+
'The house scrim — a fixed, dimmed, lightly blurred layer that mutes the page behind an elevated surface.',
|
|
38
|
+
'`Dialog`, `Drawer` and `Tour` render it for you, so reach for those; a popover, tooltip or dropdown is non-modal and takes no scrim at all.',
|
|
39
|
+
'It is presentation only: no focus trap, no click-to-dismiss, no scroll lock, and no `className`.',
|
|
40
|
+
].join(' ');
|
|
41
|
+
|
|
42
|
+
const meta = {
|
|
43
|
+
title: 'Primitives/Overlay',
|
|
44
|
+
component: Overlay,
|
|
45
|
+
parameters: {
|
|
46
|
+
layout: 'fullscreen',
|
|
47
|
+
docs: {
|
|
48
|
+
description: {
|
|
49
|
+
component: DESCRIPTION,
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
|
|
54
|
+
decorators: [
|
|
55
|
+
Story => (
|
|
56
|
+
<div className='p-24'>
|
|
57
|
+
<Text>
|
|
58
|
+
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has
|
|
59
|
+
been the industry's standard dummy text ever since the 1500s, when an unknown printer took
|
|
60
|
+
a galley of type and scrambled it to make a type specimen book. It has survived not only
|
|
61
|
+
five centuries, but also the leap into electronic typesetting, remaining essentially
|
|
62
|
+
unchanged. It was popularised in the 1960s with the release of Letraset sheets containing
|
|
63
|
+
Lorem Ipsum passages, and more recently with desktop publishing software like Aldus
|
|
64
|
+
PageMaker including versions of Lorem Ipsum. Why do we use it? It is a long established
|
|
65
|
+
fact that a reader will be distracted by the readable content of a page when looking at
|
|
66
|
+
its layout. The point of using Lorem Ipsum is that it has a more-or-less normal
|
|
67
|
+
distribution of letters, as opposed to using 'Content here, content here', making it look
|
|
68
|
+
like readable English. Many desktop publishing packages and web page editors now use Lorem
|
|
69
|
+
Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web
|
|
70
|
+
sites still in their infancy. Various versions have evolved over the years, sometimes by
|
|
71
|
+
accident, sometimes on purpose (injected humour and the like). Where does it come from?
|
|
72
|
+
Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece
|
|
73
|
+
of classical Latin literature from 45 BC, making it over 2000 years old. Richard
|
|
74
|
+
McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the
|
|
75
|
+
more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the
|
|
76
|
+
cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum
|
|
77
|
+
comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes
|
|
78
|
+
of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of
|
|
79
|
+
ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum
|
|
80
|
+
dolor sit amet..", comes from a line in section 1.10.32. The standard chunk of Lorem Ipsum
|
|
81
|
+
used since the 1500s is reproduced below for those interested. Sections 1.10.32 and
|
|
82
|
+
1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact
|
|
83
|
+
original form, accompanied by English versions from the 1914 translation by H. Rackham.
|
|
84
|
+
</Text>
|
|
85
|
+
<Story />
|
|
86
|
+
</div>
|
|
87
|
+
),
|
|
88
|
+
],
|
|
89
|
+
} satisfies Meta<typeof Overlay>;
|
|
90
|
+
|
|
91
|
+
export default meta;
|
|
92
|
+
|
|
93
|
+
/** The scrim over a page of text, which is the whole of what it does. Its fade keys off a `data-state` the parent sets, so on its own it just sits there — the behaviour comes from the headless backdrop you wrap it in. */
|
|
94
|
+
export const Basic: StoryFn<typeof meta> = () => <Overlay />;
|
|
95
|
+
```
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
var e={vD(e,t,r){let n,o;/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @lightSyntaxTransform
|
|
8
|
+
* @noflow
|
|
9
|
+
* @nolint
|
|
10
|
+
* @preventMunge
|
|
11
|
+
* @preserve-invariant-messages
|
|
12
|
+
*/var a,l,i=Object.create,s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,p=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty,d=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of u(t))f.call(e,o)||o===r||s(e,o,{get:()=>t[o],enumerable:!(n=c(t,o))||n.enumerable});return e},m={},y={$dispatcherGuard:()=>N,$makeReadOnly:()=>O,$reset:()=>M,$structuralCheck:()=>j,c:()=>$,clearRenderCounterRegistry:()=>x,renderCounterRegistry:()=>I,useRenderCounter:()=>L};for(var h in y)s(m,h,{get:y[h],enumerable:!0});e.exports=d(s({},"__esModule",{value:!0}),m);var g=(o=null!=(n=r("C"))?i(p(n)):{},d(n&&n.__esModule?o:s(o,"default",{value:n,enumerable:!0}),n)),{useRef:b,useEffect:v,isValidElement:w}=g,E=null!=(a=g.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE)?a:g.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,R=Symbol.for("react.memo_cache_sentinel"),$="function"==typeof(null==(l=g.__COMPILER_RUNTIME)?void 0:l.c)?g.__COMPILER_RUNTIME.c:function(e){return g.useMemo(()=>{let t=Array(e);for(let r=0;r<e;r++)t[r]=R;return t[R]=!0,t},[])},k={};["readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","getCacheSignal","getCacheForType","useCacheRefresh"].forEach(e=>{k[e]=()=>{throw Error(`[React] Unexpected React hook call (${e}) from a React compiled function. Check that all hooks are called directly and named according to convention ('use[A-Z]') `)}});var _=null;function C(e){return E.ReactCurrentDispatcher.current=e,E.ReactCurrentDispatcher.current}k.useMemoCache=e=>{if(null!=_)return _.useMemoCache(e);throw Error("React Compiler internal invariant violation: unexpected null dispatcher")};var S=[];function N(e){let t=E.ReactCurrentDispatcher.current;if(0===e){if(S.push(t),1===S.length&&(_=t),t===k)throw Error("[React] Unexpected call to custom hook or component from a React compiled function. Check that (1) all hooks are called directly and named according to convention ('use[A-Z]') and (2) components are returned as JSX instead of being directly invoked.");C(k)}else if(1===e){let e=S.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");0===S.length&&(_=null),C(e)}else if(2===e)S.push(t),C(_);else if(3===e){let e=S.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");C(e)}else throw Error("React Compiler internal error: unreachable block"+e)}function M(e){for(let t=0;t<e.length;t++)e[t]=R}function O(){throw Error("TODO: implement $makeReadOnly in react-compiler-runtime")}var I=new Map;function x(){for(let e of I.values())e.forEach(e=>{e.count=0})}function L(e){let t=b(null);null!=t.current&&(t.current.count+=1),v(()=>{if(null==t.current){let r,n={count:0};null==(r=I.get(e))&&(r=new Set,I.set(e,r)),r.add(n),t.current=n}return()=>{var r;let n;null!==t.current&&(r=t.current,null!=(n=I.get(e))&&n.delete(r))}})}var T=new Set;function j(e,t,r,n,o,a){function l(e,t,l,i){let s=`${n}:${a} [${o}] ${r}${l} changed from ${e} to ${t} at depth ${i}`;T.has(s)||(T.add(s),console.error(s))}!function e(t,r,n,o){if(!(o>2)){if(t!==r)if(typeof t!=typeof r)l(`type ${typeof t}`,`type ${typeof r}`,n,o);else if("object"==typeof t){let a=Array.isArray(t),i=Array.isArray(r);if(null===t&&null!==r)l("null",`type ${typeof r}`,n,o);else if(null===r)l(`type ${typeof t}`,"null",n,o);else if(t instanceof Map)if(r instanceof Map)if(t.size!==r.size)l(`Map instance with size ${t.size}`,`Map instance with size ${r.size}`,n,o);else for(let[a,i]of t)r.has(a)?e(i,r.get(a),`${n}.get(${a})`,o+1):l(`Map instance with key ${a}`,`Map instance without key ${a}`,n,o);else l("Map instance","other value",n,o);else if(r instanceof Map)l("other value","Map instance",n,o);else if(t instanceof Set)if(r instanceof Set)if(t.size!==r.size)l(`Set instance with size ${t.size}`,`Set instance with size ${r.size}`,n,o);else for(let e of r)t.has(e)||l(`Set instance without element ${e}`,`Set instance with element ${e}`,n,o);else l("Set instance","other value",n,o);else if(r instanceof Set)l("other value","Set instance",n,o);else if(a||i)if(a!==i)l(`type ${a?"array":"object"}`,`type ${i?"array":"object"}`,n,o);else if(t.length!==r.length)l(`array with length ${t.length}`,`array with length ${r.length}`,n,o);else for(let a=0;a<t.length;a++)e(t[a],r[a],`${n}[${a}]`,o+1);else if(w(t)||w(r))w(t)!==w(r)?l(`type ${w(t)?"React element":"object"}`,`type ${w(r)?"React element":"object"}`,n,o):t.type!==r.type?l(`React element of type ${t.type}`,`React element of type ${r.type}`,n,o):e(t.props,r.props,`[props of ${n}]`,o+1);else{for(let e in r)e in t||l(`object without key ${e}`,`object with key ${e}`,n,o);for(let a in t)a in r?e(t[a],r[a],`${n}.${a}`,o+1):l(`object with key ${a}`,`object without key ${a}`,n,o)}}else{if("function"==typeof t)return;isNaN(t)||isNaN(r)?isNaN(t)!==isNaN(r)&&l(`${isNaN(t)?"NaN":"non-NaN value"}`,`${isNaN(r)?"NaN":"non-NaN value"}`,n,o):t!==r&&l(t,r,n,o)}}}(e,t,"",0)}},p(e,t,r){let n=new WeakMap,o=new WeakMap;function a(e,t,r){let a=t,l=r;if("object"==typeof a&&null!==a&&"$$typeof"in a&&a.$$typeof===Symbol.for("react.context")&&"Provider"in a&&(a=a.Provider),"function"==typeof a&&null!=l.ref&&!a.prototype?.isReactComponent){let t=a,r=n.get(e);r||(r=new WeakMap,n.set(e,r));let o=r.get(t);o||((o=e.forwardRef((e,r)=>t({...e,ref:r}))).displayName=t.displayName??t.name,r.set(t,o)),a=o}if("string"==typeof a&&"boolean"==typeof l.inert&&((l={...l}).inert?l.inert="":delete l.inert),"string"==typeof a)for(let[e,t]of[["fill-rule","fillRule"],["clip-rule","clipRule"]])e in l&&(l={...l,[t]:l[e]},delete l[e]);return"string"==typeof a&&null!=l.ref&&(a=function(e,t){let r=o.get(e);r||(r=new Map,o.set(e,r));let n=r.get(t);if(n)return n;let a=e.forwardRef((r,n)=>{let o=e.useRef(null);if(!o.current||o.current.original!==n){let e;o.current={original:n,callback:t=>{if(null==t&&e){let t=e;e=void 0,t();return}if("function"==typeof n){let r=n(t);e="function"==typeof r?r:void 0}else n&&(n.current=t)}}}return e.createElement(t,{...r,ref:o.current.callback})});return a.displayName=`CanvasHost(${t})`,r.set(t,a),a}(e,a)),{type:a,props:l}}function l(e){let t=(t,r,n)=>{let o=a(e,t,r??{});return e.createElement(o.type,void 0===n?o.props:{...o.props,key:n})};return{jsx:t,jsxs:(t,r,n)=>{let o=a(e,t,r??{}),{children:l,...i}=o.props;return e.createElement(o.type,void 0===n?i:{...i,key:n},...Array.isArray(l)?l:[l])},jsxDEV:t,Fragment:e.Fragment}}function i(e){return{...e,createElement:(t,r,...n)=>{let o=a(e,t,r??{});return e.createElement(o.type,o.props,...n)},cloneElement:(t,r,...n)=>{let o=e.cloneElement(t,r??void 0,...n),l=o.ref,i=a(e,o.type,{...o.props,ref:l});return i.type===o.type&&"string"!=typeof o.type?o:e.createElement(i.type,{...i.props,key:o.key})}}}r.d(t,{MA:()=>l,YJ:()=>i})},C(e,t,r){r.r(t);let n=(0,r("p").YJ)(window.React),{Children:o,Component:a,Fragment:l,Profiler:i,PureComponent:s,StrictMode:c,Suspense:u,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:p,act:f,cloneElement:d,createContext:m,createElement:y,createFactory:h,createRef:g,forwardRef:b,isValidElement:v,lazy:w,memo:E,startTransition:R,unstable_act:$,useCallback:k,useContext:_,useDebugValue:C,useDeferredValue:S,useEffect:N,useId:M,useImperativeHandle:O,useInsertionEffect:I,useLayoutEffect:x,useMemo:L,useReducer:T,useRef:j,useState:D,useSyncExternalStore:P,useTransition:A,version:z,use:W}=n;r.d(t,{},{Children:o,Component:a,Fragment:l,Profiler:i,PureComponent:s,StrictMode:c,Suspense:u,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:p,act:f,cloneElement:d,createContext:m,createElement:y,createFactory:h,createRef:g,default:n,forwardRef:b,isValidElement:v,lazy:w,memo:E,startTransition:R,unstable_act:$,use:W,useCallback:k,useContext:_,useDebugValue:C,useDeferredValue:S,useEffect:N,useId:M,useImperativeHandle:O,useInsertionEffect:I,useLayoutEffect:x,useMemo:L,useReducer:T,useRef:j,useState:D,useSyncExternalStore:P,useTransition:A,version:z})}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t,n)=>{var o=(t,n)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,[n]:t[o]})};o(t,"get"),o(n,"value")},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{let{jsx:e,jsxs:t,jsxDEV:n,Fragment:o}=(0,r("p").MA)(window.React);var a=r("vD");let l=window.WallarmDS.Text,i=window.WallarmDS.Overlay;var s=r("C");let c=[{name:"Basic",story:()=>{let t,r=(0,a.c)(1);return r[0]===Symbol.for("react.memo_cache_sentinel")?(t=e(i,{}),r[0]=t):t=r[0],t},meta:{title:"Primitives/Overlay",component:i,parameters:{layout:"fullscreen",docs:{description:{component:"The house scrim — a fixed, dimmed, lightly blurred layer that mutes the page behind an elevated surface. `Dialog`, `Drawer` and `Tour` render it for you, so reach for those; a popover, tooltip or dropdown is non-modal and takes no scrim at all. It is presentation only: no focus trap, no click-to-dismiss, no scroll lock, and no `className`."}}},decorators:[r=>t("div",{className:"p-24",children:[e(l,{children:'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. Why do we use it? It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using \'Content here, content here\', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for \'lorem ipsum\' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like). Where does it come from? Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32. The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.'}),e(r,{})]})]}}];function u({entry:e}){let{story:t,meta:r}=e,n={...r.args,...t.args},o="function"==typeof t||t.$$typeof?t:t.render||r.render||r.component,a=()=>s.default.createElement(o,n),l={args:n,globals:{theme:"light"},parameters:{...r.parameters,...t.parameters},viewMode:"story"};for(let e of[...r.decorators||[],...t.decorators||[]].reverse()){let t=a;a=()=>e(t,l)}return s.default.createElement("section",{"data-preview-story":e.name,className:"p-16"},s.default.createElement("h2",{className:"text-sm mb-12"},e.name),s.default.createElement(a))}window.WallarmPreview={mount(e){let t=window.ReactDOM.createRoot(e);return t.render(s.default.createElement(window.WallarmDS.Root,null,c.map((e,t)=>s.default.createElement(u,{key:t,entry:e})))),t}}})();
|