@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,83 @@
|
|
|
1
|
+
import { ComponentProps, type ComponentPropsWithoutRef, type Ref } from "react";
|
|
2
|
+
import { type ButtonProps } from "../button/button.js";
|
|
3
|
+
export declare const MODAL_BUTTONS_ALIGNMENTS: readonly ["start", "end", "fill", "between"];
|
|
4
|
+
export type ModalButtonsAlignment = (typeof MODAL_BUTTONS_ALIGNMENTS)[number];
|
|
5
|
+
interface ModalRef {
|
|
6
|
+
open(): void;
|
|
7
|
+
close(): void;
|
|
8
|
+
}
|
|
9
|
+
export interface ModalProps extends Omit<ComponentPropsWithoutRef<"dialog">, "open"> {
|
|
10
|
+
/** The title text displayed in the modal header. Also used for the modal's `aria-labelledby` association. */
|
|
11
|
+
title: string;
|
|
12
|
+
/** A description displayed below the title in the modal header. Also used for the modal's `aria-describedby` association. */
|
|
13
|
+
description: string;
|
|
14
|
+
/** The width of the modal container. Accepts a number (interpreted as pixels) or a CSS string value. @default 452 */
|
|
15
|
+
width?: number | string;
|
|
16
|
+
/**
|
|
17
|
+
* The maximum height of the modal container. Accepts a number (interpreted as pixels) or a CSS string value.
|
|
18
|
+
*
|
|
19
|
+
* The effective max height is the minimum of this value and `calc(100vh - var(--vesper-spacing-16))`, ensuring the modal never exceeds the viewport height minus spacing. @default 640.
|
|
20
|
+
*/
|
|
21
|
+
maxHeight?: number | string;
|
|
22
|
+
/** An optional array of button props to render as action buttons at the bottom of the modal. The last button defaults to `"primary"` variant; all others default to `"tertiary"`. */
|
|
23
|
+
buttons?: Omit<ButtonProps, "size" | "as">[];
|
|
24
|
+
/** Controls the horizontal alignment of the action buttons. @default end */
|
|
25
|
+
buttonsAlignment?: ModalButtonsAlignment;
|
|
26
|
+
/** A ref that exposes imperative `open()` and `close()` methods for controlling the modal. Obtained via the `useModal` hook. */
|
|
27
|
+
ref?: Ref<ModalRef>;
|
|
28
|
+
/** When `true`, clicking the backdrop outside the modal will close it. Defaults to `false`. */
|
|
29
|
+
closeOnClickOutside?: boolean;
|
|
30
|
+
/** When provided, wraps the modal content in a `<form>` element with the given form attributes, enabling native form submission from within the modal. @default false */
|
|
31
|
+
form?: Pick<ComponentProps<"form">, "id" | "name" | "action" | "method" | "encType" | "acceptCharset" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "spellCheck" | "noValidate" | "onReset" | "onSubmit" | "target" | "rel">;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* A dialog overlay component for focused user interactions, supporting forms, custom widths, and action buttons.
|
|
35
|
+
*
|
|
36
|
+
* Unlike `Sheet`, which can be configured to allow the user to continue to interact with the rest of the page, `Modal` is meant to always block user interaction with underlying content.
|
|
37
|
+
*
|
|
38
|
+
* @see packages/vesper/src/components/sheet/sheet.tsx
|
|
39
|
+
*
|
|
40
|
+
* @param {string} props.title - The title text displayed in the modal header
|
|
41
|
+
* @param {string} props.description - A description displayed below the title
|
|
42
|
+
* @param {number | string} [props.width] - (optional) The width of the modal container. @default 452
|
|
43
|
+
* @param {number | string} [props.maxHeight] - (optional) The maximum height of the modal container. @default 640
|
|
44
|
+
* @param {ButtonProps[]} [props.buttons] - (optional) Action buttons rendered at the bottom of the modal
|
|
45
|
+
* @param {ModalButtonsAlignment} [props.buttonsAlignment] - (optional) Horizontal alignment of action buttons. @default end
|
|
46
|
+
* @param {Ref<ModalRef>} [props.ref] - (optional) A ref exposing imperative `open()` and `close()` methods
|
|
47
|
+
* @param {boolean} [props.closeOnClickOutside] - (optional) Whether clicking the backdrop closes the modal. @default false
|
|
48
|
+
* @param {object} [props.form] - (optional) Form attributes to wrap the modal content in a `<form>` element
|
|
49
|
+
*
|
|
50
|
+
* You may also pass any additional props to the underlying `dialog` element
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* const { ref, open, close } = useModal();
|
|
54
|
+
*
|
|
55
|
+
* <Modal ref={ref} title="Confirm" description="Are you sure?">
|
|
56
|
+
* <p>This action cannot be undone.</p>
|
|
57
|
+
* </Modal>
|
|
58
|
+
* <Button onClick={open}>Open Modal</Button>
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* <Modal
|
|
62
|
+
* title="Create Item"
|
|
63
|
+
* description="Fill out the form below."
|
|
64
|
+
* form={{ onSubmit: handleSubmit }}
|
|
65
|
+
* buttons={[{ children: "Cancel", onClick: close }, { children: "Create" }]}
|
|
66
|
+
* />
|
|
67
|
+
*/
|
|
68
|
+
export declare function Modal(props: ModalProps): import("react/jsx-runtime").JSX.Element;
|
|
69
|
+
/**
|
|
70
|
+
* A convenience hook that returns a ref and imperative `open()` and `close()` functions for controlling a `Modal` component.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* const { ref, open, close } = useModal();
|
|
74
|
+
* <Modal ref={ref} title="Example" description="An example modal." />
|
|
75
|
+
* <Button onClick={open}>Open modal</Button>
|
|
76
|
+
*/
|
|
77
|
+
export declare function useModal(): {
|
|
78
|
+
open: () => void;
|
|
79
|
+
close: () => void;
|
|
80
|
+
ref: import("react").RefObject<ModalRef>;
|
|
81
|
+
};
|
|
82
|
+
export {};
|
|
83
|
+
//# sourceMappingURL=modal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../../src/components/modal/modal.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,KAAK,wBAAwB,EAC7B,KAAK,GAAG,EAMT,MAAM,OAAO,CAAC;AAEf,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAOtE,eAAO,MAAM,wBAAwB,8CAK3B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,UAAU,QAAQ;IAChB,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI,CACtC,wBAAwB,CAAC,QAAQ,CAAC,EAClC,MAAM,CACP;IACC,6GAA6G;IAC7G,KAAK,EAAE,MAAM,CAAC;IACd,6HAA6H;IAC7H,WAAW,EAAE,MAAM,CAAC;IACpB,qHAAqH;IACrH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,qLAAqL;IACrL,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC7C,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC,gIAAgI;IAChI,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpB,+FAA+F;IAC/F,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yKAAyK;IACzK,IAAI,CAAC,EAAE,IAAI,CACT,cAAc,CAAC,MAAM,CAAC,EACpB,IAAI,GACJ,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,UAAU,GACV,QAAQ,GACR,KAAK,CACR,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,2CA0ItC;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ;;;;EAYvB"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { useCallback, useEffect, useId, useImperativeHandle, useRef, } from "react";
|
|
4
|
+
import { Button } from "../button/button.js";
|
|
5
|
+
import { IconButton } from "../icon-button/icon-button.js";
|
|
6
|
+
import { Close } from "../icons/icons.js";
|
|
7
|
+
import { Typography } from "../typography/typography.js";
|
|
8
|
+
import { cn } from "../../utils/cn.js";
|
|
9
|
+
export const MODAL_BUTTONS_ALIGNMENTS = [
|
|
10
|
+
"start",
|
|
11
|
+
"end",
|
|
12
|
+
"fill",
|
|
13
|
+
"between",
|
|
14
|
+
];
|
|
15
|
+
/**
|
|
16
|
+
* A dialog overlay component for focused user interactions, supporting forms, custom widths, and action buttons.
|
|
17
|
+
*
|
|
18
|
+
* Unlike `Sheet`, which can be configured to allow the user to continue to interact with the rest of the page, `Modal` is meant to always block user interaction with underlying content.
|
|
19
|
+
*
|
|
20
|
+
* @see packages/vesper/src/components/sheet/sheet.tsx
|
|
21
|
+
*
|
|
22
|
+
* @param {string} props.title - The title text displayed in the modal header
|
|
23
|
+
* @param {string} props.description - A description displayed below the title
|
|
24
|
+
* @param {number | string} [props.width] - (optional) The width of the modal container. @default 452
|
|
25
|
+
* @param {number | string} [props.maxHeight] - (optional) The maximum height of the modal container. @default 640
|
|
26
|
+
* @param {ButtonProps[]} [props.buttons] - (optional) Action buttons rendered at the bottom of the modal
|
|
27
|
+
* @param {ModalButtonsAlignment} [props.buttonsAlignment] - (optional) Horizontal alignment of action buttons. @default end
|
|
28
|
+
* @param {Ref<ModalRef>} [props.ref] - (optional) A ref exposing imperative `open()` and `close()` methods
|
|
29
|
+
* @param {boolean} [props.closeOnClickOutside] - (optional) Whether clicking the backdrop closes the modal. @default false
|
|
30
|
+
* @param {object} [props.form] - (optional) Form attributes to wrap the modal content in a `<form>` element
|
|
31
|
+
*
|
|
32
|
+
* You may also pass any additional props to the underlying `dialog` element
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* const { ref, open, close } = useModal();
|
|
36
|
+
*
|
|
37
|
+
* <Modal ref={ref} title="Confirm" description="Are you sure?">
|
|
38
|
+
* <p>This action cannot be undone.</p>
|
|
39
|
+
* </Modal>
|
|
40
|
+
* <Button onClick={open}>Open Modal</Button>
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* <Modal
|
|
44
|
+
* title="Create Item"
|
|
45
|
+
* description="Fill out the form below."
|
|
46
|
+
* form={{ onSubmit: handleSubmit }}
|
|
47
|
+
* buttons={[{ children: "Cancel", onClick: close }, { children: "Create" }]}
|
|
48
|
+
* />
|
|
49
|
+
*/
|
|
50
|
+
export function Modal(props) {
|
|
51
|
+
const { className, ref, "aria-labelledby": ariaLabelledby, "aria-describedby": ariaDescribedby, title, description, width = 452, maxHeight = 640, buttons, buttonsAlignment = "end", children, form, closeOnClickOutside = false, ...rest } = props;
|
|
52
|
+
const titleId = useId();
|
|
53
|
+
const descriptionId = useId();
|
|
54
|
+
const innerRef = useRef(null);
|
|
55
|
+
const open = useCallback(() => {
|
|
56
|
+
if (!innerRef.current)
|
|
57
|
+
return;
|
|
58
|
+
if (!innerRef.current.open)
|
|
59
|
+
innerRef.current.showModal();
|
|
60
|
+
}, []);
|
|
61
|
+
const close = useCallback(() => {
|
|
62
|
+
if (!innerRef.current)
|
|
63
|
+
return;
|
|
64
|
+
innerRef.current.close();
|
|
65
|
+
}, []);
|
|
66
|
+
useImperativeHandle(ref, () => ({ open, close }), [open, close]);
|
|
67
|
+
useEffect(() => {
|
|
68
|
+
if (!closeOnClickOutside)
|
|
69
|
+
return;
|
|
70
|
+
const handleClick = (e) => {
|
|
71
|
+
if (e.target === innerRef.current)
|
|
72
|
+
close();
|
|
73
|
+
};
|
|
74
|
+
window.addEventListener("click", handleClick);
|
|
75
|
+
return () => window.removeEventListener("click", handleClick);
|
|
76
|
+
}, [closeOnClickOutside, close]);
|
|
77
|
+
// If an additional aria-labelledby is supplied, this ensures that both ids get used
|
|
78
|
+
const labelledBy = [ariaLabelledby, titleId].filter(Boolean).join(" ");
|
|
79
|
+
// If an additional aria-describedby is supplied, this ensures that both ids get used
|
|
80
|
+
const describedBy = [ariaDescribedby, descriptionId]
|
|
81
|
+
.filter(Boolean)
|
|
82
|
+
.join(" ");
|
|
83
|
+
const modalContents = (_jsxs(_Fragment, { children: [_jsxs("div", { className: "vesper-modal-header", children: [_jsxs("div", { children: [_jsx(Typography, { id: titleId, as: "h2", variant: "heading-md", className: "vesper-modal-title", children: title }), _jsx(Typography, { id: descriptionId, variant: "copy-md", className: "vesper-modal-description", children: description })] }), _jsx(IconButton, { "aria-label": "Close modal", size: "sm", variant: "subtle", type: "button", onClick: close, icon: _jsx(Close, {}) })] }), children && (_jsx(Typography, { as: "div", variant: "copy-md", className: "vesper-modal-content", children: children })), !!buttons?.length && (_jsx("div", { className: cn("vesper-modal-buttons", `vesper-modal-buttons-${buttonsAlignment}`), children: buttons.map((button, index) => {
|
|
84
|
+
const variant = button.variant ||
|
|
85
|
+
(index === buttons.length - 1 ? "primary" : "tertiary");
|
|
86
|
+
return (_jsx(Button, { ...button, size: "lg", variant: variant }, index));
|
|
87
|
+
}) }))] }));
|
|
88
|
+
const computedMaxHeight = typeof maxHeight === "number"
|
|
89
|
+
? `calc(${maxHeight} * (1rem / 16))`
|
|
90
|
+
: maxHeight;
|
|
91
|
+
const containerProps = {
|
|
92
|
+
className: "vesper-modal-container",
|
|
93
|
+
style: {
|
|
94
|
+
width: typeof width === "number" ? `calc(${width} * (1rem / 16))` : width,
|
|
95
|
+
maxHeight: `min(calc(100vh - var(--vesper-spacing-16)), ${computedMaxHeight})`,
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
return (_jsx("dialog", { ref: innerRef, className: cn("vesper-modal", className), "aria-labelledby": labelledBy, "aria-describedby": describedBy, ...rest, children: form ? (_jsx("form", { ...containerProps, ...form, children: modalContents })) : (_jsx("div", { ...containerProps, children: modalContents })) }));
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* A convenience hook that returns a ref and imperative `open()` and `close()` functions for controlling a `Modal` component.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* const { ref, open, close } = useModal();
|
|
105
|
+
* <Modal ref={ref} title="Example" description="An example modal." />
|
|
106
|
+
* <Button onClick={open}>Open modal</Button>
|
|
107
|
+
*/
|
|
108
|
+
export function useModal() {
|
|
109
|
+
const ref = useRef({ open() { }, close() { } });
|
|
110
|
+
const open = useCallback(() => {
|
|
111
|
+
ref.current.open();
|
|
112
|
+
}, [ref]);
|
|
113
|
+
const close = useCallback(() => {
|
|
114
|
+
ref.current.close();
|
|
115
|
+
}, [ref]);
|
|
116
|
+
return { open, close, ref };
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal.js","sourceRoot":"","sources":["../../../src/components/modal/modal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vesper-progress-bar{background:var(--vesper-tint-neutral-200);justify-content:space-evenly;align-items:stretch;width:100%;display:flex;position:relative;overflow:hidden}.vesper-progress-bar:before{content:"";border:var(--vesper-stroke-base) solid var(--vesper-border-primary);position:absolute;top:0;bottom:0;left:0;right:0}.vesper-progress-bar-sm{border-radius:var(--vesper-spacing-2);height:.5rem}.vesper-progress-bar-sm:before{border-radius:var(--vesper-spacing-2)}.vesper-progress-bar-md{border-radius:var(--vesper-spacing-3);height:.75rem}.vesper-progress-bar-md:before{border-radius:var(--vesper-spacing-3)}.vesper-progress-bar-lg{border-radius:var(--vesper-spacing-4);height:1rem}.vesper-progress-bar-lg:before{border-radius:var(--vesper-spacing-4)}.vesper-progress-bar-indicator{background:var(--vesper-background-accent-base);position:absolute;top:0;bottom:0;left:0}@media (forced-colors:active){.vesper-progress-bar-indicator{background:canvastext}}.vesper-progress-bar-animated .vesper-progress-bar-indicator{transition:width var(--vesper-transition-duration-default) cubic-bezier(.45, .15, .25, .95)}.vesper-progress-bar-animated .vesper-progress-bar-tick{transition:background var(--vesper-transition-duration-default) cubic-bezier(.45, .15, .25, .95)}.vesper-progress-bar-tick{border-left:var(--vesper-stroke-base) solid;position:relative}.vesper-progress-bar-tick-light{border-color:var(--vesper-background-primary)}@media (forced-colors:active){.vesper-progress-bar-tick-light{border-color:canvas}}.vesper-progress-bar-tick-dark{border-color:var(--vesper-border-primary)}@media (forced-colors:active){.vesper-progress-bar-tick-dark{border-color:canvastext}}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { ComponentProps } from "react";
|
|
2
|
+
export declare const PROGRESS_BAR_SIZES: readonly ["sm", "md", "lg"];
|
|
3
|
+
export declare const PROGRESS_BAR_VARIANTS: readonly ["default", "steps"];
|
|
4
|
+
export type ProgressBarSize = (typeof PROGRESS_BAR_SIZES)[number];
|
|
5
|
+
export type ProgressBarVariant = (typeof PROGRESS_BAR_VARIANTS)[number];
|
|
6
|
+
export interface ProgressBarProps extends ComponentProps<"div"> {
|
|
7
|
+
/** Value from `0` to `100`. */
|
|
8
|
+
value: number;
|
|
9
|
+
/** The rendered size of the progress bar. @default md */
|
|
10
|
+
size?: ProgressBarSize;
|
|
11
|
+
/** The `default` variant will render the progress bar indicator width as a true percentage representation of `value / 100`. The `steps` variant will clamp the width of the progress bar indicator to the nearest rounded tick value. @default default */
|
|
12
|
+
variant?: ProgressBarVariant;
|
|
13
|
+
/** The number of segments to split up the progress bar into when variant is `steps`. Must be an integer greater than `0`. @default 10 */
|
|
14
|
+
steps?: number;
|
|
15
|
+
/** Determines how to clamp the width of the progress bar to the nearest tick value. @default Math.round */
|
|
16
|
+
stepRoundingStrategy?: (n: number) => number;
|
|
17
|
+
/** Whether to animate progress bar value changes. @default false */
|
|
18
|
+
animated?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* A progress bar component that visualizes completion percentage, with support for stepped segments and animations.
|
|
22
|
+
*
|
|
23
|
+
* @param {number} props.value - The progress value from `0` to `100`
|
|
24
|
+
* @param {ProgressBarSize} [props.size] - (optional) The rendered size of the progress bar. @default md
|
|
25
|
+
* @param {ProgressBarVariant} [props.variant] - (optional) The display variant; `"steps"` clamps to tick intervals. @default default
|
|
26
|
+
* @param {number} [props.steps] - (optional) Number of segments when variant is `"steps"`. @default 10
|
|
27
|
+
* @param {boolean} [props.animated] - (optional) Whether to animate progress changes. @default false
|
|
28
|
+
*
|
|
29
|
+
* You may also pass any additional props to the underlying `div` element
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* <ProgressBar value={75} />
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* <ProgressBar value={60} variant="steps" steps={5} animated />
|
|
36
|
+
*/
|
|
37
|
+
export declare function ProgressBar(props: ProgressBarProps): import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
//# sourceMappingURL=progress-bar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-bar.d.ts","sourceRoot":"","sources":["../../../src/components/progress-bar/progress-bar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAI5C,eAAO,MAAM,kBAAkB,6BAA8B,CAAC;AAE9D,eAAO,MAAM,qBAAqB,+BAAgC,CAAC;AAEnE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE,MAAM,WAAW,gBAAiB,SAAQ,cAAc,CAAC,KAAK,CAAC;IAC7D,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,0PAA0P;IAC1P,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,yIAAyI;IACzI,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2GAA2G;IAC3G,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CA2ClD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../../utils/cn.js";
|
|
3
|
+
export const PROGRESS_BAR_SIZES = ["sm", "md", "lg"];
|
|
4
|
+
export const PROGRESS_BAR_VARIANTS = ["default", "steps"];
|
|
5
|
+
/**
|
|
6
|
+
* A progress bar component that visualizes completion percentage, with support for stepped segments and animations.
|
|
7
|
+
*
|
|
8
|
+
* @param {number} props.value - The progress value from `0` to `100`
|
|
9
|
+
* @param {ProgressBarSize} [props.size] - (optional) The rendered size of the progress bar. @default md
|
|
10
|
+
* @param {ProgressBarVariant} [props.variant] - (optional) The display variant; `"steps"` clamps to tick intervals. @default default
|
|
11
|
+
* @param {number} [props.steps] - (optional) Number of segments when variant is `"steps"`. @default 10
|
|
12
|
+
* @param {boolean} [props.animated] - (optional) Whether to animate progress changes. @default false
|
|
13
|
+
*
|
|
14
|
+
* You may also pass any additional props to the underlying `div` element
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* <ProgressBar value={75} />
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* <ProgressBar value={60} variant="steps" steps={5} animated />
|
|
21
|
+
*/
|
|
22
|
+
export function ProgressBar(props) {
|
|
23
|
+
const { value, variant = "default", steps = 10, className, size = "md", stepRoundingStrategy, animated = false, "aria-label": ariaLabel = "Progress", ...rest } = props;
|
|
24
|
+
const progress = Math.min(Math.max(value, 0), 100);
|
|
25
|
+
return (_jsxs("div", { "aria-label": ariaLabel, className: cn("vesper-progress-bar", `vesper-progress-bar-${size}`, animated && "vesper-progress-bar-animated", className), ...rest, "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": progress, role: "progressbar", "aria-valuetext": `${progress}%`, children: [variant === "default" && (_jsx(ProgressBarIndicatorDefault, { value: progress })), variant === "steps" && (_jsx(ProgressBarIndicatorSteps, { value: progress, steps: steps, stepRoundingStrategy: stepRoundingStrategy }))] }));
|
|
26
|
+
}
|
|
27
|
+
function ProgressBarIndicatorDefault({ value }) {
|
|
28
|
+
return (_jsx("div", { className: "vesper-progress-bar-indicator", style: { width: `${value}%` } }));
|
|
29
|
+
}
|
|
30
|
+
function ProgressBarIndicatorSteps({ value, steps, stepRoundingStrategy = Math.round, }) {
|
|
31
|
+
const totalSteps = Math.max(Math.floor(steps), 1);
|
|
32
|
+
const stepWidth = 100 / totalSteps;
|
|
33
|
+
const numSteps = stepRoundingStrategy(value / stepWidth);
|
|
34
|
+
const width = `${numSteps * stepWidth}%`;
|
|
35
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { className: "vesper-progress-bar-indicator", style: { width } }), Array.from({ length: totalSteps - 1 }).map((_, index) => (_jsx("span", { className: cn("vesper-progress-bar-tick", numSteps !== totalSteps && index >= numSteps - 1
|
|
36
|
+
? "vesper-progress-bar-tick-dark"
|
|
37
|
+
: "vesper-progress-bar-tick-light") }, index)))] }));
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=progress-bar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-bar.js","sourceRoot":"","sources":["../../../src/components/progress-bar/progress-bar.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAE9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAS,EAAE,OAAO,CAAU,CAAC;AAqBnE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EACJ,KAAK,EACL,OAAO,GAAG,SAAS,EACnB,KAAK,GAAG,EAAE,EACV,SAAS,EACT,IAAI,GAAG,IAAI,EACX,oBAAoB,EACpB,QAAQ,GAAG,KAAK,EAChB,YAAY,EAAE,SAAS,GAAG,UAAU,EACpC,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEnD,OAAO,CACL,6BACc,SAAS,EACrB,SAAS,EAAE,EAAE,CACX,qBAAqB,EACrB,uBAAuB,IAAI,EAAE,EAC7B,QAAQ,IAAI,8BAA8B,EAC1C,SAAS,CACV,KACG,IAAI,mBACO,CAAC,mBACD,GAAG,mBACH,QAAQ,EACvB,IAAI,EAAC,aAAa,oBACF,GAAG,QAAQ,GAAG,aAE7B,OAAO,KAAK,SAAS,IAAI,CACxB,KAAC,2BAA2B,IAAC,KAAK,EAAE,QAAQ,GAAI,CACjD,EACA,OAAO,KAAK,OAAO,IAAI,CACtB,KAAC,yBAAyB,IACxB,KAAK,EAAE,QAAQ,EACf,KAAK,EAAE,KAAK,EACZ,oBAAoB,EAAE,oBAAoB,GAC1C,CACH,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,EAAE,KAAK,EAAqB;IAC/D,OAAO,CACL,cACE,SAAS,EAAC,+BAA+B,EACzC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,EAAE,GAC7B,CACH,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,EACjC,KAAK,EACL,KAAK,EACL,oBAAoB,GAAG,IAAI,CAAC,KAAK,GAKlC;IACC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,GAAG,GAAG,UAAU,CAAC;IACnC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,GAAG,QAAQ,GAAG,SAAS,GAAG,CAAC;IAEzC,OAAO,CACL,8BACE,cAAK,SAAS,EAAC,+BAA+B,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAI,EAClE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACxD,eAEE,SAAS,EAAE,EAAE,CACX,0BAA0B,EAC1B,QAAQ,KAAK,UAAU,IAAI,KAAK,IAAI,QAAQ,GAAG,CAAC;oBAC9C,CAAC,CAAC,+BAA+B;oBACjC,CAAC,CAAC,gCAAgC,CACrC,IANI,KAAK,CAOV,CACH,CAAC,IACD,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vesper-radio-group{align-items:flex-start;gap:var(--vesper-spacing-3);display:flex}.vesper-radio-group-horizontal{flex-direction:row}.vesper-radio-group-vertical{flex-direction:column}.vesper-radio-group-item{align-items:center;gap:var(--vesper-spacing-1);cursor:pointer;display:flex}.vesper-radio-group-item-indicator{border:var(--vesper-stroke-base) solid var(--vesper-border-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.vesper-radio-group-item-indicator:after{content:"";border-radius:50%;width:50%;height:50%}.vesper-radio-group-item-sm .vesper-radio-group-item-indicator{width:.75rem;height:.75rem}.vesper-radio-group-item-md .vesper-radio-group-item-indicator{width:1rem;height:1rem}.vesper-radio-group-item-label{color:var(--vesper-text-primary)}.vesper-radio-input{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.vesper-radio-input:checked+.vesper-radio-group-item-indicator{border-color:var(--vesper-background-accent-base);background:var(--vesper-background-accent-base)}.vesper-radio-input:checked+.vesper-radio-group-item-indicator:after{background:var(--vesper-icon-inverse-primary)}@media (forced-colors:active){.vesper-radio-input:checked+.vesper-radio-group-item-indicator:after{background:canvastext}}.vesper-radio-input:focus-visible+.vesper-radio-group-item-indicator{outline:var(--vesper-stroke-base) solid var(--vesper-border-focus);outline-offset:var(--vesper-spacing-micro)}.vesper-radio-group-item-disabled{cursor:auto}.vesper-radio-group-item-disabled .vesper-radio-input+.vesper-radio-group-item-indicator{border-color:var(--vesper-border-disabled);background:var(--vesper-background-disabled)}.vesper-radio-group-item-disabled .vesper-radio-input:checked+.vesper-radio-group-item-indicator:after{background:var(--vesper-icon-disabled)}@media (forced-colors:active){.vesper-radio-group-item-disabled .vesper-radio-input:checked+.vesper-radio-group-item-indicator:after{background:canvastext}}.vesper-radio-group-item-disabled .vesper-radio-group-item-label{color:var(--vesper-text-disabled)}@media (forced-colors:active){.vesper-radio-group-item-disabled{opacity:.35}}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { ComponentProps } from "react";
|
|
2
|
+
export declare const RADIO_SIZES: readonly ["sm", "md"];
|
|
3
|
+
export declare const RADIO_GROUP_ORIENTATIONS: readonly ["horizontal", "vertical"];
|
|
4
|
+
export type RadioSize = (typeof RADIO_SIZES)[number];
|
|
5
|
+
export type RadioGroupOrientation = (typeof RADIO_GROUP_ORIENTATIONS)[number];
|
|
6
|
+
export type RadioGroupItem = {
|
|
7
|
+
/** The value associated with this radio option, used to identify it in selection callbacks. */
|
|
8
|
+
value: string;
|
|
9
|
+
/** The text label displayed next to the radio input. */
|
|
10
|
+
label: string;
|
|
11
|
+
/** When true, prevents this individual option from being selected. @default false */
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
/** An optional HTML `id` attribute applied to the underlying radio input element. */
|
|
14
|
+
id?: string;
|
|
15
|
+
};
|
|
16
|
+
export interface RadioGroupProps extends Omit<ComponentProps<"fieldset">, "children" | "onChange" | "defaultValue"> {
|
|
17
|
+
/** The size of the radio inputs and their labels. @default md */
|
|
18
|
+
size?: RadioSize;
|
|
19
|
+
/** The layout direction of the radio options. @default vertical */
|
|
20
|
+
orientation?: RadioGroupOrientation;
|
|
21
|
+
/** When `true`, a selection is required for form validation. @default false */
|
|
22
|
+
required?: boolean;
|
|
23
|
+
/** The list of radio options to render. */
|
|
24
|
+
options: RadioGroupItem[];
|
|
25
|
+
/** The name attribute shared by all radio inputs in the group, used for form submission. */
|
|
26
|
+
name: string;
|
|
27
|
+
/** The currently selected value (controlled mode). */
|
|
28
|
+
value?: string;
|
|
29
|
+
/** The initially selected value (uncontrolled mode). */
|
|
30
|
+
defaultValue?: string;
|
|
31
|
+
/** Callback fired when the selected value changes. Receives the newly selected value. */
|
|
32
|
+
onChange?(value: string): void;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A form-ready radio group component for single-value selection from a list of options.
|
|
36
|
+
*
|
|
37
|
+
* @param {string} props.name - The name attribute shared by all radio inputs, used for form submission
|
|
38
|
+
* @param {RadioGroupItem[]} props.options - The list of radio options to render
|
|
39
|
+
* @param {RadioSize} [props.size] - (optional) The size of the radio inputs and labels. Default: `"md"`
|
|
40
|
+
* @param {RadioGroupOrientation} [props.orientation] - (optional) The layout direction of the options. Default: `"vertical"`
|
|
41
|
+
* @param {string} [props.value] - (optional) The currently selected value (controlled)
|
|
42
|
+
* @param {string} [props.defaultValue] - (optional) The initially selected value (uncontrolled)
|
|
43
|
+
* @param {(value: string) => void} [props.onChange] - (optional) Callback fired when the selected value changes
|
|
44
|
+
* @param {boolean} [props.required] - (optional) Marks a selection as required for form validation. @default false
|
|
45
|
+
*
|
|
46
|
+
* You may also pass any additional props to the underlying `fieldset` element
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* <RadioGroup
|
|
50
|
+
* name="color"
|
|
51
|
+
* options={[
|
|
52
|
+
* { value: "red", label: "Red" },
|
|
53
|
+
* { value: "blue", label: "Blue" },
|
|
54
|
+
* { value: "green", label: "Green" },
|
|
55
|
+
* ]}
|
|
56
|
+
* value={color}
|
|
57
|
+
* onChange={setColor}
|
|
58
|
+
* />
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* <RadioGroup
|
|
62
|
+
* name="size"
|
|
63
|
+
* size="sm"
|
|
64
|
+
* orientation="horizontal"
|
|
65
|
+
* options={sizeOptions}
|
|
66
|
+
* defaultValue="md"
|
|
67
|
+
* />
|
|
68
|
+
*/
|
|
69
|
+
export declare function RadioGroup(props: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
70
|
+
//# sourceMappingURL=radio-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAS5C,eAAO,MAAM,WAAW,uBAAwB,CAAC;AAEjD,eAAO,MAAM,wBAAwB,qCAAsC,CAAC;AAE5E,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG;IAC3B,+FAA+F;IAC/F,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,cAAc,CAAC,UAAU,CAAC,EAC1B,UAAU,GAAG,UAAU,GAAG,cAAc,CACzC;IACC,iEAAiE;IACjE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,mEAAmE;IACnE,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,4FAA4F;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAsEhD"}
|
|
@@ -0,0 +1,61 @@
|
|
|
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
|
+
export const RADIO_SIZES = ["sm", "md"];
|
|
6
|
+
export const RADIO_GROUP_ORIENTATIONS = ["horizontal", "vertical"];
|
|
7
|
+
const RADIO_GROUP_ITEM_TYPOGRAPHY = {
|
|
8
|
+
sm: "label-md",
|
|
9
|
+
md: "label-lg",
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* A form-ready radio group component for single-value selection from a list of options.
|
|
13
|
+
*
|
|
14
|
+
* @param {string} props.name - The name attribute shared by all radio inputs, used for form submission
|
|
15
|
+
* @param {RadioGroupItem[]} props.options - The list of radio options to render
|
|
16
|
+
* @param {RadioSize} [props.size] - (optional) The size of the radio inputs and labels. Default: `"md"`
|
|
17
|
+
* @param {RadioGroupOrientation} [props.orientation] - (optional) The layout direction of the options. Default: `"vertical"`
|
|
18
|
+
* @param {string} [props.value] - (optional) The currently selected value (controlled)
|
|
19
|
+
* @param {string} [props.defaultValue] - (optional) The initially selected value (uncontrolled)
|
|
20
|
+
* @param {(value: string) => void} [props.onChange] - (optional) Callback fired when the selected value changes
|
|
21
|
+
* @param {boolean} [props.required] - (optional) Marks a selection as required for form validation. @default false
|
|
22
|
+
*
|
|
23
|
+
* You may also pass any additional props to the underlying `fieldset` element
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* <RadioGroup
|
|
27
|
+
* name="color"
|
|
28
|
+
* options={[
|
|
29
|
+
* { value: "red", label: "Red" },
|
|
30
|
+
* { value: "blue", label: "Blue" },
|
|
31
|
+
* { value: "green", label: "Green" },
|
|
32
|
+
* ]}
|
|
33
|
+
* value={color}
|
|
34
|
+
* onChange={setColor}
|
|
35
|
+
* />
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* <RadioGroup
|
|
39
|
+
* name="size"
|
|
40
|
+
* size="sm"
|
|
41
|
+
* orientation="horizontal"
|
|
42
|
+
* options={sizeOptions}
|
|
43
|
+
* defaultValue="md"
|
|
44
|
+
* />
|
|
45
|
+
*/
|
|
46
|
+
export function RadioGroup(props) {
|
|
47
|
+
const { size = "md", orientation = "vertical", required, disabled, options, className, name, value, defaultValue, onChange, ...rest } = props;
|
|
48
|
+
return (_jsx("fieldset", { disabled: disabled, className: cn("vesper-radio-group", `vesper-radio-group-${orientation}`, className), ...rest, children: options.map((option) => {
|
|
49
|
+
const isDisabled = disabled || option.disabled;
|
|
50
|
+
const checkedProps = value !== undefined
|
|
51
|
+
? { checked: value === option.value }
|
|
52
|
+
: { defaultChecked: defaultValue === option.value };
|
|
53
|
+
return (_jsxs("label", { htmlFor: option.id, className: cn("vesper-radio-group-item", `vesper-radio-group-item-${size}`, isDisabled && "vesper-radio-group-item-disabled"), children: [_jsx("input", { type: "radio", name: name, required: required, disabled: isDisabled, id: option.id, value: option.value, className: "vesper-radio-input", onChange: (e) => {
|
|
54
|
+
if (!onChange)
|
|
55
|
+
return;
|
|
56
|
+
if (e.target.checked)
|
|
57
|
+
onChange(option.value);
|
|
58
|
+
}, ...checkedProps }), _jsx("div", { className: "vesper-radio-group-item-indicator" }), _jsx(Typography, { as: "span", className: "vesper-radio-group-item-label", variant: RADIO_GROUP_ITEM_TYPOGRAPHY[size], children: option.label })] }, option.value));
|
|
59
|
+
}) }));
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=radio-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,OAAO,EACL,UAAU,GAEX,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,CAAU,CAAC;AAEjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,YAAY,EAAE,UAAU,CAAU,CAAC;AAuC5E,MAAM,2BAA2B,GAA4C;IAC3E,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;CACf,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EACJ,IAAI,GAAG,IAAI,EACX,WAAW,GAAG,UAAU,EACxB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,SAAS,EACT,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,mBACE,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,oBAAoB,EACpB,sBAAsB,WAAW,EAAE,EACnC,SAAS,CACV,KACG,IAAI,YAEP,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACtB,MAAM,UAAU,GAAG,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;YAE/C,MAAM,YAAY,GAChB,KAAK,KAAK,SAAS;gBACjB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE;gBACrC,CAAC,CAAC,EAAE,cAAc,EAAE,YAAY,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;YAExD,OAAO,CACL,iBAEE,OAAO,EAAE,MAAM,CAAC,EAAE,EAClB,SAAS,EAAE,EAAE,CACX,yBAAyB,EACzB,2BAA2B,IAAI,EAAE,EACjC,UAAU,IAAI,kCAAkC,CACjD,aAED,gBACE,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAU,EACpB,EAAE,EAAE,MAAM,CAAC,EAAE,EACb,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,SAAS,EAAC,oBAAoB,EAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;4BACd,IAAI,CAAC,QAAQ;gCAAE,OAAO;4BACtB,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO;gCAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC/C,CAAC,KACG,YAAY,GAChB,EACF,cAAK,SAAS,EAAC,mCAAmC,GAAG,EACrD,KAAC,UAAU,IACT,EAAE,EAAC,MAAM,EACT,SAAS,EAAC,+BAA+B,EACzC,OAAO,EAAE,2BAA2B,CAAC,IAAI,CAAC,YAEzC,MAAM,CAAC,KAAK,GACF,KA7BR,MAAM,CAAC,KAAK,CA8BX,CACT,CAAC;QACJ,CAAC,CAAC,GACO,CACZ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vesper-range{--vesper-range-thumb-size:1rem;width:100%;display:block;position:relative}@media (forced-colors:active){.vesper-range[data-disabled]{opacity:.35}}.vesper-range-labeled{padding-top:1.4375rem}.vesper-range-track{width:100%;height:1rem;display:block;position:relative}.vesper-range-track:before{z-index:1;content:"";background:var(--vesper-stone-200);border:var(--vesper-stroke-base) solid var(--vesper-border-primary);border-radius:var(--vesper-spacing-1);position:absolute;top:.3125rem;bottom:.3125rem;left:0;right:0}.vesper-range-tick{z-index:0;height:1rem;left:calc(var(--vesper-range-thumb-size) / 2 + (100% - var(--vesper-range-thumb-size)) * var(--vesper-range-tick-position,0));border-left:var(--vesper-stroke-base) solid var(--vesper-border-primary);position:absolute;transform:translate(-.03125rem)}@media (forced-colors:active){.vesper-range-tick{background:canvastext}}.vesper-range-range{z-index:1}.vesper-range-range:before{content:"";background:var(--vesper-background-accent-base);border:var(--vesper-stroke-base) solid var(--vesper-border-accent-base);border-radius:var(--vesper-spacing-1);position:absolute;top:.3125rem;bottom:.3125rem;left:0;right:0}.vesper-range-range[data-disabled]:before{background:var(--vesper-tint-neutral-400);border:var(--vesper-stroke-base) solid var(--vesper-border-primary)}@media (forced-colors:active){.vesper-range-range:before{background:canvastext}.vesper-range-range[data-disabled]:before{background:canvastext}}.vesper-range-thumb{z-index:2;width:var(--vesper-range-thumb-size);height:var(--vesper-range-thumb-size);cursor:pointer;background:var(--vesper-background-tertiary);border:var(--vesper-stroke-base) solid var(--vesper-border-accent-base);border-radius:var(--vesper-spacing-2);justify-content:center;display:flex}.vesper-range-thumb.vesper-range-thumb-labeled:after{white-space:pre;content:var(--vesper-range-thumb-label,"");color:var(--vesper-text-primary);background:var(--vesper-tint-neutral-100);border:var(--vesper-stroke-base) solid var(--vesper-border-secondary);border-radius:var(--vesper-radius-half);padding:var(--vesper-spacing-1);bottom:calc(100% + var(--vesper-stroke-base));transform:translateY(calc(var(--vesper-spacing-micro) * -1));position:absolute}.vesper-range-thumb[data-disabled]{cursor:auto;border-color:var(--vesper-stone-400)}.vesper-range-thumb[data-disabled]:after{color:var(--vesper-text-disabled)}@media (forced-colors:active){.vesper-range-thumb:has(:focus-visible){outline:var(--vesper-stroke-strong) solid CanvasText}}@media not (forced-colors:active){.vesper-range-thumb:has(:focus-visible){box-shadow:var(--vesper-shadow-focus-ring)}}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { ComponentProps, type Ref } from "react";
|
|
2
|
+
export interface RangeProps extends Omit<ComponentProps<"div">, "children" | "defaultValue" | "dir"> {
|
|
3
|
+
/** The values of each thumb (controlled mode). One thumb is rendered per entry in the array. */
|
|
4
|
+
values?: number[];
|
|
5
|
+
/** Custom display labels for each thumb, shown as a tooltip-style label above the thumb. When left blank, defaults to the active values of each thumb. */
|
|
6
|
+
valueLabels?: string[];
|
|
7
|
+
/** Accessible `aria-label` attributes for each thumb, in the same order as the values. */
|
|
8
|
+
thumbAriaLabels: string[];
|
|
9
|
+
/** When `true`, displays the value labels above each thumb. @default false */
|
|
10
|
+
showValueLabels?: boolean;
|
|
11
|
+
/** The initial thumb values (uncontrolled mode). @default [min, max] */
|
|
12
|
+
defaultValues?: number[];
|
|
13
|
+
/** Callback fired as thumb values change during interaction. Receives the full array of current values. */
|
|
14
|
+
onValuesChange?(value: number[]): void;
|
|
15
|
+
/** Callback fired when a thumb interaction is completed (e.g., on pointer up). Receives the final array of values. */
|
|
16
|
+
onValuesCommit?(value: number[]): void;
|
|
17
|
+
/** When `true`, renders tick marks along the track at each step interval. @default false */
|
|
18
|
+
showTicks?: boolean;
|
|
19
|
+
/** The name attribute applied to each thumb's underlying input, used for form submission. Every thumb submits its value under this name. */
|
|
20
|
+
name?: string;
|
|
21
|
+
/** When true, prevents interaction. @default false */
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
/** The minimum allowed value. @default 0 */
|
|
24
|
+
min?: number;
|
|
25
|
+
/** The maximum allowed value. @default 100 */
|
|
26
|
+
max?: number;
|
|
27
|
+
/** The stepping interval between selectable values. @default 1 */
|
|
28
|
+
step?: number;
|
|
29
|
+
/** The minimum number of steps required between thumbs, preventing them from overlapping. @default 1 */
|
|
30
|
+
minStepsBetweenThumbs?: number;
|
|
31
|
+
/** The `id` of the `<form>` element this input belongs to, allowing association with a form outside the input's DOM hierarchy. */
|
|
32
|
+
form?: string;
|
|
33
|
+
/** A ref forwarded to the wrapping `<div>` element for direct DOM access. */
|
|
34
|
+
ref?: Ref<HTMLDivElement>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A multi-thumb range input for selecting a span of numeric values between a minimum and maximum.
|
|
38
|
+
*
|
|
39
|
+
* @param {string[]} props.thumbAriaLabels - Accessible `aria-label` attributes for each thumb, in the same order as the values
|
|
40
|
+
* @param {number[]} [props.values] - (optional) The values of each thumb (controlled). One thumb is rendered per entry
|
|
41
|
+
* @param {number[]} [props.defaultValues] - (optional) The initial thumb values (uncontrolled). @default [min, max]
|
|
42
|
+
* @param {(value: number[]) => void} [props.onValuesChange] - (optional) Callback fired as thumb values change during interaction
|
|
43
|
+
* @param {(value: number[]) => void} [props.onValuesCommit] - (optional) Callback fired when thumb interaction is completed
|
|
44
|
+
* @param {number} [props.min] - (optional) The minimum allowed value. @default 0
|
|
45
|
+
* @param {number} [props.max] - (optional) The maximum allowed value. @default 100
|
|
46
|
+
* @param {number} [props.step] - (optional) The stepping interval. @default 1
|
|
47
|
+
* @param {number} [props.minStepsBetweenThumbs] - (optional) The minimum number of steps required between thumbs. @default 1
|
|
48
|
+
* @param {boolean} [props.showTicks] - (optional) Whether to render tick marks at each step interval. @default false
|
|
49
|
+
* @param {boolean} [props.showValueLabels] - (optional) Whether to display a value label above each thumb. @default false
|
|
50
|
+
* @param {string[]} [props.valueLabels] - (optional) Custom display labels for each thumb, falling back to that thumb's current value
|
|
51
|
+
* @param {boolean} [props.disabled] - (optional) Whether to prevent interaction. @default false
|
|
52
|
+
* @param {string} [props.name] - (optional) The form field name each thumb submits its value under
|
|
53
|
+
*
|
|
54
|
+
* You may also pass any additional props to the underlying `div` element
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* <Range
|
|
58
|
+
* min={0}
|
|
59
|
+
* max={100}
|
|
60
|
+
* defaultValues={[20, 80]}
|
|
61
|
+
* onValuesCommit={(values) => console.log(values)}
|
|
62
|
+
* thumbAriaLabels={["Volume (min)", "Volume (max)"]}
|
|
63
|
+
* />
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* <Range
|
|
67
|
+
* min={0}
|
|
68
|
+
* max={50}
|
|
69
|
+
* step={5}
|
|
70
|
+
* showTicks
|
|
71
|
+
* showValueLabels
|
|
72
|
+
* values={range}
|
|
73
|
+
* onValuesChange={setRange}
|
|
74
|
+
* thumbAriaLabels={["Volume (min)", "Volume (max)"]}
|
|
75
|
+
* />
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* <Range
|
|
79
|
+
* variant="error"
|
|
80
|
+
* values={price}
|
|
81
|
+
* onValuesChange={setPrice}
|
|
82
|
+
* thumbAriaLabels={["Price (min)", "Price (max)"]}
|
|
83
|
+
* />
|
|
84
|
+
*/
|
|
85
|
+
export declare function Range(props: RangeProps): import("react/jsx-runtime").JSX.Element;
|
|
86
|
+
//# sourceMappingURL=range.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../../src/components/range/range.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAsB,KAAK,GAAG,EAAW,MAAM,OAAO,CAAC;AAa9E,MAAM,WAAW,UAAW,SAAQ,IAAI,CACtC,cAAc,CAAC,KAAK,CAAC,EACrB,UAAU,GAAG,cAAc,GAAG,KAAK,CACpC;IACC,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,0JAA0J;IAC1J,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,0FAA0F;IAC1F,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,8EAA8E;IAC9E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,2GAA2G;IAC3G,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvC,sHAAsH;IACtH,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvC,4FAA4F;IAC5F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4IAA4I;IAC5I,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wGAAwG;IACxG,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kIAAkI;IAClI,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,2CAmHtC"}
|