|
5 | 5 | ReactiveSetupAdapter |
6 | 6 | } from "@cfcs/core"; |
7 | 7 |
|
8 | | -import Flicking, { FlickingOptions } from "../Flicking"; |
| 8 | +import Flicking from "../Flicking"; |
9 | 9 |
|
10 | 10 | // Check if Flicking has reached the first panel |
11 | 11 | const getIsReachStart = (flicking: Flicking) => !flicking.circular && flicking.index === 0; |
@@ -145,11 +145,11 @@ export interface FlickingReactiveData { |
145 | 145 | /** |
146 | 146 | * Flicking instance to connect<ko>연결할 Flicking 인스턴스</ko> |
147 | 147 | */ |
148 | | - flicking: Flicking | undefined; |
| 148 | + flicking?: Flicking; |
149 | 149 | /** |
150 | 150 | * Flicking options used for initialization<ko>초기화에 사용되는 Flicking 옵션</ko> |
151 | 151 | */ |
152 | | - options: FlickingReactiveAPIOptions | undefined; |
| 152 | + options?: FlickingReactiveAPIOptions; |
153 | 153 | } |
154 | 154 |
|
155 | 155 | /** |
@@ -177,15 +177,15 @@ export interface FlickingReactiveAPIOptions { |
177 | 177 | * 또한 isReachStart 계산에도 영향을 줍니다 (defaultIndex가 0일 때 true). |
178 | 178 | * @default 0 |
179 | 179 | */ |
180 | | - defaultIndex: number; |
| 180 | + defaultIndex?: number; |
181 | 181 | /** |
182 | 182 | * Total number of panels in the Flicking instance. This sets the totalPanelCount initial value |
183 | 183 | * and helps prevent layout shifts during SSR hydration. |
184 | 184 | * @ko Flicking 인스턴스의 전체 패널 개수. totalPanelCount의 초기값을 설정하며 |
185 | 185 | * SSR 하이드레이션 과정에서 레이아웃 시프트를 방지하는 데 도움이 됩니다. |
186 | 186 | * @default 0 |
187 | 187 | */ |
188 | | - totalPanelCount: number; |
| 188 | + totalPanelCount?: number; |
189 | 189 | } |
190 | 190 |
|
191 | 191 |
|
@@ -226,8 +226,8 @@ FlickingReactiveData |
226 | 226 | // options를 고려하지 않고 초기값을 설정해도 동작에는 아무런 문제가 없으나, 이 시점의 초기값과 컴포넌트 init 단계에서의 초기값이 다르면 화면 리렌더링이 발생할 수 있으므로 |
227 | 227 | // 이렇게 미리 옵션을 통해서 예측할 수 있는 부분들은 맞춰둔다. |
228 | 228 | const reactiveObj: FlickingReactiveObject = reactive({ |
229 | | - isReachStart: options?.defaultIndex === 0, |
230 | | - isReachEnd: false, |
| 229 | + isReachStart: options?.defaultIndex ? options?.defaultIndex === 0 : true, |
| 230 | + isReachEnd: (options?.totalPanelCount && options?.defaultIndex) ? (options.defaultIndex === options.totalPanelCount - 1) : false, |
231 | 231 | totalPanelCount: options?.totalPanelCount ?? 0, |
232 | 232 | currentPanelIndex: options?.defaultIndex ?? 0, |
233 | 233 | progress: 0, |
|
0 commit comments