@plaidev/karte-action-sdk 1.1.180-28042066.2d66783f → 1.1.181-28042947.ba6a2943
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/hydrate/index.es.js +390 -341
- package/dist/index.es.js +395 -344
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { writable, get } from 'svelte/store';
|
2
2
|
import { onMount as onMount$1, onDestroy as onDestroy$1, beforeUpdate as beforeUpdate$1, afterUpdate as afterUpdate$1, tick as tick$1, setContext, getContext, createEventDispatcher } from 'svelte';
|
3
|
-
import { SvelteComponent, init, safe_not_equal, element, insert, noop, detach, component_subscribe, attr, create_slot, create_component, space, mount_component, update_slot_base, get_all_dirty_from_scope, get_slot_changes, transition_in, transition_out, destroy_component, append_styles, empty, group_outros, check_outros, listen, null_to_empty, is_function, add_render_callback, create_in_transition, binding_callbacks, set_style, svg_element, append, destroy_each, text, set_data, src_url_equal, HtmlTag, construct_svelte_component, subscribe } from 'svelte/internal';
|
3
|
+
import { SvelteComponent, init, safe_not_equal, element, insert, noop, detach, component_subscribe, attr, create_slot, create_component, space, mount_component, update_slot_base, get_all_dirty_from_scope, get_slot_changes, transition_in, transition_out, destroy_component, append_styles, empty, group_outros, check_outros, listen, assign, set_attributes, toggle_class, get_spread_update, null_to_empty, prevent_default, is_function, add_render_callback, create_in_transition, binding_callbacks, set_style, svg_element, append, destroy_each, text, set_data, src_url_equal, HtmlTag, construct_svelte_component, subscribe } from 'svelte/internal';
|
4
4
|
import { linear, elasticOut, cubicOut } from 'svelte/easing';
|
5
5
|
|
6
6
|
/** @internal */
|
@@ -25,6 +25,233 @@ const ALL_ACTION_SHORTEN_ID = 'KARTE_ALL_ACTION_SHORTEN_ID';
|
|
25
25
|
*/
|
26
26
|
const KARTE_MODAL_ROOT = 'karte-modal-root';
|
27
27
|
|
28
|
+
/** @internal */
|
29
|
+
const NOOP = (_args) => { }; // eslint-disable-line @typescript-eslint/no-unused-vars
|
30
|
+
/** @internal */
|
31
|
+
const isPreview = () => {
|
32
|
+
return false;
|
33
|
+
};
|
34
|
+
/** @internal */
|
35
|
+
const setPreviousFocus = () => {
|
36
|
+
const previously_focused = typeof document !== 'undefined' && document.activeElement;
|
37
|
+
if (previously_focused) {
|
38
|
+
previously_focused?.focus();
|
39
|
+
}
|
40
|
+
};
|
41
|
+
/** @internal */
|
42
|
+
const handleKeydown = (handlers) => (e) => {
|
43
|
+
if (handlers[e.key]) {
|
44
|
+
handlers[e.key](e);
|
45
|
+
}
|
46
|
+
};
|
47
|
+
const POSITION_STYLES = {
|
48
|
+
'top-center': 'top: 0; right: 50%; transform: translate(+50%, 0%);',
|
49
|
+
'top-left': 'top: 0; left: 0; transform: translate(0%, 0%);',
|
50
|
+
'top-right': 'top: 0; right: 0; transform: translate(0%, 0%);',
|
51
|
+
'center-left': 'top: 50%; left: 0; transform: translate(0%, -50%);',
|
52
|
+
center: 'top: 50%; left: 50%; transform: translate(-50%, -50%);',
|
53
|
+
'center-right': 'top: 50%; right: 0; transform: translate(0%, -50%);',
|
54
|
+
'bottom-left': 'bottom: 0; left: 0; transform: translate(0%, 0%);',
|
55
|
+
'bottom-center': 'bottom: 0; left: 50%; transform: translate(-50%, 0%);',
|
56
|
+
'bottom-right': 'bottom: 0; right: 0; transform: translate(0%, 0);',
|
57
|
+
none: 'top: 0; bottom: 0; right: 0; left: 0;',
|
58
|
+
};
|
59
|
+
const TRANSFORM = {
|
60
|
+
'top-center': [50, 0],
|
61
|
+
'top-left': [0, 0],
|
62
|
+
'top-right': [0, 0],
|
63
|
+
'center-left': [0, -50],
|
64
|
+
center: [-50, -50],
|
65
|
+
'center-right': [0, -50],
|
66
|
+
'bottom-left': [0, 0],
|
67
|
+
'bottom-center': [-50, 0],
|
68
|
+
'bottom-right': [0, 0],
|
69
|
+
none: [0, 0],
|
70
|
+
};
|
71
|
+
/** @internal */
|
72
|
+
const getPositionStyle = (position) => {
|
73
|
+
const style = POSITION_STYLES[position];
|
74
|
+
if (style != null) {
|
75
|
+
return style;
|
76
|
+
}
|
77
|
+
else {
|
78
|
+
console.warn(`[action-sdk] invalid '${position}', so we use 'center' instead`);
|
79
|
+
return POSITION_STYLES['center'];
|
80
|
+
}
|
81
|
+
};
|
82
|
+
/** @internal */
|
83
|
+
const getTransform = (position) => {
|
84
|
+
const transform = TRANSFORM[position];
|
85
|
+
if (transform != null) {
|
86
|
+
return transform;
|
87
|
+
}
|
88
|
+
else {
|
89
|
+
console.warn(`[action-sdk] invalid '${position}', so we use 'center' instead`);
|
90
|
+
return TRANSFORM['center'];
|
91
|
+
}
|
92
|
+
};
|
93
|
+
/** @internal */
|
94
|
+
const getMarginStyle = (margin) => {
|
95
|
+
return `margin: ${margin?.top ?? 0} ${margin?.right ?? 0} ${margin?.bottom ?? 0} ${margin?.left ?? 0};`;
|
96
|
+
};
|
97
|
+
/** @internal */
|
98
|
+
const stringifyStyleObj = (styleObj) => {
|
99
|
+
return Object.entries(styleObj)
|
100
|
+
.map(([key, value]) => `${key}:${value}`)
|
101
|
+
.join(';');
|
102
|
+
};
|
103
|
+
/**
|
104
|
+
* スクロール率が達したときに呼び出すコールバックを登録します
|
105
|
+
*
|
106
|
+
* @param rate - スクロール率。この値は viewport でのスクロールのパーセンテージ
|
107
|
+
* @param fn - スクロール率が達したときに呼び出されるコールバック関数
|
108
|
+
*
|
109
|
+
* @returns スクロール率によって呼び出されるコールバックを停止する関数を返します
|
110
|
+
*
|
111
|
+
* @public
|
112
|
+
*/
|
113
|
+
function onScroll(rate, fn) {
|
114
|
+
const rates = Array.isArray(rate) ? rate : [rate];
|
115
|
+
const body = window.document.body;
|
116
|
+
const html = window.document.documentElement;
|
117
|
+
const contexts = new Map();
|
118
|
+
rates.forEach(rate => {
|
119
|
+
contexts.set(rate, {
|
120
|
+
rate,
|
121
|
+
repeat: false,
|
122
|
+
zone: 'out',
|
123
|
+
previousRate: 0,
|
124
|
+
deltaRate: 0,
|
125
|
+
scrollRate: 0,
|
126
|
+
scrollTop: html.scrollTop || body.scrollTop,
|
127
|
+
});
|
128
|
+
});
|
129
|
+
const _fn = fn;
|
130
|
+
const direction = (ctx) => ctx.deltaRate > 0 ? 'down' : 'up';
|
131
|
+
const updateStates = (ctx, repeat) => {
|
132
|
+
ctx.repeat = repeat;
|
133
|
+
// prettier-ignore
|
134
|
+
ctx.zone =
|
135
|
+
// case: the scroll rate cannot detect the rate when scrolling to the top
|
136
|
+
ctx.scrollTop === 0 && ctx.scrollRate >= ctx.rate
|
137
|
+
? 'out'
|
138
|
+
: ctx.scrollRate >= ctx.rate
|
139
|
+
? 'in'
|
140
|
+
: 'out';
|
141
|
+
// console.log('updateStates', ctx.zone);
|
142
|
+
};
|
143
|
+
// prettier-ignore
|
144
|
+
const canCall = ({ zone, scrollRate, rate, scrollTop, repeat }) => zone === 'out'
|
145
|
+
? scrollRate >= rate
|
146
|
+
: repeat
|
147
|
+
// case: the scroll rate cannot detect the rate when scrolling to the top
|
148
|
+
? scrollRate < rate || (scrollTop === 0 && scrollRate >= rate)
|
149
|
+
: false;
|
150
|
+
/*
|
151
|
+
// NOTE: same logic the above (code size optimiazation)
|
152
|
+
const canCall = (ctx: OnScrollInternalContext): boolean => {
|
153
|
+
// console.log('repeat', ctx.repeat, 'rate', ctx.rate, 'scrollRate', ctx.scrollRate, '1 - rate', 1 - ctx.rate, '1 - scrollRate', 1 - ctx.scrollRate, 'scrollRate >= rate', ctx.scrollRate >= ctx.rate, '1 - scrollRate >= 1 - rate', 1 - ctx.scrollRate >= 1 - ctx.rate);
|
154
|
+
// console.log(ctx.rate, 'deltaRate', ctx.deltaRate, 'reviousRate', ctx.previousRate)
|
155
|
+
if (ctx.zone === 'out') {
|
156
|
+
return ctx.scrollRate >= ctx.rate;
|
157
|
+
} else {
|
158
|
+
// 'in'
|
159
|
+
if (ctx.repeat) {
|
160
|
+
return ctx.scrollRate < ctx.rate || (ctx.scrollTop === 0 && ctx.scrollRate >= ctx.rate);
|
161
|
+
} else {
|
162
|
+
return false;
|
163
|
+
}
|
164
|
+
}
|
165
|
+
};
|
166
|
+
//*/
|
167
|
+
const onScroll = () => {
|
168
|
+
const scrollTop = html.scrollTop || body.scrollTop;
|
169
|
+
const pageHeight = Math.max(...[body.clientHeight, body.scrollHeight, html.scrollHeight, html.clientHeight]);
|
170
|
+
const viewHeight = Math.min(...[html.clientHeight, body.clientHeight]);
|
171
|
+
const scrollRate = (scrollTop + viewHeight) / pageHeight;
|
172
|
+
// console.log('scrollRate ->', scrollRate, 'scrollTop ->', scrollTop);
|
173
|
+
contexts.forEach(ctx => {
|
174
|
+
ctx.scrollRate = scrollRate;
|
175
|
+
ctx.deltaRate = ctx.scrollRate - ctx.previousRate;
|
176
|
+
ctx.previousRate = ctx.scrollRate;
|
177
|
+
ctx.scrollTop = scrollTop;
|
178
|
+
if (canCall(ctx)) {
|
179
|
+
const repeat = !!_fn(Object.assign({ direction: direction(ctx) }, ctx));
|
180
|
+
updateStates(ctx, repeat);
|
181
|
+
}
|
182
|
+
});
|
183
|
+
};
|
184
|
+
// register scorll event
|
185
|
+
window.addEventListener('scroll', onScroll);
|
186
|
+
// return disposing (finalizing/releasing) function
|
187
|
+
return () => {
|
188
|
+
window.removeEventListener('scroll', onScroll);
|
189
|
+
};
|
190
|
+
}
|
191
|
+
/**
|
192
|
+
* 指定した時間の経過後に呼び出すコールバックを登録します
|
193
|
+
*
|
194
|
+
* @param time - コールバックを呼び出すまでの時間。単位はミリセカンド(ms)
|
195
|
+
* @param fn - 指定した時間が経過後に呼び出されるコールバック関数
|
196
|
+
*
|
197
|
+
* @returns コールバックを呼び出すためのタイマーを停止する関数を返します
|
198
|
+
*
|
199
|
+
* @public
|
200
|
+
*/
|
201
|
+
function onTime(time, fn) {
|
202
|
+
const timeoutHandler = setTimeout(fn, time);
|
203
|
+
return () => timeoutHandler && clearTimeout(timeoutHandler);
|
204
|
+
}
|
205
|
+
/** @internal */
|
206
|
+
function hasSuffix(value, suffix) {
|
207
|
+
return new RegExp(`[0-9]${suffix}$`).test(value);
|
208
|
+
}
|
209
|
+
/** @internal */
|
210
|
+
function randStr(digit = 8) {
|
211
|
+
return Math.random().toString(32).substring(digit);
|
212
|
+
}
|
213
|
+
/**
|
214
|
+
* Goolge Fonts用のURLを生成
|
215
|
+
*
|
216
|
+
* @param fonts - フォント名の配列
|
217
|
+
* @param texts - 使用するテキストの配列
|
218
|
+
*
|
219
|
+
* @remarks
|
220
|
+
* textsを指定した場合フォントサイズが削減される
|
221
|
+
*
|
222
|
+
* @internal
|
223
|
+
*/
|
224
|
+
function makeGoogleFontUrl(fonts, texts) {
|
225
|
+
const params = [];
|
226
|
+
params.push('display=swap');
|
227
|
+
if (texts) {
|
228
|
+
texts.forEach(text => params.push(`text=${text}`));
|
229
|
+
}
|
230
|
+
fonts.forEach(font => params.push(`family=${font.replace(/['"]/g, '').replace(/ /g, '+')}`));
|
231
|
+
return `https://fonts.googleapis.com/css2?${params.join('&')}`;
|
232
|
+
}
|
233
|
+
/**
|
234
|
+
* HTML要素を生成
|
235
|
+
*
|
236
|
+
* @internal
|
237
|
+
*/
|
238
|
+
const h = (type, props, ...children) => {
|
239
|
+
const el = document.createElement(type);
|
240
|
+
for (const key of Object.keys(props)) {
|
241
|
+
const v = props[key];
|
242
|
+
if (key === 'style') {
|
243
|
+
Object.assign(el.style, v);
|
244
|
+
}
|
245
|
+
else {
|
246
|
+
el.setAttribute(key, v);
|
247
|
+
}
|
248
|
+
}
|
249
|
+
for (const child of children) {
|
250
|
+
el.appendChild(child);
|
251
|
+
}
|
252
|
+
return el;
|
253
|
+
};
|
254
|
+
|
28
255
|
/**
|
29
256
|
* ポップアップ(モーダル)のコンポーネントで利用するPropの定義
|
30
257
|
*/
|
@@ -253,258 +480,21 @@ const DefaultSlideButton = {
|
|
253
480
|
type: 'icon',
|
254
481
|
icon: 'chevron-left',
|
255
482
|
color: '#999',
|
256
|
-
fill: '#999',
|
257
|
-
size: '20px',
|
258
|
-
};
|
259
|
-
/** @internal */
|
260
|
-
const DefaultSlideNavigationButton = {
|
261
|
-
type: 'circle',
|
262
|
-
size: '8px',
|
263
|
-
color: '#ddd',
|
264
|
-
colorActive: '#666',
|
265
|
-
};
|
266
|
-
/** @internal */
|
267
|
-
const DefaultFormButtonColor = {
|
268
|
-
main: '#2aab9f',
|
269
|
-
sub: '#fff',
|
270
|
-
};
|
271
|
-
|
272
|
-
/** @internal */
|
273
|
-
const NOOP = (_args) => { }; // eslint-disable-line @typescript-eslint/no-unused-vars
|
274
|
-
/** @internal */
|
275
|
-
const isPreview = () => {
|
276
|
-
return false;
|
277
|
-
};
|
278
|
-
/** @internal */
|
279
|
-
const setPreviousFocus = () => {
|
280
|
-
const previously_focused = typeof document !== 'undefined' && document.activeElement;
|
281
|
-
if (previously_focused) {
|
282
|
-
previously_focused?.focus();
|
283
|
-
}
|
284
|
-
};
|
285
|
-
/** @internal */
|
286
|
-
const handleKeydown = (handlers) => (e) => {
|
287
|
-
if (handlers[e.key]) {
|
288
|
-
handlers[e.key](e);
|
289
|
-
}
|
290
|
-
};
|
291
|
-
const POSITION_STYLES = {
|
292
|
-
'top-center': 'top: 0; right: 50%; transform: translate(+50%, 0%);',
|
293
|
-
'top-left': 'top: 0; left: 0; transform: translate(0%, 0%);',
|
294
|
-
'top-right': 'top: 0; right: 0; transform: translate(0%, 0%);',
|
295
|
-
'center-left': 'top: 50%; left: 0; transform: translate(0%, -50%);',
|
296
|
-
center: 'top: 50%; left: 50%; transform: translate(-50%, -50%);',
|
297
|
-
'center-right': 'top: 50%; right: 0; transform: translate(0%, -50%);',
|
298
|
-
'bottom-left': 'bottom: 0; left: 0; transform: translate(0%, 0%);',
|
299
|
-
'bottom-center': 'bottom: 0; left: 50%; transform: translate(-50%, 0%);',
|
300
|
-
'bottom-right': 'bottom: 0; right: 0; transform: translate(0%, 0);',
|
301
|
-
none: 'top: 0; bottom: 0; right: 0; left: 0;',
|
302
|
-
};
|
303
|
-
const TRANSFORM = {
|
304
|
-
'top-center': [50, 0],
|
305
|
-
'top-left': [0, 0],
|
306
|
-
'top-right': [0, 0],
|
307
|
-
'center-left': [0, -50],
|
308
|
-
center: [-50, -50],
|
309
|
-
'center-right': [0, -50],
|
310
|
-
'bottom-left': [0, 0],
|
311
|
-
'bottom-center': [-50, 0],
|
312
|
-
'bottom-right': [0, 0],
|
313
|
-
none: [0, 0],
|
314
|
-
};
|
315
|
-
/** @internal */
|
316
|
-
const getPositionStyle = (position) => {
|
317
|
-
const style = POSITION_STYLES[position];
|
318
|
-
if (style != null) {
|
319
|
-
return style;
|
320
|
-
}
|
321
|
-
else {
|
322
|
-
console.warn(`[action-sdk] invalid '${position}', so we use 'center' instead`);
|
323
|
-
return POSITION_STYLES['center'];
|
324
|
-
}
|
325
|
-
};
|
326
|
-
/** @internal */
|
327
|
-
const getTransform = (position) => {
|
328
|
-
const transform = TRANSFORM[position];
|
329
|
-
if (transform != null) {
|
330
|
-
return transform;
|
331
|
-
}
|
332
|
-
else {
|
333
|
-
console.warn(`[action-sdk] invalid '${position}', so we use 'center' instead`);
|
334
|
-
return TRANSFORM['center'];
|
335
|
-
}
|
336
|
-
};
|
337
|
-
/** @internal */
|
338
|
-
const getMarginStyle = (margin) => {
|
339
|
-
return `margin: ${margin?.top ?? 0} ${margin?.right ?? 0} ${margin?.bottom ?? 0} ${margin?.left ?? 0};`;
|
340
|
-
};
|
341
|
-
/** @internal */
|
342
|
-
const stringifyStyleObj = (styleObj) => {
|
343
|
-
return Object.entries(styleObj)
|
344
|
-
.map(([key, value]) => `${key}:${value}`)
|
345
|
-
.join(';');
|
483
|
+
fill: '#999',
|
484
|
+
size: '20px',
|
346
485
|
};
|
347
|
-
/**
|
348
|
-
* スクロール率が達したときに呼び出すコールバックを登録します
|
349
|
-
*
|
350
|
-
* @param rate - スクロール率。この値は viewport でのスクロールのパーセンテージ
|
351
|
-
* @param fn - スクロール率が達したときに呼び出されるコールバック関数
|
352
|
-
*
|
353
|
-
* @returns スクロール率によって呼び出されるコールバックを停止する関数を返します
|
354
|
-
*
|
355
|
-
* @public
|
356
|
-
*/
|
357
|
-
function onScroll(rate, fn) {
|
358
|
-
const rates = Array.isArray(rate) ? rate : [rate];
|
359
|
-
const body = window.document.body;
|
360
|
-
const html = window.document.documentElement;
|
361
|
-
const contexts = new Map();
|
362
|
-
rates.forEach(rate => {
|
363
|
-
contexts.set(rate, {
|
364
|
-
rate,
|
365
|
-
repeat: false,
|
366
|
-
zone: 'out',
|
367
|
-
previousRate: 0,
|
368
|
-
deltaRate: 0,
|
369
|
-
scrollRate: 0,
|
370
|
-
scrollTop: html.scrollTop || body.scrollTop,
|
371
|
-
});
|
372
|
-
});
|
373
|
-
const _fn = fn;
|
374
|
-
const direction = (ctx) => ctx.deltaRate > 0 ? 'down' : 'up';
|
375
|
-
const updateStates = (ctx, repeat) => {
|
376
|
-
ctx.repeat = repeat;
|
377
|
-
// prettier-ignore
|
378
|
-
ctx.zone =
|
379
|
-
// case: the scroll rate cannot detect the rate when scrolling to the top
|
380
|
-
ctx.scrollTop === 0 && ctx.scrollRate >= ctx.rate
|
381
|
-
? 'out'
|
382
|
-
: ctx.scrollRate >= ctx.rate
|
383
|
-
? 'in'
|
384
|
-
: 'out';
|
385
|
-
// console.log('updateStates', ctx.zone);
|
386
|
-
};
|
387
|
-
// prettier-ignore
|
388
|
-
const canCall = ({ zone, scrollRate, rate, scrollTop, repeat }) => zone === 'out'
|
389
|
-
? scrollRate >= rate
|
390
|
-
: repeat
|
391
|
-
// case: the scroll rate cannot detect the rate when scrolling to the top
|
392
|
-
? scrollRate < rate || (scrollTop === 0 && scrollRate >= rate)
|
393
|
-
: false;
|
394
|
-
/*
|
395
|
-
// NOTE: same logic the above (code size optimiazation)
|
396
|
-
const canCall = (ctx: OnScrollInternalContext): boolean => {
|
397
|
-
// console.log('repeat', ctx.repeat, 'rate', ctx.rate, 'scrollRate', ctx.scrollRate, '1 - rate', 1 - ctx.rate, '1 - scrollRate', 1 - ctx.scrollRate, 'scrollRate >= rate', ctx.scrollRate >= ctx.rate, '1 - scrollRate >= 1 - rate', 1 - ctx.scrollRate >= 1 - ctx.rate);
|
398
|
-
// console.log(ctx.rate, 'deltaRate', ctx.deltaRate, 'reviousRate', ctx.previousRate)
|
399
|
-
if (ctx.zone === 'out') {
|
400
|
-
return ctx.scrollRate >= ctx.rate;
|
401
|
-
} else {
|
402
|
-
// 'in'
|
403
|
-
if (ctx.repeat) {
|
404
|
-
return ctx.scrollRate < ctx.rate || (ctx.scrollTop === 0 && ctx.scrollRate >= ctx.rate);
|
405
|
-
} else {
|
406
|
-
return false;
|
407
|
-
}
|
408
|
-
}
|
409
|
-
};
|
410
|
-
//*/
|
411
|
-
const onScroll = () => {
|
412
|
-
const scrollTop = html.scrollTop || body.scrollTop;
|
413
|
-
const pageHeight = Math.max(...[body.clientHeight, body.scrollHeight, html.scrollHeight, html.clientHeight]);
|
414
|
-
const viewHeight = Math.min(...[html.clientHeight, body.clientHeight]);
|
415
|
-
const scrollRate = (scrollTop + viewHeight) / pageHeight;
|
416
|
-
// console.log('scrollRate ->', scrollRate, 'scrollTop ->', scrollTop);
|
417
|
-
contexts.forEach(ctx => {
|
418
|
-
ctx.scrollRate = scrollRate;
|
419
|
-
ctx.deltaRate = ctx.scrollRate - ctx.previousRate;
|
420
|
-
ctx.previousRate = ctx.scrollRate;
|
421
|
-
ctx.scrollTop = scrollTop;
|
422
|
-
if (canCall(ctx)) {
|
423
|
-
const repeat = !!_fn(Object.assign({ direction: direction(ctx) }, ctx));
|
424
|
-
updateStates(ctx, repeat);
|
425
|
-
}
|
426
|
-
});
|
427
|
-
};
|
428
|
-
// register scorll event
|
429
|
-
window.addEventListener('scroll', onScroll);
|
430
|
-
// return disposing (finalizing/releasing) function
|
431
|
-
return () => {
|
432
|
-
window.removeEventListener('scroll', onScroll);
|
433
|
-
};
|
434
|
-
}
|
435
|
-
/**
|
436
|
-
* 指定した時間の経過後に呼び出すコールバックを登録します
|
437
|
-
*
|
438
|
-
* @param time - コールバックを呼び出すまでの時間。単位はミリセカンド(ms)
|
439
|
-
* @param fn - 指定した時間が経過後に呼び出されるコールバック関数
|
440
|
-
*
|
441
|
-
* @returns コールバックを呼び出すためのタイマーを停止する関数を返します
|
442
|
-
*
|
443
|
-
* @public
|
444
|
-
*/
|
445
|
-
function onTime(time, fn) {
|
446
|
-
const timeoutHandler = setTimeout(fn, time);
|
447
|
-
return () => timeoutHandler && clearTimeout(timeoutHandler);
|
448
|
-
}
|
449
486
|
/** @internal */
|
450
|
-
|
451
|
-
|
452
|
-
|
487
|
+
const DefaultSlideNavigationButton = {
|
488
|
+
type: 'circle',
|
489
|
+
size: '8px',
|
490
|
+
color: '#ddd',
|
491
|
+
colorActive: '#666',
|
492
|
+
};
|
453
493
|
/** @internal */
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
/**
|
458
|
-
* Goolge Fonts用のURLを生成
|
459
|
-
*
|
460
|
-
* @param fonts - フォント名の配列
|
461
|
-
* @param texts - 使用するテキストの配列
|
462
|
-
*
|
463
|
-
* @remarks
|
464
|
-
* textsを指定した場合フォントサイズが削減される
|
465
|
-
*
|
466
|
-
* @internal
|
467
|
-
*/
|
468
|
-
function makeGoogleFontUrl(fonts, texts) {
|
469
|
-
const params = [];
|
470
|
-
params.push('display=swap');
|
471
|
-
if (texts) {
|
472
|
-
texts.forEach(text => params.push(`text=${text}`));
|
473
|
-
}
|
474
|
-
fonts.forEach(font => params.push(`family=${font.replace(/['"]/g, '').replace(/ /g, '+')}`));
|
475
|
-
return `https://fonts.googleapis.com/css2?${params.join('&')}`;
|
476
|
-
}
|
477
|
-
/**
|
478
|
-
* HTML要素を生成
|
479
|
-
*
|
480
|
-
* @internal
|
481
|
-
*/
|
482
|
-
const h = (type, props, ...children) => {
|
483
|
-
const el = document.createElement(type);
|
484
|
-
for (const key of Object.keys(props)) {
|
485
|
-
const v = props[key];
|
486
|
-
if (key === 'style') {
|
487
|
-
Object.assign(el.style, v);
|
488
|
-
}
|
489
|
-
else {
|
490
|
-
el.setAttribute(key, v);
|
491
|
-
}
|
492
|
-
}
|
493
|
-
for (const child of children) {
|
494
|
-
el.appendChild(child);
|
495
|
-
}
|
496
|
-
return el;
|
494
|
+
const DefaultFormButtonColor = {
|
495
|
+
main: '#2aab9f',
|
496
|
+
sub: '#fff',
|
497
497
|
};
|
498
|
-
/**
|
499
|
-
* 非推奨
|
500
|
-
*
|
501
|
-
* @deprecated 非推奨
|
502
|
-
*
|
503
|
-
* @internal
|
504
|
-
*/
|
505
|
-
function getGoogleFontsParam() {
|
506
|
-
return 'family=' + Fonts.map(font => font.replace(/ /g, '+')).join('&family=');
|
507
|
-
}
|
508
498
|
|
509
499
|
/**
|
510
500
|
* Store to handle action setting
|
@@ -2963,27 +2953,73 @@ class BackgroundOverlay extends SvelteComponent {
|
|
2963
2953
|
}
|
2964
2954
|
}
|
2965
2955
|
|
2956
|
+
/**
|
2957
|
+
* data属性とカスタムのイベントハンドラによるstopPropagation。
|
2958
|
+
* デフォルトのstopPropagationだと伝播先のpreventDefaultも無効化されてしまうため、それの対策。
|
2959
|
+
*/
|
2960
|
+
function createDataAttrKey(eventName) {
|
2961
|
+
return `data-stop-propagation-${eventName}-${actionId}`;
|
2962
|
+
}
|
2963
|
+
function dataAttrStopPropagation(eventName) {
|
2964
|
+
const dataAttr = createDataAttrKey(eventName);
|
2965
|
+
return {
|
2966
|
+
[dataAttr]: true,
|
2967
|
+
};
|
2968
|
+
}
|
2969
|
+
function checkStopPropagation(eventName, handler) {
|
2970
|
+
const dataAttr = createDataAttrKey(eventName);
|
2971
|
+
return function (event) {
|
2972
|
+
let el = event.target;
|
2973
|
+
do {
|
2974
|
+
const _el = el;
|
2975
|
+
if (_el === this) {
|
2976
|
+
// handlerの中で伝播先のDOMが同期的に消されると
|
2977
|
+
// preventDefaultが呼ばれずにデフォルトの挙動だけ残ってしまう
|
2978
|
+
setTimeout(() => {
|
2979
|
+
handler(event);
|
2980
|
+
}, 0);
|
2981
|
+
break;
|
2982
|
+
}
|
2983
|
+
if (_el.hasAttribute(dataAttr))
|
2984
|
+
break;
|
2985
|
+
el = el.parentElement || el.parentNode;
|
2986
|
+
} while (el !== null && el.nodeType === 1);
|
2987
|
+
};
|
2988
|
+
}
|
2989
|
+
|
2966
2990
|
/* src/components/Button.svelte generated by Svelte v3.53.1 */
|
2967
2991
|
|
2968
2992
|
function add_css$r(target) {
|
2969
2993
|
append_styles(target, "svelte-1tg0tf", ".button.svelte-1tg0tf{display:block;text-decoration:none;color:inherit;border:none;background:none;margin:0;padding:0}.button.svelte-1tg0tf:link,.button.svelte-1tg0tf:visited,.button.svelte-1tg0tf:active,.button.svelte-1tg0tf:hover{color:inherit}");
|
2970
2994
|
}
|
2971
2995
|
|
2972
|
-
// (
|
2996
|
+
// (50:0) {:else}
|
2973
2997
|
function create_else_block$3(ctx) {
|
2974
2998
|
let button;
|
2975
2999
|
let current;
|
2976
3000
|
let mounted;
|
2977
3001
|
let dispose;
|
2978
|
-
const default_slot_template = /*#slots*/ ctx[
|
2979
|
-
const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[
|
3002
|
+
const default_slot_template = /*#slots*/ ctx[9].default;
|
3003
|
+
const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[8], null);
|
3004
|
+
|
3005
|
+
let button_levels = [
|
3006
|
+
{ class: BUTTON_CLASS },
|
3007
|
+
{ style: /*style*/ ctx[1] },
|
3008
|
+
dataAttrStopPropagation('click')
|
3009
|
+
];
|
3010
|
+
|
3011
|
+
let button_data = {};
|
3012
|
+
|
3013
|
+
for (let i = 0; i < button_levels.length; i += 1) {
|
3014
|
+
button_data = assign(button_data, button_levels[i]);
|
3015
|
+
}
|
2980
3016
|
|
2981
3017
|
return {
|
2982
3018
|
c() {
|
2983
3019
|
button = element("button");
|
2984
3020
|
if (default_slot) default_slot.c();
|
2985
|
-
|
2986
|
-
|
3021
|
+
set_attributes(button, button_data);
|
3022
|
+
toggle_class(button, "svelte-1tg0tf", true);
|
2987
3023
|
},
|
2988
3024
|
m(target, anchor) {
|
2989
3025
|
insert(target, button, anchor);
|
@@ -2992,32 +3028,37 @@ function create_else_block$3(ctx) {
|
|
2992
3028
|
default_slot.m(button, null);
|
2993
3029
|
}
|
2994
3030
|
|
3031
|
+
if (button.autofocus) button.focus();
|
2995
3032
|
current = true;
|
2996
3033
|
|
2997
3034
|
if (!mounted) {
|
2998
|
-
dispose = listen(button, "click", /*
|
3035
|
+
dispose = listen(button, "click", checkStopPropagation('click', /*handleClick*/ ctx[3]));
|
2999
3036
|
mounted = true;
|
3000
3037
|
}
|
3001
3038
|
},
|
3002
3039
|
p(ctx, dirty) {
|
3003
3040
|
if (default_slot) {
|
3004
|
-
if (default_slot.p && (!current || dirty & /*$$scope*/
|
3041
|
+
if (default_slot.p && (!current || dirty & /*$$scope*/ 256)) {
|
3005
3042
|
update_slot_base(
|
3006
3043
|
default_slot,
|
3007
3044
|
default_slot_template,
|
3008
3045
|
ctx,
|
3009
|
-
/*$$scope*/ ctx[
|
3046
|
+
/*$$scope*/ ctx[8],
|
3010
3047
|
!current
|
3011
|
-
? get_all_dirty_from_scope(/*$$scope*/ ctx[
|
3012
|
-
: get_slot_changes(default_slot_template, /*$$scope*/ ctx[
|
3048
|
+
? get_all_dirty_from_scope(/*$$scope*/ ctx[8])
|
3049
|
+
: get_slot_changes(default_slot_template, /*$$scope*/ ctx[8], dirty, null),
|
3013
3050
|
null
|
3014
3051
|
);
|
3015
3052
|
}
|
3016
3053
|
}
|
3017
3054
|
|
3018
|
-
|
3019
|
-
|
3020
|
-
|
3055
|
+
set_attributes(button, button_data = get_spread_update(button_levels, [
|
3056
|
+
{ class: BUTTON_CLASS },
|
3057
|
+
(!current || dirty & /*style*/ 2) && { style: /*style*/ ctx[1] },
|
3058
|
+
dataAttrStopPropagation('click')
|
3059
|
+
]));
|
3060
|
+
|
3061
|
+
toggle_class(button, "svelte-1tg0tf", true);
|
3021
3062
|
},
|
3022
3063
|
i(local) {
|
3023
3064
|
if (current) return;
|
@@ -3037,12 +3078,12 @@ function create_else_block$3(ctx) {
|
|
3037
3078
|
};
|
3038
3079
|
}
|
3039
3080
|
|
3040
|
-
// (
|
3081
|
+
// (46:39)
|
3041
3082
|
function create_if_block_2(ctx) {
|
3042
3083
|
let div;
|
3043
3084
|
let current;
|
3044
|
-
const default_slot_template = /*#slots*/ ctx[
|
3045
|
-
const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[
|
3085
|
+
const default_slot_template = /*#slots*/ ctx[9].default;
|
3086
|
+
const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[8], null);
|
3046
3087
|
|
3047
3088
|
return {
|
3048
3089
|
c() {
|
@@ -3062,15 +3103,15 @@ function create_if_block_2(ctx) {
|
|
3062
3103
|
},
|
3063
3104
|
p(ctx, dirty) {
|
3064
3105
|
if (default_slot) {
|
3065
|
-
if (default_slot.p && (!current || dirty & /*$$scope*/
|
3106
|
+
if (default_slot.p && (!current || dirty & /*$$scope*/ 256)) {
|
3066
3107
|
update_slot_base(
|
3067
3108
|
default_slot,
|
3068
3109
|
default_slot_template,
|
3069
3110
|
ctx,
|
3070
|
-
/*$$scope*/ ctx[
|
3111
|
+
/*$$scope*/ ctx[8],
|
3071
3112
|
!current
|
3072
|
-
? get_all_dirty_from_scope(/*$$scope*/ ctx[
|
3073
|
-
: get_slot_changes(default_slot_template, /*$$scope*/ ctx[
|
3113
|
+
? get_all_dirty_from_scope(/*$$scope*/ ctx[8])
|
3114
|
+
: get_slot_changes(default_slot_template, /*$$scope*/ ctx[8], dirty, null),
|
3074
3115
|
null
|
3075
3116
|
);
|
3076
3117
|
}
|
@@ -3096,7 +3137,7 @@ function create_if_block_2(ctx) {
|
|
3096
3137
|
};
|
3097
3138
|
}
|
3098
3139
|
|
3099
|
-
// (
|
3140
|
+
// (35:41)
|
3100
3141
|
function create_if_block_1$2(ctx) {
|
3101
3142
|
let a;
|
3102
3143
|
let a_href_value;
|
@@ -3104,17 +3145,33 @@ function create_if_block_1$2(ctx) {
|
|
3104
3145
|
let current;
|
3105
3146
|
let mounted;
|
3106
3147
|
let dispose;
|
3107
|
-
const default_slot_template = /*#slots*/ ctx[
|
3108
|
-
const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[
|
3148
|
+
const default_slot_template = /*#slots*/ ctx[9].default;
|
3149
|
+
const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[8], null);
|
3150
|
+
|
3151
|
+
let a_levels = [
|
3152
|
+
{ class: BUTTON_CLASS },
|
3153
|
+
{ style: /*style*/ ctx[1] },
|
3154
|
+
{
|
3155
|
+
href: a_href_value = /*onClick*/ ctx[0].args[0]
|
3156
|
+
},
|
3157
|
+
{
|
3158
|
+
target: a_target_value = /*onClick*/ ctx[0].args[1] === true ? '_blank' : null
|
3159
|
+
},
|
3160
|
+
dataAttrStopPropagation('click')
|
3161
|
+
];
|
3162
|
+
|
3163
|
+
let a_data = {};
|
3164
|
+
|
3165
|
+
for (let i = 0; i < a_levels.length; i += 1) {
|
3166
|
+
a_data = assign(a_data, a_levels[i]);
|
3167
|
+
}
|
3109
3168
|
|
3110
3169
|
return {
|
3111
3170
|
c() {
|
3112
3171
|
a = element("a");
|
3113
3172
|
if (default_slot) default_slot.c();
|
3114
|
-
|
3115
|
-
|
3116
|
-
attr(a, "href", a_href_value = /*onClick*/ ctx[0].args[0]);
|
3117
|
-
attr(a, "target", a_target_value = /*onClick*/ ctx[0].args[1] === true ? '_blank' : null);
|
3173
|
+
set_attributes(a, a_data);
|
3174
|
+
toggle_class(a, "svelte-1tg0tf", true);
|
3118
3175
|
},
|
3119
3176
|
m(target, anchor) {
|
3120
3177
|
insert(target, a, anchor);
|
@@ -3126,37 +3183,35 @@ function create_if_block_1$2(ctx) {
|
|
3126
3183
|
current = true;
|
3127
3184
|
|
3128
3185
|
if (!mounted) {
|
3129
|
-
dispose = listen(a, "click", /*
|
3186
|
+
dispose = listen(a, "click", prevent_default(checkStopPropagation('click', /*handleClick*/ ctx[3])));
|
3130
3187
|
mounted = true;
|
3131
3188
|
}
|
3132
3189
|
},
|
3133
3190
|
p(ctx, dirty) {
|
3134
3191
|
if (default_slot) {
|
3135
|
-
if (default_slot.p && (!current || dirty & /*$$scope*/
|
3192
|
+
if (default_slot.p && (!current || dirty & /*$$scope*/ 256)) {
|
3136
3193
|
update_slot_base(
|
3137
3194
|
default_slot,
|
3138
3195
|
default_slot_template,
|
3139
3196
|
ctx,
|
3140
|
-
/*$$scope*/ ctx[
|
3197
|
+
/*$$scope*/ ctx[8],
|
3141
3198
|
!current
|
3142
|
-
? get_all_dirty_from_scope(/*$$scope*/ ctx[
|
3143
|
-
: get_slot_changes(default_slot_template, /*$$scope*/ ctx[
|
3199
|
+
? get_all_dirty_from_scope(/*$$scope*/ ctx[8])
|
3200
|
+
: get_slot_changes(default_slot_template, /*$$scope*/ ctx[8], dirty, null),
|
3144
3201
|
null
|
3145
3202
|
);
|
3146
3203
|
}
|
3147
3204
|
}
|
3148
3205
|
|
3149
|
-
|
3150
|
-
|
3151
|
-
|
3152
|
-
|
3153
|
-
|
3154
|
-
|
3155
|
-
|
3206
|
+
set_attributes(a, a_data = get_spread_update(a_levels, [
|
3207
|
+
{ class: BUTTON_CLASS },
|
3208
|
+
(!current || dirty & /*style*/ 2) && { style: /*style*/ ctx[1] },
|
3209
|
+
(!current || dirty & /*onClick*/ 1 && a_href_value !== (a_href_value = /*onClick*/ ctx[0].args[0])) && { href: a_href_value },
|
3210
|
+
(!current || dirty & /*onClick*/ 1 && a_target_value !== (a_target_value = /*onClick*/ ctx[0].args[1] === true ? '_blank' : null)) && { target: a_target_value },
|
3211
|
+
dataAttrStopPropagation('click')
|
3212
|
+
]));
|
3156
3213
|
|
3157
|
-
|
3158
|
-
attr(a, "target", a_target_value);
|
3159
|
-
}
|
3214
|
+
toggle_class(a, "svelte-1tg0tf", true);
|
3160
3215
|
},
|
3161
3216
|
i(local) {
|
3162
3217
|
if (current) return;
|
@@ -3176,12 +3231,12 @@ function create_if_block_1$2(ctx) {
|
|
3176
3231
|
};
|
3177
3232
|
}
|
3178
3233
|
|
3179
|
-
// (
|
3234
|
+
// (31:0) {#if disabled}
|
3180
3235
|
function create_if_block$6(ctx) {
|
3181
3236
|
let div;
|
3182
3237
|
let current;
|
3183
|
-
const default_slot_template = /*#slots*/ ctx[
|
3184
|
-
const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[
|
3238
|
+
const default_slot_template = /*#slots*/ ctx[9].default;
|
3239
|
+
const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[8], null);
|
3185
3240
|
|
3186
3241
|
return {
|
3187
3242
|
c() {
|
@@ -3201,15 +3256,15 @@ function create_if_block$6(ctx) {
|
|
3201
3256
|
},
|
3202
3257
|
p(ctx, dirty) {
|
3203
3258
|
if (default_slot) {
|
3204
|
-
if (default_slot.p && (!current || dirty & /*$$scope*/
|
3259
|
+
if (default_slot.p && (!current || dirty & /*$$scope*/ 256)) {
|
3205
3260
|
update_slot_base(
|
3206
3261
|
default_slot,
|
3207
3262
|
default_slot_template,
|
3208
3263
|
ctx,
|
3209
|
-
/*$$scope*/ ctx[
|
3264
|
+
/*$$scope*/ ctx[8],
|
3210
3265
|
!current
|
3211
|
-
? get_all_dirty_from_scope(/*$$scope*/ ctx[
|
3212
|
-
: get_slot_changes(default_slot_template, /*$$scope*/ ctx[
|
3266
|
+
? get_all_dirty_from_scope(/*$$scope*/ ctx[8])
|
3267
|
+
: get_slot_changes(default_slot_template, /*$$scope*/ ctx[8], dirty, null),
|
3213
3268
|
null
|
3214
3269
|
);
|
3215
3270
|
}
|
@@ -3317,17 +3372,7 @@ function instance$u($$self, $$props, $$invalidate) {
|
|
3317
3372
|
let { eventValue = undefined } = $$props;
|
3318
3373
|
let { style = '' } = $$props;
|
3319
3374
|
|
3320
|
-
function
|
3321
|
-
if (eventName) {
|
3322
|
-
send_event(eventName, eventValue);
|
3323
|
-
}
|
3324
|
-
|
3325
|
-
execOnClickOperation(onClick);
|
3326
|
-
}
|
3327
|
-
|
3328
|
-
function handleClickAnchor(e) {
|
3329
|
-
e.preventDefault();
|
3330
|
-
|
3375
|
+
function handleClick() {
|
3331
3376
|
if (eventName) {
|
3332
3377
|
send_event(eventName, eventValue);
|
3333
3378
|
}
|
@@ -3337,18 +3382,18 @@ function instance$u($$self, $$props, $$invalidate) {
|
|
3337
3382
|
|
3338
3383
|
const { path: statePath } = getStateItemContext() ?? { path: '/' };
|
3339
3384
|
const valuesAreValid = getValuesAreValidReader(statePath);
|
3340
|
-
component_subscribe($$self, valuesAreValid, value => $$invalidate(
|
3385
|
+
component_subscribe($$self, valuesAreValid, value => $$invalidate(7, $valuesAreValid = value));
|
3341
3386
|
|
3342
3387
|
$$self.$$set = $$props => {
|
3343
3388
|
if ('onClick' in $$props) $$invalidate(0, onClick = $$props.onClick);
|
3344
|
-
if ('eventName' in $$props) $$invalidate(
|
3345
|
-
if ('eventValue' in $$props) $$invalidate(
|
3389
|
+
if ('eventName' in $$props) $$invalidate(5, eventName = $$props.eventName);
|
3390
|
+
if ('eventValue' in $$props) $$invalidate(6, eventValue = $$props.eventValue);
|
3346
3391
|
if ('style' in $$props) $$invalidate(1, style = $$props.style);
|
3347
|
-
if ('$$scope' in $$props) $$invalidate(
|
3392
|
+
if ('$$scope' in $$props) $$invalidate(8, $$scope = $$props.$$scope);
|
3348
3393
|
};
|
3349
3394
|
|
3350
3395
|
$$self.$$.update = () => {
|
3351
|
-
if ($$self.$$.dirty & /*onClick, $valuesAreValid*/
|
3396
|
+
if ($$self.$$.dirty & /*onClick, $valuesAreValid*/ 129) {
|
3352
3397
|
$$invalidate(2, disabled = (() => {
|
3353
3398
|
let isEnabled = true;
|
3354
3399
|
|
@@ -3367,8 +3412,7 @@ function instance$u($$self, $$props, $$invalidate) {
|
|
3367
3412
|
onClick,
|
3368
3413
|
style,
|
3369
3414
|
disabled,
|
3370
|
-
|
3371
|
-
handleClickAnchor,
|
3415
|
+
handleClick,
|
3372
3416
|
valuesAreValid,
|
3373
3417
|
eventName,
|
3374
3418
|
eventValue,
|
@@ -3390,8 +3434,8 @@ class Button extends SvelteComponent {
|
|
3390
3434
|
safe_not_equal,
|
3391
3435
|
{
|
3392
3436
|
onClick: 0,
|
3393
|
-
eventName:
|
3394
|
-
eventValue:
|
3437
|
+
eventName: 5,
|
3438
|
+
eventValue: 6,
|
3395
3439
|
style: 1
|
3396
3440
|
},
|
3397
3441
|
add_css$r
|
@@ -4737,7 +4781,7 @@ function add_css$n(target) {
|
|
4737
4781
|
append_styles(target, "svelte-wb7ek", ".text-button-element.svelte-wb7ek{width:100%;height:100%}.text-button-element.svelte-wb7ek > .button{display:flex;justify-content:center;align-items:center;width:100%;height:100%;background-color:transparent;border:none;box-shadow:transparent;box-sizing:border-box;cursor:pointer;transition:box-shadow 0.2s;white-space:pre-wrap;overflow:hidden}.text-button-element.svelte-wb7ek > .button._disabled{cursor:not-allowed !important;opacity:0.2}.text-button-element.svelte-wb7ek > .button:not(._disabled):active{box-shadow:inset 0 0 100px 100px rgba(0, 0, 0, 0.3)}.text-button-element.svelte-wb7ek > .button:not(._disabled):hover{box-shadow:inset 0 0 100px 100px rgba(255, 255, 255, 0.3)}");
|
4738
4782
|
}
|
4739
4783
|
|
4740
|
-
// (
|
4784
|
+
// (46:2) <Button onClick={onClick} {style} {eventName}>
|
4741
4785
|
function create_default_slot$5(ctx) {
|
4742
4786
|
let rendertext;
|
4743
4787
|
let current;
|
@@ -4773,9 +4817,6 @@ function create_default_slot$5(ctx) {
|
|
4773
4817
|
|
4774
4818
|
function create_fragment$o(ctx) {
|
4775
4819
|
let div;
|
4776
|
-
let link;
|
4777
|
-
let link_href_value;
|
4778
|
-
let t;
|
4779
4820
|
let button;
|
4780
4821
|
let current;
|
4781
4822
|
|
@@ -4792,31 +4833,21 @@ function create_fragment$o(ctx) {
|
|
4792
4833
|
return {
|
4793
4834
|
c() {
|
4794
4835
|
div = element("div");
|
4795
|
-
link = element("link");
|
4796
|
-
t = space();
|
4797
4836
|
create_component(button.$$.fragment);
|
4798
|
-
attr(link, "href", link_href_value = `https://fonts.googleapis.com/css2?${getGoogleFontsParam()}&display=swap&text=${/*text*/ ctx[0]}`);
|
4799
|
-
attr(link, "rel", "stylesheet");
|
4800
4837
|
attr(div, "class", "text-button-element svelte-wb7ek");
|
4801
4838
|
},
|
4802
4839
|
m(target, anchor) {
|
4803
4840
|
insert(target, div, anchor);
|
4804
|
-
append(div, link);
|
4805
|
-
append(div, t);
|
4806
4841
|
mount_component(button, div, null);
|
4807
4842
|
current = true;
|
4808
4843
|
},
|
4809
4844
|
p(ctx, [dirty]) {
|
4810
|
-
if (!current || dirty & /*text*/ 1 && link_href_value !== (link_href_value = `https://fonts.googleapis.com/css2?${getGoogleFontsParam()}&display=swap&text=${/*text*/ ctx[0]}`)) {
|
4811
|
-
attr(link, "href", link_href_value);
|
4812
|
-
}
|
4813
|
-
|
4814
4845
|
const button_changes = {};
|
4815
4846
|
if (dirty & /*onClick*/ 2) button_changes.onClick = /*onClick*/ ctx[1];
|
4816
4847
|
if (dirty & /*style*/ 8) button_changes.style = /*style*/ ctx[3];
|
4817
4848
|
if (dirty & /*eventName*/ 4) button_changes.eventName = /*eventName*/ ctx[2];
|
4818
4849
|
|
4819
|
-
if (dirty & /*$$scope, text*/
|
4850
|
+
if (dirty & /*$$scope, text*/ 129) {
|
4820
4851
|
button_changes.$$scope = { dirty, ctx };
|
4821
4852
|
}
|
4822
4853
|
|
@@ -4843,6 +4874,7 @@ function instance$o($$self, $$props, $$invalidate) {
|
|
4843
4874
|
let { text = 'ボタンラベル' } = $$props;
|
4844
4875
|
let { onClick = { operation: 'none', args: [] } } = $$props;
|
4845
4876
|
let { eventName = '' } = $$props;
|
4877
|
+
let { font = SYSTEM_FONT } = $$props;
|
4846
4878
|
let { _buttonStyle = 'color:#ffffff; font-size:14px; font-weight:bold; justify-content:center; align-items:center; padding:1px 6px 1px 6px; line-height: 1.5;' } = $$props;
|
4847
4879
|
let { _style = 'background-color: #000000; border-radius:4px; cursor: pointer' } = $$props;
|
4848
4880
|
|
@@ -4850,17 +4882,22 @@ function instance$o($$self, $$props, $$invalidate) {
|
|
4850
4882
|
if ('text' in $$props) $$invalidate(0, text = $$props.text);
|
4851
4883
|
if ('onClick' in $$props) $$invalidate(1, onClick = $$props.onClick);
|
4852
4884
|
if ('eventName' in $$props) $$invalidate(2, eventName = $$props.eventName);
|
4853
|
-
if ('
|
4854
|
-
if ('
|
4885
|
+
if ('font' in $$props) $$invalidate(4, font = $$props.font);
|
4886
|
+
if ('_buttonStyle' in $$props) $$invalidate(5, _buttonStyle = $$props._buttonStyle);
|
4887
|
+
if ('_style' in $$props) $$invalidate(6, _style = $$props._style);
|
4855
4888
|
};
|
4856
4889
|
|
4857
4890
|
$$self.$$.update = () => {
|
4858
|
-
if ($$self.$$.dirty & /*
|
4859
|
-
|
4891
|
+
if ($$self.$$.dirty & /*font*/ 16) {
|
4892
|
+
addFont(font);
|
4893
|
+
}
|
4894
|
+
|
4895
|
+
if ($$self.$$.dirty & /*_buttonStyle, _style, font*/ 112) {
|
4896
|
+
$$invalidate(3, style = [..._buttonStyle.split(';'), ..._style.split(';'), `font-family:${font}`].filter(prop => prop).join(';'));
|
4860
4897
|
}
|
4861
4898
|
};
|
4862
4899
|
|
4863
|
-
return [text, onClick, eventName, style, _buttonStyle, _style];
|
4900
|
+
return [text, onClick, eventName, style, font, _buttonStyle, _style];
|
4864
4901
|
}
|
4865
4902
|
|
4866
4903
|
class TextButtonElement extends SvelteComponent {
|
@@ -4877,8 +4914,9 @@ class TextButtonElement extends SvelteComponent {
|
|
4877
4914
|
text: 0,
|
4878
4915
|
onClick: 1,
|
4879
4916
|
eventName: 2,
|
4880
|
-
|
4881
|
-
|
4917
|
+
font: 4,
|
4918
|
+
_buttonStyle: 5,
|
4919
|
+
_style: 6
|
4882
4920
|
},
|
4883
4921
|
add_css$n
|
4884
4922
|
);
|
@@ -7277,7 +7315,7 @@ function get_each_context(ctx, list, i) {
|
|
7277
7315
|
return child_ctx;
|
7278
7316
|
}
|
7279
7317
|
|
7280
|
-
// (
|
7318
|
+
// (371:2) {#if isVisiblePrevButton}
|
7281
7319
|
function create_if_block_1(ctx) {
|
7282
7320
|
let div1;
|
7283
7321
|
let div0;
|
@@ -7328,7 +7366,7 @@ function create_if_block_1(ctx) {
|
|
7328
7366
|
};
|
7329
7367
|
}
|
7330
7368
|
|
7331
|
-
// (
|
7369
|
+
// (380:2) {#if isVisibleNextButton}
|
7332
7370
|
function create_if_block$1(ctx) {
|
7333
7371
|
let div1;
|
7334
7372
|
let div0;
|
@@ -7379,7 +7417,7 @@ function create_if_block$1(ctx) {
|
|
7379
7417
|
};
|
7380
7418
|
}
|
7381
7419
|
|
7382
|
-
// (
|
7420
|
+
// (393:4) {#each items as _, i}
|
7383
7421
|
function create_each_block(ctx) {
|
7384
7422
|
let div1;
|
7385
7423
|
let div0;
|
@@ -7452,6 +7490,13 @@ function create_fragment$b(ctx) {
|
|
7452
7490
|
each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i));
|
7453
7491
|
}
|
7454
7492
|
|
7493
|
+
let div3_levels = [{ class: "root" }, dataAttrStopPropagation('click')];
|
7494
|
+
let div3_data = {};
|
7495
|
+
|
7496
|
+
for (let i = 0; i < div3_levels.length; i += 1) {
|
7497
|
+
div3_data = assign(div3_data, div3_levels[i]);
|
7498
|
+
}
|
7499
|
+
|
7455
7500
|
return {
|
7456
7501
|
c() {
|
7457
7502
|
div3 = element("div");
|
@@ -7475,7 +7520,8 @@ function create_fragment$b(ctx) {
|
|
7475
7520
|
attr(div1, "style", /*_style*/ ctx[0]);
|
7476
7521
|
attr(div2, "class", "navigation svelte-1wlcw5a");
|
7477
7522
|
attr(div2, "style", /*navigationStyle*/ ctx[4]);
|
7478
|
-
|
7523
|
+
set_attributes(div3, div3_data);
|
7524
|
+
toggle_class(div3, "svelte-1wlcw5a", true);
|
7479
7525
|
},
|
7480
7526
|
m(target, anchor) {
|
7481
7527
|
insert(target, div3, anchor);
|
@@ -7581,6 +7627,9 @@ function create_fragment$b(ctx) {
|
|
7581
7627
|
if (!current || dirty[0] & /*navigationStyle*/ 16) {
|
7582
7628
|
attr(div2, "style", /*navigationStyle*/ ctx[4]);
|
7583
7629
|
}
|
7630
|
+
|
7631
|
+
set_attributes(div3, div3_data = get_spread_update(div3_levels, [{ class: "root" }, dataAttrStopPropagation('click')]));
|
7632
|
+
toggle_class(div3, "svelte-1wlcw5a", true);
|
7584
7633
|
},
|
7585
7634
|
i(local) {
|
7586
7635
|
if (current) return;
|
@@ -7834,7 +7883,9 @@ function instance$b($$self, $$props, $$invalidate) {
|
|
7834
7883
|
}
|
7835
7884
|
|
7836
7885
|
function handleTouchMove(event) {
|
7886
|
+
// ウィンドウのスクロールを防ぐ
|
7837
7887
|
event.preventDefault();
|
7888
|
+
|
7838
7889
|
const clientX = event.touches[0].clientX;
|
7839
7890
|
const timeStamp = event.timeStamp;
|
7840
7891
|
handleMoving(clientX, timeStamp);
|