@lynx-example/lynx-ui-swiper 0.0.4 → 0.0.6

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.
Files changed (78) hide show
  1. package/Basic/index.tsx +3 -3
  2. package/Basic/styles.css +1 -1
  3. package/BasicDynamic/index.tsx +66 -74
  4. package/BasicUpdateSize/index.tsx +65 -75
  5. package/Bounces/index.tsx +71 -55
  6. package/Bounces/styles.css +36 -27
  7. package/CHANGELOG.md +18 -0
  8. package/Common/Demo/styles.css +113 -0
  9. package/Custom/index.tsx +43 -41
  10. package/CustomScale/index.tsx +44 -42
  11. package/CustomTinder/index.tsx +2 -2
  12. package/CustomTinder/styles.css +1 -1
  13. package/DifferentHeight/Button.tsx +1 -29
  14. package/DifferentHeight/index.tsx +4 -4
  15. package/DifferentHeight/styles.css +1 -1
  16. package/Direction/index.tsx +97 -105
  17. package/EmptyDataBug/index.tsx +14 -13
  18. package/EmptyDataBug/styles.css +19 -12
  19. package/Indicator/index.tsx +56 -50
  20. package/Lazy/index.tsx +69 -65
  21. package/Loop/index.tsx +45 -42
  22. package/RTL/Button.tsx +1 -29
  23. package/RTL/index.tsx +74 -83
  24. package/RTLCustom/index.tsx +45 -43
  25. package/RTLLoop/Button.tsx +1 -29
  26. package/RTLLoop/index.tsx +57 -66
  27. package/RTLLoopLynxRTL/Button.tsx +1 -29
  28. package/RTLLoopLynxRTL/index.tsx +57 -66
  29. package/WithGap/Button.tsx +1 -29
  30. package/WithGap/index.tsx +57 -68
  31. package/dist/SwiperBasic.lynx.bundle +0 -0
  32. package/dist/SwiperBasic.web.bundle +1 -1
  33. package/dist/SwiperBasicDynamic.lynx.bundle +0 -0
  34. package/dist/SwiperBasicDynamic.web.bundle +1 -1
  35. package/dist/SwiperBasicUpdateSize.lynx.bundle +0 -0
  36. package/dist/SwiperBasicUpdateSize.web.bundle +1 -1
  37. package/dist/SwiperBounces.lynx.bundle +0 -0
  38. package/dist/SwiperBounces.web.bundle +1 -1
  39. package/dist/SwiperCustom.lynx.bundle +0 -0
  40. package/dist/SwiperCustom.web.bundle +1 -1
  41. package/dist/SwiperCustomScale.lynx.bundle +0 -0
  42. package/dist/SwiperCustomScale.web.bundle +1 -1
  43. package/dist/SwiperCustomTinder.lynx.bundle +0 -0
  44. package/dist/SwiperCustomTinder.web.bundle +1 -1
  45. package/dist/SwiperDifferentHeight.lynx.bundle +0 -0
  46. package/dist/SwiperDifferentHeight.web.bundle +1 -1
  47. package/dist/SwiperEmptyDataBug.lynx.bundle +0 -0
  48. package/dist/SwiperEmptyDataBug.web.bundle +1 -1
  49. package/dist/SwiperIndicator.lynx.bundle +0 -0
  50. package/dist/SwiperIndicator.web.bundle +1 -1
  51. package/dist/SwiperLazy.lynx.bundle +0 -0
  52. package/dist/SwiperLazy.web.bundle +1 -1
  53. package/dist/SwiperLoop.lynx.bundle +0 -0
  54. package/dist/SwiperLoop.web.bundle +1 -1
  55. package/dist/SwiperRTL.lynx.bundle +0 -0
  56. package/dist/SwiperRTL.web.bundle +1 -1
  57. package/dist/SwiperRTLCustom.lynx.bundle +0 -0
  58. package/dist/SwiperRTLCustom.web.bundle +1 -1
  59. package/dist/SwiperRTLLoop.lynx.bundle +0 -0
  60. package/dist/SwiperRTLLoop.web.bundle +1 -1
  61. package/dist/SwiperRTLLynxRTL.lynx.bundle +0 -0
  62. package/dist/SwiperRTLLynxRTL.web.bundle +1 -1
  63. package/dist/SwiperWithGap.lynx.bundle +0 -0
  64. package/dist/SwiperWithGap.web.bundle +1 -1
  65. package/package.json +6 -6
  66. package/BasicDynamic/styles.css +0 -47
  67. package/BasicUpdateSize/styles.css +0 -47
  68. package/Custom/styles.css +0 -47
  69. package/CustomScale/styles.css +0 -41
  70. package/Direction/styles.css +0 -41
  71. package/Indicator/styles.css +0 -41
  72. package/Lazy/styles.css +0 -41
  73. package/Loop/styles.css +0 -41
  74. package/RTL/styles.css +0 -41
  75. package/RTLCustom/styles.css +0 -41
  76. package/RTLLoop/styles.css +0 -41
  77. package/RTLLoopLynxRTL/styles.css +0 -41
  78. package/WithGap/styles.css +0 -47
