@charcoal-ui/react-sandbox 2.4.0 → 2.6.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.
Files changed (54) hide show
  1. package/dist/_lib/compat.d.ts +14 -14
  2. package/dist/components/Carousel/index.d.ts +39 -39
  3. package/dist/components/Carousel/index.d.ts.map +1 -1
  4. package/dist/components/Carousel/index.story.d.ts +6 -6
  5. package/dist/components/CarouselButton/index.d.ts +20 -20
  6. package/dist/components/CarouselButton/index.story.d.ts +9 -9
  7. package/dist/components/Filter/index.d.ts +19 -19
  8. package/dist/components/Filter/index.story.d.ts +8 -8
  9. package/dist/components/HintText/index.d.ts +9 -9
  10. package/dist/components/HintText/index.d.ts.map +1 -1
  11. package/dist/components/HintText/index.story.d.ts +11 -11
  12. package/dist/components/Layout/index.d.ts +67 -67
  13. package/dist/components/Layout/index.story.d.ts +13 -13
  14. package/dist/components/LeftMenu/index.d.ts +11 -11
  15. package/dist/components/MenuListItem/index.d.ts +34 -34
  16. package/dist/components/MenuListItem/index.story.d.ts +17 -17
  17. package/dist/components/Pager/index.d.ts +14 -14
  18. package/dist/components/Pager/index.story.d.ts +31 -31
  19. package/dist/components/SwitchCheckbox/index.d.ts +8 -8
  20. package/dist/components/SwitchCheckbox/index.story.d.ts +10 -10
  21. package/dist/components/TextEllipsis/helper.d.ts +3 -3
  22. package/dist/components/TextEllipsis/index.d.ts +10 -10
  23. package/dist/components/TextEllipsis/index.story.d.ts +8 -8
  24. package/dist/components/WithIcon/index.d.ts +27 -27
  25. package/dist/components/WithIcon/index.story.d.ts +14 -14
  26. package/dist/components/icons/Base.d.ts +15 -15
  27. package/dist/components/icons/Base.d.ts.map +1 -1
  28. package/dist/components/icons/DotsIcon.d.ts +11 -11
  29. package/dist/components/icons/InfoIcon.d.ts +1 -1
  30. package/dist/components/icons/NextIcon.d.ts +11 -11
  31. package/dist/components/icons/WedgeIcon.d.ts +19 -19
  32. package/dist/foundation/contants.d.ts +3 -3
  33. package/dist/foundation/hooks.d.ts +28 -28
  34. package/dist/foundation/support.d.ts +2 -2
  35. package/dist/foundation/utils.d.ts +22 -22
  36. package/dist/hooks/index.d.ts +3 -0
  37. package/dist/hooks/index.d.ts.map +1 -0
  38. package/dist/index.cjs.js +1871 -0
  39. package/dist/index.cjs.js.map +1 -0
  40. package/dist/index.d.ts +13 -13
  41. package/dist/index.esm.js +1816 -0
  42. package/dist/index.esm.js.map +1 -0
  43. package/dist/misc/storybook-helper.d.ts +2 -2
  44. package/dist/styled.d.ts +94 -92
  45. package/dist/styled.d.ts.map +1 -1
  46. package/package.json +18 -18
  47. package/src/components/Carousel/index.tsx +5 -10
  48. package/src/hooks/index.ts +4 -0
  49. package/dist/index.cjs +0 -1814
  50. package/dist/index.cjs.map +0 -1
  51. package/dist/index.modern.js +0 -2273
  52. package/dist/index.modern.js.map +0 -1
  53. package/dist/index.module.js +0 -1766
  54. package/dist/index.module.js.map +0 -1
