@egjs/vue3-flicking 4.16.0-beta.10 → 4.16.1-beta.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/dist/flicking.cjs.js +98 -34
- package/dist/flicking.cjs.js.map +1 -1
- package/dist/flicking.esm.js +98 -34
- package/dist/flicking.esm.js.map +1 -1
- package/package.json +3 -3
package/dist/flicking.cjs.js
CHANGED
|
@@ -1,4 +1,58 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
4
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
5
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
9
|
+
var __reflectGet = Reflect.get;
|
|
10
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11
|
+
var __spreadValues = (a, b) => {
|
|
12
|
+
for (var prop in b || (b = {}))
|
|
13
|
+
if (__hasOwnProp.call(b, prop))
|
|
14
|
+
__defNormalProp(a, prop, b[prop]);
|
|
15
|
+
if (__getOwnPropSymbols)
|
|
16
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
17
|
+
if (__propIsEnum.call(b, prop))
|
|
18
|
+
__defNormalProp(a, prop, b[prop]);
|
|
19
|
+
}
|
|
20
|
+
return a;
|
|
21
|
+
};
|
|
22
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
23
|
+
var __objRest = (source, exclude) => {
|
|
24
|
+
var target = {};
|
|
25
|
+
for (var prop in source)
|
|
26
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
27
|
+
target[prop] = source[prop];
|
|
28
|
+
if (source != null && __getOwnPropSymbols)
|
|
29
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
30
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
31
|
+
target[prop] = source[prop];
|
|
32
|
+
}
|
|
33
|
+
return target;
|
|
34
|
+
};
|
|
35
|
+
var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
|
|
36
|
+
var __async = (__this, __arguments, generator) => {
|
|
37
|
+
return new Promise((resolve, reject) => {
|
|
38
|
+
var fulfilled = (value) => {
|
|
39
|
+
try {
|
|
40
|
+
step(generator.next(value));
|
|
41
|
+
} catch (e) {
|
|
42
|
+
reject(e);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
var rejected = (value) => {
|
|
46
|
+
try {
|
|
47
|
+
step(generator.throw(value));
|
|
48
|
+
} catch (e) {
|
|
49
|
+
reject(e);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
53
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
54
|
+
});
|
|
55
|
+
};
|
|
2
56
|
const Component = require("@egjs/component");
|
|
3
57
|
const VanillaFlicking = require("@egjs/flicking");
|
|
4
58
|
const ListDiffer = require("@egjs/list-differ");
|
|
@@ -80,26 +134,30 @@ class VueRenderer extends VanillaFlicking.ExternalRenderer {
|
|
|
80
134
|
super(options);
|
|
81
135
|
this._vueFlicking = options.vueFlicking;
|
|
82
136
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
137
|
+
render() {
|
|
138
|
+
return __async(this, null, function* () {
|
|
139
|
+
const flicking = VanillaFlicking.getFlickingAttached(this._flicking);
|
|
140
|
+
const vueFlicking = this._vueFlicking;
|
|
141
|
+
const strategy = this._strategy;
|
|
142
|
+
strategy.updateRenderingPanels(flicking);
|
|
143
|
+
strategy.renderPanels(flicking);
|
|
144
|
+
return new Promise((resolve) => {
|
|
145
|
+
vueFlicking.renderEmitter.once("render", () => {
|
|
146
|
+
this._afterRender();
|
|
147
|
+
resolve();
|
|
148
|
+
});
|
|
149
|
+
vueFlicking.$forceUpdate();
|
|
93
150
|
});
|
|
94
|
-
vueFlicking.$forceUpdate();
|
|
95
151
|
});
|
|
96
152
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
153
|
+
forceRenderAllPanels() {
|
|
154
|
+
return __async(this, null, function* () {
|
|
155
|
+
const vueFlicking = this._vueFlicking;
|
|
156
|
+
yield __superGet(VueRenderer.prototype, this, "forceRenderAllPanels").call(this);
|
|
157
|
+
return new Promise((resolve) => {
|
|
158
|
+
vueFlicking.renderEmitter.once("render", resolve);
|
|
159
|
+
vueFlicking.$forceUpdate();
|
|
160
|
+
});
|
|
103
161
|
});
|
|
104
162
|
}
|
|
105
163
|
_collectPanels() {
|
|
@@ -127,10 +185,10 @@ const Flicking = vue.defineComponent({
|
|
|
127
185
|
this.diffResult = null;
|
|
128
186
|
this.getPanels = () => {
|
|
129
187
|
const componentInstance = vue.getCurrentInstance();
|
|
130
|
-
const vueFlicking = componentInstance
|
|
188
|
+
const vueFlicking = componentInstance == null ? void 0 : componentInstance.ctx;
|
|
131
189
|
const flicking = this.vanillaFlicking;
|
|
132
190
|
const defaultSlots = this.getSlots();
|
|
133
|
-
const diffResult = vueFlicking
|
|
191
|
+
const diffResult = vueFlicking == null ? void 0 : vueFlicking.diffResult;
|
|
134
192
|
const slots = diffResult ? VanillaFlicking.getRenderingPanels(flicking, diffResult) : defaultSlots;
|
|
135
193
|
const panelComponent = vue.resolveComponent("Panel");
|
|
136
194
|
const panels = slots.map(
|
|
@@ -150,7 +208,7 @@ const Flicking = vue.defineComponent({
|
|
|
150
208
|
const { panelClass = "flicking-panel" } = options.virtual;
|
|
151
209
|
const panelsPerView = options.panelsPerView;
|
|
152
210
|
const flicking = this.vanillaFlicking;
|
|
153
|
-
const initialized = flicking
|
|
211
|
+
const initialized = flicking == null ? void 0 : flicking.initialized;
|
|
154
212
|
const renderingIndexes = initialized ? flicking.renderer.strategy.getRenderingIndexesByOrder(flicking) : VanillaFlicking.range(panelsPerView + 1);
|
|
155
213
|
const firstPanel = initialized && flicking.panels[0];
|
|
156
214
|
const size = firstPanel ? flicking.horizontal ? { width: firstPanel.size } : { height: firstPanel.size } : {};
|
|
@@ -167,19 +225,19 @@ const Flicking = vue.defineComponent({
|
|
|
167
225
|
VanillaFlicking.withFlickingMethods(this, "vanillaFlicking");
|
|
168
226
|
},
|
|
169
227
|
mounted() {
|
|
228
|
+
var _a;
|
|
170
229
|
const options = this.options;
|
|
171
230
|
const viewportEl = this.$el;
|
|
172
231
|
const rendererOptions = {
|
|
173
232
|
vueFlicking: this,
|
|
174
233
|
align: options.align,
|
|
175
|
-
strategy: options.virtual && (options.panelsPerView
|
|
234
|
+
strategy: options.virtual && ((_a = options.panelsPerView) != null ? _a : -1) > 0 ? new VanillaFlicking.VirtualRenderingStrategy() : new VanillaFlicking.NormalRenderingStrategy({
|
|
176
235
|
providerCtor: VueElementProvider
|
|
177
236
|
})
|
|
178
237
|
};
|
|
179
|
-
const flicking = new VanillaFlicking(viewportEl, {
|
|
180
|
-
...options,
|
|
238
|
+
const flicking = new VanillaFlicking(viewportEl, __spreadProps(__spreadValues({}, options), {
|
|
181
239
|
externalRenderer: new VueRenderer(rendererOptions)
|
|
182
|
-
});
|
|
240
|
+
}));
|
|
183
241
|
this.vanillaFlicking = flicking;
|
|
184
242
|
flicking.once(VanillaFlicking.EVENTS.READY, () => {
|
|
185
243
|
this.$forceUpdate();
|
|
@@ -194,21 +252,23 @@ const Flicking = vue.defineComponent({
|
|
|
194
252
|
}
|
|
195
253
|
},
|
|
196
254
|
beforeUnmount() {
|
|
197
|
-
|
|
255
|
+
var _a;
|
|
256
|
+
(_a = this.vanillaFlicking) == null ? void 0 : _a.destroy();
|
|
198
257
|
},
|
|
199
258
|
beforeMount() {
|
|
200
259
|
this.fillKeys();
|
|
201
260
|
},
|
|
202
261
|
beforeUpdate() {
|
|
262
|
+
var _a;
|
|
203
263
|
this.fillKeys();
|
|
204
|
-
this.diffResult = this.slotDiffer
|
|
264
|
+
this.diffResult = (_a = this.slotDiffer) == null ? void 0 : _a.update(this.getSlots());
|
|
205
265
|
},
|
|
206
266
|
updated() {
|
|
207
267
|
const flicking = this.vanillaFlicking;
|
|
208
268
|
const diffResult = this.diffResult;
|
|
209
269
|
this.checkPlugins();
|
|
210
270
|
this.renderEmitter.trigger("render");
|
|
211
|
-
if (!diffResult || !flicking
|
|
271
|
+
if (!diffResult || !(flicking == null ? void 0 : flicking.initialized)) return;
|
|
212
272
|
const children = this.getChildren();
|
|
213
273
|
VanillaFlicking.sync(flicking, diffResult, children);
|
|
214
274
|
if (diffResult.added.length > 0 || diffResult.removed.length > 0) {
|
|
@@ -217,10 +277,11 @@ const Flicking = vue.defineComponent({
|
|
|
217
277
|
this.diffResult = void 0;
|
|
218
278
|
},
|
|
219
279
|
render() {
|
|
280
|
+
var _a;
|
|
220
281
|
const flicking = this.vanillaFlicking;
|
|
221
282
|
const options = this.options;
|
|
222
|
-
const initialized = flicking
|
|
223
|
-
const isHorizontal = flicking ? flicking.horizontal : this.options.horizontal
|
|
283
|
+
const initialized = flicking == null ? void 0 : flicking.initialized;
|
|
284
|
+
const isHorizontal = flicking ? flicking.horizontal : (_a = this.options.horizontal) != null ? _a : true;
|
|
224
285
|
const viewportData = {
|
|
225
286
|
class: {
|
|
226
287
|
"flicking-viewport": true,
|
|
@@ -285,7 +346,7 @@ const Flicking = vue.defineComponent({
|
|
|
285
346
|
handler(newOptions) {
|
|
286
347
|
const flicking = this.vanillaFlicking;
|
|
287
348
|
if (!flicking) return;
|
|
288
|
-
const { virtual,
|
|
349
|
+
const _a = newOptions, { virtual } = _a, options = __objRest(_a, ["virtual"]);
|
|
289
350
|
for (const key in options) {
|
|
290
351
|
if (key in flicking && flicking[key] !== options[key]) {
|
|
291
352
|
flicking[key] = options[key];
|
|
@@ -572,10 +633,13 @@ function useReactive(reactiveAdapter, props) {
|
|
|
572
633
|
return __assign(__assign(__assign({}, refs), methods), events);
|
|
573
634
|
}
|
|
574
635
|
const useFlickingReactiveAPI = (flickingRef, options) => {
|
|
575
|
-
return useReactive(VanillaFlicking.flickingReactiveAPIAdapter, () =>
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
636
|
+
return useReactive(VanillaFlicking.flickingReactiveAPIAdapter, () => {
|
|
637
|
+
var _a;
|
|
638
|
+
return {
|
|
639
|
+
flicking: (_a = flickingRef.value) != null ? _a : void 0,
|
|
640
|
+
options
|
|
641
|
+
};
|
|
642
|
+
});
|
|
579
643
|
};
|
|
580
644
|
Flicking.useFlickingReactiveAPI = useFlickingReactiveAPI;
|
|
581
645
|
module.exports = Flicking;
|
package/dist/flicking.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flicking.cjs.js","sources":["../src/FlickingProps.ts","../src/VueElementProvider.ts","../src/VuePanel.ts","../src/VueRenderer.ts","../src/Flicking.ts","../../../node_modules/.pnpm/@cfcs+core@0.1.0/node_modules/@cfcs/core/dist/cfcs.esm.js","../../../node_modules/.pnpm/@cfcs+vue3@0.1.0/node_modules/@cfcs/vue3/dist/cfcs.esm.js","../src/reactive.ts","../src/index.umd.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\n\nimport { FlickingOptions, Plugin, Status } from \"@egjs/flicking\";\nimport { PropType } from \"vue\";\n\nexport default {\n viewportTag: {\n type: String,\n default: \"div\",\n required: false\n },\n cameraTag: {\n type: String,\n default: \"div\",\n required: false\n },\n cameraClass: {\n type: String,\n default: \"\",\n required: false\n },\n hideBeforeInit: {\n type: Boolean,\n default: false,\n required: false\n },\n firstPanelSize: {\n type: String,\n required: false\n },\n options: {\n type: Object as unknown as () => Partial<FlickingOptions>,\n default: () => ({}),\n required: false\n },\n plugins: {\n type: Array as PropType<Plugin[]>,\n default: () => [],\n required: false\n },\n status: {\n type: Object as PropType<Status>,\n required: false\n }\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ElementProvider } from \"@egjs/flicking\";\n\nimport VuePanel from \"./VuePanel\";\n\nclass VueElementProvider implements ElementProvider {\n private _el: VuePanel;\n private _cachedElement: HTMLElement;\n\n public get rendered() {\n return !this._el.hide;\n }\n public get element() {\n const el = this._el.$el.nextSibling as HTMLElement;\n\n if (el && el.nodeType === Node.ELEMENT_NODE) {\n this._cachedElement = el;\n }\n\n return this._cachedElement;\n }\n\n public constructor(el: VuePanel) {\n this._el = el;\n }\n\n public show() {\n this._el.hide = false;\n }\n\n public hide() {\n this._el.hide = true;\n }\n}\n\nexport default VueElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\n\nimport { defineComponent } from \"vue\";\n\nconst VuePanel = defineComponent({\n data() {\n return {\n hide: false\n };\n },\n render() {\n if (this.hide || !this.$slots.default) return;\n\n return this.$slots.default();\n }\n});\n\ntype VuePanelType = InstanceType<typeof VuePanel>;\n\ninterface VuePanel extends VuePanelType {}\nexport default VuePanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, getFlickingAttached, PanelOptions, RendererOptions } from \"@egjs/flicking\";\n\nimport VueFlicking from \"./Flicking\";\nimport VuePanel from \"./VuePanel\";\n\nexport interface VueRendererOptions extends RendererOptions {\n vueFlicking: VueFlicking;\n}\n\nclass VueRenderer extends ExternalRenderer {\n // Internal States\n private _vueFlicking: VueFlicking;\n\n public constructor(options: VueRendererOptions) {\n super(options);\n\n this._vueFlicking = options.vueFlicking;\n }\n\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const vueFlicking = this._vueFlicking;\n const strategy = this._strategy;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n vueFlicking.renderEmitter.once(\"render\", () => {\n this._afterRender();\n resolve();\n });\n vueFlicking.$forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const vueFlicking = this._vueFlicking;\n\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n vueFlicking.renderEmitter.once(\"render\", resolve);\n vueFlicking.$forceUpdate();\n });\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const vueFlicking = this._vueFlicking;\n const childRefs = vueFlicking.$refs;\n const vuePanels: any[] = Object.keys(childRefs).map(refKey => childRefs[refKey]);\n\n this._panels = this._strategy.collectPanels(flicking, vuePanels);\n }\n\n protected _createPanel(externalComponent: VuePanel, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default VueRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\n\nimport Component from \"@egjs/component\";\nimport VanillaFlicking, {\n EVENTS,\n getDefaultCameraTransform,\n getRenderingPanels,\n NormalRenderingStrategy,\n Plugin,\n range,\n sync,\n VirtualRenderingStrategy,\n withFlickingMethods\n} from \"@egjs/flicking\";\nimport ListDiffer, { DiffResult } from \"@egjs/list-differ\";\nimport { Comment, defineComponent, Fragment, getCurrentInstance, h, resolveComponent, Text, VNode } from \"vue\";\n\nimport FlickingProps from \"./FlickingProps\";\nimport { VueFlicking } from \"./types\";\nimport VueElementProvider from \"./VueElementProvider\";\nimport VuePanel from \"./VuePanel\";\nimport VueRenderer, { VueRendererOptions } from \"./VueRenderer\";\n\nconst Flicking = defineComponent({\n props: FlickingProps,\n components: {\n Panel: VuePanel\n },\n data() {\n return {} as {\n renderEmitter: Component<{ render: undefined }>;\n vanillaFlicking: VanillaFlicking;\n pluginsDiffer: ListDiffer<Plugin>;\n slotDiffer: ListDiffer<VNode>;\n diffResult: DiffResult<VNode> | null;\n };\n },\n created() {\n this.vanillaFlicking = null;\n this.renderEmitter = new Component();\n this.diffResult = null;\n\n this.getPanels = () => {\n const componentInstance = getCurrentInstance() as unknown as { ctx: Flicking } | null;\n const vueFlicking = componentInstance?.ctx;\n const flicking = this.vanillaFlicking;\n const defaultSlots = this.getSlots();\n const diffResult = vueFlicking?.diffResult;\n\n const slots = diffResult ? getRenderingPanels(flicking, diffResult) : defaultSlots;\n\n const panelComponent = resolveComponent(\"Panel\");\n const panels = slots.map((slot, idx) =>\n h(\n panelComponent as any,\n {\n key: slot.key!,\n ref: idx.toString()\n },\n () => slot\n )\n );\n\n return panels;\n };\n this.getVirtualPanels = () => {\n const options = this.options;\n const { panelClass = \"flicking-panel\" } = options.virtual!;\n const panelsPerView = options.panelsPerView as number;\n const flicking = this.vanillaFlicking;\n const initialized = flicking?.initialized;\n\n const renderingIndexes = initialized\n ? flicking.renderer.strategy.getRenderingIndexesByOrder(flicking)\n : range(panelsPerView + 1);\n\n const firstPanel = initialized && flicking.panels[0];\n const size = firstPanel ? (flicking.horizontal ? { width: firstPanel.size } : { height: firstPanel.size }) : {};\n\n return renderingIndexes.map(idx =>\n h(\"div\", {\n key: idx,\n ref: idx.toString(),\n class: panelClass,\n style: size,\n \"data-element-index\": idx\n })\n );\n };\n\n withFlickingMethods(this, \"vanillaFlicking\");\n },\n mounted() {\n const options = this.options;\n const viewportEl = this.$el as HTMLElement;\n const rendererOptions: VueRendererOptions = {\n vueFlicking: this,\n align: options.align,\n strategy:\n options.virtual && (options.panelsPerView ?? -1) > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: VueElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(viewportEl, {\n ...options,\n externalRenderer: new VueRenderer(rendererOptions)\n });\n this.vanillaFlicking = flicking;\n\n flicking.once(EVENTS.READY, () => {\n this.$forceUpdate();\n });\n\n const slots = this.getSlots();\n this.slotDiffer = new ListDiffer<VNode>(slots, vnode => vnode.key! as string | number);\n this.pluginsDiffer = new ListDiffer<Plugin>();\n\n this.bindEvents();\n this.checkPlugins();\n\n if (this.status) {\n flicking.setStatus(this.status);\n }\n },\n beforeUnmount() {\n this.vanillaFlicking?.destroy();\n },\n beforeMount() {\n this.fillKeys();\n },\n beforeUpdate() {\n this.fillKeys();\n\n this.diffResult = this.slotDiffer?.update(this.getSlots());\n },\n updated() {\n const flicking = this.vanillaFlicking;\n const diffResult = this.diffResult;\n\n this.checkPlugins();\n this.renderEmitter.trigger(\"render\");\n\n if (!diffResult || !flicking?.initialized) return;\n\n const children = this.getChildren();\n\n sync(flicking, diffResult, children);\n\n if (diffResult.added.length > 0 || diffResult.removed.length > 0) {\n this.$forceUpdate();\n }\n\n this.diffResult = undefined;\n },\n render() {\n const flicking = this.vanillaFlicking;\n const options = this.options;\n const initialized = flicking?.initialized;\n const isHorizontal = flicking ? flicking.horizontal : (this.options.horizontal ?? true);\n\n const viewportData = {\n class: {\n \"flicking-viewport\": true,\n vertical: !isHorizontal,\n \"flicking-hidden\": this.hideBeforeInit && !initialized\n }\n };\n const cameraData = {\n class: {\n \"flicking-camera\": true,\n [this.cameraClass]: !!this.cameraClass\n },\n style:\n !initialized && this.firstPanelSize\n ? { transform: getDefaultCameraTransform(this.options.align, this.options.horizontal, this.firstPanelSize) }\n : {}\n };\n\n const panels =\n options.virtual && options.panelsPerView && options.panelsPerView > 0 ? this.getVirtualPanels : this.getPanels;\n\n const viewportSlots = this.$slots.viewport ? this.$slots.viewport() : [];\n\n return h(this.viewportTag, viewportData, [h(this.cameraTag, cameraData, { default: panels }), ...viewportSlots]);\n },\n methods: {\n getSlots() {\n const slots = this.$slots.default ? this.$slots.default() : [];\n\n return slots\n .reduce((elementSlots, slot) => [...elementSlots, ...this.getElementVNodes(slot)], [] as VNode[])\n .filter(slot => slot.type !== Comment && slot.type !== Text);\n },\n getElementVNodes(slot: VNode, childSlots: VNode[] = []): VNode[] {\n if (slot.type === Fragment && Array.isArray(slot.children)) {\n slot.children\n .filter(child => child && typeof child === \"object\")\n .forEach(child => this.getElementVNodes(child as VNode, childSlots));\n } else {\n childSlots.push(slot);\n }\n\n return childSlots;\n },\n bindEvents() {\n const flicking = this.vanillaFlicking;\n const events = (Object.keys(EVENTS) as Array<keyof typeof EVENTS>).map(key => EVENTS[key]);\n\n events.forEach(eventName => {\n flicking.on(eventName, (e: any) => {\n e.currentTarget = this;\n // Make events from camelCase to kebab-case\n this.$emit(eventName.replace(/([A-Z])/g, \"-$1\").toLowerCase(), e);\n });\n });\n },\n checkPlugins() {\n const { list, added, removed, prevList } = this.pluginsDiffer.update(this.plugins);\n\n this.vanillaFlicking!.addPlugins(...added.map(index => list[index]));\n this.vanillaFlicking!.removePlugins(...removed.map(index => prevList[index]));\n },\n fillKeys() {\n const vnodes = this.getSlots();\n\n vnodes.forEach((node, idx) => {\n if (node.key == null) {\n node.key = `$_${idx}`;\n }\n });\n },\n getChildren() {\n const childRefs = this.$refs;\n\n return Object.keys(childRefs).map(refKey => childRefs[refKey]);\n }\n },\n watch: {\n options: {\n handler(newOptions) {\n const flicking = this.vanillaFlicking;\n if (!flicking) return;\n\n // Omit 'virtual', as it can't have any setter\n const { virtual, ...options } = newOptions; // eslint-disable-line @typescript-eslint/no-unused-vars\n\n for (const key in options) {\n if (key in flicking && flicking[key] !== options[key]) {\n flicking[key] = options[key];\n }\n }\n },\n deep: true,\n immediate: true\n }\n }\n}) as unknown as VueFlicking;\n\ninterface Flicking extends VueFlicking, VanillaFlicking {}\nexport default Flicking;\n","/*\nCopyright (c) 2022-present NAVER Corp.\nname: @cfcs/core\nlicense: MIT\nauthor: NAVER Crop.\nrepository: https://github.com/naver/cfcs/tree/main/packages/core\nversion: 0.1.0\n*/\nimport Component from '@egjs/component';\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n\n/**\n * @hidden\n */\nfunction keys(obj) {\n return Object.keys(obj);\n}\n/**\n * @hidden\n */\n\nfunction camelize(str) {\n return str.replace(/[\\s-_]([a-z])/g, function (all, letter) {\n return letter.toUpperCase();\n });\n}\n/**\n * @hidden\n */\n\nfunction isString(val) {\n return typeof val === \"string\";\n}\n/**\n * @hidden\n */\n\nfunction isObject(val) {\n return typeof val === \"object\";\n}\n/**\n * @hidden\n */\n\nfunction isFunction(val) {\n return typeof val === \"function\";\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * @hidden\n */\n\nfunction findTarget(target) {\n var el;\n\n if (!target) {\n return null;\n }\n\n if (isString(target)) {\n el = document.querySelector(target);\n } else if (target instanceof Element) {\n el = target;\n } else if (\"value\" in target || \"current\" in target) {\n el = target.value || target.current;\n }\n\n return el;\n}\n/**\n * @description Sets the name of the class method to be exposed to the outside.\n * @category DOM\n * @return Property Decorator\n * @example\n * ```ts\n * import { withClassMethods } from \"@cfcs/core\";\n *\n * class YourFrameworkComponent {\n * @withClassMethod(METHOD_NAMES)\n * inst = new YourComponent();\n * }\n * ```\n */\n\nfunction withClassMethods(methods) {\n return function (prototype, memberName) {\n methods.forEach(function (name) {\n if (name in prototype) {\n return;\n }\n\n prototype[name] = function () {\n var _a;\n\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var result = (_a = this[memberName])[name].apply(_a, args); // fix `this` type to return your own `class` instance to the instance using the decorator.\n\n\n if (result === this[memberName]) {\n return this;\n } else {\n return result;\n }\n };\n });\n };\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\nvar OBSERVERS_PATH = \"__observers__\";\nvar COMPUTED_PATH = \"__computed__\";\nvar CFCS_DETECTED_DEPENDENCIES_VERSION = 1;\nvar CFCS_DETECTED_DEPENDENCIES = \"__CFCS_DETECTED_DEPENDENCIES__\";\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n\n/* global Reflect, Promise */\nvar extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n\n return extendStatics(d, b);\n};\n\nfunction __extends(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nfunction __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\nfunction getDetectedStack() {\n // Version issues do not occur when you access the native object in the global.\n Object[CFCS_DETECTED_DEPENDENCIES] = Object[CFCS_DETECTED_DEPENDENCIES] || {};\n var versionList = Object[CFCS_DETECTED_DEPENDENCIES];\n versionList[CFCS_DETECTED_DEPENDENCIES_VERSION] = versionList[CFCS_DETECTED_DEPENDENCIES_VERSION] || [];\n return versionList[CFCS_DETECTED_DEPENDENCIES_VERSION];\n}\nfunction getCurrentDetected() {\n var stack = getDetectedStack();\n return stack[stack.length - 1];\n}\nfunction detectDependencies(host) {\n var stack = getDetectedStack();\n var observers = [];\n var detected = {\n host: host,\n observers: observers,\n push: function (observer) {\n if (host !== observer && observers.indexOf(observer) === -1) {\n observers.push(observer);\n }\n }\n };\n stack.push(detected);\n return detected;\n}\nfunction endDetectDependencies() {\n var stack = getDetectedStack();\n return stack.pop();\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * Creates a mutable ref object. You can access the `.current` value and detect the value change through `.subscribe`.\n * @category Reactive\n * @see observe\n */\n\nvar Observer =\n/*#__PURE__*/\nfunction () {\n /**\n *\n */\n function Observer(value) {\n this._emitter = new Component();\n this._current = value;\n }\n\n var __proto = Observer.prototype;\n Object.defineProperty(__proto, \"current\", {\n /**\n * return the current value.\n */\n get: function () {\n var currentDetected = getCurrentDetected();\n currentDetected === null || currentDetected === void 0 ? void 0 : currentDetected.push(this);\n return this._current;\n },\n set: function (value) {\n this._setCurrent(value);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * When the current value changes, the callback function is called.\n */\n\n __proto.subscribe = function (callback) {\n this.current;\n\n this._emitter.on(\"update\", callback);\n\n return this;\n };\n /**\n * Cancel the registered subscription through callback.\n */\n\n\n __proto.unsubscribe = function (callback) {\n this._emitter.off(\"update\", callback);\n\n return this;\n };\n\n __proto._setCurrent = function (value) {\n var prevValue = this._current;\n var isUpdate = value !== prevValue;\n this._current = value;\n\n if (isUpdate) {\n this._emitter.trigger(\"update\", value, prevValue);\n }\n };\n /**\n * @hidden\n */\n\n\n __proto.toString = function () {\n return \"\".concat(this.current);\n };\n /**\n * @hidden\n */\n\n\n __proto.valueOf = function () {\n return this.current;\n };\n\n return Observer;\n}();\n\n/**\n * @category Reactive\n * @hidden\n */\n\nvar ComputedObserver =\n/*#__PURE__*/\nfunction (_super) {\n __extends(ComputedObserver, _super);\n /**\n * @description Creates a new computed observer from the values of other observers.\n * It is read-only and if you change the value of the observer used inside the callback, its value will be automatically updated.\n * @param _computedCallback A function for observers to be computed.\n */\n\n\n function ComputedObserver(_computedCallback) {\n var _this = _super.call(this) || this;\n\n _this._computedCallback = _computedCallback;\n _this._registered = [];\n\n _this._onCheckUpdate = function () {\n _this._setCurrent(_this.current);\n };\n\n _this._current = _this.current;\n return _this;\n }\n\n var __proto = ComputedObserver.prototype;\n Object.defineProperty(__proto, \"current\", {\n get: function () {\n var _this = this;\n\n detectDependencies(this);\n\n var value = this._computedCallback();\n\n var results = endDetectDependencies();\n\n this._registered.forEach(function (observer) {\n observer.unsubscribe(_this._onCheckUpdate);\n });\n\n results.observers.forEach(function (observer) {\n observer.subscribe(_this._onCheckUpdate);\n });\n this._registered = results.observers;\n return value;\n },\n enumerable: false,\n configurable: true\n });\n return ComputedObserver;\n}(Observer);\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n\nfunction injectObserve(prototype, memberName, publicName) {\n if (publicName === void 0) {\n publicName = memberName;\n }\n\n var nextAttributes = {\n configurable: true,\n get: function () {\n return getObserver(this, publicName).current;\n },\n set: function (value) {\n getObserver(this, publicName, value).current = value;\n }\n };\n Object.defineProperty(prototype, memberName, nextAttributes);\n\n if (publicName !== memberName) {\n Object.defineProperty(prototype, publicName, {\n configurable: true,\n get: function () {\n return getObserver(this, publicName).current;\n }\n });\n }\n}\n/**\n * @description `Observe` is a property decorator and converts the property into a `reactive state`. You can detect its status through `.subscribe`.\n * @category Reactive-Decorator\n * @see ReactiveSubscribe\n * @example\n* ```ts\nimport { ReactiveSubscribe, Observe } from \"@cfcs/core\";\n\n@ReactiveSubscribe\nclass Component {\n // The public name and state name are the same.\n @Observe value1 = 1;\n // If you want to set public name and private properties separately\n @Observe(\"value2\") _value2 = 1;\n\n constructor() {\n requestAnimationFrame(() => {\n this.value1 = 2;\n });\n }\n}\ninterface C\n```\n */\n\n\nfunction Observe() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n if (args.length > 1) {\n return injectObserve(args[0], args[1]);\n }\n\n return function (prototype, memberName) {\n return injectObserve(prototype, memberName, args[0]);\n };\n}\n/**\n * @hidden\n */\n\nfunction Reactive() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n return Observe.apply(void 0, args);\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * @hidden\n */\n\nfunction injectReactiveSubscribe(object) {\n object[\"subscribe\"] = function (name, callback) {\n this[name];\n getObserver(this, name).subscribe(callback);\n };\n\n object[\"unsubscribe\"] = function (name, callback) {\n var _this = this;\n\n if (!name) {\n keys(getObservers(this)).forEach(function (observerName) {\n _this.unsubscribe(observerName);\n });\n return;\n }\n\n if (!(name in this)) {\n return;\n }\n\n getObserver(this, name).unsubscribe(callback);\n };\n}\n/**\n * @description `ReactiveSubscribe` is a class decorator and adds `.subscribe` and `.unsubscribe` methods.\n * @category Reactive-Decorator\n * @see Observe\n * @example\n * ```ts\nimport { ReactiveSubscribe, Observe } from \"@cfcs/core\";\n\n@ReactiveSubscribe\nclass Component {\n @Observe value1 = 1;\n\n constructor() {\n requestAnimationFrame(() => {\n this.value1 = 2;\n });\n }\n}\n\ninterface Component extends ReactiveSubscribe<{\n value1: number;\n value2: number;\n}> {}\n\nconst component = new Component();\n\n// 1\nconsole.log(component.value1);\n\ncomponent.subscribe(\"value1\", nextValue => {\n // When the change event occurs => (2, 2)\n console.log(nextValue, component.value2);\n});\n```\n */\n\nfunction ReactiveSubscribe(Constructor) {\n var prototype = Constructor.prototype;\n injectReactiveSubscribe(prototype);\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n\nfunction makeReactiveObject(setup, all) {\n var result = isFunction(setup) ? setup() : setup;\n var reactiveObject = {};\n defineObservers(reactiveObject);\n keys(result).forEach(function (name) {\n var value = result[name];\n\n if (isObserver(value)) {\n setObserver(reactiveObject, name, value);\n } else {\n setObserver(reactiveObject, name, observe(value));\n }\n\n Observe(name)(reactiveObject, name);\n });\n injectReactiveSubscribe(reactiveObject);\n return reactiveObject;\n}\n/**\n * @description Make the return value of the corresponding object or function a reactive object.\n * @category Reactive\n * @param setup - The target object or function to which reactive is applied\n * @returns Makes all values into reactive objects.\n * @example\n * ```ts\n * import { reactive } from \"@cfcs/core\";\n *\n * const obj = reactive({\n * value1: 1,\n * value2: 2,\n * });\n *\n * obj.subscribe(\"value1\", value1 => {\n * console.log(value1);\n * });\n * obj.value1 = 2;\n * ```\n */\n\n\nfunction reactive(setup) {\n return makeReactiveObject(setup);\n}\n/**\n * @description Make the return value of the corresponding object or function a reactive object.\n * @category Reactive\n * @param setup - The target object or function to which reactive is applied\n * @returns Only the values to which observer is applied are objects to which reactive is applied.\n * @example\n * ```ts\n * import { partialReactive, observe } from \"@cfcs/core\";\n *\n * const value1 = observe(1);\n * const value2 = observe(2);\n * const obj = partialReactive({\n * value1,\n * value2,\n * });\n *\n * obj.subscribe(\"value1\", value1 => {\n * console.log(value1);\n * });\n * value1.current = 2;\n * ```\n */\n\nfunction partialReactive(setup) {\n return makeReactiveObject(setup);\n}\n/**\n * @description Creates a mutable ref object. You can access the `.current` value and detect the value change through `.subscribe`.\n * @category Reactive\n * @example\n * ```ts\n * import { observe } from \"@cfcs/core\";\n *\n * const ob1 = observe(1);\n *\n * ob1.subscribe(nextValue => {\n * console.log(nextValue);\n * });\n *\n * ob1.current = 2;\n * ```\n */\n\nfunction observe(defaultValue) {\n return new Observer(defaultValue);\n}\n/**\n * @hidden\n */\n\nfunction computed(computedCallback) {\n return new ComputedObserver(computedCallback);\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * @hidden\n */\n\nfunction withReactiveMethods(ref, methods) {\n var obj = {};\n\n if (!methods) {\n return obj;\n }\n\n methods.forEach(function (name) {\n obj[name] = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var current = ref.current || ref.value;\n return current[name].apply(current, args);\n };\n });\n return obj;\n}\n/**\n * @hidden\n */\n\nfunction defineObservers(instance) {\n var observers = {};\n Object.defineProperty(instance, OBSERVERS_PATH, {\n get: function () {\n return observers;\n }\n });\n return observers;\n}\n/**\n * @hidden\n */\n\nfunction getObservers(instance, isComputed) {\n var _a, _b;\n\n if (!instance[OBSERVERS_PATH]) {\n defineObservers(instance);\n }\n\n var observers = instance[OBSERVERS_PATH];\n\n if (!isComputed) {\n var computedList = (_b = (_a = instance === null || instance === void 0 ? void 0 : instance.constructor) === null || _a === void 0 ? void 0 : _a.prototype) === null || _b === void 0 ? void 0 : _b[COMPUTED_PATH];\n\n if (computedList) {\n computedList.forEach(function (name) {\n if (!(name in observers) && name in instance) {\n instance[name];\n }\n });\n }\n }\n\n return observers;\n}\n/**\n * @hidden\n */\n\nfunction getObserver(instance, name, defaultValue) {\n var observers = getObservers(instance);\n\n if (!observers[name]) {\n observers[name] = observe(defaultValue);\n }\n\n return observers[name];\n}\n/**\n * @hidden\n */\n\nfunction setObserver(instance, name, observer) {\n var observers = getObservers(instance);\n observers[name] = observer;\n}\n/**\n * @description Whether that object is an observer instance\n * @category Reactive\n */\n\nfunction isObserver(val) {\n return val && isObject(val) && \"current\" in val && \"subscribe\" in val && \"unsubscribe\" in val;\n}\n/**\n * @description Whether the object is reactive\n * @category Reactive\n */\n\nfunction isReactive(val) {\n return val && !isObserver(val) && \"subscribe\" in val && \"unsubscribe\" in val;\n}\n\n/**\n * @category Reactive\n * @hidden\n */\n\nfunction adaptReactive(adapter, props) {\n var objectAdapter = isFunction(adapter) ? {\n setup: adapter\n } : adapter;\n\n function getProps() {\n var _a, _b, _c, _d, _e;\n\n return (_e = (_c = (_a = props === null || props === void 0 ? void 0 : props()) !== null && _a !== void 0 ? _a : (_b = objectAdapter.props) === null || _b === void 0 ? void 0 : _b.call(objectAdapter)) !== null && _c !== void 0 ? _c : (_d = objectAdapter.data) === null || _d === void 0 ? void 0 : _d.call(objectAdapter)) !== null && _e !== void 0 ? _e : {};\n }\n\n var eventEmitter = new Component();\n var mountedHooks = [];\n var initHooks = [];\n var destroyHooks = [];\n var onHooks = [];\n var instanceRef = {\n current: null\n };\n var offHooksList = [];\n var initialState = null;\n var eventNames = [];\n var methodNames = [];\n\n var onMounted = function (callback) {\n mountedHooks.push(callback);\n };\n\n var onInit = function (callback) {\n initHooks.push(callback);\n };\n\n var onDestroy = function (callback) {\n destroyHooks.push(callback);\n };\n\n var on = function (callback) {\n onHooks.push(callback);\n };\n\n var emit = function (eventName) {\n var params = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n params[_i - 1] = arguments[_i];\n }\n\n eventEmitter.trigger.apply(eventEmitter, __spreadArray([eventName], params, false));\n };\n\n var setInitialState = function (state) {\n initialState = state;\n };\n\n var setEvents = function (events) {\n eventNames = events;\n };\n\n var setMethods = function (methods) {\n methodNames = methods;\n };\n\n if (objectAdapter.setup) {\n instanceRef.current = objectAdapter.setup({\n getProps: getProps,\n setInitialState: setInitialState,\n setEvents: setEvents,\n setMethods: setMethods,\n onMounted: onMounted,\n onDestroy: onDestroy,\n onInit: onInit,\n emit: emit,\n on: on\n }) || null;\n }\n\n if (objectAdapter.created) {\n instanceRef.current = objectAdapter.created(getProps()) || null;\n }\n\n if (objectAdapter.events) {\n setEvents(objectAdapter.events);\n }\n\n if (objectAdapter.state) {\n setInitialState(objectAdapter.state);\n }\n\n if (objectAdapter.methods) {\n setMethods(objectAdapter.methods);\n }\n\n if (objectAdapter.mounted) {\n onMounted(objectAdapter.mounted);\n }\n\n if (objectAdapter.destroy) {\n destroyHooks.push(objectAdapter.destroy);\n }\n\n if (objectAdapter.init) {\n initHooks.push(objectAdapter.init);\n }\n\n if (objectAdapter.on) {\n onHooks.push(function (instance, eventName, listener) {\n var off = objectAdapter.on(instance, eventName, listener);\n return function () {\n var _a;\n\n off && off();\n (_a = objectAdapter.off) === null || _a === void 0 ? void 0 : _a.call(objectAdapter, instance, eventName, listener);\n };\n });\n }\n\n return {\n events: function () {\n return eventNames;\n },\n state: function () {\n var inst = instanceRef.current;\n\n if (initialState) {\n return initialState;\n }\n\n if (inst) {\n var observers_1 = getObservers(inst);\n setInitialState(keys(observers_1).reduce(function (prev, cur) {\n prev[cur] = observers_1[cur].current;\n return prev;\n }, {}));\n }\n\n return initialState || {};\n },\n instance: function () {\n return instanceRef.current;\n },\n mounted: function () {\n var props = getProps();\n mountedHooks.forEach(function (hook) {\n instanceRef.current = hook(props, instanceRef.current) || instanceRef.current;\n });\n },\n init: function () {\n // on events\n var instance = instanceRef.current;\n var props = getProps();\n offHooksList = eventNames.map(function (eventName) {\n var listener = function () {\n var _a;\n\n var params = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n\n (_a = eventEmitter).trigger.apply(_a, __spreadArray([eventName], params, false));\n };\n\n var instance = instanceRef.current;\n return onHooks.map(function (hook) {\n return hook(instance, eventName, listener);\n }).filter(Boolean);\n }); // init\n\n initHooks.forEach(function (hook) {\n hook(instance, props);\n });\n },\n destroy: function () {\n // off events\n offHooksList.forEach(function (offHooks) {\n offHooks.forEach(function (hook) {\n hook();\n });\n }); // destroy\n\n eventEmitter.off();\n var instance = instanceRef.current;\n var props = getProps();\n destroyHooks.forEach(function (hook) {\n hook(instance, props);\n });\n },\n methods: function () {\n return withReactiveMethods(instanceRef, methodNames);\n },\n on: function (eventName, listener) {\n eventEmitter.on(eventName, listener);\n },\n off: function (eventName, listener) {\n eventEmitter.off(eventName, listener);\n }\n };\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * @description `Computed` is a property decorator.\n * Changes in computed state values are also recognized according to changes in observers used within the getter function.\n * You can detect its status through `.subscribe`.\n * @hidden\n * @category Reactive-Decorator\n * @see ReactiveSubscribe\n * @example\n * ```ts\nconst ob1 = observe(0);\nconst ob2 = observe(1);\n\n// When\n@ReactiveSubscribe\nclass TestComputed {\n @Computed\n get ob3() {\n return ob1.current + ob2.current;\n }\n}\nconst inst = new TestComputed();\n\ninst.subscribe(\"ob3\", ob3 => {\n console.log(ob3);\n});\n\nob1.current = 1;\n```\n */\n\nfunction Computed(prototype, memberName, attributes) {\n var get = attributes.get;\n\n function getComputed() {\n var observers = getObservers(this, true);\n\n if (!(memberName in observers)) {\n observers[memberName] = computed(get.bind(this));\n }\n\n return getObserver(this, memberName).current;\n }\n\n var nextAttributes = {\n configurable: true,\n get: getComputed\n };\n prototype[COMPUTED_PATH] || (prototype[COMPUTED_PATH] = []);\n var computedList = prototype[COMPUTED_PATH];\n\n if (computedList.indexOf(memberName) === -1) {\n computedList.push(memberName);\n }\n\n Object.defineProperty(prototype, memberName, nextAttributes);\n return nextAttributes;\n}\n\nexport { Computed, ComputedObserver, Observe, Observer, Reactive, ReactiveSubscribe, adaptReactive, camelize, computed, defineObservers, findTarget, getObserver, getObservers, injectReactiveSubscribe, isFunction, isObject, isObserver, isReactive, isString, keys, observe, partialReactive, reactive, setObserver, withClassMethods, withReactiveMethods };\n//# sourceMappingURL=cfcs.esm.js.map\n","/*\nCopyright (c) NAVER Corp.\nname: @cfcs/vue3\nlicense: MIT\nauthor: NAVER Corp.\nrepository: https://github.com/naver/cfcs/tree/main/packages/vue3\nversion: 0.1.0\n*/\nimport { adaptReactive, camelize } from '@cfcs/core';\nimport { ref, onMounted, onUnmounted, reactive } from 'vue';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\nvar __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\n/**\n * @description In Vue 3, you can create reactive components through adapters.\n * @category Reactive\n * @example\n * ```ts\n * import { useReactive } from \"@cfcs/vue3\";\n *\n * export function useReactiveComponent() {\n * return useReactive(REACTIVE_ADAPTER);\n * }\n * ```\n */\n\nfunction useReactive(reactiveAdapter, props) {\n var adaptResult = adaptReactive(reactiveAdapter, props);\n var reactiveState = adaptResult.state();\n var names = Object.keys(reactiveState);\n var refs = {};\n\n for (var name in reactiveState) {\n refs[name] = ref(reactiveState[name]);\n }\n\n var methods = adaptResult.methods();\n onMounted(function () {\n adaptResult.mounted();\n var inst = adaptResult.instance();\n names.forEach(function (name) {\n inst.subscribe(name, function (value) {\n refs[name].value = value;\n });\n });\n adaptResult.init();\n });\n onUnmounted(function () {\n adaptResult.destroy();\n });\n var reactiveEvents = adaptResult.events();\n var events = reactiveEvents.reduce(function (eventResult, name) {\n eventResult[camelize(\"on \".concat(name))] = function (callback) {\n adaptResult.on(name, callback);\n onUnmounted(function () {\n adaptResult.off(name, callback);\n });\n };\n\n return eventResult;\n }, {});\n return __assign(__assign(__assign({}, refs), methods), events);\n}\n/**\n * @category Reactive\n * @hidden\n */\n\nfunction useLegacyReactive(reactiveAdapter, props) {\n var adaptResult = adaptReactive(reactiveAdapter, props);\n var reactiveState = adaptResult.state();\n var names = Object.keys(reactiveState);\n var result;\n var methods = adaptResult.methods();\n onMounted(function () {\n adaptResult.mounted();\n var inst = adaptResult.instance();\n names.forEach(function (name) {\n inst.subscribe(name, function (value) {\n result[name] = value;\n });\n });\n adaptResult.init();\n });\n onUnmounted(function () {\n adaptResult.destroy();\n });\n var reactiveEvents = adaptResult.events();\n var events = reactiveEvents.reduce(function (eventResult, name) {\n eventResult[camelize(\"on \".concat(name))] = function (callback) {\n adaptResult.on(name, callback);\n onUnmounted(function () {\n adaptResult.off(name, callback);\n });\n };\n\n return eventResult;\n }, {});\n result = reactive(__assign(__assign(__assign({}, reactiveState), methods), events));\n return result;\n}\n\nexport { useLegacyReactive, useReactive };\n//# sourceMappingURL=cfcs.esm.js.map\n","import { useReactive } from \"@cfcs/vue3\";\nimport { FlickingReactiveAPIOptions, flickingReactiveAPIAdapter } from \"@egjs/flicking\";\nimport { Ref } from \"vue\";\n\nimport Flicking from \"./Flicking\";\n\nexport const useFlickingReactiveAPI = (flickingRef: Ref<Flicking>, options?: FlickingReactiveAPIOptions) => {\n return useReactive(flickingReactiveAPIAdapter, () => ({\n flicking: flickingRef.value ?? undefined,\n options\n }));\n};\n","import Flicking from \"./Flicking\";\nimport { useFlickingReactiveAPI } from \"./reactive\";\n\nFlicking.useFlickingReactiveAPI = useFlickingReactiveAPI;\nexport default Flicking;\n"],"names":["defineComponent","ExternalRenderer","getFlickingAttached","getCurrentInstance","getRenderingPanels","resolveComponent","h","range","withFlickingMethods","VirtualRenderingStrategy","NormalRenderingStrategy","EVENTS","sync","getDefaultCameraTransform","Comment","Text","Fragment","props","instance","__assign","ref","onMounted","name","onUnmounted","flickingReactiveAPIAdapter"],"mappings":"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","x_google_ignoreList":[5,6]}
|
|
1
|
+
{"version":3,"file":"flicking.cjs.js","sources":["../src/FlickingProps.ts","../src/VueElementProvider.ts","../src/VuePanel.ts","../src/VueRenderer.ts","../src/Flicking.ts","../../../node_modules/.pnpm/@cfcs+core@0.1.0/node_modules/@cfcs/core/dist/cfcs.esm.js","../../../node_modules/.pnpm/@cfcs+vue3@0.1.0/node_modules/@cfcs/vue3/dist/cfcs.esm.js","../src/reactive.ts","../src/index.umd.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\n\nimport { FlickingOptions, Plugin, Status } from \"@egjs/flicking\";\nimport { PropType } from \"vue\";\n\nexport default {\n viewportTag: {\n type: String,\n default: \"div\",\n required: false\n },\n cameraTag: {\n type: String,\n default: \"div\",\n required: false\n },\n cameraClass: {\n type: String,\n default: \"\",\n required: false\n },\n hideBeforeInit: {\n type: Boolean,\n default: false,\n required: false\n },\n firstPanelSize: {\n type: String,\n required: false\n },\n options: {\n type: Object as unknown as () => Partial<FlickingOptions>,\n default: () => ({}),\n required: false\n },\n plugins: {\n type: Array as PropType<Plugin[]>,\n default: () => [],\n required: false\n },\n status: {\n type: Object as PropType<Status>,\n required: false\n }\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ElementProvider } from \"@egjs/flicking\";\n\nimport VuePanel from \"./VuePanel\";\n\nclass VueElementProvider implements ElementProvider {\n private _el: VuePanel;\n private _cachedElement: HTMLElement;\n\n public get rendered() {\n return !this._el.hide;\n }\n public get element() {\n const el = this._el.$el.nextSibling as HTMLElement;\n\n if (el && el.nodeType === Node.ELEMENT_NODE) {\n this._cachedElement = el;\n }\n\n return this._cachedElement;\n }\n\n public constructor(el: VuePanel) {\n this._el = el;\n }\n\n public show() {\n this._el.hide = false;\n }\n\n public hide() {\n this._el.hide = true;\n }\n}\n\nexport default VueElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\n\nimport { defineComponent } from \"vue\";\n\nconst VuePanel = defineComponent({\n data() {\n return {\n hide: false\n };\n },\n render() {\n if (this.hide || !this.$slots.default) return;\n\n return this.$slots.default();\n }\n});\n\ntype VuePanelType = InstanceType<typeof VuePanel>;\n\ninterface VuePanel extends VuePanelType {}\nexport default VuePanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, getFlickingAttached, PanelOptions, RendererOptions } from \"@egjs/flicking\";\n\nimport VueFlicking from \"./Flicking\";\nimport VuePanel from \"./VuePanel\";\n\nexport interface VueRendererOptions extends RendererOptions {\n vueFlicking: VueFlicking;\n}\n\nclass VueRenderer extends ExternalRenderer {\n // Internal States\n private _vueFlicking: VueFlicking;\n\n public constructor(options: VueRendererOptions) {\n super(options);\n\n this._vueFlicking = options.vueFlicking;\n }\n\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const vueFlicking = this._vueFlicking;\n const strategy = this._strategy;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n vueFlicking.renderEmitter.once(\"render\", () => {\n this._afterRender();\n resolve();\n });\n vueFlicking.$forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const vueFlicking = this._vueFlicking;\n\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n vueFlicking.renderEmitter.once(\"render\", resolve);\n vueFlicking.$forceUpdate();\n });\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const vueFlicking = this._vueFlicking;\n const childRefs = vueFlicking.$refs;\n const vuePanels: any[] = Object.keys(childRefs).map(refKey => childRefs[refKey]);\n\n this._panels = this._strategy.collectPanels(flicking, vuePanels);\n }\n\n protected _createPanel(externalComponent: VuePanel, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default VueRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\n\nimport Component from \"@egjs/component\";\nimport VanillaFlicking, {\n EVENTS,\n getDefaultCameraTransform,\n getRenderingPanels,\n NormalRenderingStrategy,\n Plugin,\n range,\n sync,\n VirtualRenderingStrategy,\n withFlickingMethods\n} from \"@egjs/flicking\";\nimport ListDiffer, { DiffResult } from \"@egjs/list-differ\";\nimport { Comment, defineComponent, Fragment, getCurrentInstance, h, resolveComponent, Text, VNode } from \"vue\";\n\nimport FlickingProps from \"./FlickingProps\";\nimport { VueFlicking } from \"./types\";\nimport VueElementProvider from \"./VueElementProvider\";\nimport VuePanel from \"./VuePanel\";\nimport VueRenderer, { VueRendererOptions } from \"./VueRenderer\";\n\nconst Flicking = defineComponent({\n props: FlickingProps,\n components: {\n Panel: VuePanel\n },\n data() {\n return {} as {\n renderEmitter: Component<{ render: undefined }>;\n vanillaFlicking: VanillaFlicking;\n pluginsDiffer: ListDiffer<Plugin>;\n slotDiffer: ListDiffer<VNode>;\n diffResult: DiffResult<VNode> | null;\n };\n },\n created() {\n this.vanillaFlicking = null;\n this.renderEmitter = new Component();\n this.diffResult = null;\n\n this.getPanels = () => {\n const componentInstance = getCurrentInstance() as unknown as { ctx: Flicking } | null;\n const vueFlicking = componentInstance?.ctx;\n const flicking = this.vanillaFlicking;\n const defaultSlots = this.getSlots();\n const diffResult = vueFlicking?.diffResult;\n\n const slots = diffResult ? getRenderingPanels(flicking, diffResult) : defaultSlots;\n\n const panelComponent = resolveComponent(\"Panel\");\n const panels = slots.map((slot, idx) =>\n h(\n panelComponent as any,\n {\n key: slot.key!,\n ref: idx.toString()\n },\n () => slot\n )\n );\n\n return panels;\n };\n this.getVirtualPanels = () => {\n const options = this.options;\n const { panelClass = \"flicking-panel\" } = options.virtual!;\n const panelsPerView = options.panelsPerView as number;\n const flicking = this.vanillaFlicking;\n const initialized = flicking?.initialized;\n\n const renderingIndexes = initialized\n ? flicking.renderer.strategy.getRenderingIndexesByOrder(flicking)\n : range(panelsPerView + 1);\n\n const firstPanel = initialized && flicking.panels[0];\n const size = firstPanel ? (flicking.horizontal ? { width: firstPanel.size } : { height: firstPanel.size }) : {};\n\n return renderingIndexes.map(idx =>\n h(\"div\", {\n key: idx,\n ref: idx.toString(),\n class: panelClass,\n style: size,\n \"data-element-index\": idx\n })\n );\n };\n\n withFlickingMethods(this, \"vanillaFlicking\");\n },\n mounted() {\n const options = this.options;\n const viewportEl = this.$el as HTMLElement;\n const rendererOptions: VueRendererOptions = {\n vueFlicking: this,\n align: options.align,\n strategy:\n options.virtual && (options.panelsPerView ?? -1) > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: VueElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(viewportEl, {\n ...options,\n externalRenderer: new VueRenderer(rendererOptions)\n });\n this.vanillaFlicking = flicking;\n\n flicking.once(EVENTS.READY, () => {\n this.$forceUpdate();\n });\n\n const slots = this.getSlots();\n this.slotDiffer = new ListDiffer<VNode>(slots, vnode => vnode.key! as string | number);\n this.pluginsDiffer = new ListDiffer<Plugin>();\n\n this.bindEvents();\n this.checkPlugins();\n\n if (this.status) {\n flicking.setStatus(this.status);\n }\n },\n beforeUnmount() {\n this.vanillaFlicking?.destroy();\n },\n beforeMount() {\n this.fillKeys();\n },\n beforeUpdate() {\n this.fillKeys();\n\n this.diffResult = this.slotDiffer?.update(this.getSlots());\n },\n updated() {\n const flicking = this.vanillaFlicking;\n const diffResult = this.diffResult;\n\n this.checkPlugins();\n this.renderEmitter.trigger(\"render\");\n\n if (!diffResult || !flicking?.initialized) return;\n\n const children = this.getChildren();\n\n sync(flicking, diffResult, children);\n\n if (diffResult.added.length > 0 || diffResult.removed.length > 0) {\n this.$forceUpdate();\n }\n\n this.diffResult = undefined;\n },\n render() {\n const flicking = this.vanillaFlicking;\n const options = this.options;\n const initialized = flicking?.initialized;\n const isHorizontal = flicking ? flicking.horizontal : (this.options.horizontal ?? true);\n\n const viewportData = {\n class: {\n \"flicking-viewport\": true,\n vertical: !isHorizontal,\n \"flicking-hidden\": this.hideBeforeInit && !initialized\n }\n };\n const cameraData = {\n class: {\n \"flicking-camera\": true,\n [this.cameraClass]: !!this.cameraClass\n },\n style:\n !initialized && this.firstPanelSize\n ? { transform: getDefaultCameraTransform(this.options.align, this.options.horizontal, this.firstPanelSize) }\n : {}\n };\n\n const panels =\n options.virtual && options.panelsPerView && options.panelsPerView > 0 ? this.getVirtualPanels : this.getPanels;\n\n const viewportSlots = this.$slots.viewport ? this.$slots.viewport() : [];\n\n return h(this.viewportTag, viewportData, [h(this.cameraTag, cameraData, { default: panels }), ...viewportSlots]);\n },\n methods: {\n getSlots() {\n const slots = this.$slots.default ? this.$slots.default() : [];\n\n return slots\n .reduce((elementSlots, slot) => [...elementSlots, ...this.getElementVNodes(slot)], [] as VNode[])\n .filter(slot => slot.type !== Comment && slot.type !== Text);\n },\n getElementVNodes(slot: VNode, childSlots: VNode[] = []): VNode[] {\n if (slot.type === Fragment && Array.isArray(slot.children)) {\n slot.children\n .filter(child => child && typeof child === \"object\")\n .forEach(child => this.getElementVNodes(child as VNode, childSlots));\n } else {\n childSlots.push(slot);\n }\n\n return childSlots;\n },\n bindEvents() {\n const flicking = this.vanillaFlicking;\n const events = (Object.keys(EVENTS) as Array<keyof typeof EVENTS>).map(key => EVENTS[key]);\n\n events.forEach(eventName => {\n flicking.on(eventName, (e: any) => {\n e.currentTarget = this;\n // Make events from camelCase to kebab-case\n this.$emit(eventName.replace(/([A-Z])/g, \"-$1\").toLowerCase(), e);\n });\n });\n },\n checkPlugins() {\n const { list, added, removed, prevList } = this.pluginsDiffer.update(this.plugins);\n\n this.vanillaFlicking!.addPlugins(...added.map(index => list[index]));\n this.vanillaFlicking!.removePlugins(...removed.map(index => prevList[index]));\n },\n fillKeys() {\n const vnodes = this.getSlots();\n\n vnodes.forEach((node, idx) => {\n if (node.key == null) {\n node.key = `$_${idx}`;\n }\n });\n },\n getChildren() {\n const childRefs = this.$refs;\n\n return Object.keys(childRefs).map(refKey => childRefs[refKey]);\n }\n },\n watch: {\n options: {\n handler(newOptions) {\n const flicking = this.vanillaFlicking;\n if (!flicking) return;\n\n // Omit 'virtual', as it can't have any setter\n const { virtual, ...options } = newOptions; // eslint-disable-line @typescript-eslint/no-unused-vars\n\n for (const key in options) {\n if (key in flicking && flicking[key] !== options[key]) {\n flicking[key] = options[key];\n }\n }\n },\n deep: true,\n immediate: true\n }\n }\n}) as unknown as VueFlicking;\n\ninterface Flicking extends VueFlicking, VanillaFlicking {}\nexport default Flicking;\n","/*\nCopyright (c) 2022-present NAVER Corp.\nname: @cfcs/core\nlicense: MIT\nauthor: NAVER Crop.\nrepository: https://github.com/naver/cfcs/tree/main/packages/core\nversion: 0.1.0\n*/\nimport Component from '@egjs/component';\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n\n/**\n * @hidden\n */\nfunction keys(obj) {\n return Object.keys(obj);\n}\n/**\n * @hidden\n */\n\nfunction camelize(str) {\n return str.replace(/[\\s-_]([a-z])/g, function (all, letter) {\n return letter.toUpperCase();\n });\n}\n/**\n * @hidden\n */\n\nfunction isString(val) {\n return typeof val === \"string\";\n}\n/**\n * @hidden\n */\n\nfunction isObject(val) {\n return typeof val === \"object\";\n}\n/**\n * @hidden\n */\n\nfunction isFunction(val) {\n return typeof val === \"function\";\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * @hidden\n */\n\nfunction findTarget(target) {\n var el;\n\n if (!target) {\n return null;\n }\n\n if (isString(target)) {\n el = document.querySelector(target);\n } else if (target instanceof Element) {\n el = target;\n } else if (\"value\" in target || \"current\" in target) {\n el = target.value || target.current;\n }\n\n return el;\n}\n/**\n * @description Sets the name of the class method to be exposed to the outside.\n * @category DOM\n * @return Property Decorator\n * @example\n * ```ts\n * import { withClassMethods } from \"@cfcs/core\";\n *\n * class YourFrameworkComponent {\n * @withClassMethod(METHOD_NAMES)\n * inst = new YourComponent();\n * }\n * ```\n */\n\nfunction withClassMethods(methods) {\n return function (prototype, memberName) {\n methods.forEach(function (name) {\n if (name in prototype) {\n return;\n }\n\n prototype[name] = function () {\n var _a;\n\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var result = (_a = this[memberName])[name].apply(_a, args); // fix `this` type to return your own `class` instance to the instance using the decorator.\n\n\n if (result === this[memberName]) {\n return this;\n } else {\n return result;\n }\n };\n });\n };\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\nvar OBSERVERS_PATH = \"__observers__\";\nvar COMPUTED_PATH = \"__computed__\";\nvar CFCS_DETECTED_DEPENDENCIES_VERSION = 1;\nvar CFCS_DETECTED_DEPENDENCIES = \"__CFCS_DETECTED_DEPENDENCIES__\";\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n\n/* global Reflect, Promise */\nvar extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n\n return extendStatics(d, b);\n};\n\nfunction __extends(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nfunction __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\nfunction getDetectedStack() {\n // Version issues do not occur when you access the native object in the global.\n Object[CFCS_DETECTED_DEPENDENCIES] = Object[CFCS_DETECTED_DEPENDENCIES] || {};\n var versionList = Object[CFCS_DETECTED_DEPENDENCIES];\n versionList[CFCS_DETECTED_DEPENDENCIES_VERSION] = versionList[CFCS_DETECTED_DEPENDENCIES_VERSION] || [];\n return versionList[CFCS_DETECTED_DEPENDENCIES_VERSION];\n}\nfunction getCurrentDetected() {\n var stack = getDetectedStack();\n return stack[stack.length - 1];\n}\nfunction detectDependencies(host) {\n var stack = getDetectedStack();\n var observers = [];\n var detected = {\n host: host,\n observers: observers,\n push: function (observer) {\n if (host !== observer && observers.indexOf(observer) === -1) {\n observers.push(observer);\n }\n }\n };\n stack.push(detected);\n return detected;\n}\nfunction endDetectDependencies() {\n var stack = getDetectedStack();\n return stack.pop();\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * Creates a mutable ref object. You can access the `.current` value and detect the value change through `.subscribe`.\n * @category Reactive\n * @see observe\n */\n\nvar Observer =\n/*#__PURE__*/\nfunction () {\n /**\n *\n */\n function Observer(value) {\n this._emitter = new Component();\n this._current = value;\n }\n\n var __proto = Observer.prototype;\n Object.defineProperty(__proto, \"current\", {\n /**\n * return the current value.\n */\n get: function () {\n var currentDetected = getCurrentDetected();\n currentDetected === null || currentDetected === void 0 ? void 0 : currentDetected.push(this);\n return this._current;\n },\n set: function (value) {\n this._setCurrent(value);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * When the current value changes, the callback function is called.\n */\n\n __proto.subscribe = function (callback) {\n this.current;\n\n this._emitter.on(\"update\", callback);\n\n return this;\n };\n /**\n * Cancel the registered subscription through callback.\n */\n\n\n __proto.unsubscribe = function (callback) {\n this._emitter.off(\"update\", callback);\n\n return this;\n };\n\n __proto._setCurrent = function (value) {\n var prevValue = this._current;\n var isUpdate = value !== prevValue;\n this._current = value;\n\n if (isUpdate) {\n this._emitter.trigger(\"update\", value, prevValue);\n }\n };\n /**\n * @hidden\n */\n\n\n __proto.toString = function () {\n return \"\".concat(this.current);\n };\n /**\n * @hidden\n */\n\n\n __proto.valueOf = function () {\n return this.current;\n };\n\n return Observer;\n}();\n\n/**\n * @category Reactive\n * @hidden\n */\n\nvar ComputedObserver =\n/*#__PURE__*/\nfunction (_super) {\n __extends(ComputedObserver, _super);\n /**\n * @description Creates a new computed observer from the values of other observers.\n * It is read-only and if you change the value of the observer used inside the callback, its value will be automatically updated.\n * @param _computedCallback A function for observers to be computed.\n */\n\n\n function ComputedObserver(_computedCallback) {\n var _this = _super.call(this) || this;\n\n _this._computedCallback = _computedCallback;\n _this._registered = [];\n\n _this._onCheckUpdate = function () {\n _this._setCurrent(_this.current);\n };\n\n _this._current = _this.current;\n return _this;\n }\n\n var __proto = ComputedObserver.prototype;\n Object.defineProperty(__proto, \"current\", {\n get: function () {\n var _this = this;\n\n detectDependencies(this);\n\n var value = this._computedCallback();\n\n var results = endDetectDependencies();\n\n this._registered.forEach(function (observer) {\n observer.unsubscribe(_this._onCheckUpdate);\n });\n\n results.observers.forEach(function (observer) {\n observer.subscribe(_this._onCheckUpdate);\n });\n this._registered = results.observers;\n return value;\n },\n enumerable: false,\n configurable: true\n });\n return ComputedObserver;\n}(Observer);\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n\nfunction injectObserve(prototype, memberName, publicName) {\n if (publicName === void 0) {\n publicName = memberName;\n }\n\n var nextAttributes = {\n configurable: true,\n get: function () {\n return getObserver(this, publicName).current;\n },\n set: function (value) {\n getObserver(this, publicName, value).current = value;\n }\n };\n Object.defineProperty(prototype, memberName, nextAttributes);\n\n if (publicName !== memberName) {\n Object.defineProperty(prototype, publicName, {\n configurable: true,\n get: function () {\n return getObserver(this, publicName).current;\n }\n });\n }\n}\n/**\n * @description `Observe` is a property decorator and converts the property into a `reactive state`. You can detect its status through `.subscribe`.\n * @category Reactive-Decorator\n * @see ReactiveSubscribe\n * @example\n* ```ts\nimport { ReactiveSubscribe, Observe } from \"@cfcs/core\";\n\n@ReactiveSubscribe\nclass Component {\n // The public name and state name are the same.\n @Observe value1 = 1;\n // If you want to set public name and private properties separately\n @Observe(\"value2\") _value2 = 1;\n\n constructor() {\n requestAnimationFrame(() => {\n this.value1 = 2;\n });\n }\n}\ninterface C\n```\n */\n\n\nfunction Observe() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n if (args.length > 1) {\n return injectObserve(args[0], args[1]);\n }\n\n return function (prototype, memberName) {\n return injectObserve(prototype, memberName, args[0]);\n };\n}\n/**\n * @hidden\n */\n\nfunction Reactive() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n return Observe.apply(void 0, args);\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * @hidden\n */\n\nfunction injectReactiveSubscribe(object) {\n object[\"subscribe\"] = function (name, callback) {\n this[name];\n getObserver(this, name).subscribe(callback);\n };\n\n object[\"unsubscribe\"] = function (name, callback) {\n var _this = this;\n\n if (!name) {\n keys(getObservers(this)).forEach(function (observerName) {\n _this.unsubscribe(observerName);\n });\n return;\n }\n\n if (!(name in this)) {\n return;\n }\n\n getObserver(this, name).unsubscribe(callback);\n };\n}\n/**\n * @description `ReactiveSubscribe` is a class decorator and adds `.subscribe` and `.unsubscribe` methods.\n * @category Reactive-Decorator\n * @see Observe\n * @example\n * ```ts\nimport { ReactiveSubscribe, Observe } from \"@cfcs/core\";\n\n@ReactiveSubscribe\nclass Component {\n @Observe value1 = 1;\n\n constructor() {\n requestAnimationFrame(() => {\n this.value1 = 2;\n });\n }\n}\n\ninterface Component extends ReactiveSubscribe<{\n value1: number;\n value2: number;\n}> {}\n\nconst component = new Component();\n\n// 1\nconsole.log(component.value1);\n\ncomponent.subscribe(\"value1\", nextValue => {\n // When the change event occurs => (2, 2)\n console.log(nextValue, component.value2);\n});\n```\n */\n\nfunction ReactiveSubscribe(Constructor) {\n var prototype = Constructor.prototype;\n injectReactiveSubscribe(prototype);\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n\nfunction makeReactiveObject(setup, all) {\n var result = isFunction(setup) ? setup() : setup;\n var reactiveObject = {};\n defineObservers(reactiveObject);\n keys(result).forEach(function (name) {\n var value = result[name];\n\n if (isObserver(value)) {\n setObserver(reactiveObject, name, value);\n } else {\n setObserver(reactiveObject, name, observe(value));\n }\n\n Observe(name)(reactiveObject, name);\n });\n injectReactiveSubscribe(reactiveObject);\n return reactiveObject;\n}\n/**\n * @description Make the return value of the corresponding object or function a reactive object.\n * @category Reactive\n * @param setup - The target object or function to which reactive is applied\n * @returns Makes all values into reactive objects.\n * @example\n * ```ts\n * import { reactive } from \"@cfcs/core\";\n *\n * const obj = reactive({\n * value1: 1,\n * value2: 2,\n * });\n *\n * obj.subscribe(\"value1\", value1 => {\n * console.log(value1);\n * });\n * obj.value1 = 2;\n * ```\n */\n\n\nfunction reactive(setup) {\n return makeReactiveObject(setup);\n}\n/**\n * @description Make the return value of the corresponding object or function a reactive object.\n * @category Reactive\n * @param setup - The target object or function to which reactive is applied\n * @returns Only the values to which observer is applied are objects to which reactive is applied.\n * @example\n * ```ts\n * import { partialReactive, observe } from \"@cfcs/core\";\n *\n * const value1 = observe(1);\n * const value2 = observe(2);\n * const obj = partialReactive({\n * value1,\n * value2,\n * });\n *\n * obj.subscribe(\"value1\", value1 => {\n * console.log(value1);\n * });\n * value1.current = 2;\n * ```\n */\n\nfunction partialReactive(setup) {\n return makeReactiveObject(setup);\n}\n/**\n * @description Creates a mutable ref object. You can access the `.current` value and detect the value change through `.subscribe`.\n * @category Reactive\n * @example\n * ```ts\n * import { observe } from \"@cfcs/core\";\n *\n * const ob1 = observe(1);\n *\n * ob1.subscribe(nextValue => {\n * console.log(nextValue);\n * });\n *\n * ob1.current = 2;\n * ```\n */\n\nfunction observe(defaultValue) {\n return new Observer(defaultValue);\n}\n/**\n * @hidden\n */\n\nfunction computed(computedCallback) {\n return new ComputedObserver(computedCallback);\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * @hidden\n */\n\nfunction withReactiveMethods(ref, methods) {\n var obj = {};\n\n if (!methods) {\n return obj;\n }\n\n methods.forEach(function (name) {\n obj[name] = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var current = ref.current || ref.value;\n return current[name].apply(current, args);\n };\n });\n return obj;\n}\n/**\n * @hidden\n */\n\nfunction defineObservers(instance) {\n var observers = {};\n Object.defineProperty(instance, OBSERVERS_PATH, {\n get: function () {\n return observers;\n }\n });\n return observers;\n}\n/**\n * @hidden\n */\n\nfunction getObservers(instance, isComputed) {\n var _a, _b;\n\n if (!instance[OBSERVERS_PATH]) {\n defineObservers(instance);\n }\n\n var observers = instance[OBSERVERS_PATH];\n\n if (!isComputed) {\n var computedList = (_b = (_a = instance === null || instance === void 0 ? void 0 : instance.constructor) === null || _a === void 0 ? void 0 : _a.prototype) === null || _b === void 0 ? void 0 : _b[COMPUTED_PATH];\n\n if (computedList) {\n computedList.forEach(function (name) {\n if (!(name in observers) && name in instance) {\n instance[name];\n }\n });\n }\n }\n\n return observers;\n}\n/**\n * @hidden\n */\n\nfunction getObserver(instance, name, defaultValue) {\n var observers = getObservers(instance);\n\n if (!observers[name]) {\n observers[name] = observe(defaultValue);\n }\n\n return observers[name];\n}\n/**\n * @hidden\n */\n\nfunction setObserver(instance, name, observer) {\n var observers = getObservers(instance);\n observers[name] = observer;\n}\n/**\n * @description Whether that object is an observer instance\n * @category Reactive\n */\n\nfunction isObserver(val) {\n return val && isObject(val) && \"current\" in val && \"subscribe\" in val && \"unsubscribe\" in val;\n}\n/**\n * @description Whether the object is reactive\n * @category Reactive\n */\n\nfunction isReactive(val) {\n return val && !isObserver(val) && \"subscribe\" in val && \"unsubscribe\" in val;\n}\n\n/**\n * @category Reactive\n * @hidden\n */\n\nfunction adaptReactive(adapter, props) {\n var objectAdapter = isFunction(adapter) ? {\n setup: adapter\n } : adapter;\n\n function getProps() {\n var _a, _b, _c, _d, _e;\n\n return (_e = (_c = (_a = props === null || props === void 0 ? void 0 : props()) !== null && _a !== void 0 ? _a : (_b = objectAdapter.props) === null || _b === void 0 ? void 0 : _b.call(objectAdapter)) !== null && _c !== void 0 ? _c : (_d = objectAdapter.data) === null || _d === void 0 ? void 0 : _d.call(objectAdapter)) !== null && _e !== void 0 ? _e : {};\n }\n\n var eventEmitter = new Component();\n var mountedHooks = [];\n var initHooks = [];\n var destroyHooks = [];\n var onHooks = [];\n var instanceRef = {\n current: null\n };\n var offHooksList = [];\n var initialState = null;\n var eventNames = [];\n var methodNames = [];\n\n var onMounted = function (callback) {\n mountedHooks.push(callback);\n };\n\n var onInit = function (callback) {\n initHooks.push(callback);\n };\n\n var onDestroy = function (callback) {\n destroyHooks.push(callback);\n };\n\n var on = function (callback) {\n onHooks.push(callback);\n };\n\n var emit = function (eventName) {\n var params = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n params[_i - 1] = arguments[_i];\n }\n\n eventEmitter.trigger.apply(eventEmitter, __spreadArray([eventName], params, false));\n };\n\n var setInitialState = function (state) {\n initialState = state;\n };\n\n var setEvents = function (events) {\n eventNames = events;\n };\n\n var setMethods = function (methods) {\n methodNames = methods;\n };\n\n if (objectAdapter.setup) {\n instanceRef.current = objectAdapter.setup({\n getProps: getProps,\n setInitialState: setInitialState,\n setEvents: setEvents,\n setMethods: setMethods,\n onMounted: onMounted,\n onDestroy: onDestroy,\n onInit: onInit,\n emit: emit,\n on: on\n }) || null;\n }\n\n if (objectAdapter.created) {\n instanceRef.current = objectAdapter.created(getProps()) || null;\n }\n\n if (objectAdapter.events) {\n setEvents(objectAdapter.events);\n }\n\n if (objectAdapter.state) {\n setInitialState(objectAdapter.state);\n }\n\n if (objectAdapter.methods) {\n setMethods(objectAdapter.methods);\n }\n\n if (objectAdapter.mounted) {\n onMounted(objectAdapter.mounted);\n }\n\n if (objectAdapter.destroy) {\n destroyHooks.push(objectAdapter.destroy);\n }\n\n if (objectAdapter.init) {\n initHooks.push(objectAdapter.init);\n }\n\n if (objectAdapter.on) {\n onHooks.push(function (instance, eventName, listener) {\n var off = objectAdapter.on(instance, eventName, listener);\n return function () {\n var _a;\n\n off && off();\n (_a = objectAdapter.off) === null || _a === void 0 ? void 0 : _a.call(objectAdapter, instance, eventName, listener);\n };\n });\n }\n\n return {\n events: function () {\n return eventNames;\n },\n state: function () {\n var inst = instanceRef.current;\n\n if (initialState) {\n return initialState;\n }\n\n if (inst) {\n var observers_1 = getObservers(inst);\n setInitialState(keys(observers_1).reduce(function (prev, cur) {\n prev[cur] = observers_1[cur].current;\n return prev;\n }, {}));\n }\n\n return initialState || {};\n },\n instance: function () {\n return instanceRef.current;\n },\n mounted: function () {\n var props = getProps();\n mountedHooks.forEach(function (hook) {\n instanceRef.current = hook(props, instanceRef.current) || instanceRef.current;\n });\n },\n init: function () {\n // on events\n var instance = instanceRef.current;\n var props = getProps();\n offHooksList = eventNames.map(function (eventName) {\n var listener = function () {\n var _a;\n\n var params = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n\n (_a = eventEmitter).trigger.apply(_a, __spreadArray([eventName], params, false));\n };\n\n var instance = instanceRef.current;\n return onHooks.map(function (hook) {\n return hook(instance, eventName, listener);\n }).filter(Boolean);\n }); // init\n\n initHooks.forEach(function (hook) {\n hook(instance, props);\n });\n },\n destroy: function () {\n // off events\n offHooksList.forEach(function (offHooks) {\n offHooks.forEach(function (hook) {\n hook();\n });\n }); // destroy\n\n eventEmitter.off();\n var instance = instanceRef.current;\n var props = getProps();\n destroyHooks.forEach(function (hook) {\n hook(instance, props);\n });\n },\n methods: function () {\n return withReactiveMethods(instanceRef, methodNames);\n },\n on: function (eventName, listener) {\n eventEmitter.on(eventName, listener);\n },\n off: function (eventName, listener) {\n eventEmitter.off(eventName, listener);\n }\n };\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * @description `Computed` is a property decorator.\n * Changes in computed state values are also recognized according to changes in observers used within the getter function.\n * You can detect its status through `.subscribe`.\n * @hidden\n * @category Reactive-Decorator\n * @see ReactiveSubscribe\n * @example\n * ```ts\nconst ob1 = observe(0);\nconst ob2 = observe(1);\n\n// When\n@ReactiveSubscribe\nclass TestComputed {\n @Computed\n get ob3() {\n return ob1.current + ob2.current;\n }\n}\nconst inst = new TestComputed();\n\ninst.subscribe(\"ob3\", ob3 => {\n console.log(ob3);\n});\n\nob1.current = 1;\n```\n */\n\nfunction Computed(prototype, memberName, attributes) {\n var get = attributes.get;\n\n function getComputed() {\n var observers = getObservers(this, true);\n\n if (!(memberName in observers)) {\n observers[memberName] = computed(get.bind(this));\n }\n\n return getObserver(this, memberName).current;\n }\n\n var nextAttributes = {\n configurable: true,\n get: getComputed\n };\n prototype[COMPUTED_PATH] || (prototype[COMPUTED_PATH] = []);\n var computedList = prototype[COMPUTED_PATH];\n\n if (computedList.indexOf(memberName) === -1) {\n computedList.push(memberName);\n }\n\n Object.defineProperty(prototype, memberName, nextAttributes);\n return nextAttributes;\n}\n\nexport { Computed, ComputedObserver, Observe, Observer, Reactive, ReactiveSubscribe, adaptReactive, camelize, computed, defineObservers, findTarget, getObserver, getObservers, injectReactiveSubscribe, isFunction, isObject, isObserver, isReactive, isString, keys, observe, partialReactive, reactive, setObserver, withClassMethods, withReactiveMethods };\n//# sourceMappingURL=cfcs.esm.js.map\n","/*\nCopyright (c) NAVER Corp.\nname: @cfcs/vue3\nlicense: MIT\nauthor: NAVER Corp.\nrepository: https://github.com/naver/cfcs/tree/main/packages/vue3\nversion: 0.1.0\n*/\nimport { adaptReactive, camelize } from '@cfcs/core';\nimport { ref, onMounted, onUnmounted, reactive } from 'vue';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\nvar __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\n/**\n * @description In Vue 3, you can create reactive components through adapters.\n * @category Reactive\n * @example\n * ```ts\n * import { useReactive } from \"@cfcs/vue3\";\n *\n * export function useReactiveComponent() {\n * return useReactive(REACTIVE_ADAPTER);\n * }\n * ```\n */\n\nfunction useReactive(reactiveAdapter, props) {\n var adaptResult = adaptReactive(reactiveAdapter, props);\n var reactiveState = adaptResult.state();\n var names = Object.keys(reactiveState);\n var refs = {};\n\n for (var name in reactiveState) {\n refs[name] = ref(reactiveState[name]);\n }\n\n var methods = adaptResult.methods();\n onMounted(function () {\n adaptResult.mounted();\n var inst = adaptResult.instance();\n names.forEach(function (name) {\n inst.subscribe(name, function (value) {\n refs[name].value = value;\n });\n });\n adaptResult.init();\n });\n onUnmounted(function () {\n adaptResult.destroy();\n });\n var reactiveEvents = adaptResult.events();\n var events = reactiveEvents.reduce(function (eventResult, name) {\n eventResult[camelize(\"on \".concat(name))] = function (callback) {\n adaptResult.on(name, callback);\n onUnmounted(function () {\n adaptResult.off(name, callback);\n });\n };\n\n return eventResult;\n }, {});\n return __assign(__assign(__assign({}, refs), methods), events);\n}\n/**\n * @category Reactive\n * @hidden\n */\n\nfunction useLegacyReactive(reactiveAdapter, props) {\n var adaptResult = adaptReactive(reactiveAdapter, props);\n var reactiveState = adaptResult.state();\n var names = Object.keys(reactiveState);\n var result;\n var methods = adaptResult.methods();\n onMounted(function () {\n adaptResult.mounted();\n var inst = adaptResult.instance();\n names.forEach(function (name) {\n inst.subscribe(name, function (value) {\n result[name] = value;\n });\n });\n adaptResult.init();\n });\n onUnmounted(function () {\n adaptResult.destroy();\n });\n var reactiveEvents = adaptResult.events();\n var events = reactiveEvents.reduce(function (eventResult, name) {\n eventResult[camelize(\"on \".concat(name))] = function (callback) {\n adaptResult.on(name, callback);\n onUnmounted(function () {\n adaptResult.off(name, callback);\n });\n };\n\n return eventResult;\n }, {});\n result = reactive(__assign(__assign(__assign({}, reactiveState), methods), events));\n return result;\n}\n\nexport { useLegacyReactive, useReactive };\n//# sourceMappingURL=cfcs.esm.js.map\n","import { useReactive } from \"@cfcs/vue3\";\nimport { FlickingReactiveAPIOptions, flickingReactiveAPIAdapter } from \"@egjs/flicking\";\nimport { Ref } from \"vue\";\n\nimport Flicking from \"./Flicking\";\n\nexport const useFlickingReactiveAPI = (flickingRef: Ref<Flicking>, options?: FlickingReactiveAPIOptions) => {\n return useReactive(flickingReactiveAPIAdapter, () => ({\n flicking: flickingRef.value ?? undefined,\n options\n }));\n};\n","import Flicking from \"./Flicking\";\nimport { useFlickingReactiveAPI } from \"./reactive\";\n\nFlicking.useFlickingReactiveAPI = useFlickingReactiveAPI;\nexport default Flicking;\n"],"names":["defineComponent","ExternalRenderer","getFlickingAttached","getCurrentInstance","getRenderingPanels","resolveComponent","h","range","withFlickingMethods","VirtualRenderingStrategy","NormalRenderingStrategy","EVENTS","sync","getDefaultCameraTransform","Comment","Text","Fragment","props","instance","__assign","ref","onMounted","name","onUnmounted","flickingReactiveAPIAdapter"],"mappings":"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","x_google_ignoreList":[5,6]}
|
package/dist/flicking.esm.js
CHANGED
|
@@ -1,3 +1,57 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
8
|
+
var __reflectGet = Reflect.get;
|
|
9
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
+
var __spreadValues = (a, b) => {
|
|
11
|
+
for (var prop in b || (b = {}))
|
|
12
|
+
if (__hasOwnProp.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
if (__getOwnPropSymbols)
|
|
15
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
+
if (__propIsEnum.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
18
|
+
}
|
|
19
|
+
return a;
|
|
20
|
+
};
|
|
21
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
22
|
+
var __objRest = (source, exclude) => {
|
|
23
|
+
var target = {};
|
|
24
|
+
for (var prop in source)
|
|
25
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
26
|
+
target[prop] = source[prop];
|
|
27
|
+
if (source != null && __getOwnPropSymbols)
|
|
28
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
29
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
30
|
+
target[prop] = source[prop];
|
|
31
|
+
}
|
|
32
|
+
return target;
|
|
33
|
+
};
|
|
34
|
+
var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
|
|
35
|
+
var __async = (__this, __arguments, generator) => {
|
|
36
|
+
return new Promise((resolve, reject) => {
|
|
37
|
+
var fulfilled = (value) => {
|
|
38
|
+
try {
|
|
39
|
+
step(generator.next(value));
|
|
40
|
+
} catch (e) {
|
|
41
|
+
reject(e);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
var rejected = (value) => {
|
|
45
|
+
try {
|
|
46
|
+
step(generator.throw(value));
|
|
47
|
+
} catch (e) {
|
|
48
|
+
reject(e);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
52
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
53
|
+
});
|
|
54
|
+
};
|
|
1
55
|
import Component from "@egjs/component";
|
|
2
56
|
import VanillaFlicking__default, { ExternalRenderer, getFlickingAttached, EVENTS, getDefaultCameraTransform, sync, VirtualRenderingStrategy, NormalRenderingStrategy, getRenderingPanels, range, withFlickingMethods, flickingReactiveAPIAdapter } from "@egjs/flicking";
|
|
3
57
|
export * from "@egjs/flicking";
|
|
@@ -80,26 +134,30 @@ class VueRenderer extends ExternalRenderer {
|
|
|
80
134
|
super(options);
|
|
81
135
|
this._vueFlicking = options.vueFlicking;
|
|
82
136
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
137
|
+
render() {
|
|
138
|
+
return __async(this, null, function* () {
|
|
139
|
+
const flicking = getFlickingAttached(this._flicking);
|
|
140
|
+
const vueFlicking = this._vueFlicking;
|
|
141
|
+
const strategy = this._strategy;
|
|
142
|
+
strategy.updateRenderingPanels(flicking);
|
|
143
|
+
strategy.renderPanels(flicking);
|
|
144
|
+
return new Promise((resolve) => {
|
|
145
|
+
vueFlicking.renderEmitter.once("render", () => {
|
|
146
|
+
this._afterRender();
|
|
147
|
+
resolve();
|
|
148
|
+
});
|
|
149
|
+
vueFlicking.$forceUpdate();
|
|
93
150
|
});
|
|
94
|
-
vueFlicking.$forceUpdate();
|
|
95
151
|
});
|
|
96
152
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
153
|
+
forceRenderAllPanels() {
|
|
154
|
+
return __async(this, null, function* () {
|
|
155
|
+
const vueFlicking = this._vueFlicking;
|
|
156
|
+
yield __superGet(VueRenderer.prototype, this, "forceRenderAllPanels").call(this);
|
|
157
|
+
return new Promise((resolve) => {
|
|
158
|
+
vueFlicking.renderEmitter.once("render", resolve);
|
|
159
|
+
vueFlicking.$forceUpdate();
|
|
160
|
+
});
|
|
103
161
|
});
|
|
104
162
|
}
|
|
105
163
|
_collectPanels() {
|
|
@@ -127,10 +185,10 @@ const Flicking = defineComponent({
|
|
|
127
185
|
this.diffResult = null;
|
|
128
186
|
this.getPanels = () => {
|
|
129
187
|
const componentInstance = getCurrentInstance();
|
|
130
|
-
const vueFlicking = componentInstance
|
|
188
|
+
const vueFlicking = componentInstance == null ? void 0 : componentInstance.ctx;
|
|
131
189
|
const flicking = this.vanillaFlicking;
|
|
132
190
|
const defaultSlots = this.getSlots();
|
|
133
|
-
const diffResult = vueFlicking
|
|
191
|
+
const diffResult = vueFlicking == null ? void 0 : vueFlicking.diffResult;
|
|
134
192
|
const slots = diffResult ? getRenderingPanels(flicking, diffResult) : defaultSlots;
|
|
135
193
|
const panelComponent = resolveComponent("Panel");
|
|
136
194
|
const panels = slots.map(
|
|
@@ -150,7 +208,7 @@ const Flicking = defineComponent({
|
|
|
150
208
|
const { panelClass = "flicking-panel" } = options.virtual;
|
|
151
209
|
const panelsPerView = options.panelsPerView;
|
|
152
210
|
const flicking = this.vanillaFlicking;
|
|
153
|
-
const initialized = flicking
|
|
211
|
+
const initialized = flicking == null ? void 0 : flicking.initialized;
|
|
154
212
|
const renderingIndexes = initialized ? flicking.renderer.strategy.getRenderingIndexesByOrder(flicking) : range(panelsPerView + 1);
|
|
155
213
|
const firstPanel = initialized && flicking.panels[0];
|
|
156
214
|
const size = firstPanel ? flicking.horizontal ? { width: firstPanel.size } : { height: firstPanel.size } : {};
|
|
@@ -167,19 +225,19 @@ const Flicking = defineComponent({
|
|
|
167
225
|
withFlickingMethods(this, "vanillaFlicking");
|
|
168
226
|
},
|
|
169
227
|
mounted() {
|
|
228
|
+
var _a;
|
|
170
229
|
const options = this.options;
|
|
171
230
|
const viewportEl = this.$el;
|
|
172
231
|
const rendererOptions = {
|
|
173
232
|
vueFlicking: this,
|
|
174
233
|
align: options.align,
|
|
175
|
-
strategy: options.virtual && (options.panelsPerView
|
|
234
|
+
strategy: options.virtual && ((_a = options.panelsPerView) != null ? _a : -1) > 0 ? new VirtualRenderingStrategy() : new NormalRenderingStrategy({
|
|
176
235
|
providerCtor: VueElementProvider
|
|
177
236
|
})
|
|
178
237
|
};
|
|
179
|
-
const flicking = new VanillaFlicking__default(viewportEl, {
|
|
180
|
-
...options,
|
|
238
|
+
const flicking = new VanillaFlicking__default(viewportEl, __spreadProps(__spreadValues({}, options), {
|
|
181
239
|
externalRenderer: new VueRenderer(rendererOptions)
|
|
182
|
-
});
|
|
240
|
+
}));
|
|
183
241
|
this.vanillaFlicking = flicking;
|
|
184
242
|
flicking.once(EVENTS.READY, () => {
|
|
185
243
|
this.$forceUpdate();
|
|
@@ -194,21 +252,23 @@ const Flicking = defineComponent({
|
|
|
194
252
|
}
|
|
195
253
|
},
|
|
196
254
|
beforeUnmount() {
|
|
197
|
-
|
|
255
|
+
var _a;
|
|
256
|
+
(_a = this.vanillaFlicking) == null ? void 0 : _a.destroy();
|
|
198
257
|
},
|
|
199
258
|
beforeMount() {
|
|
200
259
|
this.fillKeys();
|
|
201
260
|
},
|
|
202
261
|
beforeUpdate() {
|
|
262
|
+
var _a;
|
|
203
263
|
this.fillKeys();
|
|
204
|
-
this.diffResult = this.slotDiffer
|
|
264
|
+
this.diffResult = (_a = this.slotDiffer) == null ? void 0 : _a.update(this.getSlots());
|
|
205
265
|
},
|
|
206
266
|
updated() {
|
|
207
267
|
const flicking = this.vanillaFlicking;
|
|
208
268
|
const diffResult = this.diffResult;
|
|
209
269
|
this.checkPlugins();
|
|
210
270
|
this.renderEmitter.trigger("render");
|
|
211
|
-
if (!diffResult || !flicking
|
|
271
|
+
if (!diffResult || !(flicking == null ? void 0 : flicking.initialized)) return;
|
|
212
272
|
const children = this.getChildren();
|
|
213
273
|
sync(flicking, diffResult, children);
|
|
214
274
|
if (diffResult.added.length > 0 || diffResult.removed.length > 0) {
|
|
@@ -217,10 +277,11 @@ const Flicking = defineComponent({
|
|
|
217
277
|
this.diffResult = void 0;
|
|
218
278
|
},
|
|
219
279
|
render() {
|
|
280
|
+
var _a;
|
|
220
281
|
const flicking = this.vanillaFlicking;
|
|
221
282
|
const options = this.options;
|
|
222
|
-
const initialized = flicking
|
|
223
|
-
const isHorizontal = flicking ? flicking.horizontal : this.options.horizontal
|
|
283
|
+
const initialized = flicking == null ? void 0 : flicking.initialized;
|
|
284
|
+
const isHorizontal = flicking ? flicking.horizontal : (_a = this.options.horizontal) != null ? _a : true;
|
|
224
285
|
const viewportData = {
|
|
225
286
|
class: {
|
|
226
287
|
"flicking-viewport": true,
|
|
@@ -285,7 +346,7 @@ const Flicking = defineComponent({
|
|
|
285
346
|
handler(newOptions) {
|
|
286
347
|
const flicking = this.vanillaFlicking;
|
|
287
348
|
if (!flicking) return;
|
|
288
|
-
const { virtual,
|
|
349
|
+
const _a = newOptions, { virtual } = _a, options = __objRest(_a, ["virtual"]);
|
|
289
350
|
for (const key in options) {
|
|
290
351
|
if (key in flicking && flicking[key] !== options[key]) {
|
|
291
352
|
flicking[key] = options[key];
|
|
@@ -572,10 +633,13 @@ function useReactive(reactiveAdapter, props) {
|
|
|
572
633
|
return __assign(__assign(__assign({}, refs), methods), events);
|
|
573
634
|
}
|
|
574
635
|
const useFlickingReactiveAPI = (flickingRef, options) => {
|
|
575
|
-
return useReactive(flickingReactiveAPIAdapter, () =>
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
636
|
+
return useReactive(flickingReactiveAPIAdapter, () => {
|
|
637
|
+
var _a;
|
|
638
|
+
return {
|
|
639
|
+
flicking: (_a = flickingRef.value) != null ? _a : void 0,
|
|
640
|
+
options
|
|
641
|
+
};
|
|
642
|
+
});
|
|
579
643
|
};
|
|
580
644
|
export {
|
|
581
645
|
Flicking as default,
|
package/dist/flicking.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flicking.esm.js","sources":["../src/FlickingProps.ts","../src/VueElementProvider.ts","../src/VuePanel.ts","../src/VueRenderer.ts","../src/Flicking.ts","../../../node_modules/.pnpm/@cfcs+core@0.1.0/node_modules/@cfcs/core/dist/cfcs.esm.js","../../../node_modules/.pnpm/@cfcs+vue3@0.1.0/node_modules/@cfcs/vue3/dist/cfcs.esm.js","../src/reactive.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\n\nimport { FlickingOptions, Plugin, Status } from \"@egjs/flicking\";\nimport { PropType } from \"vue\";\n\nexport default {\n viewportTag: {\n type: String,\n default: \"div\",\n required: false\n },\n cameraTag: {\n type: String,\n default: \"div\",\n required: false\n },\n cameraClass: {\n type: String,\n default: \"\",\n required: false\n },\n hideBeforeInit: {\n type: Boolean,\n default: false,\n required: false\n },\n firstPanelSize: {\n type: String,\n required: false\n },\n options: {\n type: Object as unknown as () => Partial<FlickingOptions>,\n default: () => ({}),\n required: false\n },\n plugins: {\n type: Array as PropType<Plugin[]>,\n default: () => [],\n required: false\n },\n status: {\n type: Object as PropType<Status>,\n required: false\n }\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ElementProvider } from \"@egjs/flicking\";\n\nimport VuePanel from \"./VuePanel\";\n\nclass VueElementProvider implements ElementProvider {\n private _el: VuePanel;\n private _cachedElement: HTMLElement;\n\n public get rendered() {\n return !this._el.hide;\n }\n public get element() {\n const el = this._el.$el.nextSibling as HTMLElement;\n\n if (el && el.nodeType === Node.ELEMENT_NODE) {\n this._cachedElement = el;\n }\n\n return this._cachedElement;\n }\n\n public constructor(el: VuePanel) {\n this._el = el;\n }\n\n public show() {\n this._el.hide = false;\n }\n\n public hide() {\n this._el.hide = true;\n }\n}\n\nexport default VueElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\n\nimport { defineComponent } from \"vue\";\n\nconst VuePanel = defineComponent({\n data() {\n return {\n hide: false\n };\n },\n render() {\n if (this.hide || !this.$slots.default) return;\n\n return this.$slots.default();\n }\n});\n\ntype VuePanelType = InstanceType<typeof VuePanel>;\n\ninterface VuePanel extends VuePanelType {}\nexport default VuePanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, getFlickingAttached, PanelOptions, RendererOptions } from \"@egjs/flicking\";\n\nimport VueFlicking from \"./Flicking\";\nimport VuePanel from \"./VuePanel\";\n\nexport interface VueRendererOptions extends RendererOptions {\n vueFlicking: VueFlicking;\n}\n\nclass VueRenderer extends ExternalRenderer {\n // Internal States\n private _vueFlicking: VueFlicking;\n\n public constructor(options: VueRendererOptions) {\n super(options);\n\n this._vueFlicking = options.vueFlicking;\n }\n\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const vueFlicking = this._vueFlicking;\n const strategy = this._strategy;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n vueFlicking.renderEmitter.once(\"render\", () => {\n this._afterRender();\n resolve();\n });\n vueFlicking.$forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const vueFlicking = this._vueFlicking;\n\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n vueFlicking.renderEmitter.once(\"render\", resolve);\n vueFlicking.$forceUpdate();\n });\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const vueFlicking = this._vueFlicking;\n const childRefs = vueFlicking.$refs;\n const vuePanels: any[] = Object.keys(childRefs).map(refKey => childRefs[refKey]);\n\n this._panels = this._strategy.collectPanels(flicking, vuePanels);\n }\n\n protected _createPanel(externalComponent: VuePanel, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default VueRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\n\nimport Component from \"@egjs/component\";\nimport VanillaFlicking, {\n EVENTS,\n getDefaultCameraTransform,\n getRenderingPanels,\n NormalRenderingStrategy,\n Plugin,\n range,\n sync,\n VirtualRenderingStrategy,\n withFlickingMethods\n} from \"@egjs/flicking\";\nimport ListDiffer, { DiffResult } from \"@egjs/list-differ\";\nimport { Comment, defineComponent, Fragment, getCurrentInstance, h, resolveComponent, Text, VNode } from \"vue\";\n\nimport FlickingProps from \"./FlickingProps\";\nimport { VueFlicking } from \"./types\";\nimport VueElementProvider from \"./VueElementProvider\";\nimport VuePanel from \"./VuePanel\";\nimport VueRenderer, { VueRendererOptions } from \"./VueRenderer\";\n\nconst Flicking = defineComponent({\n props: FlickingProps,\n components: {\n Panel: VuePanel\n },\n data() {\n return {} as {\n renderEmitter: Component<{ render: undefined }>;\n vanillaFlicking: VanillaFlicking;\n pluginsDiffer: ListDiffer<Plugin>;\n slotDiffer: ListDiffer<VNode>;\n diffResult: DiffResult<VNode> | null;\n };\n },\n created() {\n this.vanillaFlicking = null;\n this.renderEmitter = new Component();\n this.diffResult = null;\n\n this.getPanels = () => {\n const componentInstance = getCurrentInstance() as unknown as { ctx: Flicking } | null;\n const vueFlicking = componentInstance?.ctx;\n const flicking = this.vanillaFlicking;\n const defaultSlots = this.getSlots();\n const diffResult = vueFlicking?.diffResult;\n\n const slots = diffResult ? getRenderingPanels(flicking, diffResult) : defaultSlots;\n\n const panelComponent = resolveComponent(\"Panel\");\n const panels = slots.map((slot, idx) =>\n h(\n panelComponent as any,\n {\n key: slot.key!,\n ref: idx.toString()\n },\n () => slot\n )\n );\n\n return panels;\n };\n this.getVirtualPanels = () => {\n const options = this.options;\n const { panelClass = \"flicking-panel\" } = options.virtual!;\n const panelsPerView = options.panelsPerView as number;\n const flicking = this.vanillaFlicking;\n const initialized = flicking?.initialized;\n\n const renderingIndexes = initialized\n ? flicking.renderer.strategy.getRenderingIndexesByOrder(flicking)\n : range(panelsPerView + 1);\n\n const firstPanel = initialized && flicking.panels[0];\n const size = firstPanel ? (flicking.horizontal ? { width: firstPanel.size } : { height: firstPanel.size }) : {};\n\n return renderingIndexes.map(idx =>\n h(\"div\", {\n key: idx,\n ref: idx.toString(),\n class: panelClass,\n style: size,\n \"data-element-index\": idx\n })\n );\n };\n\n withFlickingMethods(this, \"vanillaFlicking\");\n },\n mounted() {\n const options = this.options;\n const viewportEl = this.$el as HTMLElement;\n const rendererOptions: VueRendererOptions = {\n vueFlicking: this,\n align: options.align,\n strategy:\n options.virtual && (options.panelsPerView ?? -1) > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: VueElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(viewportEl, {\n ...options,\n externalRenderer: new VueRenderer(rendererOptions)\n });\n this.vanillaFlicking = flicking;\n\n flicking.once(EVENTS.READY, () => {\n this.$forceUpdate();\n });\n\n const slots = this.getSlots();\n this.slotDiffer = new ListDiffer<VNode>(slots, vnode => vnode.key! as string | number);\n this.pluginsDiffer = new ListDiffer<Plugin>();\n\n this.bindEvents();\n this.checkPlugins();\n\n if (this.status) {\n flicking.setStatus(this.status);\n }\n },\n beforeUnmount() {\n this.vanillaFlicking?.destroy();\n },\n beforeMount() {\n this.fillKeys();\n },\n beforeUpdate() {\n this.fillKeys();\n\n this.diffResult = this.slotDiffer?.update(this.getSlots());\n },\n updated() {\n const flicking = this.vanillaFlicking;\n const diffResult = this.diffResult;\n\n this.checkPlugins();\n this.renderEmitter.trigger(\"render\");\n\n if (!diffResult || !flicking?.initialized) return;\n\n const children = this.getChildren();\n\n sync(flicking, diffResult, children);\n\n if (diffResult.added.length > 0 || diffResult.removed.length > 0) {\n this.$forceUpdate();\n }\n\n this.diffResult = undefined;\n },\n render() {\n const flicking = this.vanillaFlicking;\n const options = this.options;\n const initialized = flicking?.initialized;\n const isHorizontal = flicking ? flicking.horizontal : (this.options.horizontal ?? true);\n\n const viewportData = {\n class: {\n \"flicking-viewport\": true,\n vertical: !isHorizontal,\n \"flicking-hidden\": this.hideBeforeInit && !initialized\n }\n };\n const cameraData = {\n class: {\n \"flicking-camera\": true,\n [this.cameraClass]: !!this.cameraClass\n },\n style:\n !initialized && this.firstPanelSize\n ? { transform: getDefaultCameraTransform(this.options.align, this.options.horizontal, this.firstPanelSize) }\n : {}\n };\n\n const panels =\n options.virtual && options.panelsPerView && options.panelsPerView > 0 ? this.getVirtualPanels : this.getPanels;\n\n const viewportSlots = this.$slots.viewport ? this.$slots.viewport() : [];\n\n return h(this.viewportTag, viewportData, [h(this.cameraTag, cameraData, { default: panels }), ...viewportSlots]);\n },\n methods: {\n getSlots() {\n const slots = this.$slots.default ? this.$slots.default() : [];\n\n return slots\n .reduce((elementSlots, slot) => [...elementSlots, ...this.getElementVNodes(slot)], [] as VNode[])\n .filter(slot => slot.type !== Comment && slot.type !== Text);\n },\n getElementVNodes(slot: VNode, childSlots: VNode[] = []): VNode[] {\n if (slot.type === Fragment && Array.isArray(slot.children)) {\n slot.children\n .filter(child => child && typeof child === \"object\")\n .forEach(child => this.getElementVNodes(child as VNode, childSlots));\n } else {\n childSlots.push(slot);\n }\n\n return childSlots;\n },\n bindEvents() {\n const flicking = this.vanillaFlicking;\n const events = (Object.keys(EVENTS) as Array<keyof typeof EVENTS>).map(key => EVENTS[key]);\n\n events.forEach(eventName => {\n flicking.on(eventName, (e: any) => {\n e.currentTarget = this;\n // Make events from camelCase to kebab-case\n this.$emit(eventName.replace(/([A-Z])/g, \"-$1\").toLowerCase(), e);\n });\n });\n },\n checkPlugins() {\n const { list, added, removed, prevList } = this.pluginsDiffer.update(this.plugins);\n\n this.vanillaFlicking!.addPlugins(...added.map(index => list[index]));\n this.vanillaFlicking!.removePlugins(...removed.map(index => prevList[index]));\n },\n fillKeys() {\n const vnodes = this.getSlots();\n\n vnodes.forEach((node, idx) => {\n if (node.key == null) {\n node.key = `$_${idx}`;\n }\n });\n },\n getChildren() {\n const childRefs = this.$refs;\n\n return Object.keys(childRefs).map(refKey => childRefs[refKey]);\n }\n },\n watch: {\n options: {\n handler(newOptions) {\n const flicking = this.vanillaFlicking;\n if (!flicking) return;\n\n // Omit 'virtual', as it can't have any setter\n const { virtual, ...options } = newOptions; // eslint-disable-line @typescript-eslint/no-unused-vars\n\n for (const key in options) {\n if (key in flicking && flicking[key] !== options[key]) {\n flicking[key] = options[key];\n }\n }\n },\n deep: true,\n immediate: true\n }\n }\n}) as unknown as VueFlicking;\n\ninterface Flicking extends VueFlicking, VanillaFlicking {}\nexport default Flicking;\n","/*\nCopyright (c) 2022-present NAVER Corp.\nname: @cfcs/core\nlicense: MIT\nauthor: NAVER Crop.\nrepository: https://github.com/naver/cfcs/tree/main/packages/core\nversion: 0.1.0\n*/\nimport Component from '@egjs/component';\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n\n/**\n * @hidden\n */\nfunction keys(obj) {\n return Object.keys(obj);\n}\n/**\n * @hidden\n */\n\nfunction camelize(str) {\n return str.replace(/[\\s-_]([a-z])/g, function (all, letter) {\n return letter.toUpperCase();\n });\n}\n/**\n * @hidden\n */\n\nfunction isString(val) {\n return typeof val === \"string\";\n}\n/**\n * @hidden\n */\n\nfunction isObject(val) {\n return typeof val === \"object\";\n}\n/**\n * @hidden\n */\n\nfunction isFunction(val) {\n return typeof val === \"function\";\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * @hidden\n */\n\nfunction findTarget(target) {\n var el;\n\n if (!target) {\n return null;\n }\n\n if (isString(target)) {\n el = document.querySelector(target);\n } else if (target instanceof Element) {\n el = target;\n } else if (\"value\" in target || \"current\" in target) {\n el = target.value || target.current;\n }\n\n return el;\n}\n/**\n * @description Sets the name of the class method to be exposed to the outside.\n * @category DOM\n * @return Property Decorator\n * @example\n * ```ts\n * import { withClassMethods } from \"@cfcs/core\";\n *\n * class YourFrameworkComponent {\n * @withClassMethod(METHOD_NAMES)\n * inst = new YourComponent();\n * }\n * ```\n */\n\nfunction withClassMethods(methods) {\n return function (prototype, memberName) {\n methods.forEach(function (name) {\n if (name in prototype) {\n return;\n }\n\n prototype[name] = function () {\n var _a;\n\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var result = (_a = this[memberName])[name].apply(_a, args); // fix `this` type to return your own `class` instance to the instance using the decorator.\n\n\n if (result === this[memberName]) {\n return this;\n } else {\n return result;\n }\n };\n });\n };\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\nvar OBSERVERS_PATH = \"__observers__\";\nvar COMPUTED_PATH = \"__computed__\";\nvar CFCS_DETECTED_DEPENDENCIES_VERSION = 1;\nvar CFCS_DETECTED_DEPENDENCIES = \"__CFCS_DETECTED_DEPENDENCIES__\";\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n\n/* global Reflect, Promise */\nvar extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n\n return extendStatics(d, b);\n};\n\nfunction __extends(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nfunction __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\nfunction getDetectedStack() {\n // Version issues do not occur when you access the native object in the global.\n Object[CFCS_DETECTED_DEPENDENCIES] = Object[CFCS_DETECTED_DEPENDENCIES] || {};\n var versionList = Object[CFCS_DETECTED_DEPENDENCIES];\n versionList[CFCS_DETECTED_DEPENDENCIES_VERSION] = versionList[CFCS_DETECTED_DEPENDENCIES_VERSION] || [];\n return versionList[CFCS_DETECTED_DEPENDENCIES_VERSION];\n}\nfunction getCurrentDetected() {\n var stack = getDetectedStack();\n return stack[stack.length - 1];\n}\nfunction detectDependencies(host) {\n var stack = getDetectedStack();\n var observers = [];\n var detected = {\n host: host,\n observers: observers,\n push: function (observer) {\n if (host !== observer && observers.indexOf(observer) === -1) {\n observers.push(observer);\n }\n }\n };\n stack.push(detected);\n return detected;\n}\nfunction endDetectDependencies() {\n var stack = getDetectedStack();\n return stack.pop();\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * Creates a mutable ref object. You can access the `.current` value and detect the value change through `.subscribe`.\n * @category Reactive\n * @see observe\n */\n\nvar Observer =\n/*#__PURE__*/\nfunction () {\n /**\n *\n */\n function Observer(value) {\n this._emitter = new Component();\n this._current = value;\n }\n\n var __proto = Observer.prototype;\n Object.defineProperty(__proto, \"current\", {\n /**\n * return the current value.\n */\n get: function () {\n var currentDetected = getCurrentDetected();\n currentDetected === null || currentDetected === void 0 ? void 0 : currentDetected.push(this);\n return this._current;\n },\n set: function (value) {\n this._setCurrent(value);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * When the current value changes, the callback function is called.\n */\n\n __proto.subscribe = function (callback) {\n this.current;\n\n this._emitter.on(\"update\", callback);\n\n return this;\n };\n /**\n * Cancel the registered subscription through callback.\n */\n\n\n __proto.unsubscribe = function (callback) {\n this._emitter.off(\"update\", callback);\n\n return this;\n };\n\n __proto._setCurrent = function (value) {\n var prevValue = this._current;\n var isUpdate = value !== prevValue;\n this._current = value;\n\n if (isUpdate) {\n this._emitter.trigger(\"update\", value, prevValue);\n }\n };\n /**\n * @hidden\n */\n\n\n __proto.toString = function () {\n return \"\".concat(this.current);\n };\n /**\n * @hidden\n */\n\n\n __proto.valueOf = function () {\n return this.current;\n };\n\n return Observer;\n}();\n\n/**\n * @category Reactive\n * @hidden\n */\n\nvar ComputedObserver =\n/*#__PURE__*/\nfunction (_super) {\n __extends(ComputedObserver, _super);\n /**\n * @description Creates a new computed observer from the values of other observers.\n * It is read-only and if you change the value of the observer used inside the callback, its value will be automatically updated.\n * @param _computedCallback A function for observers to be computed.\n */\n\n\n function ComputedObserver(_computedCallback) {\n var _this = _super.call(this) || this;\n\n _this._computedCallback = _computedCallback;\n _this._registered = [];\n\n _this._onCheckUpdate = function () {\n _this._setCurrent(_this.current);\n };\n\n _this._current = _this.current;\n return _this;\n }\n\n var __proto = ComputedObserver.prototype;\n Object.defineProperty(__proto, \"current\", {\n get: function () {\n var _this = this;\n\n detectDependencies(this);\n\n var value = this._computedCallback();\n\n var results = endDetectDependencies();\n\n this._registered.forEach(function (observer) {\n observer.unsubscribe(_this._onCheckUpdate);\n });\n\n results.observers.forEach(function (observer) {\n observer.subscribe(_this._onCheckUpdate);\n });\n this._registered = results.observers;\n return value;\n },\n enumerable: false,\n configurable: true\n });\n return ComputedObserver;\n}(Observer);\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n\nfunction injectObserve(prototype, memberName, publicName) {\n if (publicName === void 0) {\n publicName = memberName;\n }\n\n var nextAttributes = {\n configurable: true,\n get: function () {\n return getObserver(this, publicName).current;\n },\n set: function (value) {\n getObserver(this, publicName, value).current = value;\n }\n };\n Object.defineProperty(prototype, memberName, nextAttributes);\n\n if (publicName !== memberName) {\n Object.defineProperty(prototype, publicName, {\n configurable: true,\n get: function () {\n return getObserver(this, publicName).current;\n }\n });\n }\n}\n/**\n * @description `Observe` is a property decorator and converts the property into a `reactive state`. You can detect its status through `.subscribe`.\n * @category Reactive-Decorator\n * @see ReactiveSubscribe\n * @example\n* ```ts\nimport { ReactiveSubscribe, Observe } from \"@cfcs/core\";\n\n@ReactiveSubscribe\nclass Component {\n // The public name and state name are the same.\n @Observe value1 = 1;\n // If you want to set public name and private properties separately\n @Observe(\"value2\") _value2 = 1;\n\n constructor() {\n requestAnimationFrame(() => {\n this.value1 = 2;\n });\n }\n}\ninterface C\n```\n */\n\n\nfunction Observe() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n if (args.length > 1) {\n return injectObserve(args[0], args[1]);\n }\n\n return function (prototype, memberName) {\n return injectObserve(prototype, memberName, args[0]);\n };\n}\n/**\n * @hidden\n */\n\nfunction Reactive() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n return Observe.apply(void 0, args);\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * @hidden\n */\n\nfunction injectReactiveSubscribe(object) {\n object[\"subscribe\"] = function (name, callback) {\n this[name];\n getObserver(this, name).subscribe(callback);\n };\n\n object[\"unsubscribe\"] = function (name, callback) {\n var _this = this;\n\n if (!name) {\n keys(getObservers(this)).forEach(function (observerName) {\n _this.unsubscribe(observerName);\n });\n return;\n }\n\n if (!(name in this)) {\n return;\n }\n\n getObserver(this, name).unsubscribe(callback);\n };\n}\n/**\n * @description `ReactiveSubscribe` is a class decorator and adds `.subscribe` and `.unsubscribe` methods.\n * @category Reactive-Decorator\n * @see Observe\n * @example\n * ```ts\nimport { ReactiveSubscribe, Observe } from \"@cfcs/core\";\n\n@ReactiveSubscribe\nclass Component {\n @Observe value1 = 1;\n\n constructor() {\n requestAnimationFrame(() => {\n this.value1 = 2;\n });\n }\n}\n\ninterface Component extends ReactiveSubscribe<{\n value1: number;\n value2: number;\n}> {}\n\nconst component = new Component();\n\n// 1\nconsole.log(component.value1);\n\ncomponent.subscribe(\"value1\", nextValue => {\n // When the change event occurs => (2, 2)\n console.log(nextValue, component.value2);\n});\n```\n */\n\nfunction ReactiveSubscribe(Constructor) {\n var prototype = Constructor.prototype;\n injectReactiveSubscribe(prototype);\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n\nfunction makeReactiveObject(setup, all) {\n var result = isFunction(setup) ? setup() : setup;\n var reactiveObject = {};\n defineObservers(reactiveObject);\n keys(result).forEach(function (name) {\n var value = result[name];\n\n if (isObserver(value)) {\n setObserver(reactiveObject, name, value);\n } else {\n setObserver(reactiveObject, name, observe(value));\n }\n\n Observe(name)(reactiveObject, name);\n });\n injectReactiveSubscribe(reactiveObject);\n return reactiveObject;\n}\n/**\n * @description Make the return value of the corresponding object or function a reactive object.\n * @category Reactive\n * @param setup - The target object or function to which reactive is applied\n * @returns Makes all values into reactive objects.\n * @example\n * ```ts\n * import { reactive } from \"@cfcs/core\";\n *\n * const obj = reactive({\n * value1: 1,\n * value2: 2,\n * });\n *\n * obj.subscribe(\"value1\", value1 => {\n * console.log(value1);\n * });\n * obj.value1 = 2;\n * ```\n */\n\n\nfunction reactive(setup) {\n return makeReactiveObject(setup);\n}\n/**\n * @description Make the return value of the corresponding object or function a reactive object.\n * @category Reactive\n * @param setup - The target object or function to which reactive is applied\n * @returns Only the values to which observer is applied are objects to which reactive is applied.\n * @example\n * ```ts\n * import { partialReactive, observe } from \"@cfcs/core\";\n *\n * const value1 = observe(1);\n * const value2 = observe(2);\n * const obj = partialReactive({\n * value1,\n * value2,\n * });\n *\n * obj.subscribe(\"value1\", value1 => {\n * console.log(value1);\n * });\n * value1.current = 2;\n * ```\n */\n\nfunction partialReactive(setup) {\n return makeReactiveObject(setup);\n}\n/**\n * @description Creates a mutable ref object. You can access the `.current` value and detect the value change through `.subscribe`.\n * @category Reactive\n * @example\n * ```ts\n * import { observe } from \"@cfcs/core\";\n *\n * const ob1 = observe(1);\n *\n * ob1.subscribe(nextValue => {\n * console.log(nextValue);\n * });\n *\n * ob1.current = 2;\n * ```\n */\n\nfunction observe(defaultValue) {\n return new Observer(defaultValue);\n}\n/**\n * @hidden\n */\n\nfunction computed(computedCallback) {\n return new ComputedObserver(computedCallback);\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * @hidden\n */\n\nfunction withReactiveMethods(ref, methods) {\n var obj = {};\n\n if (!methods) {\n return obj;\n }\n\n methods.forEach(function (name) {\n obj[name] = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var current = ref.current || ref.value;\n return current[name].apply(current, args);\n };\n });\n return obj;\n}\n/**\n * @hidden\n */\n\nfunction defineObservers(instance) {\n var observers = {};\n Object.defineProperty(instance, OBSERVERS_PATH, {\n get: function () {\n return observers;\n }\n });\n return observers;\n}\n/**\n * @hidden\n */\n\nfunction getObservers(instance, isComputed) {\n var _a, _b;\n\n if (!instance[OBSERVERS_PATH]) {\n defineObservers(instance);\n }\n\n var observers = instance[OBSERVERS_PATH];\n\n if (!isComputed) {\n var computedList = (_b = (_a = instance === null || instance === void 0 ? void 0 : instance.constructor) === null || _a === void 0 ? void 0 : _a.prototype) === null || _b === void 0 ? void 0 : _b[COMPUTED_PATH];\n\n if (computedList) {\n computedList.forEach(function (name) {\n if (!(name in observers) && name in instance) {\n instance[name];\n }\n });\n }\n }\n\n return observers;\n}\n/**\n * @hidden\n */\n\nfunction getObserver(instance, name, defaultValue) {\n var observers = getObservers(instance);\n\n if (!observers[name]) {\n observers[name] = observe(defaultValue);\n }\n\n return observers[name];\n}\n/**\n * @hidden\n */\n\nfunction setObserver(instance, name, observer) {\n var observers = getObservers(instance);\n observers[name] = observer;\n}\n/**\n * @description Whether that object is an observer instance\n * @category Reactive\n */\n\nfunction isObserver(val) {\n return val && isObject(val) && \"current\" in val && \"subscribe\" in val && \"unsubscribe\" in val;\n}\n/**\n * @description Whether the object is reactive\n * @category Reactive\n */\n\nfunction isReactive(val) {\n return val && !isObserver(val) && \"subscribe\" in val && \"unsubscribe\" in val;\n}\n\n/**\n * @category Reactive\n * @hidden\n */\n\nfunction adaptReactive(adapter, props) {\n var objectAdapter = isFunction(adapter) ? {\n setup: adapter\n } : adapter;\n\n function getProps() {\n var _a, _b, _c, _d, _e;\n\n return (_e = (_c = (_a = props === null || props === void 0 ? void 0 : props()) !== null && _a !== void 0 ? _a : (_b = objectAdapter.props) === null || _b === void 0 ? void 0 : _b.call(objectAdapter)) !== null && _c !== void 0 ? _c : (_d = objectAdapter.data) === null || _d === void 0 ? void 0 : _d.call(objectAdapter)) !== null && _e !== void 0 ? _e : {};\n }\n\n var eventEmitter = new Component();\n var mountedHooks = [];\n var initHooks = [];\n var destroyHooks = [];\n var onHooks = [];\n var instanceRef = {\n current: null\n };\n var offHooksList = [];\n var initialState = null;\n var eventNames = [];\n var methodNames = [];\n\n var onMounted = function (callback) {\n mountedHooks.push(callback);\n };\n\n var onInit = function (callback) {\n initHooks.push(callback);\n };\n\n var onDestroy = function (callback) {\n destroyHooks.push(callback);\n };\n\n var on = function (callback) {\n onHooks.push(callback);\n };\n\n var emit = function (eventName) {\n var params = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n params[_i - 1] = arguments[_i];\n }\n\n eventEmitter.trigger.apply(eventEmitter, __spreadArray([eventName], params, false));\n };\n\n var setInitialState = function (state) {\n initialState = state;\n };\n\n var setEvents = function (events) {\n eventNames = events;\n };\n\n var setMethods = function (methods) {\n methodNames = methods;\n };\n\n if (objectAdapter.setup) {\n instanceRef.current = objectAdapter.setup({\n getProps: getProps,\n setInitialState: setInitialState,\n setEvents: setEvents,\n setMethods: setMethods,\n onMounted: onMounted,\n onDestroy: onDestroy,\n onInit: onInit,\n emit: emit,\n on: on\n }) || null;\n }\n\n if (objectAdapter.created) {\n instanceRef.current = objectAdapter.created(getProps()) || null;\n }\n\n if (objectAdapter.events) {\n setEvents(objectAdapter.events);\n }\n\n if (objectAdapter.state) {\n setInitialState(objectAdapter.state);\n }\n\n if (objectAdapter.methods) {\n setMethods(objectAdapter.methods);\n }\n\n if (objectAdapter.mounted) {\n onMounted(objectAdapter.mounted);\n }\n\n if (objectAdapter.destroy) {\n destroyHooks.push(objectAdapter.destroy);\n }\n\n if (objectAdapter.init) {\n initHooks.push(objectAdapter.init);\n }\n\n if (objectAdapter.on) {\n onHooks.push(function (instance, eventName, listener) {\n var off = objectAdapter.on(instance, eventName, listener);\n return function () {\n var _a;\n\n off && off();\n (_a = objectAdapter.off) === null || _a === void 0 ? void 0 : _a.call(objectAdapter, instance, eventName, listener);\n };\n });\n }\n\n return {\n events: function () {\n return eventNames;\n },\n state: function () {\n var inst = instanceRef.current;\n\n if (initialState) {\n return initialState;\n }\n\n if (inst) {\n var observers_1 = getObservers(inst);\n setInitialState(keys(observers_1).reduce(function (prev, cur) {\n prev[cur] = observers_1[cur].current;\n return prev;\n }, {}));\n }\n\n return initialState || {};\n },\n instance: function () {\n return instanceRef.current;\n },\n mounted: function () {\n var props = getProps();\n mountedHooks.forEach(function (hook) {\n instanceRef.current = hook(props, instanceRef.current) || instanceRef.current;\n });\n },\n init: function () {\n // on events\n var instance = instanceRef.current;\n var props = getProps();\n offHooksList = eventNames.map(function (eventName) {\n var listener = function () {\n var _a;\n\n var params = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n\n (_a = eventEmitter).trigger.apply(_a, __spreadArray([eventName], params, false));\n };\n\n var instance = instanceRef.current;\n return onHooks.map(function (hook) {\n return hook(instance, eventName, listener);\n }).filter(Boolean);\n }); // init\n\n initHooks.forEach(function (hook) {\n hook(instance, props);\n });\n },\n destroy: function () {\n // off events\n offHooksList.forEach(function (offHooks) {\n offHooks.forEach(function (hook) {\n hook();\n });\n }); // destroy\n\n eventEmitter.off();\n var instance = instanceRef.current;\n var props = getProps();\n destroyHooks.forEach(function (hook) {\n hook(instance, props);\n });\n },\n methods: function () {\n return withReactiveMethods(instanceRef, methodNames);\n },\n on: function (eventName, listener) {\n eventEmitter.on(eventName, listener);\n },\n off: function (eventName, listener) {\n eventEmitter.off(eventName, listener);\n }\n };\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * @description `Computed` is a property decorator.\n * Changes in computed state values are also recognized according to changes in observers used within the getter function.\n * You can detect its status through `.subscribe`.\n * @hidden\n * @category Reactive-Decorator\n * @see ReactiveSubscribe\n * @example\n * ```ts\nconst ob1 = observe(0);\nconst ob2 = observe(1);\n\n// When\n@ReactiveSubscribe\nclass TestComputed {\n @Computed\n get ob3() {\n return ob1.current + ob2.current;\n }\n}\nconst inst = new TestComputed();\n\ninst.subscribe(\"ob3\", ob3 => {\n console.log(ob3);\n});\n\nob1.current = 1;\n```\n */\n\nfunction Computed(prototype, memberName, attributes) {\n var get = attributes.get;\n\n function getComputed() {\n var observers = getObservers(this, true);\n\n if (!(memberName in observers)) {\n observers[memberName] = computed(get.bind(this));\n }\n\n return getObserver(this, memberName).current;\n }\n\n var nextAttributes = {\n configurable: true,\n get: getComputed\n };\n prototype[COMPUTED_PATH] || (prototype[COMPUTED_PATH] = []);\n var computedList = prototype[COMPUTED_PATH];\n\n if (computedList.indexOf(memberName) === -1) {\n computedList.push(memberName);\n }\n\n Object.defineProperty(prototype, memberName, nextAttributes);\n return nextAttributes;\n}\n\nexport { Computed, ComputedObserver, Observe, Observer, Reactive, ReactiveSubscribe, adaptReactive, camelize, computed, defineObservers, findTarget, getObserver, getObservers, injectReactiveSubscribe, isFunction, isObject, isObserver, isReactive, isString, keys, observe, partialReactive, reactive, setObserver, withClassMethods, withReactiveMethods };\n//# sourceMappingURL=cfcs.esm.js.map\n","/*\nCopyright (c) NAVER Corp.\nname: @cfcs/vue3\nlicense: MIT\nauthor: NAVER Corp.\nrepository: https://github.com/naver/cfcs/tree/main/packages/vue3\nversion: 0.1.0\n*/\nimport { adaptReactive, camelize } from '@cfcs/core';\nimport { ref, onMounted, onUnmounted, reactive } from 'vue';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\nvar __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\n/**\n * @description In Vue 3, you can create reactive components through adapters.\n * @category Reactive\n * @example\n * ```ts\n * import { useReactive } from \"@cfcs/vue3\";\n *\n * export function useReactiveComponent() {\n * return useReactive(REACTIVE_ADAPTER);\n * }\n * ```\n */\n\nfunction useReactive(reactiveAdapter, props) {\n var adaptResult = adaptReactive(reactiveAdapter, props);\n var reactiveState = adaptResult.state();\n var names = Object.keys(reactiveState);\n var refs = {};\n\n for (var name in reactiveState) {\n refs[name] = ref(reactiveState[name]);\n }\n\n var methods = adaptResult.methods();\n onMounted(function () {\n adaptResult.mounted();\n var inst = adaptResult.instance();\n names.forEach(function (name) {\n inst.subscribe(name, function (value) {\n refs[name].value = value;\n });\n });\n adaptResult.init();\n });\n onUnmounted(function () {\n adaptResult.destroy();\n });\n var reactiveEvents = adaptResult.events();\n var events = reactiveEvents.reduce(function (eventResult, name) {\n eventResult[camelize(\"on \".concat(name))] = function (callback) {\n adaptResult.on(name, callback);\n onUnmounted(function () {\n adaptResult.off(name, callback);\n });\n };\n\n return eventResult;\n }, {});\n return __assign(__assign(__assign({}, refs), methods), events);\n}\n/**\n * @category Reactive\n * @hidden\n */\n\nfunction useLegacyReactive(reactiveAdapter, props) {\n var adaptResult = adaptReactive(reactiveAdapter, props);\n var reactiveState = adaptResult.state();\n var names = Object.keys(reactiveState);\n var result;\n var methods = adaptResult.methods();\n onMounted(function () {\n adaptResult.mounted();\n var inst = adaptResult.instance();\n names.forEach(function (name) {\n inst.subscribe(name, function (value) {\n result[name] = value;\n });\n });\n adaptResult.init();\n });\n onUnmounted(function () {\n adaptResult.destroy();\n });\n var reactiveEvents = adaptResult.events();\n var events = reactiveEvents.reduce(function (eventResult, name) {\n eventResult[camelize(\"on \".concat(name))] = function (callback) {\n adaptResult.on(name, callback);\n onUnmounted(function () {\n adaptResult.off(name, callback);\n });\n };\n\n return eventResult;\n }, {});\n result = reactive(__assign(__assign(__assign({}, reactiveState), methods), events));\n return result;\n}\n\nexport { useLegacyReactive, useReactive };\n//# sourceMappingURL=cfcs.esm.js.map\n","import { useReactive } from \"@cfcs/vue3\";\nimport { FlickingReactiveAPIOptions, flickingReactiveAPIAdapter } from \"@egjs/flicking\";\nimport { Ref } from \"vue\";\n\nimport Flicking from \"./Flicking\";\n\nexport const useFlickingReactiveAPI = (flickingRef: Ref<Flicking>, options?: FlickingReactiveAPIOptions) => {\n return useReactive(flickingReactiveAPIAdapter, () => ({\n flicking: flickingRef.value ?? undefined,\n options\n }));\n};\n"],"names":["VanillaFlicking","ref","onMounted","props","instance","__assign","name"],"mappings":"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","x_google_ignoreList":[5,6]}
|
|
1
|
+
{"version":3,"file":"flicking.esm.js","sources":["../src/FlickingProps.ts","../src/VueElementProvider.ts","../src/VuePanel.ts","../src/VueRenderer.ts","../src/Flicking.ts","../../../node_modules/.pnpm/@cfcs+core@0.1.0/node_modules/@cfcs/core/dist/cfcs.esm.js","../../../node_modules/.pnpm/@cfcs+vue3@0.1.0/node_modules/@cfcs/vue3/dist/cfcs.esm.js","../src/reactive.ts"],"sourcesContent":["/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\n\nimport { FlickingOptions, Plugin, Status } from \"@egjs/flicking\";\nimport { PropType } from \"vue\";\n\nexport default {\n viewportTag: {\n type: String,\n default: \"div\",\n required: false\n },\n cameraTag: {\n type: String,\n default: \"div\",\n required: false\n },\n cameraClass: {\n type: String,\n default: \"\",\n required: false\n },\n hideBeforeInit: {\n type: Boolean,\n default: false,\n required: false\n },\n firstPanelSize: {\n type: String,\n required: false\n },\n options: {\n type: Object as unknown as () => Partial<FlickingOptions>,\n default: () => ({}),\n required: false\n },\n plugins: {\n type: Array as PropType<Plugin[]>,\n default: () => [],\n required: false\n },\n status: {\n type: Object as PropType<Status>,\n required: false\n }\n};\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ElementProvider } from \"@egjs/flicking\";\n\nimport VuePanel from \"./VuePanel\";\n\nclass VueElementProvider implements ElementProvider {\n private _el: VuePanel;\n private _cachedElement: HTMLElement;\n\n public get rendered() {\n return !this._el.hide;\n }\n public get element() {\n const el = this._el.$el.nextSibling as HTMLElement;\n\n if (el && el.nodeType === Node.ELEMENT_NODE) {\n this._cachedElement = el;\n }\n\n return this._cachedElement;\n }\n\n public constructor(el: VuePanel) {\n this._el = el;\n }\n\n public show() {\n this._el.hide = false;\n }\n\n public hide() {\n this._el.hide = true;\n }\n}\n\nexport default VueElementProvider;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\n\nimport { defineComponent } from \"vue\";\n\nconst VuePanel = defineComponent({\n data() {\n return {\n hide: false\n };\n },\n render() {\n if (this.hide || !this.$slots.default) return;\n\n return this.$slots.default();\n }\n});\n\ntype VuePanelType = InstanceType<typeof VuePanel>;\n\ninterface VuePanel extends VuePanelType {}\nexport default VuePanel;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\nimport { ExternalRenderer, getFlickingAttached, PanelOptions, RendererOptions } from \"@egjs/flicking\";\n\nimport VueFlicking from \"./Flicking\";\nimport VuePanel from \"./VuePanel\";\n\nexport interface VueRendererOptions extends RendererOptions {\n vueFlicking: VueFlicking;\n}\n\nclass VueRenderer extends ExternalRenderer {\n // Internal States\n private _vueFlicking: VueFlicking;\n\n public constructor(options: VueRendererOptions) {\n super(options);\n\n this._vueFlicking = options.vueFlicking;\n }\n\n public async render() {\n const flicking = getFlickingAttached(this._flicking);\n const vueFlicking = this._vueFlicking;\n const strategy = this._strategy;\n\n strategy.updateRenderingPanels(flicking);\n strategy.renderPanels(flicking);\n\n return new Promise<void>(resolve => {\n vueFlicking.renderEmitter.once(\"render\", () => {\n this._afterRender();\n resolve();\n });\n vueFlicking.$forceUpdate();\n });\n }\n\n public async forceRenderAllPanels() {\n const vueFlicking = this._vueFlicking;\n\n await super.forceRenderAllPanels();\n\n return new Promise<void>(resolve => {\n vueFlicking.renderEmitter.once(\"render\", resolve);\n vueFlicking.$forceUpdate();\n });\n }\n\n protected _collectPanels() {\n const flicking = getFlickingAttached(this._flicking);\n const vueFlicking = this._vueFlicking;\n const childRefs = vueFlicking.$refs;\n const vuePanels: any[] = Object.keys(childRefs).map(refKey => childRefs[refKey]);\n\n this._panels = this._strategy.collectPanels(flicking, vuePanels);\n }\n\n protected _createPanel(externalComponent: VuePanel, options: PanelOptions) {\n return this._strategy.createPanel(externalComponent, options);\n }\n}\n\nexport default VueRenderer;\n","/*\n * Copyright (c) 2015 NAVER Corp.\n * egjs projects are licensed under the MIT license\n */\n\nimport Component from \"@egjs/component\";\nimport VanillaFlicking, {\n EVENTS,\n getDefaultCameraTransform,\n getRenderingPanels,\n NormalRenderingStrategy,\n Plugin,\n range,\n sync,\n VirtualRenderingStrategy,\n withFlickingMethods\n} from \"@egjs/flicking\";\nimport ListDiffer, { DiffResult } from \"@egjs/list-differ\";\nimport { Comment, defineComponent, Fragment, getCurrentInstance, h, resolveComponent, Text, VNode } from \"vue\";\n\nimport FlickingProps from \"./FlickingProps\";\nimport { VueFlicking } from \"./types\";\nimport VueElementProvider from \"./VueElementProvider\";\nimport VuePanel from \"./VuePanel\";\nimport VueRenderer, { VueRendererOptions } from \"./VueRenderer\";\n\nconst Flicking = defineComponent({\n props: FlickingProps,\n components: {\n Panel: VuePanel\n },\n data() {\n return {} as {\n renderEmitter: Component<{ render: undefined }>;\n vanillaFlicking: VanillaFlicking;\n pluginsDiffer: ListDiffer<Plugin>;\n slotDiffer: ListDiffer<VNode>;\n diffResult: DiffResult<VNode> | null;\n };\n },\n created() {\n this.vanillaFlicking = null;\n this.renderEmitter = new Component();\n this.diffResult = null;\n\n this.getPanels = () => {\n const componentInstance = getCurrentInstance() as unknown as { ctx: Flicking } | null;\n const vueFlicking = componentInstance?.ctx;\n const flicking = this.vanillaFlicking;\n const defaultSlots = this.getSlots();\n const diffResult = vueFlicking?.diffResult;\n\n const slots = diffResult ? getRenderingPanels(flicking, diffResult) : defaultSlots;\n\n const panelComponent = resolveComponent(\"Panel\");\n const panels = slots.map((slot, idx) =>\n h(\n panelComponent as any,\n {\n key: slot.key!,\n ref: idx.toString()\n },\n () => slot\n )\n );\n\n return panels;\n };\n this.getVirtualPanels = () => {\n const options = this.options;\n const { panelClass = \"flicking-panel\" } = options.virtual!;\n const panelsPerView = options.panelsPerView as number;\n const flicking = this.vanillaFlicking;\n const initialized = flicking?.initialized;\n\n const renderingIndexes = initialized\n ? flicking.renderer.strategy.getRenderingIndexesByOrder(flicking)\n : range(panelsPerView + 1);\n\n const firstPanel = initialized && flicking.panels[0];\n const size = firstPanel ? (flicking.horizontal ? { width: firstPanel.size } : { height: firstPanel.size }) : {};\n\n return renderingIndexes.map(idx =>\n h(\"div\", {\n key: idx,\n ref: idx.toString(),\n class: panelClass,\n style: size,\n \"data-element-index\": idx\n })\n );\n };\n\n withFlickingMethods(this, \"vanillaFlicking\");\n },\n mounted() {\n const options = this.options;\n const viewportEl = this.$el as HTMLElement;\n const rendererOptions: VueRendererOptions = {\n vueFlicking: this,\n align: options.align,\n strategy:\n options.virtual && (options.panelsPerView ?? -1) > 0\n ? new VirtualRenderingStrategy()\n : new NormalRenderingStrategy({\n providerCtor: VueElementProvider\n })\n };\n\n const flicking = new VanillaFlicking(viewportEl, {\n ...options,\n externalRenderer: new VueRenderer(rendererOptions)\n });\n this.vanillaFlicking = flicking;\n\n flicking.once(EVENTS.READY, () => {\n this.$forceUpdate();\n });\n\n const slots = this.getSlots();\n this.slotDiffer = new ListDiffer<VNode>(slots, vnode => vnode.key! as string | number);\n this.pluginsDiffer = new ListDiffer<Plugin>();\n\n this.bindEvents();\n this.checkPlugins();\n\n if (this.status) {\n flicking.setStatus(this.status);\n }\n },\n beforeUnmount() {\n this.vanillaFlicking?.destroy();\n },\n beforeMount() {\n this.fillKeys();\n },\n beforeUpdate() {\n this.fillKeys();\n\n this.diffResult = this.slotDiffer?.update(this.getSlots());\n },\n updated() {\n const flicking = this.vanillaFlicking;\n const diffResult = this.diffResult;\n\n this.checkPlugins();\n this.renderEmitter.trigger(\"render\");\n\n if (!diffResult || !flicking?.initialized) return;\n\n const children = this.getChildren();\n\n sync(flicking, diffResult, children);\n\n if (diffResult.added.length > 0 || diffResult.removed.length > 0) {\n this.$forceUpdate();\n }\n\n this.diffResult = undefined;\n },\n render() {\n const flicking = this.vanillaFlicking;\n const options = this.options;\n const initialized = flicking?.initialized;\n const isHorizontal = flicking ? flicking.horizontal : (this.options.horizontal ?? true);\n\n const viewportData = {\n class: {\n \"flicking-viewport\": true,\n vertical: !isHorizontal,\n \"flicking-hidden\": this.hideBeforeInit && !initialized\n }\n };\n const cameraData = {\n class: {\n \"flicking-camera\": true,\n [this.cameraClass]: !!this.cameraClass\n },\n style:\n !initialized && this.firstPanelSize\n ? { transform: getDefaultCameraTransform(this.options.align, this.options.horizontal, this.firstPanelSize) }\n : {}\n };\n\n const panels =\n options.virtual && options.panelsPerView && options.panelsPerView > 0 ? this.getVirtualPanels : this.getPanels;\n\n const viewportSlots = this.$slots.viewport ? this.$slots.viewport() : [];\n\n return h(this.viewportTag, viewportData, [h(this.cameraTag, cameraData, { default: panels }), ...viewportSlots]);\n },\n methods: {\n getSlots() {\n const slots = this.$slots.default ? this.$slots.default() : [];\n\n return slots\n .reduce((elementSlots, slot) => [...elementSlots, ...this.getElementVNodes(slot)], [] as VNode[])\n .filter(slot => slot.type !== Comment && slot.type !== Text);\n },\n getElementVNodes(slot: VNode, childSlots: VNode[] = []): VNode[] {\n if (slot.type === Fragment && Array.isArray(slot.children)) {\n slot.children\n .filter(child => child && typeof child === \"object\")\n .forEach(child => this.getElementVNodes(child as VNode, childSlots));\n } else {\n childSlots.push(slot);\n }\n\n return childSlots;\n },\n bindEvents() {\n const flicking = this.vanillaFlicking;\n const events = (Object.keys(EVENTS) as Array<keyof typeof EVENTS>).map(key => EVENTS[key]);\n\n events.forEach(eventName => {\n flicking.on(eventName, (e: any) => {\n e.currentTarget = this;\n // Make events from camelCase to kebab-case\n this.$emit(eventName.replace(/([A-Z])/g, \"-$1\").toLowerCase(), e);\n });\n });\n },\n checkPlugins() {\n const { list, added, removed, prevList } = this.pluginsDiffer.update(this.plugins);\n\n this.vanillaFlicking!.addPlugins(...added.map(index => list[index]));\n this.vanillaFlicking!.removePlugins(...removed.map(index => prevList[index]));\n },\n fillKeys() {\n const vnodes = this.getSlots();\n\n vnodes.forEach((node, idx) => {\n if (node.key == null) {\n node.key = `$_${idx}`;\n }\n });\n },\n getChildren() {\n const childRefs = this.$refs;\n\n return Object.keys(childRefs).map(refKey => childRefs[refKey]);\n }\n },\n watch: {\n options: {\n handler(newOptions) {\n const flicking = this.vanillaFlicking;\n if (!flicking) return;\n\n // Omit 'virtual', as it can't have any setter\n const { virtual, ...options } = newOptions; // eslint-disable-line @typescript-eslint/no-unused-vars\n\n for (const key in options) {\n if (key in flicking && flicking[key] !== options[key]) {\n flicking[key] = options[key];\n }\n }\n },\n deep: true,\n immediate: true\n }\n }\n}) as unknown as VueFlicking;\n\ninterface Flicking extends VueFlicking, VanillaFlicking {}\nexport default Flicking;\n","/*\nCopyright (c) 2022-present NAVER Corp.\nname: @cfcs/core\nlicense: MIT\nauthor: NAVER Crop.\nrepository: https://github.com/naver/cfcs/tree/main/packages/core\nversion: 0.1.0\n*/\nimport Component from '@egjs/component';\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n\n/**\n * @hidden\n */\nfunction keys(obj) {\n return Object.keys(obj);\n}\n/**\n * @hidden\n */\n\nfunction camelize(str) {\n return str.replace(/[\\s-_]([a-z])/g, function (all, letter) {\n return letter.toUpperCase();\n });\n}\n/**\n * @hidden\n */\n\nfunction isString(val) {\n return typeof val === \"string\";\n}\n/**\n * @hidden\n */\n\nfunction isObject(val) {\n return typeof val === \"object\";\n}\n/**\n * @hidden\n */\n\nfunction isFunction(val) {\n return typeof val === \"function\";\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * @hidden\n */\n\nfunction findTarget(target) {\n var el;\n\n if (!target) {\n return null;\n }\n\n if (isString(target)) {\n el = document.querySelector(target);\n } else if (target instanceof Element) {\n el = target;\n } else if (\"value\" in target || \"current\" in target) {\n el = target.value || target.current;\n }\n\n return el;\n}\n/**\n * @description Sets the name of the class method to be exposed to the outside.\n * @category DOM\n * @return Property Decorator\n * @example\n * ```ts\n * import { withClassMethods } from \"@cfcs/core\";\n *\n * class YourFrameworkComponent {\n * @withClassMethod(METHOD_NAMES)\n * inst = new YourComponent();\n * }\n * ```\n */\n\nfunction withClassMethods(methods) {\n return function (prototype, memberName) {\n methods.forEach(function (name) {\n if (name in prototype) {\n return;\n }\n\n prototype[name] = function () {\n var _a;\n\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var result = (_a = this[memberName])[name].apply(_a, args); // fix `this` type to return your own `class` instance to the instance using the decorator.\n\n\n if (result === this[memberName]) {\n return this;\n } else {\n return result;\n }\n };\n });\n };\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\nvar OBSERVERS_PATH = \"__observers__\";\nvar COMPUTED_PATH = \"__computed__\";\nvar CFCS_DETECTED_DEPENDENCIES_VERSION = 1;\nvar CFCS_DETECTED_DEPENDENCIES = \"__CFCS_DETECTED_DEPENDENCIES__\";\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n\n/* global Reflect, Promise */\nvar extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n };\n\n return extendStatics(d, b);\n};\n\nfunction __extends(d, b) {\n if (typeof b !== \"function\" && b !== null) throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nfunction __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\nfunction getDetectedStack() {\n // Version issues do not occur when you access the native object in the global.\n Object[CFCS_DETECTED_DEPENDENCIES] = Object[CFCS_DETECTED_DEPENDENCIES] || {};\n var versionList = Object[CFCS_DETECTED_DEPENDENCIES];\n versionList[CFCS_DETECTED_DEPENDENCIES_VERSION] = versionList[CFCS_DETECTED_DEPENDENCIES_VERSION] || [];\n return versionList[CFCS_DETECTED_DEPENDENCIES_VERSION];\n}\nfunction getCurrentDetected() {\n var stack = getDetectedStack();\n return stack[stack.length - 1];\n}\nfunction detectDependencies(host) {\n var stack = getDetectedStack();\n var observers = [];\n var detected = {\n host: host,\n observers: observers,\n push: function (observer) {\n if (host !== observer && observers.indexOf(observer) === -1) {\n observers.push(observer);\n }\n }\n };\n stack.push(detected);\n return detected;\n}\nfunction endDetectDependencies() {\n var stack = getDetectedStack();\n return stack.pop();\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * Creates a mutable ref object. You can access the `.current` value and detect the value change through `.subscribe`.\n * @category Reactive\n * @see observe\n */\n\nvar Observer =\n/*#__PURE__*/\nfunction () {\n /**\n *\n */\n function Observer(value) {\n this._emitter = new Component();\n this._current = value;\n }\n\n var __proto = Observer.prototype;\n Object.defineProperty(__proto, \"current\", {\n /**\n * return the current value.\n */\n get: function () {\n var currentDetected = getCurrentDetected();\n currentDetected === null || currentDetected === void 0 ? void 0 : currentDetected.push(this);\n return this._current;\n },\n set: function (value) {\n this._setCurrent(value);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * When the current value changes, the callback function is called.\n */\n\n __proto.subscribe = function (callback) {\n this.current;\n\n this._emitter.on(\"update\", callback);\n\n return this;\n };\n /**\n * Cancel the registered subscription through callback.\n */\n\n\n __proto.unsubscribe = function (callback) {\n this._emitter.off(\"update\", callback);\n\n return this;\n };\n\n __proto._setCurrent = function (value) {\n var prevValue = this._current;\n var isUpdate = value !== prevValue;\n this._current = value;\n\n if (isUpdate) {\n this._emitter.trigger(\"update\", value, prevValue);\n }\n };\n /**\n * @hidden\n */\n\n\n __proto.toString = function () {\n return \"\".concat(this.current);\n };\n /**\n * @hidden\n */\n\n\n __proto.valueOf = function () {\n return this.current;\n };\n\n return Observer;\n}();\n\n/**\n * @category Reactive\n * @hidden\n */\n\nvar ComputedObserver =\n/*#__PURE__*/\nfunction (_super) {\n __extends(ComputedObserver, _super);\n /**\n * @description Creates a new computed observer from the values of other observers.\n * It is read-only and if you change the value of the observer used inside the callback, its value will be automatically updated.\n * @param _computedCallback A function for observers to be computed.\n */\n\n\n function ComputedObserver(_computedCallback) {\n var _this = _super.call(this) || this;\n\n _this._computedCallback = _computedCallback;\n _this._registered = [];\n\n _this._onCheckUpdate = function () {\n _this._setCurrent(_this.current);\n };\n\n _this._current = _this.current;\n return _this;\n }\n\n var __proto = ComputedObserver.prototype;\n Object.defineProperty(__proto, \"current\", {\n get: function () {\n var _this = this;\n\n detectDependencies(this);\n\n var value = this._computedCallback();\n\n var results = endDetectDependencies();\n\n this._registered.forEach(function (observer) {\n observer.unsubscribe(_this._onCheckUpdate);\n });\n\n results.observers.forEach(function (observer) {\n observer.subscribe(_this._onCheckUpdate);\n });\n this._registered = results.observers;\n return value;\n },\n enumerable: false,\n configurable: true\n });\n return ComputedObserver;\n}(Observer);\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n\nfunction injectObserve(prototype, memberName, publicName) {\n if (publicName === void 0) {\n publicName = memberName;\n }\n\n var nextAttributes = {\n configurable: true,\n get: function () {\n return getObserver(this, publicName).current;\n },\n set: function (value) {\n getObserver(this, publicName, value).current = value;\n }\n };\n Object.defineProperty(prototype, memberName, nextAttributes);\n\n if (publicName !== memberName) {\n Object.defineProperty(prototype, publicName, {\n configurable: true,\n get: function () {\n return getObserver(this, publicName).current;\n }\n });\n }\n}\n/**\n * @description `Observe` is a property decorator and converts the property into a `reactive state`. You can detect its status through `.subscribe`.\n * @category Reactive-Decorator\n * @see ReactiveSubscribe\n * @example\n* ```ts\nimport { ReactiveSubscribe, Observe } from \"@cfcs/core\";\n\n@ReactiveSubscribe\nclass Component {\n // The public name and state name are the same.\n @Observe value1 = 1;\n // If you want to set public name and private properties separately\n @Observe(\"value2\") _value2 = 1;\n\n constructor() {\n requestAnimationFrame(() => {\n this.value1 = 2;\n });\n }\n}\ninterface C\n```\n */\n\n\nfunction Observe() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n if (args.length > 1) {\n return injectObserve(args[0], args[1]);\n }\n\n return function (prototype, memberName) {\n return injectObserve(prototype, memberName, args[0]);\n };\n}\n/**\n * @hidden\n */\n\nfunction Reactive() {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n return Observe.apply(void 0, args);\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * @hidden\n */\n\nfunction injectReactiveSubscribe(object) {\n object[\"subscribe\"] = function (name, callback) {\n this[name];\n getObserver(this, name).subscribe(callback);\n };\n\n object[\"unsubscribe\"] = function (name, callback) {\n var _this = this;\n\n if (!name) {\n keys(getObservers(this)).forEach(function (observerName) {\n _this.unsubscribe(observerName);\n });\n return;\n }\n\n if (!(name in this)) {\n return;\n }\n\n getObserver(this, name).unsubscribe(callback);\n };\n}\n/**\n * @description `ReactiveSubscribe` is a class decorator and adds `.subscribe` and `.unsubscribe` methods.\n * @category Reactive-Decorator\n * @see Observe\n * @example\n * ```ts\nimport { ReactiveSubscribe, Observe } from \"@cfcs/core\";\n\n@ReactiveSubscribe\nclass Component {\n @Observe value1 = 1;\n\n constructor() {\n requestAnimationFrame(() => {\n this.value1 = 2;\n });\n }\n}\n\ninterface Component extends ReactiveSubscribe<{\n value1: number;\n value2: number;\n}> {}\n\nconst component = new Component();\n\n// 1\nconsole.log(component.value1);\n\ncomponent.subscribe(\"value1\", nextValue => {\n // When the change event occurs => (2, 2)\n console.log(nextValue, component.value2);\n});\n```\n */\n\nfunction ReactiveSubscribe(Constructor) {\n var prototype = Constructor.prototype;\n injectReactiveSubscribe(prototype);\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n\nfunction makeReactiveObject(setup, all) {\n var result = isFunction(setup) ? setup() : setup;\n var reactiveObject = {};\n defineObservers(reactiveObject);\n keys(result).forEach(function (name) {\n var value = result[name];\n\n if (isObserver(value)) {\n setObserver(reactiveObject, name, value);\n } else {\n setObserver(reactiveObject, name, observe(value));\n }\n\n Observe(name)(reactiveObject, name);\n });\n injectReactiveSubscribe(reactiveObject);\n return reactiveObject;\n}\n/**\n * @description Make the return value of the corresponding object or function a reactive object.\n * @category Reactive\n * @param setup - The target object or function to which reactive is applied\n * @returns Makes all values into reactive objects.\n * @example\n * ```ts\n * import { reactive } from \"@cfcs/core\";\n *\n * const obj = reactive({\n * value1: 1,\n * value2: 2,\n * });\n *\n * obj.subscribe(\"value1\", value1 => {\n * console.log(value1);\n * });\n * obj.value1 = 2;\n * ```\n */\n\n\nfunction reactive(setup) {\n return makeReactiveObject(setup);\n}\n/**\n * @description Make the return value of the corresponding object or function a reactive object.\n * @category Reactive\n * @param setup - The target object or function to which reactive is applied\n * @returns Only the values to which observer is applied are objects to which reactive is applied.\n * @example\n * ```ts\n * import { partialReactive, observe } from \"@cfcs/core\";\n *\n * const value1 = observe(1);\n * const value2 = observe(2);\n * const obj = partialReactive({\n * value1,\n * value2,\n * });\n *\n * obj.subscribe(\"value1\", value1 => {\n * console.log(value1);\n * });\n * value1.current = 2;\n * ```\n */\n\nfunction partialReactive(setup) {\n return makeReactiveObject(setup);\n}\n/**\n * @description Creates a mutable ref object. You can access the `.current` value and detect the value change through `.subscribe`.\n * @category Reactive\n * @example\n * ```ts\n * import { observe } from \"@cfcs/core\";\n *\n * const ob1 = observe(1);\n *\n * ob1.subscribe(nextValue => {\n * console.log(nextValue);\n * });\n *\n * ob1.current = 2;\n * ```\n */\n\nfunction observe(defaultValue) {\n return new Observer(defaultValue);\n}\n/**\n * @hidden\n */\n\nfunction computed(computedCallback) {\n return new ComputedObserver(computedCallback);\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * @hidden\n */\n\nfunction withReactiveMethods(ref, methods) {\n var obj = {};\n\n if (!methods) {\n return obj;\n }\n\n methods.forEach(function (name) {\n obj[name] = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var current = ref.current || ref.value;\n return current[name].apply(current, args);\n };\n });\n return obj;\n}\n/**\n * @hidden\n */\n\nfunction defineObservers(instance) {\n var observers = {};\n Object.defineProperty(instance, OBSERVERS_PATH, {\n get: function () {\n return observers;\n }\n });\n return observers;\n}\n/**\n * @hidden\n */\n\nfunction getObservers(instance, isComputed) {\n var _a, _b;\n\n if (!instance[OBSERVERS_PATH]) {\n defineObservers(instance);\n }\n\n var observers = instance[OBSERVERS_PATH];\n\n if (!isComputed) {\n var computedList = (_b = (_a = instance === null || instance === void 0 ? void 0 : instance.constructor) === null || _a === void 0 ? void 0 : _a.prototype) === null || _b === void 0 ? void 0 : _b[COMPUTED_PATH];\n\n if (computedList) {\n computedList.forEach(function (name) {\n if (!(name in observers) && name in instance) {\n instance[name];\n }\n });\n }\n }\n\n return observers;\n}\n/**\n * @hidden\n */\n\nfunction getObserver(instance, name, defaultValue) {\n var observers = getObservers(instance);\n\n if (!observers[name]) {\n observers[name] = observe(defaultValue);\n }\n\n return observers[name];\n}\n/**\n * @hidden\n */\n\nfunction setObserver(instance, name, observer) {\n var observers = getObservers(instance);\n observers[name] = observer;\n}\n/**\n * @description Whether that object is an observer instance\n * @category Reactive\n */\n\nfunction isObserver(val) {\n return val && isObject(val) && \"current\" in val && \"subscribe\" in val && \"unsubscribe\" in val;\n}\n/**\n * @description Whether the object is reactive\n * @category Reactive\n */\n\nfunction isReactive(val) {\n return val && !isObserver(val) && \"subscribe\" in val && \"unsubscribe\" in val;\n}\n\n/**\n * @category Reactive\n * @hidden\n */\n\nfunction adaptReactive(adapter, props) {\n var objectAdapter = isFunction(adapter) ? {\n setup: adapter\n } : adapter;\n\n function getProps() {\n var _a, _b, _c, _d, _e;\n\n return (_e = (_c = (_a = props === null || props === void 0 ? void 0 : props()) !== null && _a !== void 0 ? _a : (_b = objectAdapter.props) === null || _b === void 0 ? void 0 : _b.call(objectAdapter)) !== null && _c !== void 0 ? _c : (_d = objectAdapter.data) === null || _d === void 0 ? void 0 : _d.call(objectAdapter)) !== null && _e !== void 0 ? _e : {};\n }\n\n var eventEmitter = new Component();\n var mountedHooks = [];\n var initHooks = [];\n var destroyHooks = [];\n var onHooks = [];\n var instanceRef = {\n current: null\n };\n var offHooksList = [];\n var initialState = null;\n var eventNames = [];\n var methodNames = [];\n\n var onMounted = function (callback) {\n mountedHooks.push(callback);\n };\n\n var onInit = function (callback) {\n initHooks.push(callback);\n };\n\n var onDestroy = function (callback) {\n destroyHooks.push(callback);\n };\n\n var on = function (callback) {\n onHooks.push(callback);\n };\n\n var emit = function (eventName) {\n var params = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n params[_i - 1] = arguments[_i];\n }\n\n eventEmitter.trigger.apply(eventEmitter, __spreadArray([eventName], params, false));\n };\n\n var setInitialState = function (state) {\n initialState = state;\n };\n\n var setEvents = function (events) {\n eventNames = events;\n };\n\n var setMethods = function (methods) {\n methodNames = methods;\n };\n\n if (objectAdapter.setup) {\n instanceRef.current = objectAdapter.setup({\n getProps: getProps,\n setInitialState: setInitialState,\n setEvents: setEvents,\n setMethods: setMethods,\n onMounted: onMounted,\n onDestroy: onDestroy,\n onInit: onInit,\n emit: emit,\n on: on\n }) || null;\n }\n\n if (objectAdapter.created) {\n instanceRef.current = objectAdapter.created(getProps()) || null;\n }\n\n if (objectAdapter.events) {\n setEvents(objectAdapter.events);\n }\n\n if (objectAdapter.state) {\n setInitialState(objectAdapter.state);\n }\n\n if (objectAdapter.methods) {\n setMethods(objectAdapter.methods);\n }\n\n if (objectAdapter.mounted) {\n onMounted(objectAdapter.mounted);\n }\n\n if (objectAdapter.destroy) {\n destroyHooks.push(objectAdapter.destroy);\n }\n\n if (objectAdapter.init) {\n initHooks.push(objectAdapter.init);\n }\n\n if (objectAdapter.on) {\n onHooks.push(function (instance, eventName, listener) {\n var off = objectAdapter.on(instance, eventName, listener);\n return function () {\n var _a;\n\n off && off();\n (_a = objectAdapter.off) === null || _a === void 0 ? void 0 : _a.call(objectAdapter, instance, eventName, listener);\n };\n });\n }\n\n return {\n events: function () {\n return eventNames;\n },\n state: function () {\n var inst = instanceRef.current;\n\n if (initialState) {\n return initialState;\n }\n\n if (inst) {\n var observers_1 = getObservers(inst);\n setInitialState(keys(observers_1).reduce(function (prev, cur) {\n prev[cur] = observers_1[cur].current;\n return prev;\n }, {}));\n }\n\n return initialState || {};\n },\n instance: function () {\n return instanceRef.current;\n },\n mounted: function () {\n var props = getProps();\n mountedHooks.forEach(function (hook) {\n instanceRef.current = hook(props, instanceRef.current) || instanceRef.current;\n });\n },\n init: function () {\n // on events\n var instance = instanceRef.current;\n var props = getProps();\n offHooksList = eventNames.map(function (eventName) {\n var listener = function () {\n var _a;\n\n var params = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n\n (_a = eventEmitter).trigger.apply(_a, __spreadArray([eventName], params, false));\n };\n\n var instance = instanceRef.current;\n return onHooks.map(function (hook) {\n return hook(instance, eventName, listener);\n }).filter(Boolean);\n }); // init\n\n initHooks.forEach(function (hook) {\n hook(instance, props);\n });\n },\n destroy: function () {\n // off events\n offHooksList.forEach(function (offHooks) {\n offHooks.forEach(function (hook) {\n hook();\n });\n }); // destroy\n\n eventEmitter.off();\n var instance = instanceRef.current;\n var props = getProps();\n destroyHooks.forEach(function (hook) {\n hook(instance, props);\n });\n },\n methods: function () {\n return withReactiveMethods(instanceRef, methodNames);\n },\n on: function (eventName, listener) {\n eventEmitter.on(eventName, listener);\n },\n off: function (eventName, listener) {\n eventEmitter.off(eventName, listener);\n }\n };\n}\n\n/**\n * cfcs\n * Copyright (c) 2022-present NAVER Corp.\n * MIT license\n */\n/**\n * @description `Computed` is a property decorator.\n * Changes in computed state values are also recognized according to changes in observers used within the getter function.\n * You can detect its status through `.subscribe`.\n * @hidden\n * @category Reactive-Decorator\n * @see ReactiveSubscribe\n * @example\n * ```ts\nconst ob1 = observe(0);\nconst ob2 = observe(1);\n\n// When\n@ReactiveSubscribe\nclass TestComputed {\n @Computed\n get ob3() {\n return ob1.current + ob2.current;\n }\n}\nconst inst = new TestComputed();\n\ninst.subscribe(\"ob3\", ob3 => {\n console.log(ob3);\n});\n\nob1.current = 1;\n```\n */\n\nfunction Computed(prototype, memberName, attributes) {\n var get = attributes.get;\n\n function getComputed() {\n var observers = getObservers(this, true);\n\n if (!(memberName in observers)) {\n observers[memberName] = computed(get.bind(this));\n }\n\n return getObserver(this, memberName).current;\n }\n\n var nextAttributes = {\n configurable: true,\n get: getComputed\n };\n prototype[COMPUTED_PATH] || (prototype[COMPUTED_PATH] = []);\n var computedList = prototype[COMPUTED_PATH];\n\n if (computedList.indexOf(memberName) === -1) {\n computedList.push(memberName);\n }\n\n Object.defineProperty(prototype, memberName, nextAttributes);\n return nextAttributes;\n}\n\nexport { Computed, ComputedObserver, Observe, Observer, Reactive, ReactiveSubscribe, adaptReactive, camelize, computed, defineObservers, findTarget, getObserver, getObservers, injectReactiveSubscribe, isFunction, isObject, isObserver, isReactive, isString, keys, observe, partialReactive, reactive, setObserver, withClassMethods, withReactiveMethods };\n//# sourceMappingURL=cfcs.esm.js.map\n","/*\nCopyright (c) NAVER Corp.\nname: @cfcs/vue3\nlicense: MIT\nauthor: NAVER Corp.\nrepository: https://github.com/naver/cfcs/tree/main/packages/vue3\nversion: 0.1.0\n*/\nimport { adaptReactive, camelize } from '@cfcs/core';\nimport { ref, onMounted, onUnmounted, reactive } from 'vue';\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\nvar __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\n/**\n * @description In Vue 3, you can create reactive components through adapters.\n * @category Reactive\n * @example\n * ```ts\n * import { useReactive } from \"@cfcs/vue3\";\n *\n * export function useReactiveComponent() {\n * return useReactive(REACTIVE_ADAPTER);\n * }\n * ```\n */\n\nfunction useReactive(reactiveAdapter, props) {\n var adaptResult = adaptReactive(reactiveAdapter, props);\n var reactiveState = adaptResult.state();\n var names = Object.keys(reactiveState);\n var refs = {};\n\n for (var name in reactiveState) {\n refs[name] = ref(reactiveState[name]);\n }\n\n var methods = adaptResult.methods();\n onMounted(function () {\n adaptResult.mounted();\n var inst = adaptResult.instance();\n names.forEach(function (name) {\n inst.subscribe(name, function (value) {\n refs[name].value = value;\n });\n });\n adaptResult.init();\n });\n onUnmounted(function () {\n adaptResult.destroy();\n });\n var reactiveEvents = adaptResult.events();\n var events = reactiveEvents.reduce(function (eventResult, name) {\n eventResult[camelize(\"on \".concat(name))] = function (callback) {\n adaptResult.on(name, callback);\n onUnmounted(function () {\n adaptResult.off(name, callback);\n });\n };\n\n return eventResult;\n }, {});\n return __assign(__assign(__assign({}, refs), methods), events);\n}\n/**\n * @category Reactive\n * @hidden\n */\n\nfunction useLegacyReactive(reactiveAdapter, props) {\n var adaptResult = adaptReactive(reactiveAdapter, props);\n var reactiveState = adaptResult.state();\n var names = Object.keys(reactiveState);\n var result;\n var methods = adaptResult.methods();\n onMounted(function () {\n adaptResult.mounted();\n var inst = adaptResult.instance();\n names.forEach(function (name) {\n inst.subscribe(name, function (value) {\n result[name] = value;\n });\n });\n adaptResult.init();\n });\n onUnmounted(function () {\n adaptResult.destroy();\n });\n var reactiveEvents = adaptResult.events();\n var events = reactiveEvents.reduce(function (eventResult, name) {\n eventResult[camelize(\"on \".concat(name))] = function (callback) {\n adaptResult.on(name, callback);\n onUnmounted(function () {\n adaptResult.off(name, callback);\n });\n };\n\n return eventResult;\n }, {});\n result = reactive(__assign(__assign(__assign({}, reactiveState), methods), events));\n return result;\n}\n\nexport { useLegacyReactive, useReactive };\n//# sourceMappingURL=cfcs.esm.js.map\n","import { useReactive } from \"@cfcs/vue3\";\nimport { FlickingReactiveAPIOptions, flickingReactiveAPIAdapter } from \"@egjs/flicking\";\nimport { Ref } from \"vue\";\n\nimport Flicking from \"./Flicking\";\n\nexport const useFlickingReactiveAPI = (flickingRef: Ref<Flicking>, options?: FlickingReactiveAPIOptions) => {\n return useReactive(flickingReactiveAPIAdapter, () => ({\n flicking: flickingRef.value ?? undefined,\n options\n }));\n};\n"],"names":["VanillaFlicking","ref","onMounted","props","instance","__assign","name"],"mappings":"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","x_google_ignoreList":[5,6]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@egjs/vue3-flicking",
|
|
3
|
-
"version": "4.16.
|
|
3
|
+
"version": "4.16.1-beta.0",
|
|
4
4
|
"description": "Everyday 30 million people experience. It's reliable, flexible and extendable carousel.",
|
|
5
5
|
"main": "dist/flicking.cjs.js",
|
|
6
6
|
"module": "dist/flicking.esm.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"@egjs/component": "^3.0.2",
|
|
27
27
|
"@egjs/list-differ": "^1.0.1",
|
|
28
28
|
"vue-router": "^4.5.1",
|
|
29
|
-
"@egjs/flicking": "~4.16.
|
|
29
|
+
"@egjs/flicking": "~4.16.1-beta.0"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"vue": "^3.0.0"
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"typescript": "4.8.4",
|
|
40
40
|
"vite": "^7.2.6",
|
|
41
41
|
"vue": "^3.2.22",
|
|
42
|
-
"@egjs/flicking-plugins": "~4.
|
|
42
|
+
"@egjs/flicking-plugins": "~4.8.1-beta.0"
|
|
43
43
|
},
|
|
44
44
|
"scripts": {
|
|
45
45
|
"dev": "vite --config vite.dev.config.ts",
|