@@ -7,19 +7,13 @@ import { root, useRef, useState } from '@lynx-js/react'
7
7
  import { Swiper, SwiperItem } from '@lynx-js/lynx-ui'
8
8
  import type { SwiperRef } from '@lynx-js/lynx-ui'
9
9
 
10
- import './styles.css'
10
+ import { Button } from '../Common/Button'
11
+ import { Card } from '../Common/Card'
12
+ import { Indicator } from '../Common/Indicator'
11
13
 
12
- import { Button } from './Button'
14
+ import '../Common/Demo/styles.css'
13
15
 
14
- const colorsArr: string[] = [
15
- 'red',
16
- 'green',
17
- 'yellow',
18
- 'purple',
19
- 'lightblue',
20
- 'lightgreen',
21
- 'lightyellow',
22
- ]
16
+ const itemArr: number[] = [1, 2, 3, 4, 5, 6, 7]
23
17
 
24
18
  const itemWidths = [250, 350, 400]
25
19
  const alignArr: ['start', 'center', 'end'] = ['start', 'center', 'end']
@@ -31,81 +25,78 @@ function SwiperEntry(): JSX.Element {
31
25
  const swiperRef = useRef<SwiperRef>(null)
32
26
 
33
27
  return (
34
- <view id='container'>
35
- <Swiper
36
- ref={swiperRef}
37
- data={colorsArr}
38
- itemWidth={itemWidths[itemWidthsIndex] ?? 0}
39
- itemHeight={200}
40
- duration={500}
41
- initialIndex={0}
42
- onChange={setCurrentIndex}
43
- mode='normal'
44
- modeConfig={{
45
- align: alignArr[alignIndex] ?? 'start',
46
- spaceBetween: 8,
47
- }}
48
- RTL={'lynx-rtl'}
49
- loop={true}
50
- >
51
- {({ item, index, realIndex }) => (
52
- <SwiperItem index={index} key={realIndex} realIndex={realIndex}>
53
- <view
54
- class='block-view'
55
- style={{
56
- width: '100%',
57
- height: '100%',
58
- backgroundColor: item,
59
- display: 'flex',
60
- justifyContent: 'center',
61
- alignItems: 'center',
62
- }}
63
- >
64
- <view
28
+ <view className='demo-container lunaris-dark'>
29
+ <view className='top-area' />
30
+ <view className='content-area'>
31
+ <Swiper
32
+ ref={swiperRef}
33
+ data={itemArr}
34
+ itemWidth={itemWidths[itemWidthsIndex] ?? 0}
35
+ itemHeight={250}
36
+ containerWidth={lynx.__globalProps.screenWidth - 32
37
+ || SystemInfo.pixelWidth / SystemInfo.pixelRatio - 32}
38
+ duration={500}
39
+ initialIndex={0}
40
+ onChange={setCurrentIndex}
41
+ mode='normal'
42
+ modeConfig={{
43
+ align: alignArr[alignIndex] ?? 'start',
44
+ spaceBetween: 16,
45
+ }}
46
+ RTL={'lynx-rtl'}
47
+ loop={true}
48
+ style={{
49
+ overflow: 'visible',
50
+ }}
51
+ >
52
+ {({ index }) => (
53
+ <SwiperItem>
54
+ <Card
55
+ index={index}
65
56
  style={{
66
- backgroundColor: 'white',
67
- width: '4px',
68
- height: '4px',
57
+ height: '250px',
69
58
  }}
70
- >
71
- </view>
72
- </view>
73
- <text class='image-text'>Number.{index}</text>
74
- </SwiperItem>
75
- )}
76
- </Swiper>
77
- <view class='operation'>
78
- <view class='block'>
79
- <text>Current Index: {currentIndex}</text>
80
- </view>
59
+ />
60
+ </SwiperItem>
61
+ )}
62
+ </Swiper>
63
+ <Indicator
64
+ current={currentIndex}
65
+ count={itemArr.length}
66
+ />
67
+ </view>
68
+ <view className='operation'>
81
69
  <Button
82
70
  onClick={() => {
83
71
  swiperRef.current?.swipePrev()
84
72
  }}
73
+ className='expand'
85
74
  text='SwipePrev'
86
- >
87
- </Button>
75
+ />
88
76
  <Button
89
77
  onClick={() => {
90
78
  swiperRef.current?.swipeNext()
91
79
  }}
80
+ className='expand'
81
+ type='primary'
92
82
  text='SwipeNext'
93
- >
94
- </Button>
83
+ />
84
+ </view>
85
+ <view className='sub-operation'>
95
86
  <Button
96
87
  onClick={() => {
97
88
  setItemWidthsIndex(prev => (prev + 1) % itemWidths.length)
98
89
  }}
99
- text={`itemWidth: ${itemWidths[itemWidthsIndex]}`}
100
- >
101
- </Button>
90
+ text='Change Item Width'
91
+ subText={`ItemWidth: ${itemWidths[itemWidthsIndex]}`}
92
+ />
102
93
  <Button
103
94
  onClick={() => {
104
95
  setAlignIndex(prev => (prev + 1) % itemWidths.length)
105
96
  }}
106
- text={`alignType: ${alignArr[alignIndex]}`}
107
- >
108
- </Button>
97
+ text='Change Align Type'
98
+ subText={`AlignType: ${alignArr[alignIndex]}`}
99
+ />
109
100
  </view>
110
101
  </view>
111
102
  )
@@ -2,32 +2,4 @@
2
2
  // Licensed under the Apache License Version 2.0 that can be found in the
3
3
  // LICENSE file in the root directory of this source tree.
4
4
 
5
- import './styles.css'
6
- import { Button as ButtonInner } from '@lynx-js/lynx-ui'
7
-
8
- const ButtonStyle = {
9
- border: '1px solid',
10
- 'border-radius': '4px',
11
- width: '150px',
12
- 'background-color': 'red',
13
- margin: '4px 8px',
14
- padding: '4px 8px',
15
- }
16
-
17
- const ButtonTextStyle = {
18
- color: 'white',
19
- }
20
-
21
- export function Button(props: {
22
- onClick: () => void
23
- text: string
24
- }) {
25
- return (
26
- <ButtonInner
27
- style={ButtonStyle}
28
- onClick={props.onClick}
29
- >
30
- <text style={ButtonTextStyle}>{props.text}</text>
31
- </ButtonInner>
32
- )
33
- }
5
+ export { Button } from '../Common/Button'
package/WithGap/index.tsx CHANGED
@@ -7,20 +7,13 @@ import { root, useRef, useState } from '@lynx-js/react'
7
7
  import { Swiper, SwiperItem } from '@lynx-js/lynx-ui'
8
8
  import type { SwiperRef } from '@lynx-js/lynx-ui'
9
9
 
10
- import './styles.css'
10
+ import { Button } from '../Common/Button'
11
+ import { Card } from '../Common/Card'
12
+ import { Indicator } from '../Common/Indicator'
11
13
 
12
- import { Button } from './Button'
14
+ import '../Common/Demo/styles.css'
13
15
 
14
- const DEFAULT_COLORS_ARR: string[] = [
15
- 'red',
16
- 'green',
17
- 'yellow',
18
- 'purple',
19
- 'lightgreen',
20
- 'lightyellow',
21
- 'lightblue',
22
- 'gray',
23
- ]
16
+ const itemArr: number[] = [1, 2, 3, 4, 5, 6, 7, 8]
24
17
 
25
18
  const itemWidths = [250, 350, 400]
26
19
  const alignArr: ['start', 'center', 'end'] = ['start', 'center', 'end']
@@ -30,84 +23,80 @@ function SwiperEntry(): JSX.Element {
30
23
  const [alignIndex, setAlignIndex] = useState<number>(0)
31
24
  const [currentIndex, setCurrentIndex] = useState<number>(0)
32
25
  const swiperRef = useRef<SwiperRef>(null)
33
- const [colorsArr, _setColorsArr] = useState<string[]>(DEFAULT_COLORS_ARR)
34
26
 
35
27
  return (
36
- <view id='container'>
37
- <Swiper
38
- ref={swiperRef}
39
- data={colorsArr}
40
- itemWidth={itemWidths[itemWidthsIndex] ?? 0}
41
- itemHeight={200}
42
- duration={500}
43
- initialIndex={0}
44
- onChange={setCurrentIndex}
45
- mode='normal'
46
- loop={false}
47
- autoPlay={true}
48
- modeConfig={{
49
- align: alignArr[alignIndex] ?? 'start',
50
- spaceBetween: 10,
51
- }}
52
- >
53
- {({ item, index, realIndex }) => (
54
- <SwiperItem index={index} key={realIndex} realIndex={realIndex}>
55
- <view
56
- class='block-view'
57
- style={{
58
- width: '100%',
59
- height: '100%',
60
- backgroundColor: item,
61
- display: 'flex',
62
- justifyContent: 'center',
63
- alignItems: 'center',
64
- }}
65
- >
66
- <view
28
+ <view className='demo-container lunaris-dark'>
29
+ <view className='top-area' />
30
+ <view className='content-area'>
31
+ <Swiper
32
+ ref={swiperRef}
33
+ data={itemArr}
34
+ itemWidth={itemWidths[itemWidthsIndex] ?? 0}
35
+ itemHeight={250}
36
+ containerWidth={lynx.__globalProps.screenWidth - 32
37
+ || SystemInfo.pixelWidth / SystemInfo.pixelRatio - 32}
38
+ duration={500}
39
+ initialIndex={0}
40
+ onChange={setCurrentIndex}
41
+ mode='normal'
42
+ loop={false}
43
+ autoPlay={true}
44
+ modeConfig={{
45
+ align: alignArr[alignIndex] ?? 'start',
46
+ spaceBetween: 16,
47
+ }}
48
+ style={{
49
+ overflow: 'visible',
50
+ }}
51
+ >
52
+ {({ index }) => (
53
+ <SwiperItem>
54
+ <Card
55
+ index={index}
67
56
  style={{
68
- backgroundColor: 'white',
69
- width: '4px',
70
- height: '4px',
57
+ height: '250px',
71
58
  }}
72
- >
73
- </view>
74
- </view>
75
- <text class='image-text'>Number.{index}</text>
76
- </SwiperItem>
77
- )}
78
- </Swiper>
79
- <view class='operation'>
80
- <view class='block'>
81
- <text>Current Index: {currentIndex}</text>
82
- </view>
59
+ />
60
+ </SwiperItem>
61
+ )}
62
+ </Swiper>
63
+ <Indicator
64
+ current={currentIndex}
65
+ count={itemArr.length}
66
+ />
67
+ </view>
68
+ <view className='operation'>
83
69
  <Button
84
70
  onClick={() => {
85
71
  swiperRef.current?.swipePrev()
86
72
  }}
73
+ className='expand'
87
74
  text='SwipePrev'
88
- >
89
- </Button>
75
+ />
90
76
  <Button
91
77
  onClick={() => {
92
78
  swiperRef.current?.swipeNext()
93
79
  }}
80
+ className='expand'
81
+ type='primary'
94
82
  text='SwipeNext'
95
- >
96
- </Button>
83
+ />
84
+ </view>
85
+ <view className='sub-operation'>
97
86
  <Button
98
87
  onClick={() => {
99
88
  setItemWidthsIndex(prev => (prev + 1) % itemWidths.length)
100
89
  }}
101
- text={`itemWidth: ${itemWidths[itemWidthsIndex]}`}
102
- >
103
- </Button>
90
+ text='Change Item Width'
91
+ subText={`ItemWidth: ${itemWidths[itemWidthsIndex]}`}
92
+ />
104
93
  <Button
105
94
  onClick={() => {
106
95
  setAlignIndex(prev => (prev + 1) % itemWidths.length)
107
96
  }}
108
- text={`alignType: ${alignArr[alignIndex]}`}
109
- >
110
- </Button>
97
+ text='Change Align Type'
98
+ subText={`AlignType: ${alignArr[alignIndex]}`}
99
+ />
111
100
  </view>
112
101
  </view>
113
102
  )
Binary file