@wallarm-org/claude-design 0.0.0-stage → 4.9.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,273 @@
|
|
|
1
|
+
Multi-line free text, for answers that run to sentences — reach for `Input` when one line will do, since a tall box tells the reader to write more than you want. Like `Input`, it reads `Field` context for its label, description and error state.
|
|
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
|
+
| `min-rows` | `number \| undefined` | no | — | |
|
|
10
|
+
| `max-rows` | `number \| undefined` | no | — | |
|
|
11
|
+
| `title` | `string \| undefined` | no | — | |
|
|
12
|
+
| `default-checked` | `boolean \| undefined` | no | — | |
|
|
13
|
+
| `default-value` | `string \| number \| readonly string[] \| undefined` | no | — | |
|
|
14
|
+
| `auto-focus` | `boolean \| undefined` | no | — | |
|
|
15
|
+
| `id` | `string \| undefined` | no | — | |
|
|
16
|
+
| `tab-index` | `number \| undefined` | no | — | |
|
|
17
|
+
| `rel` | `string \| undefined` | no | — | |
|
|
18
|
+
| `on-change` | `ChangeEventHandler<T, HTMLTextAreaElement> \| undefined` | no | — | |
|
|
19
|
+
| `disabled` | `boolean \| undefined` | no | `false` | |
|
|
20
|
+
| `name` | `string \| undefined` | no | — | |
|
|
21
|
+
| `value` | `string \| number \| readonly string[] \| undefined` | no | — | |
|
|
22
|
+
| `auto-complete` | `string \| undefined` | no | — | |
|
|
23
|
+
| `max-length` | `number \| undefined` | no | — | |
|
|
24
|
+
| `min-length` | `number \| undefined` | no | — | |
|
|
25
|
+
| `placeholder` | `string \| undefined` | no | — | |
|
|
26
|
+
| `read-only` | `boolean \| undefined` | no | — | |
|
|
27
|
+
| `required` | `boolean \| undefined` | no | — | |
|
|
28
|
+
| `size` | `"small" \| "medium" \| "default" \| "inline-edit"` | no | `default` | |
|
|
29
|
+
| `error` | `boolean` | no | `false` | |
|
|
30
|
+
| `data-testid` | `string \| undefined` | no | — | |
|
|
31
|
+
|
|
32
|
+
## Stories
|
|
33
|
+
|
|
34
|
+
### Basic
|
|
35
|
+
|
|
36
|
+
The bare control at its default height. Size the box to the answer you expect — it is the
|
|
37
|
+
clearest signal the reader gets about how much to write.
|
|
38
|
+
|
|
39
|
+
Source: Textarea/Textarea.stories.tsx#Basic
|
|
40
|
+
|
|
41
|
+
### Sizes
|
|
42
|
+
|
|
43
|
+
The same 36 / 32 / 24px scale as `Input`, applied to the single-row height, so a textarea
|
|
44
|
+
lines up with the fields around it before it grows.
|
|
45
|
+
|
|
46
|
+
Source: Textarea/Textarea.stories.tsx#Sizes
|
|
47
|
+
|
|
48
|
+
### Focused
|
|
49
|
+
|
|
50
|
+
Focus is a ring outside the border, as on every other field, so the box doesn't shift when
|
|
51
|
+
the reader tabs into it.
|
|
52
|
+
|
|
53
|
+
Source: Textarea/Textarea.stories.tsx#Focused
|
|
54
|
+
|
|
55
|
+
### Disabled
|
|
56
|
+
|
|
57
|
+
Dimmed and not focusable. Say elsewhere what would enable it.
|
|
58
|
+
|
|
59
|
+
Source: Textarea/Textarea.stories.tsx#Disabled
|
|
60
|
+
|
|
61
|
+
### WithValue
|
|
62
|
+
|
|
63
|
+
A filled box. Text starts at the top rather than centring, which is why the height you
|
|
64
|
+
choose reads as an invitation.
|
|
65
|
+
|
|
66
|
+
Source: Textarea/Textarea.stories.tsx#WithValue
|
|
67
|
+
|
|
68
|
+
### WithError
|
|
69
|
+
|
|
70
|
+
`error` reddens the border and sets `aria-invalid`; the message is `FieldError`'s job.
|
|
71
|
+
|
|
72
|
+
Source: Textarea/Textarea.stories.tsx#WithError
|
|
73
|
+
|
|
74
|
+
### AutoResize
|
|
75
|
+
|
|
76
|
+
Passing `maxRows` turns auto-resize on: the box starts at `minRows` and grows with the
|
|
77
|
+
text until it hits the cap, then scrolls. Without `maxRows` the height is fixed.
|
|
78
|
+
|
|
79
|
+
Source: Textarea/Textarea.stories.tsx#AutoResize
|
|
80
|
+
|
|
81
|
+
### WithFooter
|
|
82
|
+
|
|
83
|
+
Inside an `InputGroup` with a `block-end` addon, which is how the composer pattern is
|
|
84
|
+
built — auto-resize plus a toolbar that stays attached as the box grows.
|
|
85
|
+
|
|
86
|
+
Source: Textarea/Textarea.stories.tsx#WithFooter
|
|
87
|
+
|
|
88
|
+
## Story sources
|
|
89
|
+
|
|
90
|
+
### Textarea/Textarea.stories.tsx
|
|
91
|
+
|
|
92
|
+
```tsx
|
|
93
|
+
import { fn } from 'storybook/test';
|
|
94
|
+
import type { Meta, StoryFn, StoryObj } from 'storybook-react-rsbuild';
|
|
95
|
+
import { ArrowUp, Settings2 } from '../../icons';
|
|
96
|
+
import { Button } from '../Button';
|
|
97
|
+
import {
|
|
98
|
+
DropdownMenu,
|
|
99
|
+
DropdownMenuContent,
|
|
100
|
+
DropdownMenuItem,
|
|
101
|
+
DropdownMenuItemContent,
|
|
102
|
+
DropdownMenuItemText,
|
|
103
|
+
DropdownMenuLabel,
|
|
104
|
+
DropdownMenuShortcut,
|
|
105
|
+
DropdownMenuTrigger,
|
|
106
|
+
} from '../DropdownMenu';
|
|
107
|
+
import { InputGroup } from '../InputGroup/InputGroup';
|
|
108
|
+
import { InputGroupAddon } from '../InputGroup/InputGroupAddon';
|
|
109
|
+
import { HStack } from '../Stack';
|
|
110
|
+
import { Switch, SwitchControl } from '../Switch';
|
|
111
|
+
import { Text } from '../Text';
|
|
112
|
+
import { Textarea } from './Textarea';
|
|
113
|
+
|
|
114
|
+
const DESCRIPTION = [
|
|
115
|
+
'Multi-line free text, for answers that run to sentences — reach for `Input` when one line will do, since a tall box tells the reader to write more than you want.',
|
|
116
|
+
'Like `Input`, it reads `Field` context for its label, description and error state.',
|
|
117
|
+
].join(' ');
|
|
118
|
+
|
|
119
|
+
const meta = {
|
|
120
|
+
title: 'Inputs/Textarea',
|
|
121
|
+
component: Textarea,
|
|
122
|
+
parameters: {
|
|
123
|
+
layout: 'centered',
|
|
124
|
+
docs: {
|
|
125
|
+
description: {
|
|
126
|
+
component: DESCRIPTION,
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
args: {
|
|
131
|
+
onChange: fn(),
|
|
132
|
+
placeholder: 'Placeholder',
|
|
133
|
+
},
|
|
134
|
+
argTypes: {
|
|
135
|
+
error: {
|
|
136
|
+
control: 'boolean',
|
|
137
|
+
},
|
|
138
|
+
disabled: {
|
|
139
|
+
control: 'boolean',
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
} satisfies Meta<typeof Textarea>;
|
|
143
|
+
|
|
144
|
+
export default meta;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* The bare control at its default height. Size the box to the answer you expect — it is the
|
|
148
|
+
* clearest signal the reader gets about how much to write.
|
|
149
|
+
*/
|
|
150
|
+
export const Basic: StoryObj<typeof meta> = {
|
|
151
|
+
args: {
|
|
152
|
+
'data-testid': 'textarea',
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* The same 36 / 32 / 24px scale as `Input`, applied to the single-row height, so a textarea
|
|
158
|
+
* lines up with the fields around it before it grows.
|
|
159
|
+
*/
|
|
160
|
+
export const Sizes: StoryFn<typeof meta> = ({ ...args }) => (
|
|
161
|
+
<HStack gap={16} align='start'>
|
|
162
|
+
<Textarea {...args} size='default' />
|
|
163
|
+
<Textarea {...args} size='medium' />
|
|
164
|
+
<Textarea {...args} size='small' />
|
|
165
|
+
</HStack>
|
|
166
|
+
);
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Focus is a ring outside the border, as on every other field, so the box doesn't shift when
|
|
170
|
+
* the reader tabs into it.
|
|
171
|
+
*/
|
|
172
|
+
export const Focused: StoryObj<typeof meta> = {
|
|
173
|
+
parameters: { pseudo: { focusVisible: true } },
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Dimmed and not focusable. Say elsewhere what would enable it.
|
|
178
|
+
*/
|
|
179
|
+
export const Disabled: StoryObj<typeof meta> = {
|
|
180
|
+
args: {
|
|
181
|
+
disabled: true,
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* A filled box. Text starts at the top rather than centring, which is why the height you
|
|
187
|
+
* choose reads as an invitation.
|
|
188
|
+
*/
|
|
189
|
+
export const WithValue: StoryObj<typeof meta> = {
|
|
190
|
+
args: {
|
|
191
|
+
value: 'Some value...',
|
|
192
|
+
},
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* `error` reddens the border and sets `aria-invalid`; the message is `FieldError`'s job.
|
|
197
|
+
*/
|
|
198
|
+
export const WithError: StoryObj<typeof meta> = {
|
|
199
|
+
args: {
|
|
200
|
+
error: true,
|
|
201
|
+
},
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Passing `maxRows` turns auto-resize on: the box starts at `minRows` and grows with the
|
|
206
|
+
* text until it hits the cap, then scrolls. Without `maxRows` the height is fixed.
|
|
207
|
+
*/
|
|
208
|
+
export const AutoResize: StoryFn<typeof meta> = args => (
|
|
209
|
+
<div style={{ width: 280 }}>
|
|
210
|
+
<Textarea {...args} minRows={1} maxRows={5} placeholder='Auto-resize: 1 to 5 rows' />
|
|
211
|
+
</div>
|
|
212
|
+
);
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Inside an `InputGroup` with a `block-end` addon, which is how the composer pattern is
|
|
216
|
+
* built — auto-resize plus a toolbar that stays attached as the box grows.
|
|
217
|
+
*/
|
|
218
|
+
export const WithFooter: StoryFn<typeof meta> = args => {
|
|
219
|
+
const toolItems = Array.from({ length: 6 }, (_, i) => ({
|
|
220
|
+
id: String(i + 1),
|
|
221
|
+
tool: '{tool-name}',
|
|
222
|
+
desc: 'Description',
|
|
223
|
+
enabled: true,
|
|
224
|
+
}));
|
|
225
|
+
|
|
226
|
+
return (
|
|
227
|
+
<div style={{ width: 480 }}>
|
|
228
|
+
<InputGroup>
|
|
229
|
+
<Textarea {...args} minRows={1} maxRows={3} placeholder='Ask Wally...' />
|
|
230
|
+
|
|
231
|
+
<InputGroupAddon align='block-end'>
|
|
232
|
+
<HStack fullWidth align='center' justify='between'>
|
|
233
|
+
<DropdownMenu closeOnSelect={false}>
|
|
234
|
+
<DropdownMenuTrigger>
|
|
235
|
+
<Button variant='secondary' size='small' color='neutral'>
|
|
236
|
+
<Settings2 />
|
|
237
|
+
</Button>
|
|
238
|
+
</DropdownMenuTrigger>
|
|
239
|
+
|
|
240
|
+
<DropdownMenuContent className='w-304 h-290 overscroll-none'>
|
|
241
|
+
<DropdownMenuLabel className='sticky top-0 z-50 bg-bg-surface-2'>
|
|
242
|
+
Always allowed in this conversation
|
|
243
|
+
</DropdownMenuLabel>
|
|
244
|
+
|
|
245
|
+
{toolItems.map(item => (
|
|
246
|
+
<DropdownMenuItem key={`${item.id}`} className='w-full'>
|
|
247
|
+
<DropdownMenuItemContent>
|
|
248
|
+
<DropdownMenuItemText>{item.tool}</DropdownMenuItemText>
|
|
249
|
+
<Text size='xs' color='secondary'>
|
|
250
|
+
{item.desc}
|
|
251
|
+
</Text>
|
|
252
|
+
</DropdownMenuItemContent>
|
|
253
|
+
|
|
254
|
+
<DropdownMenuShortcut>
|
|
255
|
+
<Switch checked={item.enabled}>
|
|
256
|
+
<SwitchControl />
|
|
257
|
+
</Switch>
|
|
258
|
+
</DropdownMenuShortcut>
|
|
259
|
+
</DropdownMenuItem>
|
|
260
|
+
))}
|
|
261
|
+
</DropdownMenuContent>
|
|
262
|
+
</DropdownMenu>
|
|
263
|
+
|
|
264
|
+
<Button variant='primary' color='brand' size='small'>
|
|
265
|
+
<ArrowUp />
|
|
266
|
+
</Button>
|
|
267
|
+
</HStack>
|
|
268
|
+
</InputGroupAddon>
|
|
269
|
+
</InputGroup>
|
|
270
|
+
</div>
|
|
271
|
+
);
|
|
272
|
+
};
|
|
273
|
+
```
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
var e={vD(e,t,r){let n,o;/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @lightSyntaxTransform
|
|
8
|
+
* @noflow
|
|
9
|
+
* @nolint
|
|
10
|
+
* @preventMunge
|
|
11
|
+
* @preserve-invariant-messages
|
|
12
|
+
*/var a,l,i=Object.create,c=Object.defineProperty,s=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,f=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty,p=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of u(t))d.call(e,o)||o===r||c(e,o,{get:()=>t[o],enumerable:!(n=s(t,o))||n.enumerable});return e},m={},y={$dispatcherGuard:()=>k,$makeReadOnly:()=>M,$reset:()=>C,$structuralCheck:()=>T,c:()=>_,clearRenderCounterRegistry:()=>x,renderCounterRegistry:()=>O,useRenderCounter:()=>W};for(var h in y)c(m,h,{get:y[h],enumerable:!0});e.exports=p(c({},"__esModule",{value:!0}),m);var w=(o=null!=(n=r("C"))?i(f(n)):{},p(n&&n.__esModule?o:c(o,"default",{value:n,enumerable:!0}),n)),{useRef:S,useEffect:g,isValidElement:b}=w,R=null!=(a=w.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE)?a:w.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,v=Symbol.for("react.memo_cache_sentinel"),_="function"==typeof(null==(l=w.__COMPILER_RUNTIME)?void 0:l.c)?w.__COMPILER_RUNTIME.c:function(e){return w.useMemo(()=>{let t=Array(e);for(let r=0;r<e;r++)t[r]=v;return t[v]=!0,t},[])},E={};["readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","getCacheSignal","getCacheForType","useCacheRefresh"].forEach(e=>{E[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 D(e){return R.ReactCurrentDispatcher.current=e,R.ReactCurrentDispatcher.current}E.useMemoCache=e=>{if(null!=$)return $.useMemoCache(e);throw Error("React Compiler internal invariant violation: unexpected null dispatcher")};var N=[];function k(e){let t=R.ReactCurrentDispatcher.current;if(0===e){if(N.push(t),1===N.length&&($=t),t===E)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.");D(E)}else if(1===e){let e=N.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");0===N.length&&($=null),D(e)}else if(2===e)N.push(t),D($);else if(3===e){let e=N.pop();if(null==e)throw Error("React Compiler internal error: unexpected null in guard stack");D(e)}else throw Error("React Compiler internal error: unreachable block"+e)}function C(e){for(let t=0;t<e.length;t++)e[t]=v}function M(){throw Error("TODO: implement $makeReadOnly in react-compiler-runtime")}var O=new Map;function x(){for(let e of O.values())e.forEach(e=>{e.count=0})}function W(e){let t=S(null);null!=t.current&&(t.current.count+=1),g(()=>{if(null==t.current){let r,n={count:0};null==(r=O.get(e))&&(r=new Set,O.set(e,r)),r.add(n),t.current=n}return()=>{var r;let n;null!==t.current&&(r=t.current,null!=(n=O.get(e))&&n.delete(r))}})}var I=new Set;function T(e,t,r,n,o,a){function l(e,t,l,i){let c=`${n}:${a} [${o}] ${r}${l} changed from ${e} to ${t} at depth ${i}`;I.has(c)||(I.add(c),console.error(c))}!function e(t,r,n,o){if(!(o>2)){if(t!==r)if(typeof t!=typeof r)l(`type ${typeof t}`,`type ${typeof r}`,n,o);else if("object"==typeof t){let a=Array.isArray(t),i=Array.isArray(r);if(null===t&&null!==r)l("null",`type ${typeof r}`,n,o);else if(null===r)l(`type ${typeof t}`,"null",n,o);else if(t instanceof Map)if(r instanceof Map)if(t.size!==r.size)l(`Map instance with size ${t.size}`,`Map instance with size ${r.size}`,n,o);else for(let[a,i]of t)r.has(a)?e(i,r.get(a),`${n}.get(${a})`,o+1):l(`Map instance with key ${a}`,`Map instance without key ${a}`,n,o);else l("Map instance","other value",n,o);else if(r instanceof Map)l("other value","Map instance",n,o);else if(t instanceof Set)if(r instanceof Set)if(t.size!==r.size)l(`Set instance with size ${t.size}`,`Set instance with size ${r.size}`,n,o);else for(let e of r)t.has(e)||l(`Set instance without element ${e}`,`Set instance with element ${e}`,n,o);else l("Set instance","other value",n,o);else if(r instanceof Set)l("other value","Set instance",n,o);else if(a||i)if(a!==i)l(`type ${a?"array":"object"}`,`type ${i?"array":"object"}`,n,o);else if(t.length!==r.length)l(`array with length ${t.length}`,`array with length ${r.length}`,n,o);else for(let a=0;a<t.length;a++)e(t[a],r[a],`${n}[${a}]`,o+1);else if(b(t)||b(r))b(t)!==b(r)?l(`type ${b(t)?"React element":"object"}`,`type ${b(r)?"React element":"object"}`,n,o):t.type!==r.type?l(`React element of type ${t.type}`,`React element of type ${r.type}`,n,o):e(t.props,r.props,`[props of ${n}]`,o+1);else{for(let e in r)e in t||l(`object without key ${e}`,`object with key ${e}`,n,o);for(let a in t)a in r?e(t[a],r[a],`${n}.${a}`,o+1):l(`object with key ${a}`,`object without key ${a}`,n,o)}}else{if("function"==typeof t)return;isNaN(t)||isNaN(r)?isNaN(t)!==isNaN(r)&&l(`${isNaN(t)?"NaN":"non-NaN value"}`,`${isNaN(r)?"NaN":"non-NaN value"}`,n,o):t!==r&&l(t,r,n,o)}}}(e,t,"",0)}},p(e,t,r){let n=new WeakMap,o=new WeakMap;function a(e,t,r){let a=t,l=r;if("object"==typeof a&&null!==a&&"$$typeof"in a&&a.$$typeof===Symbol.for("react.context")&&"Provider"in a&&(a=a.Provider),"function"==typeof a&&null!=l.ref&&!a.prototype?.isReactComponent){let t=a,r=n.get(e);r||(r=new WeakMap,n.set(e,r));let o=r.get(t);o||((o=e.forwardRef((e,r)=>t({...e,ref:r}))).displayName=t.displayName??t.name,r.set(t,o)),a=o}if("string"==typeof a&&"boolean"==typeof l.inert&&((l={...l}).inert?l.inert="":delete l.inert),"string"==typeof a)for(let[e,t]of[["fill-rule","fillRule"],["clip-rule","clipRule"]])e in l&&(l={...l,[t]:l[e]},delete l[e]);return"string"==typeof a&&null!=l.ref&&(a=function(e,t){let r=o.get(e);r||(r=new Map,o.set(e,r));let n=r.get(t);if(n)return n;let a=e.forwardRef((r,n)=>{let o=e.useRef(null);if(!o.current||o.current.original!==n){let e;o.current={original:n,callback:t=>{if(null==t&&e){let t=e;e=void 0,t();return}if("function"==typeof n){let r=n(t);e="function"==typeof r?r:void 0}else n&&(n.current=t)}}}return e.createElement(t,{...r,ref:o.current.callback})});return a.displayName=`CanvasHost(${t})`,r.set(t,a),a}(e,a)),{type:a,props:l}}function l(e){let t=(t,r,n)=>{let o=a(e,t,r??{});return e.createElement(o.type,void 0===n?o.props:{...o.props,key:n})};return{jsx:t,jsxs:(t,r,n)=>{let o=a(e,t,r??{}),{children:l,...i}=o.props;return e.createElement(o.type,void 0===n?i:{...i,key:n},...Array.isArray(l)?l:[l])},jsxDEV:t,Fragment:e.Fragment}}function i(e){return{...e,createElement:(t,r,...n)=>{let o=a(e,t,r??{});return e.createElement(o.type,o.props,...n)},cloneElement:(t,r,...n)=>{let o=e.cloneElement(t,r??void 0,...n),l=o.ref,i=a(e,o.type,{...o.props,ref:l});return i.type===o.type&&"string"!=typeof o.type?o:e.createElement(i.type,{...i.props,key:o.key})}}}r.d(t,{MA:()=>l,YJ:()=>i})},C(e,t,r){r.r(t);let n=(0,r("p").YJ)(window.React),{Children:o,Component:a,Fragment:l,Profiler:i,PureComponent:c,StrictMode:s,Suspense:u,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:f,act:d,cloneElement:p,createContext:m,createElement:y,createFactory:h,createRef:w,forwardRef:S,isValidElement:g,lazy:b,memo:R,startTransition:v,unstable_act:_,useCallback:E,useContext:$,useDebugValue:D,useDeferredValue:N,useEffect:k,useId:C,useImperativeHandle:M,useInsertionEffect:O,useLayoutEffect:x,useMemo:W,useReducer:I,useRef:T,useState:j,useSyncExternalStore:A,useTransition:z,version:P,use:L}=n;r.d(t,{},{Children:o,Component:a,Fragment:l,Profiler:i,PureComponent:c,StrictMode:s,Suspense:u,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:f,act:d,cloneElement:p,createContext:m,createElement:y,createFactory:h,createRef:w,default:n,forwardRef:S,isValidElement:g,lazy:b,memo:R,startTransition:v,unstable_act:_,use:L,useCallback:E,useContext:$,useDebugValue:D,useDeferredValue:N,useEffect:k,useId:C,useImperativeHandle:M,useInsertionEffect:O,useLayoutEffect:x,useMemo:W,useReducer:I,useRef:T,useState:j,useSyncExternalStore:A,useTransition:z,version:P})}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.d=(e,t,n)=>{var o=(t,n)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,[n]:t[o]})};o(t,"get"),o(n,"value")},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{let{jsx:e,jsxs:t,jsxDEV:n,Fragment:o}=(0,r("p").MA)(window.React);var a=r("vD");let l=window.WallarmDS.Icons.ArrowUp,i=window.WallarmDS.Icons.Settings2,c=window.WallarmDS.Button,s=window.WallarmDS.DropdownMenu,u=window.WallarmDS.DropdownMenuContent,f=window.WallarmDS.DropdownMenuItem,d=window.WallarmDS.DropdownMenuItemContent,p=window.WallarmDS.DropdownMenuItemText,m=window.WallarmDS.DropdownMenuLabel,y=window.WallarmDS.DropdownMenuShortcut,h=window.WallarmDS.DropdownMenuTrigger,w=window.WallarmDS.InputGroup,S=window.WallarmDS.InputGroupAddon,g=window.WallarmDS.HStack,b=window.WallarmDS.Switch,R=window.WallarmDS.SwitchControl,v=window.WallarmDS.Text,_=window.WallarmDS.Textarea,E={title:"Inputs/Textarea",component:_,parameters:{layout:"centered",docs:{description:{component:"Multi-line free text, for answers that run to sentences — reach for `Input` when one line will do, since a tall box tells the reader to write more than you want. Like `Input`, it reads `Field` context for its label, description and error state."}}},args:{onChange:function(e=()=>{}){let t=(...t)=>e(...t);for(let r of["mockName","mockReturnValue","mockResolvedValue","mockImplementation"])t[r]=n=>("mockImplementation"===r?e=n:"mockReturnValue"===r?e=()=>n:"mockResolvedValue"===r&&(e=()=>Promise.resolve(n)),t);return t}(),placeholder:"Placeholder"},argTypes:{error:{control:"boolean"},disabled:{control:"boolean"}}};function $(e,t){return{id:String(t+1),tool:"{tool-name}",desc:"Description",enabled:!0}}function D(r){return t(f,{className:"w-full",children:[t(d,{children:[e(p,{children:r.tool}),e(v,{size:"xs",color:"secondary",children:r.desc})]}),e(y,{children:e(b,{checked:r.enabled,children:e(R,{})})})]},`${r.id}`)}var N=r("C");let k=[{name:"Basic",story:{args:{"data-testid":"textarea"}},meta:E},{name:"Sizes",story:r=>{let n,o,l=(0,a.c)(4);return l[0]!==r?({...n}=r,l[0]=r,l[1]=n):n=l[1],l[2]!==n?(o=t(g,{gap:16,align:"start",children:[e(_,{...n,size:"default"}),e(_,{...n,size:"medium"}),e(_,{...n,size:"small"})]}),l[2]=n,l[3]=o):o=l[3],o},meta:E},{name:"Focused",story:{parameters:{pseudo:{focusVisible:!0}}},meta:E},{name:"Disabled",story:{args:{disabled:!0}},meta:E},{name:"WithValue",story:{args:{value:"Some value..."}},meta:E},{name:"WithError",story:{args:{error:!0}},meta:E},{name:"AutoResize",story:t=>{let r,n,o=(0,a.c)(3);return o[0]===Symbol.for("react.memo_cache_sentinel")?(r={width:280},o[0]=r):r=o[0],o[1]!==t?(n=e("div",{style:r,children:e(_,{...t,minRows:1,maxRows:5,placeholder:"Auto-resize: 1 to 5 rows"})}),o[1]=t,o[2]=n):n=o[2],n},meta:E},{name:"WithFooter",story:r=>{let n,o,f,d,p,y,b,R=(0,a.c)(9);R[0]===Symbol.for("react.memo_cache_sentinel")?(n=Array.from({length:6},$),R[0]=n):n=R[0];let v=n;return R[1]===Symbol.for("react.memo_cache_sentinel")?(o={width:480},R[1]=o):o=R[1],R[2]!==r?(f=e(_,{...r,minRows:1,maxRows:3,placeholder:"Ask Wally..."}),R[2]=r,R[3]=f):f=R[3],R[4]===Symbol.for("react.memo_cache_sentinel")?(d=e(h,{children:e(c,{variant:"secondary",size:"small",color:"neutral",children:e(i,{})})}),R[4]=d):d=R[4],R[5]===Symbol.for("react.memo_cache_sentinel")?(p=t(s,{closeOnSelect:!1,children:[d,t(u,{className:"w-304 h-290 overscroll-none",children:[e(m,{className:"sticky top-0 z-50 bg-bg-surface-2",children:"Always allowed in this conversation"}),v.map(D)]})]}),R[5]=p):p=R[5],R[6]===Symbol.for("react.memo_cache_sentinel")?(y=e(S,{align:"block-end",children:t(g,{fullWidth:!0,align:"center",justify:"between",children:[p,e(c,{variant:"primary",color:"brand",size:"small",children:e(l,{})})]})}),R[6]=y):y=R[6],R[7]!==f?(b=e("div",{style:o,children:t(w,{children:[f,y]})}),R[7]=f,R[8]=b):b=R[8],b},meta:E}];function C({entry:e}){let{story:t,meta:r}=e,n={...r.args,...t.args},o="function"==typeof t||t.$$typeof?t:t.render||r.render||r.component,a=()=>N.default.createElement(o,n),l={args:n,globals:{theme:"light"},parameters:{...r.parameters,...t.parameters},viewMode:"story"};for(let e of[...r.decorators||[],...t.decorators||[]].reverse()){let t=a;a=()=>e(t,l)}return N.default.createElement("section",{"data-preview-story":e.name,className:"p-16"},N.default.createElement("h2",{className:"text-sm mb-12"},e.name),N.default.createElement(a))}window.WallarmPreview={mount(e){let t=window.ReactDOM.createRoot(e);return t.render(N.default.createElement(window.WallarmDS.Root,null,k.map((e,t)=>N.default.createElement(C,{key:t,entry:e})))),t}}})();
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
A time typed segment by segment, the companion to `DateInput` — `showTimeDropdown` adds a list of times for when the reader would rather pick than type. It takes React Aria time objects, and hour cycle comes from `DateFormatProvider` app-wide rather than per input.
|
|
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
|
+
| `show-icon` | `boolean \| undefined` | no | `true` | Whether to show the leading icon. Default: true. |
|
|
10
|
+
| `error` | `boolean \| undefined` | no | `false` | Whether the input has an error state. Sets `aria-invalid` and error styling. |
|
|
11
|
+
| `disabled` | `boolean \| undefined` | no | `false` | Whether the input is disabled. Prevents user interaction. |
|
|
12
|
+
| `read-only` | `boolean \| undefined` | no | `false` | Whether the input is read-only. Segments are focusable but not editable. |
|
|
13
|
+
| `placeholder` | `string \| undefined` | no | — | Placeholder shown when no value is selected. |
|
|
14
|
+
| `size` | `TemporalInputSize \| undefined` | no | `default` | Visual size. Default: 'default' (36px). |
|
|
15
|
+
| `title` | `string \| undefined` | no | — | |
|
|
16
|
+
| `default-checked` | `boolean \| undefined` | no | — | |
|
|
17
|
+
| `auto-focus` | `boolean \| undefined` | no | — | |
|
|
18
|
+
| `id` | `string \| undefined` | no | — | |
|
|
19
|
+
| `tab-index` | `number \| undefined` | no | — | |
|
|
20
|
+
| `rel` | `string \| undefined` | no | — | |
|
|
21
|
+
| `data-testid` | `string \| undefined` | no | — | |
|
|
22
|
+
| `value` | `TimeValue \| null \| undefined` | no | — | |
|
|
23
|
+
| `default-value` | `TimeValue \| null \| undefined` | no | — | |
|
|
24
|
+
| `on-change` | `complex` | no | — | |
|
|
25
|
+
| `min-value` | `TimeValue \| undefined` | no | — | |
|
|
26
|
+
| `max-value` | `TimeValue \| undefined` | no | — | |
|
|
27
|
+
| `placeholder-value` | `TimeValue \| undefined` | no | — | |
|
|
28
|
+
| `name` | `string \| undefined` | no | — | |
|
|
29
|
+
| `is-required` | `boolean \| undefined` | no | — | Marks the field as required in assistive tech and HTML form validation. |
|
|
30
|
+
| `show-time-dropdown` | `boolean \| undefined` | no | — | Show dropdown for time selection with arrow navigation. |
|
|
31
|
+
| `time-step` | `number \| undefined` | no | `30` | Time interval in minutes for dropdown options. Default: 30. |
|
|
32
|
+
| `granularity` | `TimeInputGranularity \| undefined` | no | `minute` | Smallest editable unit. - 'hour': hours only - 'minute': hours and minutes (default) - 'second': hours, minutes, and seconds |
|
|
33
|
+
|
|
34
|
+
## Stories
|
|
35
|
+
|
|
36
|
+
### Basic
|
|
37
|
+
|
|
38
|
+
The bare field, behaving exactly like `DateInput`: arrows step a segment, typing fills it and
|
|
39
|
+
advances.
|
|
40
|
+
|
|
41
|
+
Source: TimeInput/TimeInput.stories.tsx#Basic
|
|
42
|
+
|
|
43
|
+
### States
|
|
44
|
+
|
|
45
|
+
Default, disabled and error, matching `DateInput` so a form containing both stays consistent.
|
|
46
|
+
|
|
47
|
+
Source: TimeInput/TimeInput.stories.tsx#States
|
|
48
|
+
|
|
49
|
+
### Icon
|
|
50
|
+
|
|
51
|
+
A clock icon as decoration. It opens nothing on its own — the dropdown is a separate opt-in.
|
|
52
|
+
|
|
53
|
+
Source: TimeInput/TimeInput.stories.tsx#Icon
|
|
54
|
+
|
|
55
|
+
### Sizes
|
|
56
|
+
|
|
57
|
+
The shared height scale, so a time field lines up beside a date field.
|
|
58
|
+
|
|
59
|
+
Source: TimeInput/TimeInput.stories.tsx#Sizes
|
|
60
|
+
|
|
61
|
+
### Filled
|
|
62
|
+
|
|
63
|
+
A held value beside a placeholder, with the clear affordance appearing only once there is a
|
|
64
|
+
value.
|
|
65
|
+
|
|
66
|
+
Source: TimeInput/TimeInput.stories.tsx#Filled
|
|
67
|
+
|
|
68
|
+
### Granularity
|
|
69
|
+
|
|
70
|
+
Hour, minute or second. Drop to `hour` where minutes would imply a precision the system does
|
|
71
|
+
not honour.
|
|
72
|
+
|
|
73
|
+
Source: TimeInput/TimeInput.stories.tsx#Granularity
|
|
74
|
+
|
|
75
|
+
### TimeDropdownSteps
|
|
76
|
+
|
|
77
|
+
`timeStep` sets the spacing of the offered times — fifteen, thirty or sixty minutes. Coarser
|
|
78
|
+
steps make the list scannable; the reader can still type an exact time.
|
|
79
|
+
|
|
80
|
+
Source: TimeInput/TimeInput.stories.tsx#TimeDropdownSteps
|
|
81
|
+
|
|
82
|
+
### ReadOnly
|
|
83
|
+
|
|
84
|
+
Value legible, every edit affordance gone, as on `DateInput`.
|
|
85
|
+
|
|
86
|
+
Source: TimeInput/TimeInput.stories.tsx#ReadOnly
|
|
87
|
+
|
|
88
|
+
## Story sources
|
|
89
|
+
|
|
90
|
+
### TimeInput/TimeInput.stories.tsx
|
|
91
|
+
|
|
92
|
+
```tsx
|
|
93
|
+
import type { Meta, StoryFn } from 'storybook-react-rsbuild';
|
|
94
|
+
import { Time } from '../../index';
|
|
95
|
+
import { DateFormatProvider } from '../DateFormatProvider';
|
|
96
|
+
import { HStack, VStack } from '../Stack';
|
|
97
|
+
import { TimeInput } from './TimeInput';
|
|
98
|
+
|
|
99
|
+
const DESCRIPTION = [
|
|
100
|
+
'A time typed segment by segment, the companion to `DateInput` — `showTimeDropdown` adds a list of times for when the reader would rather pick than type.',
|
|
101
|
+
'It takes React Aria time objects, and hour cycle comes from `DateFormatProvider` app-wide rather than per input.',
|
|
102
|
+
].join(' ');
|
|
103
|
+
|
|
104
|
+
const meta: Meta<typeof TimeInput> = {
|
|
105
|
+
title: 'Inputs Date/TimeInput',
|
|
106
|
+
component: TimeInput,
|
|
107
|
+
parameters: {
|
|
108
|
+
layout: 'centered',
|
|
109
|
+
docs: {
|
|
110
|
+
description: {
|
|
111
|
+
component: DESCRIPTION,
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
argTypes: {
|
|
116
|
+
granularity: {
|
|
117
|
+
control: 'select',
|
|
118
|
+
options: ['hour', 'minute', 'second'],
|
|
119
|
+
description: 'Determines the smallest unit of time that can be edited.',
|
|
120
|
+
},
|
|
121
|
+
error: {
|
|
122
|
+
control: 'boolean',
|
|
123
|
+
description: 'Whether the input has an error state.',
|
|
124
|
+
},
|
|
125
|
+
disabled: {
|
|
126
|
+
control: 'boolean',
|
|
127
|
+
description: 'Whether the input is disabled.',
|
|
128
|
+
},
|
|
129
|
+
readOnly: {
|
|
130
|
+
control: 'boolean',
|
|
131
|
+
description: 'Whether the input is read-only. Displays value but prevents editing.',
|
|
132
|
+
},
|
|
133
|
+
placeholder: {
|
|
134
|
+
control: 'text',
|
|
135
|
+
description: 'Placeholder text shown when no value is selected.',
|
|
136
|
+
},
|
|
137
|
+
showIcon: {
|
|
138
|
+
control: 'boolean',
|
|
139
|
+
description: 'Whether to show the leading clock icon. Default: true.',
|
|
140
|
+
},
|
|
141
|
+
showTimeDropdown: {
|
|
142
|
+
control: 'boolean',
|
|
143
|
+
description: 'Show dropdown for time selection with arrow navigation.',
|
|
144
|
+
},
|
|
145
|
+
timeStep: {
|
|
146
|
+
control: 'number',
|
|
147
|
+
description: 'Time interval in minutes for dropdown options.',
|
|
148
|
+
},
|
|
149
|
+
size: {
|
|
150
|
+
control: 'select',
|
|
151
|
+
options: ['default', 'medium', 'small'],
|
|
152
|
+
description: 'Visual size: default (36px), medium (32px), small (24px).',
|
|
153
|
+
},
|
|
154
|
+
},
|
|
155
|
+
args: {
|
|
156
|
+
granularity: 'minute',
|
|
157
|
+
error: false,
|
|
158
|
+
disabled: false,
|
|
159
|
+
readOnly: false,
|
|
160
|
+
showIcon: true,
|
|
161
|
+
size: 'default',
|
|
162
|
+
},
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
export default meta;
|
|
166
|
+
|
|
167
|
+
const dropdownRoom: StoryFn<typeof meta>['decorators'] = [
|
|
168
|
+
Story => (
|
|
169
|
+
<div style={{ minHeight: 360, paddingBottom: 280 }}>
|
|
170
|
+
<Story />
|
|
171
|
+
</div>
|
|
172
|
+
),
|
|
173
|
+
];
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* The bare field, behaving exactly like `DateInput`: arrows step a segment, typing fills it and
|
|
177
|
+
* advances.
|
|
178
|
+
*/
|
|
179
|
+
export const Basic: StoryFn<typeof meta> = ({ ...args }) => {
|
|
180
|
+
return <TimeInput {...args} />;
|
|
181
|
+
};
|
|
182
|
+
Basic.decorators = dropdownRoom;
|
|
183
|
+
Basic.parameters = { layout: 'padded' };
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Default, disabled and error, matching `DateInput` so a form containing both stays consistent.
|
|
187
|
+
*/
|
|
188
|
+
export const States: StoryFn<typeof meta> = () => (
|
|
189
|
+
<HStack gap={24}>
|
|
190
|
+
<VStack gap={12}>
|
|
191
|
+
<span className='sb-annotation'>Default</span>
|
|
192
|
+
<TimeInput />
|
|
193
|
+
<TimeInput defaultValue={new Time(22, 0)} />
|
|
194
|
+
</VStack>
|
|
195
|
+
<VStack gap={12}>
|
|
196
|
+
<span className='sb-annotation'>Disabled</span>
|
|
197
|
+
<TimeInput disabled />
|
|
198
|
+
<TimeInput disabled defaultValue={new Time(14, 30)} />
|
|
199
|
+
</VStack>
|
|
200
|
+
<VStack gap={12}>
|
|
201
|
+
<span className='sb-annotation'>Error</span>
|
|
202
|
+
<TimeInput error />
|
|
203
|
+
<TimeInput error defaultValue={new Time(14, 30)} />
|
|
204
|
+
</VStack>
|
|
205
|
+
</HStack>
|
|
206
|
+
);
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* A clock icon as decoration. It opens nothing on its own — the dropdown is a separate opt-in.
|
|
210
|
+
*/
|
|
211
|
+
export const Icon: StoryFn<typeof meta> = () => (
|
|
212
|
+
<HStack gap={24}>
|
|
213
|
+
<VStack gap={12}>
|
|
214
|
+
<span className='sb-annotation'>With icon</span>
|
|
215
|
+
<TimeInput showIcon />
|
|
216
|
+
<TimeInput showIcon defaultValue={new Time(22, 0)} />
|
|
217
|
+
</VStack>
|
|
218
|
+
<VStack gap={12}>
|
|
219
|
+
<span className='sb-annotation'>Without icon</span>
|
|
220
|
+
<TimeInput showIcon={false} />
|
|
221
|
+
<TimeInput showIcon={false} defaultValue={new Time(22, 0)} />
|
|
222
|
+
</VStack>
|
|
223
|
+
</HStack>
|
|
224
|
+
);
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* The shared height scale, so a time field lines up beside a date field.
|
|
228
|
+
*/
|
|
229
|
+
export const Sizes: StoryFn<typeof meta> = () => (
|
|
230
|
+
<HStack gap={24}>
|
|
231
|
+
<VStack gap={16}>
|
|
232
|
+
<VStack gap={4}>
|
|
233
|
+
<span className='sb-annotation'>Default (36px)</span>
|
|
234
|
+
<TimeInput size='default' />
|
|
235
|
+
</VStack>
|
|
236
|
+
<VStack gap={4}>
|
|
237
|
+
<span className='sb-annotation'>Medium (32px)</span>
|
|
238
|
+
<TimeInput size='medium' />
|
|
239
|
+
</VStack>
|
|
240
|
+
<VStack gap={4}>
|
|
241
|
+
<span className='sb-annotation'>Small (24px)</span>
|
|
242
|
+
<TimeInput size='small' />
|
|
243
|
+
</VStack>
|
|
244
|
+
</VStack>
|
|
245
|
+
<VStack gap={16}>
|
|
246
|
+
<VStack gap={4}>
|
|
247
|
+
<span className='sb-annotation'>Default filled</span>
|
|
248
|
+
<TimeInput size='default' defaultValue={new Time(22, 0)} />
|
|
249
|
+
</VStack>
|
|
250
|
+
<VStack gap={4}>
|
|
251
|
+
<span className='sb-annotation'>Medium filled</span>
|
|
252
|
+
<TimeInput size='medium' defaultValue={new Time(22, 0)} />
|
|
253
|
+
</VStack>
|
|
254
|
+
<VStack gap={4}>
|
|
255
|
+
<span className='sb-annotation'>Small filled</span>
|
|
256
|
+
<TimeInput size='small' defaultValue={new Time(22, 0)} />
|
|
257
|
+
</VStack>
|
|
258
|
+
</VStack>
|
|
259
|
+
</HStack>
|
|
260
|
+
);
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* A held value beside a placeholder, with the clear affordance appearing only once there is a
|
|
264
|
+
* value.
|
|
265
|
+
*/
|
|
266
|
+
export const Filled: StoryFn<typeof meta> = () => (
|
|
267
|
+
<VStack gap={16}>
|
|
268
|
+
<DateFormatProvider order='day-first' hourCycle={24}>
|
|
269
|
+
<VStack gap={4}>
|
|
270
|
+
<span className='sb-annotation'>24-hour</span>
|
|
271
|
+
<TimeInput defaultValue={new Time(22, 0)} />
|
|
272
|
+
</VStack>
|
|
273
|
+
</DateFormatProvider>
|
|
274
|
+
<DateFormatProvider order='day-first' hourCycle={12}>
|
|
275
|
+
<VStack gap={4}>
|
|
276
|
+
<span className='sb-annotation'>12-hour</span>
|
|
277
|
+
<TimeInput defaultValue={new Time(22, 0)} />
|
|
278
|
+
</VStack>
|
|
279
|
+
</DateFormatProvider>
|
|
280
|
+
</VStack>
|
|
281
|
+
);
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Hour, minute or second. Drop to `hour` where minutes would imply a precision the system does
|
|
285
|
+
* not honour.
|
|
286
|
+
*/
|
|
287
|
+
export const Granularity: StoryFn<typeof meta> = () => (
|
|
288
|
+
<HStack gap={24}>
|
|
289
|
+
<DateFormatProvider order='day-first' hourCycle={12}>
|
|
290
|
+
<VStack gap={12}>
|
|
291
|
+
<span className='sb-annotation'>12-hour format</span>
|
|
292
|
+
<TimeInput placeholder='hour' granularity='hour' />
|
|
293
|
+
<TimeInput placeholder='hour:min' granularity='minute' />
|
|
294
|
+
<TimeInput placeholder='hour:min:sec' granularity='second' />
|
|
295
|
+
</VStack>
|
|
296
|
+
</DateFormatProvider>
|
|
297
|
+
<DateFormatProvider order='day-first' hourCycle={24}>
|
|
298
|
+
<VStack gap={12}>
|
|
299
|
+
<span className='sb-annotation'>24-hour format</span>
|
|
300
|
+
<TimeInput placeholder='hour' granularity='hour' />
|
|
301
|
+
<TimeInput placeholder='hour:min' granularity='minute' />
|
|
302
|
+
<TimeInput placeholder='hour:min:sec' granularity='second' />
|
|
303
|
+
</VStack>
|
|
304
|
+
</DateFormatProvider>
|
|
305
|
+
</HStack>
|
|
306
|
+
);
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* `timeStep` sets the spacing of the offered times — fifteen, thirty or sixty minutes. Coarser
|
|
310
|
+
* steps make the list scannable; the reader can still type an exact time.
|
|
311
|
+
*/
|
|
312
|
+
export const TimeDropdownSteps: StoryFn<typeof meta> = () => (
|
|
313
|
+
<HStack gap={24}>
|
|
314
|
+
<DateFormatProvider order='day-first' hourCycle={12}>
|
|
315
|
+
<VStack gap={12}>
|
|
316
|
+
<span className='sb-annotation'>12-hour format</span>
|
|
317
|
+
<TimeInput placeholder='Every 15 min' showTimeDropdown timeStep={15} />
|
|
318
|
+
<TimeInput placeholder='Every 30 min' showTimeDropdown timeStep={30} />
|
|
319
|
+
<TimeInput placeholder='Every 60 min' showTimeDropdown timeStep={60} />
|
|
320
|
+
</VStack>
|
|
321
|
+
</DateFormatProvider>
|
|
322
|
+
<DateFormatProvider order='day-first' hourCycle={24}>
|
|
323
|
+
<VStack gap={12}>
|
|
324
|
+
<span className='sb-annotation'>24-hour format</span>
|
|
325
|
+
<TimeInput placeholder='Every 15 min' showTimeDropdown timeStep={15} />
|
|
326
|
+
<TimeInput placeholder='Every 30 min' showTimeDropdown timeStep={30} />
|
|
327
|
+
<TimeInput placeholder='Every 60 min' showTimeDropdown timeStep={60} />
|
|
328
|
+
</VStack>
|
|
329
|
+
</DateFormatProvider>
|
|
330
|
+
</HStack>
|
|
331
|
+
);
|
|
332
|
+
TimeDropdownSteps.decorators = dropdownRoom;
|
|
333
|
+
TimeDropdownSteps.parameters = { layout: 'padded' };
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* Value legible, every edit affordance gone, as on `DateInput`.
|
|
337
|
+
*/
|
|
338
|
+
export const ReadOnly: StoryFn<typeof meta> = () => (
|
|
339
|
+
<HStack gap={24}>
|
|
340
|
+
<VStack gap={12}>
|
|
341
|
+
<span className='sb-annotation'>Locale</span>
|
|
342
|
+
<TimeInput readOnly defaultValue={new Time(22, 0)} data-testid='time-input-read-only' />
|
|
343
|
+
</VStack>
|
|
344
|
+
<DateFormatProvider order='day-first' hourCycle={12}>
|
|
345
|
+
<VStack gap={12}>
|
|
346
|
+
<span className='sb-annotation'>12-hour</span>
|
|
347
|
+
<TimeInput readOnly defaultValue={new Time(22, 0)} data-testid='time-input-read-only-12h' />
|
|
348
|
+
</VStack>
|
|
349
|
+
</DateFormatProvider>
|
|
350
|
+
<DateFormatProvider order='day-first' hourCycle={24}>
|
|
351
|
+
<VStack gap={12}>
|
|
352
|
+
<span className='sb-annotation'>24-hour</span>
|
|
353
|
+
<TimeInput readOnly defaultValue={new Time(22, 0)} data-testid='time-input-read-only-24h' />
|
|
354
|
+
</VStack>
|
|
355
|
+
</DateFormatProvider>
|
|
356
|
+
</HStack>
|
|
357
|
+
);
|
|
358
|
+
ReadOnly.parameters = { layout: 'padded' };
|
|
359
|
+
```
|