@pieai/swimmer-ui-kit 1.0.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/CHANGELOG.md +80 -0
- package/LICENSE +41 -0
- package/README.md +114 -0
- package/dist/assets/game/ui/clay/asset-manifest.json +2823 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/buttons/button-blue-large-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/buttons/button-blue-large-v2.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/buttons/button-brown-large-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/buttons/button-brown-large-v2.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/buttons/button-green-large-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/buttons/button-green-large-v2.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/buttons/button-purple-large-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/buttons/button-purple-large-v2.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/buttons/button-red-large-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/buttons/button-red-large-v2.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/catalog/common-icons-contact-sheet-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/catalog/component-candidates-contact-sheet-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/catalog/function-icons-contact-sheet-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/catalog/phase03-clay-ui-catalog.json +3476 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/alert-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/bar-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/best-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/check-off-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/check-on-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/count-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/direction-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/gauge-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/hot-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/label-2-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/label-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/loading-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/mission-badge-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/new-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/page-arrow-next-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/page-arrow-prev-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/pagenavigation-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/radiobtn-off-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/radiobtn-on-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/ribbon-2-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/ribbon-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/slidebar-dim-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/stage-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/switch-off-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/switch-on-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/tab-n-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/tab-s-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/top-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/common/user-info-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/language/button-close-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/language/check-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/language/language-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/popup/popup-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/settings/btn-blue-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/settings/btn-brown-2-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/settings/btn-brown-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/settings/btn-facebook-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/settings/btn-green-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/settings/button-close-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/settings/common-popup-title-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/settings/language-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/settings/radio-btn-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/settings/slidebar-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/settings/switch-2-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/settings/switch-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/components/stage-lock/stage-lock-badge-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/checkbox-checked-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/anvil-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/arrow-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/bomb-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/candle-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/chicken-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/crown-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/energy-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/envelope-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/gem-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/gift-blue-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/gift-red-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/gold-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/hammer-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/horner-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/horseshoes-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/key-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/laurel-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/letter-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/lock-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/lucky-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/medal-bronze-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/medal-gold-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/medal-silver-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/mission-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/pickax-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/poition-red-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/poiton-purple-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/purplegem-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/sandglass-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/scroll-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/setting-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/shield-a-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/shield-b-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/shield-c-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/shield-d-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/shop-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/skull-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/soulgem-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/sword-a-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/sword-b-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/talaria-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/target-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/timer-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/treasure-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/common/trophy-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/account-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/add-friend-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/add-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/align-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/alram-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/appstore-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/arrow-down-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/arrow-next-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/arrow-prev-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/arrow-up-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/arrow-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/asterisk-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/attachment-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/ax-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/back-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/bad-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/badge-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/bank-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/basket-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/battle-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/bin-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/binoculars-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/bitcoin-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/block-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/bluetooth-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/bomb-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/book-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/bookmark-add-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/bookmark-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/bottom-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/brain-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/bug-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/bulb-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/calendar-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/call-reject-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/call-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/camera-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/cancel-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/card-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/cart-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/category-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/chat-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/check-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/cloud-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/cny-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/coffee-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/compass-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/confirm-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/contact-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/control-next-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/control-pause-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/control-play-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/control-prev-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/control-stop-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/control-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/copy-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/coupon-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/crop-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/crown-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/defense-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/delete-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/dislike-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/document-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/dollar-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/down-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/download-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/dynamite-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/earth-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/eat-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/emoji-good-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/emoji-soso-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/energy-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/exit-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/expand-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/export-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/facebook-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/feather-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/filter-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/fingerprint-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/fire-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/firm-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/fix-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/flag-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/flask-01-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/flask-02-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/flask-03-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/folder-open-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/folder-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/game-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/gem-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/gender-fale-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/gender-female-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/gift-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/globe-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/gmail-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/gold-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/googleplay-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/graduation-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/graph-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/hammer-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/hand-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/hashtag-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/headset-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/heart-empty-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/heart-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/helmet-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/hide-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/home-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/key-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/knowledge-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/left-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/like-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/link-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/list-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/location-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/lock-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/magnetic-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/mail-read-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/mail-unread-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/map-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/mark-caution-1-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/mark-caution-2-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/mark-info-1-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/mark-info-2-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/mark-question-1-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/mark-question-2-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/medal-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/media-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/megaphone-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/menu-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/message-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/minus-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/mobile-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/money-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/more-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/music-1-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/music-2-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/newpaper-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/next-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/notification-off-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/notification-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/paper-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/pc-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/pen-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/pencil-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/percent-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/photo-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/pick-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/piechart-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/pinterest-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/pinwheel-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/planet-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/player-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/plus-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/preferense-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/prev-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/printer-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/quit-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/random-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/ranking-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/record-off-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/record-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/refresh-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/reload-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/remove-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/reset-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/right-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/ring-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/safe-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/sandglass-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/scan-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/screwdriver-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/search-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/send-1-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/send-2-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/service-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/setting-1-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/setting-2-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/share-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/shop-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/shopping-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/show-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/sign-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/siren-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/skull-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/skype-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/sort-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/sparkle-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/speedmeter-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/star-circle-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/star-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/stopwatch-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/support-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/sword-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/tag-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/target-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/tent-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/text-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/thumbnails-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/thunder-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/time-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/toolbox-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/top-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/treasure-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/trophy-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/twitter-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/ufo-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/unlock-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/up-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/upload-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/user-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/video-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/volume-mute-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/volume-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/wallet-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/warning-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/water-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/wifi-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/youtube-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/zoom-in-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/function/zoom-out-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/icon-add-friend-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/icon-card-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/icon-check-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/icon-game-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/icon-refresh-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/icon-target-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/icons/icon-user-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/inputs/input-entered-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/inputs/input-entered-v2.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/inputs/input-error-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/inputs/input-error-v2.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/inputs/input-required-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/inputs/input-required-v2.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/inputs/input-typing-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/inputs/input-typing-v2.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/panels/popup-frame-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/panels/settings-frame-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/screens/00_title-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/screens/01_login-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/screens/03_stage-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/screens/04_stageready-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/screens/05_complete-v1.png +0 -0
- package/dist/assets/game/ui/clay/phase03-clay-kit/screens/06_lose-v1.png +0 -0
- package/dist/index.d.ts +1781 -0
- package/dist/index.js +3058 -0
- package/dist/styles.css +1 -0
- package/dist/tailwind.css +36 -0
- package/package.json +93 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,1781 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes } from 'react';
|
|
2
|
+
import { ForwardRefExoticComponent } from 'react';
|
|
3
|
+
import { HTMLAttributes } from 'react';
|
|
4
|
+
import { InputHTMLAttributes } from 'react';
|
|
5
|
+
import { ReactNode } from 'react';
|
|
6
|
+
import { RefAttributes } from 'react';
|
|
7
|
+
import { TextareaHTMLAttributes } from 'react';
|
|
8
|
+
|
|
9
|
+
export declare const CLAY_ASSET_BASE_PATH: "/assets/game/ui/clay/phase03-clay-kit";
|
|
10
|
+
|
|
11
|
+
export declare const CLAY_ASSET_SIZE_TOKENS: {
|
|
12
|
+
readonly iconSm: "var(--game-ui-asset-icon-sm)";
|
|
13
|
+
readonly iconMd: "var(--game-ui-asset-icon-md)";
|
|
14
|
+
readonly iconLg: "var(--game-ui-asset-icon-lg)";
|
|
15
|
+
readonly iconXl: "var(--game-ui-asset-icon-xl)";
|
|
16
|
+
readonly buttonSkinMinWidth: "var(--game-ui-asset-button-min-width)";
|
|
17
|
+
readonly cardFanWidth: "var(--game-ui-asset-card-fan-width)";
|
|
18
|
+
readonly stageTileMinHeight: "var(--game-ui-stage-tile-min-height)";
|
|
19
|
+
readonly terrainSwatchSize: "var(--game-ui-terrain-swatch-size)";
|
|
20
|
+
readonly terrainToolHitSize: "var(--game-ui-terrain-tool-hit-size)";
|
|
21
|
+
readonly buildRailCardSize: "var(--game-ui-build-rail-card-size)";
|
|
22
|
+
readonly brushNumberWidth: "var(--game-ui-brush-number-width)";
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export declare const CLAY_ASSETS: {
|
|
26
|
+
buttons: {
|
|
27
|
+
primary: string;
|
|
28
|
+
blue: string;
|
|
29
|
+
brown: string;
|
|
30
|
+
green: string;
|
|
31
|
+
purple: string;
|
|
32
|
+
red: string;
|
|
33
|
+
};
|
|
34
|
+
panels: {
|
|
35
|
+
popup: string;
|
|
36
|
+
commonTitle: string;
|
|
37
|
+
language: string;
|
|
38
|
+
};
|
|
39
|
+
controls: {
|
|
40
|
+
switchOn: string;
|
|
41
|
+
switchOff: string;
|
|
42
|
+
slider: string;
|
|
43
|
+
tabSelected: string;
|
|
44
|
+
tabNormal: string;
|
|
45
|
+
};
|
|
46
|
+
icons: Record<ClayIconName, string>;
|
|
47
|
+
catalog: {
|
|
48
|
+
manifest: string;
|
|
49
|
+
sourceCatalog: string;
|
|
50
|
+
contactSheetCommon: string;
|
|
51
|
+
contactSheetComponents: string;
|
|
52
|
+
contactSheetFunction: string;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export declare const CLAY_COLOR_TOKENS: {
|
|
57
|
+
readonly ink: "#3b2d23";
|
|
58
|
+
readonly inkMuted: "#7b6652";
|
|
59
|
+
readonly parchment: "#fff8ec";
|
|
60
|
+
readonly parchmentDeep: "#f4e2c6";
|
|
61
|
+
readonly cream: "#f3e8d8";
|
|
62
|
+
readonly wood: "#6c4f38";
|
|
63
|
+
readonly woodDeep: "#3a2518";
|
|
64
|
+
readonly honey: "#f2b35c";
|
|
65
|
+
readonly orange: "#e8743b";
|
|
66
|
+
readonly teal: "#1d9a8b";
|
|
67
|
+
readonly green: "#4f9d6b";
|
|
68
|
+
readonly mint: "#7ee0b6";
|
|
69
|
+
readonly berry: "#9b6dd6";
|
|
70
|
+
readonly red: "#d85a45";
|
|
71
|
+
readonly sky: "#5ca6d8";
|
|
72
|
+
readonly shadow: "rgba(76, 52, 28, 0.24)";
|
|
73
|
+
readonly glass: "rgba(255, 248, 236, 0.82)";
|
|
74
|
+
readonly nightGlass: "rgba(31, 24, 18, 0.76)";
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export declare const CLAY_ELEVATION_TOKENS: {
|
|
78
|
+
readonly button: "var(--game-ui-shadow-button)";
|
|
79
|
+
readonly panel: "var(--game-ui-shadow-panel)";
|
|
80
|
+
readonly modal: "var(--game-ui-shadow-modal)";
|
|
81
|
+
readonly inset: "var(--game-ui-shadow-inset)";
|
|
82
|
+
readonly stroke: "var(--game-ui-stroke)";
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export declare const CLAY_GAME_SPRITE_NAMES: ClayGameSpriteName[];
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Decorative game-content sprites — sculpted clay objects from the same source
|
|
89
|
+
* pack that read as *game content* (loot, weapons, shields, potions, currency
|
|
90
|
+
* variants) rather than UI affordances. They are deliberately kept OUT of
|
|
91
|
+
* CLAY_ICON_VARIANTS so the semantic icon API stays a clean, product-agnostic UI
|
|
92
|
+
* vocabulary. Reach for these in reward popups, inventories, win screens, or
|
|
93
|
+
* decorative flourishes — never for buttons or toolbars. Game family only; these
|
|
94
|
+
* have no flat line equivalents.
|
|
95
|
+
*/
|
|
96
|
+
export declare const CLAY_GAME_SPRITES: {
|
|
97
|
+
anvil: string;
|
|
98
|
+
arrow: string;
|
|
99
|
+
bomb: string;
|
|
100
|
+
candle: string;
|
|
101
|
+
chicken: string;
|
|
102
|
+
giftBlue: string;
|
|
103
|
+
hammer: string;
|
|
104
|
+
horn: string;
|
|
105
|
+
horseshoe: string;
|
|
106
|
+
letter: string;
|
|
107
|
+
medalBronze: string;
|
|
108
|
+
medalSilver: string;
|
|
109
|
+
pickaxe: string;
|
|
110
|
+
potionPurple: string;
|
|
111
|
+
potionRed: string;
|
|
112
|
+
purpleGem: string;
|
|
113
|
+
shieldA: string;
|
|
114
|
+
shieldB: string;
|
|
115
|
+
shieldC: string;
|
|
116
|
+
shieldD: string;
|
|
117
|
+
skull: string;
|
|
118
|
+
soulGem: string;
|
|
119
|
+
swordA: string;
|
|
120
|
+
swordB: string;
|
|
121
|
+
talaria: string;
|
|
122
|
+
treasure: string;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
export declare const CLAY_ICON_NAMES: ClayIconName[];
|
|
126
|
+
|
|
127
|
+
export declare const CLAY_ICON_VARIANTS: {
|
|
128
|
+
ai: {
|
|
129
|
+
line: string;
|
|
130
|
+
};
|
|
131
|
+
alert: {
|
|
132
|
+
game: string;
|
|
133
|
+
line: string;
|
|
134
|
+
};
|
|
135
|
+
card: {
|
|
136
|
+
line: string;
|
|
137
|
+
};
|
|
138
|
+
chat: {
|
|
139
|
+
line: string;
|
|
140
|
+
};
|
|
141
|
+
check: {
|
|
142
|
+
line: string;
|
|
143
|
+
};
|
|
144
|
+
close: {
|
|
145
|
+
game: string;
|
|
146
|
+
line: string;
|
|
147
|
+
};
|
|
148
|
+
coin: {
|
|
149
|
+
game: string;
|
|
150
|
+
line: string;
|
|
151
|
+
};
|
|
152
|
+
compass: {
|
|
153
|
+
line: string;
|
|
154
|
+
};
|
|
155
|
+
copy: {
|
|
156
|
+
line: string;
|
|
157
|
+
};
|
|
158
|
+
crown: {
|
|
159
|
+
game: string;
|
|
160
|
+
line: string;
|
|
161
|
+
};
|
|
162
|
+
energy: {
|
|
163
|
+
game: string;
|
|
164
|
+
line: string;
|
|
165
|
+
};
|
|
166
|
+
gem: {
|
|
167
|
+
game: string;
|
|
168
|
+
line: string;
|
|
169
|
+
};
|
|
170
|
+
gift: {
|
|
171
|
+
game: string;
|
|
172
|
+
line: string;
|
|
173
|
+
};
|
|
174
|
+
globe: {
|
|
175
|
+
line: string;
|
|
176
|
+
};
|
|
177
|
+
history: {
|
|
178
|
+
line: string;
|
|
179
|
+
};
|
|
180
|
+
home: {
|
|
181
|
+
line: string;
|
|
182
|
+
};
|
|
183
|
+
hourglass: {
|
|
184
|
+
game: string;
|
|
185
|
+
line: string;
|
|
186
|
+
};
|
|
187
|
+
laurel: {
|
|
188
|
+
game: string;
|
|
189
|
+
};
|
|
190
|
+
lock: {
|
|
191
|
+
game: string;
|
|
192
|
+
line: string;
|
|
193
|
+
};
|
|
194
|
+
lucky: {
|
|
195
|
+
game: string;
|
|
196
|
+
};
|
|
197
|
+
mail: {
|
|
198
|
+
game: string;
|
|
199
|
+
line: string;
|
|
200
|
+
};
|
|
201
|
+
medal: {
|
|
202
|
+
game: string;
|
|
203
|
+
line: string;
|
|
204
|
+
};
|
|
205
|
+
mission: {
|
|
206
|
+
game: string;
|
|
207
|
+
};
|
|
208
|
+
mobile: {
|
|
209
|
+
line: string;
|
|
210
|
+
};
|
|
211
|
+
portal: {
|
|
212
|
+
game: string;
|
|
213
|
+
line: string;
|
|
214
|
+
};
|
|
215
|
+
scroll: {
|
|
216
|
+
game: string;
|
|
217
|
+
line: string;
|
|
218
|
+
};
|
|
219
|
+
settings: {
|
|
220
|
+
game: string;
|
|
221
|
+
line: string;
|
|
222
|
+
};
|
|
223
|
+
shirt: {
|
|
224
|
+
line: string;
|
|
225
|
+
};
|
|
226
|
+
shop: {
|
|
227
|
+
game: string;
|
|
228
|
+
line: string;
|
|
229
|
+
};
|
|
230
|
+
smile: {
|
|
231
|
+
line: string;
|
|
232
|
+
};
|
|
233
|
+
timer: {
|
|
234
|
+
game: string;
|
|
235
|
+
line: string;
|
|
236
|
+
};
|
|
237
|
+
trophy: {
|
|
238
|
+
game: string;
|
|
239
|
+
line: string;
|
|
240
|
+
};
|
|
241
|
+
undo: {
|
|
242
|
+
line: string;
|
|
243
|
+
};
|
|
244
|
+
redo: {
|
|
245
|
+
line: string;
|
|
246
|
+
};
|
|
247
|
+
vote: {
|
|
248
|
+
game: string;
|
|
249
|
+
line: string;
|
|
250
|
+
};
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
export declare const CLAY_LAYER_TOKENS: {
|
|
254
|
+
readonly playfield: "var(--game-ui-z-playfield)";
|
|
255
|
+
readonly hud: "var(--game-ui-z-hud)";
|
|
256
|
+
readonly sidebar: "var(--game-ui-z-sidebar)";
|
|
257
|
+
readonly overlay: "var(--game-ui-z-overlay)";
|
|
258
|
+
readonly modal: "var(--game-ui-z-modal)";
|
|
259
|
+
readonly toast: "var(--game-ui-z-toast)";
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
export declare const CLAY_MOTION_TOKENS: {
|
|
263
|
+
readonly fast: "var(--game-ui-motion-fast)";
|
|
264
|
+
readonly base: "var(--game-ui-motion-base)";
|
|
265
|
+
readonly slow: "var(--game-ui-motion-slow)";
|
|
266
|
+
readonly easingPop: "var(--game-ui-ease-pop)";
|
|
267
|
+
readonly easingSoft: "var(--game-ui-ease-soft)";
|
|
268
|
+
readonly reducedMotion: "var(--game-ui-reduced-motion-policy)";
|
|
269
|
+
};
|
|
270
|
+
|
|
271
|
+
export declare const CLAY_RADIUS_TOKENS: {
|
|
272
|
+
readonly bead: "var(--game-ui-radius-bead)";
|
|
273
|
+
readonly control: "var(--game-ui-radius-control)";
|
|
274
|
+
readonly card: "var(--game-ui-radius-card)";
|
|
275
|
+
readonly panel: "var(--game-ui-radius-panel)";
|
|
276
|
+
readonly modal: "var(--game-ui-radius-modal)";
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
export declare const CLAY_SEMANTIC_TOKENS: {
|
|
280
|
+
readonly background: "var(--game-ui-bg)";
|
|
281
|
+
readonly playfieldScrim: "var(--game-ui-playfield-scrim)";
|
|
282
|
+
readonly surface: "var(--game-ui-surface)";
|
|
283
|
+
readonly surfaceRaised: "var(--game-ui-surface-raised)";
|
|
284
|
+
readonly panel: "var(--game-ui-panel)";
|
|
285
|
+
readonly panelStrong: "var(--game-ui-panel-strong)";
|
|
286
|
+
readonly text: "var(--game-ui-text)";
|
|
287
|
+
readonly textMuted: "var(--game-ui-text-muted)";
|
|
288
|
+
readonly accent: "var(--game-ui-accent)";
|
|
289
|
+
readonly accentContrast: "var(--game-ui-accent-contrast)";
|
|
290
|
+
readonly secondary: "var(--game-ui-secondary)";
|
|
291
|
+
readonly success: "var(--game-ui-success)";
|
|
292
|
+
readonly danger: "var(--game-ui-danger)";
|
|
293
|
+
readonly warning: "var(--game-ui-warning)";
|
|
294
|
+
readonly focusRing: "var(--game-ui-focus-ring)";
|
|
295
|
+
readonly borderSubtle: "var(--game-ui-border-subtle)";
|
|
296
|
+
readonly borderStrong: "var(--game-ui-border-strong)";
|
|
297
|
+
readonly disabled: "var(--game-ui-disabled)";
|
|
298
|
+
};
|
|
299
|
+
|
|
300
|
+
export declare const CLAY_SPACE_TOKENS: {
|
|
301
|
+
readonly px2: "var(--game-ui-space-2)";
|
|
302
|
+
readonly px4: "var(--game-ui-space-4)";
|
|
303
|
+
readonly px6: "var(--game-ui-space-6)";
|
|
304
|
+
readonly px8: "var(--game-ui-space-8)";
|
|
305
|
+
readonly px10: "var(--game-ui-space-10)";
|
|
306
|
+
readonly px12: "var(--game-ui-space-12)";
|
|
307
|
+
readonly px16: "var(--game-ui-space-16)";
|
|
308
|
+
readonly px20: "var(--game-ui-space-20)";
|
|
309
|
+
readonly px24: "var(--game-ui-space-24)";
|
|
310
|
+
readonly px32: "var(--game-ui-space-32)";
|
|
311
|
+
readonly safeTop: "var(--game-ui-safe-top)";
|
|
312
|
+
readonly safeRight: "var(--game-ui-safe-right)";
|
|
313
|
+
readonly safeBottom: "var(--game-ui-safe-bottom)";
|
|
314
|
+
readonly safeLeft: "var(--game-ui-safe-left)";
|
|
315
|
+
};
|
|
316
|
+
|
|
317
|
+
export declare const CLAY_TARGET_TOKENS: {
|
|
318
|
+
readonly touchMinimumPx: 44;
|
|
319
|
+
readonly touchPrimaryPx: 52;
|
|
320
|
+
readonly touchIconPx: 48;
|
|
321
|
+
readonly touchRowPx: 46;
|
|
322
|
+
readonly adjacentSpacingPx: 8;
|
|
323
|
+
readonly mobileLandscapeMinHeightPx: 390;
|
|
324
|
+
readonly desktopProofWidthPx: 1440;
|
|
325
|
+
readonly desktopProofHeightPx: 900;
|
|
326
|
+
readonly mobileLandscapeProofWidthPx: 844;
|
|
327
|
+
readonly mobileLandscapeProofHeightPx: 390;
|
|
328
|
+
};
|
|
329
|
+
|
|
330
|
+
export declare const CLAY_TYPE_TOKENS: {
|
|
331
|
+
readonly familyDisplay: "var(--game-ui-font-display)";
|
|
332
|
+
readonly familyBody: "var(--game-ui-font-body)";
|
|
333
|
+
readonly xs: "var(--game-ui-font-xs)";
|
|
334
|
+
readonly sm: "var(--game-ui-font-sm)";
|
|
335
|
+
readonly md: "var(--game-ui-font-md)";
|
|
336
|
+
readonly lg: "var(--game-ui-font-lg)";
|
|
337
|
+
readonly xl: "var(--game-ui-font-xl)";
|
|
338
|
+
readonly xxl: "var(--game-ui-font-xxl)";
|
|
339
|
+
readonly lineTight: "var(--game-ui-line-tight)";
|
|
340
|
+
readonly lineBody: "var(--game-ui-line-body)";
|
|
341
|
+
readonly weightBody: "var(--game-ui-weight-body)";
|
|
342
|
+
readonly weightStrong: "var(--game-ui-weight-strong)";
|
|
343
|
+
readonly weightTitle: "var(--game-ui-weight-title)";
|
|
344
|
+
};
|
|
345
|
+
|
|
346
|
+
export declare const CLAY_UI_TOKENS: {
|
|
347
|
+
readonly colors: {
|
|
348
|
+
readonly ink: "#3b2d23";
|
|
349
|
+
readonly inkMuted: "#7b6652";
|
|
350
|
+
readonly parchment: "#fff8ec";
|
|
351
|
+
readonly parchmentDeep: "#f4e2c6";
|
|
352
|
+
readonly cream: "#f3e8d8";
|
|
353
|
+
readonly wood: "#6c4f38";
|
|
354
|
+
readonly woodDeep: "#3a2518";
|
|
355
|
+
readonly honey: "#f2b35c";
|
|
356
|
+
readonly orange: "#e8743b";
|
|
357
|
+
readonly teal: "#1d9a8b";
|
|
358
|
+
readonly green: "#4f9d6b";
|
|
359
|
+
readonly mint: "#7ee0b6";
|
|
360
|
+
readonly berry: "#9b6dd6";
|
|
361
|
+
readonly red: "#d85a45";
|
|
362
|
+
readonly sky: "#5ca6d8";
|
|
363
|
+
readonly shadow: "rgba(76, 52, 28, 0.24)";
|
|
364
|
+
readonly glass: "rgba(255, 248, 236, 0.82)";
|
|
365
|
+
readonly nightGlass: "rgba(31, 24, 18, 0.76)";
|
|
366
|
+
};
|
|
367
|
+
readonly semantic: {
|
|
368
|
+
readonly background: "var(--game-ui-bg)";
|
|
369
|
+
readonly playfieldScrim: "var(--game-ui-playfield-scrim)";
|
|
370
|
+
readonly surface: "var(--game-ui-surface)";
|
|
371
|
+
readonly surfaceRaised: "var(--game-ui-surface-raised)";
|
|
372
|
+
readonly panel: "var(--game-ui-panel)";
|
|
373
|
+
readonly panelStrong: "var(--game-ui-panel-strong)";
|
|
374
|
+
readonly text: "var(--game-ui-text)";
|
|
375
|
+
readonly textMuted: "var(--game-ui-text-muted)";
|
|
376
|
+
readonly accent: "var(--game-ui-accent)";
|
|
377
|
+
readonly accentContrast: "var(--game-ui-accent-contrast)";
|
|
378
|
+
readonly secondary: "var(--game-ui-secondary)";
|
|
379
|
+
readonly success: "var(--game-ui-success)";
|
|
380
|
+
readonly danger: "var(--game-ui-danger)";
|
|
381
|
+
readonly warning: "var(--game-ui-warning)";
|
|
382
|
+
readonly focusRing: "var(--game-ui-focus-ring)";
|
|
383
|
+
readonly borderSubtle: "var(--game-ui-border-subtle)";
|
|
384
|
+
readonly borderStrong: "var(--game-ui-border-strong)";
|
|
385
|
+
readonly disabled: "var(--game-ui-disabled)";
|
|
386
|
+
};
|
|
387
|
+
readonly typography: {
|
|
388
|
+
readonly familyDisplay: "var(--game-ui-font-display)";
|
|
389
|
+
readonly familyBody: "var(--game-ui-font-body)";
|
|
390
|
+
readonly xs: "var(--game-ui-font-xs)";
|
|
391
|
+
readonly sm: "var(--game-ui-font-sm)";
|
|
392
|
+
readonly md: "var(--game-ui-font-md)";
|
|
393
|
+
readonly lg: "var(--game-ui-font-lg)";
|
|
394
|
+
readonly xl: "var(--game-ui-font-xl)";
|
|
395
|
+
readonly xxl: "var(--game-ui-font-xxl)";
|
|
396
|
+
readonly lineTight: "var(--game-ui-line-tight)";
|
|
397
|
+
readonly lineBody: "var(--game-ui-line-body)";
|
|
398
|
+
readonly weightBody: "var(--game-ui-weight-body)";
|
|
399
|
+
readonly weightStrong: "var(--game-ui-weight-strong)";
|
|
400
|
+
readonly weightTitle: "var(--game-ui-weight-title)";
|
|
401
|
+
};
|
|
402
|
+
readonly spacing: {
|
|
403
|
+
readonly px2: "var(--game-ui-space-2)";
|
|
404
|
+
readonly px4: "var(--game-ui-space-4)";
|
|
405
|
+
readonly px6: "var(--game-ui-space-6)";
|
|
406
|
+
readonly px8: "var(--game-ui-space-8)";
|
|
407
|
+
readonly px10: "var(--game-ui-space-10)";
|
|
408
|
+
readonly px12: "var(--game-ui-space-12)";
|
|
409
|
+
readonly px16: "var(--game-ui-space-16)";
|
|
410
|
+
readonly px20: "var(--game-ui-space-20)";
|
|
411
|
+
readonly px24: "var(--game-ui-space-24)";
|
|
412
|
+
readonly px32: "var(--game-ui-space-32)";
|
|
413
|
+
readonly safeTop: "var(--game-ui-safe-top)";
|
|
414
|
+
readonly safeRight: "var(--game-ui-safe-right)";
|
|
415
|
+
readonly safeBottom: "var(--game-ui-safe-bottom)";
|
|
416
|
+
readonly safeLeft: "var(--game-ui-safe-left)";
|
|
417
|
+
};
|
|
418
|
+
readonly radius: {
|
|
419
|
+
readonly bead: "var(--game-ui-radius-bead)";
|
|
420
|
+
readonly control: "var(--game-ui-radius-control)";
|
|
421
|
+
readonly card: "var(--game-ui-radius-card)";
|
|
422
|
+
readonly panel: "var(--game-ui-radius-panel)";
|
|
423
|
+
readonly modal: "var(--game-ui-radius-modal)";
|
|
424
|
+
};
|
|
425
|
+
readonly elevation: {
|
|
426
|
+
readonly button: "var(--game-ui-shadow-button)";
|
|
427
|
+
readonly panel: "var(--game-ui-shadow-panel)";
|
|
428
|
+
readonly modal: "var(--game-ui-shadow-modal)";
|
|
429
|
+
readonly inset: "var(--game-ui-shadow-inset)";
|
|
430
|
+
readonly stroke: "var(--game-ui-stroke)";
|
|
431
|
+
};
|
|
432
|
+
readonly motion: {
|
|
433
|
+
readonly fast: "var(--game-ui-motion-fast)";
|
|
434
|
+
readonly base: "var(--game-ui-motion-base)";
|
|
435
|
+
readonly slow: "var(--game-ui-motion-slow)";
|
|
436
|
+
readonly easingPop: "var(--game-ui-ease-pop)";
|
|
437
|
+
readonly easingSoft: "var(--game-ui-ease-soft)";
|
|
438
|
+
readonly reducedMotion: "var(--game-ui-reduced-motion-policy)";
|
|
439
|
+
};
|
|
440
|
+
readonly layers: {
|
|
441
|
+
readonly playfield: "var(--game-ui-z-playfield)";
|
|
442
|
+
readonly hud: "var(--game-ui-z-hud)";
|
|
443
|
+
readonly sidebar: "var(--game-ui-z-sidebar)";
|
|
444
|
+
readonly overlay: "var(--game-ui-z-overlay)";
|
|
445
|
+
readonly modal: "var(--game-ui-z-modal)";
|
|
446
|
+
readonly toast: "var(--game-ui-z-toast)";
|
|
447
|
+
};
|
|
448
|
+
readonly targets: {
|
|
449
|
+
readonly touchMinimumPx: 44;
|
|
450
|
+
readonly touchPrimaryPx: 52;
|
|
451
|
+
readonly touchIconPx: 48;
|
|
452
|
+
readonly touchRowPx: 46;
|
|
453
|
+
readonly adjacentSpacingPx: 8;
|
|
454
|
+
readonly mobileLandscapeMinHeightPx: 390;
|
|
455
|
+
readonly desktopProofWidthPx: 1440;
|
|
456
|
+
readonly desktopProofHeightPx: 900;
|
|
457
|
+
readonly mobileLandscapeProofWidthPx: 844;
|
|
458
|
+
readonly mobileLandscapeProofHeightPx: 390;
|
|
459
|
+
};
|
|
460
|
+
readonly assetSizing: {
|
|
461
|
+
readonly iconSm: "var(--game-ui-asset-icon-sm)";
|
|
462
|
+
readonly iconMd: "var(--game-ui-asset-icon-md)";
|
|
463
|
+
readonly iconLg: "var(--game-ui-asset-icon-lg)";
|
|
464
|
+
readonly iconXl: "var(--game-ui-asset-icon-xl)";
|
|
465
|
+
readonly buttonSkinMinWidth: "var(--game-ui-asset-button-min-width)";
|
|
466
|
+
readonly cardFanWidth: "var(--game-ui-asset-card-fan-width)";
|
|
467
|
+
readonly stageTileMinHeight: "var(--game-ui-stage-tile-min-height)";
|
|
468
|
+
readonly terrainSwatchSize: "var(--game-ui-terrain-swatch-size)";
|
|
469
|
+
readonly terrainToolHitSize: "var(--game-ui-terrain-tool-hit-size)";
|
|
470
|
+
readonly buildRailCardSize: "var(--game-ui-build-rail-card-size)";
|
|
471
|
+
readonly brushNumberWidth: "var(--game-ui-brush-number-width)";
|
|
472
|
+
};
|
|
473
|
+
};
|
|
474
|
+
|
|
475
|
+
export declare type ClayAssetGroup = keyof typeof CLAY_ASSETS;
|
|
476
|
+
|
|
477
|
+
export declare type ClayAssetMode = 'inline' | 'source';
|
|
478
|
+
|
|
479
|
+
export declare type ClayGameSpriteName = keyof typeof CLAY_GAME_SPRITES;
|
|
480
|
+
|
|
481
|
+
export declare type ClayIconName = keyof typeof CLAY_ICON_VARIANTS;
|
|
482
|
+
|
|
483
|
+
export declare interface ClayIconResolveOptions {
|
|
484
|
+
/** Force a specific visual family. Defaults to game-preferred resolution. */
|
|
485
|
+
style?: ClayIconStyle;
|
|
486
|
+
/** Force inline SVG placeholder (true) or real PNG path (false). */
|
|
487
|
+
inline?: boolean;
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
/**
|
|
491
|
+
* Clay icons ship in two visual families, and which one you use is a deliberate
|
|
492
|
+
* design choice:
|
|
493
|
+
*
|
|
494
|
+
* - 'game' — the colorful, sculpted clay objects under `icons/common/*`
|
|
495
|
+
* (crown, scroll, trophy, key…). This is the primary, on-brand look
|
|
496
|
+
* and the default everywhere. Use it for anything the player sees.
|
|
497
|
+
* - 'line' — the flat, white, monochrome glyphs under `icons/function/*`
|
|
498
|
+
* (home, compass, chat…). This is the alternate/utility family for
|
|
499
|
+
* dense toolbars or places a sculpted object would feel too heavy.
|
|
500
|
+
*
|
|
501
|
+
* Not every semantic icon exists in both families: the game family is a curated
|
|
502
|
+
* set of ~45 sculpted objects, while the line family covers ~230 generic UI
|
|
503
|
+
* concepts. `getClayIconStyles()` reports which families a given icon has, and
|
|
504
|
+
* resolution always prefers 'game' so cards get the on-brand look by default.
|
|
505
|
+
*/
|
|
506
|
+
export declare type ClayIconStyle = 'game' | 'line';
|
|
507
|
+
|
|
508
|
+
export declare type ClayTokenCategory = keyof typeof CLAY_UI_TOKENS;
|
|
509
|
+
|
|
510
|
+
export declare function FirstSessionHud({ authenticated, batteryCount, className, dailyStreak, iconSlots, labels, onHistory, onSettings, onWardrobe, playerName }: FirstSessionHudProps): ReactNode;
|
|
511
|
+
|
|
512
|
+
export declare interface FirstSessionHudIconSlots {
|
|
513
|
+
history?: ReactNode;
|
|
514
|
+
input?: ReactNode;
|
|
515
|
+
settings?: ReactNode;
|
|
516
|
+
wardrobe?: ReactNode;
|
|
517
|
+
emote?: ReactNode;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
export declare interface FirstSessionHudLabels {
|
|
521
|
+
controls: string;
|
|
522
|
+
emote: string;
|
|
523
|
+
goalLabel: string;
|
|
524
|
+
goalValue: string;
|
|
525
|
+
/** Streak prefix, e.g. "Daily" → "Daily 3". Defaults to "Daily". */
|
|
526
|
+
streak?: string;
|
|
527
|
+
/** Resource meta shown for guests (unauthenticated). Defaults to "guest". */
|
|
528
|
+
guest?: string;
|
|
529
|
+
history: string;
|
|
530
|
+
hud: string;
|
|
531
|
+
input: string;
|
|
532
|
+
moveBadge: string;
|
|
533
|
+
move: string;
|
|
534
|
+
roomLabel: string;
|
|
535
|
+
roomValue: string;
|
|
536
|
+
roleLabel: string;
|
|
537
|
+
roleValue: string;
|
|
538
|
+
settings: string;
|
|
539
|
+
shell: string;
|
|
540
|
+
timerLabel: string;
|
|
541
|
+
timerValue: string;
|
|
542
|
+
tools: string;
|
|
543
|
+
wardrobe: string;
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
export declare interface FirstSessionHudProps {
|
|
547
|
+
authenticated: boolean;
|
|
548
|
+
batteryCount: number | string;
|
|
549
|
+
className?: string;
|
|
550
|
+
dailyStreak: number;
|
|
551
|
+
iconSlots?: FirstSessionHudIconSlots;
|
|
552
|
+
labels: FirstSessionHudLabels;
|
|
553
|
+
onHistory: () => void;
|
|
554
|
+
onSettings: () => void;
|
|
555
|
+
onWardrobe: () => void;
|
|
556
|
+
playerName: string;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
export declare function FirstSessionOnboarding({ labels, onDismiss, open }: FirstSessionOnboardingProps): ReactNode;
|
|
560
|
+
|
|
561
|
+
export declare interface FirstSessionOnboardingLabels {
|
|
562
|
+
badge: string;
|
|
563
|
+
body: string;
|
|
564
|
+
skip: string;
|
|
565
|
+
start: string;
|
|
566
|
+
steps: readonly FirstSessionOnboardingStep[];
|
|
567
|
+
title: string;
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
export declare interface FirstSessionOnboardingProps {
|
|
571
|
+
labels: FirstSessionOnboardingLabels;
|
|
572
|
+
onDismiss: () => void;
|
|
573
|
+
open: boolean;
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
export declare interface FirstSessionOnboardingStep {
|
|
577
|
+
body: string;
|
|
578
|
+
title: string;
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
export declare const GAME_UI_PREVIEW_MESSAGES: readonly GameUiHistoryEntry[];
|
|
582
|
+
|
|
583
|
+
export declare const GAME_UI_TARGETS: {
|
|
584
|
+
readonly touchMinimumPx: 44;
|
|
585
|
+
readonly touchPrimaryPx: 52;
|
|
586
|
+
readonly touchIconPx: 48;
|
|
587
|
+
readonly touchRowPx: 46;
|
|
588
|
+
readonly adjacentSpacingPx: 8;
|
|
589
|
+
readonly mobileLandscapeMinHeightPx: 390;
|
|
590
|
+
readonly desktopProofWidthPx: 1440;
|
|
591
|
+
readonly desktopProofHeightPx: 900;
|
|
592
|
+
readonly mobileLandscapeProofWidthPx: 844;
|
|
593
|
+
readonly mobileLandscapeProofHeightPx: 390;
|
|
594
|
+
};
|
|
595
|
+
|
|
596
|
+
export declare const GAME_UI_TOKENS: {
|
|
597
|
+
readonly iconSm: "var(--game-ui-asset-icon-sm)";
|
|
598
|
+
readonly iconMd: "var(--game-ui-asset-icon-md)";
|
|
599
|
+
readonly iconLg: "var(--game-ui-asset-icon-lg)";
|
|
600
|
+
readonly iconXl: "var(--game-ui-asset-icon-xl)";
|
|
601
|
+
readonly buttonSkinMinWidth: "var(--game-ui-asset-button-min-width)";
|
|
602
|
+
readonly cardFanWidth: "var(--game-ui-asset-card-fan-width)";
|
|
603
|
+
readonly stageTileMinHeight: "var(--game-ui-stage-tile-min-height)";
|
|
604
|
+
readonly terrainSwatchSize: "var(--game-ui-terrain-swatch-size)";
|
|
605
|
+
readonly terrainToolHitSize: "var(--game-ui-terrain-tool-hit-size)";
|
|
606
|
+
readonly buildRailCardSize: "var(--game-ui-build-rail-card-size)";
|
|
607
|
+
readonly brushNumberWidth: "var(--game-ui-brush-number-width)";
|
|
608
|
+
readonly playfield: "var(--game-ui-z-playfield)";
|
|
609
|
+
readonly hud: "var(--game-ui-z-hud)";
|
|
610
|
+
readonly sidebar: "var(--game-ui-z-sidebar)";
|
|
611
|
+
readonly overlay: "var(--game-ui-z-overlay)";
|
|
612
|
+
readonly modal: "var(--game-ui-z-modal)";
|
|
613
|
+
readonly toast: "var(--game-ui-z-toast)";
|
|
614
|
+
readonly fast: "var(--game-ui-motion-fast)";
|
|
615
|
+
readonly base: "var(--game-ui-motion-base)";
|
|
616
|
+
readonly slow: "var(--game-ui-motion-slow)";
|
|
617
|
+
readonly easingPop: "var(--game-ui-ease-pop)";
|
|
618
|
+
readonly easingSoft: "var(--game-ui-ease-soft)";
|
|
619
|
+
readonly reducedMotion: "var(--game-ui-reduced-motion-policy)";
|
|
620
|
+
readonly button: "var(--game-ui-shadow-button)";
|
|
621
|
+
readonly panel: "var(--game-ui-shadow-panel)";
|
|
622
|
+
readonly inset: "var(--game-ui-shadow-inset)";
|
|
623
|
+
readonly stroke: "var(--game-ui-stroke)";
|
|
624
|
+
readonly bead: "var(--game-ui-radius-bead)";
|
|
625
|
+
readonly control: "var(--game-ui-radius-control)";
|
|
626
|
+
readonly card: "var(--game-ui-radius-card)";
|
|
627
|
+
readonly px2: "var(--game-ui-space-2)";
|
|
628
|
+
readonly px4: "var(--game-ui-space-4)";
|
|
629
|
+
readonly px6: "var(--game-ui-space-6)";
|
|
630
|
+
readonly px8: "var(--game-ui-space-8)";
|
|
631
|
+
readonly px10: "var(--game-ui-space-10)";
|
|
632
|
+
readonly px12: "var(--game-ui-space-12)";
|
|
633
|
+
readonly px16: "var(--game-ui-space-16)";
|
|
634
|
+
readonly px20: "var(--game-ui-space-20)";
|
|
635
|
+
readonly px24: "var(--game-ui-space-24)";
|
|
636
|
+
readonly px32: "var(--game-ui-space-32)";
|
|
637
|
+
readonly safeTop: "var(--game-ui-safe-top)";
|
|
638
|
+
readonly safeRight: "var(--game-ui-safe-right)";
|
|
639
|
+
readonly safeBottom: "var(--game-ui-safe-bottom)";
|
|
640
|
+
readonly safeLeft: "var(--game-ui-safe-left)";
|
|
641
|
+
readonly familyDisplay: "var(--game-ui-font-display)";
|
|
642
|
+
readonly familyBody: "var(--game-ui-font-body)";
|
|
643
|
+
readonly xs: "var(--game-ui-font-xs)";
|
|
644
|
+
readonly sm: "var(--game-ui-font-sm)";
|
|
645
|
+
readonly md: "var(--game-ui-font-md)";
|
|
646
|
+
readonly lg: "var(--game-ui-font-lg)";
|
|
647
|
+
readonly xl: "var(--game-ui-font-xl)";
|
|
648
|
+
readonly xxl: "var(--game-ui-font-xxl)";
|
|
649
|
+
readonly lineTight: "var(--game-ui-line-tight)";
|
|
650
|
+
readonly lineBody: "var(--game-ui-line-body)";
|
|
651
|
+
readonly weightBody: "var(--game-ui-weight-body)";
|
|
652
|
+
readonly weightStrong: "var(--game-ui-weight-strong)";
|
|
653
|
+
readonly weightTitle: "var(--game-ui-weight-title)";
|
|
654
|
+
readonly background: "var(--game-ui-bg)";
|
|
655
|
+
readonly playfieldScrim: "var(--game-ui-playfield-scrim)";
|
|
656
|
+
readonly surface: "var(--game-ui-surface)";
|
|
657
|
+
readonly surfaceRaised: "var(--game-ui-surface-raised)";
|
|
658
|
+
readonly panelStrong: "var(--game-ui-panel-strong)";
|
|
659
|
+
readonly text: "var(--game-ui-text)";
|
|
660
|
+
readonly textMuted: "var(--game-ui-text-muted)";
|
|
661
|
+
readonly accent: "var(--game-ui-accent)";
|
|
662
|
+
readonly accentContrast: "var(--game-ui-accent-contrast)";
|
|
663
|
+
readonly secondary: "var(--game-ui-secondary)";
|
|
664
|
+
readonly success: "var(--game-ui-success)";
|
|
665
|
+
readonly danger: "var(--game-ui-danger)";
|
|
666
|
+
readonly warning: "var(--game-ui-warning)";
|
|
667
|
+
readonly focusRing: "var(--game-ui-focus-ring)";
|
|
668
|
+
readonly borderSubtle: "var(--game-ui-border-subtle)";
|
|
669
|
+
readonly borderStrong: "var(--game-ui-border-strong)";
|
|
670
|
+
readonly disabled: "var(--game-ui-disabled)";
|
|
671
|
+
};
|
|
672
|
+
|
|
673
|
+
export declare function GameActionGrid({ actions, className, density, iconLabelMode, label, style }: GameActionGridProps): ReactNode;
|
|
674
|
+
|
|
675
|
+
export declare interface GameActionGridProps {
|
|
676
|
+
actions: readonly GameUiAction[];
|
|
677
|
+
className?: string;
|
|
678
|
+
density?: GameSurfaceDensity;
|
|
679
|
+
iconLabelMode?: GameActionIconLabelMode;
|
|
680
|
+
label: string;
|
|
681
|
+
style?: GameActionStyle;
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
export declare type GameActionIconLabelMode = 'hidden' | 'caption';
|
|
685
|
+
|
|
686
|
+
export declare type GameActionStyle = 'button' | 'icon';
|
|
687
|
+
|
|
688
|
+
export declare interface GameAssetBadge {
|
|
689
|
+
label: string;
|
|
690
|
+
tone?: GameBadgeTone;
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
export declare function GameAssetCard({ assetId, badges, cardLayout, className, description, disabled, facts, icon, onClick, onSelect, selected, source, sourceLabel, status, statusLabel, thumbnailAlt, thumbnailSrc, title, type, ...props }: GameAssetCardProps): ReactNode;
|
|
694
|
+
|
|
695
|
+
export declare type GameAssetCardLayout = 'auto' | 'list' | 'rail';
|
|
696
|
+
|
|
697
|
+
export declare interface GameAssetCardProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'onSelect'> {
|
|
698
|
+
assetId: string;
|
|
699
|
+
badges?: readonly GameAssetBadge[];
|
|
700
|
+
cardLayout?: Exclude<GameAssetCardLayout, 'auto'>;
|
|
701
|
+
description?: string;
|
|
702
|
+
facts?: readonly GameAssetFact[];
|
|
703
|
+
icon?: ClayIconName;
|
|
704
|
+
onSelect?: (assetId: string) => void;
|
|
705
|
+
selected?: boolean;
|
|
706
|
+
source: GameAssetSource;
|
|
707
|
+
sourceLabel?: string;
|
|
708
|
+
status?: GameAssetStatus;
|
|
709
|
+
statusLabel?: string;
|
|
710
|
+
thumbnailAlt?: string;
|
|
711
|
+
thumbnailSrc?: string;
|
|
712
|
+
title: string;
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
export declare interface GameAssetFact {
|
|
716
|
+
id: string;
|
|
717
|
+
label: string;
|
|
718
|
+
value: string;
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
export declare interface GameAssetGroup {
|
|
722
|
+
assets: readonly Omit<GameAssetCardProps, 'onSelect' | 'selected'>[];
|
|
723
|
+
id: string;
|
|
724
|
+
label: string;
|
|
725
|
+
source?: GameAssetSource;
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
export declare function GameAssetIcon({ className, icon, label, size, style, useSourceAsset }: GameAssetIconProps): ReactNode;
|
|
729
|
+
|
|
730
|
+
export declare interface GameAssetIconProps {
|
|
731
|
+
className?: string;
|
|
732
|
+
icon: ClayIconName;
|
|
733
|
+
label?: string;
|
|
734
|
+
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
735
|
+
/**
|
|
736
|
+
* Visual family. 'game' (default) is the colorful sculpted clay object;
|
|
737
|
+
* 'line' is the flat white glyph alternate. Falls back automatically when an
|
|
738
|
+
* icon only ships one family.
|
|
739
|
+
*/
|
|
740
|
+
style?: ClayIconStyle;
|
|
741
|
+
useSourceAsset?: boolean;
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
export declare function GameAssetLibrary({ cardLayout, className, density, emptyAction, emptyDescription, emptyTitle, groups, label, onSelectAsset, selectedAssetId, subtitle, title, }: GameAssetLibraryProps): ReactNode;
|
|
745
|
+
|
|
746
|
+
export declare interface GameAssetLibraryProps {
|
|
747
|
+
cardLayout?: GameAssetCardLayout;
|
|
748
|
+
className?: string;
|
|
749
|
+
density?: GameSurfaceDensity;
|
|
750
|
+
emptyAction?: ReactNode;
|
|
751
|
+
emptyDescription?: string;
|
|
752
|
+
emptyTitle?: string;
|
|
753
|
+
groups: readonly GameAssetGroup[];
|
|
754
|
+
label: string;
|
|
755
|
+
onSelectAsset?: (assetId: string) => void;
|
|
756
|
+
selectedAssetId?: string;
|
|
757
|
+
subtitle?: string;
|
|
758
|
+
title: string;
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
export declare type GameAssetSource = 'starter' | 'generated' | 'imported';
|
|
762
|
+
|
|
763
|
+
export declare type GameAssetStatus = 'ready' | 'generating' | 'missing' | 'placed' | 'selected' | 'error';
|
|
764
|
+
|
|
765
|
+
export declare function GameAvatar({ className, name, size, src, status }: GameAvatarProps): ReactNode;
|
|
766
|
+
|
|
767
|
+
export declare interface GameAvatarProps {
|
|
768
|
+
/** Display name — used as image alt text and for the initials fallback. */
|
|
769
|
+
name: string;
|
|
770
|
+
/** Optional image URL; when missing, initials are shown instead. */
|
|
771
|
+
src?: string;
|
|
772
|
+
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
773
|
+
/** Presence dot; 'none' hides it. */
|
|
774
|
+
status?: 'none' | 'online' | 'busy' | 'away';
|
|
775
|
+
className?: string;
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
export declare function GameBadge({ children, className, tone }: GameBadgeProps): ReactNode;
|
|
779
|
+
|
|
780
|
+
export declare interface GameBadgeProps {
|
|
781
|
+
children: ReactNode;
|
|
782
|
+
className?: string;
|
|
783
|
+
tone?: GameBadgeTone;
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
export declare type GameBadgeTone = 'neutral' | 'success' | 'warning' | 'danger' | 'ai';
|
|
787
|
+
|
|
788
|
+
export declare function GameBeforeAfterToggle({ activeView, after, before, className, label, onViewChange, variant, 'data-testid': testId, }: GameBeforeAfterToggleProps): ReactNode;
|
|
789
|
+
|
|
790
|
+
export declare interface GameBeforeAfterToggleProps {
|
|
791
|
+
activeView: GameBeforeAfterView;
|
|
792
|
+
after: GameConstructionPreviewPane;
|
|
793
|
+
before: GameConstructionPreviewPane;
|
|
794
|
+
className?: string | undefined;
|
|
795
|
+
label: string;
|
|
796
|
+
onViewChange?: ((view: GameBeforeAfterView) => void) | undefined;
|
|
797
|
+
variant?: GameConstructionVariant | undefined;
|
|
798
|
+
'data-testid'?: string | undefined;
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
export declare type GameBeforeAfterView = 'before' | 'after';
|
|
802
|
+
|
|
803
|
+
export declare interface GameBrushControlLabels {
|
|
804
|
+
radius?: string;
|
|
805
|
+
strength?: string;
|
|
806
|
+
radiusHint?: string;
|
|
807
|
+
strengthHint?: string;
|
|
808
|
+
}
|
|
809
|
+
|
|
810
|
+
export declare function GameBrushControls({ className, labels, onRadiusChange, onStrengthChange, state, variant, 'data-testid': testId, }: GameBrushControlsProps): ReactNode;
|
|
811
|
+
|
|
812
|
+
export declare interface GameBrushControlsProps {
|
|
813
|
+
className?: string;
|
|
814
|
+
labels?: GameBrushControlLabels;
|
|
815
|
+
onRadiusChange?: ((radius: number) => void) | undefined;
|
|
816
|
+
onStrengthChange?: ((strength: number) => void) | undefined;
|
|
817
|
+
state: GameBrushControlState;
|
|
818
|
+
variant?: GameTerrainBuildVariant;
|
|
819
|
+
'data-testid'?: string | undefined;
|
|
820
|
+
}
|
|
821
|
+
|
|
822
|
+
export declare interface GameBrushControlState {
|
|
823
|
+
disabled?: boolean;
|
|
824
|
+
maxRadius?: number;
|
|
825
|
+
maxStrength?: number;
|
|
826
|
+
minRadius?: number;
|
|
827
|
+
minStrength?: number;
|
|
828
|
+
radius: number;
|
|
829
|
+
radiusStep?: number;
|
|
830
|
+
strength: number;
|
|
831
|
+
strengthStep?: number;
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
export declare interface GameBuildCategory {
|
|
835
|
+
compactLabel?: string;
|
|
836
|
+
disabled?: boolean;
|
|
837
|
+
icon?: ClayIconName;
|
|
838
|
+
id: GameBuildCategoryId;
|
|
839
|
+
items: readonly GameBuildItem[];
|
|
840
|
+
label: string;
|
|
841
|
+
meta?: string;
|
|
842
|
+
}
|
|
843
|
+
|
|
844
|
+
export declare type GameBuildCategoryId = 'foundation' | 'wall' | 'opening' | 'roof' | 'prop' | 'house' | string;
|
|
845
|
+
|
|
846
|
+
export declare interface GameBuildItem {
|
|
847
|
+
badges?: readonly {
|
|
848
|
+
label: string;
|
|
849
|
+
tone?: GameBadgeTone;
|
|
850
|
+
}[];
|
|
851
|
+
compactLabel?: string;
|
|
852
|
+
description?: string;
|
|
853
|
+
disabled?: boolean;
|
|
854
|
+
icon?: ClayIconName;
|
|
855
|
+
id: string;
|
|
856
|
+
label: string;
|
|
857
|
+
meta?: string;
|
|
858
|
+
previewAlt?: string;
|
|
859
|
+
previewSrc?: string;
|
|
860
|
+
status?: GameBuildItemStatus;
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
export declare type GameBuildItemStatus = 'ready' | 'selected' | 'locked' | 'missing' | 'progress' | 'error';
|
|
864
|
+
|
|
865
|
+
export declare function GameBuildLibrary({ activeCategoryId, categories, className, density, emptyDescription, emptyTitle, label, onCategoryChange, onSelectItem, selectedItemId, title, variant, 'data-testid': testId, }: GameBuildLibraryProps): ReactNode;
|
|
866
|
+
|
|
867
|
+
export declare interface GameBuildLibraryProps {
|
|
868
|
+
activeCategoryId?: string | undefined;
|
|
869
|
+
categories: readonly GameBuildCategory[];
|
|
870
|
+
className?: string;
|
|
871
|
+
density?: GameSurfaceDensity;
|
|
872
|
+
emptyDescription?: string;
|
|
873
|
+
emptyTitle?: string;
|
|
874
|
+
label: string;
|
|
875
|
+
onCategoryChange?: ((categoryId: string) => void) | undefined;
|
|
876
|
+
onSelectItem?: ((itemId: string, categoryId: string) => void) | undefined;
|
|
877
|
+
selectedItemId?: string | undefined;
|
|
878
|
+
title: string;
|
|
879
|
+
variant?: GameTerrainBuildVariant;
|
|
880
|
+
'data-testid'?: string | undefined;
|
|
881
|
+
}
|
|
882
|
+
|
|
883
|
+
export declare function GameButton({ children, className, onClick, sound, static: isStatic, type, variant, ...props }: GameButtonProps): ReactNode;
|
|
884
|
+
|
|
885
|
+
export declare interface GameButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
886
|
+
children: ReactNode;
|
|
887
|
+
sound?: GameInteractionSoundOptions | false;
|
|
888
|
+
/** Disable the scale-on-press feedback where the motion would distract. */
|
|
889
|
+
static?: boolean;
|
|
890
|
+
variant?: GameButtonVariant;
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
export declare type GameButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger' | 'success';
|
|
894
|
+
|
|
895
|
+
export declare function GameCardFan({ cards, className, label }: GameCardFanProps): ReactNode;
|
|
896
|
+
|
|
897
|
+
export declare interface GameCardFanCard {
|
|
898
|
+
id: string;
|
|
899
|
+
icon?: ClayIconName;
|
|
900
|
+
kicker: string;
|
|
901
|
+
title: string;
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
export declare interface GameCardFanProps {
|
|
905
|
+
cards: readonly GameCardFanCard[];
|
|
906
|
+
className?: string;
|
|
907
|
+
label: string;
|
|
908
|
+
}
|
|
909
|
+
|
|
910
|
+
export declare function GameCheckbox({ className, label, ...props }: GameCheckboxProps): ReactNode;
|
|
911
|
+
|
|
912
|
+
export declare interface GameCheckboxProps extends Pick<InputHTMLAttributes<HTMLInputElement>, 'checked' | 'defaultChecked' | 'disabled' | 'name' | 'onChange' | 'required' | 'value'> {
|
|
913
|
+
label: string;
|
|
914
|
+
className?: string;
|
|
915
|
+
}
|
|
916
|
+
|
|
917
|
+
export declare function GameCollapsiblePanel({ actions, children, className, defaultOpen, labels, onOpenChange, open, title, tone, ...props }: GameCollapsiblePanelProps): ReactNode;
|
|
918
|
+
|
|
919
|
+
export declare interface GameCollapsiblePanelLabels {
|
|
920
|
+
collapse: string;
|
|
921
|
+
expand: string;
|
|
922
|
+
}
|
|
923
|
+
|
|
924
|
+
export declare interface GameCollapsiblePanelProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
|
|
925
|
+
children: ReactNode;
|
|
926
|
+
className?: string;
|
|
927
|
+
/** Controlled open state. Leave undefined for uncontrolled usage. */
|
|
928
|
+
open?: boolean;
|
|
929
|
+
/** Uncontrolled initial state. Defaults to true (expanded). */
|
|
930
|
+
defaultOpen?: boolean;
|
|
931
|
+
onOpenChange?: (open: boolean) => void;
|
|
932
|
+
/** Extra header actions rendered next to the toggle (e.g. icon buttons). */
|
|
933
|
+
actions?: ReactNode;
|
|
934
|
+
labels?: Partial<GameCollapsiblePanelLabels>;
|
|
935
|
+
title: string;
|
|
936
|
+
tone?: 'default' | 'strong';
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
export declare function GameCompactGameDrawer({ children, className, closeIcon, closeLabel, disabled, label, onOpenChange, open, panelId: providedPanelId, title, triggerIcon, triggerLabel, variant, 'data-testid': testId, }: GameCompactGameDrawerProps): ReactNode;
|
|
940
|
+
|
|
941
|
+
export declare interface GameCompactGameDrawerProps {
|
|
942
|
+
children: ReactNode;
|
|
943
|
+
className?: string;
|
|
944
|
+
closeIcon?: ClayIconName;
|
|
945
|
+
closeLabel?: string;
|
|
946
|
+
disabled?: boolean;
|
|
947
|
+
label: string;
|
|
948
|
+
onOpenChange?: ((open: boolean) => void) | undefined;
|
|
949
|
+
open: boolean;
|
|
950
|
+
panelId?: string;
|
|
951
|
+
title: string;
|
|
952
|
+
triggerIcon?: ClayIconName;
|
|
953
|
+
triggerLabel?: string;
|
|
954
|
+
variant?: GameTerrainBuildVariant;
|
|
955
|
+
'data-testid'?: string | undefined;
|
|
956
|
+
}
|
|
957
|
+
|
|
958
|
+
export declare function GameCompactJobDrawer({ children, className, closeLabel, disabled, jobs, label, onAction, onOpenChange, onSelectJob, open, panelId, selectedJobId, title, triggerLabel, variant, 'data-testid': testId, }: GameCompactJobDrawerProps): ReactNode;
|
|
959
|
+
|
|
960
|
+
export declare interface GameCompactJobDrawerProps {
|
|
961
|
+
children?: ReactNode | undefined;
|
|
962
|
+
className?: string | undefined;
|
|
963
|
+
closeLabel?: string | undefined;
|
|
964
|
+
disabled?: boolean | undefined;
|
|
965
|
+
jobs?: readonly GameConstructionJob[] | undefined;
|
|
966
|
+
label: string;
|
|
967
|
+
onAction?: ((actionId: string, jobId: string) => void) | undefined;
|
|
968
|
+
onOpenChange?: ((open: boolean) => void) | undefined;
|
|
969
|
+
onSelectJob?: ((jobId: string) => void) | undefined;
|
|
970
|
+
open: boolean;
|
|
971
|
+
panelId?: string | undefined;
|
|
972
|
+
selectedJobId?: string | undefined;
|
|
973
|
+
title: string;
|
|
974
|
+
triggerLabel?: string | undefined;
|
|
975
|
+
variant?: Extract<GameConstructionVariant, 'mobile' | 'small-mobile'> | undefined;
|
|
976
|
+
'data-testid'?: string | undefined;
|
|
977
|
+
}
|
|
978
|
+
|
|
979
|
+
export declare interface GameConstructionAction {
|
|
980
|
+
ariaLabel?: string | undefined;
|
|
981
|
+
disabled?: boolean | undefined;
|
|
982
|
+
icon?: ClayIconName | undefined;
|
|
983
|
+
id: GameConstructionActionId;
|
|
984
|
+
label: string;
|
|
985
|
+
meta?: string | undefined;
|
|
986
|
+
tone?: GameButtonVariant | undefined;
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
export declare type GameConstructionActionId = 'approve' | 'cancel' | 'preview' | 'revise' | 'revert' | string;
|
|
990
|
+
|
|
991
|
+
export declare function GameConstructionApprovalBar({ actions, className, disabled, label, localOnlyLabel, onAction, providerMode, status, validationWarnings, variant, 'data-testid': testId, }: GameConstructionApprovalBarProps): ReactNode;
|
|
992
|
+
|
|
993
|
+
export declare interface GameConstructionApprovalBarProps {
|
|
994
|
+
actions?: readonly GameConstructionAction[] | undefined;
|
|
995
|
+
className?: string | undefined;
|
|
996
|
+
disabled?: boolean | undefined;
|
|
997
|
+
label: string;
|
|
998
|
+
localOnlyLabel?: string | undefined;
|
|
999
|
+
onAction?: ((actionId: string) => void) | undefined;
|
|
1000
|
+
providerMode?: GameConstructionProviderMode | undefined;
|
|
1001
|
+
status: GameConstructionJobStatus;
|
|
1002
|
+
validationWarnings?: readonly GameConstructionValidationWarning[] | undefined;
|
|
1003
|
+
variant?: GameConstructionVariant | undefined;
|
|
1004
|
+
'data-testid'?: string | undefined;
|
|
1005
|
+
}
|
|
1006
|
+
|
|
1007
|
+
export declare interface GameConstructionBadge {
|
|
1008
|
+
label: string;
|
|
1009
|
+
tone?: GameBadgeTone | undefined;
|
|
1010
|
+
}
|
|
1011
|
+
|
|
1012
|
+
export declare interface GameConstructionFact {
|
|
1013
|
+
id: string;
|
|
1014
|
+
label: string;
|
|
1015
|
+
value: ReactNode;
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1018
|
+
export declare interface GameConstructionJob {
|
|
1019
|
+
actions?: readonly GameConstructionAction[] | undefined;
|
|
1020
|
+
after?: GameConstructionPreviewPane | undefined;
|
|
1021
|
+
badges?: readonly GameConstructionBadge[] | undefined;
|
|
1022
|
+
before?: GameConstructionPreviewPane | undefined;
|
|
1023
|
+
crew?: readonly GameRobotCrewMember[] | undefined;
|
|
1024
|
+
description?: string | undefined;
|
|
1025
|
+
estimate?: string | undefined;
|
|
1026
|
+
facts?: readonly GameConstructionFact[] | undefined;
|
|
1027
|
+
id: string;
|
|
1028
|
+
location?: string | undefined;
|
|
1029
|
+
progressLabel?: string | undefined;
|
|
1030
|
+
progressMax?: number | undefined;
|
|
1031
|
+
progressValue?: number | undefined;
|
|
1032
|
+
providerMode?: GameConstructionProviderMode | undefined;
|
|
1033
|
+
status: GameConstructionJobStatus;
|
|
1034
|
+
statusLabel?: string | undefined;
|
|
1035
|
+
steps?: readonly GameConstructionProgressStep[] | undefined;
|
|
1036
|
+
title: string;
|
|
1037
|
+
validationWarnings?: readonly GameConstructionValidationWarning[] | undefined;
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
export declare function GameConstructionJobCard({ className, density, job, onAction, onSelect, selected, showApprovalBar, showBeforeAfter, variant, 'data-testid': testId, }: GameConstructionJobCardProps): ReactNode;
|
|
1041
|
+
|
|
1042
|
+
export declare interface GameConstructionJobCardProps {
|
|
1043
|
+
className?: string | undefined;
|
|
1044
|
+
density?: GameSurfaceDensity | undefined;
|
|
1045
|
+
job: GameConstructionJob;
|
|
1046
|
+
onAction?: ((actionId: string, jobId: string) => void) | undefined;
|
|
1047
|
+
onSelect?: ((jobId: string) => void) | undefined;
|
|
1048
|
+
selected?: boolean | undefined;
|
|
1049
|
+
showApprovalBar?: boolean | undefined;
|
|
1050
|
+
showBeforeAfter?: boolean | undefined;
|
|
1051
|
+
variant?: GameConstructionVariant | undefined;
|
|
1052
|
+
'data-testid'?: string | undefined;
|
|
1053
|
+
}
|
|
1054
|
+
|
|
1055
|
+
export declare type GameConstructionJobStatus = 'draft' | 'preview' | 'queued' | 'working' | 'blocked' | 'readyForReview' | 'accepted' | 'cancelled';
|
|
1056
|
+
|
|
1057
|
+
export declare interface GameConstructionPreviewPane {
|
|
1058
|
+
caption?: string | undefined;
|
|
1059
|
+
content?: ReactNode | undefined;
|
|
1060
|
+
label: string;
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1063
|
+
export declare function GameConstructionProgress({ className, label, max, progressLabel, showStatusBadge, status, statusLabel: explicitStatusLabel, steps, validationWarnings, value, variant, 'data-testid': testId, }: GameConstructionProgressProps): ReactNode;
|
|
1064
|
+
|
|
1065
|
+
export declare interface GameConstructionProgressProps {
|
|
1066
|
+
className?: string | undefined;
|
|
1067
|
+
label: string;
|
|
1068
|
+
max?: number | undefined;
|
|
1069
|
+
progressLabel?: string | undefined;
|
|
1070
|
+
showStatusBadge?: boolean | undefined;
|
|
1071
|
+
status: GameConstructionJobStatus;
|
|
1072
|
+
statusLabel?: string | undefined;
|
|
1073
|
+
steps?: readonly GameConstructionProgressStep[] | undefined;
|
|
1074
|
+
validationWarnings?: readonly GameConstructionValidationWarning[] | undefined;
|
|
1075
|
+
value?: number | undefined;
|
|
1076
|
+
variant?: GameConstructionVariant | undefined;
|
|
1077
|
+
'data-testid'?: string | undefined;
|
|
1078
|
+
}
|
|
1079
|
+
|
|
1080
|
+
export declare interface GameConstructionProgressStep {
|
|
1081
|
+
caption?: string | undefined;
|
|
1082
|
+
id: string;
|
|
1083
|
+
label: string;
|
|
1084
|
+
status: GameConstructionProgressStepStatus;
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
export declare type GameConstructionProgressStepStatus = 'pending' | 'active' | 'complete' | 'blocked';
|
|
1088
|
+
|
|
1089
|
+
export declare type GameConstructionProviderMode = 'local-only' | 'mock' | 'paid-disabled';
|
|
1090
|
+
|
|
1091
|
+
export declare type GameConstructionValidationTone = Extract<GameBadgeTone, 'neutral' | 'success' | 'warning' | 'danger' | 'ai'>;
|
|
1092
|
+
|
|
1093
|
+
export declare interface GameConstructionValidationWarning {
|
|
1094
|
+
description?: string | undefined;
|
|
1095
|
+
id: string;
|
|
1096
|
+
label: string;
|
|
1097
|
+
tone?: GameConstructionValidationTone | undefined;
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1100
|
+
export declare type GameConstructionVariant = 'desktop' | 'tablet' | 'mobile' | 'small-mobile';
|
|
1101
|
+
|
|
1102
|
+
export declare function GameContractorPanel({ activePreviewView, className, density, drawerOpen, emptyDescription, emptyTitle, jobs, label, onAction, onDrawerOpenChange, onPreviewViewChange, onSelectJob, selectedJobId, subtitle, title, variant, 'data-testid': testId, }: GameContractorPanelProps): ReactNode;
|
|
1103
|
+
|
|
1104
|
+
export declare interface GameContractorPanelProps {
|
|
1105
|
+
activePreviewView?: GameBeforeAfterView | undefined;
|
|
1106
|
+
className?: string | undefined;
|
|
1107
|
+
density?: GameSurfaceDensity | undefined;
|
|
1108
|
+
drawerOpen?: boolean | undefined;
|
|
1109
|
+
emptyDescription?: string | undefined;
|
|
1110
|
+
emptyTitle?: string | undefined;
|
|
1111
|
+
jobs: readonly GameConstructionJob[];
|
|
1112
|
+
label: string;
|
|
1113
|
+
onAction?: ((actionId: string, jobId: string) => void) | undefined;
|
|
1114
|
+
onDrawerOpenChange?: ((open: boolean) => void) | undefined;
|
|
1115
|
+
onPreviewViewChange?: ((view: GameBeforeAfterView) => void) | undefined;
|
|
1116
|
+
onSelectJob?: ((jobId: string) => void) | undefined;
|
|
1117
|
+
selectedJobId?: string | undefined;
|
|
1118
|
+
subtitle?: string | undefined;
|
|
1119
|
+
title: string;
|
|
1120
|
+
variant?: GameConstructionVariant | undefined;
|
|
1121
|
+
'data-testid'?: string | undefined;
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1124
|
+
export declare function GameDialog({ children, className, title }: GameDialogProps): ReactNode;
|
|
1125
|
+
|
|
1126
|
+
export declare interface GameDialogProps {
|
|
1127
|
+
children: ReactNode;
|
|
1128
|
+
className?: string;
|
|
1129
|
+
title: string;
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
export declare function GameEmptyState({ action, className, description, icon, title }: GameEmptyStateProps): ReactNode;
|
|
1133
|
+
|
|
1134
|
+
export declare interface GameEmptyStateProps {
|
|
1135
|
+
/** Optional clay icon shown above the title. */
|
|
1136
|
+
icon?: ClayIconName;
|
|
1137
|
+
title: string;
|
|
1138
|
+
description?: string;
|
|
1139
|
+
/** Optional call-to-action node (e.g. a GameButton). */
|
|
1140
|
+
action?: ReactNode;
|
|
1141
|
+
className?: string;
|
|
1142
|
+
}
|
|
1143
|
+
|
|
1144
|
+
export declare interface GameFactItem {
|
|
1145
|
+
icon?: ClayIconName;
|
|
1146
|
+
id: string;
|
|
1147
|
+
label: string;
|
|
1148
|
+
meta?: string;
|
|
1149
|
+
tone?: GameBadgeTone;
|
|
1150
|
+
value: ReactNode;
|
|
1151
|
+
}
|
|
1152
|
+
|
|
1153
|
+
export declare function GameFactList({ className, density, facts, label, variant }: GameFactListProps): ReactNode;
|
|
1154
|
+
|
|
1155
|
+
export declare interface GameFactListProps {
|
|
1156
|
+
className?: string;
|
|
1157
|
+
density?: GameSurfaceDensity;
|
|
1158
|
+
facts: readonly GameFactItem[];
|
|
1159
|
+
label: string;
|
|
1160
|
+
variant?: 'facts' | 'stats';
|
|
1161
|
+
}
|
|
1162
|
+
|
|
1163
|
+
export declare function GameField({ children, className, error, hint, label, required }: GameFieldProps): ReactNode;
|
|
1164
|
+
|
|
1165
|
+
export declare interface GameFieldProps {
|
|
1166
|
+
/** The input/textarea this field labels. Rendered inside the <label>. */
|
|
1167
|
+
children: ReactNode;
|
|
1168
|
+
label: string;
|
|
1169
|
+
/** Helper text shown under the field when there is no error. */
|
|
1170
|
+
hint?: string;
|
|
1171
|
+
/** Error text; when set, the field switches to the danger tone and announces. */
|
|
1172
|
+
error?: string;
|
|
1173
|
+
required?: boolean;
|
|
1174
|
+
className?: string;
|
|
1175
|
+
}
|
|
1176
|
+
|
|
1177
|
+
export declare function GameHistoryPanel({ entries, label }: GameHistoryPanelProps): ReactNode;
|
|
1178
|
+
|
|
1179
|
+
export declare interface GameHistoryPanelProps {
|
|
1180
|
+
entries: readonly GameUiHistoryEntry[];
|
|
1181
|
+
label: string;
|
|
1182
|
+
}
|
|
1183
|
+
|
|
1184
|
+
export declare function GameHud({ actions, className, items, label }: GameHudProps): ReactNode;
|
|
1185
|
+
|
|
1186
|
+
export declare function GameHudActions({ children, className, label, ...props }: GameHudActionsProps): ReactNode;
|
|
1187
|
+
|
|
1188
|
+
export declare interface GameHudActionsProps extends Omit<HTMLAttributes<HTMLElement>, 'children'> {
|
|
1189
|
+
children: ReactNode;
|
|
1190
|
+
className?: string;
|
|
1191
|
+
label: string;
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1194
|
+
export declare interface GameHudItem {
|
|
1195
|
+
icon?: ClayIconName;
|
|
1196
|
+
id: string;
|
|
1197
|
+
label: string;
|
|
1198
|
+
meta?: string;
|
|
1199
|
+
value: string;
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1202
|
+
export declare interface GameHudProps {
|
|
1203
|
+
actions?: ReactNode;
|
|
1204
|
+
className?: string;
|
|
1205
|
+
items: readonly GameHudItem[];
|
|
1206
|
+
label: string;
|
|
1207
|
+
}
|
|
1208
|
+
|
|
1209
|
+
export declare function GameIconButton({ children, className, label, type, ...props }: GameIconButtonProps): ReactNode;
|
|
1210
|
+
|
|
1211
|
+
export declare interface GameIconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
1212
|
+
children: ReactNode;
|
|
1213
|
+
label: string;
|
|
1214
|
+
}
|
|
1215
|
+
|
|
1216
|
+
export declare const GameInput: ForwardRefExoticComponent<GameInputProps & RefAttributes<HTMLInputElement>>;
|
|
1217
|
+
|
|
1218
|
+
/**
|
|
1219
|
+
* Clay form primitives. These are intentionally thin wrappers over the native
|
|
1220
|
+
* <input>/<textarea>/checkbox so they stay fully accessible and uncontrolled-
|
|
1221
|
+
* or controlled-friendly; the clay look lives entirely in CSS. Text fields use
|
|
1222
|
+
* forwardRef so hosts can focus them (e.g. refocus a chat composer after send).
|
|
1223
|
+
*/
|
|
1224
|
+
export declare interface GameInputProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
1225
|
+
/** Paints the field in the danger tone for invalid values. */
|
|
1226
|
+
invalid?: boolean;
|
|
1227
|
+
}
|
|
1228
|
+
|
|
1229
|
+
export declare interface GameInteractionAudioContext {
|
|
1230
|
+
createGain(): GameInteractionGainNode;
|
|
1231
|
+
createOscillator(): GameInteractionOscillatorNode;
|
|
1232
|
+
currentTime: number;
|
|
1233
|
+
destination: unknown;
|
|
1234
|
+
resume(): Promise<void>;
|
|
1235
|
+
state: AudioContextState;
|
|
1236
|
+
suspend?: () => Promise<void>;
|
|
1237
|
+
}
|
|
1238
|
+
|
|
1239
|
+
export declare interface GameInteractionAudioParam {
|
|
1240
|
+
exponentialRampToValueAtTime(value: number, endTime: number): void;
|
|
1241
|
+
setValueAtTime(value: number, startTime: number): void;
|
|
1242
|
+
}
|
|
1243
|
+
|
|
1244
|
+
export declare interface GameInteractionGainNode {
|
|
1245
|
+
connect(destination: unknown): void;
|
|
1246
|
+
gain: GameInteractionAudioParam;
|
|
1247
|
+
}
|
|
1248
|
+
|
|
1249
|
+
export declare interface GameInteractionOscillatorNode {
|
|
1250
|
+
connect(destination: GameInteractionGainNode): void;
|
|
1251
|
+
frequency: GameInteractionAudioParam;
|
|
1252
|
+
start(when?: number): void;
|
|
1253
|
+
stop(when?: number): void;
|
|
1254
|
+
type: OscillatorType;
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1257
|
+
export declare interface GameInteractionSoundOptions {
|
|
1258
|
+
enabled?: boolean;
|
|
1259
|
+
masterVolume?: number;
|
|
1260
|
+
sfxVolume?: number;
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1263
|
+
export declare function GameLanguageMenu({ className, currentLabel, label, options, value, defaultValue, onSelect }: GameLanguageMenuProps): ReactNode;
|
|
1264
|
+
|
|
1265
|
+
export declare interface GameLanguageMenuProps {
|
|
1266
|
+
className?: string;
|
|
1267
|
+
/** Optional override for the trigger label. Defaults to the selected option's label. */
|
|
1268
|
+
currentLabel?: string;
|
|
1269
|
+
label: string;
|
|
1270
|
+
options: readonly {
|
|
1271
|
+
id: string;
|
|
1272
|
+
label: string;
|
|
1273
|
+
meta: string;
|
|
1274
|
+
}[];
|
|
1275
|
+
/** Controlled selected option id. Omit to let the component own selection. */
|
|
1276
|
+
value?: string;
|
|
1277
|
+
/** Initial selection when uncontrolled. Defaults to the first option. */
|
|
1278
|
+
defaultValue?: string;
|
|
1279
|
+
/** Fires with the chosen option id whenever the user picks a language. */
|
|
1280
|
+
onSelect?: (id: string) => void;
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1283
|
+
export declare function GameLoadingState({ label, tone }: GameLoadingStateProps): ReactNode;
|
|
1284
|
+
|
|
1285
|
+
export declare interface GameLoadingStateProps {
|
|
1286
|
+
label: string;
|
|
1287
|
+
tone?: 'loading' | 'error';
|
|
1288
|
+
}
|
|
1289
|
+
|
|
1290
|
+
export declare function GameMaterialSwatches({ activeMaterialId, className, disabled, label, materials, onMaterialChange, variant, 'data-testid': testId, }: GameMaterialSwatchesProps): ReactNode;
|
|
1291
|
+
|
|
1292
|
+
export declare interface GameMaterialSwatchesProps {
|
|
1293
|
+
activeMaterialId?: string | undefined;
|
|
1294
|
+
className?: string;
|
|
1295
|
+
disabled?: boolean;
|
|
1296
|
+
label: string;
|
|
1297
|
+
materials: readonly GameTerrainMaterialSwatch[];
|
|
1298
|
+
onMaterialChange?: ((materialId: string) => void) | undefined;
|
|
1299
|
+
variant?: GameTerrainBuildVariant;
|
|
1300
|
+
'data-testid'?: string | undefined;
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
export declare function GameModal({ children, className, closeLabel, closeOnBackdrop, footer, onClose, open, size, title, }: GameModalProps): ReactNode;
|
|
1304
|
+
|
|
1305
|
+
export declare interface GameModalProps {
|
|
1306
|
+
children: ReactNode;
|
|
1307
|
+
className?: string;
|
|
1308
|
+
/** Close when the backdrop is clicked. Defaults to true. */
|
|
1309
|
+
closeOnBackdrop?: boolean;
|
|
1310
|
+
closeLabel?: string;
|
|
1311
|
+
footer?: ReactNode;
|
|
1312
|
+
/** Called for every close intent: Esc, backdrop click, and close button. */
|
|
1313
|
+
onClose: () => void;
|
|
1314
|
+
open: boolean;
|
|
1315
|
+
size?: 'sm' | 'md' | 'lg';
|
|
1316
|
+
title: string;
|
|
1317
|
+
}
|
|
1318
|
+
|
|
1319
|
+
export declare interface GameMovementAction {
|
|
1320
|
+
direction: GameMovementDirection;
|
|
1321
|
+
disabled?: boolean;
|
|
1322
|
+
icon?: ClayIconName;
|
|
1323
|
+
label: string;
|
|
1324
|
+
shortcut?: string;
|
|
1325
|
+
symbol?: string;
|
|
1326
|
+
}
|
|
1327
|
+
|
|
1328
|
+
export declare type GameMovementDirection = 'forward' | 'backward' | 'left' | 'right' | 'up' | 'down' | 'reset';
|
|
1329
|
+
|
|
1330
|
+
export declare function GameMovementPad({ actions, className, density, disabled, helpText, label, layout, onMove, }: GameMovementPadProps): ReactNode;
|
|
1331
|
+
|
|
1332
|
+
export declare interface GameMovementPadProps {
|
|
1333
|
+
actions?: readonly GameMovementAction[];
|
|
1334
|
+
className?: string;
|
|
1335
|
+
density?: GameSurfaceDensity;
|
|
1336
|
+
disabled?: boolean;
|
|
1337
|
+
helpText?: string;
|
|
1338
|
+
label: string;
|
|
1339
|
+
layout?: 'dpad' | 'row';
|
|
1340
|
+
onMove?: (direction: GameMovementDirection) => void;
|
|
1341
|
+
}
|
|
1342
|
+
|
|
1343
|
+
export declare const GameObjectToolbar: typeof GamePlacementToolbar;
|
|
1344
|
+
|
|
1345
|
+
export declare type GameObjectToolbarProps = GamePlacementToolbarProps;
|
|
1346
|
+
|
|
1347
|
+
export declare function GameOrientationGate({ body, cta, badgeLabel, manualHint, preview, title }: GameOrientationGateProps): ReactNode;
|
|
1348
|
+
|
|
1349
|
+
export declare interface GameOrientationGateProps {
|
|
1350
|
+
body: string;
|
|
1351
|
+
cta: string;
|
|
1352
|
+
/** Warning badge text. Defaults to "Landscape only". */
|
|
1353
|
+
badgeLabel?: string;
|
|
1354
|
+
/** Hint shown when the browser blocks the automatic landscape lock. */
|
|
1355
|
+
manualHint?: string;
|
|
1356
|
+
preview?: boolean;
|
|
1357
|
+
title: string;
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1360
|
+
export declare function GamePanel({ children, className, title, tone, ...props }: GamePanelProps): ReactNode;
|
|
1361
|
+
|
|
1362
|
+
export declare interface GamePanelProps extends HTMLAttributes<HTMLElement> {
|
|
1363
|
+
children: ReactNode;
|
|
1364
|
+
className?: string;
|
|
1365
|
+
title?: string;
|
|
1366
|
+
tone?: 'default' | 'strong';
|
|
1367
|
+
}
|
|
1368
|
+
|
|
1369
|
+
export declare function GamePlacementToolbar({ actions, capacityLabel, className, density, maxObjects, objectActions, placedObjects, selectedLabel, selectedTitle, statusLabel, statusTone, statusValue, title, }: GamePlacementToolbarProps): ReactNode;
|
|
1370
|
+
|
|
1371
|
+
export declare interface GamePlacementToolbarProps {
|
|
1372
|
+
actions?: readonly GameUiAction[];
|
|
1373
|
+
capacityLabel?: string;
|
|
1374
|
+
className?: string;
|
|
1375
|
+
density?: GameSurfaceDensity;
|
|
1376
|
+
maxObjects?: number;
|
|
1377
|
+
objectActions?: readonly GameUiAction[];
|
|
1378
|
+
placedObjects?: number;
|
|
1379
|
+
selectedLabel?: string;
|
|
1380
|
+
selectedTitle?: string;
|
|
1381
|
+
statusLabel?: string;
|
|
1382
|
+
statusTone?: GameBadgeTone;
|
|
1383
|
+
statusValue?: string;
|
|
1384
|
+
title: string;
|
|
1385
|
+
}
|
|
1386
|
+
|
|
1387
|
+
export declare function GameProgress({ className, label, max, showValue, tone, value }: GameProgressProps): ReactNode;
|
|
1388
|
+
|
|
1389
|
+
export declare interface GameProgressProps {
|
|
1390
|
+
/** Current value, between 0 and `max`. */
|
|
1391
|
+
value: number;
|
|
1392
|
+
max?: number;
|
|
1393
|
+
/** Accessible label for the progress bar. */
|
|
1394
|
+
label: string;
|
|
1395
|
+
tone?: 'accent' | 'success' | 'danger' | 'warning';
|
|
1396
|
+
/** Show the rounded percentage next to the bar. */
|
|
1397
|
+
showValue?: boolean;
|
|
1398
|
+
className?: string;
|
|
1399
|
+
}
|
|
1400
|
+
|
|
1401
|
+
export declare function GamePrompt({ actionLabel, children, title }: GamePromptProps): ReactNode;
|
|
1402
|
+
|
|
1403
|
+
export declare interface GamePromptProps {
|
|
1404
|
+
actionLabel?: string;
|
|
1405
|
+
children: ReactNode;
|
|
1406
|
+
title: string;
|
|
1407
|
+
}
|
|
1408
|
+
|
|
1409
|
+
export declare function GameRadialMenu({ items, label }: GameRadialMenuProps): ReactNode;
|
|
1410
|
+
|
|
1411
|
+
declare interface GameRadialMenuItem {
|
|
1412
|
+
id: string;
|
|
1413
|
+
label: string;
|
|
1414
|
+
}
|
|
1415
|
+
|
|
1416
|
+
export declare interface GameRadialMenuProps {
|
|
1417
|
+
items: readonly GameRadialMenuItem[];
|
|
1418
|
+
label: string;
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1421
|
+
export declare interface GameRobotCrewMember {
|
|
1422
|
+
icon?: ClayIconName | undefined;
|
|
1423
|
+
id: string;
|
|
1424
|
+
name: string;
|
|
1425
|
+
role: string;
|
|
1426
|
+
status: GameRobotCrewMemberStatus;
|
|
1427
|
+
task?: string | undefined;
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1430
|
+
export declare type GameRobotCrewMemberStatus = 'idle' | 'queued' | 'working' | 'blocked' | 'done';
|
|
1431
|
+
|
|
1432
|
+
export declare function GameRobotCrewStatus({ className, crew, emptyDescription, emptyTitle, label, title, variant, 'data-testid': testId, }: GameRobotCrewStatusProps): ReactNode;
|
|
1433
|
+
|
|
1434
|
+
export declare interface GameRobotCrewStatusProps {
|
|
1435
|
+
className?: string | undefined;
|
|
1436
|
+
crew: readonly GameRobotCrewMember[];
|
|
1437
|
+
emptyDescription?: string | undefined;
|
|
1438
|
+
emptyTitle?: string | undefined;
|
|
1439
|
+
label: string;
|
|
1440
|
+
title?: string | undefined;
|
|
1441
|
+
variant?: GameConstructionVariant | undefined;
|
|
1442
|
+
'data-testid'?: string | undefined;
|
|
1443
|
+
}
|
|
1444
|
+
|
|
1445
|
+
export declare const GameSceneHudLayout: typeof GameShell;
|
|
1446
|
+
|
|
1447
|
+
export declare type GameSceneHudLayoutProps = GameShellProps;
|
|
1448
|
+
|
|
1449
|
+
export declare function GameSegmentedControl({ activeId, label, onSelect, options }: GameSegmentedControlProps): ReactNode;
|
|
1450
|
+
|
|
1451
|
+
export declare interface GameSegmentedControlProps {
|
|
1452
|
+
activeId: string;
|
|
1453
|
+
label: string;
|
|
1454
|
+
onSelect?: (id: string) => void;
|
|
1455
|
+
options: readonly GameSegmentedOption[];
|
|
1456
|
+
}
|
|
1457
|
+
|
|
1458
|
+
declare interface GameSegmentedOption {
|
|
1459
|
+
id: string;
|
|
1460
|
+
label: string;
|
|
1461
|
+
}
|
|
1462
|
+
|
|
1463
|
+
export declare function GameShell({ assetLibrary, bottomBar, children, className, density, hud, layout, movementPad, overlay, sidePanel, title, }: GameShellProps): ReactNode;
|
|
1464
|
+
|
|
1465
|
+
export declare interface GameShellProps {
|
|
1466
|
+
/** Main game runtime surface, usually the host app canvas or 3D scene. */
|
|
1467
|
+
children: ReactNode;
|
|
1468
|
+
/** Asset/library rail. Kept slot-based so the kit never imports app runtime state. */
|
|
1469
|
+
assetLibrary?: ReactNode;
|
|
1470
|
+
/** Bottom or floating object/placement controls. */
|
|
1471
|
+
bottomBar?: ReactNode;
|
|
1472
|
+
className?: string;
|
|
1473
|
+
density?: GameSurfaceDensity;
|
|
1474
|
+
/** Persistent HUD, facts, chips, or app navigation. */
|
|
1475
|
+
hud?: ReactNode;
|
|
1476
|
+
layout?: GameSurfaceLayout;
|
|
1477
|
+
/** Optional movement affordance, usually `GameMovementPad`. */
|
|
1478
|
+
movementPad?: ReactNode;
|
|
1479
|
+
/** Modal, toast, onboarding, or non-blocking overlays. */
|
|
1480
|
+
overlay?: ReactNode;
|
|
1481
|
+
/** Secondary panel slot for inspector/debug/user-owned sidebars. */
|
|
1482
|
+
sidePanel?: ReactNode;
|
|
1483
|
+
/** Accessible label for the whole game surface. */
|
|
1484
|
+
title: string;
|
|
1485
|
+
}
|
|
1486
|
+
|
|
1487
|
+
export declare function GameSlider({ label, max, min, onChange, value }: GameSliderProps): ReactNode;
|
|
1488
|
+
|
|
1489
|
+
export declare interface GameSliderProps extends Pick<InputHTMLAttributes<HTMLInputElement>, 'max' | 'min' | 'value'> {
|
|
1490
|
+
label: string;
|
|
1491
|
+
onChange?: (value: number) => void;
|
|
1492
|
+
}
|
|
1493
|
+
|
|
1494
|
+
export declare function GameStageTile({ badge, className, icon, kicker, selected, summary, title, tone, type, ...props }: GameStageTileProps): ReactNode;
|
|
1495
|
+
|
|
1496
|
+
export declare interface GameStageTileProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
1497
|
+
badge?: string;
|
|
1498
|
+
icon?: ClayIconName;
|
|
1499
|
+
kicker: string;
|
|
1500
|
+
selected?: boolean;
|
|
1501
|
+
summary: string;
|
|
1502
|
+
title: string;
|
|
1503
|
+
tone?: 'daily' | 'portal' | 'host' | 'danger';
|
|
1504
|
+
}
|
|
1505
|
+
|
|
1506
|
+
export declare const GameStatList: typeof GameFactList;
|
|
1507
|
+
|
|
1508
|
+
export declare type GameStatListProps = GameFactListProps;
|
|
1509
|
+
|
|
1510
|
+
export declare type GameSurfaceDensity = 'comfortable' | 'dense';
|
|
1511
|
+
|
|
1512
|
+
export declare type GameSurfaceLayout = 'auto' | 'desktop' | 'mobile';
|
|
1513
|
+
|
|
1514
|
+
export declare interface GameTabItem {
|
|
1515
|
+
id: string;
|
|
1516
|
+
label: string;
|
|
1517
|
+
}
|
|
1518
|
+
|
|
1519
|
+
export declare function GameTabs({ activeId, onSelect, tabs }: GameTabsProps): ReactNode;
|
|
1520
|
+
|
|
1521
|
+
export declare interface GameTabsProps {
|
|
1522
|
+
activeId: string;
|
|
1523
|
+
onSelect?: (id: string) => void;
|
|
1524
|
+
tabs: readonly GameTabItem[];
|
|
1525
|
+
}
|
|
1526
|
+
|
|
1527
|
+
export declare type GameTerrainBuildModeId = 'terrain' | 'build' | 'place' | 'inspect';
|
|
1528
|
+
|
|
1529
|
+
export declare interface GameTerrainBuildModeOption {
|
|
1530
|
+
/** Accessible label override when compact labels are used visually. */
|
|
1531
|
+
ariaLabel?: string;
|
|
1532
|
+
compactLabel?: string;
|
|
1533
|
+
disabled?: boolean;
|
|
1534
|
+
icon?: ClayIconName;
|
|
1535
|
+
id: GameTerrainBuildModeId | string;
|
|
1536
|
+
label: string;
|
|
1537
|
+
meta?: string;
|
|
1538
|
+
}
|
|
1539
|
+
|
|
1540
|
+
export declare function GameTerrainBuildToolbox({ className, drawerOpen, drawerTitle, label, onDrawerOpenChange, title, variant, 'data-testid': testId, ...bodyProps }: GameTerrainBuildToolboxProps): ReactNode;
|
|
1541
|
+
|
|
1542
|
+
export declare interface GameTerrainBuildToolboxProps {
|
|
1543
|
+
activeBuildCategoryId?: string | undefined;
|
|
1544
|
+
activeMaterialId?: string | undefined;
|
|
1545
|
+
activeModeId: string;
|
|
1546
|
+
activeToolId: string;
|
|
1547
|
+
brush: GameBrushControlState;
|
|
1548
|
+
buildCategories?: readonly GameBuildCategory[] | undefined;
|
|
1549
|
+
className?: string;
|
|
1550
|
+
density?: GameSurfaceDensity;
|
|
1551
|
+
disabled?: boolean;
|
|
1552
|
+
drawerOpen?: boolean;
|
|
1553
|
+
drawerTitle?: string;
|
|
1554
|
+
label: string;
|
|
1555
|
+
materials?: readonly GameTerrainMaterialSwatch[] | undefined;
|
|
1556
|
+
modes: readonly GameTerrainBuildModeOption[];
|
|
1557
|
+
onBrushRadiusChange?: ((radius: number) => void) | undefined;
|
|
1558
|
+
onBrushStrengthChange?: ((strength: number) => void) | undefined;
|
|
1559
|
+
onBuildCategoryChange?: ((categoryId: string) => void) | undefined;
|
|
1560
|
+
onDrawerOpenChange?: ((open: boolean) => void) | undefined;
|
|
1561
|
+
onMaterialChange?: ((materialId: string) => void) | undefined;
|
|
1562
|
+
onModeChange?: ((modeId: string) => void) | undefined;
|
|
1563
|
+
onRedo?: (() => void) | undefined;
|
|
1564
|
+
onSelectBuildItem?: ((itemId: string, categoryId: string) => void) | undefined;
|
|
1565
|
+
onToolChange?: ((toolId: string) => void) | undefined;
|
|
1566
|
+
onUndo?: (() => void) | undefined;
|
|
1567
|
+
selectedBuildItemId?: string | undefined;
|
|
1568
|
+
status?: GameTerrainStatusState | undefined;
|
|
1569
|
+
title: string;
|
|
1570
|
+
toolCompactLabelMode?: GameTerrainToolCompactLabelMode;
|
|
1571
|
+
tools: readonly GameTerrainToolOption[];
|
|
1572
|
+
undoRedo?: GameUndoRedoState | undefined;
|
|
1573
|
+
variant?: GameTerrainBuildVariant;
|
|
1574
|
+
'data-testid'?: string | undefined;
|
|
1575
|
+
}
|
|
1576
|
+
|
|
1577
|
+
export declare type GameTerrainBuildVariant = 'desktop' | 'dense' | 'mobile' | 'small-mobile';
|
|
1578
|
+
|
|
1579
|
+
export declare type GameTerrainMaterialPattern = 'solid' | 'speckled' | 'hatched' | 'grid';
|
|
1580
|
+
|
|
1581
|
+
export declare interface GameTerrainMaterialSwatch {
|
|
1582
|
+
color: string;
|
|
1583
|
+
compactLabel?: string;
|
|
1584
|
+
disabled?: boolean;
|
|
1585
|
+
id: string;
|
|
1586
|
+
label: string;
|
|
1587
|
+
meta?: string;
|
|
1588
|
+
pattern?: GameTerrainMaterialPattern;
|
|
1589
|
+
secondaryColor?: string;
|
|
1590
|
+
}
|
|
1591
|
+
|
|
1592
|
+
export declare function GameTerrainModeControl({ activeModeId, className, disabled, label, modes, onModeChange, variant, 'data-testid': testId, }: GameTerrainModeControlProps): ReactNode;
|
|
1593
|
+
|
|
1594
|
+
export declare interface GameTerrainModeControlProps {
|
|
1595
|
+
activeModeId: string;
|
|
1596
|
+
className?: string;
|
|
1597
|
+
disabled?: boolean;
|
|
1598
|
+
label: string;
|
|
1599
|
+
modes: readonly GameTerrainBuildModeOption[];
|
|
1600
|
+
onModeChange?: ((modeId: string) => void) | undefined;
|
|
1601
|
+
variant?: GameTerrainBuildVariant;
|
|
1602
|
+
'data-testid'?: string | undefined;
|
|
1603
|
+
}
|
|
1604
|
+
|
|
1605
|
+
export declare interface GameTerrainStatusState {
|
|
1606
|
+
description?: string;
|
|
1607
|
+
label: string;
|
|
1608
|
+
progressLabel?: string;
|
|
1609
|
+
progressMax?: number;
|
|
1610
|
+
progressValue?: number;
|
|
1611
|
+
tone?: GameTerrainStatusTone;
|
|
1612
|
+
}
|
|
1613
|
+
|
|
1614
|
+
export declare type GameTerrainStatusTone = Extract<GameBadgeTone, 'neutral' | 'success' | 'warning' | 'danger' | 'ai'>;
|
|
1615
|
+
|
|
1616
|
+
export declare type GameTerrainToolCompactLabelMode = 'auto' | GameActionIconLabelMode;
|
|
1617
|
+
|
|
1618
|
+
export declare type GameTerrainToolId = 'raise' | 'lower' | 'flatten' | 'smooth' | 'paint';
|
|
1619
|
+
|
|
1620
|
+
export declare interface GameTerrainToolOption {
|
|
1621
|
+
/** Accessible label override when icon/caption controls use short copy. */
|
|
1622
|
+
ariaLabel?: string;
|
|
1623
|
+
compactLabel?: string;
|
|
1624
|
+
disabled?: boolean;
|
|
1625
|
+
icon?: ClayIconName;
|
|
1626
|
+
id: GameTerrainToolId | string;
|
|
1627
|
+
label: string;
|
|
1628
|
+
meta?: string;
|
|
1629
|
+
shortcut?: string;
|
|
1630
|
+
}
|
|
1631
|
+
|
|
1632
|
+
export declare function GameTerrainToolStrip({ activeToolId, className, compactLabelMode, density, disabled, label, onToolChange, tools, variant, 'data-testid': testId, }: GameTerrainToolStripProps): ReactNode;
|
|
1633
|
+
|
|
1634
|
+
export declare interface GameTerrainToolStripProps {
|
|
1635
|
+
activeToolId: string;
|
|
1636
|
+
className?: string;
|
|
1637
|
+
compactLabelMode?: GameTerrainToolCompactLabelMode;
|
|
1638
|
+
density?: GameSurfaceDensity;
|
|
1639
|
+
disabled?: boolean;
|
|
1640
|
+
label: string;
|
|
1641
|
+
onToolChange?: ((toolId: string) => void) | undefined;
|
|
1642
|
+
tools: readonly GameTerrainToolOption[];
|
|
1643
|
+
variant?: GameTerrainBuildVariant;
|
|
1644
|
+
'data-testid'?: string | undefined;
|
|
1645
|
+
}
|
|
1646
|
+
|
|
1647
|
+
export declare const GameTextArea: ForwardRefExoticComponent<GameTextAreaProps & RefAttributes<HTMLTextAreaElement>>;
|
|
1648
|
+
|
|
1649
|
+
export declare interface GameTextAreaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
1650
|
+
invalid?: boolean;
|
|
1651
|
+
}
|
|
1652
|
+
|
|
1653
|
+
export declare function GameToast({ children, tone }: GameToastProps): ReactNode;
|
|
1654
|
+
|
|
1655
|
+
export declare interface GameToastProps {
|
|
1656
|
+
children: ReactNode;
|
|
1657
|
+
tone?: 'info' | 'success' | 'danger';
|
|
1658
|
+
}
|
|
1659
|
+
|
|
1660
|
+
export declare function GameToggle({ checked, disabled, label, onClick }: GameToggleProps): ReactNode;
|
|
1661
|
+
|
|
1662
|
+
export declare interface GameToggleProps extends Pick<ButtonHTMLAttributes<HTMLButtonElement>, 'disabled' | 'onClick'> {
|
|
1663
|
+
checked: boolean;
|
|
1664
|
+
label: string;
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
export declare function GameTooltip({ children, label }: GameTooltipProps): ReactNode;
|
|
1668
|
+
|
|
1669
|
+
export declare interface GameTooltipProps {
|
|
1670
|
+
children: ReactNode;
|
|
1671
|
+
label: string;
|
|
1672
|
+
}
|
|
1673
|
+
|
|
1674
|
+
export declare interface GameUiAction {
|
|
1675
|
+
/** Accessible label override when the visible label is intentionally compact. */
|
|
1676
|
+
ariaLabel?: string;
|
|
1677
|
+
badge?: string;
|
|
1678
|
+
/** Short visual caption for dense/icon tool strips. Falls back to `label`. */
|
|
1679
|
+
compactLabel?: string;
|
|
1680
|
+
disabled?: boolean;
|
|
1681
|
+
icon?: ClayIconName;
|
|
1682
|
+
id: string;
|
|
1683
|
+
label: string;
|
|
1684
|
+
meta?: string;
|
|
1685
|
+
onAction?: (id: string) => void;
|
|
1686
|
+
selected?: boolean;
|
|
1687
|
+
shortcut?: string;
|
|
1688
|
+
tone?: GameButtonVariant;
|
|
1689
|
+
}
|
|
1690
|
+
|
|
1691
|
+
export declare interface GameUiHistoryEntry {
|
|
1692
|
+
id: string;
|
|
1693
|
+
kind: GameUiHistoryKind;
|
|
1694
|
+
meta: string;
|
|
1695
|
+
speaker: string;
|
|
1696
|
+
text: string;
|
|
1697
|
+
}
|
|
1698
|
+
|
|
1699
|
+
export declare type GameUiHistoryKind = 'human' | 'mystery' | 'system';
|
|
1700
|
+
|
|
1701
|
+
export declare function GameUiPreview({ title, body }: GameUiPreviewProps): ReactNode;
|
|
1702
|
+
|
|
1703
|
+
export declare interface GameUiPreviewProps {
|
|
1704
|
+
title?: string;
|
|
1705
|
+
body?: string;
|
|
1706
|
+
}
|
|
1707
|
+
|
|
1708
|
+
export declare function GameUndoRedoActions({ canRedo, canUndo, className, disabled, label, onRedo, onUndo, redoLabel, undoLabel, variant, 'data-testid': testId, }: GameUndoRedoActionsProps): ReactNode;
|
|
1709
|
+
|
|
1710
|
+
export declare interface GameUndoRedoActionsProps extends GameUndoRedoState {
|
|
1711
|
+
className?: string;
|
|
1712
|
+
disabled?: boolean;
|
|
1713
|
+
label: string;
|
|
1714
|
+
onRedo?: (() => void) | undefined;
|
|
1715
|
+
onUndo?: (() => void) | undefined;
|
|
1716
|
+
variant?: GameTerrainBuildVariant;
|
|
1717
|
+
'data-testid'?: string | undefined;
|
|
1718
|
+
}
|
|
1719
|
+
|
|
1720
|
+
export declare interface GameUndoRedoState {
|
|
1721
|
+
canRedo?: boolean | undefined;
|
|
1722
|
+
canUndo?: boolean | undefined;
|
|
1723
|
+
redoLabel?: string | undefined;
|
|
1724
|
+
undoLabel?: string | undefined;
|
|
1725
|
+
}
|
|
1726
|
+
|
|
1727
|
+
export declare function GameWindowPanel({ allowMaximize, allowMinimize, children, className, defaultState, footer, icon, labels, onClose, onStateChange, state, title, ...props }: GameWindowPanelProps): ReactNode;
|
|
1728
|
+
|
|
1729
|
+
export declare interface GameWindowPanelLabels {
|
|
1730
|
+
close: string;
|
|
1731
|
+
maximize: string;
|
|
1732
|
+
minimize: string;
|
|
1733
|
+
restore: string;
|
|
1734
|
+
}
|
|
1735
|
+
|
|
1736
|
+
export declare interface GameWindowPanelProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
|
|
1737
|
+
/** Allow the maximize button. Defaults to true. */
|
|
1738
|
+
allowMaximize?: boolean;
|
|
1739
|
+
/** Allow the minimize button. Defaults to true. */
|
|
1740
|
+
allowMinimize?: boolean;
|
|
1741
|
+
children: ReactNode;
|
|
1742
|
+
className?: string;
|
|
1743
|
+
/** Uncontrolled initial state. Defaults to 'normal'. */
|
|
1744
|
+
defaultState?: GameWindowState;
|
|
1745
|
+
footer?: ReactNode;
|
|
1746
|
+
icon?: ReactNode;
|
|
1747
|
+
labels?: Partial<GameWindowPanelLabels>;
|
|
1748
|
+
/** Rendering a close button requires an onClose handler. */
|
|
1749
|
+
onClose?: () => void;
|
|
1750
|
+
onStateChange?: (state: GameWindowState) => void;
|
|
1751
|
+
/** Controlled window state. Leave undefined for uncontrolled usage. */
|
|
1752
|
+
state?: GameWindowState;
|
|
1753
|
+
title: string;
|
|
1754
|
+
}
|
|
1755
|
+
|
|
1756
|
+
export declare type GameWindowState = 'normal' | 'minimized' | 'maximized';
|
|
1757
|
+
|
|
1758
|
+
export declare function getClayAssetMode(): ClayAssetMode;
|
|
1759
|
+
|
|
1760
|
+
export declare function getClayCatalogPaths(): typeof CLAY_ASSETS.catalog;
|
|
1761
|
+
|
|
1762
|
+
export declare function getClayIconPath(icon: ClayIconName, options?: ClayIconResolveOptions): string;
|
|
1763
|
+
|
|
1764
|
+
/** Which visual families exist for an icon (in display order: game, then line). */
|
|
1765
|
+
export declare function getClayIconStyles(icon: ClayIconName): ClayIconStyle[];
|
|
1766
|
+
|
|
1767
|
+
export declare function getClaySourceAssetPath(icon: ClayIconName, style?: ClayIconStyle): string;
|
|
1768
|
+
|
|
1769
|
+
export declare function playGameInteractionSound(options?: GameInteractionSoundOptions): boolean;
|
|
1770
|
+
|
|
1771
|
+
export declare function playGameInteractionSoundForContext(audioContext: GameInteractionAudioContext, options?: GameInteractionSoundOptions): boolean;
|
|
1772
|
+
|
|
1773
|
+
/**
|
|
1774
|
+
* Switch how clay icons resolve globally.
|
|
1775
|
+
* - 'inline' (default): zero-dependency SVG placeholders, no assets required.
|
|
1776
|
+
* - 'source': the real clay game-icon PNG paths under CLAY_ASSET_BASE_PATH.
|
|
1777
|
+
* The host app must serve those assets (e.g. copy them into its public/).
|
|
1778
|
+
*/
|
|
1779
|
+
export declare function setClayAssetMode(mode: ClayAssetMode): void;
|
|
1780
|
+
|
|
1781
|
+
export { }
|