09-RadioButton.stories.tsx 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import React, { useState } from "react"
  2. import { RadioButton } from "./../src"
  3. export default {
  4. title: "RadioButton",
  5. component: RadioButton,
  6. }
  7. export const Primary = () => {
  8. const [isSelected, setIsSelected] = useState(false)
  9. return (
  10. <div style={{ backgroundColor: "black", padding: "50px 20px" }}>
  11. <RadioButton selected={isSelected} onClick={() => setIsSelected(!isSelected)} />
  12. </div>
  13. )
  14. }
  15. export const SelectedDisabled = () => {
  16. const [isSelected, setIsSelected] = useState(true)
  17. return (
  18. <div style={{ backgroundColor: "black", padding: "50px 20px" }}>
  19. <RadioButton selected={isSelected} disabled={true} onClick={() => setIsSelected(!isSelected)} />
  20. </div>
  21. )
  22. }
  23. export const UnselectedDisabled = () => {
  24. const [isSelected, setIsSelected] = useState(false)
  25. return (
  26. <div style={{ backgroundColor: "black", padding: "50px 20px" }}>
  27. <RadioButton selected={isSelected} disabled={true} onClick={() => setIsSelected(!isSelected)} />
  28. </div>
  29. )
  30. }
  31. export const Error = () => {
  32. const [isSelected, setIsSelected] = useState(false)
  33. return (
  34. <div style={{ backgroundColor: "black", padding: "50px 20px" }}>
  35. <RadioButton selected={isSelected} error={true} onClick={() => setIsSelected(!isSelected)} />
  36. </div>
  37. )
  38. }
  39. export const WithLabel = () => {
  40. const [isSelected, setIsSelected] = useState(false)
  41. return (
  42. <div style={{ backgroundColor: "black", padding: "50px 20px" }}>
  43. <RadioButton label="Label" selected={isSelected} onClick={() => setIsSelected(!isSelected)} />
  44. </div>
  45. )
  46. }
  47. export const WithLabelStart = () => {
  48. const [isSelected, setIsSelected] = useState(false)
  49. return (
  50. <div style={{ backgroundColor: "black", padding: "50px 20px" }}>
  51. <RadioButton label="Label" position="start" selected={isSelected} onClick={() => setIsSelected(!isSelected)} />
  52. </div>
  53. )
  54. }
  55. export const WithLabelBottom = () => {
  56. const [isSelected, setIsSelected] = useState(false)
  57. return (
  58. <div style={{ backgroundColor: "black", padding: "50px 20px" }}>
  59. <RadioButton label="A longer label than normal" position="bottom" selected={isSelected} onClick={() => setIsSelected(!isSelected)} />
  60. </div>
  61. )
  62. }
  63. export const WithLabelTop = () => {
  64. const [isSelected, setIsSelected] = useState(false)
  65. return (
  66. <div style={{ backgroundColor: "black", padding: "50px 20px" }}>
  67. <RadioButton label="A longer label than normal" position="top" selected={isSelected} onClick={() => setIsSelected(!isSelected)} />
  68. </div>
  69. )
  70. }