@mirai/ui 1.1.0-f → 1.1.1
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/README.md +109 -60
- package/build/components/Action/Action.js +1 -1
- package/build/components/Action/Action.js.map +1 -1
- package/build/components/Action/Action.module.css +4 -7
- package/build/components/Action/Action.stories.js +1 -1
- package/build/components/Action/Action.stories.js.map +1 -1
- package/build/components/Action/__tests__/__snapshots__/Action.test.js.snap +26 -40
- package/build/components/Button/Button.module.css +30 -33
- package/build/components/Button/Button.stories.js +9 -0
- package/build/components/Button/Button.stories.js.map +1 -1
- package/build/components/Button/__tests__/__snapshots__/Button.test.js.snap +21 -30
- package/build/components/Calendar/Calendar.Month.js +12 -8
- package/build/components/Calendar/Calendar.Month.js.map +1 -1
- package/build/components/Calendar/Calendar.Week.js +7 -10
- package/build/components/Calendar/Calendar.Week.js.map +1 -1
- package/build/components/Calendar/Calendar.js +10 -2
- package/build/components/Calendar/Calendar.js.map +1 -1
- package/build/components/Calendar/Calendar.module.css +8 -9
- package/build/components/Calendar/__tests__/__snapshots__/Calendar.test.jsx.snap +15768 -15800
- package/build/components/Form/Form.constants.js +1 -1
- package/build/components/Form/Form.constants.js.map +1 -1
- package/build/components/Form/Form.js +3 -1
- package/build/components/Form/Form.js.map +1 -1
- package/build/components/Form/Form.stories.js +6 -1
- package/build/components/Form/Form.stories.js.map +1 -1
- package/build/components/Form/__tests__/__snapshots__/Form.test.jsx.snap +9 -9
- package/build/components/InputDate/__tests__/__snapshots__/InputDate.test.js.snap +42 -42
- package/build/components/InputNumber/InputNumber.js +2 -1
- package/build/components/InputNumber/InputNumber.js.map +1 -1
- package/build/components/InputNumber/__tests__/__snapshots__/InputNumber.test.js.snap +138 -153
- package/build/components/InputOption/InputOption.js +8 -1
- package/build/components/InputOption/InputOption.js.map +1 -1
- package/build/components/InputOption/InputOption.module.css +13 -2
- package/build/components/InputOption/InputOption.stories.js +2 -1
- package/build/components/InputOption/InputOption.stories.js.map +1 -1
- package/build/components/InputOption/__tests__/__snapshots__/InputOption.test.js.snap +96 -90
- package/build/components/InputPhone/InputPhone.js +23 -20
- package/build/components/InputPhone/InputPhone.js.map +1 -1
- package/build/components/InputPhone/InputPhone.module.css +19 -6
- package/build/components/InputPhone/InputPhone.stories.js +3 -3
- package/build/components/InputPhone/InputPhone.stories.js.map +1 -1
- package/build/components/InputPhone/__tests__/__snapshots__/InputPhone.test.js.snap +410 -410
- package/build/components/InputPhone/helpers/index.js +11 -0
- package/build/components/InputPhone/helpers/index.js.map +1 -1
- package/build/components/InputPhone/helpers/sanitizePrefixes.js +24 -0
- package/build/components/InputPhone/helpers/sanitizePrefixes.js.map +1 -0
- package/build/components/InputSelect/InputSelect.js +3 -5
- package/build/components/InputSelect/InputSelect.js.map +1 -1
- package/build/components/InputSelect/InputSelect.stories.js +1 -0
- package/build/components/InputSelect/InputSelect.stories.js.map +1 -1
- package/build/components/InputSelect/__tests__/__snapshots__/InputSelect.test.js.snap +136 -136
- package/build/components/InputSelect/partials/InputSelect.Expand.js +23 -0
- package/build/components/InputSelect/partials/InputSelect.Expand.js.map +1 -0
- package/build/components/InputSelect/partials/index.js +17 -0
- package/build/components/InputSelect/partials/index.js.map +1 -0
- package/build/components/InputText/InputText.js +6 -4
- package/build/components/InputText/InputText.js.map +1 -1
- package/build/components/InputText/InputText.module.css +18 -6
- package/build/components/InputText/InputText.stories.js +7 -2
- package/build/components/InputText/InputText.stories.js.map +1 -1
- package/build/components/InputText/__tests__/__snapshots__/InputText.test.js.snap +142 -143
- package/build/components/Menu/__tests__/__snapshots__/Menu.test.jsx.snap +72 -70
- package/build/components/Modal/Modal.js +15 -8
- package/build/components/Modal/Modal.js.map +1 -1
- package/build/components/Modal/Modal.module.css +30 -14
- package/build/components/Modal/Modal.stories.js +1 -0
- package/build/components/Modal/Modal.stories.js.map +1 -1
- package/build/components/Modal/__tests__/__snapshots__/Modal.test.js.snap +92 -98
- package/build/components/Notification/Notification.js +20 -12
- package/build/components/Notification/Notification.js.map +1 -1
- package/build/components/Notification/Notification.module.css +44 -58
- package/build/components/Notification/Notification.stories.js +15 -2
- package/build/components/Notification/Notification.stories.js.map +1 -1
- package/build/components/Notification/__tests__/__snapshots__/Notification.test.js.snap +600 -254
- package/build/components/Progress/Progress.js +2 -0
- package/build/components/Progress/Progress.js.map +1 -1
- package/build/components/Progress/__tests__/__snapshots__/Progress.test.jsx.snap +18 -18
- package/build/components/Slider/Slider.constants.js +3 -1
- package/build/components/Slider/Slider.constants.js.map +1 -1
- package/build/components/Slider/Slider.js +67 -66
- package/build/components/Slider/Slider.js.map +1 -1
- package/build/components/Slider/Slider.module.css +55 -52
- package/build/components/Slider/Slider.stories.js +9 -6
- package/build/components/Slider/Slider.stories.js.map +1 -1
- package/build/components/Slider/__tests__/__snapshots__/Slider.test.js.snap +714 -333
- package/build/components/Table/Table.ColumnFilter.js +17 -14
- package/build/components/Table/Table.ColumnFilter.js.map +1 -1
- package/build/components/Table/Table.Row.js +2 -1
- package/build/components/Table/Table.Row.js.map +1 -1
- package/build/components/Table/Table.constants.js +3 -1
- package/build/components/Table/Table.constants.js.map +1 -1
- package/build/components/Table/Table.js +54 -17
- package/build/components/Table/Table.js.map +1 -1
- package/build/components/Table/Table.module.css +12 -6
- package/build/components/Table/Table.stories.js +39 -19
- package/build/components/Table/Table.stories.js.map +1 -1
- package/build/components/Table/Table.stories.module.css +4 -5
- package/build/components/Table/__tests__/__snapshots__/Table.ColumnFilter.test.js.snap +221 -240
- package/build/components/Table/__tests__/__snapshots__/Table.test.js.snap +1725 -1085
- package/build/components/Table/helpers/exists.js +2 -3
- package/build/components/Table/helpers/exists.js.map +1 -1
- package/build/components/Table/helpers/select.js +24 -16
- package/build/components/Table/helpers/select.js.map +1 -1
- package/build/components/Tooltip/Tooltip.js +29 -6
- package/build/components/Tooltip/Tooltip.js.map +1 -1
- package/build/components/Tooltip/__tests__/__snapshots__/Tooltip.test.jsx.snap +51 -44
- package/build/components/index.js +11 -0
- package/build/components/index.js.map +1 -1
- package/build/helpers/getInputPhoneErrors.js +3 -2
- package/build/helpers/getInputPhoneErrors.js.map +1 -1
- package/build/hooks/useDevice.js +1 -1
- package/build/hooks/useDevice.js.map +1 -1
- package/build/primitives/Checkbox/Checkbox.js +4 -3
- package/build/primitives/Checkbox/Checkbox.js.map +1 -1
- package/build/primitives/Checkbox/Checkbox.module.css +42 -6
- package/build/primitives/Checkbox/__tests__/__snapshots__/Checkbox.test.js.snap +47 -16
- package/build/primitives/Icon/Icon.constants.js +43 -21
- package/build/primitives/Icon/Icon.constants.js.map +1 -1
- package/build/primitives/Icon/Icon.js +15 -5
- package/build/primitives/Icon/Icon.js.map +1 -1
- package/build/primitives/Icon/Icon.module.css +32 -19
- package/build/primitives/Icon/Icon.stories.js +5 -0
- package/build/primitives/Icon/Icon.stories.js.map +1 -1
- package/build/primitives/Icon/__tests__/__snapshots__/Icon.test.js.snap +291 -100
- package/build/primitives/Input/Input.js +9 -3
- package/build/primitives/Input/Input.js.map +1 -1
- package/build/primitives/Input/Input.stories.js +2 -0
- package/build/primitives/Input/Input.stories.js.map +1 -1
- package/build/primitives/Input/__tests__/__snapshots__/Input.test.js.snap +22 -0
- package/build/primitives/Layer/Layer.js +11 -5
- package/build/primitives/Layer/Layer.js.map +1 -1
- package/build/primitives/Layer/Layer.module.css +4 -0
- package/build/primitives/Layer/__tests__/__snapshots__/Layer.test.js.snap +78 -42
- package/build/primitives/Layer/helpers/index.js +11 -0
- package/build/primitives/Layer/helpers/index.js.map +1 -1
- package/build/primitives/Layer/helpers/isComponentFixed.js +32 -0
- package/build/primitives/Layer/helpers/isComponentFixed.js.map +1 -0
- package/build/primitives/Pressable/Pressable.constants.js +1 -1
- package/build/primitives/Pressable/Pressable.constants.js.map +1 -1
- package/build/primitives/Pressable/Pressable.js +3 -7
- package/build/primitives/Pressable/Pressable.js.map +1 -1
- package/build/primitives/Pressable/Pressable.module.css +0 -1
- package/build/primitives/Pressable/__tests__/__snapshots__/Pressable.test.js.snap +10 -14
- package/build/primitives/Primitive/Primitive.js +2 -2
- package/build/primitives/Primitive/Primitive.js.map +1 -1
- package/build/primitives/Primitive/__tests__/__snapshots__/Primitive.test.js.snap +7 -7
- package/build/primitives/Primitive/helpers/index.js +0 -11
- package/build/primitives/Primitive/helpers/index.js.map +1 -1
- package/build/primitives/Radio/Radio.js +1 -1
- package/build/primitives/Radio/Radio.js.map +1 -1
- package/build/primitives/Radio/Radio.module.css +18 -2
- package/build/primitives/Radio/__tests__/__snapshots__/Radio.test.js.snap +21 -21
- package/build/primitives/ScrollView/ScrollView.js +1 -1
- package/build/primitives/ScrollView/ScrollView.js.map +1 -1
- package/build/primitives/ScrollView/ScrollView.module.css +1 -0
- package/build/primitives/ScrollView/ScrollView.stories.js +5 -6
- package/build/primitives/ScrollView/ScrollView.stories.js.map +1 -1
- package/build/primitives/ScrollView/__tests__/__snapshots__/ScrollView.test.js.snap +20 -20
- package/build/primitives/Select/Select.js +13 -6
- package/build/primitives/Select/Select.js.map +1 -1
- package/build/primitives/Select/Select.stories.js +1 -0
- package/build/primitives/Select/Select.stories.js.map +1 -1
- package/build/primitives/Select/__tests__/__snapshots__/Select.test.js.snap +36 -0
- package/build/primitives/Switch/Switch.js +5 -3
- package/build/primitives/Switch/Switch.js.map +1 -1
- package/build/primitives/Switch/Switch.module.css +36 -8
- package/build/primitives/Switch/Switch.stories.js +1 -0
- package/build/primitives/Switch/Switch.stories.js.map +1 -1
- package/build/primitives/Switch/__tests__/__snapshots__/Switch.test.js.snap +88 -25
- package/build/primitives/Text/Text.js +12 -5
- package/build/primitives/Text/Text.js.map +1 -1
- package/build/primitives/Text/Text.module.css +29 -14
- package/build/primitives/Text/Text.stories.js +4 -0
- package/build/primitives/Text/Text.stories.js.map +1 -1
- package/build/primitives/Text/__tests__/__snapshots__/Text.test.js.snap +78 -38
- package/build/primitives/View/View.js +1 -1
- package/build/primitives/View/View.js.map +1 -1
- package/build/primitives/View/__tests__/__snapshots__/View.test.js.snap +10 -10
- package/build/theme/default.theme.css +54 -53
- package/build/theme/theme.constants.js +3 -1
- package/build/theme/theme.constants.js.map +1 -1
- package/build/theme/theme.js +34 -11
- package/build/theme/theme.js.map +1 -1
- package/package.json +4 -5
- package/build/primitives/Primitive/helpers/getTag.js +0 -33
- package/build/primitives/Primitive/helpers/getTag.js.map +0 -1
|
@@ -26,6 +26,7 @@ var Progress = function Progress(_ref) {
|
|
|
26
26
|
role: others.role || 'progress',
|
|
27
27
|
className: (0, _helpers.styles)(_ProgressModule.default.progress, visible && _ProgressModule.default.visible, others.className)
|
|
28
28
|
}), /*#__PURE__*/_react.default.createElement(_primitives.View, {
|
|
29
|
+
role: "progress-value",
|
|
29
30
|
className: (0, _helpers.styles)(_ProgressModule.default.value, indeterminate && _ProgressModule.default.indeterminate),
|
|
30
31
|
style: !indeterminate ? {
|
|
31
32
|
width: "".concat(value, "%")
|
|
@@ -33,6 +34,7 @@ var Progress = function Progress(_ref) {
|
|
|
33
34
|
}));
|
|
34
35
|
};
|
|
35
36
|
exports.Progress = Progress;
|
|
37
|
+
Progress.displayName = 'Component:Progress';
|
|
36
38
|
Progress.propTypes = {
|
|
37
39
|
indeterminate: _propTypes.default.bool,
|
|
38
40
|
value: _propTypes.default.number,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Progress.js","names":["Progress","indeterminate","value","visible","others","role","styles","style","progress","className","width","undefined","propTypes","PropTypes","bool","number"],"sources":["../../../src/components/Progress/Progress.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { View } from '../../primitives';\nimport style from './Progress.module.css';\n\nconst Progress = ({ indeterminate = false, value = 0, visible = false, ...others }) => (\n <View\n {...others}\n role={others.role || 'progress'}\n className={styles(style.progress, visible && style.visible, others.className)}\n >\n <View\n className={styles(style.value, indeterminate && style.indeterminate)}\n style={!indeterminate ? { width: `${value}%` } : undefined}\n />\n </View>\n);\n\nProgress.propTypes = {\n indeterminate: PropTypes.bool,\n value: PropTypes.number,\n visible: PropTypes.bool,\n};\n\nexport { Progress };\n"],"mappings":";;;;;;AAAA;AACA;AAEA;AACA;AACA;AAA0C;AAAA;AAAA;AAAA;AAAA;AAE1C,IAAMA,QAAQ,GAAG,SAAXA,QAAQ;EAAA,8BAAMC,aAAa;IAAbA,aAAa,mCAAG,KAAK;IAAA,kBAAEC,KAAK;IAALA,KAAK,2BAAG,CAAC;IAAA,oBAAEC,OAAO;IAAPA,OAAO,6BAAG,KAAK;IAAKC,MAAM;EAAA,oBAC9E,6BAAC,gBAAI,eACCA,MAAM;IACV,IAAI,EAAEA,MAAM,CAACC,IAAI,IAAI,UAAW;IAChC,SAAS,EAAE,IAAAC,eAAM,EAACC,uBAAK,CAACC,QAAQ,EAAEL,OAAO,IAAII,uBAAK,CAACJ,OAAO,EAAEC,MAAM,CAACK,SAAS;EAAE,iBAE9E,6BAAC,gBAAI;IACH,SAAS,EAAE,IAAAH,eAAM,EAACC,uBAAK,CAACL,KAAK,EAAED,aAAa,IAAIM,uBAAK,CAACN,aAAa,CAAE;IACrE,KAAK,EAAE,CAACA,aAAa,GAAG;MAAES,KAAK,YAAKR,KAAK;IAAI,CAAC,GAAGS;EAAU,EAC3D,CACG;AAAA,CACR;AAAC;AAEFX,QAAQ,CAACY,SAAS,GAAG;
|
|
1
|
+
{"version":3,"file":"Progress.js","names":["Progress","indeterminate","value","visible","others","role","styles","style","progress","className","width","undefined","displayName","propTypes","PropTypes","bool","number"],"sources":["../../../src/components/Progress/Progress.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { View } from '../../primitives';\nimport style from './Progress.module.css';\n\nconst Progress = ({ indeterminate = false, value = 0, visible = false, ...others }) => (\n <View\n {...others}\n role={others.role || 'progress'}\n className={styles(style.progress, visible && style.visible, others.className)}\n >\n <View\n role=\"progress-value\"\n className={styles(style.value, indeterminate && style.indeterminate)}\n style={!indeterminate ? { width: `${value}%` } : undefined}\n />\n </View>\n);\n\nProgress.displayName = 'Component:Progress';\n\nProgress.propTypes = {\n indeterminate: PropTypes.bool,\n value: PropTypes.number,\n visible: PropTypes.bool,\n};\n\nexport { Progress };\n"],"mappings":";;;;;;AAAA;AACA;AAEA;AACA;AACA;AAA0C;AAAA;AAAA;AAAA;AAAA;AAE1C,IAAMA,QAAQ,GAAG,SAAXA,QAAQ;EAAA,8BAAMC,aAAa;IAAbA,aAAa,mCAAG,KAAK;IAAA,kBAAEC,KAAK;IAALA,KAAK,2BAAG,CAAC;IAAA,oBAAEC,OAAO;IAAPA,OAAO,6BAAG,KAAK;IAAKC,MAAM;EAAA,oBAC9E,6BAAC,gBAAI,eACCA,MAAM;IACV,IAAI,EAAEA,MAAM,CAACC,IAAI,IAAI,UAAW;IAChC,SAAS,EAAE,IAAAC,eAAM,EAACC,uBAAK,CAACC,QAAQ,EAAEL,OAAO,IAAII,uBAAK,CAACJ,OAAO,EAAEC,MAAM,CAACK,SAAS;EAAE,iBAE9E,6BAAC,gBAAI;IACH,IAAI,EAAC,gBAAgB;IACrB,SAAS,EAAE,IAAAH,eAAM,EAACC,uBAAK,CAACL,KAAK,EAAED,aAAa,IAAIM,uBAAK,CAACN,aAAa,CAAE;IACrE,KAAK,EAAE,CAACA,aAAa,GAAG;MAAES,KAAK,YAAKR,KAAK;IAAI,CAAC,GAAGS;EAAU,EAC3D,CACG;AAAA,CACR;AAAC;AAEFX,QAAQ,CAACY,WAAW,GAAG,oBAAoB;AAE3CZ,QAAQ,CAACa,SAAS,GAAG;EACnBZ,aAAa,EAAEa,kBAAS,CAACC,IAAI;EAC7Bb,KAAK,EAAEY,kBAAS,CAACE,MAAM;EACvBb,OAAO,EAAEW,kBAAS,CAACC;AACrB,CAAC"}
|
|
@@ -2,78 +2,78 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`component:<Progress> inherit:className 1`] = `
|
|
4
4
|
<DocumentFragment>
|
|
5
|
-
<
|
|
5
|
+
<div
|
|
6
6
|
class="view progress mirai"
|
|
7
7
|
>
|
|
8
|
-
<
|
|
8
|
+
<div
|
|
9
9
|
class="view value"
|
|
10
10
|
style="width: 0%;"
|
|
11
11
|
/>
|
|
12
|
-
</
|
|
12
|
+
</div>
|
|
13
13
|
</DocumentFragment>
|
|
14
14
|
`;
|
|
15
15
|
|
|
16
16
|
exports[`component:<Progress> prop:indeterminate 1`] = `
|
|
17
17
|
<DocumentFragment>
|
|
18
|
-
<
|
|
18
|
+
<div
|
|
19
19
|
class="view progress"
|
|
20
20
|
>
|
|
21
|
-
<
|
|
21
|
+
<div
|
|
22
22
|
class="view value indeterminate"
|
|
23
23
|
/>
|
|
24
|
-
</
|
|
24
|
+
</div>
|
|
25
25
|
</DocumentFragment>
|
|
26
26
|
`;
|
|
27
27
|
|
|
28
28
|
exports[`component:<Progress> prop:value 1`] = `
|
|
29
29
|
<DocumentFragment>
|
|
30
|
-
<
|
|
30
|
+
<div
|
|
31
31
|
class="view progress"
|
|
32
32
|
>
|
|
33
|
-
<
|
|
33
|
+
<div
|
|
34
34
|
class="view value"
|
|
35
35
|
style="width: 50%;"
|
|
36
36
|
/>
|
|
37
|
-
</
|
|
37
|
+
</div>
|
|
38
38
|
</DocumentFragment>
|
|
39
39
|
`;
|
|
40
40
|
|
|
41
41
|
exports[`component:<Progress> prop:visible 1`] = `
|
|
42
42
|
<DocumentFragment>
|
|
43
|
-
<
|
|
43
|
+
<div
|
|
44
44
|
class="view progress visible"
|
|
45
45
|
>
|
|
46
|
-
<
|
|
46
|
+
<div
|
|
47
47
|
class="view value"
|
|
48
48
|
style="width: 50%;"
|
|
49
49
|
/>
|
|
50
|
-
</
|
|
50
|
+
</div>
|
|
51
51
|
</DocumentFragment>
|
|
52
52
|
`;
|
|
53
53
|
|
|
54
54
|
exports[`component:<Progress> renders 1`] = `
|
|
55
55
|
<DocumentFragment>
|
|
56
|
-
<
|
|
56
|
+
<div
|
|
57
57
|
class="view progress"
|
|
58
58
|
>
|
|
59
|
-
<
|
|
59
|
+
<div
|
|
60
60
|
class="view value"
|
|
61
61
|
style="width: 0%;"
|
|
62
62
|
/>
|
|
63
|
-
</
|
|
63
|
+
</div>
|
|
64
64
|
</DocumentFragment>
|
|
65
65
|
`;
|
|
66
66
|
|
|
67
67
|
exports[`component:<Progress> testId 1`] = `
|
|
68
68
|
<DocumentFragment>
|
|
69
|
-
<
|
|
69
|
+
<div
|
|
70
70
|
class="view progress"
|
|
71
71
|
data-testid="mirai"
|
|
72
72
|
>
|
|
73
|
-
<
|
|
73
|
+
<div
|
|
74
74
|
class="view value"
|
|
75
75
|
style="width: 0%;"
|
|
76
76
|
/>
|
|
77
|
-
</
|
|
77
|
+
</div>
|
|
78
78
|
</DocumentFragment>
|
|
79
79
|
`;
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.PRELOAD_IMAGES = void 0;
|
|
6
|
+
exports.SCROLL_DELAY = exports.PRELOAD_IMAGES = void 0;
|
|
7
7
|
var PRELOAD_IMAGES = 2;
|
|
8
8
|
exports.PRELOAD_IMAGES = PRELOAD_IMAGES;
|
|
9
|
+
var SCROLL_DELAY = 1000;
|
|
10
|
+
exports.SCROLL_DELAY = SCROLL_DELAY;
|
|
9
11
|
//# sourceMappingURL=Slider.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.constants.js","names":["PRELOAD_IMAGES"],"sources":["../../../src/components/Slider/Slider.constants.js"],"sourcesContent":["const PRELOAD_IMAGES = 2;\n\nexport { PRELOAD_IMAGES };\n"],"mappings":";;;;;;AAAA,IAAMA,cAAc,GAAG,CAAC;AAAC"}
|
|
1
|
+
{"version":3,"file":"Slider.constants.js","names":["PRELOAD_IMAGES","SCROLL_DELAY"],"sources":["../../../src/components/Slider/Slider.constants.js"],"sourcesContent":["const PRELOAD_IMAGES = 2;\n\nconst SCROLL_DELAY = 1000;\n\nexport { PRELOAD_IMAGES, SCROLL_DELAY };\n"],"mappings":";;;;;;AAAA,IAAMA,cAAc,GAAG,CAAC;AAAC;AAEzB,IAAMC,YAAY,GAAG,IAAI;AAAC"}
|
|
@@ -10,10 +10,11 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
var _helpers = require("../../helpers");
|
|
11
11
|
var _hooks = require("../../hooks");
|
|
12
12
|
var _primitives = require("../../primitives");
|
|
13
|
-
var
|
|
13
|
+
var _theme = require("../../theme");
|
|
14
|
+
var _Progress = require("../Progress");
|
|
14
15
|
var _Slider = require("./Slider.constants");
|
|
15
16
|
var _SliderModule = _interopRequireDefault(require("./Slider.module.css"));
|
|
16
|
-
var _excluded = ["auto", "
|
|
17
|
+
var _excluded = ["auto", "behavior", "captions", "height", "images", "index", "indicator", "replay", "width", "onChange", "onCounter"];
|
|
17
18
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
19
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -36,38 +37,36 @@ var timeout;
|
|
|
36
37
|
var Slider = function Slider(_ref) {
|
|
37
38
|
var _ref$auto = _ref.auto,
|
|
38
39
|
auto = _ref$auto === void 0 ? false : _ref$auto,
|
|
40
|
+
_ref$behavior = _ref.behavior,
|
|
41
|
+
behavior = _ref$behavior === void 0 ? 'smooth' : _ref$behavior,
|
|
39
42
|
_ref$captions = _ref.captions,
|
|
40
43
|
captions = _ref$captions === void 0 ? [] : _ref$captions,
|
|
41
|
-
_ref$fullScreen = _ref.fullScreen,
|
|
42
|
-
propFullScreen = _ref$fullScreen === void 0 ? false : _ref$fullScreen,
|
|
43
44
|
_ref$height = _ref.height,
|
|
44
45
|
propHeight = _ref$height === void 0 ? 240 : _ref$height,
|
|
45
46
|
_ref$images = _ref.images,
|
|
46
47
|
images = _ref$images === void 0 ? [] : _ref$images,
|
|
47
48
|
_ref$index = _ref.index,
|
|
48
49
|
propIndex = _ref$index === void 0 ? 0 : _ref$index,
|
|
49
|
-
_ref$
|
|
50
|
-
|
|
50
|
+
_ref$indicator = _ref.indicator,
|
|
51
|
+
indicator = _ref$indicator === void 0 ? false : _ref$indicator,
|
|
52
|
+
_ref$replay = _ref.replay,
|
|
53
|
+
replay = _ref$replay === void 0 ? true : _ref$replay,
|
|
51
54
|
_ref$width = _ref.width,
|
|
52
55
|
propWidth = _ref$width === void 0 ? 320 : _ref$width,
|
|
53
56
|
_ref$onChange = _ref.onChange,
|
|
54
57
|
onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
|
|
55
|
-
|
|
56
|
-
onFullScreen = _ref$onFullScreen === void 0 ? function () {} : _ref$onFullScreen,
|
|
58
|
+
onCounter = _ref.onCounter,
|
|
57
59
|
others = _objectWithoutProperties(_ref, _excluded);
|
|
58
60
|
var _useDevice = (0, _hooks.useDevice)(),
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
isLandscape = _useDevice.isLandscape,
|
|
62
|
-
screenWidth = _useDevice.width;
|
|
63
|
-
var _useState = (0, _react.useState)(false),
|
|
61
|
+
isDesktop = _useDevice.isDesktop;
|
|
62
|
+
var _useState = (0, _react.useState)(true),
|
|
64
63
|
_useState2 = _slicedToArray(_useState, 2),
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
var _useState3 = (0, _react.useState)(
|
|
64
|
+
disabledScroll = _useState2[0],
|
|
65
|
+
setDisabledScroll = _useState2[1];
|
|
66
|
+
var _useState3 = (0, _react.useState)(false),
|
|
68
67
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
focus = _useState4[0],
|
|
69
|
+
setFocus = _useState4[1];
|
|
71
70
|
var _useState5 = (0, _react.useState)(propIndex),
|
|
72
71
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
73
72
|
index = _useState6[0],
|
|
@@ -84,23 +83,28 @@ var Slider = function Slider(_ref) {
|
|
|
84
83
|
|
|
85
84
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
86
85
|
(0, _react.useEffect)(function () {
|
|
87
|
-
|
|
86
|
+
clearTimeout(timeout);
|
|
87
|
+
timeout = setTimeout(function () {
|
|
88
|
+
return setDisabledScroll(false);
|
|
89
|
+
}, _Slider.SCROLL_DELAY);
|
|
90
|
+
onChange(index);
|
|
91
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
88
92
|
}, [index]);
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
var width = fullScreen ? screenWidth * (isLandscape ? 0.85 : 0.9) : propWidth;
|
|
93
|
+
var height = propHeight;
|
|
94
|
+
var width = propWidth;
|
|
95
|
+
var handleIndex = function handleIndex(nextIndex) {
|
|
96
|
+
setDisabledScroll(true);
|
|
97
|
+
setIndex(Math.abs(nextIndex) === images.length ? 0 : Math.abs(nextIndex) * (defaultDirection ? 1 : -1));
|
|
98
|
+
};
|
|
96
99
|
var handleScroll = function handleScroll() {
|
|
97
100
|
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
98
101
|
x = _ref2.x;
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
setIndex(x < width ? 0 : Math.round(x / width));
|
|
102
|
-
}, (0, _helpers2.getMotionExpand)());
|
|
102
|
+
var nextIndex = x < width ? 0 : Math.round(x / width);
|
|
103
|
+
if (nextIndex !== index) setIndex(nextIndex);
|
|
103
104
|
};
|
|
105
|
+
var defaultDirection = _theme.Theme.getDirection() === _theme.DIRECTION_TYPE.LEFT;
|
|
106
|
+
var hasImages = images.length > 1;
|
|
107
|
+
var isEnd = Math.abs(index) >= images.length - 1;
|
|
104
108
|
return /*#__PURE__*/_react.default.createElement(_primitives.View, _extends({}, others, {
|
|
105
109
|
role: "slider",
|
|
106
110
|
onMouseEnter: isDesktop ? function () {
|
|
@@ -109,23 +113,25 @@ var Slider = function Slider(_ref) {
|
|
|
109
113
|
onMouseLeave: isDesktop ? function () {
|
|
110
114
|
return setFocus(false);
|
|
111
115
|
} : undefined,
|
|
112
|
-
className: (0, _helpers.styles)(_SliderModule.default.
|
|
113
|
-
style: _objectSpread(_objectSpread({},
|
|
114
|
-
width:
|
|
116
|
+
className: (0, _helpers.styles)(_SliderModule.default.container, others.className),
|
|
117
|
+
style: _objectSpread(_objectSpread({}, others.style), {}, {
|
|
118
|
+
width: width
|
|
115
119
|
})
|
|
116
|
-
}),
|
|
120
|
+
}), hasImages && /*#__PURE__*/_react.default.createElement(_primitives.Pressable, {
|
|
117
121
|
onPress: function onPress() {
|
|
118
|
-
return
|
|
122
|
+
return handleIndex(index - 1);
|
|
119
123
|
},
|
|
120
|
-
className: (0, _helpers.styles)(_SliderModule.default.button, (index <= 0 || isDesktop && !focus) && _SliderModule.default.hide, _SliderModule.default.
|
|
124
|
+
className: (0, _helpers.styles)(_SliderModule.default.button, ((defaultDirection ? index <= 0 : replay ? false : isEnd) || isDesktop && !focus) && _SliderModule.default.hide, _SliderModule.default.first)
|
|
121
125
|
}, /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
|
|
122
|
-
value: _primitives.ICON.LEFT
|
|
126
|
+
value: replay && !defaultDirection && isEnd ? _primitives.ICON.REPLAY : _primitives.ICON.LEFT
|
|
123
127
|
})), /*#__PURE__*/_react.default.createElement(_primitives.ScrollView, {
|
|
128
|
+
behavior: behavior,
|
|
124
129
|
horizontal: true,
|
|
130
|
+
scrollEventThrottle: _Slider.SCROLL_DELAY,
|
|
125
131
|
scrollTo: index * Math.floor(width),
|
|
126
132
|
snap: true,
|
|
127
133
|
width: width,
|
|
128
|
-
onScroll: handleScroll,
|
|
134
|
+
onScroll: disabledScroll ? undefined : handleScroll,
|
|
129
135
|
className: _SliderModule.default.scrollView
|
|
130
136
|
}, images.map(function (image, imageIndex) {
|
|
131
137
|
return /*#__PURE__*/_react.default.createElement(_primitives.View, {
|
|
@@ -133,12 +139,9 @@ var Slider = function Slider(_ref) {
|
|
|
133
139
|
className: _SliderModule.default.item
|
|
134
140
|
}, /*#__PURE__*/_react.default.createElement(_primitives.View, {
|
|
135
141
|
role: "image",
|
|
136
|
-
onClick: function onClick() {
|
|
137
|
-
return setFullScreen(!fullScreen);
|
|
138
|
-
},
|
|
139
142
|
className: _SliderModule.default.image,
|
|
140
143
|
style: {
|
|
141
|
-
backgroundImage:
|
|
144
|
+
backgroundImage: replay || imageIndex >= Math.abs(index) - _Slider.PRELOAD_IMAGES && imageIndex <= Math.abs(index) + _Slider.PRELOAD_IMAGES ? "url(".concat(image, ")") : undefined,
|
|
142
145
|
height: height,
|
|
143
146
|
width: width
|
|
144
147
|
}
|
|
@@ -147,44 +150,42 @@ var Slider = function Slider(_ref) {
|
|
|
147
150
|
}, /*#__PURE__*/_react.default.createElement(_primitives.Text, {
|
|
148
151
|
bold: true,
|
|
149
152
|
small: true,
|
|
150
|
-
className: _SliderModule.default.text
|
|
153
|
+
className: [_SliderModule.default.overlay, _SliderModule.default.text]
|
|
151
154
|
}, captions[imageIndex])));
|
|
152
|
-
})),
|
|
155
|
+
})), hasImages && /*#__PURE__*/_react.default.createElement(_primitives.Pressable, {
|
|
153
156
|
onPress: function onPress() {
|
|
154
|
-
return
|
|
157
|
+
return handleIndex(index + 1);
|
|
155
158
|
},
|
|
156
|
-
className: (0, _helpers.styles)(_SliderModule.default.button, (
|
|
159
|
+
className: (0, _helpers.styles)(_SliderModule.default.button, ((defaultDirection ? replay ? false : isEnd : index === 0) || isDesktop && !focus) && _SliderModule.default.hide, _SliderModule.default.second)
|
|
157
160
|
}, /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
|
|
158
|
-
value: _primitives.ICON.RIGHT
|
|
159
|
-
})),
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
})));
|
|
161
|
+
value: replay && defaultDirection && index === images.length - 1 ? _primitives.ICON.REPLAY : _primitives.ICON.RIGHT
|
|
162
|
+
})), hasImages && onCounter && /*#__PURE__*/_react.default.createElement(_primitives.Pressable, {
|
|
163
|
+
onPress: onCounter,
|
|
164
|
+
className: (0, _helpers.styles)(_SliderModule.default.overlay, _SliderModule.default.counter, !defaultDirection && _SliderModule.default.reverse)
|
|
165
|
+
}, /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
|
|
166
|
+
action: true,
|
|
167
|
+
value: _primitives.ICON.PHOTO_LIBRARY
|
|
168
|
+
}), /*#__PURE__*/_react.default.createElement(_primitives.Text, {
|
|
169
|
+
bold: true,
|
|
170
|
+
small: true
|
|
171
|
+
}, images.length)), indicator && /*#__PURE__*/_react.default.createElement(_Progress.Progress, {
|
|
172
|
+
value: index * 100 / (images.length - 1),
|
|
173
|
+
className: (0, _helpers.styles)(_SliderModule.default.progress, index > 0 && _SliderModule.default.visible)
|
|
174
|
+
}));
|
|
175
175
|
};
|
|
176
176
|
exports.Slider = Slider;
|
|
177
177
|
Slider.displayName = 'Component:Slider';
|
|
178
178
|
Slider.propTypes = {
|
|
179
179
|
auto: _propTypes.default.bool,
|
|
180
|
+
behavior: _propTypes.default.string,
|
|
180
181
|
captions: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
181
|
-
fullScreen: _propTypes.default.bool,
|
|
182
182
|
height: _propTypes.default.number.isRequired,
|
|
183
183
|
images: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,
|
|
184
184
|
index: _propTypes.default.number,
|
|
185
|
-
|
|
185
|
+
indicator: _propTypes.default.bool,
|
|
186
|
+
replay: _propTypes.default.bool,
|
|
186
187
|
width: _propTypes.default.number.isRequired,
|
|
187
188
|
onChange: _propTypes.default.func,
|
|
188
|
-
|
|
189
|
+
onCounter: _propTypes.default.func
|
|
189
190
|
};
|
|
190
191
|
//# sourceMappingURL=Slider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.js","names":["interval","timeout","Slider","auto","captions","fullScreen","propFullScreen","height","propHeight","images","index","propIndex","thumbnails","width","propWidth","onChange","onFullScreen","others","useDevice","screenHeight","isDesktop","isLandscape","screenWidth","useState","focus","setFocus","setFullScreen","setIndex","useEffect","setInterval","length","clearInterval","handleScroll","x","clearTimeout","setTimeout","Math","round","getMotionExpand","undefined","styles","style","slider","className","button","hide","back","ICON","LEFT","floor","scrollView","map","image","imageIndex","item","backgroundImage","PRELOAD_IMAGES","caption","text","forward","RIGHT","thumbnail","active","displayName","propTypes","PropTypes","bool","arrayOf","string","number","isRequired","func"],"sources":["../../../src/components/Slider/Slider.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { Icon, ICON, ScrollView, Pressable, Text, View } from '../../primitives';\nimport { getMotionExpand } from './helpers';\nimport { PRELOAD_IMAGES } from './Slider.constants';\nimport style from './Slider.module.css';\n\nlet interval;\nlet timeout;\n\nconst Slider = ({\n auto = false,\n captions = [],\n fullScreen: propFullScreen = false,\n height: propHeight = 240,\n images = [],\n index: propIndex = 0,\n thumbnails = [],\n width: propWidth = 320,\n onChange = () => {},\n onFullScreen = () => {},\n ...others\n}) => {\n const { height: screenHeight, isDesktop, isLandscape, width: screenWidth } = useDevice();\n\n const [focus, setFocus] = useState(false);\n const [fullScreen, setFullScreen] = useState(propFullScreen);\n const [index, setIndex] = useState(propIndex);\n\n useEffect(() => {\n if (auto) interval = setInterval(() => setIndex(index < images.length - 1 ? index + 1 : 0), 2000);\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [auto, index]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => onChange(index), [index]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => onFullScreen(fullScreen), [fullScreen]);\n\n const height = fullScreen ? screenHeight * (isLandscape ? 0.9 : 0.4) : propHeight;\n\n const width = fullScreen ? screenWidth * (isLandscape ? 0.85 : 0.9) : propWidth;\n\n const handleScroll = ({ x } = {}) => {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n setIndex(x < width ? 0 : Math.round(x / width));\n }, getMotionExpand());\n };\n\n return (\n <View\n {...others}\n role=\"slider\"\n onMouseEnter={isDesktop ? () => setFocus(true) : undefined}\n onMouseLeave={isDesktop ? () => setFocus(false) : undefined}\n className={styles(style.slider, fullScreen && style.fullScreen, others.className)}\n style={{ ...(!fullScreen ? others.style : undefined), width: fullScreen ? screenWidth : width }}\n >\n {!fullScreen && (\n <Pressable\n onPress={() => setIndex(index - 1)}\n className={styles(style.button, (index <= 0 || (isDesktop && !focus)) && style.hide, style.back)}\n >\n <Icon value={ICON.LEFT} />\n </Pressable>\n )}\n\n <ScrollView\n horizontal\n scrollTo={index * Math.floor(width)}\n snap\n width={width}\n onScroll={handleScroll}\n className={style.scrollView}\n >\n {images.map((image, imageIndex) => (\n <View key={imageIndex} className={style.item}>\n <View\n role=\"image\"\n onClick={() => setFullScreen(!fullScreen)}\n className={style.image}\n style={{\n backgroundImage:\n fullScreen || (imageIndex >= index - PRELOAD_IMAGES && imageIndex <= index + PRELOAD_IMAGES)\n ? `url(${image})`\n : undefined,\n height,\n width,\n }}\n />\n {captions[imageIndex] && (\n <View className={style.caption}>\n <Text bold small className={style.text}>\n {captions[imageIndex]}\n </Text>\n </View>\n )}\n </View>\n ))}\n </ScrollView>\n\n {!fullScreen && (\n <Pressable\n onPress={() => setIndex(index + 1)}\n className={styles(\n style.button,\n (index >= images.length - 1 || (isDesktop && !focus)) && style.hide && style.hide,\n style.forward,\n )}\n >\n <Icon value={ICON.RIGHT} />\n </Pressable>\n )}\n\n {fullScreen && (\n <ScrollView horizontal snap className={style.thumbnails}>\n {images.map((image, imageIndex) => (\n <Pressable\n key={imageIndex}\n onPress={() => setIndex(imageIndex)}\n className={styles(style.thumbnail, index === imageIndex && style.active)}\n style={{ backgroundImage: `url(${thumbnails[imageIndex] || image})` }}\n />\n ))}\n </ScrollView>\n )}\n </View>\n );\n};\n\nSlider.displayName = 'Component:Slider';\n\nSlider.propTypes = {\n auto: PropTypes.bool,\n captions: PropTypes.arrayOf(PropTypes.string),\n fullScreen: PropTypes.bool,\n height: PropTypes.number.isRequired,\n images: PropTypes.arrayOf(PropTypes.string).isRequired,\n index: PropTypes.number,\n thumbnails: PropTypes.arrayOf(PropTypes.string),\n width: PropTypes.number.isRequired,\n onChange: PropTypes.func,\n onFullScreen: PropTypes.func,\n};\n\nexport { Slider };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Slider.js","names":["interval","timeout","Slider","auto","behavior","captions","height","propHeight","images","index","propIndex","indicator","replay","width","propWidth","onChange","onCounter","others","useDevice","isDesktop","useState","disabledScroll","setDisabledScroll","focus","setFocus","setIndex","useEffect","setInterval","length","clearInterval","clearTimeout","setTimeout","SCROLL_DELAY","handleIndex","nextIndex","Math","abs","defaultDirection","handleScroll","x","round","Theme","getDirection","DIRECTION_TYPE","LEFT","hasImages","isEnd","undefined","styles","style","container","className","button","hide","first","ICON","REPLAY","floor","scrollView","map","image","imageIndex","item","backgroundImage","PRELOAD_IMAGES","caption","overlay","text","second","RIGHT","counter","reverse","PHOTO_LIBRARY","progress","visible","displayName","propTypes","PropTypes","bool","string","arrayOf","number","isRequired","func"],"sources":["../../../src/components/Slider/Slider.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { Icon, ICON, ScrollView, Pressable, Text, View } from '../../primitives';\nimport { DIRECTION_TYPE, Theme } from '../../theme';\nimport { Progress } from '../Progress';\nimport { PRELOAD_IMAGES, SCROLL_DELAY } from './Slider.constants';\nimport style from './Slider.module.css';\n\nlet interval;\nlet timeout;\n\nconst Slider = ({\n auto = false,\n behavior = 'smooth',\n captions = [],\n height: propHeight = 240,\n images = [],\n index: propIndex = 0,\n indicator = false,\n replay = true,\n width: propWidth = 320,\n onChange = () => {},\n onCounter,\n ...others\n}) => {\n const { isDesktop } = useDevice();\n\n const [disabledScroll, setDisabledScroll] = useState(true);\n const [focus, setFocus] = useState(false);\n const [index, setIndex] = useState(propIndex);\n\n useEffect(() => {\n if (auto) interval = setInterval(() => setIndex(index < images.length - 1 ? index + 1 : 0), 2000);\n return () => clearInterval(interval);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [auto, index]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => {\n clearTimeout(timeout);\n timeout = setTimeout(() => setDisabledScroll(false), SCROLL_DELAY);\n\n onChange(index);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [index]);\n\n const height = propHeight;\n\n const width = propWidth;\n\n const handleIndex = (nextIndex) => {\n setDisabledScroll(true);\n setIndex(Math.abs(nextIndex) === images.length ? 0 : Math.abs(nextIndex) * (defaultDirection ? 1 : -1));\n };\n\n const handleScroll = ({ x } = {}) => {\n const nextIndex = x < width ? 0 : Math.round(x / width);\n\n if (nextIndex !== index) setIndex(nextIndex);\n };\n\n const defaultDirection = Theme.getDirection() === DIRECTION_TYPE.LEFT;\n const hasImages = images.length > 1;\n const isEnd = Math.abs(index) >= images.length - 1;\n\n return (\n <View\n {...others}\n role=\"slider\"\n onMouseEnter={isDesktop ? () => setFocus(true) : undefined}\n onMouseLeave={isDesktop ? () => setFocus(false) : undefined}\n className={styles(style.container, others.className)}\n style={{ ...others.style, width }}\n >\n {hasImages && (\n <Pressable\n onPress={() => handleIndex(index - 1)}\n className={styles(\n style.button,\n ((defaultDirection ? index <= 0 : replay ? false : isEnd) || (isDesktop && !focus)) && style.hide,\n style.first,\n )}\n >\n <Icon value={replay && !defaultDirection && isEnd ? ICON.REPLAY : ICON.LEFT} />\n </Pressable>\n )}\n\n <ScrollView\n behavior={behavior}\n horizontal\n scrollEventThrottle={SCROLL_DELAY}\n scrollTo={index * Math.floor(width)}\n snap\n width={width}\n onScroll={disabledScroll ? undefined : handleScroll}\n className={style.scrollView}\n >\n {images.map((image, imageIndex) => (\n <View key={imageIndex} className={style.item}>\n <View\n role=\"image\"\n className={style.image}\n style={{\n backgroundImage:\n replay ||\n (imageIndex >= Math.abs(index) - PRELOAD_IMAGES && imageIndex <= Math.abs(index) + PRELOAD_IMAGES)\n ? `url(${image})`\n : undefined,\n height,\n width,\n }}\n />\n {captions[imageIndex] && (\n <View className={style.caption}>\n <Text bold small className={[style.overlay, style.text]}>\n {captions[imageIndex]}\n </Text>\n </View>\n )}\n </View>\n ))}\n </ScrollView>\n\n {hasImages && (\n <Pressable\n onPress={() => handleIndex(index + 1)}\n className={styles(\n style.button,\n ((defaultDirection ? (replay ? false : isEnd) : index === 0) || (isDesktop && !focus)) && style.hide,\n style.second,\n )}\n >\n <Icon value={replay && defaultDirection && index === images.length - 1 ? ICON.REPLAY : ICON.RIGHT} />\n </Pressable>\n )}\n\n {hasImages && onCounter && (\n <Pressable\n onPress={onCounter}\n className={styles(style.overlay, style.counter, !defaultDirection && style.reverse)}\n >\n <Icon action value={ICON.PHOTO_LIBRARY} />\n <Text bold small>\n {images.length}\n </Text>\n </Pressable>\n )}\n\n {indicator && (\n <Progress\n value={(index * 100) / (images.length - 1)}\n className={styles(style.progress, index > 0 && style.visible)}\n />\n )}\n </View>\n );\n};\n\nSlider.displayName = 'Component:Slider';\n\nSlider.propTypes = {\n auto: PropTypes.bool,\n behavior: PropTypes.string,\n captions: PropTypes.arrayOf(PropTypes.string),\n height: PropTypes.number.isRequired,\n images: PropTypes.arrayOf(PropTypes.string).isRequired,\n index: PropTypes.number,\n indicator: PropTypes.bool,\n replay: PropTypes.bool,\n width: PropTypes.number.isRequired,\n onChange: PropTypes.func,\n onCounter: PropTypes.func,\n};\n\nexport { Slider };\n"],"mappings":"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"}
|
|
@@ -1,24 +1,15 @@
|
|
|
1
|
-
.
|
|
1
|
+
.container {
|
|
2
2
|
align-items: center;
|
|
3
3
|
justify-content: center;
|
|
4
4
|
overflow: hidden;
|
|
5
5
|
position: relative;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
.slider.fullScreen {
|
|
9
|
-
background-color: var(--mirai-ui-slider-background);
|
|
10
|
-
height: 100vh;
|
|
11
|
-
justify-content: center;
|
|
12
|
-
left: 0;
|
|
13
|
-
position: fixed;
|
|
14
|
-
top: 0;
|
|
15
|
-
width: 100vw;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
8
|
.button {
|
|
19
9
|
align-items: center;
|
|
20
|
-
background-color: var(--mirai-ui-slider-
|
|
10
|
+
background-color: var(--mirai-ui-slider-button);
|
|
21
11
|
border-radius: 50%;
|
|
12
|
+
box-shadow: var(--mirai-ui-modal-shadow);
|
|
22
13
|
display: flex;
|
|
23
14
|
height: var(--mirai-ui-button-squared);
|
|
24
15
|
justify-content: center;
|
|
@@ -33,20 +24,16 @@
|
|
|
33
24
|
transform: scale(0);
|
|
34
25
|
}
|
|
35
26
|
|
|
36
|
-
.button >
|
|
37
|
-
color: var(--mirai-ui-slider-
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.button.back {
|
|
41
|
-
left: var(--mirai-ui-space-M);
|
|
27
|
+
.button > [data-role='icon'] {
|
|
28
|
+
color: var(--mirai-ui-slider-button-icon);
|
|
42
29
|
}
|
|
43
30
|
|
|
44
|
-
.button.
|
|
45
|
-
|
|
31
|
+
.button.first {
|
|
32
|
+
left: var(--mirai-ui-space-S);
|
|
46
33
|
}
|
|
47
34
|
|
|
48
|
-
.
|
|
49
|
-
|
|
35
|
+
.button.second {
|
|
36
|
+
right: var(--mirai-ui-space-S);
|
|
50
37
|
}
|
|
51
38
|
|
|
52
39
|
.item {
|
|
@@ -54,17 +41,13 @@
|
|
|
54
41
|
}
|
|
55
42
|
|
|
56
43
|
.item .image {
|
|
57
|
-
background-color: var(--mirai-ui-content-
|
|
44
|
+
background-color: var(--mirai-ui-content-border);
|
|
45
|
+
background-position: center;
|
|
58
46
|
background-size: cover;
|
|
59
|
-
cursor: pointer;
|
|
60
47
|
height: 100%;
|
|
61
48
|
width: 100%;
|
|
62
49
|
}
|
|
63
50
|
|
|
64
|
-
.fullScreen .item .image {
|
|
65
|
-
border-radius: var(--mirai-ui-slider-border-radius);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
51
|
.item .caption {
|
|
69
52
|
align-items: center;
|
|
70
53
|
bottom: var(--mirai-ui-space-S);
|
|
@@ -74,45 +57,65 @@
|
|
|
74
57
|
}
|
|
75
58
|
|
|
76
59
|
.item .caption .text {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
60
|
+
color: var(--mirai-ui-slider-overlay-color);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.counter {
|
|
64
|
+
align-items: center;
|
|
65
|
+
bottom: var(--mirai-ui-space-S);
|
|
66
|
+
display: flex;
|
|
67
|
+
flex-direction: row;
|
|
68
|
+
gap: var(--mirai-ui-space-XXS);
|
|
69
|
+
position: absolute;
|
|
81
70
|
}
|
|
82
71
|
|
|
83
|
-
.
|
|
84
|
-
|
|
85
|
-
gap: var(--mirai-ui-space-S);
|
|
86
|
-
max-width: 90vw;
|
|
72
|
+
.counter:not(.reverse) {
|
|
73
|
+
right: var(--mirai-ui-space-S);
|
|
87
74
|
}
|
|
88
75
|
|
|
89
|
-
.
|
|
90
|
-
|
|
76
|
+
.counter.reverse {
|
|
77
|
+
left: var(--mirai-ui-space-S);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.counter [data-role] {
|
|
81
|
+
color: var(--mirai-ui-slider-color);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.overlay {
|
|
85
|
+
background-color: var(--mirai-ui-slider-overlay);
|
|
91
86
|
border-radius: var(--mirai-ui-slider-border-radius);
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
87
|
+
padding: var(--mirai-ui-space-XXS) var(--mirai-ui-space-XS);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.overlay [data-role] {
|
|
91
|
+
color: var(--mirai-ui-slider-overlay-color);
|
|
97
92
|
}
|
|
98
93
|
|
|
99
|
-
.
|
|
100
|
-
|
|
94
|
+
.progress {
|
|
95
|
+
background-color: var(--mirai-ui-slider-overlay);
|
|
96
|
+
bottom: 0;
|
|
97
|
+
height: 0;
|
|
98
|
+
left: 0;
|
|
99
|
+
position: absolute;
|
|
100
|
+
right: 0;
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
-
.
|
|
104
|
-
|
|
105
|
-
opacity: 1;
|
|
103
|
+
.progress.visible {
|
|
104
|
+
height: calc(var(--mirai-ui-space-XS) / 1);
|
|
106
105
|
}
|
|
107
106
|
|
|
108
107
|
/* S */
|
|
109
108
|
@media only screen and (max-width: 430px) {
|
|
110
|
-
.thumbnails {
|
|
111
|
-
position: absolute;
|
|
112
|
-
bottom: var(--mirai-ui-space-M);
|
|
113
|
-
}
|
|
114
109
|
}
|
|
115
110
|
|
|
116
111
|
/* M & L */
|
|
117
112
|
@media only screen and (min-width: 431px) {
|
|
113
|
+
.item .caption {
|
|
114
|
+
transition: opacity var(--mirai-ui-motion-collapse) var(--mirai-ui-motion-easing);
|
|
115
|
+
opacity: 0;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.item:hover .caption {
|
|
119
|
+
opacity: 1;
|
|
120
|
+
}
|
|
118
121
|
}
|
|
@@ -22,12 +22,12 @@ var Story = function Story(props) {
|
|
|
22
22
|
}
|
|
23
23
|
return (_console = console).log.apply(_console, ['onChange'].concat(params));
|
|
24
24
|
},
|
|
25
|
-
|
|
25
|
+
onCounter: function onCounter() {
|
|
26
26
|
var _console2;
|
|
27
27
|
for (var _len2 = arguments.length, params = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
28
28
|
params[_key2] = arguments[_key2];
|
|
29
29
|
}
|
|
30
|
-
return (_console2 = console).log.apply(_console2, ['
|
|
30
|
+
return (_console2 = console).log.apply(_console2, ['onCounter'].concat(params));
|
|
31
31
|
}
|
|
32
32
|
}));
|
|
33
33
|
};
|
|
@@ -35,17 +35,20 @@ exports.Story = Story;
|
|
|
35
35
|
Story.storyName = 'Slider';
|
|
36
36
|
Story.args = {
|
|
37
37
|
auto: false,
|
|
38
|
+
behavior: 'smooth',
|
|
38
39
|
captions: ['javi', 'jose', undefined, 'victor', 'svet', 'mario2'],
|
|
39
|
-
height:
|
|
40
|
-
index: 1,
|
|
40
|
+
height: 208,
|
|
41
41
|
images: ['https://picsum.photos/seed/@soyjavi/1024/768', 'https://picsum.photos/seed/@jose/1024/768', 'https://picsum.photos/seed/@mario1/1024/768', 'https://picsum.photos/seed/@victor/1024/768', 'https://picsum.photos/seed/@svet/1024/768', 'https://picsum.photos/seed/@mario2/1024/768', 'https://picsum.photos/seed/1/1024/768', 'https://picsum.photos/seed/2/1024/768', 'https://picsum.photos/seed/3/1024/768', 'https://picsum.photos/seed/4/1024/768', 'https://picsum.photos/seed/5/1024/768', 'https://picsum.photos/seed/6/1024/768', 'https://picsum.photos/seed/7/1024/768', 'https://picsum.photos/seed/8/1024/768', 'https://picsum.photos/seed/9/1024/768', 'https://picsum.photos/seed/10/1024/768', 'https://picsum.photos/seed/11/1024/768', 'https://picsum.photos/seed/12/1024/768'],
|
|
42
42
|
fullScreen: false,
|
|
43
43
|
thumbnails: ['https://picsum.photos/seed/@soyjavi/128/128', 'https://picsum.photos/seed/@jose/128/128', 'https://picsum.photos/seed/@mario1/128/128', 'https://picsum.photos/seed/@victor/128/128', 'https://picsum.photos/seed/@svet/128/128', 'https://picsum.photos/seed/@mario2/128/128', 'https://picsum.photos/seed/1/128/128', 'https://picsum.photos/seed/2/128/128', 'https://picsum.photos/seed/3/128/128', 'https://picsum.photos/seed/4/128/128', 'https://picsum.photos/seed/5/128/128', 'https://picsum.photos/seed/6/128/128', 'https://picsum.photos/seed/7/128/128', 'https://picsum.photos/seed/8/128/128', 'https://picsum.photos/seed/9/128/128', 'https://picsum.photos/seed/10/128/128', 'https://picsum.photos/seed/11/128/128', 'https://picsum.photos/seed/12/128/128'],
|
|
44
|
-
|
|
44
|
+
index: 0,
|
|
45
|
+
indicator: true,
|
|
46
|
+
replay: true,
|
|
47
|
+
width: 408,
|
|
45
48
|
// inherited properties
|
|
46
49
|
testId: 'test-story',
|
|
47
50
|
style: {
|
|
48
|
-
borderRadius:
|
|
51
|
+
borderRadius: 2
|
|
49
52
|
}
|
|
50
53
|
};
|
|
51
54
|
Story.argTypes = {};
|