@mirai/ui 1.0.261 → 1.0.263
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 +4 -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 +9 -1
- package/build/components/Calendar/Calendar.js.map +1 -1
- package/build/components/InputOption/InputOption.js +4 -1
- package/build/components/InputOption/InputOption.js.map +1 -1
- 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 +19 -0
- package/build/primitives/Checkbox/Checkbox.js +4 -2
- package/build/primitives/Checkbox/Checkbox.js.map +1 -1
- package/build/primitives/Checkbox/Checkbox.module.css +6 -1
- package/build/primitives/Checkbox/__tests__/__snapshots__/Checkbox.test.js.snap +31 -0
- package/build/primitives/Switch/Switch.js +4 -2
- package/build/primitives/Switch/Switch.js.map +1 -1
- package/build/primitives/Switch/Switch.module.css +4 -0
- 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 +63 -0
- 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 +1 -1
package/README.md
CHANGED
|
@@ -19,6 +19,7 @@ This primitive returns a checkbox button based on the following properties:
|
|
|
19
19
|
- `checked:boolean` if true, the checkbox button is checked
|
|
20
20
|
- `children:node`
|
|
21
21
|
- `disabled:boolean` applying 'disabled' attribute
|
|
22
|
+
- `error:boolean` shows error style
|
|
22
23
|
- `name:string` input name (required)
|
|
23
24
|
- `value:string` input value
|
|
24
25
|
- `onChange:function` executed when input value changes
|
|
@@ -285,6 +286,7 @@ This primitive returns a _mobile_ checkbox button based on the following propert
|
|
|
285
286
|
|
|
286
287
|
- `checked:boolean` if true, the checkbox button is checked
|
|
287
288
|
- `disabled:boolean` applying 'disabled' attribute
|
|
289
|
+
- `error:boolean` shows error style
|
|
288
290
|
- `name:string` input name (required)
|
|
289
291
|
- `onChange:function` executed when input value changes
|
|
290
292
|
|
|
@@ -692,6 +694,7 @@ This component is used to display a radio button or checkbox base on a mandatory
|
|
|
692
694
|
|
|
693
695
|
- `checked:boolean` if true, the input is checked
|
|
694
696
|
- `disabled:boolean` applying 'disabled' attribute
|
|
697
|
+
- `error:boolean` shows error style
|
|
695
698
|
- `indeterminate:boolean` applying 'indeterminate' attribute (only for type checkbox)
|
|
696
699
|
- `label:string` input label
|
|
697
700
|
- `name:string` input name
|
|
@@ -853,7 +856,7 @@ Text input component receiving the following props:
|
|
|
853
856
|
|
|
854
857
|
- `caption:string` a support text (Ex. currency symbol)
|
|
855
858
|
- `disabled:boolean` applying 'disabled' attribute
|
|
856
|
-
- `error:boolean`
|
|
859
|
+
- `error:boolean` shows error style
|
|
857
860
|
- `hint:string` brief message
|
|
858
861
|
- `icon:string` if you want use an `<Icon>` within the component
|
|
859
862
|
- `label:string` input label
|
|
@@ -14,7 +14,7 @@ var _Tooltip = require("../Tooltip");
|
|
|
14
14
|
var _Calendar = require("./Calendar.constants");
|
|
15
15
|
var _CalendarModule = _interopRequireDefault(require("./Calendar.module.css"));
|
|
16
16
|
var _helpers2 = require("./helpers");
|
|
17
|
-
var _excluded = ["captions", "
|
|
17
|
+
var _excluded = ["captions", "disabledDatesTS", "disabledPast", "focus", "locale", "format", "from", "highlights", "month", "number", "range", "rangeMinDays", "selected", "timestamp", "to", "tooltips", "year", "onPress", "onFocus"];
|
|
18
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); }
|
|
19
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; }
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -33,8 +33,8 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
33
33
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
34
34
|
var Week = function Week(_ref) {
|
|
35
35
|
var captions = _ref.captions,
|
|
36
|
-
_ref$
|
|
37
|
-
|
|
36
|
+
_ref$disabledDatesTS = _ref.disabledDatesTS,
|
|
37
|
+
disabledDatesTS = _ref$disabledDatesTS === void 0 ? [] : _ref$disabledDatesTS,
|
|
38
38
|
disabledPast = _ref.disabledPast,
|
|
39
39
|
focus = _ref.focus,
|
|
40
40
|
locale = _ref.locale,
|
|
@@ -57,9 +57,6 @@ var Week = function Week(_ref) {
|
|
|
57
57
|
_ref$onFocus = _ref.onFocus,
|
|
58
58
|
onFocus = _ref$onFocus === void 0 ? function () {} : _ref$onFocus,
|
|
59
59
|
others = _objectWithoutProperties(_ref, _excluded);
|
|
60
|
-
var disabledDatesTS = disabledDates.map(function (date) {
|
|
61
|
-
return (0, _locale.UTC)((0, _locale.parseDate)(date, format)).getTime();
|
|
62
|
-
});
|
|
63
60
|
var firstDate = (0, _helpers2.getFirstDateOfWeek)(number, year, (0, _helpers2.getFirstDayOfWeek)(locale));
|
|
64
61
|
var todayTS = (0, _helpers2.getToday)().getTime();
|
|
65
62
|
var fromTS = from === null || from === void 0 ? void 0 : from.getTime();
|
|
@@ -96,12 +93,12 @@ var Week = function Week(_ref) {
|
|
|
96
93
|
// past
|
|
97
94
|
!date.getMonth() === month ||
|
|
98
95
|
// days out of month
|
|
99
|
-
disabledDatesTS.includes(dateTS) ||
|
|
100
|
-
// disabled dates
|
|
101
96
|
dateTS < fromTS ||
|
|
102
97
|
// less than range
|
|
103
|
-
dateTS > toTS
|
|
98
|
+
dateTS > toTS ||
|
|
104
99
|
// more than range
|
|
100
|
+
disabledDatesTS.includes(dateTS),
|
|
101
|
+
// disabled dates
|
|
105
102
|
highlight: highlights.includes(dateString),
|
|
106
103
|
outOfRange: dateTS > rangeTS.outbound,
|
|
107
104
|
minRange: dateTS > rangeTS.start && dateTS < rangeTS.min,
|
|
@@ -149,7 +146,7 @@ exports.Week = Week;
|
|
|
149
146
|
Week.displayName = 'Component:Calendar:Week';
|
|
150
147
|
Week.propTypes = {
|
|
151
148
|
captions: _propTypes.default.shape({}),
|
|
152
|
-
|
|
149
|
+
disabledDatesTS: _propTypes.default.arrayOf(_propTypes.default.number),
|
|
153
150
|
disabledPast: _propTypes.default.bool,
|
|
154
151
|
focus: _propTypes.default.object,
|
|
155
152
|
highlights: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.Week.js","names":["Week","captions","disabledDates","disabledPast","focus","locale","format","from","highlights","month","number","range","rangeMinDays","selected","timestamp","to","tooltips","year","onPress","onFocus","others","disabledDatesTS","map","date","UTC","parseDate","getTime","firstDate","getFirstDateOfWeek","getFirstDayOfWeek","todayTS","getToday","fromTS","toTS","focusTS","rangeTS","start","end","undefined","min","dateCalc","filter","ts","sort","outbound","styles","style","DAYS","day","Date","getFullYear","getMonth","getDate","dateTS","dateString","dateFormat","is","disabled","includes","highlight","outOfRange","minRange","rangeLimit","ranging","today","visible","textStyle","textDisabled","textSelected","textHighlight","tooltip","cell","testId","React","createElement","Tooltip","Fragment","pressable","top","dayRange","daySelected","daySelectedStart","daySelectedEnd","dayTouchable","caption","hide","color","displayName","propTypes","PropTypes","shape","arrayOf","string","bool","object","instanceOf","isRequired","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.Week.jsx"],"sourcesContent":["import { dateCalc, dateFormat, parseDate, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React, { Fragment } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable, Text, View } from '../../primitives';\nimport { Tooltip } from '../Tooltip';\nimport { DAYS } from './Calendar.constants';\nimport style from './Calendar.module.css';\nimport { getFirstDateOfWeek, getToday, getFirstDayOfWeek } from './helpers';\n\nexport const Week = ({\n captions,\n disabledDates = [],\n disabledPast,\n focus,\n locale,\n format,\n from,\n highlights = [],\n month,\n number,\n range,\n rangeMinDays,\n selected,\n timestamp,\n to,\n tooltips = {},\n year,\n onPress = () => {},\n onFocus = () => {},\n ...others\n}) => {\n const disabledDatesTS = disabledDates.map((date) => UTC(parseDate(date, format)).getTime());\n const firstDate = getFirstDateOfWeek(number, year, getFirstDayOfWeek(locale));\n const todayTS = getToday().getTime();\n const fromTS = from?.getTime();\n const toTS = to?.getTime();\n const focusTS = focus?.getTime();\n\n let rangeTS = {};\n if (range) {\n const [start, end] = selected;\n rangeTS = {\n start: start ? start.getTime() : undefined,\n end: end ? end.getTime() : undefined,\n min: start && rangeMinDays ? dateCalc(start, rangeMinDays, 'days').getTime() : undefined,\n };\n\n const [outbound] = disabledDatesTS.filter((ts) => ts > rangeTS.start).sort();\n rangeTS.outbound = outbound ? outbound - 1 : undefined;\n }\n\n return (\n <View forceRow className={styles(rangeTS.start !== undefined && range && style.range)}>\n {DAYS.map((day) => {\n const date = UTC(new Date(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate() + day));\n const dateTS = date.getTime();\n const dateString = dateFormat(date, { format });\n\n const is = {\n disabled:\n (disabledPast && dateTS < todayTS) || // past\n !date.getMonth() === month || // days out of month\n disabledDatesTS.includes(dateTS) || // disabled dates\n dateTS < fromTS || // less than range\n dateTS > toTS, // more than range\n highlight: highlights.includes(dateString),\n outOfRange: dateTS > rangeTS.outbound,\n minRange: dateTS > rangeTS.start && dateTS < rangeTS.min,\n range: dateTS > rangeTS.start && (dateTS < rangeTS.end || dateTS < rangeTS.min || dateTS < focusTS),\n rangeLimit: dateTS === rangeTS.start || dateTS === rangeTS.end,\n ranging: range && selected?.[0] && !selected[1],\n selected:\n range && selected\n ? selected[0] && !selected[1]\n ? dateTS === selected[0].getTime()\n : selected[0] && selected[1]\n ? dateTS >= selected[0].getTime() && dateTS <= selected[1].getTime()\n : undefined\n : dateTS === selected?.getTime(),\n today: dateTS === todayTS,\n visible: date.getMonth() === month,\n };\n\n const textStyle =\n is.disabled || (is.ranging && is.outOfRange)\n ? style.textDisabled\n : is.selected || dateTS === rangeTS.end\n ? style.textSelected\n : is.highlight && !is.range\n ? style.textHighlight\n : undefined;\n\n const tooltip = !is.disabled && tooltips[dateString];\n\n return (\n <Pressable\n disabled={is.disabled || !is.visible || (is.ranging && (is.minRange || is.outOfRange))}\n key={day}\n tabIndex={is.visible && !is.disabled ? `${date.getMonth()}-${date.getDate()}` : undefined}\n onEnter={is.ranging ? () => onFocus(date) : undefined}\n onLeave={is.ranging ? () => onFocus() : undefined}\n onPress={() => onPress(date)}\n className={style.cell}\n testId={`${others.testId || 'calendar'}-${number}-${day}`}\n >\n {is.visible &&\n React.createElement(\n tooltip ? Tooltip : Fragment,\n tooltip ? { pressable: true, timestamp, top: true, visible: true, ...tooltip } : {},\n <View\n className={styles(\n style.day,\n is.range && !is.disabled && !is.outOfRange && style.dayRange,\n (is.rangeLimit || (!is.range && is.selected)) && style.daySelected,\n is.rangeLimit && dateTS === rangeTS.start && style.daySelectedStart,\n is.rangeLimit && dateTS === rangeTS.end && style.daySelectedEnd,\n !is.selected && !is.disabled && !is.minRange && !is.outOfRange && style.dayTouchable,\n )}\n >\n <Text bold={is.today || is.highlight || (is.selected && !is.range)} className={textStyle}>\n {date.getDate()}\n </Text>\n\n {captions && (\n <Text\n tiny\n className={styles(\n textStyle,\n style.caption,\n disabledPast && dateTS < todayTS && style.hide,\n !is.disabled && !is.highlight && !is.selected && !is.rangeLimit && !is.range && style.color,\n )}\n >\n {captions[dateString] || '-'}\n </Text>\n )}\n </View>,\n )}\n </Pressable>\n );\n })}\n </View>\n );\n};\n\nWeek.displayName = 'Component:Calendar:Week';\n\nWeek.propTypes = {\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n focus: PropTypes.object,\n highlights: PropTypes.arrayOf(PropTypes.string),\n locale: PropTypes.string,\n format: PropTypes.string,\n from: PropTypes.instanceOf(Date),\n to: PropTypes.instanceOf(Date),\n tooltips: PropTypes.shape({}),\n year: PropTypes.number.isRequired,\n month: PropTypes.number.isRequired,\n number: PropTypes.number.isRequired,\n range: PropTypes.bool,\n rangeMinDays: PropTypes.number,\n selected: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n timestamp: PropTypes.number,\n onFocus: PropTypes.func,\n onPress: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Calendar.Week.js","names":["Week","captions","disabledDatesTS","disabledPast","focus","locale","format","from","highlights","month","number","range","rangeMinDays","selected","timestamp","to","tooltips","year","onPress","onFocus","others","firstDate","getFirstDateOfWeek","getFirstDayOfWeek","todayTS","getToday","getTime","fromTS","toTS","focusTS","rangeTS","start","end","undefined","min","dateCalc","filter","ts","sort","outbound","styles","style","DAYS","map","day","date","UTC","Date","getFullYear","getMonth","getDate","dateTS","dateString","dateFormat","is","disabled","includes","highlight","outOfRange","minRange","rangeLimit","ranging","today","visible","textStyle","textDisabled","textSelected","textHighlight","tooltip","cell","testId","React","createElement","Tooltip","Fragment","pressable","top","dayRange","daySelected","daySelectedStart","daySelectedEnd","dayTouchable","caption","hide","color","displayName","propTypes","PropTypes","shape","arrayOf","bool","object","string","instanceOf","isRequired","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.Week.jsx"],"sourcesContent":["import { dateCalc, dateFormat, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React, { Fragment } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable, Text, View } from '../../primitives';\nimport { Tooltip } from '../Tooltip';\nimport { DAYS } from './Calendar.constants';\nimport style from './Calendar.module.css';\nimport { getFirstDateOfWeek, getToday, getFirstDayOfWeek } from './helpers';\n\nexport const Week = ({\n captions,\n disabledDatesTS = [],\n disabledPast,\n focus,\n locale,\n format,\n from,\n highlights = [],\n month,\n number,\n range,\n rangeMinDays,\n selected,\n timestamp,\n to,\n tooltips = {},\n year,\n onPress = () => {},\n onFocus = () => {},\n ...others\n}) => {\n const firstDate = getFirstDateOfWeek(number, year, getFirstDayOfWeek(locale));\n const todayTS = getToday().getTime();\n const fromTS = from?.getTime();\n const toTS = to?.getTime();\n const focusTS = focus?.getTime();\n\n let rangeTS = {};\n if (range) {\n const [start, end] = selected;\n rangeTS = {\n start: start ? start.getTime() : undefined,\n end: end ? end.getTime() : undefined,\n min: start && rangeMinDays ? dateCalc(start, rangeMinDays, 'days').getTime() : undefined,\n };\n\n const [outbound] = disabledDatesTS.filter((ts) => ts > rangeTS.start).sort();\n rangeTS.outbound = outbound ? outbound - 1 : undefined;\n }\n\n return (\n <View forceRow className={styles(rangeTS.start !== undefined && range && style.range)}>\n {DAYS.map((day) => {\n const date = UTC(new Date(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate() + day));\n const dateTS = date.getTime();\n const dateString = dateFormat(date, { format });\n\n const is = {\n disabled:\n (disabledPast && dateTS < todayTS) || // past\n !date.getMonth() === month || // days out of month\n dateTS < fromTS || // less than range\n dateTS > toTS || // more than range\n disabledDatesTS.includes(dateTS), // disabled dates\n highlight: highlights.includes(dateString),\n outOfRange: dateTS > rangeTS.outbound,\n minRange: dateTS > rangeTS.start && dateTS < rangeTS.min,\n range: dateTS > rangeTS.start && (dateTS < rangeTS.end || dateTS < rangeTS.min || dateTS < focusTS),\n rangeLimit: dateTS === rangeTS.start || dateTS === rangeTS.end,\n ranging: range && selected?.[0] && !selected[1],\n selected:\n range && selected\n ? selected[0] && !selected[1]\n ? dateTS === selected[0].getTime()\n : selected[0] && selected[1]\n ? dateTS >= selected[0].getTime() && dateTS <= selected[1].getTime()\n : undefined\n : dateTS === selected?.getTime(),\n today: dateTS === todayTS,\n visible: date.getMonth() === month,\n };\n\n const textStyle =\n is.disabled || (is.ranging && is.outOfRange)\n ? style.textDisabled\n : is.selected || dateTS === rangeTS.end\n ? style.textSelected\n : is.highlight && !is.range\n ? style.textHighlight\n : undefined;\n\n const tooltip = !is.disabled && tooltips[dateString];\n\n return (\n <Pressable\n disabled={is.disabled || !is.visible || (is.ranging && (is.minRange || is.outOfRange))}\n key={day}\n tabIndex={is.visible && !is.disabled ? `${date.getMonth()}-${date.getDate()}` : undefined}\n onEnter={is.ranging ? () => onFocus(date) : undefined}\n onLeave={is.ranging ? () => onFocus() : undefined}\n onPress={() => onPress(date)}\n className={style.cell}\n testId={`${others.testId || 'calendar'}-${number}-${day}`}\n >\n {is.visible &&\n React.createElement(\n tooltip ? Tooltip : Fragment,\n tooltip ? { pressable: true, timestamp, top: true, visible: true, ...tooltip } : {},\n <View\n className={styles(\n style.day,\n is.range && !is.disabled && !is.outOfRange && style.dayRange,\n (is.rangeLimit || (!is.range && is.selected)) && style.daySelected,\n is.rangeLimit && dateTS === rangeTS.start && style.daySelectedStart,\n is.rangeLimit && dateTS === rangeTS.end && style.daySelectedEnd,\n !is.selected && !is.disabled && !is.minRange && !is.outOfRange && style.dayTouchable,\n )}\n >\n <Text bold={is.today || is.highlight || (is.selected && !is.range)} className={textStyle}>\n {date.getDate()}\n </Text>\n\n {captions && (\n <Text\n tiny\n className={styles(\n textStyle,\n style.caption,\n disabledPast && dateTS < todayTS && style.hide,\n !is.disabled && !is.highlight && !is.selected && !is.rangeLimit && !is.range && style.color,\n )}\n >\n {captions[dateString] || '-'}\n </Text>\n )}\n </View>,\n )}\n </Pressable>\n );\n })}\n </View>\n );\n};\n\nWeek.displayName = 'Component:Calendar:Week';\n\nWeek.propTypes = {\n captions: PropTypes.shape({}),\n disabledDatesTS: PropTypes.arrayOf(PropTypes.number),\n disabledPast: PropTypes.bool,\n focus: PropTypes.object,\n highlights: PropTypes.arrayOf(PropTypes.string),\n locale: PropTypes.string,\n format: PropTypes.string,\n from: PropTypes.instanceOf(Date),\n to: PropTypes.instanceOf(Date),\n tooltips: PropTypes.shape({}),\n year: PropTypes.number.isRequired,\n month: PropTypes.number.isRequired,\n number: PropTypes.number.isRequired,\n range: PropTypes.bool,\n rangeMinDays: PropTypes.number,\n selected: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n timestamp: PropTypes.number,\n onFocus: PropTypes.func,\n onPress: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ var _CalendarModule = _interopRequireDefault(require("./Calendar.module.css"));
|
|
|
15
15
|
var _Calendar = require("./Calendar.Month");
|
|
16
16
|
var _Calendar2 = require("./Calendar.Weekdays");
|
|
17
17
|
var _helpers2 = require("./helpers");
|
|
18
|
-
var _excluded = ["autoScroll", "disabledPast", "format", "from", "locale", "range", "rangeMaxDays", "to", "value", "vertical", "onChange", "onFocus", "onNavigation", "onScroll"],
|
|
18
|
+
var _excluded = ["autoScroll", "disabledDates", "disabledPast", "format", "from", "locale", "range", "rangeMaxDays", "to", "value", "vertical", "onChange", "onFocus", "onNavigation", "onScroll"],
|
|
19
19
|
_excluded2 = ["className", "months"];
|
|
20
20
|
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); }
|
|
21
21
|
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; }
|
|
@@ -37,6 +37,8 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
37
37
|
var Calendar = function Calendar(_ref) {
|
|
38
38
|
var _ref$autoScroll = _ref.autoScroll,
|
|
39
39
|
autoScroll = _ref$autoScroll === void 0 ? false : _ref$autoScroll,
|
|
40
|
+
_ref$disabledDates = _ref.disabledDates,
|
|
41
|
+
disabledDates = _ref$disabledDates === void 0 ? [] : _ref$disabledDates,
|
|
40
42
|
_ref$disabledPast = _ref.disabledPast,
|
|
41
43
|
disabledPast = _ref$disabledPast === void 0 ? true : _ref$disabledPast,
|
|
42
44
|
_ref$format = _ref.format,
|
|
@@ -175,6 +177,12 @@ var Calendar = function Calendar(_ref) {
|
|
|
175
177
|
var disabledNext = to && (0, _locale.parseDate)(to, format).getTime() <= (0, _helpers2.getFirstDateOfMonth)((0, _locale.dateCalc)(instance, months, 'months')).getTime();
|
|
176
178
|
props = _objectSpread(_objectSpread({}, props), {}, {
|
|
177
179
|
disabledPast: disabledPast,
|
|
180
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
181
|
+
disabledDatesTS: (0, _react.useMemo)(function () {
|
|
182
|
+
return disabledDates.map(function (date) {
|
|
183
|
+
return (0, _locale.parseDate)(date, format).getTime();
|
|
184
|
+
});
|
|
185
|
+
}, [disabledDates]),
|
|
178
186
|
focus: focus,
|
|
179
187
|
format: format,
|
|
180
188
|
from: from ? (0, _locale.parseDate)(from, format) : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","names":["Calendar","autoScroll","disabledPast","format","from","locale","range","rangeMaxDays","to","value","vertical","propVertical","onChange","onFocus","onNavigation","onScroll","others","useDevice","isMobile","useState","behavior","setBehavior","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","scrolling","setScrolling","undefined","selected","setSelected","timestamp","setTimestamp","setVertical","el","useRef","useEffect","current","getScrollTo","dateDiff","parseDate","months","date","length","dateFrom","days","next","diffMonths","UTC","handleChange","getTime","handleMonth","month","addMonths","Date","getFullYear","getMonth","handleScroll","event","now","testId","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","role","tooltips","styles","style","container","scrollview","Array","_","index","getMonthRef","displayName","propTypes","PropTypes","bool","captions","shape","disabledDates","arrayOf","string","highlights","number","rangeMinDays","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.jsx"],"sourcesContent":["import { dateCalc, dateDiff, parseDate, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { ScrollView, View } from '../../primitives';\nimport style from './Calendar.module.css';\nimport { Month } from './Calendar.Month';\nimport { Weekdays } from './Calendar.Weekdays';\nimport { getFirstDateOfMonth, getMonthRef, getScrollTo, getToday } from './helpers';\n\nexport const Calendar = ({\n autoScroll = false,\n disabledPast = true,\n format = 'YYYY/MM/DD',\n from,\n locale,\n range = false,\n rangeMaxDays,\n to,\n value,\n vertical: propVertical = false,\n onChange = () => {},\n onFocus = () => {},\n onNavigation = () => {},\n onScroll = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n\n const [behavior, setBehavior] = useState();\n const [focus, setFocus] = useState();\n const [instance, setInstance] = useState(getFirstDateOfMonth(getToday()));\n const [scrollTo, setScrollTo] = useState();\n const [scrolling, setScrolling] = useState();\n const [selected, setSelected] = useState(range ? [] : undefined);\n const [timestamp, setTimestamp] = useState();\n const [vertical, setVertical] = useState(propVertical);\n\n const el = useRef();\n\n useEffect(() => {\n setVertical(propVertical || isMobile);\n }, [isMobile, propVertical]);\n\n useEffect(() => {\n if (!vertical || !el?.current || !value[0]) return;\n\n setBehavior('auto');\n setScrollTo(getScrollTo(dateDiff(instance, parseDate(value[0], format)).months));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [el?.current, vertical]);\n\n useEffect(() => {\n let date = range ? (value?.length > 0 ? value[0] : undefined) : value;\n\n if (from && date) {\n const dateFrom = parseDate(from, format);\n const { days } = dateDiff(dateFrom, parseDate(date, format));\n\n if (days < 0) date = undefined;\n }\n if (!date) return setSelected(range ? [] : undefined);\n\n date = parseDate(date, format);\n if ((range && (selected.length === 0 || value.length === 2)) || !range) {\n const next = getFirstDateOfMonth(date);\n const { months: diffMonths } = dateDiff(instance, date);\n\n if (!vertical && !isMobile && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (vertical || isMobile) {\n autoScroll && setScrollTo(getScrollTo(diffMonths));\n setScrolling(false);\n }\n }\n\n setSelected(range ? [UTC(date), value[1] ? UTC(parseDate(value[1], format)) : undefined] : UTC(date));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [format, from, range, value]);\n\n useEffect(() => {\n from && (!value || value.length === 0 || !value[0]) && setInstance(getFirstDateOfMonth(parseDate(from, format)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [from]);\n\n useEffect(() => {\n onFocus(focus);\n }, [focus, onFocus]);\n\n const handleChange = (date) => {\n setSelected(() => {\n let next;\n\n if (!range) {\n next = date;\n } else if (selected[1] === undefined && date > selected[0]) {\n next = [selected[0], date];\n } else {\n next = [selected[0]?.getTime() === date.getTime() ? undefined : date];\n setFocus(undefined);\n }\n onChange(next);\n\n return next;\n });\n };\n\n const handleMonth = (month) => {\n setInstance(() => {\n const addMonths = range && value[0] && !value[1] ? (month > 0 ? 1 : -1) : month;\n const next = getFirstDateOfMonth(new Date(instance.getFullYear(), instance.getMonth() + addMonths));\n\n onNavigation(next);\n return next;\n });\n };\n\n const handleScroll = (event) => {\n if (vertical) setScrolling(true);\n\n onScroll(event);\n setBehavior();\n setTimestamp(Date.now());\n };\n\n const { testId, scrollEventThrottle } = others;\n let { className, months = 2, ...props } = others;\n\n const today = getToday();\n const instanceTS = instance.getTime();\n const todayMonthTS = getFirstDateOfMonth(today).getTime();\n const disabledPrevious =\n (disabledPast && instanceTS <= todayMonthTS) ||\n (from && instanceTS <= getFirstDateOfMonth(parseDate(from, format)).getTime());\n\n const disabledNext =\n to && parseDate(to, format).getTime() <= getFirstDateOfMonth(dateCalc(instance, months, 'months')).getTime();\n\n props = {\n ...props,\n disabledPast,\n focus,\n format,\n from: from ? parseDate(from, format) : undefined,\n locale,\n range,\n role: others.role || 'calendar',\n selected,\n timestamp,\n to:\n range &&\n rangeMaxDays &&\n selected[0] &&\n !selected[1] &&\n (!to || dateCalc(selected[0], rangeMaxDays, 'days') < parseDate(to, format))\n ? dateCalc(selected[0], rangeMaxDays, 'days')\n : to\n ? parseDate(to, format)\n : undefined,\n tooltips: !vertical || !scrolling ? props.tooltips : {},\n onChange: handleChange,\n onFocus: !isMobile ? setFocus : undefined,\n };\n\n if (vertical && to) months = dateDiff(today, parseDate(to, format)).months + 1;\n\n return (\n <View className={styles(style.container, vertical && style.vertical, className)} testId={testId}>\n {vertical && <Weekdays locale={locale} vertical={vertical} />}\n <ScrollView\n behavior={behavior}\n horizontal={!vertical}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={handleScroll}\n >\n {Array.from({ length: months }, (_, index) => (\n <Month\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)} // ! TODO: calc with mirai/locale\n key={index}\n ref={vertical && range ? getMonthRef({ autoScroll, el, index, instance, value }) : undefined}\n vertical={vertical}\n onNext={!vertical && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={!vertical && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n {...props}\n testId={testId}\n />\n ))}\n </ScrollView>\n </View>\n );\n};\n\nCalendar.displayName = 'Component:Calendar';\n\nCalendar.propTypes = {\n autoScroll: PropTypes.bool,\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n format: PropTypes.string,\n from: PropTypes.string,\n highlights: PropTypes.arrayOf(PropTypes.string),\n locale: PropTypes.string,\n months: PropTypes.number,\n range: PropTypes.bool,\n rangeMaxDays: PropTypes.number,\n rangeMinDays: PropTypes.number,\n to: PropTypes.string,\n tooltips: PropTypes.shape({}),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n vertical: PropTypes.bool,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNavigation: PropTypes.func,\n onScroll: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Calendar.js","names":["Calendar","autoScroll","disabledDates","disabledPast","format","from","locale","range","rangeMaxDays","to","value","vertical","propVertical","onChange","onFocus","onNavigation","onScroll","others","useDevice","isMobile","useState","behavior","setBehavior","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","scrolling","setScrolling","undefined","selected","setSelected","timestamp","setTimestamp","setVertical","el","useRef","useEffect","current","getScrollTo","dateDiff","parseDate","months","date","length","dateFrom","days","next","diffMonths","UTC","handleChange","getTime","handleMonth","month","addMonths","Date","getFullYear","getMonth","handleScroll","event","now","testId","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","disabledDatesTS","useMemo","map","role","tooltips","styles","style","container","scrollview","Array","_","index","getMonthRef","displayName","propTypes","PropTypes","bool","captions","shape","arrayOf","string","highlights","number","rangeMinDays","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.jsx"],"sourcesContent":["import { dateCalc, dateDiff, parseDate, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { ScrollView, View } from '../../primitives';\nimport style from './Calendar.module.css';\nimport { Month } from './Calendar.Month';\nimport { Weekdays } from './Calendar.Weekdays';\nimport { getFirstDateOfMonth, getMonthRef, getScrollTo, getToday } from './helpers';\n\nexport const Calendar = ({\n autoScroll = false,\n disabledDates = [],\n disabledPast = true,\n format = 'YYYY/MM/DD',\n from,\n locale,\n range = false,\n rangeMaxDays,\n to,\n value,\n vertical: propVertical = false,\n onChange = () => {},\n onFocus = () => {},\n onNavigation = () => {},\n onScroll = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n\n const [behavior, setBehavior] = useState();\n const [focus, setFocus] = useState();\n const [instance, setInstance] = useState(getFirstDateOfMonth(getToday()));\n const [scrollTo, setScrollTo] = useState();\n const [scrolling, setScrolling] = useState();\n const [selected, setSelected] = useState(range ? [] : undefined);\n const [timestamp, setTimestamp] = useState();\n const [vertical, setVertical] = useState(propVertical);\n\n const el = useRef();\n\n useEffect(() => {\n setVertical(propVertical || isMobile);\n }, [isMobile, propVertical]);\n\n useEffect(() => {\n if (!vertical || !el?.current || !value[0]) return;\n\n setBehavior('auto');\n setScrollTo(getScrollTo(dateDiff(instance, parseDate(value[0], format)).months));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [el?.current, vertical]);\n\n useEffect(() => {\n let date = range ? (value?.length > 0 ? value[0] : undefined) : value;\n\n if (from && date) {\n const dateFrom = parseDate(from, format);\n const { days } = dateDiff(dateFrom, parseDate(date, format));\n\n if (days < 0) date = undefined;\n }\n if (!date) return setSelected(range ? [] : undefined);\n\n date = parseDate(date, format);\n if ((range && (selected.length === 0 || value.length === 2)) || !range) {\n const next = getFirstDateOfMonth(date);\n const { months: diffMonths } = dateDiff(instance, date);\n\n if (!vertical && !isMobile && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (vertical || isMobile) {\n autoScroll && setScrollTo(getScrollTo(diffMonths));\n setScrolling(false);\n }\n }\n\n setSelected(range ? [UTC(date), value[1] ? UTC(parseDate(value[1], format)) : undefined] : UTC(date));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [format, from, range, value]);\n\n useEffect(() => {\n from && (!value || value.length === 0 || !value[0]) && setInstance(getFirstDateOfMonth(parseDate(from, format)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [from]);\n\n useEffect(() => {\n onFocus(focus);\n }, [focus, onFocus]);\n\n const handleChange = (date) => {\n setSelected(() => {\n let next;\n\n if (!range) {\n next = date;\n } else if (selected[1] === undefined && date > selected[0]) {\n next = [selected[0], date];\n } else {\n next = [selected[0]?.getTime() === date.getTime() ? undefined : date];\n setFocus(undefined);\n }\n onChange(next);\n\n return next;\n });\n };\n\n const handleMonth = (month) => {\n setInstance(() => {\n const addMonths = range && value[0] && !value[1] ? (month > 0 ? 1 : -1) : month;\n const next = getFirstDateOfMonth(new Date(instance.getFullYear(), instance.getMonth() + addMonths));\n\n onNavigation(next);\n return next;\n });\n };\n\n const handleScroll = (event) => {\n if (vertical) setScrolling(true);\n\n onScroll(event);\n setBehavior();\n setTimestamp(Date.now());\n };\n\n const { testId, scrollEventThrottle } = others;\n let { className, months = 2, ...props } = others;\n\n const today = getToday();\n const instanceTS = instance.getTime();\n const todayMonthTS = getFirstDateOfMonth(today).getTime();\n const disabledPrevious =\n (disabledPast && instanceTS <= todayMonthTS) ||\n (from && instanceTS <= getFirstDateOfMonth(parseDate(from, format)).getTime());\n\n const disabledNext =\n to && parseDate(to, format).getTime() <= getFirstDateOfMonth(dateCalc(instance, months, 'months')).getTime();\n\n props = {\n ...props,\n disabledPast,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n disabledDatesTS: useMemo(() => disabledDates.map((date) => parseDate(date, format).getTime()), [disabledDates]),\n focus,\n format,\n from: from ? parseDate(from, format) : undefined,\n locale,\n range,\n role: others.role || 'calendar',\n selected,\n timestamp,\n to:\n range &&\n rangeMaxDays &&\n selected[0] &&\n !selected[1] &&\n (!to || dateCalc(selected[0], rangeMaxDays, 'days') < parseDate(to, format))\n ? dateCalc(selected[0], rangeMaxDays, 'days')\n : to\n ? parseDate(to, format)\n : undefined,\n tooltips: !vertical || !scrolling ? props.tooltips : {},\n onChange: handleChange,\n onFocus: !isMobile ? setFocus : undefined,\n };\n\n if (vertical && to) months = dateDiff(today, parseDate(to, format)).months + 1;\n\n return (\n <View className={styles(style.container, vertical && style.vertical, className)} testId={testId}>\n {vertical && <Weekdays locale={locale} vertical={vertical} />}\n <ScrollView\n behavior={behavior}\n horizontal={!vertical}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={handleScroll}\n >\n {Array.from({ length: months }, (_, index) => (\n <Month\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)} // ! TODO: calc with mirai/locale\n key={index}\n ref={vertical && range ? getMonthRef({ autoScroll, el, index, instance, value }) : undefined}\n vertical={vertical}\n onNext={!vertical && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={!vertical && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n {...props}\n testId={testId}\n />\n ))}\n </ScrollView>\n </View>\n );\n};\n\nCalendar.displayName = 'Component:Calendar';\n\nCalendar.propTypes = {\n autoScroll: PropTypes.bool,\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n format: PropTypes.string,\n from: PropTypes.string,\n highlights: PropTypes.arrayOf(PropTypes.string),\n locale: PropTypes.string,\n months: PropTypes.number,\n range: PropTypes.bool,\n rangeMaxDays: PropTypes.number,\n rangeMinDays: PropTypes.number,\n to: PropTypes.string,\n tooltips: PropTypes.shape({}),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n vertical: PropTypes.bool,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNavigation: PropTypes.func,\n onScroll: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ var _primitives = require("../../primitives");
|
|
|
11
11
|
var _partials = require("../InputText/partials");
|
|
12
12
|
var _InputOption = require("./InputOption.constants");
|
|
13
13
|
var _InputOptionModule = _interopRequireDefault(require("./InputOption.module.css"));
|
|
14
|
-
var _excluded = ["checked", "disabled", "indeterminate", "label", "name", "required", "showRequired", "small", "type", "value", "onChange"];
|
|
14
|
+
var _excluded = ["checked", "disabled", "error", "indeterminate", "label", "name", "required", "showRequired", "small", "type", "value", "onChange"];
|
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
16
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
17
17
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
@@ -19,6 +19,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
19
19
|
var InputOption = function InputOption(_ref) {
|
|
20
20
|
var checked = _ref.checked,
|
|
21
21
|
disabled = _ref.disabled,
|
|
22
|
+
error = _ref.error,
|
|
22
23
|
indeterminate = _ref.indeterminate,
|
|
23
24
|
label = _ref.label,
|
|
24
25
|
name = _ref.name,
|
|
@@ -45,6 +46,7 @@ var InputOption = function InputOption(_ref) {
|
|
|
45
46
|
}), /*#__PURE__*/_react.default.createElement(Primitive, {
|
|
46
47
|
checked: checked || type === _InputOption.CHECKBOX && indeterminate,
|
|
47
48
|
disabled: disabled,
|
|
49
|
+
error: error,
|
|
48
50
|
name: name,
|
|
49
51
|
type: type,
|
|
50
52
|
value: value
|
|
@@ -65,6 +67,7 @@ InputOption.displayName = 'Component:InputOption';
|
|
|
65
67
|
InputOption.propTypes = {
|
|
66
68
|
checked: _propTypes.default.bool,
|
|
67
69
|
disabled: _propTypes.default.bool,
|
|
70
|
+
error: _propTypes.default.bool,
|
|
68
71
|
indeterminate: _propTypes.default.bool,
|
|
69
72
|
label: _propTypes.default.string,
|
|
70
73
|
name: _propTypes.default.string.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputOption.js","names":["InputOption","checked","disabled","indeterminate","label","name","required","showRequired","small","type","CHECKBOX","value","onChange","others","Primitive","Checkbox","RADIO","Radio","Switch","handleChange","event","SWITCH","includes","role","styles","style","inputOption","className","ICON","CHECK","REMOVE","icon","undefined","displayName","propTypes","PropTypes","bool","string","isRequired","oneOf","oneOfType","func"],"sources":["../../../src/components/InputOption/InputOption.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Checkbox, Icon, ICON, Pressable, Radio, Switch } from '../../primitives';\nimport { Label } from '../InputText/partials';\nimport { CHECKBOX, RADIO, SWITCH } from './InputOption.constants';\nimport style from './InputOption.module.css';\n\nconst InputOption = ({\n checked,\n disabled,\n indeterminate,\n label,\n name,\n required,\n showRequired = false,\n small,\n type = CHECKBOX,\n value = '',\n onChange = () => {},\n ...others\n}) => {\n const Primitive = type === CHECKBOX ? Checkbox : type === RADIO ? Radio : Switch;\n\n const handleChange = (event) => {\n onChange([CHECKBOX, SWITCH].includes(type) ? !checked : value, event);\n };\n\n return (\n <Pressable\n {...others}\n role={others.role || 'input-option'}\n preventDefault={false}\n onPress={handleChange}\n className={styles(style.inputOption, others.className)}\n >\n <Primitive\n checked={checked || (type === CHECKBOX && indeterminate)}\n disabled={disabled}\n name={name}\n type={type}\n value={value}\n >\n {type === CHECKBOX && (checked || indeterminate) ? (\n <Icon value={checked ? ICON.CHECK : ICON.REMOVE} className={style.icon} />\n ) : undefined}\n </Primitive>\n {label && (\n <Label\n action={!small}\n small={small}\n {...{ disabled, label, required: showRequired && required }}\n className={style.label}\n />\n )}\n </Pressable>\n );\n};\n\nInputOption.displayName = 'Component:InputOption';\n\nInputOption.propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n indeterminate: PropTypes.bool,\n label: PropTypes.string,\n name: PropTypes.string.isRequired,\n required: PropTypes.bool,\n showRequired: PropTypes.bool,\n small: PropTypes.bool,\n type: PropTypes.oneOf([CHECKBOX, RADIO, SWITCH]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n onChange: PropTypes.func,\n};\n\nexport { InputOption };\n"],"mappings":";;;;;;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AAA6C;AAAA;AAAA;AAAA;AAAA;AAE7C,IAAMA,WAAW,GAAG,SAAdA,WAAW,
|
|
1
|
+
{"version":3,"file":"InputOption.js","names":["InputOption","checked","disabled","error","indeterminate","label","name","required","showRequired","small","type","CHECKBOX","value","onChange","others","Primitive","Checkbox","RADIO","Radio","Switch","handleChange","event","SWITCH","includes","role","styles","style","inputOption","className","ICON","CHECK","REMOVE","icon","undefined","displayName","propTypes","PropTypes","bool","string","isRequired","oneOf","oneOfType","func"],"sources":["../../../src/components/InputOption/InputOption.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Checkbox, Icon, ICON, Pressable, Radio, Switch } from '../../primitives';\nimport { Label } from '../InputText/partials';\nimport { CHECKBOX, RADIO, SWITCH } from './InputOption.constants';\nimport style from './InputOption.module.css';\n\nconst InputOption = ({\n checked,\n disabled,\n error,\n indeterminate,\n label,\n name,\n required,\n showRequired = false,\n small,\n type = CHECKBOX,\n value = '',\n onChange = () => {},\n ...others\n}) => {\n const Primitive = type === CHECKBOX ? Checkbox : type === RADIO ? Radio : Switch;\n\n const handleChange = (event) => {\n onChange([CHECKBOX, SWITCH].includes(type) ? !checked : value, event);\n };\n\n return (\n <Pressable\n {...others}\n role={others.role || 'input-option'}\n preventDefault={false}\n onPress={handleChange}\n className={styles(style.inputOption, others.className)}\n >\n <Primitive\n checked={checked || (type === CHECKBOX && indeterminate)}\n disabled={disabled}\n error={error}\n name={name}\n type={type}\n value={value}\n >\n {type === CHECKBOX && (checked || indeterminate) ? (\n <Icon value={checked ? ICON.CHECK : ICON.REMOVE} className={style.icon} />\n ) : undefined}\n </Primitive>\n {label && (\n <Label\n action={!small}\n small={small}\n {...{ disabled, label, required: showRequired && required }}\n className={style.label}\n />\n )}\n </Pressable>\n );\n};\n\nInputOption.displayName = 'Component:InputOption';\n\nInputOption.propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n indeterminate: PropTypes.bool,\n label: PropTypes.string,\n name: PropTypes.string.isRequired,\n required: PropTypes.bool,\n showRequired: PropTypes.bool,\n small: PropTypes.bool,\n type: PropTypes.oneOf([CHECKBOX, RADIO, SWITCH]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n onChange: PropTypes.func,\n};\n\nexport { InputOption };\n"],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ var _default = {
|
|
|
22
22
|
};
|
|
23
23
|
exports.default = _default;
|
|
24
24
|
var Story = function Story(props) {
|
|
25
|
-
var _useState = (0, _react.useState)(
|
|
25
|
+
var _useState = (0, _react.useState)(false),
|
|
26
26
|
_useState2 = _slicedToArray(_useState, 2),
|
|
27
27
|
checked = _useState2[0],
|
|
28
28
|
setChecked = _useState2[1];
|
|
@@ -43,6 +43,7 @@ exports.Story = Story;
|
|
|
43
43
|
Story.storyName = 'InputOption';
|
|
44
44
|
Story.args = {
|
|
45
45
|
disabled: false,
|
|
46
|
+
error: false,
|
|
46
47
|
indeterminate: false,
|
|
47
48
|
label: 'label',
|
|
48
49
|
name: 'name',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputOption.stories.js","names":["title","Story","props","useState","checked","setChecked","handleChange","next","others","console","log","storyName","args","disabled","indeterminate","label","name","required","showRequired","small","type","value","testId","style","argTypes","options","CHECKBOX","RADIO","SWITCH","control","defaultValue"],"sources":["../../../src/components/InputOption/InputOption.stories.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { InputOption } from './InputOption';\nimport { CHECKBOX, RADIO, SWITCH } from './InputOption.constants';\n\nexport default { title: 'Components' };\n\nexport const Story = (props) => {\n const [checked, setChecked] = useState(
|
|
1
|
+
{"version":3,"file":"InputOption.stories.js","names":["title","Story","props","useState","checked","setChecked","handleChange","next","others","console","log","storyName","args","disabled","error","indeterminate","label","name","required","showRequired","small","type","value","testId","style","argTypes","options","CHECKBOX","RADIO","SWITCH","control","defaultValue"],"sources":["../../../src/components/InputOption/InputOption.stories.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { InputOption } from './InputOption';\nimport { CHECKBOX, RADIO, SWITCH } from './InputOption.constants';\n\nexport default { title: 'Components' };\n\nexport const Story = (props) => {\n const [checked, setChecked] = useState(false);\n\n const handleChange = (next, ...others) => {\n setChecked(next);\n console.log('<InputOption>::onChange', next, ...others);\n };\n\n return <InputOption {...props} checked={checked} onChange={handleChange} />;\n};\n\nStory.storyName = 'InputOption';\n\nStory.args = {\n disabled: false,\n error: false,\n indeterminate: false,\n label: 'label',\n name: 'name',\n required: false,\n showRequired: false,\n small: false,\n type: 'checkbox',\n value: 'value',\n // inherited properties\n testId: 'test-story',\n style: {},\n};\n\nStory.argTypes = {\n type: {\n options: [CHECKBOX, RADIO, SWITCH],\n control: { type: 'select' },\n defaultValue: CHECKBOX,\n },\n};\n"],"mappings":";;;;;;;AAAA;AAEA;AACA;AAAkE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAEnD;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK,EAAK;EAC9B,gBAA8B,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAtCC,OAAO;IAAEC,UAAU;EAE1B,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAAIC,IAAI,EAAgB;IAAA;IACxCF,UAAU,CAACE,IAAI,CAAC;IAAC,kCADYC,MAAM;MAANA,MAAM;IAAA;IAEnC,YAAAC,OAAO,EAACC,GAAG,kBAAC,yBAAyB,EAAEH,IAAI,SAAKC,MAAM,EAAC;EACzD,CAAC;EAED,oBAAO,6BAAC,wBAAW,eAAKN,KAAK;IAAE,OAAO,EAAEE,OAAQ;IAAC,QAAQ,EAAEE;EAAa,GAAG;AAC7E,CAAC;AAAC;AAEFL,KAAK,CAACU,SAAS,GAAG,aAAa;AAE/BV,KAAK,CAACW,IAAI,GAAG;EACXC,QAAQ,EAAE,KAAK;EACfC,KAAK,EAAE,KAAK;EACZC,aAAa,EAAE,KAAK;EACpBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,KAAK;EACfC,YAAY,EAAE,KAAK;EACnBC,KAAK,EAAE,KAAK;EACZC,IAAI,EAAE,UAAU;EAChBC,KAAK,EAAE,OAAO;EACd;EACAC,MAAM,EAAE,YAAY;EACpBC,KAAK,EAAE,CAAC;AACV,CAAC;AAEDvB,KAAK,CAACwB,QAAQ,GAAG;EACfJ,IAAI,EAAE;IACJK,OAAO,EAAE,CAACC,sBAAQ,EAAEC,mBAAK,EAAEC,oBAAM,CAAC;IAClCC,OAAO,EAAE;MAAET,IAAI,EAAE;IAAS,CAAC;IAC3BU,YAAY,EAAEJ;EAChB;AACF,CAAC"}
|
|
@@ -122,6 +122,25 @@ exports[`primitive:<InputOption> prop:disabled 1`] = `
|
|
|
122
122
|
</DocumentFragment>
|
|
123
123
|
`;
|
|
124
124
|
|
|
125
|
+
exports[`primitive:<InputOption> prop:error 1`] = `
|
|
126
|
+
<DocumentFragment>
|
|
127
|
+
<div
|
|
128
|
+
class="pressable inputOption"
|
|
129
|
+
>
|
|
130
|
+
<div
|
|
131
|
+
class="checkbox"
|
|
132
|
+
>
|
|
133
|
+
<input
|
|
134
|
+
class="error input"
|
|
135
|
+
name="name"
|
|
136
|
+
type="checkbox"
|
|
137
|
+
value=""
|
|
138
|
+
/>
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
</DocumentFragment>
|
|
142
|
+
`;
|
|
143
|
+
|
|
125
144
|
exports[`primitive:<InputOption> prop:indeterminate && disabled 1`] = `
|
|
126
145
|
<DocumentFragment>
|
|
127
146
|
<div
|
|
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
9
9
|
var _helpers = require("../../helpers");
|
|
10
10
|
var _Primitive = require("../Primitive");
|
|
11
11
|
var _CheckboxModule = _interopRequireDefault(require("./Checkbox.module.css"));
|
|
12
|
-
var _excluded = ["checked", "children", "disabled", "name", "value", "onChange"];
|
|
12
|
+
var _excluded = ["checked", "children", "disabled", "error", "name", "value", "onChange"];
|
|
13
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
14
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
15
15
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
@@ -18,6 +18,7 @@ var Checkbox = function Checkbox(_ref) {
|
|
|
18
18
|
checked = _ref$checked === void 0 ? false : _ref$checked,
|
|
19
19
|
children = _ref.children,
|
|
20
20
|
disabled = _ref.disabled,
|
|
21
|
+
error = _ref.error,
|
|
21
22
|
name = _ref.name,
|
|
22
23
|
_ref$value = _ref.value,
|
|
23
24
|
value = _ref$value === void 0 ? '' : _ref$value,
|
|
@@ -42,7 +43,7 @@ var Checkbox = function Checkbox(_ref) {
|
|
|
42
43
|
value: value,
|
|
43
44
|
onChange: handleChange,
|
|
44
45
|
testId: others.testId,
|
|
45
|
-
className: (0, _helpers.styles)(checked && _CheckboxModule.default.checked, _CheckboxModule.default.input)
|
|
46
|
+
className: (0, _helpers.styles)(checked && _CheckboxModule.default.checked, error && !checked && !disabled && _CheckboxModule.default.error, _CheckboxModule.default.input)
|
|
46
47
|
}), children);
|
|
47
48
|
};
|
|
48
49
|
exports.Checkbox = Checkbox;
|
|
@@ -51,6 +52,7 @@ Checkbox.propTypes = {
|
|
|
51
52
|
checked: _propTypes.default.bool,
|
|
52
53
|
children: _propTypes.default.node,
|
|
53
54
|
disabled: _propTypes.default.bool,
|
|
55
|
+
error: _propTypes.default.bool,
|
|
54
56
|
name: _propTypes.default.string.isRequired,
|
|
55
57
|
value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
|
|
56
58
|
onChange: _propTypes.default.func
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","names":["Checkbox","checked","children","disabled","name","value","onChange","others","handleChange","event","target","role","styles","style","checkbox","className","testId","input","displayName","propTypes","PropTypes","bool","node","string","isRequired","oneOfType","func"],"sources":["../../../src/primitives/Checkbox/Checkbox.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Primitive } from '../Primitive';\nimport style from './Checkbox.module.css';\n\nconst Checkbox = ({ checked = false, children, disabled, name, value = '', onChange = () => {}, ...others }) => {\n const handleChange = (event) => {\n if (disabled) return;\n\n const {\n target: { checked },\n } = event;\n onChange(checked, event);\n };\n\n return (\n <Primitive\n role={others.role || 'checkbox'}\n className={styles(style.checkbox, others.className)}\n style={others.style}\n >\n <Primitive\n checked={checked}\n disabled={disabled}\n name={name}\n tag=\"input\"\n type=\"checkbox\"\n value={value}\n onChange={handleChange}\n testId={others.testId}\n className={styles(checked && style.checked, style.input)}\n />\n {children}\n </Primitive>\n );\n};\n\nCheckbox.displayName = 'Primitive:Checkbox';\n\nCheckbox.propTypes = {\n checked: PropTypes.bool,\n children: PropTypes.node,\n disabled: PropTypes.bool,\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n onChange: PropTypes.func,\n};\n\nexport { Checkbox };\n"],"mappings":";;;;;;AAAA;AACA;AAEA;AACA;AACA;AAA0C;AAAA;AAAA;AAAA;AAE1C,IAAMA,QAAQ,GAAG,SAAXA,QAAQ,
|
|
1
|
+
{"version":3,"file":"Checkbox.js","names":["Checkbox","checked","children","disabled","error","name","value","onChange","others","handleChange","event","target","role","styles","style","checkbox","className","testId","input","displayName","propTypes","PropTypes","bool","node","string","isRequired","oneOfType","func"],"sources":["../../../src/primitives/Checkbox/Checkbox.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Primitive } from '../Primitive';\nimport style from './Checkbox.module.css';\n\nconst Checkbox = ({ checked = false, children, disabled, error, name, value = '', onChange = () => {}, ...others }) => {\n const handleChange = (event) => {\n if (disabled) return;\n\n const {\n target: { checked },\n } = event;\n onChange(checked, event);\n };\n\n return (\n <Primitive\n role={others.role || 'checkbox'}\n className={styles(style.checkbox, others.className)}\n style={others.style}\n >\n <Primitive\n checked={checked}\n disabled={disabled}\n name={name}\n tag=\"input\"\n type=\"checkbox\"\n value={value}\n onChange={handleChange}\n testId={others.testId}\n className={styles(checked && style.checked, error && !checked && !disabled && style.error, style.input)}\n />\n {children}\n </Primitive>\n );\n};\n\nCheckbox.displayName = 'Primitive:Checkbox';\n\nCheckbox.propTypes = {\n checked: PropTypes.bool,\n children: PropTypes.node,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n name: PropTypes.string.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n onChange: PropTypes.func,\n};\n\nexport { Checkbox };\n"],"mappings":";;;;;;AAAA;AACA;AAEA;AACA;AACA;AAA0C;AAAA;AAAA;AAAA;AAE1C,IAAMA,QAAQ,GAAG,SAAXA,QAAQ,OAAyG;EAAA,wBAAnGC,OAAO;IAAPA,OAAO,6BAAG,KAAK;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,KAAK,QAALA,KAAK;IAAEC,IAAI,QAAJA,IAAI;IAAA,kBAAEC,KAAK;IAALA,KAAK,2BAAG,EAAE;IAAA,qBAAEC,QAAQ;IAARA,QAAQ,8BAAG,YAAM,CAAC,CAAC;IAAKC,MAAM;EAC9G,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAAIC,KAAK,EAAK;IAC9B,IAAIP,QAAQ,EAAE;IAEd,IACYF,OAAO,GACfS,KAAK,CADPC,MAAM,CAAIV,OAAO;IAEnBM,QAAQ,CAACN,OAAO,EAAES,KAAK,CAAC;EAC1B,CAAC;EAED,oBACE,6BAAC,oBAAS;IACR,IAAI,EAAEF,MAAM,CAACI,IAAI,IAAI,UAAW;IAChC,SAAS,EAAE,IAAAC,eAAM,EAACC,uBAAK,CAACC,QAAQ,EAAEP,MAAM,CAACQ,SAAS,CAAE;IACpD,KAAK,EAAER,MAAM,CAACM;EAAM,gBAEpB,6BAAC,oBAAS;IACR,OAAO,EAAEb,OAAQ;IACjB,QAAQ,EAAEE,QAAS;IACnB,IAAI,EAAEE,IAAK;IACX,GAAG,EAAC,OAAO;IACX,IAAI,EAAC,UAAU;IACf,KAAK,EAAEC,KAAM;IACb,QAAQ,EAAEG,YAAa;IACvB,MAAM,EAAED,MAAM,CAACS,MAAO;IACtB,SAAS,EAAE,IAAAJ,eAAM,EAACZ,OAAO,IAAIa,uBAAK,CAACb,OAAO,EAAEG,KAAK,IAAI,CAACH,OAAO,IAAI,CAACE,QAAQ,IAAIW,uBAAK,CAACV,KAAK,EAAEU,uBAAK,CAACI,KAAK;EAAE,EACxG,EACDhB,QAAQ,CACC;AAEhB,CAAC;AAAC;AAEFF,QAAQ,CAACmB,WAAW,GAAG,oBAAoB;AAE3CnB,QAAQ,CAACoB,SAAS,GAAG;EACnBnB,OAAO,EAAEoB,kBAAS,CAACC,IAAI;EACvBpB,QAAQ,EAAEmB,kBAAS,CAACE,IAAI;EACxBpB,QAAQ,EAAEkB,kBAAS,CAACC,IAAI;EACxBlB,KAAK,EAAEiB,kBAAS,CAACC,IAAI;EACrBjB,IAAI,EAAEgB,kBAAS,CAACG,MAAM,CAACC,UAAU;EACjCnB,KAAK,EAAEe,kBAAS,CAACK,SAAS,CAAC,CAACL,kBAAS,CAACG,MAAM,EAAEH,kBAAS,CAACC,IAAI,CAAC,CAAC;EAC9Df,QAAQ,EAAEc,kBAAS,CAACM;AACtB,CAAC"}
|
|
@@ -36,8 +36,13 @@
|
|
|
36
36
|
border-color: var(--mirai-ui-checkbox-checked);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
.checkbox input:not(:disabled).error {
|
|
40
|
+
border-color: var(--mirai-ui-error);
|
|
41
|
+
border-width: calc(var(--mirai-ui-border-width) * 2);
|
|
42
|
+
}
|
|
43
|
+
|
|
39
44
|
/* -- reset defaults -------------------------------------------------------- */
|
|
40
45
|
.checkbox input.input {
|
|
41
46
|
margin-right: 0;
|
|
42
47
|
top: 0;
|
|
43
|
-
}
|
|
48
|
+
}
|
|
@@ -80,6 +80,37 @@ exports[`primitive:<Checkbox> prop:disabled 1`] = `
|
|
|
80
80
|
</DocumentFragment>
|
|
81
81
|
`;
|
|
82
82
|
|
|
83
|
+
exports[`primitive:<Checkbox> prop:error && disabled 1`] = `
|
|
84
|
+
<DocumentFragment>
|
|
85
|
+
<div
|
|
86
|
+
class="checkbox"
|
|
87
|
+
>
|
|
88
|
+
<input
|
|
89
|
+
class="input"
|
|
90
|
+
disabled=""
|
|
91
|
+
name="name"
|
|
92
|
+
type="checkbox"
|
|
93
|
+
value=""
|
|
94
|
+
/>
|
|
95
|
+
</div>
|
|
96
|
+
</DocumentFragment>
|
|
97
|
+
`;
|
|
98
|
+
|
|
99
|
+
exports[`primitive:<Checkbox> prop:error 1`] = `
|
|
100
|
+
<DocumentFragment>
|
|
101
|
+
<div
|
|
102
|
+
class="checkbox"
|
|
103
|
+
>
|
|
104
|
+
<input
|
|
105
|
+
class="error input"
|
|
106
|
+
name="name"
|
|
107
|
+
type="checkbox"
|
|
108
|
+
value=""
|
|
109
|
+
/>
|
|
110
|
+
</div>
|
|
111
|
+
</DocumentFragment>
|
|
112
|
+
`;
|
|
113
|
+
|
|
83
114
|
exports[`primitive:<Checkbox> prop:value 1`] = `
|
|
84
115
|
<DocumentFragment>
|
|
85
116
|
<div
|
|
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
9
9
|
var _helpers = require("../../helpers");
|
|
10
10
|
var _Primitive = require("../Primitive");
|
|
11
11
|
var _SwitchModule = _interopRequireDefault(require("./Switch.module.css"));
|
|
12
|
-
var _excluded = ["checked", "disabled", "name", "onChange"];
|
|
12
|
+
var _excluded = ["checked", "disabled", "error", "name", "onChange"];
|
|
13
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
14
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
15
15
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
@@ -18,6 +18,7 @@ var Switch = function Switch(_ref) {
|
|
|
18
18
|
var _ref$checked = _ref.checked,
|
|
19
19
|
checked = _ref$checked === void 0 ? false : _ref$checked,
|
|
20
20
|
disabled = _ref.disabled,
|
|
21
|
+
error = _ref.error,
|
|
21
22
|
name = _ref.name,
|
|
22
23
|
onChange = _ref.onChange,
|
|
23
24
|
others = _objectWithoutProperties(_ref, _excluded);
|
|
@@ -36,7 +37,7 @@ var Switch = function Switch(_ref) {
|
|
|
36
37
|
type: "checkbox",
|
|
37
38
|
onChange: function onChange() {}
|
|
38
39
|
}), /*#__PURE__*/_react.default.createElement(_Primitive.Primitive, {
|
|
39
|
-
className: _SwitchModule.default.area
|
|
40
|
+
className: (0, _helpers.styles)(_SwitchModule.default.area, error && !checked && !disabled && _SwitchModule.default.error)
|
|
40
41
|
}, /*#__PURE__*/_react.default.createElement(_Primitive.Primitive, {
|
|
41
42
|
tag: "span",
|
|
42
43
|
className: _SwitchModule.default.toggle
|
|
@@ -47,6 +48,7 @@ Switch.displayName = 'Primitive:Switch';
|
|
|
47
48
|
Switch.propTypes = {
|
|
48
49
|
checked: _propTypes.default.bool,
|
|
49
50
|
disabled: _propTypes.default.bool,
|
|
51
|
+
error: _propTypes.default.bool,
|
|
50
52
|
name: _propTypes.default.string.isRequired,
|
|
51
53
|
onChange: _propTypes.default.func
|
|
52
54
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","names":["Switch","checked","disabled","name","onChange","others","handleChange","event","role","undefined","styles","style","switch","className","area","toggle","displayName","propTypes","PropTypes","bool","string","isRequired","func"],"sources":["../../../src/primitives/Switch/Switch.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Primitive } from '../Primitive';\nimport style from './Switch.module.css';\n\nconst Switch = ({ checked = false, disabled, name, onChange, ...others }) => {\n const handleChange = (event) => {\n onChange && onChange(!checked, event);\n };\n\n return (\n <Primitive\n {...others}\n role={others.role || 'switch'}\n onClick={!disabled ? handleChange : undefined}\n className={styles(style.switch, others.className)}\n >\n <Primitive checked={checked} disabled={disabled} name={name} tag=\"input\" type=\"checkbox\" onChange={() => {}} />\n <Primitive className={style.area}>\n <Primitive tag=\"span\" className={style.toggle} />\n </Primitive>\n </Primitive>\n );\n};\n\nSwitch.displayName = 'Primitive:Switch';\n\nSwitch.propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n name: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n};\n\nexport { Switch };\n"],"mappings":";;;;;;AAAA;AACA;AAEA;AACA;AACA;AAAwC;AAAA;AAAA;AAAA;AAAA;AAExC,IAAMA,MAAM,GAAG,SAATA,MAAM,
|
|
1
|
+
{"version":3,"file":"Switch.js","names":["Switch","checked","disabled","error","name","onChange","others","handleChange","event","role","undefined","styles","style","switch","className","area","toggle","displayName","propTypes","PropTypes","bool","string","isRequired","func"],"sources":["../../../src/primitives/Switch/Switch.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Primitive } from '../Primitive';\nimport style from './Switch.module.css';\n\nconst Switch = ({ checked = false, disabled, error, name, onChange, ...others }) => {\n const handleChange = (event) => {\n onChange && onChange(!checked, event);\n };\n\n return (\n <Primitive\n {...others}\n role={others.role || 'switch'}\n onClick={!disabled ? handleChange : undefined}\n className={styles(style.switch, others.className)}\n >\n <Primitive checked={checked} disabled={disabled} name={name} tag=\"input\" type=\"checkbox\" onChange={() => {}} />\n <Primitive className={styles(style.area, error && !checked && !disabled && style.error)}>\n <Primitive tag=\"span\" className={style.toggle} />\n </Primitive>\n </Primitive>\n );\n};\n\nSwitch.displayName = 'Primitive:Switch';\n\nSwitch.propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n name: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n};\n\nexport { Switch };\n"],"mappings":";;;;;;AAAA;AACA;AAEA;AACA;AACA;AAAwC;AAAA;AAAA;AAAA;AAAA;AAExC,IAAMA,MAAM,GAAG,SAATA,MAAM,OAAwE;EAAA,wBAAlEC,OAAO;IAAPA,OAAO,6BAAG,KAAK;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,KAAK,QAALA,KAAK;IAAEC,IAAI,QAAJA,IAAI;IAAEC,QAAQ,QAARA,QAAQ;IAAKC,MAAM;EAC3E,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAAIC,KAAK,EAAK;IAC9BH,QAAQ,IAAIA,QAAQ,CAAC,CAACJ,OAAO,EAAEO,KAAK,CAAC;EACvC,CAAC;EAED,oBACE,6BAAC,oBAAS,eACJF,MAAM;IACV,IAAI,EAAEA,MAAM,CAACG,IAAI,IAAI,QAAS;IAC9B,OAAO,EAAE,CAACP,QAAQ,GAAGK,YAAY,GAAGG,SAAU;IAC9C,SAAS,EAAE,IAAAC,eAAM,EAACC,qBAAK,CAACC,MAAM,EAAEP,MAAM,CAACQ,SAAS;EAAE,iBAElD,6BAAC,oBAAS;IAAC,OAAO,EAAEb,OAAQ;IAAC,QAAQ,EAAEC,QAAS;IAAC,IAAI,EAAEE,IAAK;IAAC,GAAG,EAAC,OAAO;IAAC,IAAI,EAAC,UAAU;IAAC,QAAQ,EAAE,oBAAM,CAAC;EAAE,EAAG,eAC/G,6BAAC,oBAAS;IAAC,SAAS,EAAE,IAAAO,eAAM,EAACC,qBAAK,CAACG,IAAI,EAAEZ,KAAK,IAAI,CAACF,OAAO,IAAI,CAACC,QAAQ,IAAIU,qBAAK,CAACT,KAAK;EAAE,gBACtF,6BAAC,oBAAS;IAAC,GAAG,EAAC,MAAM;IAAC,SAAS,EAAES,qBAAK,CAACI;EAAO,EAAG,CACvC,CACF;AAEhB,CAAC;AAAC;AAEFhB,MAAM,CAACiB,WAAW,GAAG,kBAAkB;AAEvCjB,MAAM,CAACkB,SAAS,GAAG;EACjBjB,OAAO,EAAEkB,kBAAS,CAACC,IAAI;EACvBlB,QAAQ,EAAEiB,kBAAS,CAACC,IAAI;EACxBjB,KAAK,EAAEgB,kBAAS,CAACC,IAAI;EACrBhB,IAAI,EAAEe,kBAAS,CAACE,MAAM,CAACC,UAAU;EACjCjB,QAAQ,EAAEc,kBAAS,CAACI;AACtB,CAAC"}
|
|
@@ -30,6 +30,10 @@
|
|
|
30
30
|
width: calc(var(--mirai-ui-switch-size) * 2);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
.switch .area.error {
|
|
34
|
+
background-color: var(--mirai-ui-error);
|
|
35
|
+
}
|
|
36
|
+
|
|
33
37
|
.switch .toggle {
|
|
34
38
|
background-color: var(--mirai-ui-switch-base);
|
|
35
39
|
border-radius: calc(var(--mirai-ui-switch-border-radius) - var(--mirai-ui-switch-border-size));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.stories.js","names":["title","Story","props","useState","checked","setChecked","handleChange","next","others","console","log","storyName","args","disabled","name","testId","style","argTypes"],"sources":["../../../src/primitives/Switch/Switch.stories.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { Switch } from './Switch';\n\nexport default { title: 'Primitives' };\n\nexport const Story = (props) => {\n const [checked, setChecked] = useState(false);\n\n const handleChange = (next, ...others) => {\n console.log('<Switch>::onChange', next, ...others);\n setChecked(!checked);\n };\n\n return <Switch {...props} checked={checked} onChange={handleChange} />;\n};\n\nStory.storyName = 'Switch';\n\nStory.args = {\n checked: false,\n disabled: false,\n name: 'Switch',\n // inherited properties\n testId: 'test-story',\n style: {},\n};\n\nStory.argTypes = {};\n"],"mappings":";;;;;;;AAAA;AAEA;AAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAEnB;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK,EAAK;EAC9B,gBAA8B,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAtCC,OAAO;IAAEC,UAAU;EAE1B,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAAIC,IAAI,EAAgB;IAAA;IAAA,kCAAXC,MAAM;MAANA,MAAM;IAAA;IACnC,YAAAC,OAAO,EAACC,GAAG,kBAAC,oBAAoB,EAAEH,IAAI,SAAKC,MAAM,EAAC;IAClDH,UAAU,CAAC,CAACD,OAAO,CAAC;EACtB,CAAC;EAED,oBAAO,6BAAC,cAAM,eAAKF,KAAK;IAAE,OAAO,EAAEE,OAAQ;IAAC,QAAQ,EAAEE;EAAa,GAAG;AACxE,CAAC;AAAC;AAEFL,KAAK,CAACU,SAAS,GAAG,QAAQ;AAE1BV,KAAK,CAACW,IAAI,GAAG;EACXR,OAAO,EAAE,KAAK;EACdS,QAAQ,EAAE,KAAK;EACfC,IAAI,EAAE,QAAQ;EACd;EACAC,MAAM,EAAE,YAAY;EACpBC,KAAK,EAAE,CAAC;AACV,CAAC;
|
|
1
|
+
{"version":3,"file":"Switch.stories.js","names":["title","Story","props","useState","checked","setChecked","handleChange","next","others","console","log","storyName","args","disabled","error","name","testId","style","argTypes"],"sources":["../../../src/primitives/Switch/Switch.stories.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { Switch } from './Switch';\n\nexport default { title: 'Primitives' };\n\nexport const Story = (props) => {\n const [checked, setChecked] = useState(false);\n\n const handleChange = (next, ...others) => {\n console.log('<Switch>::onChange', next, ...others);\n setChecked(!checked);\n };\n\n return <Switch {...props} checked={checked} onChange={handleChange} />;\n};\n\nStory.storyName = 'Switch';\n\nStory.args = {\n checked: false,\n disabled: false,\n error: false,\n name: 'Switch',\n // inherited properties\n testId: 'test-story',\n style: {},\n};\n\nStory.argTypes = {};\n"],"mappings":";;;;;;;AAAA;AAEA;AAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAEnB;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK,EAAK;EAC9B,gBAA8B,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAtCC,OAAO;IAAEC,UAAU;EAE1B,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAAIC,IAAI,EAAgB;IAAA;IAAA,kCAAXC,MAAM;MAANA,MAAM;IAAA;IACnC,YAAAC,OAAO,EAACC,GAAG,kBAAC,oBAAoB,EAAEH,IAAI,SAAKC,MAAM,EAAC;IAClDH,UAAU,CAAC,CAACD,OAAO,CAAC;EACtB,CAAC;EAED,oBAAO,6BAAC,cAAM,eAAKF,KAAK;IAAE,OAAO,EAAEE,OAAQ;IAAC,QAAQ,EAAEE;EAAa,GAAG;AACxE,CAAC;AAAC;AAEFL,KAAK,CAACU,SAAS,GAAG,QAAQ;AAE1BV,KAAK,CAACW,IAAI,GAAG;EACXR,OAAO,EAAE,KAAK;EACdS,QAAQ,EAAE,KAAK;EACfC,KAAK,EAAE,KAAK;EACZC,IAAI,EAAE,QAAQ;EACd;EACAC,MAAM,EAAE,YAAY;EACpBC,KAAK,EAAE,CAAC;AACV,CAAC;AAEDhB,KAAK,CAACiB,QAAQ,GAAG,CAAC,CAAC"}
|
|
@@ -20,6 +20,28 @@ exports[`primitive:<Switch> inherit:className 1`] = `
|
|
|
20
20
|
</DocumentFragment>
|
|
21
21
|
`;
|
|
22
22
|
|
|
23
|
+
exports[`primitive:<Switch> prop:checked && disabled 1`] = `
|
|
24
|
+
<DocumentFragment>
|
|
25
|
+
<div
|
|
26
|
+
class="switch"
|
|
27
|
+
>
|
|
28
|
+
<input
|
|
29
|
+
checked=""
|
|
30
|
+
disabled=""
|
|
31
|
+
name="name"
|
|
32
|
+
type="checkbox"
|
|
33
|
+
/>
|
|
34
|
+
<div
|
|
35
|
+
class="area"
|
|
36
|
+
>
|
|
37
|
+
<span
|
|
38
|
+
class="toggle"
|
|
39
|
+
/>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</DocumentFragment>
|
|
43
|
+
`;
|
|
44
|
+
|
|
23
45
|
exports[`primitive:<Switch> prop:checked 1`] = `
|
|
24
46
|
<DocumentFragment>
|
|
25
47
|
<div
|
|
@@ -62,6 +84,47 @@ exports[`primitive:<Switch> prop:disabled 1`] = `
|
|
|
62
84
|
</DocumentFragment>
|
|
63
85
|
`;
|
|
64
86
|
|
|
87
|
+
exports[`primitive:<Switch> prop:error && disabled 1`] = `
|
|
88
|
+
<DocumentFragment>
|
|
89
|
+
<div
|
|
90
|
+
class="switch"
|
|
91
|
+
>
|
|
92
|
+
<input
|
|
93
|
+
disabled=""
|
|
94
|
+
name="name"
|
|
95
|
+
type="checkbox"
|
|
96
|
+
/>
|
|
97
|
+
<div
|
|
98
|
+
class="area"
|
|
99
|
+
>
|
|
100
|
+
<span
|
|
101
|
+
class="toggle"
|
|
102
|
+
/>
|
|
103
|
+
</div>
|
|
104
|
+
</div>
|
|
105
|
+
</DocumentFragment>
|
|
106
|
+
`;
|
|
107
|
+
|
|
108
|
+
exports[`primitive:<Switch> prop:error 1`] = `
|
|
109
|
+
<DocumentFragment>
|
|
110
|
+
<div
|
|
111
|
+
class="switch"
|
|
112
|
+
>
|
|
113
|
+
<input
|
|
114
|
+
name="name"
|
|
115
|
+
type="checkbox"
|
|
116
|
+
/>
|
|
117
|
+
<div
|
|
118
|
+
class="area error"
|
|
119
|
+
>
|
|
120
|
+
<span
|
|
121
|
+
class="toggle"
|
|
122
|
+
/>
|
|
123
|
+
</div>
|
|
124
|
+
</div>
|
|
125
|
+
</DocumentFragment>
|
|
126
|
+
`;
|
|
127
|
+
|
|
65
128
|
exports[`primitive:<Switch> render 1`] = `
|
|
66
129
|
<DocumentFragment>
|
|
67
130
|
<div
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.MAGNITUDES = exports.DOMAIN = exports.DIRECTION_TYPE = exports.DIRECTION = exports.COLORS = void 0;
|
|
6
|
+
exports.MAGNITUDES = exports.DOMAIN = exports.DIRECTION_TYPE = exports.DIRECTION = exports.DEBOUNCE_TIMEOUT_CACHE = exports.COLORS = void 0;
|
|
7
7
|
var _DIRECTION;
|
|
8
8
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
9
9
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -11,6 +11,8 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
|
|
|
11
11
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
12
12
|
var COLORS = ['accent'];
|
|
13
13
|
exports.COLORS = COLORS;
|
|
14
|
+
var DEBOUNCE_TIMEOUT_CACHE = 2000;
|
|
15
|
+
exports.DEBOUNCE_TIMEOUT_CACHE = DEBOUNCE_TIMEOUT_CACHE;
|
|
14
16
|
var DIRECTION_TYPE = {
|
|
15
17
|
LEFT: 0,
|
|
16
18
|
RIGHT: 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.constants.js","names":["COLORS","DIRECTION_TYPE","LEFT","RIGHT","DIRECTION","DOMAIN","MAGNITUDES"],"sources":["../../src/theme/theme.constants.js"],"sourcesContent":["const COLORS = ['accent'];\n\nconst DIRECTION_TYPE = {\n LEFT: 0,\n RIGHT: 1,\n};\nconst DIRECTION = {\n [DIRECTION_TYPE.LEFT]: {\n 'text-align': 'left',\n 'text-direction': 'ltr',\n 'row-direction': 'row',\n },\n [DIRECTION_TYPE.RIGHT]: {\n 'text-align': 'right',\n 'text-direction': 'rtl',\n 'row-direction': 'row-reverse',\n },\n};\nconst DOMAIN = '--mirai-ui-';\n\nconst MAGNITUDES = [400, 300, 200];\n\nexport { COLORS, DIRECTION, DIRECTION_TYPE, DOMAIN, MAGNITUDES };\n"],"mappings":";;;;;;;;;;;AAAA,IAAMA,MAAM,GAAG,CAAC,QAAQ,CAAC;AAAC;AAE1B,IAAMC,cAAc,GAAG;EACrBC,IAAI,EAAE,CAAC;EACPC,KAAK,EAAE;AACT,CAAC;AAAC;AACF,IAAMC,SAAS,iDACZH,cAAc,CAACC,IAAI,EAAG;EACrB,YAAY,EAAE,MAAM;EACpB,gBAAgB,EAAE,KAAK;EACvB,eAAe,EAAE;AACnB,CAAC,+BACAD,cAAc,CAACE,KAAK,EAAG;EACtB,YAAY,EAAE,OAAO;EACrB,gBAAgB,EAAE,KAAK;EACvB,eAAe,EAAE;AACnB,CAAC,cACF;AAAC;AACF,IAAME,MAAM,GAAG,aAAa;AAAC;AAE7B,IAAMC,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAAC"}
|
|
1
|
+
{"version":3,"file":"theme.constants.js","names":["COLORS","DEBOUNCE_TIMEOUT_CACHE","DIRECTION_TYPE","LEFT","RIGHT","DIRECTION","DOMAIN","MAGNITUDES"],"sources":["../../src/theme/theme.constants.js"],"sourcesContent":["const COLORS = ['accent'];\n\nconst DEBOUNCE_TIMEOUT_CACHE = 2000;\n\nconst DIRECTION_TYPE = {\n LEFT: 0,\n RIGHT: 1,\n};\nconst DIRECTION = {\n [DIRECTION_TYPE.LEFT]: {\n 'text-align': 'left',\n 'text-direction': 'ltr',\n 'row-direction': 'row',\n },\n [DIRECTION_TYPE.RIGHT]: {\n 'text-align': 'right',\n 'text-direction': 'rtl',\n 'row-direction': 'row-reverse',\n },\n};\nconst DOMAIN = '--mirai-ui-';\n\nconst MAGNITUDES = [400, 300, 200];\n\nexport { COLORS, DEBOUNCE_TIMEOUT_CACHE, DIRECTION, DIRECTION_TYPE, DOMAIN, MAGNITUDES };\n"],"mappings":";;;;;;;;;;;AAAA,IAAMA,MAAM,GAAG,CAAC,QAAQ,CAAC;AAAC;AAE1B,IAAMC,sBAAsB,GAAG,IAAI;AAAC;AAEpC,IAAMC,cAAc,GAAG;EACrBC,IAAI,EAAE,CAAC;EACPC,KAAK,EAAE;AACT,CAAC;AAAC;AACF,IAAMC,SAAS,iDACZH,cAAc,CAACC,IAAI,EAAG;EACrB,YAAY,EAAE,MAAM;EACpB,gBAAgB,EAAE,KAAK;EACvB,eAAe,EAAE;AACnB,CAAC,+BACAD,cAAc,CAACE,KAAK,EAAG;EACtB,YAAY,EAAE,OAAO;EACrB,gBAAgB,EAAE,KAAK;EACvB,eAAe,EAAE;AACnB,CAAC,cACF;AAAC;AACF,IAAME,MAAM,GAAG,aAAa;AAAC;AAE7B,IAAMC,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAAC"}
|
package/build/theme/theme.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
@@ -10,6 +11,11 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra
|
|
|
10
11
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
11
12
|
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
12
13
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
18
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
13
19
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
14
20
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
15
21
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
@@ -19,6 +25,11 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
19
25
|
var Theme = {
|
|
20
26
|
get: function get() {
|
|
21
27
|
var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _theme.DOMAIN;
|
|
28
|
+
var _ref = window || {},
|
|
29
|
+
_ref$Mirai = _ref.Mirai;
|
|
30
|
+
_ref$Mirai = _ref$Mirai === void 0 ? {} : _ref$Mirai;
|
|
31
|
+
var themeCache = _ref$Mirai.themeCache;
|
|
32
|
+
if (themeCache) return themeCache;
|
|
22
33
|
var style = getComputedStyle(document.querySelector(':root'));
|
|
23
34
|
var variables = {};
|
|
24
35
|
var keys = Array.from(document.styleSheets).filter(function (stylesheet) {
|
|
@@ -29,14 +40,14 @@ var Theme = {
|
|
|
29
40
|
return false;
|
|
30
41
|
}
|
|
31
42
|
}).reduce(function (stylesheet) {
|
|
32
|
-
var
|
|
33
|
-
cssRules =
|
|
43
|
+
var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
44
|
+
cssRules = _ref2.cssRules;
|
|
34
45
|
return [].concat(_toConsumableArray(stylesheet), _toConsumableArray(Array.from(cssRules).reduce(function (value) {
|
|
35
|
-
var
|
|
36
|
-
|
|
37
|
-
selectorText =
|
|
38
|
-
|
|
39
|
-
style =
|
|
46
|
+
var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
47
|
+
_ref3$selectorText = _ref3.selectorText,
|
|
48
|
+
selectorText = _ref3$selectorText === void 0 ? '' : _ref3$selectorText,
|
|
49
|
+
_ref3$style = _ref3.style,
|
|
50
|
+
style = _ref3$style === void 0 ? [] : _ref3$style;
|
|
40
51
|
return selectorText === ':root' ? [].concat(_toConsumableArray(value), _toConsumableArray(Array.from(style).filter(function (name) {
|
|
41
52
|
return name.startsWith(domain);
|
|
42
53
|
}))) : value;
|
|
@@ -46,6 +57,12 @@ var Theme = {
|
|
|
46
57
|
var _style$getPropertyVal;
|
|
47
58
|
return variables[(0, _helpers.camelcase)(key.replace(domain, ''))] = (_style$getPropertyVal = style.getPropertyValue(key)) === null || _style$getPropertyVal === void 0 ? void 0 : _style$getPropertyVal.trim();
|
|
48
59
|
});
|
|
60
|
+
window.Mirai = _objectSpread(_objectSpread({}, window.Mirai), {}, {
|
|
61
|
+
themeCache: variables
|
|
62
|
+
});
|
|
63
|
+
setTimeout(function () {
|
|
64
|
+
return Theme.clearCache();
|
|
65
|
+
}, _theme.DEBOUNCE_TIMEOUT_CACHE);
|
|
49
66
|
return variables;
|
|
50
67
|
},
|
|
51
68
|
setVariable: function setVariable(variable, value) {
|
|
@@ -53,6 +70,7 @@ var Theme = {
|
|
|
53
70
|
var _document$querySelect = document.querySelector(':root'),
|
|
54
71
|
style = _document$querySelect.style;
|
|
55
72
|
style.setProperty("".concat(domain).concat(variable), value);
|
|
73
|
+
Theme.clearCache();
|
|
56
74
|
|
|
57
75
|
// ! TODO: Should revisit this "algo"
|
|
58
76
|
// Theme.shadeColors();
|
|
@@ -77,13 +95,18 @@ var Theme = {
|
|
|
77
95
|
var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _theme.DIRECTION_TYPE.LEFT;
|
|
78
96
|
if (!Object.values(_theme.DIRECTION_TYPE).includes(direction)) return;
|
|
79
97
|
var variables = _theme.DIRECTION[direction] || {};
|
|
80
|
-
Object.entries(variables).map(function (
|
|
81
|
-
var
|
|
82
|
-
key =
|
|
83
|
-
value =
|
|
98
|
+
Object.entries(variables).map(function (_ref4) {
|
|
99
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
|
100
|
+
key = _ref5[0],
|
|
101
|
+
value = _ref5[1];
|
|
84
102
|
return Theme.setVariable(key, value);
|
|
85
103
|
});
|
|
86
104
|
return direction;
|
|
105
|
+
},
|
|
106
|
+
clearCache: function clearCache() {
|
|
107
|
+
var _window;
|
|
108
|
+
if (!((_window = window) !== null && _window !== void 0 && _window.Mirai)) return;
|
|
109
|
+
window.Mirai.themeCache = undefined;
|
|
87
110
|
}
|
|
88
111
|
};
|
|
89
112
|
exports.Theme = Theme;
|
package/build/theme/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","names":["Theme","get","domain","DOMAIN","style","getComputedStyle","document","querySelector","variables","keys","Array","from","styleSheets","filter","stylesheet","href","startsWith","
|
|
1
|
+
{"version":3,"file":"theme.js","names":["Theme","get","domain","DOMAIN","window","Mirai","themeCache","style","getComputedStyle","document","querySelector","variables","keys","Array","from","styleSheets","filter","stylesheet","href","startsWith","location","origin","cssRules","reduce","value","selectorText","name","forEach","key","camelcase","replace","getPropertyValue","trim","setTimeout","clearCache","DEBOUNCE_TIMEOUT_CACHE","setVariable","variable","setProperty","shadeColors","theme","COLORS","color","undefined","MAGNITUDES","magnitude","colorShade","getDirection","textDirection","DIRECTION","DIRECTION_TYPE","RIGHT","LEFT","setDirection","direction","Object","values","includes","entries","map"],"sources":["../../src/theme/theme.js"],"sourcesContent":["import { camelcase, colorShade } from './helpers';\nimport { COLORS, DEBOUNCE_TIMEOUT_CACHE, DIRECTION, DIRECTION_TYPE, DOMAIN, MAGNITUDES } from './theme.constants';\n\nexport const Theme = {\n get: (domain = DOMAIN) => {\n const { Mirai: { themeCache } = {} } = window || {};\n if (themeCache) return themeCache;\n\n const style = getComputedStyle(document.querySelector(':root'));\n const variables = {};\n\n const keys = Array.from(document.styleSheets)\n .filter((stylesheet) => {\n try {\n return (\n (stylesheet.href === null || stylesheet.href.startsWith(window.location.origin)) &&\n (stylesheet.cssRules ?? {})\n );\n } catch {\n return false;\n }\n })\n .reduce(\n (stylesheet, { cssRules } = {}) => [\n ...stylesheet,\n ...Array.from(cssRules).reduce(\n (value, { selectorText = '', style = [] } = {}) =>\n selectorText === ':root'\n ? [...value, ...Array.from(style).filter((name) => name.startsWith(domain))]\n : value,\n [],\n ),\n ],\n [],\n );\n\n keys.forEach((key) => (variables[camelcase(key.replace(domain, ''))] = style.getPropertyValue(key)?.trim()));\n\n window.Mirai = { ...window.Mirai, themeCache: variables };\n setTimeout(() => Theme.clearCache(), DEBOUNCE_TIMEOUT_CACHE);\n\n return variables;\n },\n\n setVariable: (variable, value, domain = DOMAIN) => {\n const { style } = document.querySelector(':root');\n\n style.setProperty(`${domain}${variable}`, value);\n Theme.clearCache();\n\n // ! TODO: Should revisit this \"algo\"\n // Theme.shadeColors();\n },\n\n shadeColors: () => {\n const theme = Theme.get();\n\n COLORS.filter((color) => theme[color] !== undefined).forEach((color) =>\n MAGNITUDES.forEach((magnitude) =>\n Theme.setVariable(`${color}-${magnitude}`, colorShade(theme[color], magnitude)),\n ),\n );\n },\n\n getDirection: () => {\n const { textDirection } = Theme.get();\n\n return textDirection !== DIRECTION[DIRECTION_TYPE.RIGHT]['text-direction']\n ? DIRECTION_TYPE.LEFT\n : DIRECTION_TYPE.RIGHT;\n },\n\n setDirection: (direction = DIRECTION_TYPE.LEFT) => {\n if (!Object.values(DIRECTION_TYPE).includes(direction)) return;\n\n const variables = DIRECTION[direction] || {};\n Object.entries(variables).map(([key, value]) => Theme.setVariable(key, value));\n\n return direction;\n },\n\n clearCache: () => {\n if (!window?.Mirai) return;\n\n window.Mirai.themeCache = undefined;\n },\n};\n"],"mappings":"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"}
|