@malilion/block-ui-react 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +45 -2
- package/dist/components/actions/BlockButton/BlockButton.d.ts +7 -0
- package/dist/components/actions/BlockButton/BlockButton.d.ts.map +1 -0
- package/dist/components/actions/BlockButton/BlockButton.js +61 -0
- package/dist/components/actions/BlockButton/BlockButton.js.map +1 -0
- package/dist/components/actions/BlockButton/BlockButton.module.js +26 -0
- package/dist/components/actions/BlockButton/BlockButton.module.js.map +1 -0
- package/dist/components/actions/BlockButton/BlockButton.types.d.ts +19 -0
- package/dist/components/actions/BlockButton/BlockButton.types.d.ts.map +1 -0
- package/dist/components/actions/BlockButton/BlockButton.types.js +16 -0
- package/dist/components/actions/BlockButton/BlockButton.types.js.map +1 -0
- package/dist/components/actions/BlockButton/index.d.ts +4 -0
- package/dist/components/actions/BlockButton/index.d.ts.map +1 -0
- package/dist/components/actions/IconButton/IconButton.d.ts +4 -0
- package/dist/components/actions/IconButton/IconButton.d.ts.map +1 -0
- package/dist/components/actions/IconButton/IconButton.js +25 -0
- package/dist/components/actions/IconButton/IconButton.js.map +1 -0
- package/dist/components/actions/IconButton/IconButton.module.js +11 -0
- package/dist/components/actions/IconButton/IconButton.module.js.map +1 -0
- package/dist/components/actions/IconButton/IconButton.types.d.ts +9 -0
- package/dist/components/actions/IconButton/IconButton.types.d.ts.map +1 -0
- package/dist/components/actions/IconButton/index.d.ts +3 -0
- package/dist/components/actions/IconButton/index.d.ts.map +1 -0
- package/dist/components/actions/index.d.ts +3 -0
- package/dist/components/actions/index.d.ts.map +1 -0
- package/dist/components/cards/AchievementCard/AchievementCard.d.ts +4 -0
- package/dist/components/cards/AchievementCard/AchievementCard.d.ts.map +1 -0
- package/dist/components/cards/AchievementCard/AchievementCard.js +50 -0
- package/dist/components/cards/AchievementCard/AchievementCard.js.map +1 -0
- package/dist/components/cards/AchievementCard/AchievementCard.types.d.ts +13 -0
- package/dist/components/cards/AchievementCard/AchievementCard.types.d.ts.map +1 -0
- package/dist/components/cards/AchievementCard/index.d.ts +3 -0
- package/dist/components/cards/AchievementCard/index.d.ts.map +1 -0
- package/dist/components/cards/BlockCard/BlockCard.d.ts +4 -0
- package/dist/components/cards/BlockCard/BlockCard.d.ts.map +1 -0
- package/dist/components/cards/BlockCard/BlockCard.js +35 -0
- package/dist/components/cards/BlockCard/BlockCard.js.map +1 -0
- package/dist/components/cards/BlockCard/BlockCard.module.js +19 -0
- package/dist/components/cards/BlockCard/BlockCard.module.js.map +1 -0
- package/dist/components/cards/BlockCard/BlockCard.types.d.ts +18 -0
- package/dist/components/cards/BlockCard/BlockCard.types.d.ts.map +1 -0
- package/dist/components/cards/BlockCard/BlockCard.types.js +14 -0
- package/dist/components/cards/BlockCard/BlockCard.types.js.map +1 -0
- package/dist/components/cards/BlockCard/index.d.ts +4 -0
- package/dist/components/cards/BlockCard/index.d.ts.map +1 -0
- package/dist/components/cards/PlayerCard/PlayerCard.d.ts +4 -0
- package/dist/components/cards/PlayerCard/PlayerCard.d.ts.map +1 -0
- package/dist/components/cards/PlayerCard/PlayerCard.js +82 -0
- package/dist/components/cards/PlayerCard/PlayerCard.js.map +1 -0
- package/dist/components/cards/PlayerCard/PlayerCard.types.d.ts +21 -0
- package/dist/components/cards/PlayerCard/PlayerCard.types.d.ts.map +1 -0
- package/dist/components/cards/PlayerCard/index.d.ts +3 -0
- package/dist/components/cards/PlayerCard/index.d.ts.map +1 -0
- package/dist/components/cards/QuestCard/QuestCard.d.ts +4 -0
- package/dist/components/cards/QuestCard/QuestCard.d.ts.map +1 -0
- package/dist/components/cards/QuestCard/QuestCard.js +98 -0
- package/dist/components/cards/QuestCard/QuestCard.js.map +1 -0
- package/dist/components/cards/QuestCard/QuestCard.types.d.ts +23 -0
- package/dist/components/cards/QuestCard/QuestCard.types.d.ts.map +1 -0
- package/dist/components/cards/QuestCard/index.d.ts +3 -0
- package/dist/components/cards/QuestCard/index.d.ts.map +1 -0
- package/dist/components/cards/ServerCard/ServerCard.d.ts +4 -0
- package/dist/components/cards/ServerCard/ServerCard.d.ts.map +1 -0
- package/dist/components/cards/ServerCard/ServerCard.js +92 -0
- package/dist/components/cards/ServerCard/ServerCard.js.map +1 -0
- package/dist/components/cards/ServerCard/ServerCard.module.js +11 -0
- package/dist/components/cards/ServerCard/ServerCard.module.js.map +1 -0
- package/dist/components/cards/ServerCard/ServerCard.types.d.ts +20 -0
- package/dist/components/cards/ServerCard/ServerCard.types.d.ts.map +1 -0
- package/dist/components/cards/ServerCard/ServerCard.utils.d.ts +3 -0
- package/dist/components/cards/ServerCard/ServerCard.utils.d.ts.map +1 -0
- package/dist/components/cards/ServerCard/ServerCard.utils.js +11 -0
- package/dist/components/cards/ServerCard/ServerCard.utils.js.map +1 -0
- package/dist/components/cards/ServerCard/index.d.ts +4 -0
- package/dist/components/cards/ServerCard/index.d.ts.map +1 -0
- package/dist/components/cards/WorldCard/WorldCard.d.ts +4 -0
- package/dist/components/cards/WorldCard/WorldCard.d.ts.map +1 -0
- package/dist/components/cards/WorldCard/WorldCard.js +64 -0
- package/dist/components/cards/WorldCard/WorldCard.js.map +1 -0
- package/dist/components/cards/WorldCard/WorldCard.module.js +17 -0
- package/dist/components/cards/WorldCard/WorldCard.module.js.map +1 -0
- package/dist/components/cards/WorldCard/WorldCard.types.d.ts +15 -0
- package/dist/components/cards/WorldCard/WorldCard.types.d.ts.map +1 -0
- package/dist/components/cards/WorldCard/index.d.ts +3 -0
- package/dist/components/cards/WorldCard/index.d.ts.map +1 -0
- package/dist/components/cards/cards.module.js +37 -0
- package/dist/components/cards/cards.module.js.map +1 -0
- package/dist/components/cards/index.d.ts +7 -0
- package/dist/components/cards/index.d.ts.map +1 -0
- package/dist/components/crafting/CraftingGrid/CraftingGrid.d.ts +7 -0
- package/dist/components/crafting/CraftingGrid/CraftingGrid.d.ts.map +1 -0
- package/dist/components/crafting/CraftingGrid/CraftingGrid.js +30 -0
- package/dist/components/crafting/CraftingGrid/CraftingGrid.js.map +1 -0
- package/dist/components/crafting/CraftingGrid/CraftingGrid.module.js +7 -0
- package/dist/components/crafting/CraftingGrid/CraftingGrid.module.js.map +1 -0
- package/dist/components/crafting/CraftingGrid/CraftingGrid.types.d.ts +6 -0
- package/dist/components/crafting/CraftingGrid/CraftingGrid.types.d.ts.map +1 -0
- package/dist/components/crafting/CraftingGrid/index.d.ts +3 -0
- package/dist/components/crafting/CraftingGrid/index.d.ts.map +1 -0
- package/dist/components/crafting/CraftingResult/CraftingResult.d.ts +4 -0
- package/dist/components/crafting/CraftingResult/CraftingResult.d.ts.map +1 -0
- package/dist/components/crafting/CraftingResult/CraftingResult.js +31 -0
- package/dist/components/crafting/CraftingResult/CraftingResult.js.map +1 -0
- package/dist/components/crafting/CraftingResult/CraftingResult.module.js +11 -0
- package/dist/components/crafting/CraftingResult/CraftingResult.module.js.map +1 -0
- package/dist/components/crafting/CraftingResult/CraftingResult.types.d.ts +11 -0
- package/dist/components/crafting/CraftingResult/CraftingResult.types.d.ts.map +1 -0
- package/dist/components/crafting/CraftingResult/index.d.ts +3 -0
- package/dist/components/crafting/CraftingResult/index.d.ts.map +1 -0
- package/dist/components/crafting/CraftingSlot/CraftingSlot.d.ts +3 -0
- package/dist/components/crafting/CraftingSlot/CraftingSlot.d.ts.map +1 -0
- package/dist/components/crafting/CraftingSlot/CraftingSlot.js +18 -0
- package/dist/components/crafting/CraftingSlot/CraftingSlot.js.map +1 -0
- package/dist/components/crafting/CraftingSlot/CraftingSlot.module.js +7 -0
- package/dist/components/crafting/CraftingSlot/CraftingSlot.module.js.map +1 -0
- package/dist/components/crafting/CraftingSlot/CraftingSlot.types.d.ts +3 -0
- package/dist/components/crafting/CraftingSlot/CraftingSlot.types.d.ts.map +1 -0
- package/dist/components/crafting/CraftingSlot/index.d.ts +3 -0
- package/dist/components/crafting/CraftingSlot/index.d.ts.map +1 -0
- package/dist/components/crafting/CraftingTable/CraftingTable.d.ts +7 -0
- package/dist/components/crafting/CraftingTable/CraftingTable.d.ts.map +1 -0
- package/dist/components/crafting/CraftingTable/CraftingTable.js +59 -0
- package/dist/components/crafting/CraftingTable/CraftingTable.js.map +1 -0
- package/dist/components/crafting/CraftingTable/CraftingTable.module.js +19 -0
- package/dist/components/crafting/CraftingTable/CraftingTable.module.js.map +1 -0
- package/dist/components/crafting/CraftingTable/CraftingTable.types.d.ts +18 -0
- package/dist/components/crafting/CraftingTable/CraftingTable.types.d.ts.map +1 -0
- package/dist/components/crafting/CraftingTable/index.d.ts +3 -0
- package/dist/components/crafting/CraftingTable/index.d.ts.map +1 -0
- package/dist/components/crafting/Furnace/Furnace.d.ts +7 -0
- package/dist/components/crafting/Furnace/Furnace.d.ts.map +1 -0
- package/dist/components/crafting/Furnace/Furnace.js +119 -0
- package/dist/components/crafting/Furnace/Furnace.js.map +1 -0
- package/dist/components/crafting/Furnace/Furnace.module.js +29 -0
- package/dist/components/crafting/Furnace/Furnace.module.js.map +1 -0
- package/dist/components/crafting/Furnace/Furnace.types.d.ts +26 -0
- package/dist/components/crafting/Furnace/Furnace.types.d.ts.map +1 -0
- package/dist/components/crafting/Furnace/Furnace.types.js +12 -0
- package/dist/components/crafting/Furnace/Furnace.types.js.map +1 -0
- package/dist/components/crafting/Furnace/Furnace.utils.d.ts +7 -0
- package/dist/components/crafting/Furnace/Furnace.utils.d.ts.map +1 -0
- package/dist/components/crafting/Furnace/Furnace.utils.js +16 -0
- package/dist/components/crafting/Furnace/Furnace.utils.js.map +1 -0
- package/dist/components/crafting/Furnace/index.d.ts +5 -0
- package/dist/components/crafting/Furnace/index.d.ts.map +1 -0
- package/dist/components/crafting/index.d.ts +6 -0
- package/dist/components/crafting/index.d.ts.map +1 -0
- package/dist/components/display/BlockBadge/BlockBadge.d.ts +4 -0
- package/dist/components/display/BlockBadge/BlockBadge.d.ts.map +1 -0
- package/dist/components/display/BlockBadge/BlockBadge.js +34 -0
- package/dist/components/display/BlockBadge/BlockBadge.js.map +1 -0
- package/dist/components/display/BlockBadge/BlockBadge.module.js +15 -0
- package/dist/components/display/BlockBadge/BlockBadge.module.js.map +1 -0
- package/dist/components/display/BlockBadge/BlockBadge.types.d.ts +13 -0
- package/dist/components/display/BlockBadge/BlockBadge.types.d.ts.map +1 -0
- package/dist/components/display/BlockBadge/BlockBadge.types.js +17 -0
- package/dist/components/display/BlockBadge/BlockBadge.types.js.map +1 -0
- package/dist/components/display/BlockBadge/index.d.ts +4 -0
- package/dist/components/display/BlockBadge/index.d.ts.map +1 -0
- package/dist/components/display/index.d.ts +2 -0
- package/dist/components/display/index.d.ts.map +1 -0
- package/dist/components/feedback/Alert/BlockAlert.d.ts +7 -0
- package/dist/components/feedback/Alert/BlockAlert.d.ts.map +1 -0
- package/dist/components/feedback/Alert/BlockAlert.js +62 -0
- package/dist/components/feedback/Alert/BlockAlert.js.map +1 -0
- package/dist/components/feedback/Alert/BlockAlert.module.js +21 -0
- package/dist/components/feedback/Alert/BlockAlert.module.js.map +1 -0
- package/dist/components/feedback/Alert/BlockAlert.types.d.ts +19 -0
- package/dist/components/feedback/Alert/BlockAlert.types.d.ts.map +1 -0
- package/dist/components/feedback/Alert/BlockAlert.types.js +11 -0
- package/dist/components/feedback/Alert/BlockAlert.types.js.map +1 -0
- package/dist/components/feedback/Alert/BlockAlert.utils.d.ts +4 -0
- package/dist/components/feedback/Alert/BlockAlert.utils.d.ts.map +1 -0
- package/dist/components/feedback/Alert/BlockAlert.utils.js +12 -0
- package/dist/components/feedback/Alert/BlockAlert.utils.js.map +1 -0
- package/dist/components/feedback/Alert/index.d.ts +4 -0
- package/dist/components/feedback/Alert/index.d.ts.map +1 -0
- package/dist/components/feedback/ConfirmDialog/ConfirmDialog.d.ts +7 -0
- package/dist/components/feedback/ConfirmDialog/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/feedback/ConfirmDialog/ConfirmDialog.js +47 -0
- package/dist/components/feedback/ConfirmDialog/ConfirmDialog.js.map +1 -0
- package/dist/components/feedback/ConfirmDialog/ConfirmDialog.types.d.ts +21 -0
- package/dist/components/feedback/ConfirmDialog/ConfirmDialog.types.d.ts.map +1 -0
- package/dist/components/feedback/ConfirmDialog/index.d.ts +3 -0
- package/dist/components/feedback/ConfirmDialog/index.d.ts.map +1 -0
- package/dist/components/feedback/Loading/BlockLoading.d.ts +4 -0
- package/dist/components/feedback/Loading/BlockLoading.d.ts.map +1 -0
- package/dist/components/feedback/Loading/BlockLoading.js +35 -0
- package/dist/components/feedback/Loading/BlockLoading.js.map +1 -0
- package/dist/components/feedback/Loading/BlockLoading.module.js +18 -0
- package/dist/components/feedback/Loading/BlockLoading.module.js.map +1 -0
- package/dist/components/feedback/Loading/BlockLoading.types.d.ts +14 -0
- package/dist/components/feedback/Loading/BlockLoading.types.d.ts.map +1 -0
- package/dist/components/feedback/Loading/index.d.ts +3 -0
- package/dist/components/feedback/Loading/index.d.ts.map +1 -0
- package/dist/components/feedback/Modal/BlockModal.d.ts +7 -0
- package/dist/components/feedback/Modal/BlockModal.d.ts.map +1 -0
- package/dist/components/feedback/Modal/BlockModal.js +99 -0
- package/dist/components/feedback/Modal/BlockModal.js.map +1 -0
- package/dist/components/feedback/Modal/BlockModal.module.js +27 -0
- package/dist/components/feedback/Modal/BlockModal.module.js.map +1 -0
- package/dist/components/feedback/Modal/BlockModal.types.d.ts +27 -0
- package/dist/components/feedback/Modal/BlockModal.types.d.ts.map +1 -0
- package/dist/components/feedback/Modal/index.d.ts +3 -0
- package/dist/components/feedback/Modal/index.d.ts.map +1 -0
- package/dist/components/feedback/Progress/BlockProgress.d.ts +4 -0
- package/dist/components/feedback/Progress/BlockProgress.d.ts.map +1 -0
- package/dist/components/feedback/Progress/BlockProgress.js +50 -0
- package/dist/components/feedback/Progress/BlockProgress.js.map +1 -0
- package/dist/components/feedback/Progress/BlockProgress.module.js +23 -0
- package/dist/components/feedback/Progress/BlockProgress.module.js.map +1 -0
- package/dist/components/feedback/Progress/BlockProgress.types.d.ts +20 -0
- package/dist/components/feedback/Progress/BlockProgress.types.d.ts.map +1 -0
- package/dist/components/feedback/Progress/BlockProgress.types.js +13 -0
- package/dist/components/feedback/Progress/BlockProgress.types.js.map +1 -0
- package/dist/components/feedback/Progress/index.d.ts +4 -0
- package/dist/components/feedback/Progress/index.d.ts.map +1 -0
- package/dist/components/feedback/Toast/Toast.d.ts +7 -0
- package/dist/components/feedback/Toast/Toast.d.ts.map +1 -0
- package/dist/components/feedback/Toast/Toast.js +81 -0
- package/dist/components/feedback/Toast/Toast.js.map +1 -0
- package/dist/components/feedback/Toast/Toast.module.js +16 -0
- package/dist/components/feedback/Toast/Toast.module.js.map +1 -0
- package/dist/components/feedback/Toast/Toast.types.d.ts +29 -0
- package/dist/components/feedback/Toast/Toast.types.d.ts.map +1 -0
- package/dist/components/feedback/Toast/index.d.ts +6 -0
- package/dist/components/feedback/Toast/index.d.ts.map +1 -0
- package/dist/components/feedback/Toast/store.d.ts +28 -0
- package/dist/components/feedback/Toast/store.d.ts.map +1 -0
- package/dist/components/feedback/Toast/store.js +54 -0
- package/dist/components/feedback/Toast/store.js.map +1 -0
- package/dist/components/feedback/Toast/useToasts.d.ts +4 -0
- package/dist/components/feedback/Toast/useToasts.d.ts.map +1 -0
- package/dist/components/feedback/Toast/useToasts.js +11 -0
- package/dist/components/feedback/Toast/useToasts.js.map +1 -0
- package/dist/components/feedback/index.d.ts +7 -0
- package/dist/components/feedback/index.d.ts.map +1 -0
- package/dist/components/forms/BlockCheckbox/BlockCheckbox.d.ts +4 -0
- package/dist/components/forms/BlockCheckbox/BlockCheckbox.d.ts.map +1 -0
- package/dist/components/forms/BlockCheckbox/BlockCheckbox.js +69 -0
- package/dist/components/forms/BlockCheckbox/BlockCheckbox.js.map +1 -0
- package/dist/components/forms/BlockCheckbox/BlockCheckbox.module.js +27 -0
- package/dist/components/forms/BlockCheckbox/BlockCheckbox.module.js.map +1 -0
- package/dist/components/forms/BlockCheckbox/BlockCheckbox.types.d.ts +10 -0
- package/dist/components/forms/BlockCheckbox/BlockCheckbox.types.d.ts.map +1 -0
- package/dist/components/forms/BlockCheckbox/index.d.ts +3 -0
- package/dist/components/forms/BlockCheckbox/index.d.ts.map +1 -0
- package/dist/components/forms/BlockInput/BlockInput.d.ts +4 -0
- package/dist/components/forms/BlockInput/BlockInput.d.ts.map +1 -0
- package/dist/components/forms/BlockInput/BlockInput.js +49 -0
- package/dist/components/forms/BlockInput/BlockInput.js.map +1 -0
- package/dist/components/forms/BlockInput/BlockInput.module.js +19 -0
- package/dist/components/forms/BlockInput/BlockInput.module.js.map +1 -0
- package/dist/components/forms/BlockInput/BlockInput.types.d.ts +16 -0
- package/dist/components/forms/BlockInput/BlockInput.types.d.ts.map +1 -0
- package/dist/components/forms/BlockInput/index.d.ts +3 -0
- package/dist/components/forms/BlockInput/index.d.ts.map +1 -0
- package/dist/components/forms/BlockRadio/BlockRadio.d.ts +6 -0
- package/dist/components/forms/BlockRadio/BlockRadio.d.ts.map +1 -0
- package/dist/components/forms/BlockRadio/BlockRadio.js +122 -0
- package/dist/components/forms/BlockRadio/BlockRadio.js.map +1 -0
- package/dist/components/forms/BlockRadio/BlockRadio.module.js +33 -0
- package/dist/components/forms/BlockRadio/BlockRadio.module.js.map +1 -0
- package/dist/components/forms/BlockRadio/BlockRadio.types.d.ts +29 -0
- package/dist/components/forms/BlockRadio/BlockRadio.types.d.ts.map +1 -0
- package/dist/components/forms/BlockRadio/context.d.ts +11 -0
- package/dist/components/forms/BlockRadio/context.d.ts.map +1 -0
- package/dist/components/forms/BlockRadio/context.js +10 -0
- package/dist/components/forms/BlockRadio/context.js.map +1 -0
- package/dist/components/forms/BlockRadio/index.d.ts +3 -0
- package/dist/components/forms/BlockRadio/index.d.ts.map +1 -0
- package/dist/components/forms/BlockSelect/BlockSelect.d.ts +4 -0
- package/dist/components/forms/BlockSelect/BlockSelect.d.ts.map +1 -0
- package/dist/components/forms/BlockSelect/BlockSelect.js +58 -0
- package/dist/components/forms/BlockSelect/BlockSelect.js.map +1 -0
- package/dist/components/forms/BlockSelect/BlockSelect.module.js +13 -0
- package/dist/components/forms/BlockSelect/BlockSelect.module.js.map +1 -0
- package/dist/components/forms/BlockSelect/BlockSelect.types.d.ts +18 -0
- package/dist/components/forms/BlockSelect/BlockSelect.types.d.ts.map +1 -0
- package/dist/components/forms/BlockSelect/index.d.ts +3 -0
- package/dist/components/forms/BlockSelect/index.d.ts.map +1 -0
- package/dist/components/forms/BlockSlider/BlockSlider.d.ts +7 -0
- package/dist/components/forms/BlockSlider/BlockSlider.d.ts.map +1 -0
- package/dist/components/forms/BlockSlider/BlockSlider.js +60 -0
- package/dist/components/forms/BlockSlider/BlockSlider.js.map +1 -0
- package/dist/components/forms/BlockSlider/BlockSlider.module.js +7 -0
- package/dist/components/forms/BlockSlider/BlockSlider.module.js.map +1 -0
- package/dist/components/forms/BlockSlider/BlockSlider.types.d.ts +25 -0
- package/dist/components/forms/BlockSlider/BlockSlider.types.d.ts.map +1 -0
- package/dist/components/forms/BlockSlider/index.d.ts +3 -0
- package/dist/components/forms/BlockSlider/index.d.ts.map +1 -0
- package/dist/components/forms/BlockTextarea/BlockTextarea.d.ts +4 -0
- package/dist/components/forms/BlockTextarea/BlockTextarea.d.ts.map +1 -0
- package/dist/components/forms/BlockTextarea/BlockTextarea.js +53 -0
- package/dist/components/forms/BlockTextarea/BlockTextarea.js.map +1 -0
- package/dist/components/forms/BlockTextarea/BlockTextarea.module.js +7 -0
- package/dist/components/forms/BlockTextarea/BlockTextarea.module.js.map +1 -0
- package/dist/components/forms/BlockTextarea/BlockTextarea.types.d.ts +11 -0
- package/dist/components/forms/BlockTextarea/BlockTextarea.types.d.ts.map +1 -0
- package/dist/components/forms/BlockTextarea/index.d.ts +3 -0
- package/dist/components/forms/BlockTextarea/index.d.ts.map +1 -0
- package/dist/components/forms/BlockToggle/BlockToggle.d.ts +4 -0
- package/dist/components/forms/BlockToggle/BlockToggle.d.ts.map +1 -0
- package/dist/components/forms/BlockToggle/BlockToggle.js +52 -0
- package/dist/components/forms/BlockToggle/BlockToggle.js.map +1 -0
- package/dist/components/forms/BlockToggle/BlockToggle.module.js +27 -0
- package/dist/components/forms/BlockToggle/BlockToggle.module.js.map +1 -0
- package/dist/components/forms/BlockToggle/BlockToggle.types.d.ts +12 -0
- package/dist/components/forms/BlockToggle/BlockToggle.types.d.ts.map +1 -0
- package/dist/components/forms/BlockToggle/index.d.ts +3 -0
- package/dist/components/forms/BlockToggle/index.d.ts.map +1 -0
- package/dist/components/forms/Field/Field.d.ts +25 -0
- package/dist/components/forms/Field/Field.d.ts.map +1 -0
- package/dist/components/forms/Field/Field.js +59 -0
- package/dist/components/forms/Field/Field.js.map +1 -0
- package/dist/components/forms/Field/Field.module.js +21 -0
- package/dist/components/forms/Field/Field.module.js.map +1 -0
- package/dist/components/forms/Field/control.module.js +7 -0
- package/dist/components/forms/Field/control.module.js.map +1 -0
- package/dist/components/forms/index.d.ts +8 -0
- package/dist/components/forms/index.d.ts.map +1 -0
- package/dist/components/hud/ArmorBar/ArmorBar.d.ts +4 -0
- package/dist/components/hud/ArmorBar/ArmorBar.d.ts.map +1 -0
- package/dist/components/hud/ArmorBar/ArmorBar.js +23 -0
- package/dist/components/hud/ArmorBar/ArmorBar.js.map +1 -0
- package/dist/components/hud/ArmorBar/ArmorBar.types.d.ts +13 -0
- package/dist/components/hud/ArmorBar/ArmorBar.types.d.ts.map +1 -0
- package/dist/components/hud/ArmorBar/index.d.ts +3 -0
- package/dist/components/hud/ArmorBar/index.d.ts.map +1 -0
- package/dist/components/hud/HealthBar/HealthBar.d.ts +4 -0
- package/dist/components/hud/HealthBar/HealthBar.d.ts.map +1 -0
- package/dist/components/hud/HealthBar/HealthBar.js +23 -0
- package/dist/components/hud/HealthBar/HealthBar.js.map +1 -0
- package/dist/components/hud/HealthBar/HealthBar.types.d.ts +13 -0
- package/dist/components/hud/HealthBar/HealthBar.types.d.ts.map +1 -0
- package/dist/components/hud/HealthBar/index.d.ts +3 -0
- package/dist/components/hud/HealthBar/index.d.ts.map +1 -0
- package/dist/components/hud/HungerBar/HungerBar.d.ts +4 -0
- package/dist/components/hud/HungerBar/HungerBar.d.ts.map +1 -0
- package/dist/components/hud/HungerBar/HungerBar.js +23 -0
- package/dist/components/hud/HungerBar/HungerBar.js.map +1 -0
- package/dist/components/hud/HungerBar/HungerBar.types.d.ts +15 -0
- package/dist/components/hud/HungerBar/HungerBar.types.d.ts.map +1 -0
- package/dist/components/hud/HungerBar/index.d.ts +3 -0
- package/dist/components/hud/HungerBar/index.d.ts.map +1 -0
- package/dist/components/hud/PlayerHUD/PlayerHUD.d.ts +7 -0
- package/dist/components/hud/PlayerHUD/PlayerHUD.d.ts.map +1 -0
- package/dist/components/hud/PlayerHUD/PlayerHUD.js +57 -0
- package/dist/components/hud/PlayerHUD/PlayerHUD.js.map +1 -0
- package/dist/components/hud/PlayerHUD/PlayerHUD.module.js +15 -0
- package/dist/components/hud/PlayerHUD/PlayerHUD.module.js.map +1 -0
- package/dist/components/hud/PlayerHUD/PlayerHUD.types.d.ts +26 -0
- package/dist/components/hud/PlayerHUD/PlayerHUD.types.d.ts.map +1 -0
- package/dist/components/hud/PlayerHUD/index.d.ts +3 -0
- package/dist/components/hud/PlayerHUD/index.d.ts.map +1 -0
- package/dist/components/hud/PointsBar/PointsBar.d.ts +24 -0
- package/dist/components/hud/PointsBar/PointsBar.d.ts.map +1 -0
- package/dist/components/hud/PointsBar/PointsBar.js +61 -0
- package/dist/components/hud/PointsBar/PointsBar.js.map +1 -0
- package/dist/components/hud/PointsBar/PointsBar.module.js +20 -0
- package/dist/components/hud/PointsBar/PointsBar.module.js.map +1 -0
- package/dist/components/hud/PointsBar/index.d.ts +3 -0
- package/dist/components/hud/PointsBar/index.d.ts.map +1 -0
- package/dist/components/hud/XPBar/XPBar.d.ts +4 -0
- package/dist/components/hud/XPBar/XPBar.d.ts.map +1 -0
- package/dist/components/hud/XPBar/XPBar.js +45 -0
- package/dist/components/hud/XPBar/XPBar.js.map +1 -0
- package/dist/components/hud/XPBar/XPBar.module.js +19 -0
- package/dist/components/hud/XPBar/XPBar.module.js.map +1 -0
- package/dist/components/hud/XPBar/XPBar.types.d.ts +12 -0
- package/dist/components/hud/XPBar/XPBar.types.d.ts.map +1 -0
- package/dist/components/hud/XPBar/index.d.ts +3 -0
- package/dist/components/hud/XPBar/index.d.ts.map +1 -0
- package/dist/components/hud/index.d.ts +6 -0
- package/dist/components/hud/index.d.ts.map +1 -0
- package/dist/components/inventory/DurabilityBar/DurabilityBar.d.ts +4 -0
- package/dist/components/inventory/DurabilityBar/DurabilityBar.d.ts.map +1 -0
- package/dist/components/inventory/DurabilityBar/DurabilityBar.js +37 -0
- package/dist/components/inventory/DurabilityBar/DurabilityBar.js.map +1 -0
- package/dist/components/inventory/DurabilityBar/DurabilityBar.module.js +17 -0
- package/dist/components/inventory/DurabilityBar/DurabilityBar.module.js.map +1 -0
- package/dist/components/inventory/DurabilityBar/DurabilityBar.types.d.ts +13 -0
- package/dist/components/inventory/DurabilityBar/DurabilityBar.types.d.ts.map +1 -0
- package/dist/components/inventory/DurabilityBar/DurabilityBar.utils.d.ts +3 -0
- package/dist/components/inventory/DurabilityBar/DurabilityBar.utils.d.ts.map +1 -0
- package/dist/components/inventory/DurabilityBar/DurabilityBar.utils.js +12 -0
- package/dist/components/inventory/DurabilityBar/DurabilityBar.utils.js.map +1 -0
- package/dist/components/inventory/DurabilityBar/index.d.ts +4 -0
- package/dist/components/inventory/DurabilityBar/index.d.ts.map +1 -0
- package/dist/components/inventory/Hotbar/Hotbar.d.ts +7 -0
- package/dist/components/inventory/Hotbar/Hotbar.d.ts.map +1 -0
- package/dist/components/inventory/Hotbar/Hotbar.js +51 -0
- package/dist/components/inventory/Hotbar/Hotbar.js.map +1 -0
- package/dist/components/inventory/Hotbar/Hotbar.module.js +13 -0
- package/dist/components/inventory/Hotbar/Hotbar.module.js.map +1 -0
- package/dist/components/inventory/Hotbar/Hotbar.types.d.ts +17 -0
- package/dist/components/inventory/Hotbar/Hotbar.types.d.ts.map +1 -0
- package/dist/components/inventory/Hotbar/index.d.ts +3 -0
- package/dist/components/inventory/Hotbar/index.d.ts.map +1 -0
- package/dist/components/inventory/Inventory/Inventory.d.ts +9 -0
- package/dist/components/inventory/Inventory/Inventory.d.ts.map +1 -0
- package/dist/components/inventory/Inventory/Inventory.js +45 -0
- package/dist/components/inventory/Inventory/Inventory.js.map +1 -0
- package/dist/components/inventory/Inventory/Inventory.module.js +17 -0
- package/dist/components/inventory/Inventory/Inventory.module.js.map +1 -0
- package/dist/components/inventory/Inventory/Inventory.types.d.ts +14 -0
- package/dist/components/inventory/Inventory/Inventory.types.d.ts.map +1 -0
- package/dist/components/inventory/Inventory/index.d.ts +3 -0
- package/dist/components/inventory/Inventory/index.d.ts.map +1 -0
- package/dist/components/inventory/InventoryGrid/InventoryGrid.d.ts +9 -0
- package/dist/components/inventory/InventoryGrid/InventoryGrid.d.ts.map +1 -0
- package/dist/components/inventory/InventoryGrid/InventoryGrid.js +127 -0
- package/dist/components/inventory/InventoryGrid/InventoryGrid.js.map +1 -0
- package/dist/components/inventory/InventoryGrid/InventoryGrid.module.js +11 -0
- package/dist/components/inventory/InventoryGrid/InventoryGrid.module.js.map +1 -0
- package/dist/components/inventory/InventoryGrid/InventoryGrid.types.d.ts +24 -0
- package/dist/components/inventory/InventoryGrid/InventoryGrid.types.d.ts.map +1 -0
- package/dist/components/inventory/InventoryGrid/context.d.ts +14 -0
- package/dist/components/inventory/InventoryGrid/context.d.ts.map +1 -0
- package/dist/components/inventory/InventoryGrid/context.js +15 -0
- package/dist/components/inventory/InventoryGrid/context.js.map +1 -0
- package/dist/components/inventory/InventoryGrid/index.d.ts +4 -0
- package/dist/components/inventory/InventoryGrid/index.d.ts.map +1 -0
- package/dist/components/inventory/InventorySlot/InventorySlot.d.ts +8 -0
- package/dist/components/inventory/InventorySlot/InventorySlot.d.ts.map +1 -0
- package/dist/components/inventory/InventorySlot/InventorySlot.js +151 -0
- package/dist/components/inventory/InventorySlot/InventorySlot.js.map +1 -0
- package/dist/components/inventory/InventorySlot/InventorySlot.module.js +21 -0
- package/dist/components/inventory/InventorySlot/InventorySlot.module.js.map +1 -0
- package/dist/components/inventory/InventorySlot/InventorySlot.types.d.ts +20 -0
- package/dist/components/inventory/InventorySlot/InventorySlot.types.d.ts.map +1 -0
- package/dist/components/inventory/InventorySlot/index.d.ts +3 -0
- package/dist/components/inventory/InventorySlot/index.d.ts.map +1 -0
- package/dist/components/inventory/ItemStack/ItemStack.d.ts +8 -0
- package/dist/components/inventory/ItemStack/ItemStack.d.ts.map +1 -0
- package/dist/components/inventory/ItemStack/ItemStack.js +58 -0
- package/dist/components/inventory/ItemStack/ItemStack.js.map +1 -0
- package/dist/components/inventory/ItemStack/ItemStack.module.js +15 -0
- package/dist/components/inventory/ItemStack/ItemStack.module.js.map +1 -0
- package/dist/components/inventory/ItemStack/ItemStack.types.d.ts +14 -0
- package/dist/components/inventory/ItemStack/ItemStack.types.d.ts.map +1 -0
- package/dist/components/inventory/ItemStack/ItemStack.utils.d.ts +4 -0
- package/dist/components/inventory/ItemStack/ItemStack.utils.d.ts.map +1 -0
- package/dist/components/inventory/ItemStack/ItemStack.utils.js +14 -0
- package/dist/components/inventory/ItemStack/ItemStack.utils.js.map +1 -0
- package/dist/components/inventory/ItemStack/index.d.ts +4 -0
- package/dist/components/inventory/ItemStack/index.d.ts.map +1 -0
- package/dist/components/inventory/ItemTooltip/ItemTooltip.d.ts +7 -0
- package/dist/components/inventory/ItemTooltip/ItemTooltip.d.ts.map +1 -0
- package/dist/components/inventory/ItemTooltip/ItemTooltip.js +52 -0
- package/dist/components/inventory/ItemTooltip/ItemTooltip.js.map +1 -0
- package/dist/components/inventory/ItemTooltip/ItemTooltip.module.js +23 -0
- package/dist/components/inventory/ItemTooltip/ItemTooltip.module.js.map +1 -0
- package/dist/components/inventory/ItemTooltip/ItemTooltip.types.d.ts +18 -0
- package/dist/components/inventory/ItemTooltip/ItemTooltip.types.d.ts.map +1 -0
- package/dist/components/inventory/ItemTooltip/ItemTooltip.types.js +12 -0
- package/dist/components/inventory/ItemTooltip/ItemTooltip.types.js.map +1 -0
- package/dist/components/inventory/ItemTooltip/ItemTooltip.utils.d.ts +3 -0
- package/dist/components/inventory/ItemTooltip/ItemTooltip.utils.d.ts.map +1 -0
- package/dist/components/inventory/ItemTooltip/ItemTooltip.utils.js +11 -0
- package/dist/components/inventory/ItemTooltip/ItemTooltip.utils.js.map +1 -0
- package/dist/components/inventory/ItemTooltip/index.d.ts +5 -0
- package/dist/components/inventory/ItemTooltip/index.d.ts.map +1 -0
- package/dist/components/inventory/index.d.ts +8 -0
- package/dist/components/inventory/index.d.ts.map +1 -0
- package/dist/components/layout/BlockPanel/BlockPanel.d.ts +7 -0
- package/dist/components/layout/BlockPanel/BlockPanel.d.ts.map +1 -0
- package/dist/components/layout/BlockPanel/BlockPanel.js +44 -0
- package/dist/components/layout/BlockPanel/BlockPanel.js.map +1 -0
- package/dist/components/layout/BlockPanel/BlockPanel.module.js +27 -0
- package/dist/components/layout/BlockPanel/BlockPanel.module.js.map +1 -0
- package/dist/components/layout/BlockPanel/BlockPanel.types.d.ts +20 -0
- package/dist/components/layout/BlockPanel/BlockPanel.types.d.ts.map +1 -0
- package/dist/components/layout/BlockPanel/index.d.ts +3 -0
- package/dist/components/layout/BlockPanel/index.d.ts.map +1 -0
- package/dist/components/layout/index.d.ts +2 -0
- package/dist/components/layout/index.d.ts.map +1 -0
- package/dist/components/navigation/BlockSidebar/BlockSidebar.d.ts +9 -0
- package/dist/components/navigation/BlockSidebar/BlockSidebar.d.ts.map +1 -0
- package/dist/components/navigation/BlockSidebar/BlockSidebar.js +96 -0
- package/dist/components/navigation/BlockSidebar/BlockSidebar.js.map +1 -0
- package/dist/components/navigation/BlockSidebar/BlockSidebar.module.js +25 -0
- package/dist/components/navigation/BlockSidebar/BlockSidebar.module.js.map +1 -0
- package/dist/components/navigation/BlockSidebar/BlockSidebar.types.d.ts +30 -0
- package/dist/components/navigation/BlockSidebar/BlockSidebar.types.d.ts.map +1 -0
- package/dist/components/navigation/BlockSidebar/context.d.ts +7 -0
- package/dist/components/navigation/BlockSidebar/context.d.ts.map +1 -0
- package/dist/components/navigation/BlockSidebar/context.js +10 -0
- package/dist/components/navigation/BlockSidebar/context.js.map +1 -0
- package/dist/components/navigation/BlockSidebar/index.d.ts +3 -0
- package/dist/components/navigation/BlockSidebar/index.d.ts.map +1 -0
- package/dist/components/navigation/BlockTabs/BlockTabs.d.ts +7 -0
- package/dist/components/navigation/BlockTabs/BlockTabs.d.ts.map +1 -0
- package/dist/components/navigation/BlockTabs/BlockTabs.js +84 -0
- package/dist/components/navigation/BlockTabs/BlockTabs.js.map +1 -0
- package/dist/components/navigation/BlockTabs/BlockTabs.module.js +19 -0
- package/dist/components/navigation/BlockTabs/BlockTabs.module.js.map +1 -0
- package/dist/components/navigation/BlockTabs/BlockTabs.types.d.ts +21 -0
- package/dist/components/navigation/BlockTabs/BlockTabs.types.d.ts.map +1 -0
- package/dist/components/navigation/BlockTabs/index.d.ts +3 -0
- package/dist/components/navigation/BlockTabs/index.d.ts.map +1 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.d.ts +4 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.d.ts.map +1 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.js +55 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.module.js +23 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.module.js.map +1 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.types.d.ts +16 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.types.d.ts.map +1 -0
- package/dist/components/navigation/Breadcrumb/index.d.ts +3 -0
- package/dist/components/navigation/Breadcrumb/index.d.ts.map +1 -0
- package/dist/components/navigation/HotbarNavigation/HotbarNavigation.d.ts +4 -0
- package/dist/components/navigation/HotbarNavigation/HotbarNavigation.d.ts.map +1 -0
- package/dist/components/navigation/HotbarNavigation/HotbarNavigation.js +85 -0
- package/dist/components/navigation/HotbarNavigation/HotbarNavigation.js.map +1 -0
- package/dist/components/navigation/HotbarNavigation/HotbarNavigation.module.js +25 -0
- package/dist/components/navigation/HotbarNavigation/HotbarNavigation.module.js.map +1 -0
- package/dist/components/navigation/HotbarNavigation/HotbarNavigation.types.d.ts +25 -0
- package/dist/components/navigation/HotbarNavigation/HotbarNavigation.types.d.ts.map +1 -0
- package/dist/components/navigation/HotbarNavigation/index.d.ts +3 -0
- package/dist/components/navigation/HotbarNavigation/index.d.ts.map +1 -0
- package/dist/components/navigation/index.d.ts +5 -0
- package/dist/components/navigation/index.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +7 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/useControllableState.d.ts +8 -0
- package/dist/hooks/useControllableState.d.ts.map +1 -0
- package/dist/hooks/useControllableState.js +15 -0
- package/dist/hooks/useControllableState.js.map +1 -0
- package/dist/hooks/useDigitHotkeys.d.ts +6 -0
- package/dist/hooks/useDigitHotkeys.d.ts.map +1 -0
- package/dist/hooks/useDigitHotkeys.js +30 -0
- package/dist/hooks/useDigitHotkeys.js.map +1 -0
- package/dist/hooks/useFocusTrap.d.ts +13 -0
- package/dist/hooks/useFocusTrap.d.ts.map +1 -0
- package/dist/hooks/useFocusTrap.js +53 -0
- package/dist/hooks/useFocusTrap.js.map +1 -0
- package/dist/hooks/useMediaQuery.d.ts +3 -0
- package/dist/hooks/useMediaQuery.d.ts.map +1 -0
- package/dist/hooks/useMediaQuery.js +16 -0
- package/dist/hooks/useMediaQuery.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +68 -0
- package/dist/provider/BlockUIProvider.d.ts +13 -0
- package/dist/provider/BlockUIProvider.d.ts.map +1 -0
- package/dist/provider/BlockUIProvider.js +44 -0
- package/dist/provider/BlockUIProvider.js.map +1 -0
- package/dist/provider/BlockUIProvider.types.d.ts +15 -0
- package/dist/provider/BlockUIProvider.types.d.ts.map +1 -0
- package/dist/provider/context.d.ts +10 -0
- package/dist/provider/context.d.ts.map +1 -0
- package/dist/provider/context.js +20 -0
- package/dist/provider/context.js.map +1 -0
- package/dist/provider/index.d.ts +4 -0
- package/dist/provider/index.d.ts.map +1 -0
- package/dist/styles.css +3179 -0
- package/dist/utils/cx.d.ts +4 -0
- package/dist/utils/cx.d.ts.map +1 -0
- package/dist/utils/cx.js +9 -0
- package/dist/utils/cx.js.map +1 -0
- package/dist/utils/dom.d.ts +5 -0
- package/dist/utils/dom.d.ts.map +1 -0
- package/dist/utils/dom.js +38 -0
- package/dist/utils/dom.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/number.d.ts +6 -0
- package/dist/utils/number.d.ts.map +1 -0
- package/dist/utils/number.js +18 -0
- package/dist/utils/number.js.map +1 -0
- package/dist/utils/refs.d.ts +4 -0
- package/dist/utils/refs.d.ts.map +1 -0
- package/dist/utils/refs.js +12 -0
- package/dist/utils/refs.js.map +1 -0
- package/package.json +80 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/Toast/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAgB,MAAM,eAAe,CAAC;AAE7E,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAC;AAU3B,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI,CAG9D;AAED,wBAAgB,SAAS,IAAI,WAAW,EAAE,CAEzC;AA0BD,KAAK,OAAO,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,MAAM,CAAC;AAEtE,MAAM,WAAW,QAAS,SAAQ,OAAO;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,2DAA2D;IAC3D,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,EAAE,QASnB,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
//#region src/components/feedback/Toast/store.ts
|
|
2
|
+
var DEFAULT_TOAST_DURATION = 4e3;
|
|
3
|
+
var records = [];
|
|
4
|
+
var listeners = /* @__PURE__ */ new Set();
|
|
5
|
+
var counter = 0;
|
|
6
|
+
function emit() {
|
|
7
|
+
for (const listener of listeners) listener();
|
|
8
|
+
}
|
|
9
|
+
function subscribeToasts(listener) {
|
|
10
|
+
listeners.add(listener);
|
|
11
|
+
return () => listeners.delete(listener);
|
|
12
|
+
}
|
|
13
|
+
function getToasts() {
|
|
14
|
+
return records;
|
|
15
|
+
}
|
|
16
|
+
function show(variant, message, options = {}) {
|
|
17
|
+
counter += 1;
|
|
18
|
+
const id = options.id ?? `block-toast-${counter}`;
|
|
19
|
+
const record = {
|
|
20
|
+
id,
|
|
21
|
+
variant,
|
|
22
|
+
message,
|
|
23
|
+
title: options.title,
|
|
24
|
+
duration: options.duration ?? 4e3,
|
|
25
|
+
action: options.action
|
|
26
|
+
};
|
|
27
|
+
records = records.some((toast) => toast.id === id) ? records.map((toast) => toast.id === id ? record : toast) : [...records, record].slice(-20);
|
|
28
|
+
emit();
|
|
29
|
+
return id;
|
|
30
|
+
}
|
|
31
|
+
function dismiss(id) {
|
|
32
|
+
records = id === void 0 ? [] : records.filter((toast) => toast.id !== id);
|
|
33
|
+
emit();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Imperative toast API (PRD §44). Requires a `<BlockToaster />` — rendered
|
|
37
|
+
* automatically by `<BlockUIProvider>`.
|
|
38
|
+
*
|
|
39
|
+
* ```ts
|
|
40
|
+
* toast.success("World saved.");
|
|
41
|
+
* toast.error("Connection failed.", { duration: 0 });
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
var toast = Object.assign((message, options) => show("info", message, options), {
|
|
45
|
+
success: (message, options) => show("success", message, options),
|
|
46
|
+
info: (message, options) => show("info", message, options),
|
|
47
|
+
warning: (message, options) => show("warning", message, options),
|
|
48
|
+
error: (message, options) => show("error", message, options),
|
|
49
|
+
dismiss
|
|
50
|
+
});
|
|
51
|
+
//#endregion
|
|
52
|
+
export { DEFAULT_TOAST_DURATION, getToasts, subscribeToasts, toast };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","names":[],"sources":["../../../../src/components/feedback/Toast/store.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport type { ToastOptions, ToastRecord, ToastVariant } from \"./Toast.types\";\n\nexport const DEFAULT_TOAST_DURATION = 4000;\nexport const DEFAULT_TOAST_LIMIT = 5;\n\ntype Listener = () => void;\n\nlet records: ToastRecord[] = [];\nconst listeners = new Set<Listener>();\nlet counter = 0;\n\nfunction emit() {\n for (const listener of listeners) listener();\n}\n\nexport function subscribeToasts(listener: Listener): () => void {\n listeners.add(listener);\n return () => listeners.delete(listener);\n}\n\nexport function getToasts(): ToastRecord[] {\n return records;\n}\n\nfunction show(variant: ToastVariant, message: ReactNode, options: ToastOptions = {}): string {\n counter += 1;\n const id = options.id ?? `block-toast-${counter}`;\n const record: ToastRecord = {\n id,\n variant,\n message,\n title: options.title,\n duration: options.duration ?? DEFAULT_TOAST_DURATION,\n action: options.action,\n };\n const existing = records.some((toast) => toast.id === id);\n records = existing\n ? records.map((toast) => (toast.id === id ? record : toast))\n : [...records, record].slice(-DEFAULT_TOAST_LIMIT * 4);\n emit();\n return id;\n}\n\nfunction dismiss(id?: string): void {\n records = id === undefined ? [] : records.filter((toast) => toast.id !== id);\n emit();\n}\n\ntype ToastFn = (message: ReactNode, options?: ToastOptions) => string;\n\nexport interface ToastApi extends ToastFn {\n success: ToastFn;\n info: ToastFn;\n warning: ToastFn;\n error: ToastFn;\n /** Dismiss one toast, or all when called without an id. */\n dismiss: (id?: string) => void;\n}\n\n/**\n * Imperative toast API (PRD §44). Requires a `<BlockToaster />` — rendered\n * automatically by `<BlockUIProvider>`.\n *\n * ```ts\n * toast.success(\"World saved.\");\n * toast.error(\"Connection failed.\", { duration: 0 });\n * ```\n */\nexport const toast: ToastApi = Object.assign(\n (message: ReactNode, options?: ToastOptions) => show(\"info\", message, options),\n {\n success: (message: ReactNode, options?: ToastOptions) => show(\"success\", message, options),\n info: (message: ReactNode, options?: ToastOptions) => show(\"info\", message, options),\n warning: (message: ReactNode, options?: ToastOptions) => show(\"warning\", message, options),\n error: (message: ReactNode, options?: ToastOptions) => show(\"error\", message, options),\n dismiss,\n },\n);\n"],"mappings":";AAGA,IAAa,yBAAyB;AAKtC,IAAI,UAAyB,CAAC;AAC9B,IAAM,4BAAY,IAAI,IAAc;AACpC,IAAI,UAAU;AAEd,SAAS,OAAO;CACd,KAAK,MAAM,YAAY,WAAW,SAAS;AAC7C;AAEA,SAAgB,gBAAgB,UAAgC;CAC9D,UAAU,IAAI,QAAQ;CACtB,aAAa,UAAU,OAAO,QAAQ;AACxC;AAEA,SAAgB,YAA2B;CACzC,OAAO;AACT;AAEA,SAAS,KAAK,SAAuB,SAAoB,UAAwB,CAAC,GAAW;CAC3F,WAAW;CACX,MAAM,KAAK,QAAQ,MAAM,eAAe;CACxC,MAAM,SAAsB;EAC1B;EACA;EACA;EACA,OAAO,QAAQ;EACf,UAAU,QAAQ,YAAA;EAClB,QAAQ,QAAQ;CAClB;CAEA,UADiB,QAAQ,MAAM,UAAU,MAAM,OAAO,EAC5C,IACN,QAAQ,KAAK,UAAW,MAAM,OAAO,KAAK,SAAS,KAAM,IACzD,CAAC,GAAG,SAAS,MAAM,CAAC,CAAC,MAAM,GAAwB;CACvD,KAAK;CACL,OAAO;AACT;AAEA,SAAS,QAAQ,IAAmB;CAClC,UAAU,OAAO,KAAA,IAAY,CAAC,IAAI,QAAQ,QAAQ,UAAU,MAAM,OAAO,EAAE;CAC3E,KAAK;AACP;;;;;;;;;;AAsBA,IAAa,QAAkB,OAAO,QACnC,SAAoB,YAA2B,KAAK,QAAQ,SAAS,OAAO,GAC7E;CACE,UAAU,SAAoB,YAA2B,KAAK,WAAW,SAAS,OAAO;CACzF,OAAO,SAAoB,YAA2B,KAAK,QAAQ,SAAS,OAAO;CACnF,UAAU,SAAoB,YAA2B,KAAK,WAAW,SAAS,OAAO;CACzF,QAAQ,SAAoB,YAA2B,KAAK,SAAS,SAAS,OAAO;CACrF;AACF,CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useToasts.d.ts","sourceRoot":"","sources":["../../../../src/components/feedback/Toast/useToasts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,wCAAwC;AACxC,wBAAgB,SAAS,IAAI,WAAW,EAAE,CAEzC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { getToasts, subscribeToasts } from "./store.js";
|
|
2
|
+
import { useSyncExternalStore } from "react";
|
|
3
|
+
//#region src/components/feedback/Toast/useToasts.ts
|
|
4
|
+
/** Subscribe to the live toast list. */
|
|
5
|
+
function useToasts() {
|
|
6
|
+
return useSyncExternalStore(subscribeToasts, getToasts, getToasts);
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { useToasts };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=useToasts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useToasts.js","names":[],"sources":["../../../../src/components/feedback/Toast/useToasts.ts"],"sourcesContent":["import { useSyncExternalStore } from \"react\";\nimport { getToasts, subscribeToasts } from \"./store\";\nimport type { ToastRecord } from \"./Toast.types\";\n\n/** Subscribe to the live toast list. */\nexport function useToasts(): ToastRecord[] {\n return useSyncExternalStore(subscribeToasts, getToasts, getToasts);\n}\n"],"mappings":";;;;AAKA,SAAgB,YAA2B;CACzC,OAAO,qBAAqB,iBAAiB,WAAW,SAAS;AACnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/feedback/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { BlockCheckboxProps } from "./BlockCheckbox.types";
|
|
2
|
+
/** Native checkbox with a pixel block box. */
|
|
3
|
+
export declare const BlockCheckbox: import("react").ForwardRefExoticComponent<BlockCheckboxProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
4
|
+
//# sourceMappingURL=BlockCheckbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockCheckbox.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/BlockCheckbox/BlockCheckbox.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,8CAA8C;AAC9C,eAAO,MAAM,aAAa,iHAsEzB,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { cx } from "../../../utils/cx.js";
|
|
2
|
+
import { mergeRefs } from "../../../utils/refs.js";
|
|
3
|
+
import BlockCheckbox_module_default from "./BlockCheckbox.module.js";
|
|
4
|
+
import { forwardRef, useEffect, useId, useRef } from "react";
|
|
5
|
+
import { CheckIcon, MinusIcon } from "@malilion/block-ui-icons";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
//#region src/components/forms/BlockCheckbox/BlockCheckbox.tsx
|
|
8
|
+
/** Native checkbox with a pixel block box. */
|
|
9
|
+
var BlockCheckbox = forwardRef(function BlockCheckbox({ id, label, description, indeterminate = false, error, className, disabled, "aria-describedby": ariaDescribedBy, ...rest }, ref) {
|
|
10
|
+
const generated = useId();
|
|
11
|
+
const inputId = id ?? `block-checkbox-${generated}`;
|
|
12
|
+
const descriptionId = description ? `${inputId}-description` : void 0;
|
|
13
|
+
const errorId = error ? `${inputId}-error` : void 0;
|
|
14
|
+
const inner = useRef(null);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (inner.current) inner.current.indeterminate = indeterminate;
|
|
17
|
+
}, [indeterminate]);
|
|
18
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
19
|
+
className: cx(BlockCheckbox_module_default.root, className),
|
|
20
|
+
"data-disabled": disabled || void 0,
|
|
21
|
+
children: [/* @__PURE__ */ jsxs("span", {
|
|
22
|
+
className: BlockCheckbox_module_default.control,
|
|
23
|
+
children: [/* @__PURE__ */ jsx("input", {
|
|
24
|
+
ref: mergeRefs(inner, ref),
|
|
25
|
+
id: inputId,
|
|
26
|
+
type: "checkbox",
|
|
27
|
+
disabled,
|
|
28
|
+
"aria-invalid": error ? true : void 0,
|
|
29
|
+
"aria-describedby": cx(errorId, descriptionId, ariaDescribedBy) || void 0,
|
|
30
|
+
className: BlockCheckbox_module_default.input,
|
|
31
|
+
"data-indeterminate": indeterminate || void 0,
|
|
32
|
+
...rest
|
|
33
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
34
|
+
className: BlockCheckbox_module_default.box,
|
|
35
|
+
"aria-hidden": "true",
|
|
36
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
37
|
+
className: BlockCheckbox_module_default.check,
|
|
38
|
+
children: /* @__PURE__ */ jsx(CheckIcon, { size: 16 })
|
|
39
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
40
|
+
className: BlockCheckbox_module_default.dash,
|
|
41
|
+
children: /* @__PURE__ */ jsx(MinusIcon, { size: 16 })
|
|
42
|
+
})]
|
|
43
|
+
})]
|
|
44
|
+
}), label || description || error ? /* @__PURE__ */ jsxs("span", {
|
|
45
|
+
className: BlockCheckbox_module_default.text,
|
|
46
|
+
children: [
|
|
47
|
+
label ? /* @__PURE__ */ jsx("label", {
|
|
48
|
+
htmlFor: inputId,
|
|
49
|
+
className: BlockCheckbox_module_default.label,
|
|
50
|
+
children: label
|
|
51
|
+
}) : null,
|
|
52
|
+
description ? /* @__PURE__ */ jsx("span", {
|
|
53
|
+
id: descriptionId,
|
|
54
|
+
className: BlockCheckbox_module_default.description,
|
|
55
|
+
children: description
|
|
56
|
+
}) : null,
|
|
57
|
+
error ? /* @__PURE__ */ jsx("span", {
|
|
58
|
+
id: errorId,
|
|
59
|
+
className: BlockCheckbox_module_default.error,
|
|
60
|
+
children: error
|
|
61
|
+
}) : null
|
|
62
|
+
]
|
|
63
|
+
}) : null]
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
//#endregion
|
|
67
|
+
export { BlockCheckbox };
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=BlockCheckbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockCheckbox.js","names":["styles"],"sources":["../../../../src/components/forms/BlockCheckbox/BlockCheckbox.tsx"],"sourcesContent":["import { CheckIcon, MinusIcon } from \"@malilion/block-ui-icons\";\nimport { forwardRef, useEffect, useId, useRef } from \"react\";\nimport { cx } from \"../../../utils/cx\";\nimport { mergeRefs } from \"../../../utils/refs\";\nimport styles from \"./BlockCheckbox.module.css\";\nimport type { BlockCheckboxProps } from \"./BlockCheckbox.types\";\n\n/** Native checkbox with a pixel block box. */\nexport const BlockCheckbox = forwardRef<HTMLInputElement, BlockCheckboxProps>(\n function BlockCheckbox(\n {\n id,\n label,\n description,\n indeterminate = false,\n error,\n className,\n disabled,\n \"aria-describedby\": ariaDescribedBy,\n ...rest\n },\n ref,\n ) {\n const generated = useId();\n const inputId = id ?? `block-checkbox-${generated}`;\n const descriptionId = description ? `${inputId}-description` : undefined;\n const errorId = error ? `${inputId}-error` : undefined;\n const inner = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (inner.current) inner.current.indeterminate = indeterminate;\n }, [indeterminate]);\n\n return (\n <div className={cx(styles.root, className)} data-disabled={disabled || undefined}>\n <span className={styles.control}>\n <input\n ref={mergeRefs(inner, ref)}\n id={inputId}\n type=\"checkbox\"\n disabled={disabled}\n aria-invalid={error ? true : undefined}\n aria-describedby={cx(errorId, descriptionId, ariaDescribedBy) || undefined}\n className={styles.input}\n data-indeterminate={indeterminate || undefined}\n {...rest}\n />\n <span className={styles.box} aria-hidden=\"true\">\n <span className={styles.check}>\n <CheckIcon size={16} />\n </span>\n <span className={styles.dash}>\n <MinusIcon size={16} />\n </span>\n </span>\n </span>\n {label || description || error ? (\n <span className={styles.text}>\n {label ? (\n <label htmlFor={inputId} className={styles.label}>\n {label}\n </label>\n ) : null}\n {description ? (\n <span id={descriptionId} className={styles.description}>\n {description}\n </span>\n ) : null}\n {error ? (\n <span id={errorId} className={styles.error}>\n {error}\n </span>\n ) : null}\n </span>\n ) : null}\n </div>\n );\n },\n);\n"],"mappings":";;;;;;;;AAQA,IAAa,gBAAgB,WAC3B,SAAS,cACP,EACE,IACA,OACA,aACA,gBAAgB,OAChB,OACA,WACA,UACA,oBAAoB,iBACpB,GAAG,QAEL,KACA;CACA,MAAM,YAAY,MAAM;CACxB,MAAM,UAAU,MAAM,kBAAkB;CACxC,MAAM,gBAAgB,cAAc,GAAG,QAAQ,gBAAgB,KAAA;CAC/D,MAAM,UAAU,QAAQ,GAAG,QAAQ,UAAU,KAAA;CAC7C,MAAM,QAAQ,OAAyB,IAAI;CAE3C,gBAAgB;EACd,IAAI,MAAM,SAAS,MAAM,QAAQ,gBAAgB;CACnD,GAAG,CAAC,aAAa,CAAC;CAElB,OACE,qBAAC,OAAD;EAAK,WAAW,GAAGA,6BAAO,MAAM,SAAS;EAAG,iBAAe,YAAY,KAAA;EAAvE,UAAA,CACE,qBAAC,QAAD;GAAM,WAAWA,6BAAO;GAAxB,UAAA,CACE,oBAAC,SAAD;IACE,KAAK,UAAU,OAAO,GAAG;IACzB,IAAI;IACJ,MAAK;IACK;IACV,gBAAc,QAAQ,OAAO,KAAA;IAC7B,oBAAkB,GAAG,SAAS,eAAe,eAAe,KAAK,KAAA;IACjE,WAAWA,6BAAO;IAClB,sBAAoB,iBAAiB,KAAA;IACrC,GAAI;GACL,CAAA,GACD,qBAAC,QAAD;IAAM,WAAWA,6BAAO;IAAK,eAAY;IAAzC,UAAA,CACE,oBAAC,QAAD;KAAM,WAAWA,6BAAO;KACtB,UAAA,oBAAC,WAAD,EAAW,MAAM,GAAK,CAAA;IAClB,CAAA,GACN,oBAAC,QAAD;KAAM,WAAWA,6BAAO;KACtB,UAAA,oBAAC,WAAD,EAAW,MAAM,GAAK,CAAA;IAClB,CAAA,CACF;GACF,CAAA,CAAA;EACL,CAAA,GAAA,SAAS,eAAe,QACvB,qBAAC,QAAD;GAAM,WAAWA,6BAAO;GAAxB,UAAA;IACG,QACC,oBAAC,SAAD;KAAO,SAAS;KAAS,WAAWA,6BAAO;KACxC,UAAA;IACI,CAAA,IACL;IACH,cACC,oBAAC,QAAD;KAAM,IAAI;KAAe,WAAWA,6BAAO;KACxC,UAAA;IACG,CAAA,IACJ;IACH,QACC,oBAAC,QAAD;KAAM,IAAI;KAAS,WAAWA,6BAAO;KAClC,UAAA;IACG,CAAA,IACJ;GACA;EACJ,CAAA,IAAA,IACD;;AAET,CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/components/forms/BlockCheckbox/BlockCheckbox.module.css
|
|
2
|
+
var root = "block-root-Q-ut2";
|
|
3
|
+
var control = "block-control-K8td-";
|
|
4
|
+
var input = "block-input-dsxjm";
|
|
5
|
+
var box = "block-box-Cd5RT";
|
|
6
|
+
var check = "block-check-RXiFN";
|
|
7
|
+
var dash = "block-dash-I49UR";
|
|
8
|
+
var text = "block-text-9Gra0";
|
|
9
|
+
var label = "block-label-7G2-n";
|
|
10
|
+
var description = "block-description-bDlOv";
|
|
11
|
+
var error = "block-error-Dbi0v";
|
|
12
|
+
var BlockCheckbox_module_default = {
|
|
13
|
+
root,
|
|
14
|
+
control,
|
|
15
|
+
input,
|
|
16
|
+
box,
|
|
17
|
+
check,
|
|
18
|
+
dash,
|
|
19
|
+
text,
|
|
20
|
+
label,
|
|
21
|
+
description,
|
|
22
|
+
error
|
|
23
|
+
};
|
|
24
|
+
//#endregion
|
|
25
|
+
export { box, check, control, dash, BlockCheckbox_module_default as default, description, error, input, label, root, text };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=BlockCheckbox.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockCheckbox.module.js","names":[],"sources":["../../../../src/components/forms/BlockCheckbox/BlockCheckbox.module.css"],"sourcesContent":[".root {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--block-space-2);\n}\n\n.control {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n width: 24px;\n height: 24px;\n}\n\n.input {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n opacity: 0;\n cursor: pointer;\n}\n\n.input:disabled {\n cursor: not-allowed;\n}\n\n.box {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n color: var(--block-on-primary);\n background-color: var(--block-slot);\n border: var(--block-border-width-thin) solid var(--block-border);\n box-shadow: inset 2px 2px 0 var(--block-shadow-bevel-dark);\n pointer-events: none;\n}\n\n.check,\n.dash {\n display: none;\n}\n\n.input:checked + .box,\n.input[data-indeterminate] + .box {\n background-color: var(--block-primary);\n box-shadow:\n inset 2px 2px 0 var(--block-primary-light),\n inset -2px -2px 0 var(--block-primary-dark);\n}\n\n.input:checked:not([data-indeterminate]) + .box .check {\n display: inline-flex;\n}\n\n.input[data-indeterminate] + .box .dash {\n display: inline-flex;\n}\n\n.input:hover:not(:disabled) + .box {\n filter: brightness(1.15);\n}\n\n.input:focus-visible + .box {\n outline: 3px solid var(--block-focus);\n outline-offset: 2px;\n}\n\n.input[aria-invalid=\"true\"] + .box {\n border-color: var(--block-redstone-light);\n}\n\n.input:disabled + .box {\n opacity: 0.5;\n}\n\n.text {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding-top: 2px;\n}\n\n.label {\n font-size: var(--block-font-size-md);\n cursor: pointer;\n}\n\n.root[data-disabled] .label {\n color: var(--block-text-muted);\n cursor: not-allowed;\n}\n\n.description {\n font-size: var(--block-font-size-xs);\n color: var(--block-text-muted);\n}\n\n.error {\n font-size: var(--block-font-size-xs);\n font-weight: var(--block-font-weight-bold);\n color: var(--block-redstone-light);\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { InputHTMLAttributes, ReactNode } from "react";
|
|
2
|
+
export interface BlockCheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size"> {
|
|
3
|
+
label?: ReactNode;
|
|
4
|
+
/** Secondary text under the label. */
|
|
5
|
+
description?: ReactNode;
|
|
6
|
+
/** Shows a dash and sets the native `indeterminate` state. */
|
|
7
|
+
indeterminate?: boolean;
|
|
8
|
+
error?: string;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=BlockCheckbox.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockCheckbox.types.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/BlockCheckbox/BlockCheckbox.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5D,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAC9C,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,MAAM,GAAG,MAAM,CAChB;IACC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,sCAAsC;IACtC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/BlockCheckbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { BlockInputProps } from "./BlockInput.types";
|
|
2
|
+
/** Text input in a sunken slot well. */
|
|
3
|
+
export declare const BlockInput: import("react").ForwardRefExoticComponent<BlockInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
4
|
+
//# sourceMappingURL=BlockInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockInput.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/BlockInput/BlockInput.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,wCAAwC;AACxC,eAAO,MAAM,UAAU,8GA2DrB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { cx } from "../../../utils/cx.js";
|
|
2
|
+
import { Field } from "../Field/Field.js";
|
|
3
|
+
import control_module_default from "../Field/control.module.js";
|
|
4
|
+
import BlockInput_module_default from "./BlockInput.module.js";
|
|
5
|
+
import { forwardRef } from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
//#region src/components/forms/BlockInput/BlockInput.tsx
|
|
8
|
+
/** Text input in a sunken slot well. */
|
|
9
|
+
var BlockInput = forwardRef(function BlockInput({ id, label, error, success, helperText, startIcon, endAdornment, className, wrapperClassName, disabled, required, type = "text", "aria-describedby": ariaDescribedBy, ...rest }, ref) {
|
|
10
|
+
return /* @__PURE__ */ jsx(Field, {
|
|
11
|
+
id,
|
|
12
|
+
label,
|
|
13
|
+
error,
|
|
14
|
+
success,
|
|
15
|
+
helperText,
|
|
16
|
+
disabled,
|
|
17
|
+
required,
|
|
18
|
+
className: wrapperClassName,
|
|
19
|
+
children: ({ inputId, describedBy, invalid }) => /* @__PURE__ */ jsxs("div", {
|
|
20
|
+
className: BlockInput_module_default.wrapper,
|
|
21
|
+
children: [
|
|
22
|
+
startIcon ? /* @__PURE__ */ jsx("span", {
|
|
23
|
+
className: BlockInput_module_default.startIcon,
|
|
24
|
+
"aria-hidden": "true",
|
|
25
|
+
children: startIcon
|
|
26
|
+
}) : null,
|
|
27
|
+
/* @__PURE__ */ jsx("input", {
|
|
28
|
+
ref,
|
|
29
|
+
id: inputId,
|
|
30
|
+
type,
|
|
31
|
+
disabled,
|
|
32
|
+
required,
|
|
33
|
+
"aria-invalid": invalid || void 0,
|
|
34
|
+
"aria-describedby": cx(describedBy, ariaDescribedBy) || void 0,
|
|
35
|
+
className: cx(control_module_default.control, BlockInput_module_default.input, Boolean(startIcon) && BlockInput_module_default.hasStart, Boolean(endAdornment) && BlockInput_module_default.hasEnd, className),
|
|
36
|
+
...rest
|
|
37
|
+
}),
|
|
38
|
+
endAdornment ? /* @__PURE__ */ jsx("span", {
|
|
39
|
+
className: BlockInput_module_default.end,
|
|
40
|
+
children: endAdornment
|
|
41
|
+
}) : null
|
|
42
|
+
]
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
//#endregion
|
|
47
|
+
export { BlockInput };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=BlockInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockInput.js","names":["styles","control"],"sources":["../../../../src/components/forms/BlockInput/BlockInput.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { cx } from \"../../../utils/cx\";\nimport { Field } from \"../Field/Field\";\nimport control from \"../Field/control.module.css\";\nimport styles from \"./BlockInput.module.css\";\nimport type { BlockInputProps } from \"./BlockInput.types\";\n\n/** Text input in a sunken slot well. */\nexport const BlockInput = forwardRef<HTMLInputElement, BlockInputProps>(function BlockInput(\n {\n id,\n label,\n error,\n success,\n helperText,\n startIcon,\n endAdornment,\n className,\n wrapperClassName,\n disabled,\n required,\n type = \"text\",\n \"aria-describedby\": ariaDescribedBy,\n ...rest\n },\n ref,\n) {\n return (\n <Field\n id={id}\n label={label}\n error={error}\n success={success}\n helperText={helperText}\n disabled={disabled}\n required={required}\n className={wrapperClassName}\n >\n {({ inputId, describedBy, invalid }) => (\n <div className={styles.wrapper}>\n {startIcon ? (\n <span className={styles.startIcon} aria-hidden=\"true\">\n {startIcon}\n </span>\n ) : null}\n <input\n ref={ref}\n id={inputId}\n type={type}\n disabled={disabled}\n required={required}\n aria-invalid={invalid || undefined}\n aria-describedby={cx(describedBy, ariaDescribedBy) || undefined}\n className={cx(\n control.control,\n styles.input,\n Boolean(startIcon) && styles.hasStart,\n Boolean(endAdornment) && styles.hasEnd,\n className,\n )}\n {...rest}\n />\n {endAdornment ? <span className={styles.end}>{endAdornment}</span> : null}\n </div>\n )}\n </Field>\n );\n});\n"],"mappings":";;;;;;;;AAQA,IAAa,aAAa,WAA8C,SAAS,WAC/E,EACE,IACA,OACA,OACA,SACA,YACA,WACA,cACA,WACA,kBACA,UACA,UACA,OAAO,QACP,oBAAoB,iBACpB,GAAG,QAEL,KACA;CACA,OACE,oBAAC,OAAD;EACM;EACG;EACA;EACE;EACG;EACF;EACA;EACV,WAAW;EAET,WAAA,EAAE,SAAS,aAAa,cACxB,qBAAC,OAAD;GAAK,WAAWA,0BAAO;GAAvB,UAAA;IACG,YACC,oBAAC,QAAD;KAAM,WAAWA,0BAAO;KAAW,eAAY;KAC5C,UAAA;IACG,CAAA,IACJ;IACJ,oBAAC,SAAD;KACO;KACL,IAAI;KACE;KACI;KACA;KACV,gBAAc,WAAW,KAAA;KACzB,oBAAkB,GAAG,aAAa,eAAe,KAAK,KAAA;KACtD,WAAW,GACTC,uBAAQ,SACRD,0BAAO,OACP,QAAQ,SAAS,KAAKA,0BAAO,UAC7B,QAAQ,YAAY,KAAKA,0BAAO,QAChC,SACF;KACA,GAAI;IACL,CAAA;IACA,eAAe,oBAAC,QAAD;KAAM,WAAWA,0BAAO;KAAM,UAAA;IAAmB,CAAA,IAAI;GAClE;;CAEF,CAAA;AAEX,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/components/forms/BlockInput/BlockInput.module.css
|
|
2
|
+
var wrapper = "block-wrapper-nQ33e";
|
|
3
|
+
var input = "block-input-CXZ3n";
|
|
4
|
+
var hasStart = "block-hasStart-eSXZ6";
|
|
5
|
+
var hasEnd = "block-hasEnd-3KogV";
|
|
6
|
+
var startIcon = "block-startIcon-uZ491";
|
|
7
|
+
var end = "block-end-Z0Gqj";
|
|
8
|
+
var BlockInput_module_default = {
|
|
9
|
+
wrapper,
|
|
10
|
+
input,
|
|
11
|
+
hasStart,
|
|
12
|
+
hasEnd,
|
|
13
|
+
startIcon,
|
|
14
|
+
end
|
|
15
|
+
};
|
|
16
|
+
//#endregion
|
|
17
|
+
export { BlockInput_module_default as default, end, hasEnd, hasStart, input, startIcon, wrapper };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=BlockInput.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockInput.module.js","names":[],"sources":["../../../../src/components/forms/BlockInput/BlockInput.module.css"],"sourcesContent":[".wrapper {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.input {\n height: var(--block-size-control-md);\n}\n\n.hasStart {\n padding-left: calc(var(--block-space-3) + 24px);\n}\n\n.hasEnd {\n padding-right: calc(var(--block-space-3) + 32px);\n}\n\n.startIcon {\n position: absolute;\n left: var(--block-space-3);\n display: inline-flex;\n color: var(--block-text-muted);\n pointer-events: none;\n}\n\n.end {\n position: absolute;\n right: var(--block-space-2);\n display: inline-flex;\n align-items: center;\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { InputHTMLAttributes, ReactNode } from "react";
|
|
2
|
+
export interface BlockInputProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
3
|
+
label?: string;
|
|
4
|
+
/** Error message. Sets `aria-invalid` and is announced via `aria-describedby`. */
|
|
5
|
+
error?: string;
|
|
6
|
+
/** Marks the value as valid (green border). */
|
|
7
|
+
success?: boolean;
|
|
8
|
+
helperText?: string;
|
|
9
|
+
/** Icon shown inside the field, before the text. */
|
|
10
|
+
startIcon?: ReactNode;
|
|
11
|
+
/** Element shown inside the field, after the text. */
|
|
12
|
+
endAdornment?: ReactNode;
|
|
13
|
+
/** Class name for the outer field wrapper. */
|
|
14
|
+
wrapperClassName?: string;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=BlockInput.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockInput.types.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/BlockInput/BlockInput.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5D,MAAM,WAAW,eAAgB,SAAQ,mBAAmB,CAAC,gBAAgB,CAAC;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,sDAAsD;IACtD,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/BlockInput/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { BlockRadioGroupProps, BlockRadioProps } from "./BlockRadio.types";
|
|
2
|
+
/** A single native radio. Use inside `BlockRadioGroup` for shared state. */
|
|
3
|
+
export declare const BlockRadio: import("react").ForwardRefExoticComponent<BlockRadioProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
4
|
+
/** Fieldset of radios with a legend. Arrow keys move between options natively. */
|
|
5
|
+
export declare const BlockRadioGroup: import("react").ForwardRefExoticComponent<BlockRadioGroupProps & import("react").RefAttributes<HTMLFieldSetElement>>;
|
|
6
|
+
//# sourceMappingURL=BlockRadio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockRadio.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/BlockRadio/BlockRadio.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGhF,4EAA4E;AAC5E,eAAO,MAAM,UAAU,8GAsDrB,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,eAAe,sHA+E3B,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { cx } from "../../../utils/cx.js";
|
|
2
|
+
import { useControllableState } from "../../../hooks/useControllableState.js";
|
|
3
|
+
import BlockRadio_module_default from "./BlockRadio.module.js";
|
|
4
|
+
import { RadioGroupContext, useRadioGroup } from "./context.js";
|
|
5
|
+
import { forwardRef, useId, useMemo } from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
//#region src/components/forms/BlockRadio/BlockRadio.tsx
|
|
8
|
+
/** A single native radio. Use inside `BlockRadioGroup` for shared state. */
|
|
9
|
+
var BlockRadio = forwardRef(function BlockRadio({ id, label, description, value, className, disabled, onChange, name, checked, ...rest }, ref) {
|
|
10
|
+
const group = useRadioGroup();
|
|
11
|
+
const generated = useId();
|
|
12
|
+
const inputId = id ?? `block-radio-${generated}`;
|
|
13
|
+
const descriptionId = description ? `${inputId}-description` : void 0;
|
|
14
|
+
const isDisabled = Boolean(disabled || group?.disabled);
|
|
15
|
+
const handleChange = (event) => {
|
|
16
|
+
onChange?.(event);
|
|
17
|
+
if (event.target.checked) group?.onSelect(value);
|
|
18
|
+
};
|
|
19
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
20
|
+
className: cx(BlockRadio_module_default.radio, className),
|
|
21
|
+
"data-disabled": isDisabled || void 0,
|
|
22
|
+
"data-invalid": group?.invalid || void 0,
|
|
23
|
+
children: [/* @__PURE__ */ jsxs("span", {
|
|
24
|
+
className: BlockRadio_module_default.control,
|
|
25
|
+
children: [/* @__PURE__ */ jsx("input", {
|
|
26
|
+
ref,
|
|
27
|
+
id: inputId,
|
|
28
|
+
type: "radio",
|
|
29
|
+
name: group?.name ?? name,
|
|
30
|
+
value,
|
|
31
|
+
checked: group ? group.value === value : checked,
|
|
32
|
+
disabled: isDisabled,
|
|
33
|
+
required: group?.required,
|
|
34
|
+
"aria-describedby": descriptionId,
|
|
35
|
+
onChange: handleChange,
|
|
36
|
+
className: BlockRadio_module_default.input,
|
|
37
|
+
...rest
|
|
38
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
39
|
+
className: BlockRadio_module_default.dot,
|
|
40
|
+
"aria-hidden": "true"
|
|
41
|
+
})]
|
|
42
|
+
}), label || description ? /* @__PURE__ */ jsxs("span", {
|
|
43
|
+
className: BlockRadio_module_default.text,
|
|
44
|
+
children: [label ? /* @__PURE__ */ jsx("label", {
|
|
45
|
+
htmlFor: inputId,
|
|
46
|
+
className: BlockRadio_module_default.label,
|
|
47
|
+
children: label
|
|
48
|
+
}) : null, description ? /* @__PURE__ */ jsx("span", {
|
|
49
|
+
id: descriptionId,
|
|
50
|
+
className: BlockRadio_module_default.description,
|
|
51
|
+
children: description
|
|
52
|
+
}) : null]
|
|
53
|
+
}) : null]
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
/** Fieldset of radios with a legend. Arrow keys move between options natively. */
|
|
57
|
+
var BlockRadioGroup = forwardRef(function BlockRadioGroup({ label, name, value, defaultValue = "", onValueChange, options, orientation = "vertical", error, helperText, required = false, disabled = false, className, children, ...rest }, ref) {
|
|
58
|
+
const generated = useId();
|
|
59
|
+
const groupName = name ?? `block-radio-group-${generated}`;
|
|
60
|
+
const [current, setCurrent] = useControllableState({
|
|
61
|
+
value,
|
|
62
|
+
defaultValue,
|
|
63
|
+
onChange: onValueChange
|
|
64
|
+
});
|
|
65
|
+
const helperId = helperText ? `${groupName}-helper` : void 0;
|
|
66
|
+
const errorId = error ? `${groupName}-error` : void 0;
|
|
67
|
+
const context = useMemo(() => ({
|
|
68
|
+
name: groupName,
|
|
69
|
+
value: current,
|
|
70
|
+
disabled,
|
|
71
|
+
invalid: Boolean(error),
|
|
72
|
+
required,
|
|
73
|
+
onSelect: setCurrent
|
|
74
|
+
}), [
|
|
75
|
+
groupName,
|
|
76
|
+
current,
|
|
77
|
+
disabled,
|
|
78
|
+
error,
|
|
79
|
+
required,
|
|
80
|
+
setCurrent
|
|
81
|
+
]);
|
|
82
|
+
return /* @__PURE__ */ jsxs("fieldset", {
|
|
83
|
+
ref,
|
|
84
|
+
disabled,
|
|
85
|
+
"aria-invalid": Boolean(error) || void 0,
|
|
86
|
+
"aria-describedby": cx(errorId, helperId) || void 0,
|
|
87
|
+
className: cx(BlockRadio_module_default.group, className),
|
|
88
|
+
...rest,
|
|
89
|
+
children: [
|
|
90
|
+
label ? /* @__PURE__ */ jsx("legend", {
|
|
91
|
+
className: BlockRadio_module_default.legend,
|
|
92
|
+
children: label
|
|
93
|
+
}) : null,
|
|
94
|
+
/* @__PURE__ */ jsx("div", {
|
|
95
|
+
className: cx(BlockRadio_module_default.options, orientation === "horizontal" && BlockRadio_module_default.horizontal),
|
|
96
|
+
children: /* @__PURE__ */ jsxs(RadioGroupContext.Provider, {
|
|
97
|
+
value: context,
|
|
98
|
+
children: [options?.map((option) => /* @__PURE__ */ jsx(BlockRadio, {
|
|
99
|
+
value: option.value,
|
|
100
|
+
label: option.label,
|
|
101
|
+
description: option.description,
|
|
102
|
+
disabled: option.disabled
|
|
103
|
+
}, option.value)), children]
|
|
104
|
+
})
|
|
105
|
+
}),
|
|
106
|
+
error ? /* @__PURE__ */ jsx("p", {
|
|
107
|
+
id: errorId,
|
|
108
|
+
className: BlockRadio_module_default.error,
|
|
109
|
+
children: error
|
|
110
|
+
}) : null,
|
|
111
|
+
helperText ? /* @__PURE__ */ jsx("p", {
|
|
112
|
+
id: helperId,
|
|
113
|
+
className: BlockRadio_module_default.helper,
|
|
114
|
+
children: helperText
|
|
115
|
+
}) : null
|
|
116
|
+
]
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
//#endregion
|
|
120
|
+
export { BlockRadio, BlockRadioGroup };
|
|
121
|
+
|
|
122
|
+
//# sourceMappingURL=BlockRadio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockRadio.js","names":["styles"],"sources":["../../../../src/components/forms/BlockRadio/BlockRadio.tsx"],"sourcesContent":["import { forwardRef, useId, useMemo, type ChangeEvent } from \"react\";\nimport { useControllableState } from \"../../../hooks/useControllableState\";\nimport { cx } from \"../../../utils/cx\";\nimport styles from \"./BlockRadio.module.css\";\nimport type { BlockRadioGroupProps, BlockRadioProps } from \"./BlockRadio.types\";\nimport { RadioGroupContext, useRadioGroup, type RadioGroupContextValue } from \"./context\";\n\n/** A single native radio. Use inside `BlockRadioGroup` for shared state. */\nexport const BlockRadio = forwardRef<HTMLInputElement, BlockRadioProps>(function BlockRadio(\n { id, label, description, value, className, disabled, onChange, name, checked, ...rest },\n ref,\n) {\n const group = useRadioGroup();\n const generated = useId();\n const inputId = id ?? `block-radio-${generated}`;\n const descriptionId = description ? `${inputId}-description` : undefined;\n const isDisabled = Boolean(disabled || group?.disabled);\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n onChange?.(event);\n if (event.target.checked) group?.onSelect(value);\n };\n\n return (\n <div\n className={cx(styles.radio, className)}\n data-disabled={isDisabled || undefined}\n data-invalid={group?.invalid || undefined}\n >\n <span className={styles.control}>\n <input\n ref={ref}\n id={inputId}\n type=\"radio\"\n name={group?.name ?? name}\n value={value}\n checked={group ? group.value === value : checked}\n disabled={isDisabled}\n required={group?.required}\n aria-describedby={descriptionId}\n onChange={handleChange}\n className={styles.input}\n {...rest}\n />\n <span className={styles.dot} aria-hidden=\"true\" />\n </span>\n {label || description ? (\n <span className={styles.text}>\n {label ? (\n <label htmlFor={inputId} className={styles.label}>\n {label}\n </label>\n ) : null}\n {description ? (\n <span id={descriptionId} className={styles.description}>\n {description}\n </span>\n ) : null}\n </span>\n ) : null}\n </div>\n );\n});\n\n/** Fieldset of radios with a legend. Arrow keys move between options natively. */\nexport const BlockRadioGroup = forwardRef<HTMLFieldSetElement, BlockRadioGroupProps>(\n function BlockRadioGroup(\n {\n label,\n name,\n value,\n defaultValue = \"\",\n onValueChange,\n options,\n orientation = \"vertical\",\n error,\n helperText,\n required = false,\n disabled = false,\n className,\n children,\n ...rest\n },\n ref,\n ) {\n const generated = useId();\n const groupName = name ?? `block-radio-group-${generated}`;\n const [current, setCurrent] = useControllableState({\n value,\n defaultValue,\n onChange: onValueChange,\n });\n const helperId = helperText ? `${groupName}-helper` : undefined;\n const errorId = error ? `${groupName}-error` : undefined;\n\n const context = useMemo<RadioGroupContextValue>(\n () => ({\n name: groupName,\n value: current,\n disabled,\n invalid: Boolean(error),\n required,\n onSelect: setCurrent,\n }),\n [groupName, current, disabled, error, required, setCurrent],\n );\n\n return (\n <fieldset\n ref={ref}\n disabled={disabled}\n aria-invalid={Boolean(error) || undefined}\n aria-describedby={cx(errorId, helperId) || undefined}\n className={cx(styles.group, className)}\n {...rest}\n >\n {label ? <legend className={styles.legend}>{label}</legend> : null}\n <div className={cx(styles.options, orientation === \"horizontal\" && styles.horizontal)}>\n <RadioGroupContext.Provider value={context}>\n {options?.map((option) => (\n <BlockRadio\n key={option.value}\n value={option.value}\n label={option.label}\n description={option.description}\n disabled={option.disabled}\n />\n ))}\n {children}\n </RadioGroupContext.Provider>\n </div>\n {error ? (\n <p id={errorId} className={styles.error}>\n {error}\n </p>\n ) : null}\n {helperText ? (\n <p id={helperId} className={styles.helper}>\n {helperText}\n </p>\n ) : null}\n </fieldset>\n );\n },\n);\n"],"mappings":";;;;;;;;AAQA,IAAa,aAAa,WAA8C,SAAS,WAC/E,EAAE,IAAI,OAAO,aAAa,OAAO,WAAW,UAAU,UAAU,MAAM,SAAS,GAAG,QAClF,KACA;CACA,MAAM,QAAQ,cAAc;CAC5B,MAAM,YAAY,MAAM;CACxB,MAAM,UAAU,MAAM,eAAe;CACrC,MAAM,gBAAgB,cAAc,GAAG,QAAQ,gBAAgB,KAAA;CAC/D,MAAM,aAAa,QAAQ,YAAY,OAAO,QAAQ;CAEtD,MAAM,gBAAgB,UAAyC;EAC7D,WAAW,KAAK;EAChB,IAAI,MAAM,OAAO,SAAS,OAAO,SAAS,KAAK;CACjD;CAEA,OACE,qBAAC,OAAD;EACE,WAAW,GAAGA,0BAAO,OAAO,SAAS;EACrC,iBAAe,cAAc,KAAA;EAC7B,gBAAc,OAAO,WAAW,KAAA;EAHlC,UAAA,CAKE,qBAAC,QAAD;GAAM,WAAWA,0BAAO;GAAxB,UAAA,CACE,oBAAC,SAAD;IACO;IACL,IAAI;IACJ,MAAK;IACL,MAAM,OAAO,QAAQ;IACd;IACP,SAAS,QAAQ,MAAM,UAAU,QAAQ;IACzC,UAAU;IACV,UAAU,OAAO;IACjB,oBAAkB;IAClB,UAAU;IACV,WAAWA,0BAAO;IAClB,GAAI;GACL,CAAA,GACD,oBAAC,QAAD;IAAM,WAAWA,0BAAO;IAAK,eAAY;GAAQ,CAAA,CAC7C;EACL,CAAA,GAAA,SAAS,cACR,qBAAC,QAAD;GAAM,WAAWA,0BAAO;GAAxB,UAAA,CACG,QACC,oBAAC,SAAD;IAAO,SAAS;IAAS,WAAWA,0BAAO;IACxC,UAAA;GACI,CAAA,IACL,MACH,cACC,oBAAC,QAAD;IAAM,IAAI;IAAe,WAAWA,0BAAO;IACxC,UAAA;GACG,CAAA,IACJ,IACA;EACJ,CAAA,IAAA,IACD;;AAET,CAAC;;AAGD,IAAa,kBAAkB,WAC7B,SAAS,gBACP,EACE,OACA,MACA,OACA,eAAe,IACf,eACA,SACA,cAAc,YACd,OACA,YACA,WAAW,OACX,WAAW,OACX,WACA,UACA,GAAG,QAEL,KACA;CACA,MAAM,YAAY,MAAM;CACxB,MAAM,YAAY,QAAQ,qBAAqB;CAC/C,MAAM,CAAC,SAAS,cAAc,qBAAqB;EACjD;EACA;EACA,UAAU;CACZ,CAAC;CACD,MAAM,WAAW,aAAa,GAAG,UAAU,WAAW,KAAA;CACtD,MAAM,UAAU,QAAQ,GAAG,UAAU,UAAU,KAAA;CAE/C,MAAM,UAAU,eACP;EACL,MAAM;EACN,OAAO;EACP;EACA,SAAS,QAAQ,KAAK;EACtB;EACA,UAAU;CACZ,IACA;EAAC;EAAW;EAAS;EAAU;EAAO;EAAU;CAAU,CAC5D;CAEA,OACE,qBAAC,YAAD;EACO;EACK;EACV,gBAAc,QAAQ,KAAK,KAAK,KAAA;EAChC,oBAAkB,GAAG,SAAS,QAAQ,KAAK,KAAA;EAC3C,WAAW,GAAGA,0BAAO,OAAO,SAAS;EACrC,GAAI;EANN,UAAA;GAQG,QAAQ,oBAAC,UAAD;IAAQ,WAAWA,0BAAO;IAAS,UAAA;GAAc,CAAA,IAAI;GAC9D,oBAAC,OAAD;IAAK,WAAW,GAAGA,0BAAO,SAAS,gBAAgB,gBAAgBA,0BAAO,UAAU;IAClF,UAAA,qBAAC,kBAAkB,UAAnB;KAA4B,OAAO;KAAnC,UAAA,CACG,SAAS,KAAK,WACb,oBAAC,YAAD;MAEE,OAAO,OAAO;MACd,OAAO,OAAO;MACd,aAAa,OAAO;MACpB,UAAU,OAAO;KAClB,GALM,OAAO,KAKb,CACF,GACA,QACyB;;GACzB,CAAA;GACJ,QACC,oBAAC,KAAD;IAAG,IAAI;IAAS,WAAWA,0BAAO;IAC/B,UAAA;GACA,CAAA,IACD;GACH,aACC,oBAAC,KAAD;IAAG,IAAI;IAAU,WAAWA,0BAAO;IAChC,UAAA;GACA,CAAA,IACD;EACI;;AAEd,CACF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
//#region src/components/forms/BlockRadio/BlockRadio.module.css
|
|
2
|
+
var group = "block-group-Q6sE6";
|
|
3
|
+
var legend = "block-legend-UYbkM";
|
|
4
|
+
var options = "block-options-sH-33";
|
|
5
|
+
var horizontal = "block-horizontal-zVmM-";
|
|
6
|
+
var radio = "block-radio-zzmzc";
|
|
7
|
+
var control = "block-control--DUVX";
|
|
8
|
+
var input = "block-input-h8Dzm";
|
|
9
|
+
var dot = "block-dot-mhb3S";
|
|
10
|
+
var text = "block-text-Jjo2b";
|
|
11
|
+
var label = "block-label-La3hW";
|
|
12
|
+
var description = "block-description-TyJNT";
|
|
13
|
+
var helper = "block-helper-duhtD";
|
|
14
|
+
var error = "block-error-WoO57";
|
|
15
|
+
var BlockRadio_module_default = {
|
|
16
|
+
group,
|
|
17
|
+
legend,
|
|
18
|
+
options,
|
|
19
|
+
horizontal,
|
|
20
|
+
radio,
|
|
21
|
+
control,
|
|
22
|
+
input,
|
|
23
|
+
dot,
|
|
24
|
+
text,
|
|
25
|
+
label,
|
|
26
|
+
description,
|
|
27
|
+
helper,
|
|
28
|
+
error
|
|
29
|
+
};
|
|
30
|
+
//#endregion
|
|
31
|
+
export { control, BlockRadio_module_default as default, description, dot, error, group, helper, horizontal, input, label, legend, options, radio, text };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=BlockRadio.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockRadio.module.js","names":[],"sources":["../../../../src/components/forms/BlockRadio/BlockRadio.module.css"],"sourcesContent":[".group {\n display: flex;\n flex-direction: column;\n gap: var(--block-space-2);\n min-width: 0;\n margin: 0;\n padding: 0;\n border: 0;\n}\n\n.legend {\n margin-bottom: var(--block-space-2);\n padding: 0;\n font-size: var(--block-font-size-sm);\n font-weight: var(--block-font-weight-medium);\n color: var(--block-text);\n}\n\n.options {\n display: flex;\n flex-direction: column;\n gap: var(--block-space-2);\n}\n\n.horizontal {\n flex-direction: row;\n flex-wrap: wrap;\n gap: var(--block-space-2) var(--block-space-4);\n}\n\n.radio {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--block-space-2);\n}\n\n.control {\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n width: 22px;\n height: 22px;\n}\n\n.input {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n opacity: 0;\n cursor: pointer;\n}\n\n.input:disabled {\n cursor: not-allowed;\n}\n\n/* Octagonal pixel \"circle\". */\n.dot {\n position: relative;\n width: 100%;\n height: 100%;\n background-color: var(--block-border);\n clip-path: polygon(30% 0, 70% 0, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0 70%, 0 30%);\n pointer-events: none;\n}\n\n.dot::before {\n content: \"\";\n position: absolute;\n inset: 2px;\n background-color: var(--block-slot);\n clip-path: inherit;\n}\n\n.dot::after {\n content: \"\";\n position: absolute;\n inset: 6px;\n background-color: var(--block-primary);\n opacity: 0;\n}\n\n.input:checked + .dot::after {\n opacity: 1;\n}\n\n.input:hover:not(:disabled) + .dot {\n filter: brightness(1.3);\n}\n\n.input:focus-visible + .dot {\n background-color: var(--block-focus);\n}\n\n.radio[data-invalid] .dot,\n.input[aria-invalid=\"true\"] + .dot {\n background-color: var(--block-redstone-light);\n}\n\n.input:disabled + .dot {\n opacity: 0.5;\n}\n\n.text {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding-top: 1px;\n}\n\n.label {\n font-size: var(--block-font-size-md);\n cursor: pointer;\n}\n\n.radio[data-disabled] .label {\n color: var(--block-text-muted);\n cursor: not-allowed;\n}\n\n.description,\n.helper {\n margin: 0;\n font-size: var(--block-font-size-xs);\n color: var(--block-text-muted);\n}\n\n.error {\n margin: 0;\n font-size: var(--block-font-size-xs);\n font-weight: var(--block-font-weight-bold);\n color: var(--block-redstone-light);\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { FieldsetHTMLAttributes, InputHTMLAttributes, ReactNode } from "react";
|
|
2
|
+
export interface BlockRadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size"> {
|
|
3
|
+
label?: ReactNode;
|
|
4
|
+
description?: ReactNode;
|
|
5
|
+
value: string;
|
|
6
|
+
}
|
|
7
|
+
export interface BlockRadioOption {
|
|
8
|
+
value: string;
|
|
9
|
+
label: ReactNode;
|
|
10
|
+
description?: ReactNode;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface BlockRadioGroupProps extends Omit<FieldsetHTMLAttributes<HTMLFieldSetElement>, "onChange" | "defaultValue"> {
|
|
14
|
+
/** Group label rendered as the `<legend>`. */
|
|
15
|
+
label?: ReactNode;
|
|
16
|
+
/** Shared `name` for the native radios. Generated when omitted. */
|
|
17
|
+
name?: string;
|
|
18
|
+
value?: string;
|
|
19
|
+
defaultValue?: string;
|
|
20
|
+
onValueChange?: (value: string) => void;
|
|
21
|
+
options?: BlockRadioOption[];
|
|
22
|
+
/** @default "vertical" */
|
|
23
|
+
orientation?: "horizontal" | "vertical";
|
|
24
|
+
error?: string;
|
|
25
|
+
helperText?: string;
|
|
26
|
+
required?: boolean;
|
|
27
|
+
children?: ReactNode;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=BlockRadio.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockRadio.types.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/BlockRadio/BlockRadio.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpF,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,MAAM,GAAG,MAAM,CAChB;IACC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,sBAAsB,CAAC,mBAAmB,CAAC,EAC3C,UAAU,GAAG,cAAc,CAC5B;IACC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,0BAA0B;IAC1B,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface RadioGroupContextValue {
|
|
2
|
+
name: string;
|
|
3
|
+
value: string;
|
|
4
|
+
disabled: boolean;
|
|
5
|
+
invalid: boolean;
|
|
6
|
+
required: boolean;
|
|
7
|
+
onSelect: (value: string) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const RadioGroupContext: import("react").Context<RadioGroupContextValue | null>;
|
|
10
|
+
export declare function useRadioGroup(): RadioGroupContextValue | null;
|
|
11
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/BlockRadio/context.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,iBAAiB,wDAAqD,CAAC;AAEpF,wBAAgB,aAAa,IAAI,sBAAsB,GAAG,IAAI,CAE7D"}
|