ProgressDemo.svelte 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <!--Progress Demo-->
  2. <script>
  3. import { Progress, Button } from '../../../../packages/stdf';
  4. let percent = 20;
  5. const changePercentFun = type => {
  6. if (type === '+10') {
  7. percent += 10;
  8. if (percent > 100) {
  9. percent = 100;
  10. }
  11. } else {
  12. percent -= 10;
  13. if (percent < 0) {
  14. percent = 0;
  15. }
  16. }
  17. };
  18. </script>
  19. <div class="px-4 pb-8">
  20. <div class="m-4 mt-8 font-bold text-lg">基础用法</div>
  21. <Progress />
  22. <div class="m-4 mt-8 font-bold text-lg">不同高度</div>
  23. <div class="flex flex-col space-y-4">
  24. <Progress height="1" />
  25. <Progress height="2" />
  26. <Progress height="3" />
  27. <Progress height="4" />
  28. </div>
  29. <div class="m-4 mt-8 font-bold text-lg">百分比不同位置</div>
  30. <div class="flex flex-col space-y-4">
  31. <Progress />
  32. <Progress percentPosition="inner" />
  33. <Progress percentPosition="block" />
  34. <Progress percentPosition="none" />
  35. </div>
  36. <div class="m-4 mt-8 font-bold text-lg">不同圆角风格</div>
  37. <div class="flex flex-col space-y-4">
  38. <Progress radius="none" />
  39. <Progress radius="base" />
  40. <Progress radius="none" percentPosition="block" />
  41. <Progress radius="base" percentPosition="block" />
  42. <Progress percentPosition="block" />
  43. </div>
  44. <div class="m-4 mt-8 font-bold text-lg">置灰</div>
  45. <div class="flex flex-col space-y-4">
  46. <Progress inactive />
  47. <Progress inactive percentPosition="block" />
  48. </div>
  49. <div class="m-4 mt-8 font-bold text-lg">过渡效果</div>
  50. <div class="flex flex-col space-y-4 mb-4 px-2">
  51. <Progress {percent} />
  52. <Progress {percent} percentPosition="inner" />
  53. <Progress {percent} percentPosition="block" />
  54. <Progress {percent} duration="500" />
  55. <Progress {percent} duration="1000" />
  56. </div>
  57. <Button heightIn="0" group size="full">
  58. <div class="flex">
  59. <!-- svelte-ignore a11y-click-events-have-key-events -->
  60. <div class="flex-1 border-r py-2 active:opacity-80" on:click={() => changePercentFun('-10')}>进度 -10</div>
  61. <!-- svelte-ignore a11y-click-events-have-key-events -->
  62. <div class="flex-1 border-r py-2 active:opacity-80" on:click={() => changePercentFun('+10')}>进度 +10</div>
  63. <!-- svelte-ignore a11y-click-events-have-key-events -->
  64. <div class="flex-1 py-2 active:opacity-80" on:click={() => (percent = 20)}>重置</div>
  65. </div>
  66. </Button>
  67. <div class="m-4 mt-8 font-bold text-lg">自定义颜色</div>
  68. <div class="flex flex-col space-y-4">
  69. <Progress injClass="bg-success dark:bg-error" />
  70. <Progress injClass="bg-gradient-to-r from-[#CE9FFC] to-[#7367F0]" />
  71. <Progress percentPosition="block" injClass="bg-orange" />
  72. <Progress trackInjClass="!bg-primary/20 dark:!bg-dark/20" />
  73. </div>
  74. <div class="m-4 mt-8 font-bold text-lg">自定义文字</div>
  75. <div class="flex flex-col space-y-4">
  76. <Progress useSlot>
  77. <div class="text-xs whitespace-nowrap">已完成 2/3</div>
  78. </Progress>
  79. <Progress useSlot percentPosition="block">
  80. <div class="text-xs whitespace-nowrap">已完成 2/3</div>
  81. </Progress>
  82. </div>
  83. </div>