@@ -1,1766 +0,0 @@
1
- import React, { useMemo, useState, useLayoutEffect, useDebugValue, useReducer, useRef, useCallback, useContext, isValidElement, Children as Children$1, useEffect } from 'react';
2
- import styled, { css, useTheme, createGlobalStyle } from 'styled-components';
3
- import { useComponentAbstraction } from '@charcoal-ui/react';
4
- export { ComponentAbstraction, useComponentAbstraction } from '@charcoal-ui/react';
5
- import { maxWidth, disabledSelector, applyEffect } from '@charcoal-ui/utils';
6
- import { createTheme } from '@charcoal-ui/styled';
7
- import { columnSystem, COLUMN_UNIT, GUTTER_UNIT } from '@charcoal-ui/foundation';
8
- import ReactDOM from 'react-dom';
9
- import { animated, useSpring } from 'react-spring';
10
- import warning from 'warning';
11
-
12
- function _extends() {
13
- _extends = Object.assign ? Object.assign.bind() : function (target) {
14
- for (var i = 1; i < arguments.length; i++) {
15
- var source = arguments[i];
16
-
17
- for (var key in source) {
18
- if (Object.prototype.hasOwnProperty.call(source, key)) {
19
- target[key] = source[key];
20
- }
21
- }
22
- }
23
-
24
- return target;
25
- };
26
- return _extends.apply(this, arguments);
27
- }
28
-
29
- function _objectWithoutPropertiesLoose(source, excluded) {
30
- if (source == null) return {};
31
- var target = {};
32
- var sourceKeys = Object.keys(source);
33
- var key, i;
34
-
35
- for (i = 0; i < sourceKeys.length; i++) {
36
- key = sourceKeys[i];
37
- if (excluded.indexOf(key) >= 0) continue;
38
- target[key] = source[key];
39
- }
40
-
41
- return target;
42
- }
43
-
44
- function _taggedTemplateLiteralLoose(strings, raw) {
45
- if (!raw) {
46
- raw = strings.slice(0);
47
- }
48
-
49
- strings.raw = raw;
50
- return strings;
51
- }
52
-
53
- var _templateObject$e, _templateObject2$a, _templateObject3$9, _templateObject4$8, _templateObject5$6, _templateObject6$5, _templateObject7$5, _templateObject8$5, _templateObject9$5;
54
-
55
- var _excluded$3 = ["onClick", "children", "active", "hover", "reactive"];
56
- var FilterButton = React.forwardRef(function FilterButton(_ref, ref) {
57
- var onClick = _ref.onClick,
58
- children = _ref.children,
59
- _ref$active = _ref.active,
60
- active = _ref$active === void 0 ? false : _ref$active,
61
- hover = _ref.hover,
62
- _ref$reactive = _ref.reactive,
63
- reactive = _ref$reactive === void 0 ? false : _ref$reactive;
64
- return /*#__PURE__*/React.createElement(ButtonLike, {
65
- active: active,
66
- reactive: reactive,
67
- hover: hover,
68
- onClick: active && !reactive ? undefined : onClick,
69
- ref: ref
70
- }, children);
71
- });
72
- var FilterIconButton = React.forwardRef(function FilterIconButton(_ref2, ref) {
73
- var onClick = _ref2.onClick,
74
- children = _ref2.children,
75
- _ref2$active = _ref2.active,
76
- active = _ref2$active === void 0 ? false : _ref2$active,
77
- hover = _ref2.hover,
78
- _ref2$reactive = _ref2.reactive,
79
- reactive = _ref2$reactive === void 0 ? false : _ref2$reactive,
80
- width = _ref2.width,
81
- height = _ref2.height;
82
- return /*#__PURE__*/React.createElement(StyledButtonLike, {
83
- active: active,
84
- reactive: reactive,
85
- hover: hover,
86
- onClick: active && !reactive ? undefined : onClick,
87
- ref: ref,
88
- buttonWidth: width,
89
- buttonHeight: height
90
- }, children);
91
- });
92
- var FilterLink = React.forwardRef(function FilterLink(_ref3, ref) {
93
- var onClick = _ref3.onClick,
94
- children = _ref3.children,
95
- _ref3$active = _ref3.active,
96
- active = _ref3$active === void 0 ? false : _ref3$active,
97
- hover = _ref3.hover,
98
- _ref3$reactive = _ref3.reactive,
99
- reactive = _ref3$reactive === void 0 ? false : _ref3$reactive,
100
- props = _objectWithoutPropertiesLoose(_ref3, _excluded$3);
101
-
102
- var _useComponentAbstract = useComponentAbstraction(),
103
- Link = _useComponentAbstract.Link;
104
-
105
- if (active && !reactive) {
106
- return /*#__PURE__*/React.createElement(PlainElement, {
107
- active: true,
108
- hover: hover,
109
- ref: ref
110
- }, children);
111
- } else {
112
- return /*#__PURE__*/React.createElement(Link, _extends({}, props, {
113
- onClick: onClick
114
- }), /*#__PURE__*/React.createElement(PlainElement, {
115
- active: active,
116
- reactive: reactive,
117
- hover: hover,
118
- ref: ref
119
- }, children));
120
- }
121
- });
122
- var buttonCss = css(_templateObject$e || (_templateObject$e = _taggedTemplateLiteralLoose(["\n display: block;\n outline: none;\n border: none;\n padding: 9px 24px;\n font-size: 14px;\n line-height: 22px;\n font-weight: bold;\n border-radius: /* absurd radius, but ensures rounded corners */ 2000px;\n transition: color 0.2s;\n color: ", ";\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n\n &:hover {\n color: ", ";\n }\n\n ", "\n\n ", "\n\n ", "\n\n @media ", " {\n padding: 5px 16px;\n }\n"])), function (_ref4) {
123
- var theme = _ref4.theme;
124
- return theme.color.text3;
125
- }, function (_ref5) {
126
- var theme = _ref5.theme;
127
- return theme.color.text2;
128
- }, function (_ref6) {
129
- var _ref6$hover = _ref6.hover,
130
- hover = _ref6$hover === void 0 ? false : _ref6$hover;
131
- return hover && css(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteralLoose(["\n color: ", ";\n "])), function (_ref7) {
132
- var theme = _ref7.theme;
133
- return theme.color.text2;
134
- });
135
- }, function (_ref8) {
136
- var _ref8$active = _ref8.active,
137
- active = _ref8$active === void 0 ? false : _ref8$active;
138
- return active && css(_templateObject3$9 || (_templateObject3$9 = _taggedTemplateLiteralLoose(["\n background-color: ", ";\n color: ", ";\n "])), function (_ref9) {
139
- var theme = _ref9.theme;
140
- return theme.color.surface3;
141
- }, function (_ref10) {
142
- var theme = _ref10.theme;
143
- return theme.color.text2;
144
- });
145
- }, function (_ref11) {
146
- var _ref11$active = _ref11.active,
147
- active = _ref11$active === void 0 ? false : _ref11$active,
148
- _ref11$reactive = _ref11.reactive,
149
- reactive = _ref11$reactive === void 0 ? false : _ref11$reactive;
150
- return active && !reactive && css(_templateObject4$8 || (_templateObject4$8 = _taggedTemplateLiteralLoose(["\n cursor: default;\n "])));
151
- }, function (_ref12) {
152
- var theme = _ref12.theme;
153
- return maxWidth(theme.breakpoint.screen1);
154
- });
155
- var padding0Css = css(_templateObject5$6 || (_templateObject5$6 = _taggedTemplateLiteralLoose(["\n padding: 0;\n\n @media ", " {\n padding: 0;\n }\n"])), function (_ref13) {
156
- var theme = _ref13.theme;
157
- return maxWidth(theme.breakpoint.screen1);
158
- });
159
- var ButtonLike = styled.button(_templateObject6$5 || (_templateObject6$5 = _taggedTemplateLiteralLoose(["\n ", "\n"])), buttonCss);
160
- var PlainElement = styled.span(_templateObject7$5 || (_templateObject7$5 = _taggedTemplateLiteralLoose(["\n ", "\n"])), buttonCss);
161
- var StyledButtonLike = styled(ButtonLike)(_templateObject8$5 || (_templateObject8$5 = _taggedTemplateLiteralLoose(["\n ", ";\n ", "\n ", "\n"])), padding0Css, function (p) {
162
- return p.buttonWidth !== undefined && "width: " + p.buttonWidth + "px;";
163
- }, function (p) {
164
- return p.buttonHeight !== undefined && "height: " + p.buttonHeight + "px;";
165
- });
166
- var Filter = styled.div(_templateObject9$5 || (_templateObject9$5 = _taggedTemplateLiteralLoose(["\n display: flex;\n"])));
167
-
168
- var theme = createTheme(styled);
169
-
170
- var _templateObject$d;
171
- function IconBase(_ref) {
172
- var _ref$size = _ref.size,
173
- size = _ref$size === void 0 ? 24 : _ref$size,
174
- viewBoxSize = _ref.viewBoxSize,
175
- currentColor = _ref.currentColor,
176
- path = _ref.path,
177
- transform = _ref.transform,
178
- fillRule = _ref.fillRule,
179
- clipRule = _ref.clipRule;
180
- return /*#__PURE__*/React.createElement(Icon$2, {
181
- viewBox: "0 0 " + viewBoxSize + " " + viewBoxSize,
182
- size: size,
183
- currentColor: currentColor
184
- }, /*#__PURE__*/React.createElement(IconBasePath, {
185
- path: path,
186
- transform: transform,
187
- fillRule: fillRule,
188
- clipRule: clipRule
189
- }));
190
- }
191
- var Icon$2 = styled.svg(_templateObject$d || (_templateObject$d = _taggedTemplateLiteralLoose(["\n stroke: none;\n fill: ", ";\n width: ", "px;\n height: ", "px;\n line-height: 0;\n font-size: 0;\n vertical-align: middle;\n"])), function (_ref2) {
192
- var _ref2$currentColor = _ref2.currentColor,
193
- currentColor = _ref2$currentColor === void 0 ? false : _ref2$currentColor,
194
- theme = _ref2.theme;
195
- return currentColor ? 'currentColor' : theme.color.text2;
196
- }, function (props) {
197
- return props.size;
198
- }, function (props) {
199
- return props.size;
200
- });
201
- var IconBasePath = function IconBasePath(_ref3) {
202
- var path = _ref3.path,
203
- transform = _ref3.transform,
204
- fillRule = _ref3.fillRule,
205
- clipRule = _ref3.clipRule;
206
-
207
- if (typeof path === 'string') {
208
- return /*#__PURE__*/React.createElement("path", {
209
- d: path,
210
- transform: transform,
211
- fillRule: fillRule,
212
- clipRule: clipRule
213
- });
214
- } else {
215
- // eslint-disable-next-line react/jsx-no-useless-fragment
216
- return /*#__PURE__*/React.createElement(React.Fragment, null, path);
217
- }
218
- };
219
-
220
- var _templateObject$c;
221
- var size$1 = 16;
222
- function InfoIcon() {
223
- var path = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("path", {
224
- d: "M8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8C16 12.4183 12.4183 16 8 16Z"
225
- }), /*#__PURE__*/React.createElement(Path, {
226
- d: "M14 8C14 11.3137 11.3137 14 8 14C4.68629 14 2 11.3137 2 8C2 4.68629 4.68629 2 8 2C11.3137 2 14 4.68629 14 8ZM8 6.25C8.69036 6.25 9.25 5.69036 9.25 5C9.25 4.30964 8.69036 3.75 8 3.75C7.30964 3.75 6.75 4.30964 6.75 5C6.75 5.69036 7.30964 6.25 8 6.25ZM7 7.75V11.25C7 11.8023 7.44772 12.25 8 12.25C8.55228 12.25 9 11.8023 9 11.25V7.75C9 7.19772 8.55228 6.75 8 6.75C7.44772 6.75 7 7.19772 7 7.75Z"
227
- }));
228
- return /*#__PURE__*/React.createElement(IconBase, {
229
- viewBoxSize: size$1,
230
- size: size$1,
231
- currentColor: true,
232
- path: path
233
- });
234
- }
235
- var Path = styled.path(_templateObject$c || (_templateObject$c = _taggedTemplateLiteralLoose(["\n fill: ", ";\n fill-rule: evenodd;\n"])), function (_ref) {
236
- var theme = _ref.theme;
237
- return theme.color.surface1;
238
- });
239
-
240
- var _templateObject$b, _templateObject2$9, _templateObject3$8, _templateObject4$7;
241
- function HintText(_ref) {
242
- var children = _ref.children,
243
- context = _ref.context,
244
- className = _ref.className;
245
- return /*#__PURE__*/React.createElement(Container$2, {
246
- className: className,
247
- context: context
248
- }, /*#__PURE__*/React.createElement(IconWrap, null, /*#__PURE__*/React.createElement(InfoIcon, null)), /*#__PURE__*/React.createElement(Text$2, null, children));
249
- }
250
- var Container$2 = styled.div.attrs(styledProps)(_templateObject$b || (_templateObject$b = _taggedTemplateLiteralLoose(["\n ", "\n\n @media ", " {\n ", "\n }\n\n display: flex;\n align-items: flex-start;\n ", "\n"])), function (p) {
251
- return theme(function (o) {
252
- return [o.bg.surface3, o.borderRadius(8), o.padding.vertical(p["default"].vertical), o.padding.horizontal(p["default"].horizontal)];
253
- });
254
- }, function (_ref2) {
255
- var t = _ref2.theme;
256
- return maxWidth(t.breakpoint.screen1);
257
- }, function (p) {
258
- return theme(function (o) {
259
- return [o.padding.vertical(p.screen1.vertical), o.padding.horizontal(p.screen1.horizontal)];
260
- });
261
- }, function (p) {
262
- return p.context === 'page' && css(_templateObject2$9 || (_templateObject2$9 = _taggedTemplateLiteralLoose(["\n justify-content: center;\n "])));
263
- });
264
- var IconWrap = styled.div(_templateObject3$8 || (_templateObject3$8 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n color: ", ";\n height: 22px;\n margin: -4px 4px -4px 0;\n"])), function (p) {
265
- return p.theme.color.text4;
266
- });
267
- var Text$2 = styled.p(_templateObject4$7 || (_templateObject4$7 = _taggedTemplateLiteralLoose(["\n ", "\n margin: 0;\n"])), theme(function (o) {
268
- return [o.font.text2, o.typography(14)];
269
- }));
270
-
271
- function styledProps(props) {
272
- return _extends({}, props, contextToProps(props.context));
273
- }
274
-
275
- function contextToProps(context) {
276
- switch (context) {
277
- case 'page':
278
- return {
279
- "default": {
280
- horizontal: 40,
281
- vertical: 24
282
- },
283
- screen1: {
284
- horizontal: 16,
285
- vertical: 16
286
- }
287
- };
288
-
289
- case 'section':
290
- return {
291
- "default": {
292
- horizontal: 16,
293
- vertical: 16
294
- },
295
- screen1: {
296
- horizontal: 16,
297
- vertical: 16
298
- }
299
- };
300
- }
301
- }
302
-
303
- var MAIN_COLUMN_HORIZONTAL_MIN_MARGIN = 72;
304
- var RESPONSIVE_LEFT_WIDTH = columnSystem(2, COLUMN_UNIT, GUTTER_UNIT) + GUTTER_UNIT;
305
- var RESPONSIVE_MAIN_MAX_WIDTH = columnSystem(12, COLUMN_UNIT, GUTTER_UNIT);
306
-
307
- /**
308
- * 現在の画面幅がモバイル幅かどうかを返す
309
- */
310
-
311
- function useMediaScreen1() {
312
- return useMedia(maxWidth(useTheme().breakpoint.screen1));
313
- }
314
- /**
315
- * Returns a dynamically-updating media query result.
316
- *
317
- * When the media query's matching state changes, this hook's result
318
- * will update with sync priority.
319
- *
320
- * @param query A full media query (the string written between `@media` and the `{` in CSS)
321
- * @returns true if the query matches, false if it doesn't
322
- */
323
-
324
- function useMedia(query) {
325
- var matcher = useMemo(function () {
326
- return __TEST__ ? {
327
- matches: false,
328
- addListener: function addListener() {// do nothing
329
- },
330
- removeListener: function removeListener() {// do nothing
331
- }
332
- } : matchMedia(query);
333
- }, [query]);
334
-
335
- var _useState = useState(matcher.matches),
336
- matches = _useState[0],
337
- setMatches = _useState[1]; // can only happen if/when the query changes
338
-
339
-
340
- if (matcher.matches !== matches) {
341
- setMatches(matcher.matches);
342
- }
343
-
344
- var callback = function callback(e) {
345
- // We're not on a React event listener, so React doesn't know the priority of the setState call
346
- // Media query updates _are_ very high priority to avoid FOUC
347
- // so we need to emit a sync priority update
348
- try {
349
- // However, flushSync may throw if the matcher is triggered by a
350
- // forced relayout that happens during a React lifecycle handler.
351
- // Try to be resilient and retry without flushSync if flushSync throws.
352
- ReactDOM.flushSync(function () {
353
- setMatches(e.matches);
354
- });
355
- } catch (_unused) {
356
- setMatches(e.matches);
357
- }
358
- };
359
-
360
- useLayoutEffect(function () {
361
- matcher.addListener(callback); // sync update
362
-
363
- setMatches(matcher.matches);
364
- return function () {
365
- matcher.removeListener(callback);
366
- };
367
- }, [matcher]);
368
- useDebugValue(query + ": " + matches.toString());
369
- return matches;
370
- }
371
-
372
- function measure(ref) {
373
- return ref !== null ? ref.getBoundingClientRect() : undefined;
374
- }
375
-
376
- function useElementSize(ref, // eslint-disable-next-line @typescript-eslint/no-explicit-any
377
- deps) {
378
- if (deps === void 0) {
379
- deps = [];
380
- }
381
-
382
- // _don't_ call measure synchronously here even if you somehow can
383
- // measurement has to be done outside the render phase, either
384
- // as the resize observer callback or as a layout effect
385
- var _useReducer = useReducer(function (state, next) {
386
- // width, height, etc are not own properties but getters in the prototype
387
- // can't use shallowEqual or other iterative checks
388
- if (state === undefined || next === undefined) {
389
- return next;
390
- }
391
-
392
- if (state.height === next.height && state.width === next.width) {
393
- return state;
394
- }
395
-
396
- return next;
397
- }, undefined),
398
- size = _useReducer[0],
399
- setSize = _useReducer[1];
400
-
401
- var _useState2 = useState(null),
402
- watch = _useState2[0],
403
- setWatch = _useState2[1];
404
-
405
- useLayoutEffect(function () {
406
- if (watch === null) {
407
- return;
408
- }
409
-
410
- var observer = new ResizeObserver(function () {
411
- // NOTE: the ResizeObserverCallback receives a rect,
412
- // but it's not measured in the same way as getBoundingClientRect,
413
- // which causes unstable layout
414
- var newSize = measure(watch);
415
- setSize(newSize);
416
- }); // The ResizeObserver is supposed to call handleResize on observe
417
-
418
- observer.observe(watch);
419
- return function () {
420
- // this will correctly unobserve if either the observer
421
- // or the current changes, and even on unmount
422
- // no need for an observer.disconnect() 🎉
423
- observer.unobserve(watch);
424
- setSize(undefined);
425
- };
426
- }, [watch]); // eslint-disable-next-line react-hooks/exhaustive-deps
427
-
428
- useLayoutEffect(function () {
429
- if (ref.current !== watch) {
430
- setWatch(ref.current);
431
- }
432
- });
433
- useLayoutEffect(function () {
434
- if (deps.length > 0) {
435
- // Sync measuring
436
- setSize(measure(ref.current));
437
- } // eslint-disable-next-line react-hooks/exhaustive-deps
438
-
439
- }, deps);
440
- useDebugValue(size);
441
- return size;
442
- }
443
- /**
444
- * Debounce version of setState with `requestAnimationFrame`
445
- *
446
- * @param defaultValue Default value for `useState`
447
- */
448
-
449
- function useDebounceAnimationState(defaultValue) {
450
- var _useState3 = useState(defaultValue),
451
- state = _useState3[0],
452
- setState = _useState3[1];
453
-
454
- var timer = useRef(); // typescript bug? (any when omitting type annotation)
455
- // eslint-disable-next-line @typescript-eslint/no-inferrable-types
456
-
457
- var setDebounceState = useCallback(function (value, force) {
458
- if (force === void 0) {
459
- force = false;
460
- }
461
-
462
- if (force) {
463
- setState(value);
464
- return;
465
- }
466
-
467
- if (timer.current !== undefined) {
468
- return;
469
- }
470
-
471
- timer.current = requestAnimationFrame(function () {
472
- setState(value);
473
-
474
- if (timer.current !== undefined) {
475
- timer.current = undefined;
476
- }
477
- });
478
- }, []);
479
- return [state, setDebounceState];
480
- }
481
-
482
- var _templateObject$a, _templateObject2$8, _templateObject3$7, _templateObject4$6, _templateObject5$5, _templateObject6$4, _templateObject7$4, _templateObject8$4, _templateObject9$4, _templateObject10$4, _templateObject11$1, _templateObject12$1, _templateObject13$1, _templateObject14, _templateObject15;
483
- var LayoutConfigContext = React.createContext({
484
- wide: false,
485
- center: false,
486
- withLeft: false
487
- });
488
- function Layout(_ref) {
489
- var menu = _ref.menu,
490
- children = _ref.children,
491
- header = _ref.header,
492
- _ref$center = _ref.center,
493
- center = _ref$center === void 0 ? false : _ref$center,
494
- wide = _ref.wide,
495
- _ref$isHeaderTopMenu = _ref.isHeaderTopMenu,
496
- isHeaderTopMenu = _ref$isHeaderTopMenu === void 0 ? false : _ref$isHeaderTopMenu;
497
- var config = {
498
- center: center,
499
- wide: center ? true : wide != null ? wide : false,
500
- withLeft: menu != null && !isHeaderTopMenu
501
- };
502
- return /*#__PURE__*/React.createElement(LayoutRoot, null, /*#__PURE__*/React.createElement(LayoutConfigContext.Provider, {
503
- value: config
504
- }, config.withLeft && /*#__PURE__*/React.createElement(LeftArea, null, menu), /*#__PURE__*/React.createElement(MainArea, {
505
- center: center
506
- }, header != null && /*#__PURE__*/React.createElement(Header, null, header), isHeaderTopMenu && /*#__PURE__*/React.createElement(HeaderTopMenuContainer, null, menu), /*#__PURE__*/React.createElement(Grid, null, children))), /*#__PURE__*/React.createElement(GlobalStyle, null));
507
- }
508
- var HeaderTopMenuContainer = styled.div(_templateObject$a || (_templateObject$a = _taggedTemplateLiteralLoose(["\n margin-bottom: 40px;\n overflow-x: auto;\n word-break: keep-all;\n\n @media ", " {\n margin-bottom: 0;\n padding-left: 16px;\n padding-bottom: 16px;\n background-color: ", ";\n }\n"])), function (_ref2) {
509
- var theme = _ref2.theme;
510
- return maxWidth(theme.breakpoint.screen1);
511
- }, function (_ref3) {
512
- var theme = _ref3.theme;
513
- return theme.color.surface2;
514
- });
515
- var GlobalStyle = createGlobalStyle(_templateObject2$8 || (_templateObject2$8 = _taggedTemplateLiteralLoose(["\n :root {\n background-color: ", ";\n\n @media ", " {\n background-color: ", ";\n }\n }\n"])), function (_ref4) {
516
- var theme = _ref4.theme;
517
- return theme.color.background2;
518
- }, function (_ref5) {
519
- var theme = _ref5.theme;
520
- return maxWidth(theme.breakpoint.screen1);
521
- }, function (_ref6) {
522
- var theme = _ref6.theme;
523
- return theme.color.background1;
524
- });
525
- var LayoutRoot = styled.div(_templateObject3$7 || (_templateObject3$7 = _taggedTemplateLiteralLoose(["\n display: flex;\n background-color: ", ";\n\n @media ", " {\n background-color: ", ";\n }\n"])), function (_ref7) {
526
- var theme = _ref7.theme;
527
- return theme.color.background2;
528
- }, function (_ref8) {
529
- var theme = _ref8.theme;
530
- return maxWidth(theme.breakpoint.screen1);
531
- }, function (_ref9) {
532
- var theme = _ref9.theme;
533
- return theme.color.background1;
534
- });
535
- var LeftArea = styled.div(_templateObject4$6 || (_templateObject4$6 = _taggedTemplateLiteralLoose(["\n min-width: ", "px;\n padding: 40px 0 40px ", "px;\n box-sizing: border-box;\n\n @media ", " {\n display: none;\n }\n"])), RESPONSIVE_LEFT_WIDTH, GUTTER_UNIT, function (_ref10) {
536
- var theme = _ref10.theme;
537
- return theme.breakpoint.screen3;
538
- });
539
- var MainArea = styled.div(_templateObject5$5 || (_templateObject5$5 = _taggedTemplateLiteralLoose(["\n flex-grow: 1;\n /* https://www.w3.org/TR/css-flexbox-1/#min-size-auto */\n min-width: 0;\n max-width: ", "px;\n padding: 40px ", "px;\n margin: 0 auto;\n display: flex;\n flex-direction: column;\n\n @media ", " {\n padding: 0;\n }\n"])), function (p) {
540
- return p.center ? columnSystem(6, COLUMN_UNIT, GUTTER_UNIT) : RESPONSIVE_MAIN_MAX_WIDTH;
541
- }, MAIN_COLUMN_HORIZONTAL_MIN_MARGIN, function (_ref11) {
542
- var theme = _ref11.theme;
543
- return maxWidth(theme.breakpoint.screen1);
544
- });
545
- var Header = styled.div(_templateObject6$4 || (_templateObject6$4 = _taggedTemplateLiteralLoose(["\n font-weight: bold;\n margin-bottom: 12px;\n font-size: 20px;\n line-height: 28px;\n color: ", ";\n\n @media ", " {\n margin-bottom: 0;\n padding: 12px;\n font-size: 16px;\n line-height: 24px;\n display: flex;\n justify-content: center;\n background-color: ", ";\n }\n"])), function (_ref12) {
546
- var theme = _ref12.theme;
547
- return theme.color.text2;
548
- }, function (_ref13) {
549
- var theme = _ref13.theme;
550
- return maxWidth(theme.breakpoint.screen1);
551
- }, function (_ref14) {
552
- var theme = _ref14.theme;
553
- return theme.color.surface2;
554
- });
555
- var Grid = styled.div(_templateObject7$4 || (_templateObject7$4 = _taggedTemplateLiteralLoose(["\n display: grid;\n gap: ", "px;\n grid-template-columns: 1fr;\n grid-auto-columns: 1fr;\n grid-auto-rows: auto;\n\n @media ", " {\n gap: 0;\n background-color: ", ";\n padding-bottom: 60px;\n }\n"])), GUTTER_UNIT, function (_ref15) {
556
- var theme = _ref15.theme;
557
- return maxWidth(theme.breakpoint.screen1);
558
- }, function (_ref16) {
559
- var theme = _ref16.theme;
560
- return theme.color.background1;
561
- });
562
- var LayoutItem = React.forwardRef(function LayoutItem(_ref17, ref) {
563
- var span = _ref17.span,
564
- children = _ref17.children;
565
-
566
- var _useContext = useContext(LayoutConfigContext),
567
- withLeft = _useContext.withLeft;
568
-
569
- return /*#__PURE__*/React.createElement(StyledLayoutItem, {
570
- span: span,
571
- withLeft: withLeft,
572
- ref: ref
573
- }, children);
574
- });
575
- var StyledLayoutItem = styled.div(_templateObject8$4 || (_templateObject8$4 = _taggedTemplateLiteralLoose(["\n grid-column-start: auto;\n grid-column-end: span ", ";\n border-radius: 24px;\n color: ", ";\n background-color: ", ";\n /* https://www.w3.org/TR/css-grid-1/#min-size-auto */\n min-width: 0;\n\n @media ", " {\n ", "\n }\n\n @media ", " {\n ", "\n\n border-radius: 0;\n padding-bottom: 40px;\n }\n"])), function (p) {
576
- return p.span;
577
- }, function (_ref18) {
578
- var theme = _ref18.theme;
579
- return theme.color.text2;
580
- }, function (_ref19) {
581
- var theme = _ref19.theme;
582
- return theme.color.background1;
583
- }, function (p) {
584
- return p.withLeft ? p.theme.breakpoint.screen4 : p.theme.breakpoint.screen3;
585
- }, function (p) {
586
- return p.span > 2 && css(_templateObject9$4 || (_templateObject9$4 = _taggedTemplateLiteralLoose(["\n grid-column-end: span 2;\n "])));
587
- }, function (_ref20) {
588
- var theme = _ref20.theme;
589
- return maxWidth(theme.breakpoint.screen1);
590
- }, function (p) {
591
- return p.span > 1 && css(_templateObject10$4 || (_templateObject10$4 = _taggedTemplateLiteralLoose(["\n grid-column-end: span 1;\n "])));
592
- });
593
- function LayoutItemHeader(_ref21) {
594
- var children = _ref21.children;
595
-
596
- var _useContext2 = useContext(LayoutConfigContext),
597
- wide = _useContext2.wide,
598
- center = _useContext2.center;
599
-
600
- return /*#__PURE__*/React.createElement(StyledLayoutItemHeader, {
601
- wide: wide,
602
- center: center
603
- }, children);
604
- }
605
- var StyledLayoutItemHeader = styled.div(_templateObject11$1 || (_templateObject11$1 = _taggedTemplateLiteralLoose(["\n padding: 0 ", "px;\n height: ", "px;\n display: grid;\n align-items: center;\n font-size: 16px;\n line-height: 24px;\n font-weight: bold;\n background-color: ", ";\n color: ", ";\n border-radius: 24px 24px 0 0;\n ", "\n\n @media ", " {\n margin-top: 4px;\n padding: 0 16px;\n background: none;\n overflow-x: auto;\n border-radius: unset;\n ", "\n }\n"])), function (p) {
606
- return p.wide ? 40 : 24;
607
- }, function (p) {
608
- return p.wide ? 64 : 48;
609
- }, function (_ref22) {
610
- var theme = _ref22.theme;
611
- return theme.color.surface2;
612
- }, function (_ref23) {
613
- var theme = _ref23.theme;
614
- return theme.color.text2;
615
- }, function (p) {
616
- return p.center && css(_templateObject12$1 || (_templateObject12$1 = _taggedTemplateLiteralLoose(["\n justify-content: center;\n "])));
617
- }, function (_ref24) {
618
- var theme = _ref24.theme;
619
- return maxWidth(theme.breakpoint.screen1);
620
- }, function (p) {
621
- return p.wide && css(_templateObject13$1 || (_templateObject13$1 = _taggedTemplateLiteralLoose(["\n height: 48px;\n margin-top: 0;\n "])));
622
- });
623
- var LAYOUT_ITEM_BODY_PADDING = {
624
- wide: {
625
- x: 40,
626
- y: 40
627
- },
628
- "default": {
629
- x: 24,
630
- y: 24
631
- },
632
- column1: {
633
- x: 16,
634
- y: 16
635
- },
636
- narrow: {
637
- x: 24,
638
- yTop: 12,
639
- yBottom: 20
640
- },
641
- narrowColumn1: {
642
- x: 16,
643
- yTop: 4,
644
- yBottom: 0
645
- }
646
- };
647
- function LayoutItemBody(_ref25) {
648
- var children = _ref25.children,
649
- _ref25$horizontal = _ref25.horizontal,
650
- horizontal = _ref25$horizontal === void 0 ? false : _ref25$horizontal,
651
- _ref25$narrow = _ref25.narrow,
652
- narrow = _ref25$narrow === void 0 ? false : _ref25$narrow;
653
-
654
- var _useContext3 = useContext(LayoutConfigContext),
655
- wide = _useContext3.wide;
656
-
657
- return /*#__PURE__*/React.createElement(StyledLayoutItemBody, {
658
- wide: wide,
659
- horizontal: horizontal,
660
- narrow: narrow
661
- }, children);
662
- }
663
- var StyledLayoutItemBody = styled.div(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n padding: ", ";\n\n @media ", " {\n padding: ", ";\n }\n\n width: 100%;\n box-sizing: border-box;\n"])), function (p) {
664
- return p.narrow ? LAYOUT_ITEM_BODY_PADDING.narrow.yTop + "px " + (p.horizontal ? 0 : LAYOUT_ITEM_BODY_PADDING.narrow.x) + "px " + LAYOUT_ITEM_BODY_PADDING.narrow.yBottom + "px" : p.wide ? (p.horizontal ? 0 : LAYOUT_ITEM_BODY_PADDING.wide.y) + "px " + LAYOUT_ITEM_BODY_PADDING.wide.x + "px" : (p.horizontal ? 0 : LAYOUT_ITEM_BODY_PADDING["default"].y) + "px " + LAYOUT_ITEM_BODY_PADDING["default"].x + "px";
665
- }, function (_ref26) {
666
- var theme = _ref26.theme;
667
- return maxWidth(theme.breakpoint.screen1);
668
- }, function (p) {
669
- return p.narrow ? LAYOUT_ITEM_BODY_PADDING.narrowColumn1.yTop + "px " + (p.horizontal ? 0 : LAYOUT_ITEM_BODY_PADDING.narrowColumn1.x) + "px " + LAYOUT_ITEM_BODY_PADDING.narrowColumn1.yBottom + "px" : LAYOUT_ITEM_BODY_PADDING.column1.y + "px " + LAYOUT_ITEM_BODY_PADDING.column1.x + "px " + 0;
670
- });
671
- function useLayoutItemBodyPadding() {
672
- var _useContext4 = useContext(LayoutConfigContext),
673
- wide = _useContext4.wide;
674
-
675
- return useMediaScreen1() ? LAYOUT_ITEM_BODY_PADDING.column1 : wide ? LAYOUT_ITEM_BODY_PADDING.wide : LAYOUT_ITEM_BODY_PADDING["default"];
676
- }
677
- function CancelLayoutItemBodyPadding(_ref27) {
678
- var children = _ref27.children,
679
- cancelTop = _ref27.cancelTop;
680
-
681
- var _useContext5 = useContext(LayoutConfigContext),
682
- wide = _useContext5.wide;
683
-
684
- return /*#__PURE__*/React.createElement(StyledCancelLayoutItemBodyPadding, {
685
- wide: wide,
686
- cancelTop: cancelTop
687
- }, children);
688
- }
689
- /* eslint-disable max-len */
690
-
691
- var StyledCancelLayoutItemBodyPadding = styled.div(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n margin: 0 -", "px;\n margin-top: -", "px;\n\n @media ", " {\n margin: 0 -", "px;\n margin-top: -", "px;\n }\n"])), function (p) {
692
- return p.wide ? LAYOUT_ITEM_BODY_PADDING.wide.x : LAYOUT_ITEM_BODY_PADDING["default"].x;
693
- }, function (_ref28) {
694
- var _ref28$cancelTop = _ref28.cancelTop,
695
- cancelTop = _ref28$cancelTop === void 0 ? false : _ref28$cancelTop,
696
- wide = _ref28.wide;
697
- return !cancelTop ? 0 : wide ? LAYOUT_ITEM_BODY_PADDING.wide.y : LAYOUT_ITEM_BODY_PADDING["default"].y;
698
- }, function (_ref29) {
699
- var theme = _ref29.theme;
700
- return maxWidth(theme.breakpoint.screen1);
701
- }, LAYOUT_ITEM_BODY_PADDING.column1.x, function (_ref30) {
702
- var _ref30$cancelTop = _ref30.cancelTop,
703
- cancelTop = _ref30$cancelTop === void 0 ? false : _ref30$cancelTop;
704
- return !cancelTop ? 0 : LAYOUT_ITEM_BODY_PADDING.column1.x;
705
- });
706
- /* eslint-enable max-len */
707
-
708
- // https://github.com/fernandopasik/react-children-utilities/blob/971d8a0324e6183734d8d1af9a65dbad18ab3d00/src/lib/onlyText.ts
709
-
710
- var hasChildren = function hasChildren(element) {
711
- return isValidElement(element) && Boolean(element.props.children);
712
- };
713
-
714
- var childToString = function childToString( // eslint-disable-next-line @typescript-eslint/ban-types
715
- child) {
716
- if (typeof child === 'undefined' || child === null || typeof child === 'boolean') {
717
- return '';
718
- }
719
-
720
- if (JSON.stringify(child) === '{}') {
721
- return '';
722
- }
723
-
724
- return child.toString();
725
- };
726
- var onlyText = function onlyText(children) {
727
- if (!Array.isArray(children) && !isValidElement(children)) {
728
- return childToString(children);
729
- }
730
-
731
- return Children$1.toArray(children).reduce(function (text, child) {
732
- var newText = '';
733
-
734
- if (isValidElement(child) && hasChildren(child)) {
735
- newText = onlyText(child.props.children);
736
- } else if (isValidElement(child) && !hasChildren(child)) {
737
- newText = '';
738
- } else {
739
- newText = childToString(child);
740
- }
741
-
742
- return text.concat(newText);
743
- }, '');
744
- };
745
-
746
- var _templateObject$9, _templateObject2$7, _templateObject3$6;
747
- /**
748
- * 複数行のテキストに表示行数制限を設けて`...`で省略する
749
- */
750
-
751
- var TextEllipsis = styled.div.attrs(function (_ref) {
752
- var children = _ref.children,
753
- _ref$title = _ref.title,
754
- title = _ref$title === void 0 ? onlyText(children) : _ref$title;
755
- return {
756
- title: title !== '' ? title : undefined
757
- };
758
- })(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteralLoose(["\n overflow: hidden;\n line-height: ", "px;\n /* For english */\n overflow-wrap: break-word;\n\n ", "\n"])), function (props) {
759
- return props.lineHeight;
760
- }, function (_ref2) {
761
- var _ref2$lineLimit = _ref2.lineLimit,
762
- lineLimit = _ref2$lineLimit === void 0 ? 1 : _ref2$lineLimit,
763
- lineHeight = _ref2.lineHeight;
764
- return lineLimit === 1 ? css(_templateObject2$7 || (_templateObject2$7 = _taggedTemplateLiteralLoose(["\n text-overflow: ellipsis;\n white-space: nowrap;\n "]))) : css(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteralLoose(["\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: ", ";\n /* Fallback for -webkit-line-clamp */\n max-height: ", "px;\n "])), lineLimit, lineHeight * lineLimit);
765
- });
766
-
767
- var _excluded$2 = ["link", "onClick", "disabled", "primary", "secondary", "gtmClass", "noHover", "children"],
768
- _excluded2 = ["icon", "primary"],
769
- _excluded3 = ["icon", "primary"];
770
-
771
- var _templateObject$8, _templateObject2$6, _templateObject3$5, _templateObject4$5, _templateObject5$4, _templateObject6$3, _templateObject7$3, _templateObject8$3, _templateObject9$3, _templateObject10$3;
772
- var MenuListItemContext = React.createContext({
773
- padding: 24
774
- });
775
- function MenuListItem(_ref) {
776
- var primary = _ref.primary,
777
- secondary = _ref.secondary,
778
- _onClick = _ref.onClick,
779
- _ref$disabled = _ref.disabled,
780
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
781
- _ref$noHover = _ref.noHover,
782
- noHover = _ref$noHover === void 0 ? false : _ref$noHover,
783
- gtmClass = _ref.gtmClass,
784
- children = _ref.children;
785
-
786
- var _useContext = useContext(MenuListItemContext),
787
- padding = _useContext.padding;
788
-
789
- return /*#__PURE__*/React.createElement(Item, {
790
- hasSubLabel: secondary !== undefined,
791
- onClick: function onClick(e) {
792
- return !disabled && _onClick && _onClick(e);
793
- },
794
- sidePadding: padding,
795
- noHover: noHover,
796
- noClick: _onClick === undefined,
797
- "aria-disabled": disabled,
798
- role: _onClick !== undefined ? 'button' : undefined,
799
- className: gtmClass !== undefined ? "gtm-" + gtmClass : undefined
800
- }, /*#__PURE__*/React.createElement(Labels, null, /*#__PURE__*/React.createElement(PrimaryText, null, /*#__PURE__*/React.createElement(TextEllipsis, {
801
- lineHeight: 22,
802
- lineLimit: 1
803
- }, primary)), secondary !== undefined && /*#__PURE__*/React.createElement(SecondaryText, null, /*#__PURE__*/React.createElement(TextEllipsis, {
804
- lineHeight: 22,
805
- lineLimit: 1
806
- }, secondary))), children);
807
- }
808
- var Item = styled.div(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteralLoose(["\n display: flex;\n height: ", "px;\n align-items: center;\n justify-content: space-between;\n padding: 0 ", "px;\n user-select: none;\n cursor: ", ";\n transition: 0.2s background-color;\n\n &:hover {\n ", "\n }\n\n ", "\n\n ", " {\n cursor: default;\n pointer-events: none;\n\n &:hover {\n background-color: unset;\n }\n }\n"])), function (p) {
809
- return p.hasSubLabel ? 56 : 40;
810
- }, function (p) {
811
- return p.sidePadding;
812
- }, function (p) {
813
- return p.noClick ? 'default' : 'pointer';
814
- }, function (p) {
815
- return !p.noHover && css(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteralLoose(["\n background-color: ", ";\n "])), function (_ref2) {
816
- var theme = _ref2.theme;
817
- return theme.color.surface3;
818
- });
819
- }, theme(function (o) {
820
- return o.disabled;
821
- }), disabledSelector);
822
- var Labels = styled.div(_templateObject3$5 || (_templateObject3$5 = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n"])));
823
- var PrimaryText = styled.div(_templateObject4$5 || (_templateObject4$5 = _taggedTemplateLiteralLoose(["\n color: ", ";\n line-height: 22px;\n font-size: 14px;\n display: grid;\n"])), function (p) {
824
- return p.theme.color.text2;
825
- });
826
- var SecondaryText = styled.div(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteralLoose(["\n color: ", ";\n line-height: 18px;\n font-size: 10px;\n"])), function (p) {
827
- return p.theme.color.text3;
828
- });
829
- function MenuListLinkItem(_ref3) {
830
- var link = _ref3.link,
831
- onClick = _ref3.onClick,
832
- _ref3$disabled = _ref3.disabled,
833
- disabled = _ref3$disabled === void 0 ? false : _ref3$disabled,
834
- primary = _ref3.primary,
835
- secondary = _ref3.secondary,
836
- gtmClass = _ref3.gtmClass,
837
- noHover = _ref3.noHover,
838
- children = _ref3.children,
839
- linkProps = _objectWithoutPropertiesLoose(_ref3, _excluded$2);
840
-
841
- var _useComponentAbstract = useComponentAbstraction(),
842
- Link = _useComponentAbstract.Link;
843
-
844
- var props = {
845
- disabled: disabled,
846
- primary: primary,
847
- secondary: secondary,
848
- gtmClass: gtmClass,
849
- noHover: noHover,
850
- children: children
851
- };
852
- return disabled ? /*#__PURE__*/React.createElement("span", {
853
- onClick: onClick
854
- }, /*#__PURE__*/React.createElement(MenuListItem, props)) : /*#__PURE__*/React.createElement(A, _extends({
855
- as: Link,
856
- to: link,
857
- onClick: onClick
858
- }, linkProps), /*#__PURE__*/React.createElement(MenuListItem, _extends({
859
- onClick: function onClick() {
860
- return void 0;
861
- }
862
- }, props)));
863
- }
864
- var A = styled.a(_templateObject6$3 || (_templateObject6$3 = _taggedTemplateLiteralLoose(["\n display: block;\n"])));
865
- function MenuListLinkItemWithIcon(_ref4) {
866
- var icon = _ref4.icon,
867
- text = _ref4.primary,
868
- props = _objectWithoutPropertiesLoose(_ref4, _excluded2);
869
-
870
- var primary = /*#__PURE__*/React.createElement(IconContainer, null, /*#__PURE__*/React.createElement(Icon$1, null, icon), text);
871
- return /*#__PURE__*/React.createElement(MenuListLinkItem, _extends({
872
- primary: primary
873
- }, props));
874
- }
875
- function MenuListItemWithIcon(_ref5) {
876
- var icon = _ref5.icon,
877
- text = _ref5.primary,
878
- props = _objectWithoutPropertiesLoose(_ref5, _excluded3);
879
-
880
- var primary = /*#__PURE__*/React.createElement(IconContainer, null, /*#__PURE__*/React.createElement(Icon$1, null, icon), text);
881
- return /*#__PURE__*/React.createElement(MenuListItem, _extends({
882
- primary: primary
883
- }, props));
884
- }
885
- var IconContainer = styled.div(_templateObject7$3 || (_templateObject7$3 = _taggedTemplateLiteralLoose(["\n display: grid;\n gap: 8px;\n grid-auto-flow: column;\n align-items: center;\n"])));
886
- var Icon$1 = styled.div(_templateObject8$3 || (_templateObject8$3 = _taggedTemplateLiteralLoose(["\n color: ", ";\n display: flex;\n"])), function (_ref6) {
887
- var theme = _ref6.theme;
888
- return theme.color.text3;
889
- });
890
- var MenuListSpacer = styled.div(_templateObject9$3 || (_templateObject9$3 = _taggedTemplateLiteralLoose(["\n height: 24px;\n"])));
891
- var MenuListLabel = styled.div(_templateObject10$3 || (_templateObject10$3 = _taggedTemplateLiteralLoose(["\n padding: 0 16px;\n font-size: 12px;\n line-height: 16px;\n color: ", ";\n margin-top: -2px;\n margin-bottom: 6px;\n"])), function (_ref7) {
892
- var theme = _ref7.theme;
893
- return theme.color.text3;
894
- });
895
-
896
- var _templateObject$7, _templateObject2$5;
897
- function LeftMenu(_ref) {
898
- var links = _ref.links,
899
- active = _ref.active;
900
-
901
- var _useComponentAbstract = useComponentAbstraction(),
902
- Link = _useComponentAbstract.Link;
903
-
904
- return /*#__PURE__*/React.createElement(Container$1, null, links.map(function (link, index) {
905
- return /*#__PURE__*/React.createElement(Link, {
906
- to: link.to,
907
- key: index
908
- }, /*#__PURE__*/React.createElement(LinkItem, {
909
- "aria-current": link.id === active || undefined
910
- }, link.text));
911
- }));
912
- }
913
- function LeftMenuContent(_ref2) {
914
- var links = _ref2.links;
915
- return /*#__PURE__*/React.createElement(React.Fragment, null, links.map(function (link, index) {
916
- return /*#__PURE__*/React.createElement(MenuListLinkItem, {
917
- link: link.to,
918
- key: index,
919
- primary: link.text
920
- });
921
- }));
922
- }
923
- var Container$1 = styled.div(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteralLoose(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n"])));
924
- var LinkItem = styled.div(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n color: ", ";\n border-radius: 24px;\n font-weight: bold;\n font-size: 14px;\n line-height: 22px;\n padding: 0 16px;\n height: 40px;\n transition: 0.2s color;\n &:hover {\n transition: 0.2s color;\n color: ", ";\n }\n &[aria-current] {\n color: ", ";\n background-color: ", ";\n }\n"])), function (_ref3) {
925
- var theme = _ref3.theme;
926
- return theme.color.text3;
927
- }, function (_ref4) {
928
- var theme = _ref4.theme;
929
- return theme.color.text2;
930
- }, function (_ref5) {
931
- var theme = _ref5.theme;
932
- return theme.color.text2;
933
- }, function (_ref6) {
934
- var theme = _ref6.theme;
935
- return theme.color.surface3;
936
- });
937
-
938
- var _templateObject$6, _templateObject2$4, _templateObject3$4, _templateObject4$4, _templateObject5$3, _templateObject6$2, _templateObject7$2, _templateObject8$2, _templateObject9$2, _templateObject10$2;
939
-
940
- var _excluded$1 = ["gtmClass", "flex", "rowReverse", "children", "disabled"];
941
- var index$2 = React.forwardRef(function SwitchCheckbox(_ref, ref) {
942
- var gtmClass = _ref.gtmClass,
943
- _ref$flex = _ref.flex,
944
- flex = _ref$flex === void 0 ? false : _ref$flex,
945
- _ref$rowReverse = _ref.rowReverse,
946
- rowReverse = _ref$rowReverse === void 0 ? false : _ref$rowReverse,
947
- children = _ref.children,
948
- disabled = _ref.disabled,
949
- props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
950
-
951
- return /*#__PURE__*/React.createElement(Label, {
952
- className: gtmClass !== undefined ? "gtm-" + gtmClass : '',
953
- flex: flex,
954
- rowReverse: rowReverse,
955
- "aria-disabled": disabled
956
- }, /*#__PURE__*/React.createElement(SwitchOuter, null, /*#__PURE__*/React.createElement(SwitchInput, _extends({}, props, {
957
- disabled: disabled,
958
- ref: ref
959
- })), /*#__PURE__*/React.createElement(SwitchInner, null, /*#__PURE__*/React.createElement(SwitchInnerKnob, null))), children != null && /*#__PURE__*/React.createElement(Children, {
960
- rowReverse: rowReverse
961
- }, children));
962
- });
963
- var Children = styled.span(_templateObject$6 || (_templateObject$6 = _taggedTemplateLiteralLoose(["\n ", "\n"])), function (p) {
964
- return p.rowReverse ? css(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteralLoose(["\n margin-right: 8px;\n "]))) : css(_templateObject3$4 || (_templateObject3$4 = _taggedTemplateLiteralLoose(["\n margin-left: 8px;\n "])));
965
- });
966
- var Label = styled.label(_templateObject4$4 || (_templateObject4$4 = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: center;\n ", "\n ", "\n cursor: pointer;\n outline: 0;\n\n &[aria-disabled='true'] {\n cursor: auto;\n }\n"])), function (_ref2) {
967
- var flex = _ref2.flex;
968
- return flex && css(_templateObject5$3 || (_templateObject5$3 = _taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: space-between;\n "])));
969
- }, function (_ref3) {
970
- var rowReverse = _ref3.rowReverse;
971
- return css(_templateObject6$2 || (_templateObject6$2 = _taggedTemplateLiteralLoose(["\n flex-direction: ", ";\n "])), rowReverse ? 'row-reverse' : 'row');
972
- });
973
- var SwitchOuter = styled.span(_templateObject7$2 || (_templateObject7$2 = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n position: relative;\n z-index: 0;\n"])));
974
- var SwitchInner = styled.div(_templateObject8$2 || (_templateObject8$2 = _taggedTemplateLiteralLoose(["\n position: relative;\n box-sizing: border-box;\n width: 28px;\n height: 16px;\n border-radius: 16px;\n border: 2px solid transparent;\n background: ", ";\n transition: box-shadow 0.2s, background-color 0.2s;\n"])), function (_ref4) {
975
- var theme = _ref4.theme;
976
- return theme.color.text4;
977
- });
978
- var SwitchInnerKnob = styled.div(_templateObject9$2 || (_templateObject9$2 = _taggedTemplateLiteralLoose(["\n position: absolute;\n display: block;\n top: 0;\n left: 0;\n width: 12px;\n height: 12px;\n background-color: ", ";\n border-radius: 50%;\n transform: translateX(0);\n transition: transform 0.2s;\n"])), function (_ref5) {
979
- var theme = _ref5.theme;
980
- return theme.color.text5;
981
- });
982
- var SwitchInput = styled.input.attrs({
983
- type: 'checkbox'
984
- })(_templateObject10$2 || (_templateObject10$2 = _taggedTemplateLiteralLoose(["\n position: absolute;\n /* NOTE: this is contained by the GraphicCheckboxOuter */\n z-index: 1;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n /* just to control the clickable area if used standalone */\n border-radius: 16px;\n opacity: 0;\n appearance: none;\n outline: none;\n cursor: pointer;\n\n &:checked {\n ~ ", " {\n background-color: ", ";\n\n ", " {\n transform: translateX(12px);\n }\n }\n }\n\n &:disabled {\n cursor: auto;\n\n ~ ", " {\n opacity: ", ";\n }\n }\n\n &:not(:disabled):focus {\n ~ ", " {\n box-shadow: 0 0 0 4px\n ", ";\n }\n }\n"])), SwitchInner, function (_ref6) {
985
- var theme = _ref6.theme;
986
- return theme.color.brand;
987
- }, SwitchInnerKnob, SwitchInner, function (_ref7) {
988
- var theme = _ref7.theme;
989
- return theme.elementEffect.disabled.opacity;
990
- }, SwitchInner, function (_ref8) {
991
- var theme = _ref8.theme;
992
- return applyEffect(theme.color.brand, theme.elementEffect.disabled);
993
- });
994
-
995
- var _templateObject$5, _templateObject2$3, _templateObject3$3, _templateObject4$3, _templateObject5$2, _templateObject6$1, _templateObject7$1, _templateObject8$1, _templateObject9$1, _templateObject10$1, _templateObject11, _templateObject12, _templateObject13;
996
- var index$1 = React.memo(function WithIcon(_ref) {
997
- var children = _ref.children,
998
- icon = _ref.icon,
999
- _ref$show = _ref.show,
1000
- show = _ref$show === void 0 ? true : _ref$show,
1001
- _ref$prefix = _ref.prefix,
1002
- pre = _ref$prefix === void 0 ? false : _ref$prefix,
1003
- width = _ref.width,
1004
- _ref$fit = _ref.fit,
1005
- fit = _ref$fit === void 0 ? false : _ref$fit,
1006
- _ref$fixed = _ref.fixed,
1007
- fixed = _ref$fixed === void 0 ? false : _ref$fixed;
1008
- var node = fit ? width === undefined ? /*#__PURE__*/React.createElement(AutoWidthIconAnchor, {
1009
- show: show,
1010
- pre: pre
1011
- }, icon) : /*#__PURE__*/React.createElement(IconAnchor, {
1012
- width: width,
1013
- show: show,
1014
- pre: pre
1015
- }, /*#__PURE__*/React.createElement(Icon, null, icon)) : /*#__PURE__*/React.createElement(IconAnchorNaive, {
1016
- show: show,
1017
- pre: pre
1018
- }, /*#__PURE__*/React.createElement(IconNaive, null, icon));
1019
- return /*#__PURE__*/React.createElement(Root, null, pre && node, /*#__PURE__*/React.createElement(Text$1, {
1020
- fixed: fixed
1021
- }, children), !pre && node);
1022
- });
1023
- var Root = styled.div(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n"])));
1024
- var Text$1 = styled.div(_templateObject2$3 || (_templateObject2$3 = _taggedTemplateLiteralLoose(["\n ", "\n white-space: nowrap;\n text-overflow: ellipsis;\n"])), function (p) {
1025
- return !p.fixed && css(_templateObject3$3 || (_templateObject3$3 = _taggedTemplateLiteralLoose(["\n min-width: 0;\n overflow: hidden;\n "])));
1026
- });
1027
-
1028
- function AutoWidthIconAnchor(_ref2) {
1029
- var _useElementSize$width, _useElementSize;
1030
-
1031
- var children = _ref2.children,
1032
- show = _ref2.show,
1033
- pre = _ref2.pre;
1034
- var ref = useRef(null); // depsを空配列にしないことで初回だけ同期で幅を計算させるテクニック
1035
-
1036
- var width = (_useElementSize$width = (_useElementSize = useElementSize(ref, [null])) == null ? void 0 : _useElementSize.width) != null ? _useElementSize$width : 0;
1037
- return /*#__PURE__*/React.createElement(IconAnchor, {
1038
- width: width,
1039
- show: show,
1040
- pre: pre
1041
- }, /*#__PURE__*/React.createElement(Icon, {
1042
- ref: ref
1043
- }, children));
1044
- }
1045
-
1046
- var forceCenteringCss = css(_templateObject4$3 || (_templateObject4$3 = _taggedTemplateLiteralLoose(["\n > svg {\n display: block;\n }\n"])));
1047
- var iconAnchorCss = css(_templateObject5$2 || (_templateObject5$2 = _taggedTemplateLiteralLoose(["\n ", ";\n ", "\n"])), function (p) {
1048
- return p.show === 'collapse' ? css(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteralLoose(["\n display: none;\n "]))) : css(_templateObject7$1 || (_templateObject7$1 = _taggedTemplateLiteralLoose(["\n visibility: ", ";\n "])), p.show ? 'visible' : 'hidden');
1049
- }, function (p) {
1050
- return p.pre ? css(_templateObject8$1 || (_templateObject8$1 = _taggedTemplateLiteralLoose(["\n margin-right: 4px;\n "]))) : css(_templateObject9$1 || (_templateObject9$1 = _taggedTemplateLiteralLoose(["\n margin-left: 4px;\n "])));
1051
- });
1052
- var IconAnchorNaive = styled.div(_templateObject10$1 || (_templateObject10$1 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n\n ", "\n"])), iconAnchorCss);
1053
- var IconNaive = styled.div(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n\n ", "\n"])), forceCenteringCss);
1054
- var IconAnchor = styled.div(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n display: flex;\n position: relative;\n /* Icon\u3092line-height\u306B\u95A2\u4E0E\u3055\u305B\u306A\u3044 */\n height: 0;\n /* \u6A2A\u65B9\u5411\u306E\u9818\u57DF\u306F\u78BA\u4FDD\u3059\u308B */\n width: ", "px;\n\n ", "\n"])), function (p) {
1055
- return p.width;
1056
- }, iconAnchorCss);
1057
- var Icon = styled.div(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n position: absolute;\n transform: translateY(-50%);\n\n ", "\n"])), forceCenteringCss);
1058
-
1059
- var passiveEventsResult; // eslint-disable-line no-var
1060
-
1061
- function passiveEvents() {
1062
- if (passiveEventsResult !== undefined) {
1063
- return passiveEventsResult;
1064
- }
1065
-
1066
- passiveEventsResult = false;
1067
-
1068
- try {
1069
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
1070
- var options = Object.defineProperty({}, 'passive', {
1071
- get: function get() {
1072
- return passiveEventsResult = true;
1073
- }
1074
- });
1075
- window.addEventListener('test', test, options);
1076
- window.removeEventListener('test', test);
1077
- } catch (_unused) {// test fail
1078
- }
1079
-
1080
- return passiveEventsResult;
1081
-
1082
- function test() {
1083
- /* empty */
1084
- }
1085
- }
1086
- var isEdge = function isEdge() {
1087
- return navigator.userAgent.includes('Edge/');
1088
- };
1089
-
1090
- function unreachable(value) {
1091
- throw new Error(arguments.length === 0 ? 'unreachable' : "unreachable (" + JSON.stringify(value) + ")");
1092
- }
1093
-
1094
- var WedgeDirection$1;
1095
-
1096
- (function (WedgeDirection) {
1097
- WedgeDirection["Up"] = "up";
1098
- WedgeDirection["Down"] = "down";
1099
- WedgeDirection["Left"] = "left";
1100
- WedgeDirection["Right"] = "right";
1101
- })(WedgeDirection$1 || (WedgeDirection$1 = {})); // eslint-disable-next-line max-len
1102
-
1103
-
1104
- var path = "M8.08579 16.5858C7.30474 17.3668 7.30474 18.6332 8.08579 19.4142C8.86684 20.1953 10.1332 20.1953 10.9142 19.4142L18.3284 12L10.9142 4.58579C10.1332 3.80474 8.86684 3.80474 8.08579 4.58579C7.30474 5.36684 7.30474 6.63317 8.08579 7.41421L12.6716 12L8.08579 16.5858Z";
1105
- var size = 24;
1106
- function NextIcon(_ref) {
1107
- var direction = _ref.direction;
1108
- var transform = directionToTransform$1(direction);
1109
- return /*#__PURE__*/React.createElement(IconBase, {
1110
- viewBoxSize: size,
1111
- size: size,
1112
- currentColor: true,
1113
- path: path,
1114
- transform: transform
1115
- });
1116
- }
1117
-
1118
- function directionToTransform$1(direction) {
1119
- // "5 4" is the center point of the "0 0 10 8" viewBox
1120
- switch (direction) {
1121
- case WedgeDirection$1.Up:
1122
- return 'rotate(270 12 12)';
1123
-
1124
- case WedgeDirection$1.Down:
1125
- return 'rotate(90 12 12)';
1126
-
1127
- case WedgeDirection$1.Left:
1128
- return 'rotate(180 12 12)';
1129
-
1130
- case WedgeDirection$1.Right:
1131
- return undefined;
1132
-
1133
- default:
1134
- return unreachable(direction);
1135
- }
1136
- }
1137
-
1138
- var _templateObject$4, _templateObject2$2, _templateObject3$2, _templateObject4$2, _templateObject5$1;
1139
- var Direction;
1140
-
1141
- (function (Direction) {
1142
- Direction["Right"] = "right";
1143
- Direction["Left"] = "left";
1144
- })(Direction || (Direction = {}));
1145
-
1146
- function CarouselButton(_ref) {
1147
- var direction = _ref.direction,
1148
- show = _ref.show,
1149
- _ref$offset = _ref.offset,
1150
- offset = _ref$offset === void 0 ? 0 : _ref$offset,
1151
- _ref$padding = _ref.padding,
1152
- padding = _ref$padding === void 0 ? 0 : _ref$padding,
1153
- _ref$bottomOffset = _ref.bottomOffset,
1154
- bottom = _ref$bottomOffset === void 0 ? 0 : _ref$bottomOffset,
1155
- _ref$gradient = _ref.gradient,
1156
- gradient = _ref$gradient === void 0 ? false : _ref$gradient,
1157
- onClick = _ref.onClick;
1158
- var offsetStyle = direction === Direction.Left ? {
1159
- left: gradient ? offset - 72 : offset,
1160
- paddingLeft: Math.max(padding, 0),
1161
- paddingBottom: bottom
1162
- } : {
1163
- right: gradient ? offset - 72 : offset,
1164
- paddingRight: Math.max(padding, 0),
1165
- paddingBottom: bottom
1166
- };
1167
- return /*#__PURE__*/React.createElement(Button, {
1168
- type: "button",
1169
- onClick: onClick,
1170
- hide: !show,
1171
- style: offsetStyle,
1172
- css: onlyNonTouchDevice
1173
- }, /*#__PURE__*/React.createElement(CarouselButtonIcon, null, /*#__PURE__*/React.createElement(NextIcon, {
1174
- direction: direction === Direction.Right ? WedgeDirection$1.Right : // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
1175
- direction === Direction.Left ? WedgeDirection$1.Left : unreachable()
1176
- })));
1177
- }
1178
- var CAROUSEL_BUTTON_SIZE = 40;
1179
- var CarouselButtonIcon = styled.div(_templateObject$4 || (_templateObject$4 = _taggedTemplateLiteralLoose(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: ", "px;\n height: ", "px;\n border-radius: 50%;\n background-color: ", ";\n transition: 0.4s visibility, 0.4s opacity, 0.2s background-color, 0.2s color;\n color: ", ";\n"])), CAROUSEL_BUTTON_SIZE, CAROUSEL_BUTTON_SIZE, function (_ref2) {
1180
- var theme = _ref2.theme;
1181
- return theme.color.surface4;
1182
- }, function (_ref3) {
1183
- var theme = _ref3.theme;
1184
- return theme.color.text5;
1185
- });
1186
- var Button = styled.button(_templateObject2$2 || (_templateObject2$2 = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n padding: 0;\n min-width: 40px;\n border: none;\n outline: 0;\n background: transparent;\n cursor: pointer;\n transition: 0.4s visibility, 0.4s opacity;\n /* \u3064\u3089\u3044 */\n /* \u3053\u306E\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306FCarousel\u3067\u3057\u304B\u4F7F\u308F\u308C\u3066\u306A\u3044\u306E\u3067\u305D\u3063\u3061\u3067\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3067\u5207\u308B */\n z-index: 1;\n\n &:hover ", " {\n background-color: ", ";\n color: ", ";\n }\n\n &:active ", " {\n background-color: ", ";\n color: ", ";\n }\n\n ", "\n"])), CarouselButtonIcon, function (_ref4) {
1187
- var theme = _ref4.theme;
1188
- return applyEffect(theme.color.surface4, theme.effect.hover);
1189
- }, function (_ref5) {
1190
- var theme = _ref5.theme;
1191
- return applyEffect(theme.color.text5, theme.effect.hover);
1192
- }, CarouselButtonIcon, function (_ref6) {
1193
- var theme = _ref6.theme;
1194
- return applyEffect(theme.color.surface4, theme.effect.press);
1195
- }, function (_ref7) {
1196
- var theme = _ref7.theme;
1197
- return applyEffect(theme.color.text5, theme.effect.press);
1198
- }, function (p) {
1199
- return p.hide && css(_templateObject3$2 || (_templateObject3$2 = _taggedTemplateLiteralLoose(["\n visibility: hidden;\n opacity: 0;\n pointer-events: none;\n "])));
1200
- });
1201
- styled(CarouselButtonIcon)(_templateObject4$2 || (_templateObject4$2 = _taggedTemplateLiteralLoose(["\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n color: ", ";\n }\n\n &:active {\n background-color: ", ";\n color: ", ";\n }\n"])), function (_ref9) {
1202
- var theme = _ref9.theme;
1203
- return applyEffect(theme.color.surface4, theme.effect.hover);
1204
- }, function (_ref10) {
1205
- var theme = _ref10.theme;
1206
- return applyEffect(theme.color.text5, theme.effect.hover);
1207
- }, function (_ref11) {
1208
- var theme = _ref11.theme;
1209
- return applyEffect(theme.color.surface4, theme.effect.press);
1210
- }, function (_ref12) {
1211
- var theme = _ref12.theme;
1212
- return applyEffect(theme.color.text5, theme.effect.press);
1213
- });
1214
- var onlyNonTouchDevice = css(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteralLoose(["\n @media (hover: none) and (pointer: coarse) {\n display: none;\n }\n"])));
1215
-
1216
- var _templateObject$3, _templateObject2$1, _templateObject3$1, _templateObject4$1, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
1217
-
1218
- var _excluded = ["buttonOffset", "buttonPadding", "bottomOffset", "defaultScroll", "onScroll", "onResize", "children", "centerItems", "onScrollStateChange", "scrollAmountCoef"];
1219
- var GRADIENT_WIDTH = 72;
1220
- /**
1221
- * カルーセル系のスクロール量の定数
1222
- *
1223
- * @example
1224
- * const scrollAmount = containerElm.clientWidth * SCROLL_AMOUNT_COEF
1225
- */
1226
-
1227
- var SCROLL_AMOUNT_COEF = 0.75;
1228
- function Carousel(_ref) {
1229
- var _ref$buttonOffset = _ref.buttonOffset,
1230
- buttonOffset = _ref$buttonOffset === void 0 ? 0 : _ref$buttonOffset,
1231
- _ref$buttonPadding = _ref.buttonPadding,
1232
- buttonPadding = _ref$buttonPadding === void 0 ? 16 : _ref$buttonPadding,
1233
- _ref$bottomOffset = _ref.bottomOffset,
1234
- bottomOffset = _ref$bottomOffset === void 0 ? 0 : _ref$bottomOffset,
1235
- _ref$defaultScroll = _ref.defaultScroll;
1236
- _ref$defaultScroll = _ref$defaultScroll === void 0 ? {} : _ref$defaultScroll;
1237
-
1238
- var _ref$defaultScroll$al = _ref$defaultScroll.align,
1239
- align = _ref$defaultScroll$al === void 0 ? 'left' : _ref$defaultScroll$al,
1240
- _ref$defaultScroll$of = _ref$defaultScroll.offset,
1241
- scrollOffset = _ref$defaultScroll$of === void 0 ? 0 : _ref$defaultScroll$of,
1242
- onScroll = _ref.onScroll,
1243
- onResize = _ref.onResize,
1244
- children = _ref.children,
1245
- centerItems = _ref.centerItems,
1246
- onScrollStateChange = _ref.onScrollStateChange,
1247
- _ref$scrollAmountCoef = _ref.scrollAmountCoef,
1248
- scrollAmountCoef = _ref$scrollAmountCoef === void 0 ? SCROLL_AMOUNT_COEF : _ref$scrollAmountCoef,
1249
- options = _objectWithoutPropertiesLoose(_ref, _excluded);
1250
-
1251
- // スクロール位置を保存する
1252
- // アニメーション中の場合は、アニメーション終了時のスクロール位置が保存される
1253
- var _useDebounceAnimation = useDebounceAnimationState(0),
1254
- scrollLeft = _useDebounceAnimation[0],
1255
- setScrollLeft = _useDebounceAnimation[1]; // アニメーション中かどうか
1256
-
1257
-
1258
- var animation = useRef(false); // スクロール可能な領域を保存する
1259
-
1260
- var _useState = useState(0),
1261
- maxScrollLeft = _useState[0],
1262
- setMaxScrollLeft = _useState[1]; // 左右のボタンの表示状態を保存する
1263
-
1264
-
1265
- var _useState2 = useState(false),
1266
- leftShow = _useState2[0],
1267
- setLeftShow = _useState2[1];
1268
-
1269
- var _useState3 = useState(false),
1270
- rightShow = _useState3[0],
1271
- setRightShow = _useState3[1]; // const [props, set, stop] = useSpring(() => ({
1272
- // scroll: 0
1273
- // }))
1274
-
1275
-
1276
- var _useSpring = useSpring(function () {
1277
- return {
1278
- scroll: 0
1279
- };
1280
- }),
1281
- styles = _useSpring[0],
1282
- set = _useSpring[1];
1283
-
1284
- var ref = useRef(null);
1285
- var visibleAreaRef = useRef(null);
1286
- var innerRef = useRef(null);
1287
- var handleRight = useCallback(function () {
1288
- if (visibleAreaRef.current === null) {
1289
- return;
1290
- }
1291
-
1292
- var clientWidth = visibleAreaRef.current.clientWidth; // スクロール領域を超えないように、アニメーションを開始
1293
- // アニメーション中にアニメーションが開始されたときに、アニメーション終了予定の位置から再度計算するようにする
1294
-
1295
- var scroll = Math.min(scrollLeft + clientWidth * scrollAmountCoef, maxScrollLeft);
1296
- setScrollLeft(scroll, true);
1297
- set({
1298
- scroll: scroll,
1299
- from: {
1300
- scroll: scrollLeft
1301
- },
1302
- reset: !animation.current
1303
- });
1304
- animation.current = true;
1305
- }, [animation, maxScrollLeft, scrollLeft, set, scrollAmountCoef, setScrollLeft]);
1306
- var handleLeft = useCallback(function () {
1307
- if (visibleAreaRef.current === null) {
1308
- return;
1309
- }
1310
-
1311
- var clientWidth = visibleAreaRef.current.clientWidth;
1312
- var scroll = Math.max(scrollLeft - clientWidth * scrollAmountCoef, 0);
1313
- setScrollLeft(scroll, true);
1314
- set({
1315
- scroll: scroll,
1316
- from: {
1317
- scroll: scrollLeft
1318
- },
1319
- reset: !animation.current
1320
- });
1321
- animation.current = true;
1322
- }, [animation, scrollLeft, set, scrollAmountCoef, setScrollLeft]); // スクロール可能な場合にボタンを表示する
1323
- // scrollLeftが変化したときに処理する (アニメーション開始時 & 手動スクロール時)
1324
-
1325
- useEffect(function () {
1326
- var newleftShow = scrollLeft > 0;
1327
- var newrightShow = scrollLeft < maxScrollLeft && maxScrollLeft > 0;
1328
-
1329
- if (newleftShow !== leftShow || newrightShow !== rightShow) {
1330
- setLeftShow(newleftShow);
1331
- setRightShow(newrightShow);
1332
- onScrollStateChange == null ? void 0 : onScrollStateChange(newleftShow || newrightShow);
1333
- }
1334
- }, [leftShow, maxScrollLeft, onScrollStateChange, rightShow, scrollLeft]);
1335
- var handleScroll = useCallback(function () {
1336
- if (ref.current === null) {
1337
- return;
1338
- } // 手動でスクロールが開始されたときにアニメーションを中断
1339
-
1340
-
1341
- if (animation.current) {
1342
- styles.scroll.stop();
1343
- animation.current = false;
1344
- } // スクロール位置を保存 (アニメーションの基準になる)
1345
-
1346
-
1347
- var manualScrollLeft = ref.current.scrollLeft; // 過剰にsetStateが走らないようにDebouceする
1348
-
1349
- setScrollLeft(manualScrollLeft);
1350
- }, [animation, setScrollLeft, styles]); // リサイズが起きたときに、アニメーション用のスクロール領域 & ボタンの表示状態 を再計算する
1351
-
1352
- var handleResize = useCallback(function () {
1353
- if (ref.current === null) {
1354
- return;
1355
- }
1356
-
1357
- var _ref$current = ref.current,
1358
- clientWidth = _ref$current.clientWidth,
1359
- scrollWidth = _ref$current.scrollWidth;
1360
- var newMaxScrollLeft = scrollWidth - clientWidth;
1361
- setMaxScrollLeft(newMaxScrollLeft);
1362
-
1363
- if (onResize) {
1364
- onResize(clientWidth);
1365
- }
1366
- }, [onResize]);
1367
- useLayoutEffect(function () {
1368
- var elm = ref.current;
1369
- var innerElm = innerRef.current;
1370
-
1371
- if (elm === null || innerElm === null) {
1372
- return;
1373
- }
1374
-
1375
- elm.addEventListener('wheel', handleScroll, passiveEvents() && {
1376
- passive: true
1377
- });
1378
- var resizeObserver = new ResizeObserver(handleResize);
1379
- resizeObserver.observe(elm);
1380
- var resizeObserverInner = new ResizeObserver(handleResize);
1381
- resizeObserverInner.observe(innerElm);
1382
- return function () {
1383
- elm.removeEventListener('wheel', handleScroll);
1384
- resizeObserver.disconnect();
1385
- resizeObserverInner.disconnect();
1386
- };
1387
- }, [handleResize, handleScroll]); // 初期スクロールを行う
1388
-
1389
- useLayoutEffect(function () {
1390
- if (align !== 'left' || scrollOffset !== 0) {
1391
- var scroll = ref.current;
1392
-
1393
- if (scroll !== null) {
1394
- var scrollLength = Math.max(0, Math.min(align === 'left' && scrollOffset > 0 ? scrollOffset : align === 'center' ? maxScrollLeft / 2 + scrollOffset : align === 'right' && scrollOffset <= maxScrollLeft ? maxScrollLeft - scrollOffset / 2 : 0, maxScrollLeft));
1395
- scroll.scrollLeft = scrollLength;
1396
- setScrollLeft(scrollLength, true);
1397
- }
1398
- } // eslint-disable-next-line react-hooks/exhaustive-deps
1399
-
1400
- }, [ref.current]);
1401
- var handleScrollMove = useCallback(function () {
1402
- if (ref.current === null) {
1403
- return;
1404
- }
1405
-
1406
- if (onScroll) {
1407
- onScroll(ref.current.scrollLeft);
1408
- }
1409
- }, [onScroll]);
1410
-
1411
- var _useState4 = useState(false),
1412
- disableGradient = _useState4[0],
1413
- setDisableGradient = _useState4[1];
1414
-
1415
- useLayoutEffect(function () {
1416
- if (isEdge()) {
1417
- setDisableGradient(true);
1418
- }
1419
- }, []); // NOTE: Edgeではmaskを使うと要素のレンダリングがバグる(場合によっては画像が表示されない)のでグラデーションを無効にする
1420
-
1421
- if (!disableGradient && options.hasGradient === true) {
1422
- var _options$fadeInGradie;
1423
-
1424
- var fadeInGradient = (_options$fadeInGradie = options.fadeInGradient) != null ? _options$fadeInGradie : false;
1425
- var overflowGradient = !fadeInGradient;
1426
- return /*#__PURE__*/React.createElement(Container, {
1427
- ref: visibleAreaRef
1428
- }, /*#__PURE__*/React.createElement(GradientContainer, {
1429
- fadeInGradient: fadeInGradient
1430
- }, /*#__PURE__*/React.createElement(RightGradient, null, /*#__PURE__*/React.createElement(LeftGradient, {
1431
- show: overflowGradient || scrollLeft > 0
1432
- }, /*#__PURE__*/React.createElement(ScrollArea, {
1433
- ref: ref,
1434
- scrollLeft: styles.scroll,
1435
- onScroll: handleScrollMove
1436
- }, /*#__PURE__*/React.createElement(CarouselContainer, {
1437
- ref: innerRef,
1438
- centerItems: centerItems
1439
- }, children))))), /*#__PURE__*/React.createElement(ButtonsContainer, null, /*#__PURE__*/React.createElement(CarouselButton, {
1440
- direction: Direction.Left,
1441
- show: leftShow,
1442
- offset: buttonOffset,
1443
- bottomOffset: bottomOffset,
1444
- padding: buttonPadding,
1445
- gradient: overflowGradient,
1446
- onClick: handleLeft
1447
- }), /*#__PURE__*/React.createElement(CarouselButton, {
1448
- direction: Direction.Right,
1449
- show: rightShow,
1450
- offset: buttonOffset,
1451
- bottomOffset: bottomOffset,
1452
- padding: buttonPadding,
1453
- gradient: true,
1454
- onClick: handleRight
1455
- })));
1456
- }
1457
-
1458
- return /*#__PURE__*/React.createElement(Container, {
1459
- ref: visibleAreaRef
1460
- }, /*#__PURE__*/React.createElement(ScrollArea // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1461
- // @ts-expect-error
1462
- , {
1463
- ref: ref,
1464
- scrollLeft: styles.scroll,
1465
- onScroll: handleScrollMove
1466
- }, /*#__PURE__*/React.createElement(CarouselContainer, {
1467
- ref: innerRef,
1468
- centerItems: centerItems
1469
- }, children)), /*#__PURE__*/React.createElement(ButtonsContainer, null, /*#__PURE__*/React.createElement(CarouselButton, {
1470
- direction: Direction.Left,
1471
- show: leftShow,
1472
- offset: buttonOffset,
1473
- bottomOffset: bottomOffset,
1474
- padding: buttonPadding,
1475
- onClick: handleLeft
1476
- }), /*#__PURE__*/React.createElement(CarouselButton, {
1477
- direction: Direction.Right,
1478
- show: rightShow,
1479
- offset: buttonOffset,
1480
- bottomOffset: bottomOffset,
1481
- padding: buttonPadding,
1482
- onClick: handleRight
1483
- })));
1484
- }
1485
- var CarouselContainer = styled.ul(_templateObject$3 || (_templateObject$3 = _taggedTemplateLiteralLoose(["\n vertical-align: top;\n overflow: hidden;\n list-style: none;\n padding: 0;\n\n /* \u6700\u5C0F\u5E45\u3092100%\u306B\u3057\u3066\u89AA\u8981\u7D20\u306B\u3074\u3063\u305F\u308A\u304F\u3063\u3064\u3051\u308B\u3053\u3068\u3067\u5B50\u8981\u7D20\u3067\u8981\u7D20\u3092\u5747\u7B49\u306B\u5272\u308A\u4ED8\u3051\u308B\u306A\u3069\u3092\u51FA\u6765\u308B\u3088\u3046\u306B\u3057\u3066\u3042\u308B */\n min-width: 100%;\n box-sizing: border-box;\n\n ", "\n"])), function (_ref2) {
1486
- var _ref2$centerItems = _ref2.centerItems,
1487
- centerItems = _ref2$centerItems === void 0 ? false : _ref2$centerItems;
1488
- return centerItems ? css(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteralLoose(["\n display: flex;\n width: max-content;\n margin: 0 auto;\n "]))) : css(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n margin: 0;\n "])));
1489
- });
1490
- var ButtonsContainer = styled.div(_templateObject4$1 || (_templateObject4$1 = _taggedTemplateLiteralLoose(["\n opacity: 0;\n transition: 0.4s opacity;\n"])));
1491
- var Container = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n &:hover ", " {\n opacity: 1;\n }\n\n /* CarouselButton\u306E\u4E2D\u306Bz-index:1\u304C\u3042\u308B\u306E\u3067\u3053\u3053\u3067\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u5207\u308B */\n position: relative;\n z-index: 0;\n"])), ButtonsContainer);
1492
- var ScrollArea = styled(animated.div)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n overflow-x: auto;\n padding: 0;\n margin: 0;\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n scrollbar-width: none;\n"])));
1493
- var GradientContainer = styled.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n /* NOTE: LeftGradient\u304C\u306F\u307F\u51FA\u308B\u305F\u3081hidden */\n overflow: hidden;\n ", "\n\n margin-right: ", "px;\n /* stylelint-disable-next-line no-duplicate-selectors */\n ", " {\n padding-right: ", "px;\n }\n"])), function (p) {
1494
- return !p.fadeInGradient && css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n margin-left: ", "px;\n ", " {\n padding-left: ", "px;\n }\n "])), -GRADIENT_WIDTH, CarouselContainer, GRADIENT_WIDTH);
1495
- }, -GRADIENT_WIDTH, CarouselContainer, GRADIENT_WIDTH);
1496
- var RightGradient = styled.div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n mask-image: linear-gradient(\n to right,\n #000 calc(100% - ", "px),\n transparent\n );\n"])), GRADIENT_WIDTH);
1497
- var LeftGradient = styled.div(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n /* NOTE: mask-position \u304C left \u2192 negative px \u306E\u6642\u3001right \u2192 abs(negative px) \u306E\u4F4D\u7F6E\u306B\u8868\u793A\u3055\u308C\u308B\u305F\u3081 */\n margin-right: ", "px;\n padding-right: ", "px;\n /* NOTE: mask-position \u306B transition \u3092\u3064\u3051\u305F\u3044\u304C vender prefixes \u5BFE\u7B56\u3067 all \u306B\u3064\u3051\u308B */\n transition: 0.2s all ease-in;\n mask: linear-gradient(to right, transparent, #000 ", "px)\n ", "px 0;\n"])), -GRADIENT_WIDTH, GRADIENT_WIDTH, GRADIENT_WIDTH, function (p) {
1498
- return p.show ? 0 : -GRADIENT_WIDTH;
1499
- });
1500
-
1501
- var _templateObject$2;
1502
-
1503
- function DotsIcon(_ref) {
1504
- var size = _ref.size;
1505
- return /*#__PURE__*/React.createElement(StyledSVG, {
1506
- viewBox: "0 0 20 6",
1507
- width: size,
1508
- height: size
1509
- }, /*#__PURE__*/React.createElement("path", {
1510
- fillRule: "evenodd",
1511
- d: "M5,14.5 C3.61928813,14.5 2.5,13.3807119 2.5,12 C2.5,10.6192881 3.61928813,9.5 5,9.5\n C6.38071187,9.5 7.5,10.6192881 7.5,12 C7.5,13.3807119 6.38071187,14.5 5,14.5 Z M12,14.5\n C10.6192881,14.5 9.5,13.3807119 9.5,12 C9.5,10.6192881 10.6192881,9.5 12,9.5\n C13.3807119,9.5 14.5,10.6192881 14.5,12 C14.5,13.3807119 13.3807119,14.5 12,14.5 Z M19,14.5\n C17.6192881,14.5 16.5,13.3807119 16.5,12 C16.5,10.6192881 17.6192881,9.5 19,9.5\n C20.3807119,9.5 21.5,10.6192881 21.5,12 C21.5,13.3807119 20.3807119,14.5 19,14.5 Z",
1512
- transform: "translate(-2 -9)"
1513
- }));
1514
- }
1515
-
1516
- DotsIcon.defaultProps = {
1517
- size: 16
1518
- };
1519
- var StyledSVG = styled.svg(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteralLoose(["\n fill: currentColor;\n"])));
1520
-
1521
- var _templateObject$1;
1522
- var WedgeDirection;
1523
-
1524
- (function (WedgeDirection) {
1525
- WedgeDirection["Up"] = "up";
1526
- WedgeDirection["Down"] = "down";
1527
- WedgeDirection["Left"] = "left";
1528
- WedgeDirection["Right"] = "right";
1529
- })(WedgeDirection || (WedgeDirection = {}));
1530
-
1531
- function WedgeIcon(_ref) {
1532
- var size = _ref.size,
1533
- direction = _ref.direction;
1534
- return (
1535
- /*#__PURE__*/
1536
- // NOTE: directionToTransform depends on the value of viewBox
1537
- React.createElement("svg", {
1538
- viewBox: "0 0 10 8",
1539
- width: size,
1540
- height: size
1541
- }, /*#__PURE__*/React.createElement(StyledPolyline, {
1542
- strokeWidth: "2",
1543
- points: "1,2 5,6 9,2",
1544
- transform: directionToTransform(direction)
1545
- }))
1546
- );
1547
- }
1548
- WedgeIcon.defaultProps = {
1549
- size: 16,
1550
- white: false,
1551
- lightGray: false
1552
- };
1553
-
1554
- function directionToTransform(direction) {
1555
- // "5 4" is the center point of the "0 0 10 8" viewBox
1556
- switch (direction) {
1557
- case WedgeDirection.Up:
1558
- return 'rotate(180 5 4)';
1559
-
1560
- case WedgeDirection.Down:
1561
- return undefined;
1562
-
1563
- case WedgeDirection.Left:
1564
- return 'rotate(90 5 4)';
1565
-
1566
- case WedgeDirection.Right:
1567
- return 'rotate(-90 5 4)';
1568
-
1569
- default:
1570
- return unreachable(direction);
1571
- }
1572
- }
1573
-
1574
- var StyledPolyline = styled.polyline(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteralLoose(["\n fill: none;\n stroke-linejoin: round;\n stroke-linecap: round;\n stroke: currentColor;\n"])));
1575
-
1576
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
1577
-
1578
- function usePagerWindow(page, pageCount, windowSize) {
1579
- if (windowSize === void 0) {
1580
- windowSize = 7;
1581
- }
1582
-
1583
- // ページャーのリンク生成例:
1584
- //
1585
- // < [ 1 ] [*2*] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] >
1586
- //
1587
- // < [ 1 ] [ 2 ] [ 3 ] [*4*] [ 5 ] [ 6 ] [ 7 ] >
1588
- //
1589
- // < [ 1 ] ... [ 4 ] [*5*] [ 6 ] [ 7 ] [ 8 ] >
1590
- //
1591
- // < [ 1 ] ... [ 99 ] [*100*] [ 101 ] [ 102 ] [ 103 ] >
1592
- //
1593
- // < [ 1 ] ... [ 99 ] [ 100 ] [ 101 ] [ 102 ] [*103*]
1594
- //
1595
- // [*1*] [ 2 ] >
1596
- //
1597
- // デザインの意図: 前後移動時のカーソル移動を最小限にする。
1598
- if (process.env.NODE_ENV !== 'production') {
1599
- warning((page | 0) === page, "`page` must be interger (" + page + ")");
1600
- warning((pageCount | 0) === pageCount, "`pageCount` must be interger (" + pageCount + ")");
1601
- }
1602
-
1603
- var window = useMemo(function () {
1604
- var visibleFirstPage = 1;
1605
- var visibleLastPage = Math.min(pageCount, Math.max(page + Math.floor(windowSize / 2), windowSize));
1606
-
1607
- if (visibleLastPage <= windowSize) {
1608
- // 表示範囲が1-7ページなら省略は無い。
1609
- return Array.from({
1610
- length: 1 + visibleLastPage - visibleFirstPage
1611
- }, function (_, i) {
1612
- return visibleFirstPage + i;
1613
- });
1614
- } else {
1615
- var start = visibleLastPage - (windowSize - 1) + 2;
1616
- return [// 表示範囲が1-7ページを超えるなら、
1617
- // - 1ページ目は固定で表示する
1618
- visibleFirstPage, // - 2ページ目から現在のページの直前までは省略する
1619
- '...'].concat(Array.from({
1620
- length: 1 + visibleLastPage - start
1621
- }, function (_, i) {
1622
- return start + i;
1623
- }));
1624
- }
1625
- }, [page, pageCount, windowSize]);
1626
- useDebugValue(window);
1627
- return window;
1628
- } // this pager is just regular buttons; for links use LinkPager
1629
-
1630
-
1631
- var index = React.memo(function Pager(_ref) {
1632
- var page = _ref.page,
1633
- pageCount = _ref.pageCount,
1634
- onChange = _ref.onChange;
1635
- // TODO: refactor Pager and LinkPager to use a common parent component
1636
- var window = usePagerWindow(page, pageCount);
1637
- var makeClickHandler = useCallback(function (value) {
1638
- return function () {
1639
- onChange(value);
1640
- };
1641
- }, [onChange]);
1642
- var hasNext = page < pageCount;
1643
- var hasPrev = page > 1;
1644
- return /*#__PURE__*/React.createElement(PagerContainer, null, /*#__PURE__*/React.createElement(CircleButton, {
1645
- type: "button",
1646
- hidden: !hasPrev,
1647
- disabled: !hasPrev,
1648
- onClick: makeClickHandler(Math.max(1, page - 1)),
1649
- noBackground: true
1650
- }, /*#__PURE__*/React.createElement(WedgeIcon, {
1651
- size: 16,
1652
- direction: WedgeDirection.Left
1653
- })), window.map(function (p) {
1654
- return p === '...' ? /*#__PURE__*/React.createElement(Spacer, {
1655
- key: p
1656
- }, /*#__PURE__*/React.createElement(DotsIcon, {
1657
- size: 20
1658
- })) : p === page ?
1659
- /*#__PURE__*/
1660
- // we remove the onClick but don't mark it as disabled to preserve keyboard focus
1661
- // not doing so causes the focus ring to flicker in and out of existence
1662
- React.createElement(CircleButton, {
1663
- key: p,
1664
- type: "button",
1665
- "aria-current": true
1666
- }, /*#__PURE__*/React.createElement(Text, null, p)) : /*#__PURE__*/React.createElement(CircleButton, {
1667
- key: p,
1668
- type: "button",
1669
- onClick: makeClickHandler(p)
1670
- }, /*#__PURE__*/React.createElement(Text, null, p));
1671
- }), /*#__PURE__*/React.createElement(CircleButton, {
1672
- type: "button",
1673
- hidden: !hasNext,
1674
- disabled: !hasNext,
1675
- onClick: makeClickHandler(Math.min(pageCount, page + 1)),
1676
- noBackground: true
1677
- }, /*#__PURE__*/React.createElement(WedgeIcon, {
1678
- size: 16,
1679
- direction: WedgeDirection.Right
1680
- })));
1681
- });
1682
- function LinkPager(_ref2) {
1683
- var page = _ref2.page,
1684
- pageCount = _ref2.pageCount,
1685
- makeUrl = _ref2.makeUrl;
1686
-
1687
- var _useComponentAbstract = useComponentAbstraction(),
1688
- Link = _useComponentAbstract.Link;
1689
-
1690
- var window = usePagerWindow(page, pageCount);
1691
- var hasNext = page < pageCount;
1692
- var hasPrev = page > 1;
1693
- return /*#__PURE__*/React.createElement(PagerContainer, null, /*#__PURE__*/React.createElement(Link, {
1694
- to: makeUrl(Math.max(1, page - 1))
1695
- }, /*#__PURE__*/React.createElement(CircleButton, {
1696
- hidden: !hasPrev,
1697
- "aria-disabled": !hasPrev,
1698
- noBackground: true
1699
- }, /*#__PURE__*/React.createElement(WedgeIcon, {
1700
- size: 16,
1701
- direction: WedgeDirection.Left
1702
- }))), window.map(function (p) {
1703
- return p === '...' ? /*#__PURE__*/React.createElement(Spacer, {
1704
- key: p
1705
- }, /*#__PURE__*/React.createElement(DotsIcon, {
1706
- size: 20,
1707
- subLink: true
1708
- })) : p === page ? /*#__PURE__*/React.createElement(CircleButton, {
1709
- key: p,
1710
- type: "button",
1711
- "aria-current": true
1712
- }, /*#__PURE__*/React.createElement(Text, null, p)) : /*#__PURE__*/React.createElement(Link, {
1713
- key: p,
1714
- to: makeUrl(p)
1715
- }, /*#__PURE__*/React.createElement(CircleButton, {
1716
- type: "button"
1717
- }, /*#__PURE__*/React.createElement(Text, null, p)));
1718
- }), /*#__PURE__*/React.createElement(Link, {
1719
- to: makeUrl(Math.min(pageCount, page + 1))
1720
- }, /*#__PURE__*/React.createElement(CircleButton, {
1721
- hidden: !hasNext,
1722
- "aria-disabled": !hasNext,
1723
- noBackground: true
1724
- }, /*#__PURE__*/React.createElement(WedgeIcon, {
1725
- size: 16,
1726
- direction: WedgeDirection.Right
1727
- }))));
1728
- }
1729
- var PagerContainer = styled.nav(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n align-items: center;\n"])));
1730
- var CircleButton = styled.button(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n font-size: 1rem;\n line-height: calc(1em + 8px);\n text-decoration: none;\n border: none;\n outline: none;\n touch-action: manipulation;\n user-select: none;\n transition: box-shadow 0.2s ease 0s, color 0.2s ease 0s,\n background 0.2s ease 0s, opacity 0.2s ease 0s;\n\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: content-box;\n min-width: 24px;\n min-height: 24px;\n padding: 8px;\n cursor: pointer;\n font-weight: bold;\n /* HACK:\n * Safari doesn't correctly repaint the elements when they're reordered in response to interaction.\n * This forces it to repaint them. This doesn't work if put on the parents either, has to be here.\n */\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -webkit-transform: translateZ(0);\n\n &[hidden] {\n visibility: hidden;\n display: block;\n }\n\n border-radius: 48px;\n\n background: transparent;\n color: ", ";\n\n &:hover {\n background: ", ";\n color: ", ";\n }\n\n &[aria-current] {\n background-color: ", ";\n color: ", ";\n }\n\n &[aria-current]:hover {\n background-color: ", ";\n color: ", ";\n }\n\n ", "\n"])), function (_ref3) {
1731
- var theme = _ref3.theme;
1732
- return theme.color.text3;
1733
- }, function (_ref4) {
1734
- var theme = _ref4.theme;
1735
- return theme.color.surface3;
1736
- }, function (_ref5) {
1737
- var theme = _ref5.theme;
1738
- return theme.color.text2;
1739
- }, function (_ref6) {
1740
- var theme = _ref6.theme;
1741
- return theme.color.surface6;
1742
- }, function (_ref7) {
1743
- var theme = _ref7.theme;
1744
- return theme.color.text5;
1745
- }, function (_ref8) {
1746
- var theme = _ref8.theme;
1747
- return theme.color.surface6;
1748
- }, function (_ref9) {
1749
- var theme = _ref9.theme;
1750
- return theme.color.text5;
1751
- }, function (_ref10) {
1752
- var _ref10$noBackground = _ref10.noBackground,
1753
- noBackground = _ref10$noBackground === void 0 ? false : _ref10$noBackground;
1754
- return noBackground && css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n /* stylelint-disable-next-line no-duplicate-selectors */\n &:hover {\n background: transparent;\n }\n "])));
1755
- });
1756
- var Spacer = styled(CircleButton).attrs({
1757
- type: 'button',
1758
- disabled: true
1759
- })(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n && {\n color: ", ";\n background: none;\n }\n"])), function (_ref11) {
1760
- var theme = _ref11.theme;
1761
- return theme.color.text3;
1762
- });
1763
- var Text = 'span';
1764
-
1765
- export { CancelLayoutItemBodyPadding, Carousel, Filter, FilterButton, FilterIconButton, FilterLink, HintText, LAYOUT_ITEM_BODY_PADDING, Layout, LayoutItem, LayoutItemBody, LayoutItemHeader, LeftMenu, LeftMenuContent, LinkPager, MAIN_COLUMN_HORIZONTAL_MIN_MARGIN, MenuListItem, MenuListItemContext, MenuListItemWithIcon, MenuListLabel, MenuListLinkItem, MenuListLinkItemWithIcon, MenuListSpacer, index as Pager, RESPONSIVE_LEFT_WIDTH, RESPONSIVE_MAIN_MAX_WIDTH, StyledCancelLayoutItemBodyPadding, StyledLayoutItemBody, index$2 as SwitchCheckbox, TextEllipsis, index$1 as WithIcon, useElementSize, useLayoutItemBodyPadding, useMedia, useMediaScreen1 };
1766
- //# sourceMappingURL=index.module.js.map