@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,218 @@
|
|
|
1
|
+
The settings button in the chat composer that lists which Wally tools may run without asking first in this conversation. Each row is a switch and takes effect the moment it is flipped — there is no Save, and the popover stays open so several tools can be changed in one go. The app owns the list and its order: enabled tools first, then a `Separator` and the disabled ones.
|
|
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
|
+
| `open` | `boolean \| undefined` | no | — | |
|
|
10
|
+
| `on-open-change` | `((open: boolean) => void) \| undefined` | no | — | |
|
|
11
|
+
| `data-testid` | `string \| undefined` | no | — | |
|
|
12
|
+
|
|
13
|
+
## Sub-components
|
|
14
|
+
|
|
15
|
+
- `WallarmDS.ChatPermissionsContent` — `ChatPermissionsContentProps` in the declaration bundle.
|
|
16
|
+
- `WallarmDS.ChatPermissionsItem` — `ChatPermissionsItemProps` in the declaration bundle.
|
|
17
|
+
- `WallarmDS.ChatPermissionsTrigger` — `ChatPermissionsTriggerProps` in the declaration bundle.
|
|
18
|
+
|
|
19
|
+
## Stories
|
|
20
|
+
|
|
21
|
+
### AllOn
|
|
22
|
+
|
|
23
|
+
Every tool is allowed. Open the popover with the settings button; the tooltip names it until then.
|
|
24
|
+
|
|
25
|
+
Source: ChatPermissions/ChatPermissions.stories.tsx#AllOn
|
|
26
|
+
|
|
27
|
+
### SomeOff
|
|
28
|
+
|
|
29
|
+
Two tools switched off sit below a separator. The order is decided by the app, not the component.
|
|
30
|
+
|
|
31
|
+
Source: ChatPermissions/ChatPermissions.stories.tsx#SomeOff
|
|
32
|
+
|
|
33
|
+
### Analytics
|
|
34
|
+
|
|
35
|
+
`data-analytics-id` lands on the real trigger `<button>` and on each switch row's `<label>`, so
|
|
36
|
+
a click anywhere on the row resolves to the row's id.
|
|
37
|
+
|
|
38
|
+
Source: ChatPermissions/ChatPermissions.stories.tsx#Analytics
|
|
39
|
+
|
|
40
|
+
## Story sources
|
|
41
|
+
|
|
42
|
+
### ChatPermissions/ChatPermissions.stories.tsx
|
|
43
|
+
|
|
44
|
+
```tsx
|
|
45
|
+
import { useState } from 'react';
|
|
46
|
+
import type { Meta, StoryFn } from 'storybook-react-rsbuild';
|
|
47
|
+
import { Separator } from '../Separator';
|
|
48
|
+
import {
|
|
49
|
+
ChatPermissions,
|
|
50
|
+
ChatPermissionsContent,
|
|
51
|
+
ChatPermissionsItem,
|
|
52
|
+
type ChatPermissionsItemCheckedChangeDetails,
|
|
53
|
+
ChatPermissionsTrigger,
|
|
54
|
+
} from './index';
|
|
55
|
+
|
|
56
|
+
const DESCRIPTION = [
|
|
57
|
+
'The settings button in the chat composer that lists which Wally tools may run without asking first in this conversation.',
|
|
58
|
+
'Each row is a switch and takes effect the moment it is flipped — there is no Save, and the popover stays open so several tools can be changed in one go.',
|
|
59
|
+
'The app owns the list and its order: enabled tools first, then a `Separator` and the disabled ones.',
|
|
60
|
+
].join(' ');
|
|
61
|
+
|
|
62
|
+
interface Tool {
|
|
63
|
+
name: string;
|
|
64
|
+
description: string;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const TOOLS: Tool[] = [
|
|
68
|
+
{ name: 'propose_add_to_denylist', description: 'Suggest IPs to add to the denylist' },
|
|
69
|
+
{ name: 'search_attacks', description: 'Search detected attacks and incidents' },
|
|
70
|
+
{
|
|
71
|
+
name: 'get_api_inventory',
|
|
72
|
+
description: 'Read the discovered API endpoints, their parameters, owners and risk scores',
|
|
73
|
+
},
|
|
74
|
+
{ name: 'create_rule', description: 'Draft a mitigation rule for review' },
|
|
75
|
+
];
|
|
76
|
+
|
|
77
|
+
const meta = {
|
|
78
|
+
title: 'AI/ChatPermissions',
|
|
79
|
+
component: ChatPermissions,
|
|
80
|
+
subcomponents: { ChatPermissionsTrigger, ChatPermissionsContent, ChatPermissionsItem },
|
|
81
|
+
parameters: {
|
|
82
|
+
layout: 'centered',
|
|
83
|
+
docs: { description: { component: DESCRIPTION } },
|
|
84
|
+
},
|
|
85
|
+
} satisfies Meta<typeof ChatPermissions>;
|
|
86
|
+
|
|
87
|
+
export default meta;
|
|
88
|
+
|
|
89
|
+
/** Every tool is allowed. Open the popover with the settings button; the tooltip names it until then. */
|
|
90
|
+
export const AllOn: StoryFn<typeof meta> = () => {
|
|
91
|
+
const [allowed, setAllowed] = useState<Record<string, boolean>>({
|
|
92
|
+
propose_add_to_denylist: true,
|
|
93
|
+
search_attacks: true,
|
|
94
|
+
get_api_inventory: true,
|
|
95
|
+
create_rule: true,
|
|
96
|
+
});
|
|
97
|
+
const enabled = TOOLS.filter(tool => allowed[tool.name]);
|
|
98
|
+
const disabled = TOOLS.filter(tool => !allowed[tool.name]);
|
|
99
|
+
|
|
100
|
+
const handleCheckedChange = ({ checked, name }: ChatPermissionsItemCheckedChangeDetails) => {
|
|
101
|
+
setAllowed(prev => ({ ...prev, [name]: checked }));
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
return (
|
|
105
|
+
<div className='flex h-[360px] w-[400px] items-end'>
|
|
106
|
+
<ChatPermissions data-testid='permissions'>
|
|
107
|
+
<ChatPermissionsTrigger />
|
|
108
|
+
<ChatPermissionsContent>
|
|
109
|
+
{enabled.map(tool => (
|
|
110
|
+
<ChatPermissionsItem
|
|
111
|
+
key={tool.name}
|
|
112
|
+
name={tool.name}
|
|
113
|
+
data-testid={`permission-${tool.name}`}
|
|
114
|
+
title={tool.name}
|
|
115
|
+
description={tool.description}
|
|
116
|
+
checked
|
|
117
|
+
onCheckedChange={handleCheckedChange}
|
|
118
|
+
/>
|
|
119
|
+
))}
|
|
120
|
+
{enabled.length > 0 && disabled.length > 0 && <Separator spacing={4} />}
|
|
121
|
+
{disabled.map(tool => (
|
|
122
|
+
<ChatPermissionsItem
|
|
123
|
+
key={tool.name}
|
|
124
|
+
name={tool.name}
|
|
125
|
+
data-testid={`permission-${tool.name}`}
|
|
126
|
+
title={tool.name}
|
|
127
|
+
description={tool.description}
|
|
128
|
+
checked={false}
|
|
129
|
+
onCheckedChange={handleCheckedChange}
|
|
130
|
+
/>
|
|
131
|
+
))}
|
|
132
|
+
</ChatPermissionsContent>
|
|
133
|
+
</ChatPermissions>
|
|
134
|
+
</div>
|
|
135
|
+
);
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
/** Two tools switched off sit below a separator. The order is decided by the app, not the component. */
|
|
139
|
+
export const SomeOff: StoryFn<typeof meta> = () => {
|
|
140
|
+
const [allowed, setAllowed] = useState<Record<string, boolean>>({
|
|
141
|
+
propose_add_to_denylist: true,
|
|
142
|
+
search_attacks: true,
|
|
143
|
+
get_api_inventory: false,
|
|
144
|
+
create_rule: false,
|
|
145
|
+
});
|
|
146
|
+
const enabled = TOOLS.filter(tool => allowed[tool.name]);
|
|
147
|
+
const disabled = TOOLS.filter(tool => !allowed[tool.name]);
|
|
148
|
+
|
|
149
|
+
const handleCheckedChange = ({ checked, name }: ChatPermissionsItemCheckedChangeDetails) => {
|
|
150
|
+
setAllowed(prev => ({ ...prev, [name]: checked }));
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
return (
|
|
154
|
+
<div className='flex h-[360px] w-[400px] items-end'>
|
|
155
|
+
<ChatPermissions data-testid='permissions'>
|
|
156
|
+
<ChatPermissionsTrigger />
|
|
157
|
+
<ChatPermissionsContent>
|
|
158
|
+
{enabled.map(tool => (
|
|
159
|
+
<ChatPermissionsItem
|
|
160
|
+
key={tool.name}
|
|
161
|
+
name={tool.name}
|
|
162
|
+
data-testid={`permission-${tool.name}`}
|
|
163
|
+
title={tool.name}
|
|
164
|
+
description={tool.description}
|
|
165
|
+
checked
|
|
166
|
+
onCheckedChange={handleCheckedChange}
|
|
167
|
+
/>
|
|
168
|
+
))}
|
|
169
|
+
{enabled.length > 0 && disabled.length > 0 && <Separator spacing={4} />}
|
|
170
|
+
{disabled.map(tool => (
|
|
171
|
+
<ChatPermissionsItem
|
|
172
|
+
key={tool.name}
|
|
173
|
+
name={tool.name}
|
|
174
|
+
data-testid={`permission-${tool.name}`}
|
|
175
|
+
title={tool.name}
|
|
176
|
+
description={tool.description}
|
|
177
|
+
checked={false}
|
|
178
|
+
onCheckedChange={handleCheckedChange}
|
|
179
|
+
/>
|
|
180
|
+
))}
|
|
181
|
+
</ChatPermissionsContent>
|
|
182
|
+
</ChatPermissions>
|
|
183
|
+
</div>
|
|
184
|
+
);
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* `data-analytics-id` lands on the real trigger `<button>` and on each switch row's `<label>`, so
|
|
189
|
+
* a click anywhere on the row resolves to the row's id.
|
|
190
|
+
*/
|
|
191
|
+
export const Analytics: StoryFn<typeof meta> = () => {
|
|
192
|
+
const [checked, setChecked] = useState(true);
|
|
193
|
+
|
|
194
|
+
const handleCheckedChange = (details: ChatPermissionsItemCheckedChangeDetails) => {
|
|
195
|
+
setChecked(details.checked);
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
return (
|
|
199
|
+
<div className='flex h-[360px] w-[400px] items-end'>
|
|
200
|
+
<ChatPermissions data-testid='permissions'>
|
|
201
|
+
<ChatPermissionsTrigger data-analytics-id='CHAT_PERMISSIONS_OPEN' />
|
|
202
|
+
<ChatPermissionsContent>
|
|
203
|
+
<ChatPermissionsItem
|
|
204
|
+
name='search_attacks'
|
|
205
|
+
data-testid='permission-search_attacks'
|
|
206
|
+
data-analytics-id='CHAT_PERMISSION_TOGGLE'
|
|
207
|
+
data-analytics-props='{"tool":"search_attacks"}'
|
|
208
|
+
title='search_attacks'
|
|
209
|
+
description='Search detected attacks and incidents'
|
|
210
|
+
checked={checked}
|
|
211
|
+
onCheckedChange={handleCheckedChange}
|
|
212
|
+
/>
|
|
213
|
+
</ChatPermissionsContent>
|
|
214
|
+
</ChatPermissions>
|
|
215
|
+
</div>
|
|
216
|
+
);
|
|
217
|
+
};
|
|
218
|
+
```
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
var e={vD(e,t,n){let r,a;/**
|
|
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 o,l,i=Object.create,s=Object.defineProperty,c=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,p=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty,m=(e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of u(t))d.call(e,a)||a===n||s(e,a,{get:()=>t[a],enumerable:!(r=c(t,a))||r.enumerable});return e},f={},h={$dispatcherGuard:()=>N,$makeReadOnly:()=>M,$reset:()=>O,$structuralCheck:()=>T,c:()=>E,clearRenderCounterRegistry:()=>P,renderCounterRegistry:()=>x,useRenderCounter:()=>D};for(var y in h)s(f,y,{get:h[y],enumerable:!0});e.exports=m(s({},"__esModule",{value:!0}),f);var _=(a=null!=(r=n("C"))?i(p(r)):{},m(r&&r.__esModule?a:s(a,"default",{value:r,enumerable:!0}),r)),{useRef:g,useEffect:S,isValidElement:w}=_,b=null!=(o=_.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE)?o:_.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,v=Symbol.for("react.memo_cache_sentinel"),E="function"==typeof(null==(l=_.__COMPILER_RUNTIME)?void 0:l.c)?_.__COMPILER_RUNTIME.c:function(e){return _.useMemo(()=>{let t=Array(e);for(let n=0;n<e;n++)t[n]=v;return t[v]=!0,t},[])},R={};["readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","getCacheSignal","getCacheForType","useCacheRefresh"].forEach(e=>{R[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 b.ReactCurrentDispatcher.current=e,b.ReactCurrentDispatcher.current}R.useMemoCache=e=>{if(null!=$)return $.useMemoCache(e);throw Error("React Compiler internal invariant violation: unexpected null dispatcher")};var k=[];function N(e){let t=b.ReactCurrentDispatcher.current;if(0===e){if(k.push(t),1===k.length&&($=t),t===R)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(R)}else if(1===e){let e=k.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");0===k.length&&($=null),C(e)}else if(2===e)k.push(t),C($);else if(3===e){let e=k.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 O(e){for(let t=0;t<e.length;t++)e[t]=v}function M(){throw Error("TODO: implement $makeReadOnly in react-compiler-runtime")}var x=new Map;function P(){for(let e of x.values())e.forEach(e=>{e.count=0})}function D(e){let t=g(null);null!=t.current&&(t.current.count+=1),S(()=>{if(null==t.current){let n,r={count:0};null==(n=x.get(e))&&(n=new Set,x.set(e,n)),n.add(r),t.current=r}return()=>{var n;let r;null!==t.current&&(n=t.current,null!=(r=x.get(e))&&r.delete(n))}})}var I=new Set;function T(e,t,n,r,a,o){function l(e,t,l,i){let s=`${r}:${o} [${a}] ${n}${l} changed from ${e} to ${t} at depth ${i}`;I.has(s)||(I.add(s),console.error(s))}!function e(t,n,r,a){if(!(a>2)){if(t!==n)if(typeof t!=typeof n)l(`type ${typeof t}`,`type ${typeof n}`,r,a);else if("object"==typeof t){let o=Array.isArray(t),i=Array.isArray(n);if(null===t&&null!==n)l("null",`type ${typeof n}`,r,a);else if(null===n)l(`type ${typeof t}`,"null",r,a);else if(t instanceof Map)if(n instanceof Map)if(t.size!==n.size)l(`Map instance with size ${t.size}`,`Map instance with size ${n.size}`,r,a);else for(let[o,i]of t)n.has(o)?e(i,n.get(o),`${r}.get(${o})`,a+1):l(`Map instance with key ${o}`,`Map instance without key ${o}`,r,a);else l("Map instance","other value",r,a);else if(n instanceof Map)l("other value","Map instance",r,a);else if(t instanceof Set)if(n instanceof Set)if(t.size!==n.size)l(`Set instance with size ${t.size}`,`Set instance with size ${n.size}`,r,a);else for(let e of n)t.has(e)||l(`Set instance without element ${e}`,`Set instance with element ${e}`,r,a);else l("Set instance","other value",r,a);else if(n instanceof Set)l("other value","Set instance",r,a);else if(o||i)if(o!==i)l(`type ${o?"array":"object"}`,`type ${i?"array":"object"}`,r,a);else if(t.length!==n.length)l(`array with length ${t.length}`,`array with length ${n.length}`,r,a);else for(let o=0;o<t.length;o++)e(t[o],n[o],`${r}[${o}]`,a+1);else if(w(t)||w(n))w(t)!==w(n)?l(`type ${w(t)?"React element":"object"}`,`type ${w(n)?"React element":"object"}`,r,a):t.type!==n.type?l(`React element of type ${t.type}`,`React element of type ${n.type}`,r,a):e(t.props,n.props,`[props of ${r}]`,a+1);else{for(let e in n)e in t||l(`object without key ${e}`,`object with key ${e}`,r,a);for(let o in t)o in n?e(t[o],n[o],`${r}.${o}`,a+1):l(`object with key ${o}`,`object without key ${o}`,r,a)}}else{if("function"==typeof t)return;isNaN(t)||isNaN(n)?isNaN(t)!==isNaN(n)&&l(`${isNaN(t)?"NaN":"non-NaN value"}`,`${isNaN(n)?"NaN":"non-NaN value"}`,r,a):t!==n&&l(t,n,r,a)}}}(e,t,"",0)}},p(e,t,n){let r=new WeakMap,a=new WeakMap;function o(e,t,n){let o=t,l=n;if("object"==typeof o&&null!==o&&"$$typeof"in o&&o.$$typeof===Symbol.for("react.context")&&"Provider"in o&&(o=o.Provider),"function"==typeof o&&null!=l.ref&&!o.prototype?.isReactComponent){let t=o,n=r.get(e);n||(n=new WeakMap,r.set(e,n));let a=n.get(t);a||((a=e.forwardRef((e,n)=>t({...e,ref:n}))).displayName=t.displayName??t.name,n.set(t,a)),o=a}if("string"==typeof o&&"boolean"==typeof l.inert&&((l={...l}).inert?l.inert="":delete l.inert),"string"==typeof o)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 o&&null!=l.ref&&(o=function(e,t){let n=a.get(e);n||(n=new Map,a.set(e,n));let r=n.get(t);if(r)return r;let o=e.forwardRef((n,r)=>{let a=e.useRef(null);if(!a.current||a.current.original!==r){let e;a.current={original:r,callback:t=>{if(null==t&&e){let t=e;e=void 0,t();return}if("function"==typeof r){let n=r(t);e="function"==typeof n?n:void 0}else r&&(r.current=t)}}}return e.createElement(t,{...n,ref:a.current.callback})});return o.displayName=`CanvasHost(${t})`,n.set(t,o),o}(e,o)),{type:o,props:l}}function l(e){let t=(t,n,r)=>{let a=o(e,t,n??{});return e.createElement(a.type,void 0===r?a.props:{...a.props,key:r})};return{jsx:t,jsxs:(t,n,r)=>{let a=o(e,t,n??{}),{children:l,...i}=a.props;return e.createElement(a.type,void 0===r?i:{...i,key:r},...Array.isArray(l)?l:[l])},jsxDEV:t,Fragment:e.Fragment}}function i(e){return{...e,createElement:(t,n,...r)=>{let a=o(e,t,n??{});return e.createElement(a.type,a.props,...r)},cloneElement:(t,n,...r)=>{let a=e.cloneElement(t,n??void 0,...r),l=a.ref,i=o(e,a.type,{...a.props,ref:l});return i.type===a.type&&"string"!=typeof a.type?a:e.createElement(i.type,{...i.props,key:a.key})}}}n.d(t,{MA:()=>l,YJ:()=>i})},C(e,t,n){n.r(t);let r=(0,n("p").YJ)(window.React),{Children:a,Component:o,Fragment:l,Profiler:i,PureComponent:s,StrictMode:c,Suspense:u,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:p,act:d,cloneElement:m,createContext:f,createElement:h,createFactory:y,createRef:_,forwardRef:g,isValidElement:S,lazy:w,memo:b,startTransition:v,unstable_act:E,useCallback:R,useContext:$,useDebugValue:C,useDeferredValue:k,useEffect:N,useId:O,useImperativeHandle:M,useInsertionEffect:x,useLayoutEffect:P,useMemo:D,useReducer:I,useRef:T,useState:j,useSyncExternalStore:A,useTransition:W,version:z,use:L}=r;n.d(t,{},{Children:a,Component:o,Fragment:l,Profiler:i,PureComponent:s,StrictMode:c,Suspense:u,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:p,act:d,cloneElement:m,createContext:f,createElement:h,createFactory:y,createRef:_,default:r,forwardRef:g,isValidElement:S,lazy:w,memo:b,startTransition:v,unstable_act:E,use:L,useCallback:R,useContext:$,useDebugValue:C,useDeferredValue:k,useEffect:N,useId:O,useImperativeHandle:M,useInsertionEffect:x,useLayoutEffect:P,useMemo:D,useReducer:I,useRef:T,useState:j,useSyncExternalStore:A,useTransition:W,version:z})}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}n.d=(e,t,r)=>{var a=(t,r)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,[r]:t[a]})};a(t,"get"),a(r,"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:r,Fragment:a}=(0,n("p").MA)(window.React);var o=n("vD"),l=n("C");let i=window.WallarmDS.Separator,s=window.WallarmDS.ChatPermissions,c=window.WallarmDS.ChatPermissionsContent,u=window.WallarmDS.ChatPermissionsItem,p=window.WallarmDS.ChatPermissionsTrigger,d=[{name:"propose_add_to_denylist",description:"Suggest IPs to add to the denylist"},{name:"search_attacks",description:"Search detected attacks and incidents"},{name:"get_api_inventory",description:"Read the discovered API endpoints, their parameters, owners and risk scores"},{name:"create_rule",description:"Draft a mitigation rule for review"}],m={title:"AI/ChatPermissions",component:s,subcomponents:{ChatPermissionsTrigger:p,ChatPermissionsContent:c,ChatPermissionsItem:u},parameters:{layout:"centered",docs:{description:{component:"The settings button in the chat composer that lists which Wally tools may run without asking first in this conversation. Each row is a switch and takes effect the moment it is flipped — there is no Save, and the popover stays open so several tools can be changed in one go. The app owns the list and its order: enabled tools first, then a `Separator` and the disabled ones."}}}},f=[{name:"AllOn",story:()=>{let n,r,a,m,f,h,y,_,g,S,w,b,v=(0,o.c)(27);v[0]===Symbol.for("react.memo_cache_sentinel")?(n={propose_add_to_denylist:!0,search_attacks:!0,get_api_inventory:!0,create_rule:!0},v[0]=n):n=v[0];let[E,R]=(0,l.useState)(n);if(v[1]!==E){let t,n,o,l=d.filter(e=>E[e.name]),S=d.filter(e=>!E[e.name]);v[10]===Symbol.for("react.memo_cache_sentinel")?(t=e=>{let{checked:t,name:n}=e;R(e=>({...e,[n]:t}))},v[10]=t):t=v[10];let w=t;g="flex h-[360px] w-[400px] items-end",a=s,y="permissions",v[11]===Symbol.for("react.memo_cache_sentinel")?(_=e(p,{}),v[11]=_):_=v[11],r=c,v[12]===Symbol.for("react.memo_cache_sentinel")?(n=t=>e(u,{name:t.name,"data-testid":`permission-${t.name}`,title:t.name,description:t.description,checked:!0,onCheckedChange:w},t.name),v[12]=n):n=v[12],m=l.map(n),f=l.length>0&&S.length>0&&e(i,{spacing:4}),v[13]===Symbol.for("react.memo_cache_sentinel")?(o=t=>e(u,{name:t.name,"data-testid":`permission-${t.name}`,title:t.name,description:t.description,checked:!1,onCheckedChange:w},t.name),v[13]=o):o=v[13],h=S.map(o),v[1]=E,v[2]=r,v[3]=a,v[4]=m,v[5]=f,v[6]=h,v[7]=y,v[8]=_,v[9]=g}else r=v[2],a=v[3],m=v[4],f=v[5],h=v[6],y=v[7],_=v[8],g=v[9];return v[14]!==r||v[15]!==m||v[16]!==f||v[17]!==h?(S=t(r,{children:[m,f,h]}),v[14]=r,v[15]=m,v[16]=f,v[17]=h,v[18]=S):S=v[18],v[19]!==a||v[20]!==y||v[21]!==_||v[22]!==S?(w=t(a,{"data-testid":y,children:[_,S]}),v[19]=a,v[20]=y,v[21]=_,v[22]=S,v[23]=w):w=v[23],v[24]!==g||v[25]!==w?(b=e("div",{className:g,children:w}),v[24]=g,v[25]=w,v[26]=b):b=v[26],b},meta:m},{name:"SomeOff",story:()=>{let n,r,a,m,f,h,y,_,g,S,w,b,v=(0,o.c)(27);v[0]===Symbol.for("react.memo_cache_sentinel")?(n={propose_add_to_denylist:!0,search_attacks:!0,get_api_inventory:!1,create_rule:!1},v[0]=n):n=v[0];let[E,R]=(0,l.useState)(n);if(v[1]!==E){let t,n,o,l=d.filter(e=>E[e.name]),S=d.filter(e=>!E[e.name]);v[10]===Symbol.for("react.memo_cache_sentinel")?(t=e=>{let{checked:t,name:n}=e;R(e=>({...e,[n]:t}))},v[10]=t):t=v[10];let w=t;g="flex h-[360px] w-[400px] items-end",a=s,y="permissions",v[11]===Symbol.for("react.memo_cache_sentinel")?(_=e(p,{}),v[11]=_):_=v[11],r=c,v[12]===Symbol.for("react.memo_cache_sentinel")?(n=t=>e(u,{name:t.name,"data-testid":`permission-${t.name}`,title:t.name,description:t.description,checked:!0,onCheckedChange:w},t.name),v[12]=n):n=v[12],m=l.map(n),f=l.length>0&&S.length>0&&e(i,{spacing:4}),v[13]===Symbol.for("react.memo_cache_sentinel")?(o=t=>e(u,{name:t.name,"data-testid":`permission-${t.name}`,title:t.name,description:t.description,checked:!1,onCheckedChange:w},t.name),v[13]=o):o=v[13],h=S.map(o),v[1]=E,v[2]=r,v[3]=a,v[4]=m,v[5]=f,v[6]=h,v[7]=y,v[8]=_,v[9]=g}else r=v[2],a=v[3],m=v[4],f=v[5],h=v[6],y=v[7],_=v[8],g=v[9];return v[14]!==r||v[15]!==m||v[16]!==f||v[17]!==h?(S=t(r,{children:[m,f,h]}),v[14]=r,v[15]=m,v[16]=f,v[17]=h,v[18]=S):S=v[18],v[19]!==a||v[20]!==y||v[21]!==_||v[22]!==S?(w=t(a,{"data-testid":y,children:[_,S]}),v[19]=a,v[20]=y,v[21]=_,v[22]=S,v[23]=w):w=v[23],v[24]!==g||v[25]!==w?(b=e("div",{className:g,children:w}),v[24]=g,v[25]=w,v[26]=b):b=v[26],b},meta:m},{name:"Analytics",story:()=>{let n,r,a,i=(0,o.c)(4),[d,m]=(0,l.useState)(!0);i[0]===Symbol.for("react.memo_cache_sentinel")?(n=e=>{m(e.checked)},i[0]=n):n=i[0];let f=n;return i[1]===Symbol.for("react.memo_cache_sentinel")?(r=e(p,{"data-analytics-id":"CHAT_PERMISSIONS_OPEN"}),i[1]=r):r=i[1],i[2]!==d?(a=e("div",{className:"flex h-[360px] w-[400px] items-end",children:t(s,{"data-testid":"permissions",children:[r,e(c,{children:e(u,{name:"search_attacks","data-testid":"permission-search_attacks","data-analytics-id":"CHAT_PERMISSION_TOGGLE","data-analytics-props":'{"tool":"search_attacks"}',title:"search_attacks",description:"Search detected attacks and incidents",checked:d,onCheckedChange:f})})]})}),i[2]=d,i[3]=a):a=i[3],a},meta:m}];function h({entry:e}){let{story:t,meta:n}=e,r={...n.args,...t.args},a="function"==typeof t||t.$$typeof?t:t.render||n.render||n.component,o=()=>l.default.createElement(a,r),i={args:r,globals:{theme:"light"},parameters:{...n.parameters,...t.parameters},viewMode:"story"};for(let e of[...n.decorators||[],...t.decorators||[]].reverse()){let t=o;o=()=>e(t,i)}return l.default.createElement("section",{"data-preview-story":e.name,className:"p-16"},l.default.createElement("h2",{className:"text-sm mb-12"},e.name),l.default.createElement(o))}window.WallarmPreview={mount(e){let t=window.ReactDOM.createRoot(e);return t.render(l.default.createElement(window.WallarmDS.Root,null,f.map((e,t)=>l.default.createElement(h,{key:t,entry:e})))),t}}})();
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
Collects any number of choices from a limited set, or turns a single option on or off — reach for `Radio` when only one choice is allowed, and `Switch` when the change takes effect immediately instead of on submit. Past roughly ten options, a `Select` reads better than a long column of boxes.
|
|
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-value` | `string \| number \| readonly string[] \| undefined` | no | — | |
|
|
11
|
+
| `auto-focus` | `boolean \| undefined` | no | — | |
|
|
12
|
+
| `tab-index` | `number \| undefined` | no | — | |
|
|
13
|
+
| `rel` | `string \| undefined` | no | — | |
|
|
14
|
+
| `on-change` | `ChangeEventHandler<T, Element> \| undefined` | no | — | |
|
|
15
|
+
| `html-for` | `string \| undefined` | no | — | |
|
|
16
|
+
| `id` | `string` | no | — | The unique identifier of the machine. |
|
|
17
|
+
| `form` | `string \| undefined` | no | — | The id of the form that the checkbox belongs to. |
|
|
18
|
+
| `default-checked` | `complex` | no | — | The initial checked state of the checkbox when rendered. Use when you don't need to control the checked state of the checkbox. |
|
|
19
|
+
| `disabled` | `boolean \| undefined` | no | — | Whether the checkbox is disabled |
|
|
20
|
+
| `name` | `string \| undefined` | no | — | The name of the input field in a checkbox. Useful for form submission. |
|
|
21
|
+
| `value` | `string \| undefined` | no | — | The value of checkbox input. Useful for form submission. |
|
|
22
|
+
| `ids` | `complex` | no | — | The ids of the elements in the checkbox. Useful for composition. |
|
|
23
|
+
| `read-only` | `boolean \| undefined` | no | — | Whether the checkbox is read-only |
|
|
24
|
+
| `required` | `boolean \| undefined` | no | — | Whether the checkbox is required |
|
|
25
|
+
| `on-checked-change` | `complex` | no | — | The callback invoked when the checked state changes. |
|
|
26
|
+
| `invalid` | `boolean \| undefined` | no | — | Whether the checkbox is invalid |
|
|
27
|
+
| `checked` | `complex` | no | — | The controlled checked state of the checkbox |
|
|
28
|
+
| `as-child` | `boolean \| undefined` | no | — | Use the provided child element as the default rendered element, combining their props and behavior. |
|
|
29
|
+
| `data-testid` | `string \| undefined` | no | — | |
|
|
30
|
+
|
|
31
|
+
## Sub-components
|
|
32
|
+
|
|
33
|
+
- `WallarmDS.CheckboxDescription` — `CheckboxDescriptionProps` in the declaration bundle.
|
|
34
|
+
- `WallarmDS.CheckboxGroup` — `CheckboxGroupProps` in the declaration bundle.
|
|
35
|
+
- `WallarmDS.CheckboxLabel` — `CheckboxLabelProps` in the declaration bundle.
|
|
36
|
+
- `WallarmDS.CheckboxIndicator` — `CheckboxIndicatorProps` in the declaration bundle.
|
|
37
|
+
|
|
38
|
+
## Stories
|
|
39
|
+
|
|
40
|
+
### Basic
|
|
41
|
+
|
|
42
|
+
The smallest useful composition — `CheckboxIndicator` plus `CheckboxLabel`. Keep labels to a few
|
|
43
|
+
words in sentence case, and reword rather than truncate.
|
|
44
|
+
|
|
45
|
+
Source: Checkbox/Checkbox.stories.tsx#Basic
|
|
46
|
+
|
|
47
|
+
### Checked
|
|
48
|
+
|
|
49
|
+
The checked state. Pass `checked` to drive it from your own state, or `defaultChecked` to let the checkbox keep track of it.
|
|
50
|
+
|
|
51
|
+
Source: Checkbox/Checkbox.stories.tsx#Checked
|
|
52
|
+
|
|
53
|
+
### Indeterminate
|
|
54
|
+
|
|
55
|
+
`checked='indeterminate'` is for a parent whose children are only partly selected. Set it
|
|
56
|
+
deliberately — a click never produces it — and clear it once every child is checked or unchecked.
|
|
57
|
+
|
|
58
|
+
Source: Checkbox/Checkbox.stories.tsx#Indeterminate
|
|
59
|
+
|
|
60
|
+
### Disabled
|
|
61
|
+
|
|
62
|
+
All three states while disabled, so you can see that the indicator stays readable when the option cannot be changed.
|
|
63
|
+
|
|
64
|
+
Source: Checkbox/Checkbox.stories.tsx#Disabled
|
|
65
|
+
|
|
66
|
+
### WithDescription
|
|
67
|
+
|
|
68
|
+
`CheckboxDescription` adds a second line under the label, and switches the row to a grid so that text lines up with the label rather than the box.
|
|
69
|
+
|
|
70
|
+
Source: Checkbox/Checkbox.stories.tsx#WithDescription
|
|
71
|
+
|
|
72
|
+
### Group
|
|
73
|
+
|
|
74
|
+
`CheckboxGroup` ties several checkboxes to one `name` and one array of values, and owns the spacing
|
|
75
|
+
between them. Every box stays independent: ticking one must never move another, unless it is a
|
|
76
|
+
parent selecting all of its children.
|
|
77
|
+
|
|
78
|
+
Source: Checkbox/Checkbox.stories.tsx#Group
|
|
79
|
+
|
|
80
|
+
### Card
|
|
81
|
+
|
|
82
|
+
`variant='card'` gives every option its own bordered surface. Cards exist to carry a description —
|
|
83
|
+
that is what the extra room is for, and a card holding a bare label wastes it. Plain rows read
|
|
84
|
+
better for short lists of short labels.
|
|
85
|
+
|
|
86
|
+
Source: Checkbox/Checkbox.stories.tsx#Card
|
|
87
|
+
|
|
88
|
+
### FormField
|
|
89
|
+
|
|
90
|
+
Wrapped in `Field`, so the label and description above the options come from `FieldLabel` and `FieldDescription`. Shown as plain rows and as cards.
|
|
91
|
+
|
|
92
|
+
Source: Checkbox/Checkbox.stories.tsx#FormField
|
|
93
|
+
|
|
94
|
+
## Story sources
|
|
95
|
+
|
|
96
|
+
### Checkbox/Checkbox.stories.tsx
|
|
97
|
+
|
|
98
|
+
```tsx
|
|
99
|
+
import type { Meta, StoryFn } from 'storybook-react-rsbuild';
|
|
100
|
+
import { Info } from '../../icons';
|
|
101
|
+
import { Field, FieldDescription, FieldLabel } from '../Field';
|
|
102
|
+
import { HStack, VStack } from '../Stack';
|
|
103
|
+
import { Tooltip, TooltipContent, TooltipTrigger } from '../Tooltip';
|
|
104
|
+
import { Checkbox } from './Checkbox';
|
|
105
|
+
import { CheckboxDescription } from './CheckboxDescription';
|
|
106
|
+
import { CheckboxGroup } from './CheckboxGroup';
|
|
107
|
+
import { CheckboxIndicator } from './CheckboxIndicator';
|
|
108
|
+
import { CheckboxLabel } from './CheckboxLabel';
|
|
109
|
+
|
|
110
|
+
const DESCRIPTION = [
|
|
111
|
+
'Collects any number of choices from a limited set, or turns a single option on or off — reach for `Radio` when only one choice is allowed, and `Switch` when the change takes effect immediately instead of on submit.',
|
|
112
|
+
'Past roughly ten options, a `Select` reads better than a long column of boxes.',
|
|
113
|
+
].join(' ');
|
|
114
|
+
|
|
115
|
+
const meta = {
|
|
116
|
+
title: 'Inputs/Checkbox',
|
|
117
|
+
component: Checkbox,
|
|
118
|
+
subcomponents: {
|
|
119
|
+
CheckboxGroup,
|
|
120
|
+
CheckboxIndicator,
|
|
121
|
+
CheckboxLabel,
|
|
122
|
+
CheckboxDescription,
|
|
123
|
+
},
|
|
124
|
+
parameters: {
|
|
125
|
+
layout: 'centered',
|
|
126
|
+
docs: {
|
|
127
|
+
description: {
|
|
128
|
+
component: DESCRIPTION,
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
} satisfies Meta<typeof Checkbox>;
|
|
133
|
+
|
|
134
|
+
export default meta;
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* The smallest useful composition — `CheckboxIndicator` plus `CheckboxLabel`. Keep labels to a few
|
|
138
|
+
* words in sentence case, and reword rather than truncate.
|
|
139
|
+
*/
|
|
140
|
+
export const Basic: StoryFn<typeof meta> = () => (
|
|
141
|
+
<Checkbox data-testid='checkbox'>
|
|
142
|
+
<CheckboxIndicator />
|
|
143
|
+
<CheckboxLabel>Accept terms and conditions</CheckboxLabel>
|
|
144
|
+
</Checkbox>
|
|
145
|
+
);
|
|
146
|
+
|
|
147
|
+
/** The checked state. Pass `checked` to drive it from your own state, or `defaultChecked` to let the checkbox keep track of it. */
|
|
148
|
+
export const Checked: StoryFn<typeof meta> = () => (
|
|
149
|
+
<Checkbox checked>
|
|
150
|
+
<CheckboxIndicator />
|
|
151
|
+
<CheckboxLabel>Accept terms and conditions</CheckboxLabel>
|
|
152
|
+
</Checkbox>
|
|
153
|
+
);
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* `checked='indeterminate'` is for a parent whose children are only partly selected. Set it
|
|
157
|
+
* deliberately — a click never produces it — and clear it once every child is checked or unchecked.
|
|
158
|
+
*/
|
|
159
|
+
export const Indeterminate: StoryFn<typeof meta> = () => (
|
|
160
|
+
<Checkbox checked='indeterminate'>
|
|
161
|
+
<CheckboxIndicator />
|
|
162
|
+
<CheckboxLabel>Accept terms and conditions</CheckboxLabel>
|
|
163
|
+
</Checkbox>
|
|
164
|
+
);
|
|
165
|
+
|
|
166
|
+
/** All three states while disabled, so you can see that the indicator stays readable when the option cannot be changed. */
|
|
167
|
+
export const Disabled: StoryFn<typeof meta> = () => (
|
|
168
|
+
<VStack>
|
|
169
|
+
<Checkbox disabled>
|
|
170
|
+
<CheckboxIndicator />
|
|
171
|
+
<CheckboxLabel>Accept terms and conditions</CheckboxLabel>
|
|
172
|
+
</Checkbox>
|
|
173
|
+
|
|
174
|
+
<Checkbox checked disabled>
|
|
175
|
+
<CheckboxIndicator />
|
|
176
|
+
<CheckboxLabel>Accept terms and conditions</CheckboxLabel>
|
|
177
|
+
</Checkbox>
|
|
178
|
+
|
|
179
|
+
<Checkbox checked='indeterminate' disabled>
|
|
180
|
+
<CheckboxIndicator />
|
|
181
|
+
<CheckboxLabel>Accept terms and conditions</CheckboxLabel>
|
|
182
|
+
</Checkbox>
|
|
183
|
+
</VStack>
|
|
184
|
+
);
|
|
185
|
+
|
|
186
|
+
/** `CheckboxDescription` adds a second line under the label, and switches the row to a grid so that text lines up with the label rather than the box. */
|
|
187
|
+
export const WithDescription: StoryFn<typeof meta> = () => (
|
|
188
|
+
<Checkbox>
|
|
189
|
+
<CheckboxIndicator />
|
|
190
|
+
<CheckboxLabel>
|
|
191
|
+
Accept terms and conditions
|
|
192
|
+
<Tooltip>
|
|
193
|
+
<TooltipTrigger>
|
|
194
|
+
<Info />
|
|
195
|
+
</TooltipTrigger>
|
|
196
|
+
<TooltipContent>Additional information</TooltipContent>
|
|
197
|
+
</Tooltip>
|
|
198
|
+
</CheckboxLabel>
|
|
199
|
+
<CheckboxDescription>
|
|
200
|
+
By clicking this checkbox, you agree to the terms and conditions.
|
|
201
|
+
</CheckboxDescription>
|
|
202
|
+
</Checkbox>
|
|
203
|
+
);
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* `CheckboxGroup` ties several checkboxes to one `name` and one array of values, and owns the spacing
|
|
207
|
+
* between them. Every box stays independent: ticking one must never move another, unless it is a
|
|
208
|
+
* parent selecting all of its children.
|
|
209
|
+
*/
|
|
210
|
+
export const Group: StoryFn<typeof meta> = () => (
|
|
211
|
+
<CheckboxGroup name='framework' defaultValue={['vue']}>
|
|
212
|
+
<Checkbox value='react'>
|
|
213
|
+
<CheckboxIndicator />
|
|
214
|
+
<CheckboxLabel>React</CheckboxLabel>
|
|
215
|
+
</Checkbox>
|
|
216
|
+
|
|
217
|
+
<Checkbox value='solid'>
|
|
218
|
+
<CheckboxIndicator />
|
|
219
|
+
<CheckboxLabel>Solid</CheckboxLabel>
|
|
220
|
+
</Checkbox>
|
|
221
|
+
|
|
222
|
+
<Checkbox value='vue'>
|
|
223
|
+
<CheckboxIndicator />
|
|
224
|
+
<CheckboxLabel>Vue</CheckboxLabel>
|
|
225
|
+
</Checkbox>
|
|
226
|
+
|
|
227
|
+
<Checkbox value='svelte'>
|
|
228
|
+
<CheckboxIndicator />
|
|
229
|
+
<CheckboxLabel>Svelte</CheckboxLabel>
|
|
230
|
+
</Checkbox>
|
|
231
|
+
</CheckboxGroup>
|
|
232
|
+
);
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* `variant='card'` gives every option its own bordered surface. Cards exist to carry a description —
|
|
236
|
+
* that is what the extra room is for, and a card holding a bare label wastes it. Plain rows read
|
|
237
|
+
* better for short lists of short labels.
|
|
238
|
+
*/
|
|
239
|
+
export const Card: StoryFn<typeof meta> = () => (
|
|
240
|
+
<CheckboxGroup variant='card' name='framework' defaultValue={['vue', 'angular']}>
|
|
241
|
+
<Checkbox value='react'>
|
|
242
|
+
<CheckboxIndicator />
|
|
243
|
+
<CheckboxLabel>React</CheckboxLabel>
|
|
244
|
+
<CheckboxDescription>
|
|
245
|
+
By clicking this checkbox, you agree to the terms and conditions.
|
|
246
|
+
</CheckboxDescription>
|
|
247
|
+
</Checkbox>
|
|
248
|
+
|
|
249
|
+
<Checkbox value='solid'>
|
|
250
|
+
<CheckboxIndicator />
|
|
251
|
+
<CheckboxLabel>
|
|
252
|
+
Solid
|
|
253
|
+
<Tooltip>
|
|
254
|
+
<TooltipTrigger>
|
|
255
|
+
<Info />
|
|
256
|
+
</TooltipTrigger>
|
|
257
|
+
<TooltipContent>Additional information</TooltipContent>
|
|
258
|
+
</Tooltip>
|
|
259
|
+
</CheckboxLabel>
|
|
260
|
+
<CheckboxDescription>
|
|
261
|
+
By clicking this checkbox, you agree to the terms and conditions.
|
|
262
|
+
</CheckboxDescription>
|
|
263
|
+
</Checkbox>
|
|
264
|
+
|
|
265
|
+
<Checkbox value='vue'>
|
|
266
|
+
<CheckboxIndicator />
|
|
267
|
+
<CheckboxLabel>Vue</CheckboxLabel>
|
|
268
|
+
<CheckboxDescription>
|
|
269
|
+
By clicking this checkbox, you agree to the terms and conditions.
|
|
270
|
+
</CheckboxDescription>
|
|
271
|
+
</Checkbox>
|
|
272
|
+
|
|
273
|
+
<Checkbox value='svelte' disabled>
|
|
274
|
+
<CheckboxIndicator />
|
|
275
|
+
<CheckboxLabel>Svelte</CheckboxLabel>
|
|
276
|
+
<CheckboxDescription>
|
|
277
|
+
By clicking this checkbox, you agree to the terms and conditions.
|
|
278
|
+
</CheckboxDescription>
|
|
279
|
+
</Checkbox>
|
|
280
|
+
|
|
281
|
+
<Checkbox value='angular' disabled>
|
|
282
|
+
<CheckboxIndicator />
|
|
283
|
+
<CheckboxLabel>Angular</CheckboxLabel>
|
|
284
|
+
<CheckboxDescription>
|
|
285
|
+
By clicking this checkbox, you agree to the terms and conditions.
|
|
286
|
+
</CheckboxDescription>
|
|
287
|
+
</Checkbox>
|
|
288
|
+
</CheckboxGroup>
|
|
289
|
+
);
|
|
290
|
+
|
|
291
|
+
/** Wrapped in `Field`, so the label and description above the options come from `FieldLabel` and `FieldDescription`. Shown as plain rows and as cards. */
|
|
292
|
+
export const FormField: StoryFn<typeof meta> = () => (
|
|
293
|
+
<HStack align='start' gap={40}>
|
|
294
|
+
<Field>
|
|
295
|
+
<FieldLabel>
|
|
296
|
+
Label{' '}
|
|
297
|
+
<Tooltip>
|
|
298
|
+
<TooltipTrigger>
|
|
299
|
+
<Info />
|
|
300
|
+
</TooltipTrigger>
|
|
301
|
+
<TooltipContent>Additional information</TooltipContent>
|
|
302
|
+
</Tooltip>
|
|
303
|
+
</FieldLabel>
|
|
304
|
+
|
|
305
|
+
<FieldDescription>This is an input description.</FieldDescription>
|
|
306
|
+
|
|
307
|
+
<CheckboxGroup name='framework' defaultValue={['vue']}>
|
|
308
|
+
<Checkbox value='react'>
|
|
309
|
+
<CheckboxIndicator />
|
|
310
|
+
<CheckboxLabel>React</CheckboxLabel>
|
|
311
|
+
</Checkbox>
|
|
312
|
+
|
|
313
|
+
<Checkbox value='solid'>
|
|
314
|
+
<CheckboxIndicator />
|
|
315
|
+
<CheckboxLabel>Solid</CheckboxLabel>
|
|
316
|
+
</Checkbox>
|
|
317
|
+
|
|
318
|
+
<Checkbox value='vue'>
|
|
319
|
+
<CheckboxIndicator />
|
|
320
|
+
<CheckboxLabel>Vue</CheckboxLabel>
|
|
321
|
+
</Checkbox>
|
|
322
|
+
|
|
323
|
+
<Checkbox value='svelte'>
|
|
324
|
+
<CheckboxIndicator />
|
|
325
|
+
<CheckboxLabel>Svelte</CheckboxLabel>
|
|
326
|
+
</Checkbox>
|
|
327
|
+
</CheckboxGroup>
|
|
328
|
+
</Field>
|
|
329
|
+
|
|
330
|
+
<Field>
|
|
331
|
+
<FieldLabel>
|
|
332
|
+
Label
|
|
333
|
+
<Tooltip>
|
|
334
|
+
<TooltipTrigger>
|
|
335
|
+
<Info />
|
|
336
|
+
</TooltipTrigger>
|
|
337
|
+
<TooltipContent>Additional information</TooltipContent>
|
|
338
|
+
</Tooltip>
|
|
339
|
+
</FieldLabel>
|
|
340
|
+
|
|
341
|
+
<FieldDescription>This is an input description.</FieldDescription>
|
|
342
|
+
|
|
343
|
+
<CheckboxGroup variant='card' name='framework' defaultValue={['vue']}>
|
|
344
|
+
<Checkbox value='react'>
|
|
345
|
+
<CheckboxIndicator />
|
|
346
|
+
<CheckboxLabel>React</CheckboxLabel>
|
|
347
|
+
</Checkbox>
|
|
348
|
+
|
|
349
|
+
<Checkbox value='solid'>
|
|
350
|
+
<CheckboxIndicator />
|
|
351
|
+
<CheckboxLabel>Solid</CheckboxLabel>
|
|
352
|
+
</Checkbox>
|
|
353
|
+
|
|
354
|
+
<Checkbox value='vue'>
|
|
355
|
+
<CheckboxIndicator />
|
|
356
|
+
<CheckboxLabel>Vue</CheckboxLabel>
|
|
357
|
+
</Checkbox>
|
|
358
|
+
|
|
359
|
+
<Checkbox value='svelte'>
|
|
360
|
+
<CheckboxIndicator />
|
|
361
|
+
<CheckboxLabel>Svelte</CheckboxLabel>
|
|
362
|
+
</Checkbox>
|
|
363
|
+
</CheckboxGroup>
|
|
364
|
+
</Field>
|
|
365
|
+
</HStack>
|
|
366
|
+
);
|
|
367
|
+
```
|