@tenstorrent/vesper 0.1.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/LICENSE +21 -0
- package/README.md +167 -0
- package/dist/components/accordion/accordion.css +1 -0
- package/dist/components/accordion/accordion.d.ts +33 -0
- package/dist/components/accordion/accordion.d.ts.map +1 -0
- package/dist/components/accordion/accordion.js +30 -0
- package/dist/components/accordion/accordion.js.map +1 -0
- package/dist/components/admonition/admonition.css +1 -0
- package/dist/components/admonition/admonition.d.ts +49 -0
- package/dist/components/admonition/admonition.d.ts.map +1 -0
- package/dist/components/admonition/admonition.js +47 -0
- package/dist/components/admonition/admonition.js.map +1 -0
- package/dist/components/avatar/avatar.css +1 -0
- package/dist/components/avatar/avatar.d.ts +30 -0
- package/dist/components/avatar/avatar.d.ts.map +1 -0
- package/dist/components/avatar/avatar.js +24 -0
- package/dist/components/avatar/avatar.js.map +1 -0
- package/dist/components/avatar-group/avatar-group.css +1 -0
- package/dist/components/avatar-group/avatar-group.d.ts +36 -0
- package/dist/components/avatar-group/avatar-group.d.ts.map +1 -0
- package/dist/components/avatar-group/avatar-group.js +30 -0
- package/dist/components/avatar-group/avatar-group.js.map +1 -0
- package/dist/components/badge/badge.css +1 -0
- package/dist/components/badge/badge.d.ts +42 -0
- package/dist/components/badge/badge.d.ts.map +1 -0
- package/dist/components/badge/badge.js +49 -0
- package/dist/components/badge/badge.js.map +1 -0
- package/dist/components/button/button.css +1 -0
- package/dist/components/button/button.d.ts +51 -0
- package/dist/components/button/button.d.ts.map +1 -0
- package/dist/components/button/button.js +49 -0
- package/dist/components/button/button.js.map +1 -0
- package/dist/components/checkbox/checkbox.css +1 -0
- package/dist/components/checkbox/checkbox.d.ts +53 -0
- package/dist/components/checkbox/checkbox.d.ts.map +1 -0
- package/dist/components/checkbox/checkbox.js +65 -0
- package/dist/components/checkbox/checkbox.js.map +1 -0
- package/dist/components/chip/chip.css +1 -0
- package/dist/components/chip/chip.d.ts +53 -0
- package/dist/components/chip/chip.d.ts.map +1 -0
- package/dist/components/chip/chip.js +51 -0
- package/dist/components/chip/chip.js.map +1 -0
- package/dist/components/choicebox/choicebox.css +1 -0
- package/dist/components/choicebox/choicebox.d.ts +90 -0
- package/dist/components/choicebox/choicebox.d.ts.map +1 -0
- package/dist/components/choicebox/choicebox.js +131 -0
- package/dist/components/choicebox/choicebox.js.map +1 -0
- package/dist/components/code/code.css +1 -0
- package/dist/components/code/code.d.ts +23 -0
- package/dist/components/code/code.d.ts.map +1 -0
- package/dist/components/code/code.js +23 -0
- package/dist/components/code/code.js.map +1 -0
- package/dist/components/code-block/code-block.css +1 -0
- package/dist/components/code-block/code-block.d.ts +48 -0
- package/dist/components/code-block/code-block.d.ts.map +1 -0
- package/dist/components/code-block/code-block.js +36 -0
- package/dist/components/code-block/code-block.js.map +1 -0
- package/dist/components/code-block/components.d.ts +4 -0
- package/dist/components/code-block/components.d.ts.map +1 -0
- package/dist/components/code-block/components.js +27 -0
- package/dist/components/code-block/components.js.map +1 -0
- package/dist/components/code-block/fixtures.d.ts +12 -0
- package/dist/components/code-block/fixtures.d.ts.map +1 -0
- package/dist/components/code-block/fixtures.js +491 -0
- package/dist/components/code-block/fixtures.js.map +1 -0
- package/dist/components/code-block/streaming-code-block.d.ts +5 -0
- package/dist/components/code-block/streaming-code-block.d.ts.map +1 -0
- package/dist/components/code-block/streaming-code-block.js +92 -0
- package/dist/components/code-block/streaming-code-block.js.map +1 -0
- package/dist/components/code-block/themes.d.ts +16 -0
- package/dist/components/code-block/themes.d.ts.map +1 -0
- package/dist/components/code-block/themes.js +2836 -0
- package/dist/components/code-block/themes.js.map +1 -0
- package/dist/components/code-block/utils.d.ts +7 -0
- package/dist/components/code-block/utils.d.ts.map +1 -0
- package/dist/components/code-block/utils.js +42 -0
- package/dist/components/code-block/utils.js.map +1 -0
- package/dist/components/combobox/combobox.css +1 -0
- package/dist/components/combobox/combobox.d.ts +106 -0
- package/dist/components/combobox/combobox.d.ts.map +1 -0
- package/dist/components/combobox/combobox.js +93 -0
- package/dist/components/combobox/combobox.js.map +1 -0
- package/dist/components/form-input-message/form-input-message.css +1 -0
- package/dist/components/form-input-message/form-input-message.d.ts +35 -0
- package/dist/components/form-input-message/form-input-message.d.ts.map +1 -0
- package/dist/components/form-input-message/form-input-message.js +38 -0
- package/dist/components/form-input-message/form-input-message.js.map +1 -0
- package/dist/components/icon-button/icon-button.css +1 -0
- package/dist/components/icon-button/icon-button.d.ts +38 -0
- package/dist/components/icon-button/icon-button.d.ts.map +1 -0
- package/dist/components/icon-button/icon-button.js +31 -0
- package/dist/components/icon-button/icon-button.js.map +1 -0
- package/dist/components/icons/add.d.ts +3 -0
- package/dist/components/icons/add.d.ts.map +1 -0
- package/dist/components/icons/add.js +5 -0
- package/dist/components/icons/add.js.map +1 -0
- package/dist/components/icons/ai-agent-solid.d.ts +3 -0
- package/dist/components/icons/ai-agent-solid.d.ts.map +1 -0
- package/dist/components/icons/ai-agent-solid.js +5 -0
- package/dist/components/icons/ai-agent-solid.js.map +1 -0
- package/dist/components/icons/ai-agent.d.ts +3 -0
- package/dist/components/icons/ai-agent.d.ts.map +1 -0
- package/dist/components/icons/ai-agent.js +5 -0
- package/dist/components/icons/ai-agent.js.map +1 -0
- package/dist/components/icons/ai-data.d.ts +3 -0
- package/dist/components/icons/ai-data.d.ts.map +1 -0
- package/dist/components/icons/ai-data.js +5 -0
- package/dist/components/icons/ai-data.js.map +1 -0
- package/dist/components/icons/ai-model.d.ts +3 -0
- package/dist/components/icons/ai-model.d.ts.map +1 -0
- package/dist/components/icons/ai-model.js +5 -0
- package/dist/components/icons/ai-model.js.map +1 -0
- package/dist/components/icons/ai-task.d.ts +3 -0
- package/dist/components/icons/ai-task.d.ts.map +1 -0
- package/dist/components/icons/ai-task.js +5 -0
- package/dist/components/icons/ai-task.js.map +1 -0
- package/dist/components/icons/ai-video-gen.d.ts +3 -0
- package/dist/components/icons/ai-video-gen.d.ts.map +1 -0
- package/dist/components/icons/ai-video-gen.js +5 -0
- package/dist/components/icons/ai-video-gen.js.map +1 -0
- package/dist/components/icons/ai.d.ts +3 -0
- package/dist/components/icons/ai.d.ts.map +1 -0
- package/dist/components/icons/ai.js +5 -0
- package/dist/components/icons/ai.js.map +1 -0
- package/dist/components/icons/arrow-down.d.ts +3 -0
- package/dist/components/icons/arrow-down.d.ts.map +1 -0
- package/dist/components/icons/arrow-down.js +5 -0
- package/dist/components/icons/arrow-down.js.map +1 -0
- package/dist/components/icons/arrow-left.d.ts +3 -0
- package/dist/components/icons/arrow-left.d.ts.map +1 -0
- package/dist/components/icons/arrow-left.js +5 -0
- package/dist/components/icons/arrow-left.js.map +1 -0
- package/dist/components/icons/arrow-right.d.ts +3 -0
- package/dist/components/icons/arrow-right.d.ts.map +1 -0
- package/dist/components/icons/arrow-right.js +5 -0
- package/dist/components/icons/arrow-right.js.map +1 -0
- package/dist/components/icons/arrow-up-left.d.ts +3 -0
- package/dist/components/icons/arrow-up-left.d.ts.map +1 -0
- package/dist/components/icons/arrow-up-left.js +5 -0
- package/dist/components/icons/arrow-up-left.js.map +1 -0
- package/dist/components/icons/arrow-up-right.d.ts +3 -0
- package/dist/components/icons/arrow-up-right.d.ts.map +1 -0
- package/dist/components/icons/arrow-up-right.js +5 -0
- package/dist/components/icons/arrow-up-right.js.map +1 -0
- package/dist/components/icons/arrow-up.d.ts +3 -0
- package/dist/components/icons/arrow-up.d.ts.map +1 -0
- package/dist/components/icons/arrow-up.js +5 -0
- package/dist/components/icons/arrow-up.js.map +1 -0
- package/dist/components/icons/auto.d.ts +3 -0
- package/dist/components/icons/auto.d.ts.map +1 -0
- package/dist/components/icons/auto.js +5 -0
- package/dist/components/icons/auto.js.map +1 -0
- package/dist/components/icons/blackhole.d.ts +3 -0
- package/dist/components/icons/blackhole.d.ts.map +1 -0
- package/dist/components/icons/blackhole.js +5 -0
- package/dist/components/icons/blackhole.js.map +1 -0
- package/dist/components/icons/board.d.ts +3 -0
- package/dist/components/icons/board.d.ts.map +1 -0
- package/dist/components/icons/board.js +5 -0
- package/dist/components/icons/board.js.map +1 -0
- package/dist/components/icons/bolt.d.ts +3 -0
- package/dist/components/icons/bolt.d.ts.map +1 -0
- package/dist/components/icons/bolt.js +5 -0
- package/dist/components/icons/bolt.js.map +1 -0
- package/dist/components/icons/bug.d.ts +3 -0
- package/dist/components/icons/bug.d.ts.map +1 -0
- package/dist/components/icons/bug.js +5 -0
- package/dist/components/icons/bug.js.map +1 -0
- package/dist/components/icons/caret-down.d.ts +3 -0
- package/dist/components/icons/caret-down.d.ts.map +1 -0
- package/dist/components/icons/caret-down.js +5 -0
- package/dist/components/icons/caret-down.js.map +1 -0
- package/dist/components/icons/caret-left.d.ts +3 -0
- package/dist/components/icons/caret-left.d.ts.map +1 -0
- package/dist/components/icons/caret-left.js +5 -0
- package/dist/components/icons/caret-left.js.map +1 -0
- package/dist/components/icons/caret-right.d.ts +3 -0
- package/dist/components/icons/caret-right.d.ts.map +1 -0
- package/dist/components/icons/caret-right.js +5 -0
- package/dist/components/icons/caret-right.js.map +1 -0
- package/dist/components/icons/caret-up.d.ts +3 -0
- package/dist/components/icons/caret-up.d.ts.map +1 -0
- package/dist/components/icons/caret-up.js +5 -0
- package/dist/components/icons/caret-up.js.map +1 -0
- package/dist/components/icons/cart.d.ts +3 -0
- package/dist/components/icons/cart.d.ts.map +1 -0
- package/dist/components/icons/cart.js +5 -0
- package/dist/components/icons/cart.js.map +1 -0
- package/dist/components/icons/chat-solid.d.ts +3 -0
- package/dist/components/icons/chat-solid.d.ts.map +1 -0
- package/dist/components/icons/chat-solid.js +5 -0
- package/dist/components/icons/chat-solid.js.map +1 -0
- package/dist/components/icons/chat.d.ts +3 -0
- package/dist/components/icons/chat.d.ts.map +1 -0
- package/dist/components/icons/chat.js +5 -0
- package/dist/components/icons/chat.js.map +1 -0
- package/dist/components/icons/checkmark.d.ts +3 -0
- package/dist/components/icons/checkmark.d.ts.map +1 -0
- package/dist/components/icons/checkmark.js +5 -0
- package/dist/components/icons/checkmark.js.map +1 -0
- package/dist/components/icons/chip.d.ts +3 -0
- package/dist/components/icons/chip.d.ts.map +1 -0
- package/dist/components/icons/chip.js +5 -0
- package/dist/components/icons/chip.js.map +1 -0
- package/dist/components/icons/circle-add-solid.d.ts +3 -0
- package/dist/components/icons/circle-add-solid.d.ts.map +1 -0
- package/dist/components/icons/circle-add-solid.js +5 -0
- package/dist/components/icons/circle-add-solid.js.map +1 -0
- package/dist/components/icons/circle-add.d.ts +3 -0
- package/dist/components/icons/circle-add.d.ts.map +1 -0
- package/dist/components/icons/circle-add.js +5 -0
- package/dist/components/icons/circle-add.js.map +1 -0
- package/dist/components/icons/circle-x-solid.d.ts +3 -0
- package/dist/components/icons/circle-x-solid.d.ts.map +1 -0
- package/dist/components/icons/circle-x-solid.js +5 -0
- package/dist/components/icons/circle-x-solid.js.map +1 -0
- package/dist/components/icons/circle-x.d.ts +3 -0
- package/dist/components/icons/circle-x.d.ts.map +1 -0
- package/dist/components/icons/circle-x.js +5 -0
- package/dist/components/icons/circle-x.js.map +1 -0
- package/dist/components/icons/clock-countdown.d.ts +3 -0
- package/dist/components/icons/clock-countdown.d.ts.map +1 -0
- package/dist/components/icons/clock-countdown.js +5 -0
- package/dist/components/icons/clock-countdown.js.map +1 -0
- package/dist/components/icons/clock-counter-clockwise.d.ts +3 -0
- package/dist/components/icons/clock-counter-clockwise.d.ts.map +1 -0
- package/dist/components/icons/clock-counter-clockwise.js +5 -0
- package/dist/components/icons/clock-counter-clockwise.js.map +1 -0
- package/dist/components/icons/clock.d.ts +3 -0
- package/dist/components/icons/clock.d.ts.map +1 -0
- package/dist/components/icons/clock.js +5 -0
- package/dist/components/icons/clock.js.map +1 -0
- package/dist/components/icons/close-panel.d.ts +3 -0
- package/dist/components/icons/close-panel.d.ts.map +1 -0
- package/dist/components/icons/close-panel.js +5 -0
- package/dist/components/icons/close-panel.js.map +1 -0
- package/dist/components/icons/close.d.ts +3 -0
- package/dist/components/icons/close.d.ts.map +1 -0
- package/dist/components/icons/close.js +5 -0
- package/dist/components/icons/close.js.map +1 -0
- package/dist/components/icons/cloud-server-solid.d.ts +3 -0
- package/dist/components/icons/cloud-server-solid.d.ts.map +1 -0
- package/dist/components/icons/cloud-server-solid.js +5 -0
- package/dist/components/icons/cloud-server-solid.js.map +1 -0
- package/dist/components/icons/cloud-server.d.ts +3 -0
- package/dist/components/icons/cloud-server.d.ts.map +1 -0
- package/dist/components/icons/cloud-server.js +5 -0
- package/dist/components/icons/cloud-server.js.map +1 -0
- package/dist/components/icons/constants.d.ts +3 -0
- package/dist/components/icons/constants.d.ts.map +1 -0
- package/dist/components/icons/constants.js +137 -0
- package/dist/components/icons/constants.js.map +1 -0
- package/dist/components/icons/copy.d.ts +3 -0
- package/dist/components/icons/copy.d.ts.map +1 -0
- package/dist/components/icons/copy.js +5 -0
- package/dist/components/icons/copy.js.map +1 -0
- package/dist/components/icons/document-solid.d.ts +3 -0
- package/dist/components/icons/document-solid.d.ts.map +1 -0
- package/dist/components/icons/document-solid.js +5 -0
- package/dist/components/icons/document-solid.js.map +1 -0
- package/dist/components/icons/document.d.ts +3 -0
- package/dist/components/icons/document.d.ts.map +1 -0
- package/dist/components/icons/document.js +5 -0
- package/dist/components/icons/document.js.map +1 -0
- package/dist/components/icons/download.d.ts +3 -0
- package/dist/components/icons/download.d.ts.map +1 -0
- package/dist/components/icons/download.js +5 -0
- package/dist/components/icons/download.js.map +1 -0
- package/dist/components/icons/ellipses.d.ts +3 -0
- package/dist/components/icons/ellipses.d.ts.map +1 -0
- package/dist/components/icons/ellipses.js +5 -0
- package/dist/components/icons/ellipses.js.map +1 -0
- package/dist/components/icons/error-solid.d.ts +3 -0
- package/dist/components/icons/error-solid.d.ts.map +1 -0
- package/dist/components/icons/error-solid.js +5 -0
- package/dist/components/icons/error-solid.js.map +1 -0
- package/dist/components/icons/error.d.ts +3 -0
- package/dist/components/icons/error.d.ts.map +1 -0
- package/dist/components/icons/error.js +5 -0
- package/dist/components/icons/error.js.map +1 -0
- package/dist/components/icons/eye-slash.d.ts +3 -0
- package/dist/components/icons/eye-slash.d.ts.map +1 -0
- package/dist/components/icons/eye-slash.js +5 -0
- package/dist/components/icons/eye-slash.js.map +1 -0
- package/dist/components/icons/eye.d.ts +3 -0
- package/dist/components/icons/eye.d.ts.map +1 -0
- package/dist/components/icons/eye.js +5 -0
- package/dist/components/icons/eye.js.map +1 -0
- package/dist/components/icons/folder.d.ts +3 -0
- package/dist/components/icons/folder.d.ts.map +1 -0
- package/dist/components/icons/folder.js +5 -0
- package/dist/components/icons/folder.js.map +1 -0
- package/dist/components/icons/galaxy-rack.d.ts +3 -0
- package/dist/components/icons/galaxy-rack.d.ts.map +1 -0
- package/dist/components/icons/galaxy-rack.js +5 -0
- package/dist/components/icons/galaxy-rack.js.map +1 -0
- package/dist/components/icons/galaxy.d.ts +3 -0
- package/dist/components/icons/galaxy.d.ts.map +1 -0
- package/dist/components/icons/galaxy.js +5 -0
- package/dist/components/icons/galaxy.js.map +1 -0
- package/dist/components/icons/gear-solid.d.ts +3 -0
- package/dist/components/icons/gear-solid.d.ts.map +1 -0
- package/dist/components/icons/gear-solid.js +5 -0
- package/dist/components/icons/gear-solid.js.map +1 -0
- package/dist/components/icons/gear.d.ts +3 -0
- package/dist/components/icons/gear.d.ts.map +1 -0
- package/dist/components/icons/gear.js +5 -0
- package/dist/components/icons/gear.js.map +1 -0
- package/dist/components/icons/globe.d.ts +3 -0
- package/dist/components/icons/globe.d.ts.map +1 -0
- package/dist/components/icons/globe.js +5 -0
- package/dist/components/icons/globe.js.map +1 -0
- package/dist/components/icons/grid.d.ts +3 -0
- package/dist/components/icons/grid.d.ts.map +1 -0
- package/dist/components/icons/grid.js +5 -0
- package/dist/components/icons/grid.js.map +1 -0
- package/dist/components/icons/icon.d.ts +7 -0
- package/dist/components/icons/icon.d.ts.map +1 -0
- package/dist/components/icons/icon.js +9 -0
- package/dist/components/icons/icon.js.map +1 -0
- package/dist/components/icons/icons.d.ts +131 -0
- package/dist/components/icons/icons.d.ts.map +1 -0
- package/dist/components/icons/icons.js +137 -0
- package/dist/components/icons/icons.js.map +1 -0
- package/dist/components/icons/info-solid.d.ts +3 -0
- package/dist/components/icons/info-solid.d.ts.map +1 -0
- package/dist/components/icons/info-solid.js +5 -0
- package/dist/components/icons/info-solid.js.map +1 -0
- package/dist/components/icons/info.d.ts +3 -0
- package/dist/components/icons/info.d.ts.map +1 -0
- package/dist/components/icons/info.js +5 -0
- package/dist/components/icons/info.js.map +1 -0
- package/dist/components/icons/link.d.ts +3 -0
- package/dist/components/icons/link.d.ts.map +1 -0
- package/dist/components/icons/link.js +5 -0
- package/dist/components/icons/link.js.map +1 -0
- package/dist/components/icons/list.d.ts +3 -0
- package/dist/components/icons/list.d.ts.map +1 -0
- package/dist/components/icons/list.js +5 -0
- package/dist/components/icons/list.js.map +1 -0
- package/dist/components/icons/location.d.ts +3 -0
- package/dist/components/icons/location.d.ts.map +1 -0
- package/dist/components/icons/location.js +5 -0
- package/dist/components/icons/location.js.map +1 -0
- package/dist/components/icons/lock-fill.d.ts +3 -0
- package/dist/components/icons/lock-fill.d.ts.map +1 -0
- package/dist/components/icons/lock-fill.js +5 -0
- package/dist/components/icons/lock-fill.js.map +1 -0
- package/dist/components/icons/lock.d.ts +3 -0
- package/dist/components/icons/lock.d.ts.map +1 -0
- package/dist/components/icons/lock.js +5 -0
- package/dist/components/icons/lock.js.map +1 -0
- package/dist/components/icons/loudbox.d.ts +3 -0
- package/dist/components/icons/loudbox.d.ts.map +1 -0
- package/dist/components/icons/loudbox.js +5 -0
- package/dist/components/icons/loudbox.js.map +1 -0
- package/dist/components/icons/menu.d.ts +3 -0
- package/dist/components/icons/menu.d.ts.map +1 -0
- package/dist/components/icons/menu.js +5 -0
- package/dist/components/icons/menu.js.map +1 -0
- package/dist/components/icons/microphone.d.ts +3 -0
- package/dist/components/icons/microphone.d.ts.map +1 -0
- package/dist/components/icons/microphone.js +5 -0
- package/dist/components/icons/microphone.js.map +1 -0
- package/dist/components/icons/minus.d.ts +3 -0
- package/dist/components/icons/minus.d.ts.map +1 -0
- package/dist/components/icons/minus.js +5 -0
- package/dist/components/icons/minus.js.map +1 -0
- package/dist/components/icons/mode-dark.d.ts +3 -0
- package/dist/components/icons/mode-dark.d.ts.map +1 -0
- package/dist/components/icons/mode-dark.js +5 -0
- package/dist/components/icons/mode-dark.js.map +1 -0
- package/dist/components/icons/mode-light.d.ts +3 -0
- package/dist/components/icons/mode-light.d.ts.map +1 -0
- package/dist/components/icons/mode-light.js +5 -0
- package/dist/components/icons/mode-light.js.map +1 -0
- package/dist/components/icons/mode-system.d.ts +3 -0
- package/dist/components/icons/mode-system.d.ts.map +1 -0
- package/dist/components/icons/mode-system.js +5 -0
- package/dist/components/icons/mode-system.js.map +1 -0
- package/dist/components/icons/model-deepseek-color.d.ts +3 -0
- package/dist/components/icons/model-deepseek-color.d.ts.map +1 -0
- package/dist/components/icons/model-deepseek-color.js +5 -0
- package/dist/components/icons/model-deepseek-color.js.map +1 -0
- package/dist/components/icons/model-deepseek.d.ts +3 -0
- package/dist/components/icons/model-deepseek.d.ts.map +1 -0
- package/dist/components/icons/model-deepseek.js +5 -0
- package/dist/components/icons/model-deepseek.js.map +1 -0
- package/dist/components/icons/model-falcon-color.d.ts +3 -0
- package/dist/components/icons/model-falcon-color.d.ts.map +1 -0
- package/dist/components/icons/model-falcon-color.js +5 -0
- package/dist/components/icons/model-falcon-color.js.map +1 -0
- package/dist/components/icons/model-falcon.d.ts +3 -0
- package/dist/components/icons/model-falcon.d.ts.map +1 -0
- package/dist/components/icons/model-falcon.js +5 -0
- package/dist/components/icons/model-falcon.js.map +1 -0
- package/dist/components/icons/model-google-color.d.ts +3 -0
- package/dist/components/icons/model-google-color.d.ts.map +1 -0
- package/dist/components/icons/model-google-color.js +5 -0
- package/dist/components/icons/model-google-color.js.map +1 -0
- package/dist/components/icons/model-google.d.ts +3 -0
- package/dist/components/icons/model-google.d.ts.map +1 -0
- package/dist/components/icons/model-google.js +5 -0
- package/dist/components/icons/model-google.js.map +1 -0
- package/dist/components/icons/model-llama-color.d.ts +3 -0
- package/dist/components/icons/model-llama-color.d.ts.map +1 -0
- package/dist/components/icons/model-llama-color.js +5 -0
- package/dist/components/icons/model-llama-color.js.map +1 -0
- package/dist/components/icons/model-llama.d.ts +3 -0
- package/dist/components/icons/model-llama.d.ts.map +1 -0
- package/dist/components/icons/model-llama.js +5 -0
- package/dist/components/icons/model-llama.js.map +1 -0
- package/dist/components/icons/model-openai.d.ts +3 -0
- package/dist/components/icons/model-openai.d.ts.map +1 -0
- package/dist/components/icons/model-openai.js +5 -0
- package/dist/components/icons/model-openai.js.map +1 -0
- package/dist/components/icons/model-qwen-color.d.ts +3 -0
- package/dist/components/icons/model-qwen-color.d.ts.map +1 -0
- package/dist/components/icons/model-qwen-color.js +5 -0
- package/dist/components/icons/model-qwen-color.js.map +1 -0
- package/dist/components/icons/model-qwen.d.ts +3 -0
- package/dist/components/icons/model-qwen.d.ts.map +1 -0
- package/dist/components/icons/model-qwen.js +5 -0
- package/dist/components/icons/model-qwen.js.map +1 -0
- package/dist/components/icons/monitor.d.ts +3 -0
- package/dist/components/icons/monitor.d.ts.map +1 -0
- package/dist/components/icons/monitor.js +5 -0
- package/dist/components/icons/monitor.js.map +1 -0
- package/dist/components/icons/open-panel.d.ts +3 -0
- package/dist/components/icons/open-panel.d.ts.map +1 -0
- package/dist/components/icons/open-panel.js +5 -0
- package/dist/components/icons/open-panel.js.map +1 -0
- package/dist/components/icons/org-developer.d.ts +3 -0
- package/dist/components/icons/org-developer.d.ts.map +1 -0
- package/dist/components/icons/org-developer.js +5 -0
- package/dist/components/icons/org-developer.js.map +1 -0
- package/dist/components/icons/org-experience.d.ts +3 -0
- package/dist/components/icons/org-experience.d.ts.map +1 -0
- package/dist/components/icons/org-experience.js +5 -0
- package/dist/components/icons/org-experience.js.map +1 -0
- package/dist/components/icons/org-operations.d.ts +3 -0
- package/dist/components/icons/org-operations.d.ts.map +1 -0
- package/dist/components/icons/org-operations.js +5 -0
- package/dist/components/icons/org-operations.js.map +1 -0
- package/dist/components/icons/org-systems.d.ts +3 -0
- package/dist/components/icons/org-systems.d.ts.map +1 -0
- package/dist/components/icons/org-systems.js +5 -0
- package/dist/components/icons/org-systems.js.map +1 -0
- package/dist/components/icons/org-university.d.ts +3 -0
- package/dist/components/icons/org-university.d.ts.map +1 -0
- package/dist/components/icons/org-university.js +5 -0
- package/dist/components/icons/org-university.js.map +1 -0
- package/dist/components/icons/phone.d.ts +3 -0
- package/dist/components/icons/phone.d.ts.map +1 -0
- package/dist/components/icons/phone.js +5 -0
- package/dist/components/icons/phone.js.map +1 -0
- package/dist/components/icons/quasar.d.ts +3 -0
- package/dist/components/icons/quasar.d.ts.map +1 -0
- package/dist/components/icons/quasar.js +5 -0
- package/dist/components/icons/quasar.js.map +1 -0
- package/dist/components/icons/quietbox.d.ts +3 -0
- package/dist/components/icons/quietbox.d.ts.map +1 -0
- package/dist/components/icons/quietbox.js +5 -0
- package/dist/components/icons/quietbox.js.map +1 -0
- package/dist/components/icons/registry.d.ts +6 -0
- package/dist/components/icons/registry.d.ts.map +1 -0
- package/dist/components/icons/registry.js +264 -0
- package/dist/components/icons/registry.js.map +1 -0
- package/dist/components/icons/reset.d.ts +3 -0
- package/dist/components/icons/reset.d.ts.map +1 -0
- package/dist/components/icons/reset.js +5 -0
- package/dist/components/icons/reset.js.map +1 -0
- package/dist/components/icons/search.d.ts +3 -0
- package/dist/components/icons/search.d.ts.map +1 -0
- package/dist/components/icons/search.js +5 -0
- package/dist/components/icons/search.js.map +1 -0
- package/dist/components/icons/server-solid.d.ts +3 -0
- package/dist/components/icons/server-solid.d.ts.map +1 -0
- package/dist/components/icons/server-solid.js +5 -0
- package/dist/components/icons/server-solid.js.map +1 -0
- package/dist/components/icons/server.d.ts +3 -0
- package/dist/components/icons/server.d.ts.map +1 -0
- package/dist/components/icons/server.js +5 -0
- package/dist/components/icons/server.js.map +1 -0
- package/dist/components/icons/shield-solid.d.ts +3 -0
- package/dist/components/icons/shield-solid.d.ts.map +1 -0
- package/dist/components/icons/shield-solid.js +5 -0
- package/dist/components/icons/shield-solid.js.map +1 -0
- package/dist/components/icons/shield.d.ts +3 -0
- package/dist/components/icons/shield.d.ts.map +1 -0
- package/dist/components/icons/shield.js +5 -0
- package/dist/components/icons/shield.js.map +1 -0
- package/dist/components/icons/sidebar.d.ts +3 -0
- package/dist/components/icons/sidebar.d.ts.map +1 -0
- package/dist/components/icons/sidebar.js +5 -0
- package/dist/components/icons/sidebar.js.map +1 -0
- package/dist/components/icons/size.d.ts +3 -0
- package/dist/components/icons/size.d.ts.map +1 -0
- package/dist/components/icons/size.js +5 -0
- package/dist/components/icons/size.js.map +1 -0
- package/dist/components/icons/social-discord.d.ts +3 -0
- package/dist/components/icons/social-discord.d.ts.map +1 -0
- package/dist/components/icons/social-discord.js +5 -0
- package/dist/components/icons/social-discord.js.map +1 -0
- package/dist/components/icons/social-facebook.d.ts +3 -0
- package/dist/components/icons/social-facebook.d.ts.map +1 -0
- package/dist/components/icons/social-facebook.js +5 -0
- package/dist/components/icons/social-facebook.js.map +1 -0
- package/dist/components/icons/social-github.d.ts +3 -0
- package/dist/components/icons/social-github.d.ts.map +1 -0
- package/dist/components/icons/social-github.js +5 -0
- package/dist/components/icons/social-github.js.map +1 -0
- package/dist/components/icons/social-linkedin.d.ts +3 -0
- package/dist/components/icons/social-linkedin.d.ts.map +1 -0
- package/dist/components/icons/social-linkedin.js +5 -0
- package/dist/components/icons/social-linkedin.js.map +1 -0
- package/dist/components/icons/social-x.d.ts +3 -0
- package/dist/components/icons/social-x.d.ts.map +1 -0
- package/dist/components/icons/social-x.js +5 -0
- package/dist/components/icons/social-x.js.map +1 -0
- package/dist/components/icons/social-youtube.d.ts +3 -0
- package/dist/components/icons/social-youtube.d.ts.map +1 -0
- package/dist/components/icons/social-youtube.js +5 -0
- package/dist/components/icons/social-youtube.js.map +1 -0
- package/dist/components/icons/spinner.d.ts +3 -0
- package/dist/components/icons/spinner.d.ts.map +1 -0
- package/dist/components/icons/spinner.js +5 -0
- package/dist/components/icons/spinner.js.map +1 -0
- package/dist/components/icons/success-solid.d.ts +3 -0
- package/dist/components/icons/success-solid.d.ts.map +1 -0
- package/dist/components/icons/success-solid.js +5 -0
- package/dist/components/icons/success-solid.js.map +1 -0
- package/dist/components/icons/success.d.ts +3 -0
- package/dist/components/icons/success.d.ts.map +1 -0
- package/dist/components/icons/success.js +5 -0
- package/dist/components/icons/success.js.map +1 -0
- package/dist/components/icons/tensix.d.ts +3 -0
- package/dist/components/icons/tensix.d.ts.map +1 -0
- package/dist/components/icons/tensix.js +5 -0
- package/dist/components/icons/tensix.js.map +1 -0
- package/dist/components/icons/tenstorrent.d.ts +3 -0
- package/dist/components/icons/tenstorrent.d.ts.map +1 -0
- package/dist/components/icons/tenstorrent.js +5 -0
- package/dist/components/icons/tenstorrent.js.map +1 -0
- package/dist/components/icons/trash-solid.d.ts +3 -0
- package/dist/components/icons/trash-solid.d.ts.map +1 -0
- package/dist/components/icons/trash-solid.js +5 -0
- package/dist/components/icons/trash-solid.js.map +1 -0
- package/dist/components/icons/trash.d.ts +3 -0
- package/dist/components/icons/trash.d.ts.map +1 -0
- package/dist/components/icons/trash.js +5 -0
- package/dist/components/icons/trash.js.map +1 -0
- package/dist/components/icons/tt-forge-fe.d.ts +3 -0
- package/dist/components/icons/tt-forge-fe.d.ts.map +1 -0
- package/dist/components/icons/tt-forge-fe.js +5 -0
- package/dist/components/icons/tt-forge-fe.js.map +1 -0
- package/dist/components/icons/tt-forge.d.ts +3 -0
- package/dist/components/icons/tt-forge.d.ts.map +1 -0
- package/dist/components/icons/tt-forge.js +5 -0
- package/dist/components/icons/tt-forge.js.map +1 -0
- package/dist/components/icons/tt-lang.d.ts +3 -0
- package/dist/components/icons/tt-lang.d.ts.map +1 -0
- package/dist/components/icons/tt-lang.js +5 -0
- package/dist/components/icons/tt-lang.js.map +1 -0
- package/dist/components/icons/tt-llk.d.ts +3 -0
- package/dist/components/icons/tt-llk.d.ts.map +1 -0
- package/dist/components/icons/tt-llk.js +5 -0
- package/dist/components/icons/tt-llk.js.map +1 -0
- package/dist/components/icons/tt-metalium.d.ts +3 -0
- package/dist/components/icons/tt-metalium.d.ts.map +1 -0
- package/dist/components/icons/tt-metalium.js +5 -0
- package/dist/components/icons/tt-metalium.js.map +1 -0
- package/dist/components/icons/tt-nn.d.ts +3 -0
- package/dist/components/icons/tt-nn.d.ts.map +1 -0
- package/dist/components/icons/tt-nn.js +5 -0
- package/dist/components/icons/tt-nn.js.map +1 -0
- package/dist/components/icons/tt-torch.d.ts +3 -0
- package/dist/components/icons/tt-torch.d.ts.map +1 -0
- package/dist/components/icons/tt-torch.js +5 -0
- package/dist/components/icons/tt-torch.js.map +1 -0
- package/dist/components/icons/tt-xla.d.ts +3 -0
- package/dist/components/icons/tt-xla.d.ts.map +1 -0
- package/dist/components/icons/tt-xla.js +5 -0
- package/dist/components/icons/tt-xla.js.map +1 -0
- package/dist/components/icons/types.d.ts +2 -0
- package/dist/components/icons/types.d.ts.map +1 -0
- package/dist/components/icons/types.js +9 -0
- package/dist/components/icons/types.js.map +1 -0
- package/dist/components/icons/upload.d.ts +3 -0
- package/dist/components/icons/upload.d.ts.map +1 -0
- package/dist/components/icons/upload.js +5 -0
- package/dist/components/icons/upload.js.map +1 -0
- package/dist/components/icons/user-multiple-solid.d.ts +3 -0
- package/dist/components/icons/user-multiple-solid.d.ts.map +1 -0
- package/dist/components/icons/user-multiple-solid.js +5 -0
- package/dist/components/icons/user-multiple-solid.js.map +1 -0
- package/dist/components/icons/user-multiple.d.ts +3 -0
- package/dist/components/icons/user-multiple.d.ts.map +1 -0
- package/dist/components/icons/user-multiple.js +5 -0
- package/dist/components/icons/user-multiple.js.map +1 -0
- package/dist/components/icons/user-solid.d.ts +3 -0
- package/dist/components/icons/user-solid.d.ts.map +1 -0
- package/dist/components/icons/user-solid.js +5 -0
- package/dist/components/icons/user-solid.js.map +1 -0
- package/dist/components/icons/user.d.ts +3 -0
- package/dist/components/icons/user.d.ts.map +1 -0
- package/dist/components/icons/user.js +5 -0
- package/dist/components/icons/user.js.map +1 -0
- package/dist/components/icons/warning-solid.d.ts +3 -0
- package/dist/components/icons/warning-solid.d.ts.map +1 -0
- package/dist/components/icons/warning-solid.js +5 -0
- package/dist/components/icons/warning-solid.js.map +1 -0
- package/dist/components/icons/warning.d.ts +3 -0
- package/dist/components/icons/warning.d.ts.map +1 -0
- package/dist/components/icons/warning.js +5 -0
- package/dist/components/icons/warning.js.map +1 -0
- package/dist/components/icons/wormhole.d.ts +3 -0
- package/dist/components/icons/wormhole.d.ts.map +1 -0
- package/dist/components/icons/wormhole.js +5 -0
- package/dist/components/icons/wormhole.js.map +1 -0
- package/dist/components/masked-input/getMaskitoOptions.d.ts +4 -0
- package/dist/components/masked-input/getMaskitoOptions.d.ts.map +1 -0
- package/dist/components/masked-input/getMaskitoOptions.js +27 -0
- package/dist/components/masked-input/getMaskitoOptions.js.map +1 -0
- package/dist/components/masked-input/masked-input.d.ts +68 -0
- package/dist/components/masked-input/masked-input.d.ts.map +1 -0
- package/dist/components/masked-input/masked-input.js +68 -0
- package/dist/components/masked-input/masked-input.js.map +1 -0
- package/dist/components/material/material.css +1 -0
- package/dist/components/material/material.d.ts +43 -0
- package/dist/components/material/material.d.ts.map +1 -0
- package/dist/components/material/material.js +43 -0
- package/dist/components/material/material.js.map +1 -0
- package/dist/components/menu/menu.css +1 -0
- package/dist/components/menu/menu.d.ts +75 -0
- package/dist/components/menu/menu.d.ts.map +1 -0
- package/dist/components/menu/menu.js +56 -0
- package/dist/components/menu/menu.js.map +1 -0
- package/dist/components/modal/modal.css +1 -0
- package/dist/components/modal/modal.d.ts +83 -0
- package/dist/components/modal/modal.d.ts.map +1 -0
- package/dist/components/modal/modal.js +118 -0
- package/dist/components/modal/modal.js.map +1 -0
- package/dist/components/progress-bar/progress-bar.css +1 -0
- package/dist/components/progress-bar/progress-bar.d.ts +38 -0
- package/dist/components/progress-bar/progress-bar.d.ts.map +1 -0
- package/dist/components/progress-bar/progress-bar.js +39 -0
- package/dist/components/progress-bar/progress-bar.js.map +1 -0
- package/dist/components/radio-group/radio-group.css +1 -0
- package/dist/components/radio-group/radio-group.d.ts +70 -0
- package/dist/components/radio-group/radio-group.d.ts.map +1 -0
- package/dist/components/radio-group/radio-group.js +61 -0
- package/dist/components/radio-group/radio-group.js.map +1 -0
- package/dist/components/range/range.css +1 -0
- package/dist/components/range/range.d.ts +86 -0
- package/dist/components/range/range.d.ts.map +1 -0
- package/dist/components/range/range.js +87 -0
- package/dist/components/range/range.js.map +1 -0
- package/dist/components/select/select.css +1 -0
- package/dist/components/select/select.d.ts +82 -0
- package/dist/components/select/select.d.ts.map +1 -0
- package/dist/components/select/select.js +79 -0
- package/dist/components/select/select.js.map +1 -0
- package/dist/components/sheet/sheet.css +1 -0
- package/dist/components/sheet/sheet.d.ts +71 -0
- package/dist/components/sheet/sheet.d.ts.map +1 -0
- package/dist/components/sheet/sheet.js +116 -0
- package/dist/components/sheet/sheet.js.map +1 -0
- package/dist/components/show-more/show-more.css +1 -0
- package/dist/components/show-more/show-more.d.ts +28 -0
- package/dist/components/show-more/show-more.d.ts.map +1 -0
- package/dist/components/show-more/show-more.js +26 -0
- package/dist/components/show-more/show-more.js.map +1 -0
- package/dist/components/skeleton/skeleton.css +1 -0
- package/dist/components/skeleton/skeleton.d.ts +39 -0
- package/dist/components/skeleton/skeleton.d.ts.map +1 -0
- package/dist/components/skeleton/skeleton.js +36 -0
- package/dist/components/skeleton/skeleton.js.map +1 -0
- package/dist/components/slider/slider.d.ts +69 -0
- package/dist/components/slider/slider.d.ts.map +1 -0
- package/dist/components/slider/slider.js +61 -0
- package/dist/components/slider/slider.js.map +1 -0
- package/dist/components/snippet/snippet.css +1 -0
- package/dist/components/snippet/snippet.d.ts +28 -0
- package/dist/components/snippet/snippet.d.ts.map +1 -0
- package/dist/components/snippet/snippet.js +44 -0
- package/dist/components/snippet/snippet.js.map +1 -0
- package/dist/components/split-button/split-button.css +1 -0
- package/dist/components/split-button/split-button.d.ts +78 -0
- package/dist/components/split-button/split-button.d.ts.map +1 -0
- package/dist/components/split-button/split-button.js +65 -0
- package/dist/components/split-button/split-button.js.map +1 -0
- package/dist/components/status-indicator/status-indicator.css +1 -0
- package/dist/components/status-indicator/status-indicator.d.ts +35 -0
- package/dist/components/status-indicator/status-indicator.d.ts.map +1 -0
- package/dist/components/status-indicator/status-indicator.js +33 -0
- package/dist/components/status-indicator/status-indicator.js.map +1 -0
- package/dist/components/switch/switch.css +1 -0
- package/dist/components/switch/switch.d.ts +41 -0
- package/dist/components/switch/switch.d.ts.map +1 -0
- package/dist/components/switch/switch.js +46 -0
- package/dist/components/switch/switch.js.map +1 -0
- package/dist/components/tabs/tabs.css +1 -0
- package/dist/components/tabs/tabs.d.ts +60 -0
- package/dist/components/tabs/tabs.d.ts.map +1 -0
- package/dist/components/tabs/tabs.js +51 -0
- package/dist/components/tabs/tabs.js.map +1 -0
- package/dist/components/tag/tag.css +1 -0
- package/dist/components/tag/tag.d.ts +42 -0
- package/dist/components/tag/tag.d.ts.map +1 -0
- package/dist/components/tag/tag.js +48 -0
- package/dist/components/tag/tag.js.map +1 -0
- package/dist/components/text-area/text-area.css +1 -0
- package/dist/components/text-area/text-area.d.ts +35 -0
- package/dist/components/text-area/text-area.d.ts.map +1 -0
- package/dist/components/text-area/text-area.js +47 -0
- package/dist/components/text-area/text-area.js.map +1 -0
- package/dist/components/text-button/text-button.css +1 -0
- package/dist/components/text-button/text-button.d.ts +46 -0
- package/dist/components/text-button/text-button.d.ts.map +1 -0
- package/dist/components/text-button/text-button.js +46 -0
- package/dist/components/text-button/text-button.js.map +1 -0
- package/dist/components/text-input/text-input.css +1 -0
- package/dist/components/text-input/text-input.d.ts +57 -0
- package/dist/components/text-input/text-input.d.ts.map +1 -0
- package/dist/components/text-input/text-input.js +54 -0
- package/dist/components/text-input/text-input.js.map +1 -0
- package/dist/components/theme-switcher/theme-switcher.css +1 -0
- package/dist/components/theme-switcher/theme-switcher.d.ts +23 -0
- package/dist/components/theme-switcher/theme-switcher.d.ts.map +1 -0
- package/dist/components/theme-switcher/theme-switcher.js +24 -0
- package/dist/components/theme-switcher/theme-switcher.js.map +1 -0
- package/dist/components/toast/animations.d.ts +3 -0
- package/dist/components/toast/animations.d.ts.map +1 -0
- package/dist/components/toast/animations.js +28 -0
- package/dist/components/toast/animations.js.map +1 -0
- package/dist/components/toast/store.d.ts +77 -0
- package/dist/components/toast/store.d.ts.map +1 -0
- package/dist/components/toast/store.js +94 -0
- package/dist/components/toast/store.js.map +1 -0
- package/dist/components/toast/toast.css +1 -0
- package/dist/components/toast/toast.d.ts +32 -0
- package/dist/components/toast/toast.d.ts.map +1 -0
- package/dist/components/toast/toast.js +202 -0
- package/dist/components/toast/toast.js.map +1 -0
- package/dist/components/toast/utils.d.ts +10 -0
- package/dist/components/toast/utils.d.ts.map +1 -0
- package/dist/components/toast/utils.js +26 -0
- package/dist/components/toast/utils.js.map +1 -0
- package/dist/components/toggle/toggle.css +1 -0
- package/dist/components/toggle/toggle.d.ts +82 -0
- package/dist/components/toggle/toggle.d.ts.map +1 -0
- package/dist/components/toggle/toggle.js +129 -0
- package/dist/components/toggle/toggle.js.map +1 -0
- package/dist/components/tooltip/tooltip.css +1 -0
- package/dist/components/tooltip/tooltip.d.ts +58 -0
- package/dist/components/tooltip/tooltip.d.ts.map +1 -0
- package/dist/components/tooltip/tooltip.js +52 -0
- package/dist/components/tooltip/tooltip.js.map +1 -0
- package/dist/components/typography/typography.css +1 -0
- package/dist/components/typography/typography.d.ts +33 -0
- package/dist/components/typography/typography.d.ts.map +1 -0
- package/dist/components/typography/typography.js +63 -0
- package/dist/components/typography/typography.js.map +1 -0
- package/dist/styles/animation.css +1 -0
- package/dist/styles/backgrounds.css +1 -0
- package/dist/styles/colors.css +1 -0
- package/dist/styles/fonts.css +1 -0
- package/dist/styles/globals.css +1 -0
- package/dist/styles/leading.css +1 -0
- package/dist/styles/radius.css +1 -0
- package/dist/styles/shadows.css +1 -0
- package/dist/styles/spacing.css +1 -0
- package/dist/styles/strokes.css +1 -0
- package/dist/styles/styles.css +1 -0
- package/dist/styles/tailwind-utilities.css +1 -0
- package/dist/styles/tailwind.css +1 -0
- package/dist/styles/tracking.css +1 -0
- package/dist/utils/cn.d.ts +2 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/dist/utils/cn.js +2 -0
- package/dist/utils/cn.js.map +1 -0
- package/dist/utils/generateId.d.ts +5 -0
- package/dist/utils/generateId.d.ts.map +1 -0
- package/dist/utils/generateId.js +21 -0
- package/dist/utils/generateId.js.map +1 -0
- package/dist/utils/getDisabledProps.d.ts +42 -0
- package/dist/utils/getDisabledProps.d.ts.map +1 -0
- package/dist/utils/getDisabledProps.js +36 -0
- package/dist/utils/getDisabledProps.js.map +1 -0
- package/dist/utils/getPortalContainer.d.ts +27 -0
- package/dist/utils/getPortalContainer.d.ts.map +1 -0
- package/dist/utils/getPortalContainer.js +21 -0
- package/dist/utils/getPortalContainer.js.map +1 -0
- package/dist/utils/hooks/useBaseRemSize.d.ts +9 -0
- package/dist/utils/hooks/useBaseRemSize.d.ts.map +1 -0
- package/dist/utils/hooks/useBaseRemSize.js +55 -0
- package/dist/utils/hooks/useBaseRemSize.js.map +1 -0
- package/dist/utils/hooks/useMergedRefs.d.ts +11 -0
- package/dist/utils/hooks/useMergedRefs.d.ts.map +1 -0
- package/dist/utils/hooks/useMergedRefs.js +96 -0
- package/dist/utils/hooks/useMergedRefs.js.map +1 -0
- package/dist/utils/isSingleReactElement.d.ts +3 -0
- package/dist/utils/isSingleReactElement.d.ts.map +1 -0
- package/dist/utils/isSingleReactElement.js +5 -0
- package/dist/utils/isSingleReactElement.js.map +1 -0
- package/dist/utils/polymorphic.d.ts +43 -0
- package/dist/utils/polymorphic.d.ts.map +1 -0
- package/dist/utils/polymorphic.js +2 -0
- package/dist/utils/polymorphic.js.map +1 -0
- package/dist/utils/splitFormInputProps.d.ts +119 -0
- package/dist/utils/splitFormInputProps.d.ts.map +1 -0
- package/dist/utils/splitFormInputProps.js +277 -0
- package/dist/utils/splitFormInputProps.js.map +1 -0
- package/package.json +266 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vesper-tabs-trigger{cursor:pointer;align-items:center;gap:var(--vesper-spacing-1);display:flex}@media not (forced-colors:active){.vesper-tabs-trigger:focus-visible{box-shadow:var(--vesper-shadow-focus-ring)}}.vesper-tabs-list{display:flex}.vesper-tabs-trigger-icon{width:1rem;height:1rem}.vesper-tabs-primary .vesper-tabs-list{gap:var(--vesper-spacing-6);position:relative}.vesper-tabs-primary .vesper-tabs-list:before{content:"";border-top:var(--vesper-stroke-base) solid var(--vesper-border-secondary);position:absolute;bottom:0;left:0;right:0}.vesper-tabs-primary .vesper-tabs-trigger{padding:var(--vesper-spacing-4) 0;color:var(--vesper-text-secondary);position:relative}.vesper-tabs-primary .vesper-tabs-trigger:hover{color:var(--vesper-text-primary)}.vesper-tabs-primary .vesper-tabs-trigger[data-active]{color:var(--vesper-text-primary)}.vesper-tabs-primary .vesper-tabs-trigger:hover:after{content:"";border-top:var(--vesper-stroke-strong) solid var(--vesper-border-strong);position:absolute;bottom:0;left:0;right:0}@media (forced-colors:active){.vesper-tabs-primary .vesper-tabs-trigger:hover:after{border-color:canvastext}}.vesper-tabs-primary .vesper-tabs-trigger[data-active]:after{content:"";border-top:var(--vesper-stroke-strong) solid var(--vesper-border-strong);position:absolute;bottom:0;left:0;right:0}@media (forced-colors:active){.vesper-tabs-primary .vesper-tabs-trigger[data-active]:after{border-color:canvastext}}@media (forced-colors:active){.vesper-tabs-primary .vesper-tabs-trigger:focus-visible{outline:var(--vesper-stroke-strong) solid CanvasText}}.vesper-tabs-primary .vesper-tabs-trigger-icon{margin:calc(var(--vesper-spacing-micro) * -1) 0}.vesper-tabs-secondary .vesper-tabs-list{gap:var(--vesper-spacing-2)}.vesper-tabs-secondary .vesper-tabs-trigger{padding:var(--vesper-spacing-2);border-radius:var(--vesper-spacing-1);background:var(--vesper-tint-neutral-300);color:var(--vesper-text-primary)}.vesper-tabs-secondary .vesper-tabs-trigger:hover{background:var(--vesper-background-inverse-primary);color:var(--vesper-text-inverse-primary)}@media (forced-colors:active){.vesper-tabs-secondary .vesper-tabs-trigger:hover{forced-color-adjust:none;color:canvas;background:canvastext}}.vesper-tabs-secondary .vesper-tabs-trigger[data-state=active]{background:var(--vesper-background-inverse-primary);color:var(--vesper-text-inverse-primary)}@media (forced-colors:active){.vesper-tabs-secondary .vesper-tabs-trigger[data-state=active]{forced-color-adjust:none;color:canvas;background:canvastext}}@media (forced-colors:active){.vesper-tabs-secondary .vesper-tabs-trigger{border:var(--vesper-stroke-base) solid CanvasText}.vesper-tabs-secondary .vesper-tabs-trigger:focus-visible{outline:var(--vesper-stroke-base) solid CanvasText;outline-offset:var(--vesper-spacing-micro)}}.vesper-tabs-secondary .vesper-tabs-trigger-icon{margin:calc(var(--vesper-spacing-half) * -1) 0}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { ComponentProps, ReactNode } from "react";
|
|
2
|
+
export declare const TABS_VARIANTS: readonly ["primary", "secondary"];
|
|
3
|
+
export type TabsVariant = (typeof TABS_VARIANTS)[number];
|
|
4
|
+
export interface TabsProps extends Omit<ComponentProps<"div">, "children" | "dir"> {
|
|
5
|
+
/** The visual style variant of the tabs. @default primary */
|
|
6
|
+
variant?: TabsVariant;
|
|
7
|
+
/** The list of tab items to render. Each item defines a tab trigger and its associated content panel. */
|
|
8
|
+
items: {
|
|
9
|
+
/** The text label displayed in the tab trigger. */
|
|
10
|
+
label: string;
|
|
11
|
+
/** A unique value identifying this tab, used for selection tracking. */
|
|
12
|
+
value: string;
|
|
13
|
+
/** An optional icon element rendered before the label in the tab trigger. */
|
|
14
|
+
icon?: ReactNode;
|
|
15
|
+
/** The content rendered in the panel when this tab is active. */
|
|
16
|
+
content: ReactNode;
|
|
17
|
+
}[];
|
|
18
|
+
/** The value for the selected tab (controlled). */
|
|
19
|
+
value?: string;
|
|
20
|
+
/** The value of the tab to select by default (uncontrolled). */
|
|
21
|
+
defaultValue?: string;
|
|
22
|
+
/** Callback fired when when a new tab is selected */
|
|
23
|
+
onValueChange?: (value: string) => void;
|
|
24
|
+
/** Whether a tab is activated automatically (when receiving focus) or manually (when clicked). @default automatic */
|
|
25
|
+
activationMode?: "automatic" | "manual";
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A tabbed interface component for organizing content into switchable panels.
|
|
29
|
+
*
|
|
30
|
+
* @param {TabsProps["items"]} props.items - The list of tab items defining triggers and content panels
|
|
31
|
+
* @param {TabsVariant} [props.variant] - (optional) The visual style variant of the tabs. @default primary
|
|
32
|
+
* @param {string} [props.value] - (optional) The selected tab value (controlled)
|
|
33
|
+
* @param {string} [props.defaultValue] - (optional) The tab to select by default (uncontrolled)
|
|
34
|
+
* @param {(value: string) => void} [props.onValueChange] - (optional) Callback fired when a new tab is selected
|
|
35
|
+
* @param {"automatic" | "manual"} [props.activationMode] - (optional) Tab activation mode. @default automatic
|
|
36
|
+
*
|
|
37
|
+
* You may also pass any additional props to the underlying `div` element
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* <Tabs
|
|
41
|
+
* items={[
|
|
42
|
+
* { value: "overview", label: "Overview", content: <Overview /> },
|
|
43
|
+
* { value: "settings", label: "Settings", content: <Settings /> },
|
|
44
|
+
* ]}
|
|
45
|
+
* defaultValue="overview"
|
|
46
|
+
* />
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* <Tabs
|
|
50
|
+
* variant="secondary"
|
|
51
|
+
* items={[
|
|
52
|
+
* { value: "code", label: "Code", icon: <Document />, content: <CodePanel /> },
|
|
53
|
+
* { value: "preview", label: "Preview", content: <PreviewPanel /> },
|
|
54
|
+
* ]}
|
|
55
|
+
* value={activeTab}
|
|
56
|
+
* onValueChange={setActiveTab}
|
|
57
|
+
* />
|
|
58
|
+
*/
|
|
59
|
+
export declare function Tabs(props: TabsProps): import("react/jsx-runtime").JSX.Element;
|
|
60
|
+
//# sourceMappingURL=tabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/tabs.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAWlD,eAAO,MAAM,aAAa,mCAAoC,CAAC;AAE/D,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,MAAM,WAAW,SAAU,SAAQ,IAAI,CACrC,cAAc,CAAC,KAAK,CAAC,EACrB,UAAU,GAAG,KAAK,CACnB;IACC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,yGAAyG;IACzG,KAAK,EAAE;QACL,mDAAmD;QACnD,KAAK,EAAE,MAAM,CAAC;QACd,wEAAwE;QACxE,KAAK,EAAE,MAAM,CAAC;QACd,6EAA6E;QAC7E,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,iEAAiE;QACjE,OAAO,EAAE,SAAS,CAAC;KACpB,EAAE,CAAC;IACJ,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,qHAAqH;IACrH,cAAc,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;CACzC;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,2CAoDpC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Tabs as BaseTabs } from "@base-ui/react/tabs";
|
|
4
|
+
import { Typography, } from "../typography/typography.js";
|
|
5
|
+
import { cn } from "../../utils/cn.js";
|
|
6
|
+
import { isSingleReactElement } from "../../utils/isSingleReactElement.js";
|
|
7
|
+
export const TABS_VARIANTS = ["primary", "secondary"];
|
|
8
|
+
const TRIGGER_TYPOGRAPHY = {
|
|
9
|
+
primary: "label-md",
|
|
10
|
+
secondary: "label-sm",
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* A tabbed interface component for organizing content into switchable panels.
|
|
14
|
+
*
|
|
15
|
+
* @param {TabsProps["items"]} props.items - The list of tab items defining triggers and content panels
|
|
16
|
+
* @param {TabsVariant} [props.variant] - (optional) The visual style variant of the tabs. @default primary
|
|
17
|
+
* @param {string} [props.value] - (optional) The selected tab value (controlled)
|
|
18
|
+
* @param {string} [props.defaultValue] - (optional) The tab to select by default (uncontrolled)
|
|
19
|
+
* @param {(value: string) => void} [props.onValueChange] - (optional) Callback fired when a new tab is selected
|
|
20
|
+
* @param {"automatic" | "manual"} [props.activationMode] - (optional) Tab activation mode. @default automatic
|
|
21
|
+
*
|
|
22
|
+
* You may also pass any additional props to the underlying `div` element
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* <Tabs
|
|
26
|
+
* items={[
|
|
27
|
+
* { value: "overview", label: "Overview", content: <Overview /> },
|
|
28
|
+
* { value: "settings", label: "Settings", content: <Settings /> },
|
|
29
|
+
* ]}
|
|
30
|
+
* defaultValue="overview"
|
|
31
|
+
* />
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* <Tabs
|
|
35
|
+
* variant="secondary"
|
|
36
|
+
* items={[
|
|
37
|
+
* { value: "code", label: "Code", icon: <Document />, content: <CodePanel /> },
|
|
38
|
+
* { value: "preview", label: "Preview", content: <PreviewPanel /> },
|
|
39
|
+
* ]}
|
|
40
|
+
* value={activeTab}
|
|
41
|
+
* onValueChange={setActiveTab}
|
|
42
|
+
* />
|
|
43
|
+
*/
|
|
44
|
+
export function Tabs(props) {
|
|
45
|
+
const { items, className, variant = "primary", activationMode = "automatic", onValueChange, ...rest } = props;
|
|
46
|
+
return (_jsxs(BaseTabs.Root, { className: cn(`vesper-tabs-${variant}`, className), onValueChange: (value) => onValueChange?.(value), ...rest, children: [_jsx(BaseTabs.List, { activateOnFocus: activationMode === "automatic", className: "vesper-tabs-list", children: items.map((item) => (_jsxs(Typography, { as: BaseTabs.Tab, variant: TRIGGER_TYPOGRAPHY[variant], value: item.value, className: "vesper-tabs-trigger", children: [item.icon && (_jsx("span", { className: "vesper-tabs-trigger-icon", children: item.icon })), item.label] }, item.value))) }), items.map((item) => {
|
|
47
|
+
const children = isSingleReactElement(item.content) ? (item.content) : (_jsx("span", { children: item.content }));
|
|
48
|
+
return (_jsx(BaseTabs.Panel, { render: children, value: item.value }, item.value));
|
|
49
|
+
})] }));
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../src/components/tabs/tabs.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EACL,UAAU,GAEX,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,WAAW,CAAU,CAAC;AA+B/D,MAAM,kBAAkB,GAA8C;IACpE,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,UAAU;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,MAAM,EACJ,KAAK,EACL,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,cAAc,GAAG,WAAW,EAC5B,aAAa,EACb,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,MAAC,QAAQ,CAAC,IAAI,IACZ,SAAS,EAAE,EAAE,CAAC,eAAe,OAAO,EAAE,EAAE,SAAS,CAAC,EAClD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,KAC5C,IAAI,aAER,KAAC,QAAQ,CAAC,IAAI,IACZ,eAAe,EAAE,cAAc,KAAK,WAAW,EAC/C,SAAS,EAAC,kBAAkB,YAE3B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,MAAC,UAAU,IACT,EAAE,EAAE,QAAQ,CAAC,GAAG,EAChB,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAEpC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,SAAS,EAAC,qBAAqB,aAE9B,IAAI,CAAC,IAAI,IAAI,CACZ,eAAM,SAAS,EAAC,0BAA0B,YAAE,IAAI,CAAC,IAAI,GAAQ,CAC9D,EACA,IAAI,CAAC,KAAK,KAPN,IAAI,CAAC,KAAK,CAQJ,CACd,CAAC,GACY,EACf,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAClB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CACpD,IAAI,CAAC,OAAO,CACb,CAAC,CAAC,CAAC,CACF,yBAAO,IAAI,CAAC,OAAO,GAAQ,CAC5B,CAAC;gBAEF,OAAO,CACL,KAAC,QAAQ,CAAC,KAAK,IACb,MAAM,EAAE,QAAQ,EAEhB,KAAK,EAAE,IAAI,CAAC,KAAK,IADZ,IAAI,CAAC,KAAK,CAEf,CACH,CAAC;YACJ,CAAC,CAAC,IACY,CACjB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vesper-tag{align-items:center;width:fit-content;display:inline-flex}.vesper-tag-icon{display:flex}.vesper-tag-sm{gap:var(--vesper-spacing-half);height:1.25rem;padding:0 var(--vesper-spacing-1);border-radius:var(--vesper-radius-half)}.vesper-tag-sm .vesper-tag-icon{width:.75rem;height:.75rem}.vesper-tag-md{gap:var(--vesper-spacing-1);height:1.5rem;padding:0 var(--vesper-spacing-2);border-radius:var(--vesper-radius-1)}.vesper-tag-md .vesper-tag-icon{width:.875rem;height:.875rem}.vesper-tag-lg{gap:var(--vesper-spacing-1);height:1.75rem;padding:0 var(--vesper-spacing-2);border-radius:var(--vesper-radius-1)}.vesper-tag-lg .vesper-tag-icon{width:1rem;height:1rem}.vesper-tag-default{background:var(--vesper-tint-neutral-300);color:var(--vesper-text-primary)}.vesper-tag-contrast{background:var(--vesper-background-inverse-primary);color:var(--vesper-text-inverse-primary)}.vesper-tag-accent-subtle{color:var(--vesper-text-accent);background:var(--vesper-background-accent-subtle)}.vesper-tag-accent-bold{color:var(--vesper-text-primary);background:var(--vesper-background-accent-base)}.vesper-tag-danger-subtle{color:var(--vesper-text-error);background:var(--vesper-background-error-subtle)}.vesper-tag-danger-bold{color:var(--vesper-text-inverse-primary);background:var(--vesper-background-error-base)}.vesper-tag-warning-subtle{color:var(--vesper-text-warning);background:var(--vesper-background-warning-subtle)}.vesper-tag-warning-bold{color:var(--vesper-text-inverse-primary);background:var(--vesper-background-warning-base)}.vesper-tag-success-subtle{color:var(--vesper-text-success);background:var(--vesper-background-success-subtle)}.vesper-tag-success-bold{color:var(--vesper-text-inverse-primary);background:var(--vesper-background-success-base)}.vesper-tag-info-subtle{color:var(--vesper-text-info);background:var(--vesper-background-info-subtle)}.vesper-tag-info-bold{color:var(--vesper-text-inverse-primary);background:var(--vesper-background-info-base)}.vesper-tag-disabled{color:var(--vesper-text-disabled);background:var(--vesper-background-disabled)}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ElementType, ReactNode } from "react";
|
|
2
|
+
import type { Polymorphic } from "../../utils/polymorphic.js";
|
|
3
|
+
export declare const TAG_SIZES: readonly ["sm", "md", "lg"];
|
|
4
|
+
export declare const TAG_VARIANTS: readonly ["default", "contrast", "accent-bold", "accent-subtle", "danger-bold", "danger-subtle", "success-bold", "success-subtle", "info-bold", "info-subtle", "warning-bold", "warning-subtle"];
|
|
5
|
+
export type TagSize = (typeof TAG_SIZES)[number];
|
|
6
|
+
export type TagVariant = (typeof TAG_VARIANTS)[number];
|
|
7
|
+
export type TagProps<E extends ElementType = "div"> = Polymorphic<{
|
|
8
|
+
/** The size of the tag. Affects padding and font size. @default md */
|
|
9
|
+
size?: TagSize;
|
|
10
|
+
/** The color variant of the tag. @defaults default */
|
|
11
|
+
variant?: TagVariant;
|
|
12
|
+
/** When `true`, renders the tag in a disabled state and prevents interaction. @default false */
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
/** An optional icon element rendered to the left of the tag text. */
|
|
15
|
+
icon?: ReactNode;
|
|
16
|
+
}, E>;
|
|
17
|
+
/**
|
|
18
|
+
* A polymorphic label component for categorizing content with color variants and optional icons.
|
|
19
|
+
*
|
|
20
|
+
* Unlike `Badge` (which describes adjacent content like plan tiers or roles) and `Chip` (which displays on/off states), `Tags` are used to classify and organize content into categories.
|
|
21
|
+
*
|
|
22
|
+
* @see packages/vesper/src/components/badge/badge.tsx
|
|
23
|
+
* @see packages/vesper/src/components/chip/chip.tsx
|
|
24
|
+
*
|
|
25
|
+
* @param {TagSize} [props.size] - (optional) The size of the tag. @default md
|
|
26
|
+
* @param {TagVariant} [props.variant] - (optional) The color variant of the tag. @default default
|
|
27
|
+
* @param {boolean} [props.disabled] - (optional) Renders the tag in a disabled state
|
|
28
|
+
* @param {ReactNode} [props.icon] - (optional) An icon element rendered to the left of the tag text
|
|
29
|
+
* @param {React.ElementType} [props.as] - (optional) Element type to render. @default div
|
|
30
|
+
*
|
|
31
|
+
* You may also pass any additional props to the underlying element
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* <Tag variant="success-bold">Active</Tag>
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* <Tag size="sm" variant="danger-subtle" icon={<ErrorSolid />}>
|
|
38
|
+
* Failed
|
|
39
|
+
* </Tag>
|
|
40
|
+
*/
|
|
41
|
+
export declare function Tag<E extends ElementType = "div">(props: TagProps<E>): import("react/jsx-runtime").JSX.Element;
|
|
42
|
+
//# sourceMappingURL=tag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.d.ts","sourceRoot":"","sources":["../../../src/components/tag/tag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,SAAS,6BAA8B,CAAC;AAErD,eAAO,MAAM,YAAY,kMAaf,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,WAAW,GAAG,KAAK,IAAI,WAAW,CAC/D;IACE,sEAAsE;IACtE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sDAAsD;IACtD,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,gGAAgG;IAChG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,EACD,CAAC,CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,WAAW,GAAG,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,2CA6BpE"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Typography } from "../typography/typography.js";
|
|
3
|
+
import { cn } from "../../utils/cn.js";
|
|
4
|
+
import { getDisabledProps } from "../../utils/getDisabledProps.js";
|
|
5
|
+
export const TAG_SIZES = ["sm", "md", "lg"];
|
|
6
|
+
export const TAG_VARIANTS = [
|
|
7
|
+
"default",
|
|
8
|
+
"contrast",
|
|
9
|
+
"accent-bold",
|
|
10
|
+
"accent-subtle",
|
|
11
|
+
"danger-bold",
|
|
12
|
+
"danger-subtle",
|
|
13
|
+
"success-bold",
|
|
14
|
+
"success-subtle",
|
|
15
|
+
"info-bold",
|
|
16
|
+
"info-subtle",
|
|
17
|
+
"warning-bold",
|
|
18
|
+
"warning-subtle",
|
|
19
|
+
];
|
|
20
|
+
/**
|
|
21
|
+
* A polymorphic label component for categorizing content with color variants and optional icons.
|
|
22
|
+
*
|
|
23
|
+
* Unlike `Badge` (which describes adjacent content like plan tiers or roles) and `Chip` (which displays on/off states), `Tags` are used to classify and organize content into categories.
|
|
24
|
+
*
|
|
25
|
+
* @see packages/vesper/src/components/badge/badge.tsx
|
|
26
|
+
* @see packages/vesper/src/components/chip/chip.tsx
|
|
27
|
+
*
|
|
28
|
+
* @param {TagSize} [props.size] - (optional) The size of the tag. @default md
|
|
29
|
+
* @param {TagVariant} [props.variant] - (optional) The color variant of the tag. @default default
|
|
30
|
+
* @param {boolean} [props.disabled] - (optional) Renders the tag in a disabled state
|
|
31
|
+
* @param {ReactNode} [props.icon] - (optional) An icon element rendered to the left of the tag text
|
|
32
|
+
* @param {React.ElementType} [props.as] - (optional) Element type to render. @default div
|
|
33
|
+
*
|
|
34
|
+
* You may also pass any additional props to the underlying element
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* <Tag variant="success-bold">Active</Tag>
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* <Tag size="sm" variant="danger-subtle" icon={<ErrorSolid />}>
|
|
41
|
+
* Failed
|
|
42
|
+
* </Tag>
|
|
43
|
+
*/
|
|
44
|
+
export function Tag(props) {
|
|
45
|
+
const { as: Component = "div", className, size = "md", variant = "default", disabled, icon, children, ...rest } = props;
|
|
46
|
+
return (_jsxs(Component, { className: cn("vesper-tag", `vesper-tag-${size}`, disabled ? "vesper-tag-disabled" : `vesper-tag-${variant}`, className), ...rest, ...getDisabledProps(Component, !!disabled), children: [icon && _jsx("span", { className: "vesper-tag-icon", children: icon }), _jsx(Typography, { as: "span", variant: "label-xs", children: children })] }));
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=tag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../src/components/tag/tag.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAErD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS;IACT,UAAU;IACV,aAAa;IACb,eAAe;IACf,aAAa;IACb,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,WAAW;IACX,aAAa;IACb,cAAc;IACd,gBAAgB;CACR,CAAC;AAoBX;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,GAAG,CAAgC,KAAkB;IACnE,MAAM,EACJ,EAAE,EAAE,SAAS,GAAG,KAAK,EACrB,SAAS,EACT,IAAI,GAAG,IAAI,EACX,OAAO,GAAG,SAAS,EACnB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,MAAC,SAAS,IACR,SAAS,EAAE,EAAE,CACX,YAAY,EACZ,cAAc,IAAI,EAAE,EACpB,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,OAAO,EAAE,EAC1D,SAAS,CACV,KACG,IAAI,KACJ,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,aAE1C,IAAI,IAAI,eAAM,SAAS,EAAC,iBAAiB,YAAE,IAAI,GAAQ,EACxD,KAAC,UAAU,IAAC,EAAE,EAAC,MAAM,EAAC,OAAO,EAAC,UAAU,YACrC,QAAQ,GACE,IACH,CACb,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vesper-text-area{width:100%;color:var(--vesper-text-primary)}.vesper-text-area::-ms-input-placeholder{color:var(--vesper-text-tertiary)}.vesper-text-area::placeholder{color:var(--vesper-text-tertiary)}.vesper-text-area{border:var(--vesper-stroke-base) solid var(--vesper-border-secondary);background:var(--vesper-tint-neutral-100)}.vesper-text-area:focus-visible{border:var(--vesper-stroke-base) solid var(--vesper-border-strong)}.vesper-text-area:disabled{border:var(--vesper-stroke-base) solid var(--vesper-border-disabled);background:var(--vesper-tint-neutral-200);color:var(--vesper-text-tertiary)}.vesper-text-area:disabled::-ms-input-placeholder{color:var(--vesper-text-disabled)}.vesper-text-area:disabled::placeholder{color:var(--vesper-text-disabled)}.vesper-text-area:-webkit-autofill{transition:background-color 2147480000s step-end}.vesper-text-area:autofill{transition:background-color 2147480000s step-end}.vesper-text-area:-webkit-autofill{transition:background-color 2147480000s step-end}.vesper-text-area-success{border:var(--vesper-stroke-base) solid var(--vesper-border-success-base)}.vesper-text-area-warning{border:var(--vesper-stroke-base) solid var(--vesper-border-warning-base)}.vesper-text-area-error{border:var(--vesper-stroke-base) solid var(--vesper-border-error-base)}.vesper-text-area-sm{border-radius:var(--vesper-radius-1);padding:.43125rem var(--vesper-spacing-2)}.vesper-text-area-md{border-radius:var(--vesper-radius-2);padding:.6375rem var(--vesper-spacing-3)}.vesper-text-area-lg{border-radius:var(--vesper-radius-2);padding:.9rem var(--vesper-spacing-3)}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { FormInputProps } from "../../utils/splitFormInputProps.js";
|
|
2
|
+
export declare const TEXT_AREA_SIZES: readonly ["sm", "md", "lg"];
|
|
3
|
+
export declare const TEXT_AREA_VARIANTS: readonly ["default", "warning", "success", "error"];
|
|
4
|
+
export type TextAreaSize = (typeof TEXT_AREA_SIZES)[number];
|
|
5
|
+
export type TextAreaVariant = (typeof TEXT_AREA_VARIANTS)[number];
|
|
6
|
+
export interface TextAreaProps extends FormInputProps<"textarea", "textarea"> {
|
|
7
|
+
/** The fixed height of the textarea in pixels, scaling with base rem size. @default 104 */
|
|
8
|
+
height?: number;
|
|
9
|
+
/** Whether to allow vertical resizing of the underling `textarea` element. @default false */
|
|
10
|
+
resizeable?: boolean;
|
|
11
|
+
/** The size of the textarea. Affects padding and typography. @default md */
|
|
12
|
+
size?: TextAreaSize;
|
|
13
|
+
/** The visual variant of the text input, which determines its color scheme. @default default */
|
|
14
|
+
variant?: TextAreaVariant;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* A form-ready textarea component supporting different visual variants.
|
|
18
|
+
*
|
|
19
|
+
* @param {TextAreaSize} [props.size] - (optional) The size of the text input. @default md
|
|
20
|
+
* @param {TextAreaVariant} [props.variant] - (optional) The visual variant determining color scheme. @default default
|
|
21
|
+
* @param {string} [props.placeholder] - (optional) Placeholder text for the input
|
|
22
|
+
* @param {number} [props.height] - (optional) The fixed height of the textarea in pixels, scaling with base rem size. @default 104
|
|
23
|
+
*
|
|
24
|
+
* You may also pass any additional props to the underlying `textarea` element
|
|
25
|
+
|
|
26
|
+
* @example
|
|
27
|
+
* <TextArea
|
|
28
|
+
* aria-label="Bio"
|
|
29
|
+
* placeholder="Tell us about yourself"
|
|
30
|
+
* height={120}
|
|
31
|
+
* maxLength={500}
|
|
32
|
+
* />
|
|
33
|
+
*/
|
|
34
|
+
export declare function TextArea(props: TextAreaProps): import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
//# sourceMappingURL=text-area.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-area.d.ts","sourceRoot":"","sources":["../../../src/components/text-area/text-area.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,eAAO,MAAM,eAAe,6BAA8B,CAAC;AAE3D,eAAO,MAAM,kBAAkB,qDAKrB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC;IAC3E,2FAA2F;IAC3F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6FAA6F;IAC7F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,gGAAgG;IAChG,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAQD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAoC5C"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { Typography, } from "../typography/typography.js";
|
|
4
|
+
import { cn } from "../../utils/cn.js";
|
|
5
|
+
export const TEXT_AREA_SIZES = ["sm", "md", "lg"];
|
|
6
|
+
export const TEXT_AREA_VARIANTS = [
|
|
7
|
+
"default",
|
|
8
|
+
"warning",
|
|
9
|
+
"success",
|
|
10
|
+
"error",
|
|
11
|
+
];
|
|
12
|
+
const TEXTAREA_TYPOGRAPHY = {
|
|
13
|
+
sm: "copy-xs",
|
|
14
|
+
md: "copy-sm",
|
|
15
|
+
lg: "copy-md",
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* A form-ready textarea component supporting different visual variants.
|
|
19
|
+
*
|
|
20
|
+
* @param {TextAreaSize} [props.size] - (optional) The size of the text input. @default md
|
|
21
|
+
* @param {TextAreaVariant} [props.variant] - (optional) The visual variant determining color scheme. @default default
|
|
22
|
+
* @param {string} [props.placeholder] - (optional) Placeholder text for the input
|
|
23
|
+
* @param {number} [props.height] - (optional) The fixed height of the textarea in pixels, scaling with base rem size. @default 104
|
|
24
|
+
*
|
|
25
|
+
* You may also pass any additional props to the underlying `textarea` element
|
|
26
|
+
|
|
27
|
+
* @example
|
|
28
|
+
* <TextArea
|
|
29
|
+
* aria-label="Bio"
|
|
30
|
+
* placeholder="Tell us about yourself"
|
|
31
|
+
* height={120}
|
|
32
|
+
* maxLength={500}
|
|
33
|
+
* />
|
|
34
|
+
*/
|
|
35
|
+
export function TextArea(props) {
|
|
36
|
+
const { variant = "default", size = "md", resizeable = false,
|
|
37
|
+
// props that should get forwarded to the textarea element
|
|
38
|
+
height = 104, className, placeholder = " ", style, ...rest } = props;
|
|
39
|
+
return (_jsx(Typography, { ...rest, className: cn("vesper-text-area", `vesper-text-area-${size}`, `vesper-text-area-${variant}`, className), as: "textarea", variant: TEXTAREA_TYPOGRAPHY[size], placeholder: props.required && placeholder.trim()
|
|
40
|
+
? `${placeholder.trim()} *`
|
|
41
|
+
: placeholder, style: {
|
|
42
|
+
height: `${height / 16}rem`,
|
|
43
|
+
resize: resizeable ? "block" : "none",
|
|
44
|
+
...style,
|
|
45
|
+
} }));
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=text-area.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-area.js","sourceRoot":"","sources":["../../../src/components/text-area/text-area.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EACL,UAAU,GAEX,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAGhC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAE3D,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;CACC,CAAC;AAiBX,MAAM,mBAAmB,GAA+C;IACtE,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;CACd,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,EACJ,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,IAAI,EACX,UAAU,GAAG,KAAK;IAClB,0DAA0D;IAC1D,MAAM,GAAG,GAAG,EACZ,SAAS,EACT,WAAW,GAAG,GAAG,EACjB,KAAK,EACL,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,KAAC,UAAU,OACL,IAAI,EACR,SAAS,EAAE,EAAE,CACX,kBAAkB,EAClB,oBAAoB,IAAI,EAAE,EAC1B,oBAAoB,OAAO,EAAE,EAC7B,SAAS,CACV,EACD,EAAE,EAAC,UAAU,EACb,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAClC,WAAW,EACT,KAAK,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE;YAClC,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI;YAC3B,CAAC,CAAC,WAAW,EAEjB,KAAK,EAAE;YACL,MAAM,EAAE,GAAG,MAAM,GAAG,EAAE,KAAK;YAC3B,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YACrC,GAAG,KAAK;SACT,GACD,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vesper-text-button{justify-content:center;align-items:center;gap:var(--vesper-spacing-1);text-transform:uppercase;width:fit-content;font-weight:400;font-family:var(--vesper-font-mono);line-height:var(--vesper-leading-none);letter-spacing:var(--vesper-tracking-normal);cursor:pointer;border-bottom:var(--vesper-stroke-base) solid transparent;display:inline-flex}.vesper-text-button:focus-visible{box-shadow:var(--vesper-shadow-focus-ring)}@media (forced-colors:active){.vesper-text-button:focus-visible{outline:var(--vesper-stroke-strong) solid CanvasText}}.vesper-text-button-lg{height:1rem;font-size:1rem}.vesper-text-button-lg .vesper-text-button-icon{width:1rem;height:1rem}.vesper-text-button-md{height:.875rem;font-size:.875rem}.vesper-text-button-md .vesper-text-button-icon{width:.875rem;height:.875rem}.vesper-text-button-sm{height:.75rem;font-size:.75rem}.vesper-text-button-sm .vesper-text-button-icon{width:.75rem;height:.75rem}.vesper-text-button-subtle{color:var(--vesper-text-tertiary)}.vesper-text-button-subtle .vesper-text-button-icon{color:var(--vesper-icon-tertiary)}.vesper-text-button-subtle:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-primary)}.vesper-text-button-contrast{color:var(--vesper-text-primary)}.vesper-text-button-contrast .vesper-text-button-icon{color:var(--vesper-icon-primary)}.vesper-text-button-contrast:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-strong)}.vesper-text-button-accent{color:var(--vesper-text-accent)}.vesper-text-button-accent .vesper-text-button-icon{color:var(--vesper-icon-accent)}.vesper-text-button-accent:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-accent-base)}.vesper-text-button-danger{color:var(--vesper-text-error)}.vesper-text-button-danger .vesper-text-button-icon{color:var(--vesper-icon-error)}.vesper-text-button-danger:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-error-base)}.vesper-text-button-warning{color:var(--vesper-text-warning)}.vesper-text-button-warning .vesper-text-button-icon{color:var(--vesper-icon-warning)}.vesper-text-button-warning:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-warning-base)}.vesper-text-button-success{color:var(--vesper-text-success)}.vesper-text-button-success .vesper-text-button-icon{color:var(--vesper-icon-success)}.vesper-text-button-success:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-success-base)}.vesper-text-button-info{color:var(--vesper-text-info)}.vesper-text-button-info .vesper-text-button-icon{color:var(--vesper-icon-info)}.vesper-text-button-info:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-info-base)}.vesper-text-button-purple{color:var(--vesper-text-brand-purple)}.vesper-text-button-purple .vesper-text-button-icon{color:var(--vesper-icon-brand-purple)}.vesper-text-button-purple:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-brand-purple-base)}.vesper-text-button-pink{color:var(--vesper-text-brand-pink)}.vesper-text-button-pink .vesper-text-button-icon{color:var(--vesper-icon-brand-pink)}.vesper-text-button-pink:hover{border-bottom:var(--vesper-stroke-base) solid var(--vesper-border-brand-pink-base)}.vesper-text-button-disabled{color:var(--vesper-text-disabled)}.vesper-text-button-disabled .vesper-text-button-icon{color:var(--vesper-icon-disabled)}.vesper-text-button-disabled{pointer-events:none}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { ElementType, ReactNode } from "react";
|
|
2
|
+
import type { Polymorphic } from "../../utils/polymorphic.js";
|
|
3
|
+
export declare const TEXT_BUTTON_SIZES: readonly ["sm", "md", "lg"];
|
|
4
|
+
export declare const TEXT_BUTTON_VARIANTS: readonly ["subtle", "contrast", "accent", "success", "warning", "danger", "info", "purple", "pink"];
|
|
5
|
+
export type TextButtonSize = (typeof TEXT_BUTTON_SIZES)[number];
|
|
6
|
+
export type TextButtonVariant = (typeof TEXT_BUTTON_VARIANTS)[number];
|
|
7
|
+
export type TextButtonProps<E extends ElementType = "button"> = Polymorphic<{
|
|
8
|
+
/** The size of the text button. Affects font size. @default md */
|
|
9
|
+
size?: TextButtonSize;
|
|
10
|
+
/** The color variant of the text button. @default accent */
|
|
11
|
+
variant?: TextButtonVariant;
|
|
12
|
+
/** When `true`, renders the text button in a disabled state and prevents interaction. @default false */
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
/** An optional icon element rendered to the left of the text button content. */
|
|
15
|
+
iconLeft?: ReactNode;
|
|
16
|
+
/** An optional icon element rendered to the right of the text button content. */
|
|
17
|
+
iconRight?: ReactNode;
|
|
18
|
+
}, E>;
|
|
19
|
+
/**
|
|
20
|
+
* A polymorphic text-only button component with color variants and optional leading/trailing icons, rendered without a background.
|
|
21
|
+
*
|
|
22
|
+
* Unlike `Button` (which renders with a filled or outlined background), `IconButton` (which displays a single icon without text), and `SplitButton` (which pairs a primary action with a dropdown menu), `TextButton` provides a minimal, text-styled control.
|
|
23
|
+
*
|
|
24
|
+
* @see packages/vesper/src/components/button/button.tsx
|
|
25
|
+
* @see packages/vesper/src/components/icon-button/icon-button.tsx
|
|
26
|
+
* @see packages/vesper/src/components/split-button/split-button.tsx
|
|
27
|
+
*
|
|
28
|
+
* @param {TextButtonSize} [props.size] - (optional) The size of the text button. @default md
|
|
29
|
+
* @param {TextButtonVariant} [props.variant] - (optional) The color variant. @default accent
|
|
30
|
+
* @param {boolean} [props.disabled] - (optional) Renders the button in a disabled state. @default false
|
|
31
|
+
* @param {ReactNode} [props.iconLeft] - (optional) An icon rendered to the left of the content
|
|
32
|
+
* @param {ReactNode} [props.iconRight] - (optional) An icon rendered to the right of the content
|
|
33
|
+
* @param {React.ElementType} [props.as] - (optional) Element type to render. @default button
|
|
34
|
+
*
|
|
35
|
+
* You may also pass any additional props to the underlying element
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* <TextButton onClick={handleClick}>Learn more</TextButton>
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* <TextButton variant="danger" iconRight={<ArrowRight />} as="a" href="/docs">
|
|
42
|
+
* View documentation
|
|
43
|
+
* </TextButton>
|
|
44
|
+
*/
|
|
45
|
+
export declare function TextButton<E extends ElementType>(props: TextButtonProps<E>): import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
//# sourceMappingURL=text-button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-button.d.ts","sourceRoot":"","sources":["../../../src/components/text-button/text-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,iBAAiB,6BAA8B,CAAC;AAE7D,eAAO,MAAM,oBAAoB,qGAUvB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,WAAW,GAAG,QAAQ,IAAI,WAAW,CACzE;IACE,kEAAkE;IAClE,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,wGAAwG;IACxG,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iFAAiF;IACjF,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,EACD,CAAC,CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,2CA+B1E"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../../utils/cn.js";
|
|
3
|
+
import { getDisabledProps } from "../../utils/getDisabledProps.js";
|
|
4
|
+
export const TEXT_BUTTON_SIZES = ["sm", "md", "lg"];
|
|
5
|
+
export const TEXT_BUTTON_VARIANTS = [
|
|
6
|
+
"subtle",
|
|
7
|
+
"contrast",
|
|
8
|
+
"accent",
|
|
9
|
+
"success",
|
|
10
|
+
"warning",
|
|
11
|
+
"danger",
|
|
12
|
+
"info",
|
|
13
|
+
"purple",
|
|
14
|
+
"pink",
|
|
15
|
+
];
|
|
16
|
+
/**
|
|
17
|
+
* A polymorphic text-only button component with color variants and optional leading/trailing icons, rendered without a background.
|
|
18
|
+
*
|
|
19
|
+
* Unlike `Button` (which renders with a filled or outlined background), `IconButton` (which displays a single icon without text), and `SplitButton` (which pairs a primary action with a dropdown menu), `TextButton` provides a minimal, text-styled control.
|
|
20
|
+
*
|
|
21
|
+
* @see packages/vesper/src/components/button/button.tsx
|
|
22
|
+
* @see packages/vesper/src/components/icon-button/icon-button.tsx
|
|
23
|
+
* @see packages/vesper/src/components/split-button/split-button.tsx
|
|
24
|
+
*
|
|
25
|
+
* @param {TextButtonSize} [props.size] - (optional) The size of the text button. @default md
|
|
26
|
+
* @param {TextButtonVariant} [props.variant] - (optional) The color variant. @default accent
|
|
27
|
+
* @param {boolean} [props.disabled] - (optional) Renders the button in a disabled state. @default false
|
|
28
|
+
* @param {ReactNode} [props.iconLeft] - (optional) An icon rendered to the left of the content
|
|
29
|
+
* @param {ReactNode} [props.iconRight] - (optional) An icon rendered to the right of the content
|
|
30
|
+
* @param {React.ElementType} [props.as] - (optional) Element type to render. @default button
|
|
31
|
+
*
|
|
32
|
+
* You may also pass any additional props to the underlying element
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* <TextButton onClick={handleClick}>Learn more</TextButton>
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* <TextButton variant="danger" iconRight={<ArrowRight />} as="a" href="/docs">
|
|
39
|
+
* View documentation
|
|
40
|
+
* </TextButton>
|
|
41
|
+
*/
|
|
42
|
+
export function TextButton(props) {
|
|
43
|
+
const { as: Component = "button", size = "md", variant = "accent", iconLeft, iconRight, children, className, disabled, ...rest } = props;
|
|
44
|
+
return (_jsxs(Component, { className: cn("vesper-text-button", `vesper-text-button-${size}`, `vesper-text-button-${disabled ? "disabled" : variant}`, className), ...rest, ...getDisabledProps(Component, !!disabled), children: [iconLeft && _jsx("span", { className: "vesper-text-button-icon", children: iconLeft }), children, iconRight && (_jsx("span", { className: "vesper-text-button-icon", children: iconRight }))] }));
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=text-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-button.js","sourceRoot":"","sources":["../../../src/components/text-button/text-button.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAE7D,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,MAAM;CACE,CAAC;AAsBX;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,UAAU,CAAwB,KAAyB;IACzE,MAAM,EACJ,EAAE,EAAE,SAAS,GAAG,QAAQ,EACxB,IAAI,GAAG,IAAI,EACX,OAAO,GAAG,QAAQ,EAClB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,MAAC,SAAS,IACR,SAAS,EAAE,EAAE,CACX,oBAAoB,EACpB,sBAAsB,IAAI,EAAE,EAC5B,sBAAsB,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,EACvD,SAAS,CACV,KACG,IAAI,KACJ,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,aAE1C,QAAQ,IAAI,eAAM,SAAS,EAAC,yBAAyB,YAAE,QAAQ,GAAQ,EACvE,QAAQ,EACR,SAAS,IAAI,CACZ,eAAM,SAAS,EAAC,yBAAyB,YAAE,SAAS,GAAQ,CAC7D,IACS,CACb,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vesper-text-input{border:var(--vesper-stroke-base) solid var(--vesper-border-secondary);background:var(--vesper-tint-neutral-100);align-items:center;display:flex}.vesper-text-input:has(.vesper-text-input-field:focus-visible){border:var(--vesper-stroke-base) solid var(--vesper-border-strong);box-shadow:var(--vesper-shadow-focus-ring)}@media (forced-colors:active){.vesper-text-input:has(.vesper-text-input-field:focus-visible){outline:var(--vesper-stroke-strong) solid CanvasText}}.vesper-text-input:has(.vesper-text-input-icon:focus-visible){border:var(--vesper-stroke-base) solid var(--vesper-border-strong);box-shadow:var(--vesper-shadow-focus-ring)}@media (forced-colors:active){.vesper-text-input:has(.vesper-text-input-icon:focus-visible){outline:var(--vesper-stroke-strong) solid CanvasText}}.vesper-text-input:has(.vesper-text-input-field:disabled){border:var(--vesper-stroke-base) solid var(--vesper-border-disabled);background:var(--vesper-tint-neutral-200)}.vesper-text-input:has(.vesper-text-input-field:disabled) .vesper-text-input-icon{color:var(--vesper-icon-disabled);pointer-events:none}.vesper-text-input-success{border:var(--vesper-stroke-base) solid var(--vesper-border-success-base)}.vesper-text-input-warning{border:var(--vesper-stroke-base) solid var(--vesper-border-warning-base)}.vesper-text-input-error{border:var(--vesper-stroke-base) solid var(--vesper-border-error-base)}.vesper-text-input-icon{color:var(--vesper-icon-secondary);flex-shrink:0}.vesper-text-input-icon:where(button:not(:disabled)){cursor:pointer;position:relative}.vesper-text-input-icon:where(button:not(:disabled)):after{content:"";inset:calc(var(--vesper-spacing-micro) * -4);position:absolute}.vesper-text-input-field{width:100%}.vesper-text-input-field:focus-visible{box-shadow:none;outline:none}.vesper-text-input-field:-webkit-autofill{transition:background-color 2147480000s step-end}.vesper-text-input-field:autofill{transition:background-color 2147480000s step-end}.vesper-text-input-field:-webkit-autofill{transition:background-color 2147480000s step-end}.vesper-text-input-field:disabled{color:var(--vesper-text-tertiary)}.vesper-text-input-field:disabled::-ms-input-placeholder{color:var(--vesper-text-disabled)}.vesper-text-input-field:disabled::placeholder{color:var(--vesper-text-disabled)}.vesper-text-input-field::-webkit-search-decoration{-ms-appearance:none;appearance:none;display:none}.vesper-text-input-field::-webkit-search-cancel-button{-ms-appearance:none;appearance:none;display:none}.vesper-text-input-field::-webkit-search-results-button{-ms-appearance:none;appearance:none;display:none}.vesper-text-input-field::-webkit-search-results-decoration{-ms-appearance:none;appearance:none;display:none}.vesper-text-input-sm{gap:var(--vesper-spacing-1);padding:0 var(--vesper-spacing-2);border-radius:var(--vesper-radius-1);height:2rem}.vesper-text-input-sm .vesper-text-input-icon{width:.875rem;height:.875rem}.vesper-text-input-sm .vesper-text-input-field{padding:.43125rem 0}.vesper-text-input-md{gap:var(--vesper-spacing-2);padding:0 var(--vesper-spacing-3);border-radius:var(--vesper-radius-2);height:2.5rem}.vesper-text-input-md .vesper-text-input-icon{width:1rem;height:1rem}.vesper-text-input-md .vesper-text-input-field{padding:.6375rem 0}.vesper-text-input-lg{gap:var(--vesper-spacing-2);padding:0 var(--vesper-spacing-3);border-radius:var(--vesper-radius-2);height:3rem}.vesper-text-input-lg .vesper-text-input-icon{width:1.25rem;height:1.25rem}.vesper-text-input-lg .vesper-text-input-field{padding:.9rem 0}.vesper-text-input-field{color:var(--vesper-text-primary)}.vesper-text-input-field::-ms-input-placeholder{color:var(--vesper-text-tertiary)}.vesper-text-input-field::placeholder{color:var(--vesper-text-tertiary)}.vesper-text-input-field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.vesper-text-input-field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.vesper-text-input-field[type=number]{-ms-appearance:textfield;appearance:textfield}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { type MouseEvent, type ReactNode } from "react";
|
|
2
|
+
import { FormInputProps } from "../../utils/splitFormInputProps.js";
|
|
3
|
+
export declare const TEXT_INPUT_SIZES: readonly ["sm", "md", "lg"];
|
|
4
|
+
export declare const TEXT_INPUT_VARIANTS: readonly ["default", "warning", "success", "error"];
|
|
5
|
+
export type TextInputSize = (typeof TEXT_INPUT_SIZES)[number];
|
|
6
|
+
export type TextInputVariant = (typeof TEXT_INPUT_VARIANTS)[number];
|
|
7
|
+
export interface TextInputProps extends FormInputProps<"div", "input"> {
|
|
8
|
+
/** The size of the text input. Affects padding and typography. @default md */
|
|
9
|
+
size?: TextInputSize;
|
|
10
|
+
/** The visual variant of the text input, which determines its color scheme. @default default */
|
|
11
|
+
variant?: TextInputVariant;
|
|
12
|
+
/** An optional icon element rendered to the left of the input field. */
|
|
13
|
+
iconLeft?: ReactNode;
|
|
14
|
+
/** Optional click handler for the left icon. When provided, the icon is rendered as a `<button>` instead of a `<span>`. */
|
|
15
|
+
iconLeftAction?: {
|
|
16
|
+
/** The click event handler */
|
|
17
|
+
handler(e: MouseEvent<HTMLButtonElement>): void;
|
|
18
|
+
/** An accessible aria-label for the icon */
|
|
19
|
+
ariaLabel: string;
|
|
20
|
+
};
|
|
21
|
+
/** An optional icon element rendered to the right of the input field. */
|
|
22
|
+
iconRight?: ReactNode;
|
|
23
|
+
/** Optional click handler for the right icon. When provided, the icon is rendered as a `<button>` instead of a `<span>`. */
|
|
24
|
+
iconRightAction?: {
|
|
25
|
+
/** The click event handler */
|
|
26
|
+
handler(e: MouseEvent<HTMLButtonElement>): void;
|
|
27
|
+
/** An accessible aria-label for the icon */
|
|
28
|
+
ariaLabel: string;
|
|
29
|
+
};
|
|
30
|
+
/** The HTML input type. Determines the browser's native input behavior and keyboard. @default text */
|
|
31
|
+
type?: "text" | "email" | "password" | "url" | "tel" | "search" | "number" | "date" | "datetime-local" | "week" | "month" | "time";
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* A text input component supporting different visual variants, as well as leading and trailing icons.
|
|
35
|
+
*
|
|
36
|
+
* @param {TextInputSize} [props.size] - (optional) The size of the text input. @default md
|
|
37
|
+
* @param {TextInputVariant} [props.variant] - (optional) The visual variant determining color scheme. @default default
|
|
38
|
+
* @param {ReactNode} [props.iconLeft] - (optional) An element rendered to the left of the input field
|
|
39
|
+
* @param {ReactNode} [props.iconRight] - (optional) An element rendered to the right of the input field
|
|
40
|
+
* @param {string} [props.type] - (optional) The HTML input type. @default text
|
|
41
|
+
* @param {string} [props.placeholder] - (optional) Placeholder text for the input
|
|
42
|
+
*
|
|
43
|
+
* You may also pass any additional props to the underlying `div` wrapper or `input` element
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* <TextInput aria-label="Email" name="email" type="email" required />
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* <TextInput
|
|
50
|
+
* variant="error"
|
|
51
|
+
* aria-label="Username"
|
|
52
|
+
* value={username}
|
|
53
|
+
* onChange={(e) => setUsername(e.target.value)}
|
|
54
|
+
* />
|
|
55
|
+
*/
|
|
56
|
+
export declare function TextInput(props: TextInputProps): import("react/jsx-runtime").JSX.Element;
|
|
57
|
+
//# sourceMappingURL=text-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-input.d.ts","sourceRoot":"","sources":["../../../src/components/text-input/text-input.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQxD,OAAO,EACL,cAAc,EAEf,MAAM,6BAA6B,CAAC;AAErC,eAAO,MAAM,gBAAgB,6BAA8B,CAAC;AAE5D,eAAO,MAAM,mBAAmB,qDAKtB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC;IACpE,8EAA8E;IAC9E,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,gGAAgG;IAChG,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,2HAA2H;IAC3H,cAAc,CAAC,EAAE;QACf,8BAA8B;QAC9B,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;QAChD,4CAA4C;QAC5C,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,yEAAyE;IACzE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,4HAA4H;IAC5H,eAAe,CAAC,EAAE;QAChB,8BAA8B;QAC9B,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;QAChD,4CAA4C;QAC5C,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,sGAAsG;IACtG,IAAI,CAAC,EACD,MAAM,GACN,OAAO,GACP,UAAU,GACV,KAAK,GACL,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,gBAAgB,GAChB,MAAM,GACN,OAAO,GACP,MAAM,CAAC;CACZ;AAOD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CA6D9C"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Typography, } from "../typography/typography.js";
|
|
4
|
+
import { cn } from "../../utils/cn.js";
|
|
5
|
+
import { splitFormInputProps, } from "../../utils/splitFormInputProps.js";
|
|
6
|
+
export const TEXT_INPUT_SIZES = ["sm", "md", "lg"];
|
|
7
|
+
export const TEXT_INPUT_VARIANTS = [
|
|
8
|
+
"default",
|
|
9
|
+
"warning",
|
|
10
|
+
"success",
|
|
11
|
+
"error",
|
|
12
|
+
];
|
|
13
|
+
const TEXT_INPUT_TYPOGRAPHY = {
|
|
14
|
+
sm: "copy-xs",
|
|
15
|
+
md: "copy-sm",
|
|
16
|
+
lg: "copy-md",
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* A text input component supporting different visual variants, as well as leading and trailing icons.
|
|
20
|
+
*
|
|
21
|
+
* @param {TextInputSize} [props.size] - (optional) The size of the text input. @default md
|
|
22
|
+
* @param {TextInputVariant} [props.variant] - (optional) The visual variant determining color scheme. @default default
|
|
23
|
+
* @param {ReactNode} [props.iconLeft] - (optional) An element rendered to the left of the input field
|
|
24
|
+
* @param {ReactNode} [props.iconRight] - (optional) An element rendered to the right of the input field
|
|
25
|
+
* @param {string} [props.type] - (optional) The HTML input type. @default text
|
|
26
|
+
* @param {string} [props.placeholder] - (optional) Placeholder text for the input
|
|
27
|
+
*
|
|
28
|
+
* You may also pass any additional props to the underlying `div` wrapper or `input` element
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* <TextInput aria-label="Email" name="email" type="email" required />
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* <TextInput
|
|
35
|
+
* variant="error"
|
|
36
|
+
* aria-label="Username"
|
|
37
|
+
* value={username}
|
|
38
|
+
* onChange={(e) => setUsername(e.target.value)}
|
|
39
|
+
* />
|
|
40
|
+
*/
|
|
41
|
+
export function TextInput(props) {
|
|
42
|
+
const { iconLeft, iconLeftAction, iconRight, iconRightAction, variant = "default", size = "md", type = "text", className, placeholder = " ", ...rest } = props;
|
|
43
|
+
const { ariaProps, controlProps, formProps, wrapperProps } = splitFormInputProps(rest);
|
|
44
|
+
return (_jsxs("div", { ...wrapperProps, className: cn("vesper-text-input", `vesper-text-input-${size}`, `vesper-text-input-${variant}`, className), children: [iconLeft && (_jsx(TextInputIcon, { ariaLabel: iconLeftAction?.ariaLabel, onClick: iconLeftAction?.handler, disabled: formProps.disabled, children: iconLeft })), _jsx(Typography, { ...ariaProps, ...controlProps, ...formProps, as: "input", variant: TEXT_INPUT_TYPOGRAPHY[size], className: "vesper-text-input-field", type: type, placeholder: formProps.required && placeholder.trim()
|
|
45
|
+
? `${placeholder.trim()} *`
|
|
46
|
+
: placeholder }), iconRight && (_jsx(TextInputIcon, { ariaLabel: iconRightAction?.ariaLabel, onClick: iconRightAction?.handler, disabled: formProps.disabled, children: iconRight }))] }));
|
|
47
|
+
}
|
|
48
|
+
function TextInputIcon({ ariaLabel, onClick, children, disabled, }) {
|
|
49
|
+
if (onClick) {
|
|
50
|
+
return (_jsx("button", { "aria-label": ariaLabel, onClick: onClick, disabled: disabled, type: "button", className: "vesper-text-input-icon", children: children }));
|
|
51
|
+
}
|
|
52
|
+
return _jsx("span", { className: "vesper-text-input-icon", children: children });
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=text-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-input.js","sourceRoot":"","sources":["../../../src/components/text-input/text-input.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,OAAO,EACL,UAAU,GAEX,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAEL,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AAErC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAE5D,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;CACC,CAAC;AA4CX,MAAM,qBAAqB,GAAgD;IACzE,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;CACd,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EACJ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,eAAe,EACf,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,MAAM,EACb,SAAS,EACT,WAAW,GAAG,GAAG,EACjB,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,GACxD,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAE5B,OAAO,CACL,kBACM,YAAY,EAChB,SAAS,EAAE,EAAE,CACX,mBAAmB,EACnB,qBAAqB,IAAI,EAAE,EAC3B,qBAAqB,OAAO,EAAE,EAC9B,SAAS,CACV,aAEA,QAAQ,IAAI,CACX,KAAC,aAAa,IACZ,SAAS,EAAE,cAAc,EAAE,SAAS,EACpC,OAAO,EAAE,cAAc,EAAE,OAAO,EAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ,YAE3B,QAAQ,GACK,CACjB,EACD,KAAC,UAAU,OACL,SAAS,KACT,YAAY,KACZ,SAAS,EACb,EAAE,EAAC,OAAO,EACV,OAAO,EAAE,qBAAqB,CAAC,IAAI,CAAC,EACpC,SAAS,EAAC,yBAAyB,EACnC,IAAI,EAAE,IAAI,EACV,WAAW,EACT,SAAS,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE;oBACtC,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI;oBAC3B,CAAC,CAAC,WAAW,GAEjB,EACD,SAAS,IAAI,CACZ,KAAC,aAAa,IACZ,SAAS,EAAE,eAAe,EAAE,SAAS,EACrC,OAAO,EAAE,eAAe,EAAE,OAAO,EACjC,QAAQ,EAAE,SAAS,CAAC,QAAQ,YAE3B,SAAS,GACI,CACjB,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,QAAQ,GAMT;IACC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,+BACc,SAAS,EACrB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,wBAAwB,YAEjC,QAAQ,GACF,CACV,CAAC;IACJ,CAAC;IAED,OAAO,eAAM,SAAS,EAAC,wBAAwB,YAAE,QAAQ,GAAQ,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vesper-theme-switcher{background:var(--vesper-background-primary);outline:var(--vesper-stroke-base) solid var(--vesper-border-primary);width:fit-content;display:inline-flex;position:relative}.vesper-theme-switcher-lg{border-radius:var(--vesper-radius-2);height:2rem}.vesper-theme-switcher-lg .vesper-theme-switcher-button{border-radius:var(--vesper-radius-2);padding:.375rem}.vesper-theme-switcher-lg .vesper-theme-switcher-indicator{border-radius:var(--vesper-radius-2)}.vesper-theme-switcher-sm{border-radius:var(--vesper-radius-1);height:1.5rem}.vesper-theme-switcher-sm .vesper-theme-switcher-button{border-radius:var(--vesper-radius-1);padding:.3125rem}.vesper-theme-switcher-sm .vesper-theme-switcher-indicator{border-radius:var(--vesper-radius-1)}.vesper-theme-switcher-button{cursor:pointer;color:var(--vesper-icon-secondary);transition:color var(--vesper-transition-duration-fast) ease;aspect-ratio:1;height:100%}@media (forced-colors:active){.vesper-theme-switcher-button:focus-visible{outline:var(--vesper-stroke-strong) solid CanvasText}}@media not (forced-colors:active){.vesper-theme-switcher-button:focus-visible{box-shadow:var(--vesper-shadow-focus-ring)}}.vesper-theme-switcher-indicator{top:calc(var(--vesper-spacing-micro) * -1);left:calc(var(--vesper-spacing-micro) * -1);height:calc(100% + var(--vesper-spacing-half));aspect-ratio:1;border:var(--vesper-stroke-base) solid var(--vesper-border-primary);transition:transform var(--vesper-transition-duration-fast) ease;pointer-events:none;position:absolute}html[data-vesper-theme=system] .vesper-theme-switcher-indicator{transform:translate(0)}html[data-vesper-theme=system] .vesper-theme-switcher-button-system{color:var(--vesper-icon-primary)}html[data-vesper-theme=light] .vesper-theme-switcher-indicator{transform:translateX(calc(100% - var(--vesper-spacing-half)))}html[data-vesper-theme=light] .vesper-theme-switcher-button-light{color:var(--vesper-icon-primary)}html[data-vesper-theme=dark] .vesper-theme-switcher-indicator{transform:translateX(calc(200% - var(--vesper-spacing-1)))}html[data-vesper-theme=dark] .vesper-theme-switcher-button-dark{color:var(--vesper-icon-primary)}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type ComponentProps } from "react";
|
|
2
|
+
export declare const THEME_SWITCHER_SIZES: readonly ["sm", "lg"];
|
|
3
|
+
export type ThemeSwitcherSize = (typeof THEME_SWITCHER_SIZES)[number];
|
|
4
|
+
export type VesperTheme = "light" | "dark" | "system";
|
|
5
|
+
export interface ThemeSwitcherProps extends Omit<ComponentProps<"div">, "children"> {
|
|
6
|
+
/** The size of the theme switcher. @default lg */
|
|
7
|
+
size?: ThemeSwitcherSize;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* A three-way toggle for switching between system, light, and dark color themes by setting the `data-vesper-theme` attribute on the document root.
|
|
11
|
+
*
|
|
12
|
+
* @param {ThemeSwitcherSize} [props.size] - (optional) The size of the theme switcher. @default lg
|
|
13
|
+
*
|
|
14
|
+
* You may also pass any additional props to the underlying `div` element
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* <ThemeSwitcher />
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* <ThemeSwitcher size="sm" />
|
|
21
|
+
*/
|
|
22
|
+
export declare function ThemeSwitcher(props: ThemeSwitcherProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=theme-switcher.d.ts.map
|