@mirai/ui 1.0.122 → 1.0.124
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/build/components/Calendar/Calendar.js +6 -3
- package/build/components/Calendar/Calendar.js.map +1 -1
- package/build/components/InputPhone/InputPhone.js +2 -0
- package/build/components/InputPhone/InputPhone.js.map +1 -1
- package/build/components/InputPhone/InputPhone.stories.js +2 -1
- package/build/components/InputPhone/InputPhone.stories.js.map +1 -1
- package/build/components/InputPhone/__tests__/__snapshots__/InputPhone.test.js.snap +102 -0
- package/build/components/InputSelect/InputSelect.js +1 -0
- package/build/components/InputSelect/InputSelect.js.map +1 -1
- package/build/components/InputSelect/InputSelect.stories.js +2 -0
- package/build/components/InputSelect/InputSelect.stories.js.map +1 -1
- package/build/components/InputSelect/__tests__/__snapshots__/InputSelect.test.js.snap +82 -2
- package/build/components/InputText/InputText.js +1 -0
- package/build/components/InputText/InputText.js.map +1 -1
- package/build/components/InputText/InputText.module.css +4 -0
- package/build/components/InputText/InputText.stories.js +1 -0
- package/build/components/InputText/InputText.stories.js.map +1 -1
- package/build/components/InputText/__tests__/__snapshots__/InputText.test.js.snap +34 -0
- package/build/components/InputText/partials/InputText.Label.js +3 -1
- package/build/components/InputText/partials/InputText.Label.js.map +1 -1
- package/package.json +1 -1
|
@@ -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 = ["disabledPast", "format", "from", "locale", "range", "rangeMaxDays", "to", "value", "onChange", "onFocus", "onNavigation", "onScroll"],
|
|
18
|
+
var _excluded = ["autoscroll", "disabledPast", "format", "from", "locale", "range", "rangeMaxDays", "to", "value", "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; }
|
|
@@ -35,7 +35,9 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
35
35
|
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; }
|
|
36
36
|
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; }
|
|
37
37
|
var Calendar = function Calendar(_ref) {
|
|
38
|
-
var _ref$
|
|
38
|
+
var _ref$autoscroll = _ref.autoscroll,
|
|
39
|
+
autoscroll = _ref$autoscroll === void 0 ? false : _ref$autoscroll,
|
|
40
|
+
_ref$disabledPast = _ref.disabledPast,
|
|
39
41
|
disabledPast = _ref$disabledPast === void 0 ? true : _ref$disabledPast,
|
|
40
42
|
_ref$format = _ref.format,
|
|
41
43
|
format = _ref$format === void 0 ? 'YYYY/MM/DD' : _ref$format,
|
|
@@ -98,7 +100,7 @@ var Calendar = function Calendar(_ref) {
|
|
|
98
100
|
var _dateDiff2 = (0, _locale.dateDiff)(instance, date),
|
|
99
101
|
diffMonths = _dateDiff2.months;
|
|
100
102
|
if (isDesktop && (diffMonths >= months || diffMonths < 0)) setInstance(next);else if (isMobile) {
|
|
101
|
-
setScrollTo((0, _helpers2.getScrollTo)(diffMonths));
|
|
103
|
+
autoscroll && setScrollTo((0, _helpers2.getScrollTo)(diffMonths));
|
|
102
104
|
setScrolling(false);
|
|
103
105
|
}
|
|
104
106
|
}
|
|
@@ -193,6 +195,7 @@ var Calendar = function Calendar(_ref) {
|
|
|
193
195
|
exports.Calendar = Calendar;
|
|
194
196
|
Calendar.displayName = 'Component:Calendar';
|
|
195
197
|
Calendar.propTypes = {
|
|
198
|
+
autoscroll: _propTypes.default.bool,
|
|
196
199
|
captions: _propTypes.default.shape({}),
|
|
197
200
|
disabledDates: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
198
201
|
disabledPast: _propTypes.default.bool,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","names":["Calendar","disabledPast","format","from","locale","range","rangeMaxDays","to","value","onChange","onFocus","onNavigation","onScroll","others","useDevice","isDesktop","isMobile","useState","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","scrolling","setScrolling","undefined","selected","setSelected","timestamp","setTimestamp","useEffect","date","dateFrom","parseDate","dateDiff","days","length","next","diffMonths","months","getScrollTo","UTC","handleChange","getTime","handleMonth","month","addMonths","Date","getFullYear","getMonth","handleScroll","event","now","testID","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","tooltips","styles","style","container","scrollview","Array","empty","index","displayName","propTypes","captions","PropTypes","shape","disabledDates","arrayOf","string","bool","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, 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, getScrollTo, getToday } from './helpers';\n\nexport const Calendar = ({\n disabledPast = true,\n format = 'YYYY/MM/DD',\n from,\n locale,\n range = false,\n rangeMaxDays,\n to,\n value,\n onChange = () => {},\n onFocus = () => {},\n onNavigation = () => {},\n onScroll = () => {},\n ...others\n}) => {\n const { isDesktop, isMobile } = useDevice();\n\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\n useEffect(() => {\n let date = range ? (value ? value[0] : undefined) : value;\n if (from && !date) {\n const dateFrom = parseDate(from, format);\n const { days } = dateDiff(dateFrom, parseDate(date, format));\n\n setInstance(getFirstDateOfMonth(dateFrom));\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 (isDesktop && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (isMobile) {\n 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 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] ? 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 (isMobile) setScrolling(true);\n\n onScroll(event);\n setTimestamp(Date.now());\n };\n\n const { ['data-testid']: 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 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: !isMobile || !scrolling ? props.tooltips : {},\n onChange: handleChange,\n onFocus: isDesktop ? setFocus : undefined,\n };\n\n if (isMobile && to) months = dateDiff(today, parseDate(to, format)).months;\n\n return (\n <View className={styles(style.container, className)} data-testid={testID}>\n {isMobile && <Weekdays locale={locale} />}\n <ScrollView\n horizontal={isDesktop}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={handleScroll}\n >\n {Array.from({ length: months }, (empty, index) => (\n <Month\n data-testid={testID}\n key={index}\n onNext={isDesktop && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={isDesktop && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)} // ! TODO: calc with mirai/locale\n {...props}\n />\n ))}\n </ScrollView>\n </View>\n );\n};\n\nCalendar.displayName = 'Component:Calendar';\n\nCalendar.propTypes = {\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 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","disabledPast","format","from","locale","range","rangeMaxDays","to","value","onChange","onFocus","onNavigation","onScroll","others","useDevice","isDesktop","isMobile","useState","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","scrolling","setScrolling","undefined","selected","setSelected","timestamp","setTimestamp","useEffect","date","dateFrom","parseDate","dateDiff","days","length","next","diffMonths","months","getScrollTo","UTC","handleChange","getTime","handleMonth","month","addMonths","Date","getFullYear","getMonth","handleScroll","event","now","testID","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","tooltips","styles","style","container","scrollview","Array","empty","index","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, 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, 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 onChange = () => {},\n onFocus = () => {},\n onNavigation = () => {},\n onScroll = () => {},\n ...others\n}) => {\n const { isDesktop, isMobile } = useDevice();\n\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\n useEffect(() => {\n let date = range ? (value ? value[0] : undefined) : value;\n if (from && !date) {\n const dateFrom = parseDate(from, format);\n const { days } = dateDiff(dateFrom, parseDate(date, format));\n\n setInstance(getFirstDateOfMonth(dateFrom));\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 (isDesktop && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (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 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] ? 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 (isMobile) setScrolling(true);\n\n onScroll(event);\n setTimestamp(Date.now());\n };\n\n const { ['data-testid']: 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 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: !isMobile || !scrolling ? props.tooltips : {},\n onChange: handleChange,\n onFocus: isDesktop ? setFocus : undefined,\n };\n\n if (isMobile && to) months = dateDiff(today, parseDate(to, format)).months;\n\n return (\n <View className={styles(style.container, className)} data-testid={testID}>\n {isMobile && <Weekdays locale={locale} />}\n <ScrollView\n horizontal={isDesktop}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={handleScroll}\n >\n {Array.from({ length: months }, (empty, index) => (\n <Month\n data-testid={testID}\n key={index}\n onNext={isDesktop && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={isDesktop && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)} // ! TODO: calc with mirai/locale\n {...props}\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 onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNavigation: PropTypes.func,\n onScroll: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
@@ -124,6 +124,7 @@ var InputPhone = function InputPhone(_ref) {
|
|
|
124
124
|
error: error,
|
|
125
125
|
focus: prefixFocus,
|
|
126
126
|
label: labelPrefix,
|
|
127
|
+
required: others.required,
|
|
127
128
|
value: prefix
|
|
128
129
|
}), /*#__PURE__*/_react.default.createElement(_primitives.Select, _extends({}, others, {
|
|
129
130
|
disabled: disabled,
|
|
@@ -169,6 +170,7 @@ var InputPhone = function InputPhone(_ref) {
|
|
|
169
170
|
error: error,
|
|
170
171
|
focus: focus,
|
|
171
172
|
label: label,
|
|
173
|
+
required: others.required,
|
|
172
174
|
value: phone
|
|
173
175
|
}), /*#__PURE__*/_react.default.createElement(_primitives.Input, _extends({}, others, {
|
|
174
176
|
disabled: disabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputPhone.js","names":["InputPhone","disabled","error","hint","icon","label","labelPrefix","name","prefixes","showState","success","propValue","value","warning","onChange","onEnter","onError","onLeave","others","useState","focus","setFocus","prefixFocus","setPrefixFocus","setValue","useEffect","handleChange","next","event","isPhone","hasPrefixes","split","undefined","prefix","phone","nextValue","replace","join","trim","getInputPhoneErrors","handleEnter","handleLeave","length","has","stateIcon","testId","styles","stylePhone","container","className","style","inputBorder","content","input","withLabel","empty","ICON","EXPAND_MORE","select","expand","separator","left","displayName","propTypes","PropTypes","bool","string","func","isRequired","arrayOf"],"sources":["../../../src/components/InputPhone/InputPhone.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { getInputPhoneErrors } from '../../helpers';\nimport { Icon, ICON, Input, Select, View } from '../../primitives';\nimport style from '../InputText/InputText.module.css';\nimport { Hint, IconState, Label } from '../InputText/partials';\nimport stylePhone from './InputPhone.module.css';\n\nconst InputPhone = ({\n disabled,\n error,\n hint,\n icon,\n label,\n labelPrefix,\n name,\n prefixes,\n showState = true,\n success,\n value: propValue,\n warning,\n onChange = () => {},\n onEnter = () => {},\n onError,\n onLeave = () => {},\n ...others\n}) => {\n const [focus, setFocus] = useState(false);\n const [prefixFocus, setPrefixFocus] = useState(false);\n const [value, setValue] = useState();\n\n useEffect(() => {\n setValue(propValue);\n }, [propValue]);\n\n const handleChange = (next, event, { isPhone = true } = {}) => {\n const [prefix = '', phone = ''] = hasPrefixes ? value?.split(' ') || [] : [undefined, value];\n let nextValue = (isPhone ? [prefix, next?.replace(/[^\\d]/g, '')] : [next, phone]).join(' ');\n if (!hasPrefixes) nextValue = nextValue.trim();\n\n setValue(nextValue);\n onError && onError(getInputPhoneErrors({ prefixes, value: nextValue }));\n onChange(nextValue, event);\n };\n\n const handleEnter = (event, { isPhone = true } = {}) => {\n isPhone ? setFocus(true) : setPrefixFocus(true);\n onEnter(event);\n };\n\n const handleLeave = (event, { isPhone = true } = {}) => {\n isPhone ? setFocus(false) : setPrefixFocus(false);\n onLeave(event);\n };\n const hasPrefixes = !!prefixes?.length;\n const [prefix, phone] = hasPrefixes ? value?.split(' ') || [] : [undefined, value];\n const has = {\n icon: !!icon,\n label: !!label,\n labelPrefix: !!labelPrefix,\n prefix: prefix?.length > 0,\n phone: phone?.length > 0,\n stateIcon: showState && (error || success || warning),\n };\n const { ['data-testid']: testId } = others;\n\n return (\n <View className={styles(stylePhone.container, others.className)} style={others.style}>\n <View\n row\n className={styles(\n style.inputBorder,\n disabled && style.disabled,\n (focus || prefixFocus) && !error && style.focus,\n error && style.error,\n )}\n >\n {hasPrefixes && (\n <>\n <View row>\n <View className={styles(style.content)}>\n {labelPrefix && (\n <Label {...{ disabled, error }} focus={prefixFocus} label={labelPrefix} value={prefix} />\n )}\n <Select\n {...others}\n disabled={disabled}\n name={`${name}-prefix`}\n options={prefixes}\n style={undefined}\n type={undefined}\n value={prefix || ''}\n onChange={(value, event) => handleChange(value, event, { isPhone: false })}\n onEnter={(event) => handleEnter(event, { isPhone: false })}\n onLeave={(event) => handleLeave(event, { isPhone: false })}\n className={styles(\n style.input,\n stylePhone.prefix,\n has.labelPrefix && style.withLabel,\n has.labelPrefix && !(prefixFocus || error || has.prefix) && style.empty,\n )}\n data-testid={testId ? `${testId}-select` : undefined}\n />\n </View>\n {!disabled && <Icon value={ICON.EXPAND_MORE} className={(style.icon, style.select, stylePhone.expand)} />}\n </View>\n <View forceRow className={stylePhone.separator}></View>\n </>\n )}\n\n <View row wide>\n {has.icon && (\n <Icon\n value={icon}\n className={styles(style.icon, style.left, disabled && style.disabled, error && style.error)}\n />\n )}\n <View wide className={style.content}>\n {label && <Label {...{ disabled, error, focus, label }} value={phone} />}\n <Input\n {...others}\n disabled={disabled}\n name={`${name}-phone`}\n type=\"tel\"\n value={phone || ''}\n onChange={(value, event) => handleChange(value, event)}\n onEnter={(event) => handleEnter(event)}\n onLeave={(event) => handleLeave(event)}\n className={styles(style.input, has.label && style.withLabel)}\n data-testid={testId ? `${testId}-input` : undefined}\n />\n </View>\n </View>\n {has.stateIcon && <IconState {...{ error, success, warning }} />}\n </View>\n {hint && <Hint {...{ disabled, error, hint }} />}\n </View>\n );\n};\n\nInputPhone.displayName = 'Component:InputPhone';\n\nInputPhone.propTypes = {\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n hint: PropTypes.string,\n icon: PropTypes.func,\n label: PropTypes.string,\n labelPrefix: PropTypes.string,\n name: PropTypes.string.isRequired,\n prefixes: PropTypes.arrayOf(PropTypes.string),\n showState: PropTypes.bool,\n success: PropTypes.bool,\n value: PropTypes.string,\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onError: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { InputPhone };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InputPhone.js","names":["InputPhone","disabled","error","hint","icon","label","labelPrefix","name","prefixes","showState","success","propValue","value","warning","onChange","onEnter","onError","onLeave","others","useState","focus","setFocus","prefixFocus","setPrefixFocus","setValue","useEffect","handleChange","next","event","isPhone","hasPrefixes","split","undefined","prefix","phone","nextValue","replace","join","trim","getInputPhoneErrors","handleEnter","handleLeave","length","has","stateIcon","testId","styles","stylePhone","container","className","style","inputBorder","content","required","input","withLabel","empty","ICON","EXPAND_MORE","select","expand","separator","left","displayName","propTypes","PropTypes","bool","string","func","isRequired","arrayOf"],"sources":["../../../src/components/InputPhone/InputPhone.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { getInputPhoneErrors } from '../../helpers';\nimport { Icon, ICON, Input, Select, View } from '../../primitives';\nimport style from '../InputText/InputText.module.css';\nimport { Hint, IconState, Label } from '../InputText/partials';\nimport stylePhone from './InputPhone.module.css';\n\nconst InputPhone = ({\n disabled,\n error,\n hint,\n icon,\n label,\n labelPrefix,\n name,\n prefixes,\n showState = true,\n success,\n value: propValue,\n warning,\n onChange = () => {},\n onEnter = () => {},\n onError,\n onLeave = () => {},\n ...others\n}) => {\n const [focus, setFocus] = useState(false);\n const [prefixFocus, setPrefixFocus] = useState(false);\n const [value, setValue] = useState();\n\n useEffect(() => {\n setValue(propValue);\n }, [propValue]);\n\n const handleChange = (next, event, { isPhone = true } = {}) => {\n const [prefix = '', phone = ''] = hasPrefixes ? value?.split(' ') || [] : [undefined, value];\n let nextValue = (isPhone ? [prefix, next?.replace(/[^\\d]/g, '')] : [next, phone]).join(' ');\n if (!hasPrefixes) nextValue = nextValue.trim();\n\n setValue(nextValue);\n onError && onError(getInputPhoneErrors({ prefixes, value: nextValue }));\n onChange(nextValue, event);\n };\n\n const handleEnter = (event, { isPhone = true } = {}) => {\n isPhone ? setFocus(true) : setPrefixFocus(true);\n onEnter(event);\n };\n\n const handleLeave = (event, { isPhone = true } = {}) => {\n isPhone ? setFocus(false) : setPrefixFocus(false);\n onLeave(event);\n };\n const hasPrefixes = !!prefixes?.length;\n const [prefix, phone] = hasPrefixes ? value?.split(' ') || [] : [undefined, value];\n const has = {\n icon: !!icon,\n label: !!label,\n labelPrefix: !!labelPrefix,\n prefix: prefix?.length > 0,\n phone: phone?.length > 0,\n stateIcon: showState && (error || success || warning),\n };\n const { ['data-testid']: testId } = others;\n\n return (\n <View className={styles(stylePhone.container, others.className)} style={others.style}>\n <View\n row\n className={styles(\n style.inputBorder,\n disabled && style.disabled,\n (focus || prefixFocus) && !error && style.focus,\n error && style.error,\n )}\n >\n {hasPrefixes && (\n <>\n <View row>\n <View className={styles(style.content)}>\n {labelPrefix && (\n <Label\n {...{\n disabled,\n error,\n focus: prefixFocus,\n label: labelPrefix,\n required: others.required,\n value: prefix,\n }}\n />\n )}\n <Select\n {...others}\n disabled={disabled}\n name={`${name}-prefix`}\n options={prefixes}\n style={undefined}\n type={undefined}\n value={prefix || ''}\n onChange={(value, event) => handleChange(value, event, { isPhone: false })}\n onEnter={(event) => handleEnter(event, { isPhone: false })}\n onLeave={(event) => handleLeave(event, { isPhone: false })}\n className={styles(\n style.input,\n stylePhone.prefix,\n has.labelPrefix && style.withLabel,\n has.labelPrefix && !(prefixFocus || error || has.prefix) && style.empty,\n )}\n data-testid={testId ? `${testId}-select` : undefined}\n />\n </View>\n {!disabled && <Icon value={ICON.EXPAND_MORE} className={(style.icon, style.select, stylePhone.expand)} />}\n </View>\n <View forceRow className={stylePhone.separator}></View>\n </>\n )}\n\n <View row wide>\n {has.icon && (\n <Icon\n value={icon}\n className={styles(style.icon, style.left, disabled && style.disabled, error && style.error)}\n />\n )}\n <View wide className={style.content}>\n {label && <Label {...{ disabled, error, focus, label, required: others.required, value: phone }} />}\n <Input\n {...others}\n disabled={disabled}\n name={`${name}-phone`}\n type=\"tel\"\n value={phone || ''}\n onChange={(value, event) => handleChange(value, event)}\n onEnter={(event) => handleEnter(event)}\n onLeave={(event) => handleLeave(event)}\n className={styles(style.input, has.label && style.withLabel)}\n data-testid={testId ? `${testId}-input` : undefined}\n />\n </View>\n </View>\n {has.stateIcon && <IconState {...{ error, success, warning }} />}\n </View>\n {hint && <Hint {...{ disabled, error, hint }} />}\n </View>\n );\n};\n\nInputPhone.displayName = 'Component:InputPhone';\n\nInputPhone.propTypes = {\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n hint: PropTypes.string,\n icon: PropTypes.func,\n label: PropTypes.string,\n labelPrefix: PropTypes.string,\n name: PropTypes.string.isRequired,\n prefixes: PropTypes.arrayOf(PropTypes.string),\n showState: PropTypes.bool,\n success: PropTypes.bool,\n value: PropTypes.string,\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onError: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { InputPhone };\n"],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ var _default = {
|
|
|
30
30
|
};
|
|
31
31
|
exports.default = _default;
|
|
32
32
|
var Story = function Story(props) {
|
|
33
|
-
var _useState = (0, _react.useState)(),
|
|
33
|
+
var _useState = (0, _react.useState)('+34 615702323'),
|
|
34
34
|
_useState2 = _slicedToArray(_useState, 2),
|
|
35
35
|
value = _useState2[0],
|
|
36
36
|
setValue = _useState2[1];
|
|
@@ -83,6 +83,7 @@ Story.args = (_Story$args = {
|
|
|
83
83
|
labelPrefix: 'Code',
|
|
84
84
|
name: 'name',
|
|
85
85
|
prefixes: ['+34', '+44', '+001', '+999', '+39', '+56'],
|
|
86
|
+
required: true,
|
|
86
87
|
showState: true,
|
|
87
88
|
success: false,
|
|
88
89
|
warning: false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputPhone.stories.js","names":["title","Story","props","useState","value","setValue","handleChange","next","others","console","log","handleEnter","handleError","handleLeave","ICON","icon","storyName","args","disabled","error","hint","undefined","label","labelPrefix","name","prefixes","showState","success","warning","argTypes","options","Object","keys","control","type","defaultValue"],"sources":["../../../src/components/InputPhone/InputPhone.stories.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { ICON } from '../../primitives';\nimport { InputPhone } from './InputPhone';\nexport default { title: 'Components' };\n\nexport const Story = (props) => {\n const [value, setValue] = useState();\n\n const handleChange = (next, ...others) => {\n setValue(next);\n console.log('<InputPhone>::onChange', next, ...others);\n };\n\n const handleEnter = (...others) => console.log('<InputSelect>::onEnter', ...others);\n\n const handleError = (...others) => console.log('<InputSelect>::onError', ...others);\n\n const handleLeave = (...others) => console.log('<InputSelect>::onLeave', ...others);\n\n return (\n <InputPhone\n {...props}\n icon={ICON[props.icon]}\n value={value}\n onChange={handleChange}\n onEnter={handleEnter}\n onError={handleError}\n onLeave={handleLeave}\n />\n );\n};\n\nStory.storyName = 'InputPhone';\n\nStory.args = {\n disabled: false,\n error: false,\n hint: 'hint',\n icon: undefined,\n label: 'Phone Number',\n labelPrefix: 'Code',\n name: 'name',\n prefixes: ['+34', '+44', '+001', '+999', '+39', '+56'],\n showState: true,\n success: false,\n warning: false,\n // inherited properties\n ['data-testid']: 'test-story',\n style: {},\n};\n\nStory.argTypes = {\n icon: {\n options: [undefined, ...Object.keys(ICON)],\n control: { type: 'select' },\n defaultValue: undefined,\n },\n};\n"],"mappings":";;;;;;;AAAA;AAEA;AACA;AAA0C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAC3B;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK,EAAK;EAC9B,gBAA0B,IAAAC,eAAQ,
|
|
1
|
+
{"version":3,"file":"InputPhone.stories.js","names":["title","Story","props","useState","value","setValue","handleChange","next","others","console","log","handleEnter","handleError","handleLeave","ICON","icon","storyName","args","disabled","error","hint","undefined","label","labelPrefix","name","prefixes","required","showState","success","warning","argTypes","options","Object","keys","control","type","defaultValue"],"sources":["../../../src/components/InputPhone/InputPhone.stories.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { ICON } from '../../primitives';\nimport { InputPhone } from './InputPhone';\nexport default { title: 'Components' };\n\nexport const Story = (props) => {\n const [value, setValue] = useState('+34 615702323');\n\n const handleChange = (next, ...others) => {\n setValue(next);\n console.log('<InputPhone>::onChange', next, ...others);\n };\n\n const handleEnter = (...others) => console.log('<InputSelect>::onEnter', ...others);\n\n const handleError = (...others) => console.log('<InputSelect>::onError', ...others);\n\n const handleLeave = (...others) => console.log('<InputSelect>::onLeave', ...others);\n\n return (\n <InputPhone\n {...props}\n icon={ICON[props.icon]}\n value={value}\n onChange={handleChange}\n onEnter={handleEnter}\n onError={handleError}\n onLeave={handleLeave}\n />\n );\n};\n\nStory.storyName = 'InputPhone';\n\nStory.args = {\n disabled: false,\n error: false,\n hint: 'hint',\n icon: undefined,\n label: 'Phone Number',\n labelPrefix: 'Code',\n name: 'name',\n prefixes: ['+34', '+44', '+001', '+999', '+39', '+56'],\n required: true,\n showState: true,\n success: false,\n warning: false,\n // inherited properties\n ['data-testid']: 'test-story',\n style: {},\n};\n\nStory.argTypes = {\n icon: {\n options: [undefined, ...Object.keys(ICON)],\n control: { type: 'select' },\n defaultValue: undefined,\n },\n};\n"],"mappings":";;;;;;;AAAA;AAEA;AACA;AAA0C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAC3B;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK,EAAK;EAC9B,gBAA0B,IAAAC,eAAQ,EAAC,eAAe,CAAC;IAAA;IAA5CC,KAAK;IAAEC,QAAQ;EAEtB,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAAIC,IAAI,EAAgB;IAAA;IACxCF,QAAQ,CAACE,IAAI,CAAC;IAAC,kCADcC,MAAM;MAANA,MAAM;IAAA;IAEnC,YAAAC,OAAO,EAACC,GAAG,kBAAC,wBAAwB,EAAEH,IAAI,SAAKC,MAAM,EAAC;EACxD,CAAC;EAED,IAAMG,WAAW,GAAG,SAAdA,WAAW;IAAA;IAAA,mCAAOH,MAAM;MAANA,MAAM;IAAA;IAAA,OAAK,aAAAC,OAAO,EAACC,GAAG,mBAAC,wBAAwB,SAAKF,MAAM,EAAC;EAAA;EAEnF,IAAMI,WAAW,GAAG,SAAdA,WAAW;IAAA;IAAA,mCAAOJ,MAAM;MAANA,MAAM;IAAA;IAAA,OAAK,aAAAC,OAAO,EAACC,GAAG,mBAAC,wBAAwB,SAAKF,MAAM,EAAC;EAAA;EAEnF,IAAMK,WAAW,GAAG,SAAdA,WAAW;IAAA;IAAA,mCAAOL,MAAM;MAANA,MAAM;IAAA;IAAA,OAAK,aAAAC,OAAO,EAACC,GAAG,mBAAC,wBAAwB,SAAKF,MAAM,EAAC;EAAA;EAEnF,oBACE,6BAAC,sBAAU,eACLN,KAAK;IACT,IAAI,EAAEY,gBAAI,CAACZ,KAAK,CAACa,IAAI,CAAE;IACvB,KAAK,EAAEX,KAAM;IACb,QAAQ,EAAEE,YAAa;IACvB,OAAO,EAAEK,WAAY;IACrB,OAAO,EAAEC,WAAY;IACrB,OAAO,EAAEC;EAAY,GACrB;AAEN,CAAC;AAAC;AAEFZ,KAAK,CAACe,SAAS,GAAG,YAAY;AAE9Bf,KAAK,CAACgB,IAAI;EACRC,QAAQ,EAAE,KAAK;EACfC,KAAK,EAAE,KAAK;EACZC,IAAI,EAAE,MAAM;EACZL,IAAI,EAAEM,SAAS;EACfC,KAAK,EAAE,cAAc;EACrBC,WAAW,EAAE,MAAM;EACnBC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;EACtDC,QAAQ,EAAE,IAAI;EACdC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE;AAAK,gCAEb,aAAa,EAAG,YAAY,yCACtB,CAAC,CAAC,eACV;AAED5B,KAAK,CAAC6B,QAAQ,GAAG;EACff,IAAI,EAAE;IACJgB,OAAO,GAAGV,SAAS,4BAAKW,MAAM,CAACC,IAAI,CAACnB,gBAAI,CAAC,EAAC;IAC1CoB,OAAO,EAAE;MAAEC,IAAI,EAAE;IAAS,CAAC;IAC3BC,YAAY,EAAEf;EAChB;AACF,CAAC"}
|
|
@@ -800,6 +800,108 @@ exports[`component:<InputPhone> prop:labelPrefix 1`] = `
|
|
|
800
800
|
</DocumentFragment>
|
|
801
801
|
`;
|
|
802
802
|
|
|
803
|
+
exports[`component:<InputPhone> prop:required 1`] = `
|
|
804
|
+
<DocumentFragment>
|
|
805
|
+
<div
|
|
806
|
+
class="view container"
|
|
807
|
+
>
|
|
808
|
+
<div
|
|
809
|
+
class="view row inputBorder"
|
|
810
|
+
>
|
|
811
|
+
<div
|
|
812
|
+
class="view row"
|
|
813
|
+
>
|
|
814
|
+
<div
|
|
815
|
+
class="view content"
|
|
816
|
+
>
|
|
817
|
+
<span
|
|
818
|
+
class="text paragraph text label"
|
|
819
|
+
>
|
|
820
|
+
labelPrefix
|
|
821
|
+
<span
|
|
822
|
+
class="required"
|
|
823
|
+
>
|
|
824
|
+
*
|
|
825
|
+
</span>
|
|
826
|
+
</span>
|
|
827
|
+
<select
|
|
828
|
+
class="select empty input prefix withLabel empty"
|
|
829
|
+
name="name-prefix"
|
|
830
|
+
required=""
|
|
831
|
+
>
|
|
832
|
+
<option
|
|
833
|
+
value="+34"
|
|
834
|
+
>
|
|
835
|
+
+34
|
|
836
|
+
</option>
|
|
837
|
+
<option
|
|
838
|
+
value="+44"
|
|
839
|
+
>
|
|
840
|
+
+44
|
|
841
|
+
</option>
|
|
842
|
+
<option
|
|
843
|
+
value="+001"
|
|
844
|
+
>
|
|
845
|
+
+001
|
|
846
|
+
</option>
|
|
847
|
+
</select>
|
|
848
|
+
</div>
|
|
849
|
+
<span
|
|
850
|
+
class="icon headline-3 expand"
|
|
851
|
+
>
|
|
852
|
+
<svg
|
|
853
|
+
fill="currentColor"
|
|
854
|
+
height="1em"
|
|
855
|
+
stroke="currentColor"
|
|
856
|
+
stroke-width="0"
|
|
857
|
+
viewBox="0 0 24 24"
|
|
858
|
+
width="1em"
|
|
859
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
860
|
+
>
|
|
861
|
+
<path
|
|
862
|
+
d="M24 24H0V0h24v24z"
|
|
863
|
+
fill="none"
|
|
864
|
+
opacity=".87"
|
|
865
|
+
/>
|
|
866
|
+
<path
|
|
867
|
+
d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6-1.41-1.41z"
|
|
868
|
+
/>
|
|
869
|
+
</svg>
|
|
870
|
+
</span>
|
|
871
|
+
</div>
|
|
872
|
+
<div
|
|
873
|
+
class="view forceRow separator"
|
|
874
|
+
/>
|
|
875
|
+
<div
|
|
876
|
+
class="view row wide"
|
|
877
|
+
>
|
|
878
|
+
<div
|
|
879
|
+
class="view wide content"
|
|
880
|
+
>
|
|
881
|
+
<span
|
|
882
|
+
class="text paragraph text label"
|
|
883
|
+
>
|
|
884
|
+
label
|
|
885
|
+
<span
|
|
886
|
+
class="required"
|
|
887
|
+
>
|
|
888
|
+
*
|
|
889
|
+
</span>
|
|
890
|
+
</span>
|
|
891
|
+
<input
|
|
892
|
+
class="input input withLabel"
|
|
893
|
+
name="name-phone"
|
|
894
|
+
required=""
|
|
895
|
+
type="tel"
|
|
896
|
+
value=""
|
|
897
|
+
/>
|
|
898
|
+
</div>
|
|
899
|
+
</div>
|
|
900
|
+
</div>
|
|
901
|
+
</div>
|
|
902
|
+
</DocumentFragment>
|
|
903
|
+
`;
|
|
904
|
+
|
|
803
905
|
exports[`component:<InputPhone> prop:showState (false) & error 1`] = `
|
|
804
906
|
<DocumentFragment>
|
|
805
907
|
<div
|
|
@@ -77,6 +77,7 @@ var InputSelect = function InputSelect(_ref) {
|
|
|
77
77
|
error: error,
|
|
78
78
|
focus: focus,
|
|
79
79
|
label: label,
|
|
80
|
+
required: others.required,
|
|
80
81
|
value: others.value
|
|
81
82
|
}), /*#__PURE__*/_react.default.createElement(_primitives.Select, _extends({}, others, {
|
|
82
83
|
disabled: disabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputSelect.js","names":["InputSelect","disabled","error","hint","label","showState","success","warning","onChange","onEnter","onLeave","others","useState","focus","setFocus","handleChange","value","event","target","blur","handleEnter","handleLeave","has","undefined","length","stateIcon","styles","style","inputContainer","className","inputBorder","content","input","withLabel","empty","ICON","EXPAND_MORE","icon","select","displayName","propTypes","PropTypes","bool","string","name","isRequired","func"],"sources":["../../../src/components/InputSelect/InputSelect.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, ICON, Select, View } from '../../primitives';\nimport style from '../InputText/InputText.module.css';\nimport { Hint, IconState, Label } from '../InputText/partials';\n\nconst InputSelect = ({\n disabled,\n error,\n hint,\n label,\n showState = true,\n success,\n warning,\n onChange = () => {},\n onEnter = () => {},\n onLeave = () => {},\n ...others\n}) => {\n const [focus, setFocus] = useState(false);\n\n const handleChange = (value, event) => {\n onChange(value, event);\n event.target?.blur();\n };\n\n const handleEnter = (event) => {\n setFocus(true);\n onEnter(event);\n };\n\n const handleLeave = (event) => {\n setFocus(false);\n onLeave(event);\n };\n\n const has = {\n label: !!label,\n value: others.value !== undefined && others.value?.length > 0,\n stateIcon: showState && (error || success || warning),\n };\n\n return (\n <View className={styles(style.inputContainer, others.className)} style={others.style}>\n <View\n row\n className={styles(\n style.inputBorder,\n disabled && style.disabled,\n focus && !error && style.focus,\n error && style.error,\n )}\n >\n <View wide className={style.content}>\n {label && <Label {...{ disabled, error, focus, label, value: others.value }} />}\n\n <Select\n {...others}\n disabled={disabled}\n value={others.value || ''}\n className={styles(\n style.input,\n has.label && style.withLabel,\n !!label && !(focus || error || has.value) && style.empty,\n )}\n style={undefined}\n onChange={handleChange}\n onEnter={handleEnter}\n onLeave={handleLeave}\n />\n </View>\n\n {!disabled && <Icon value={ICON.EXPAND_MORE} className={styles(style.icon, style.select)} />}\n {has.stateIcon && <IconState {...{ error, success, warning }} />}\n </View>\n\n {hint && <Hint {...{ disabled, error, hint }} />}\n </View>\n );\n};\n\nInputSelect.displayName = 'Component:InputSelect';\n\nInputSelect.propTypes = {\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n hint: PropTypes.string,\n label: PropTypes.string,\n name: PropTypes.string.isRequired,\n showState: PropTypes.bool,\n success: PropTypes.bool,\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { InputSelect };\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AACA;AACA;AACA;AAA+D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAE/D,IAAMA,WAAW,GAAG,SAAdA,WAAW,OAYX;EAAA;EAAA,IAXJC,QAAQ,QAARA,QAAQ;IACRC,KAAK,QAALA,KAAK;IACLC,IAAI,QAAJA,IAAI;IACJC,KAAK,QAALA,KAAK;IAAA,sBACLC,SAAS;IAATA,SAAS,+BAAG,IAAI;IAChBC,OAAO,QAAPA,OAAO;IACPC,OAAO,QAAPA,OAAO;IAAA,qBACPC,QAAQ;IAARA,QAAQ,8BAAG,YAAM,CAAC,CAAC;IAAA,oBACnBC,OAAO;IAAPA,OAAO,6BAAG,YAAM,CAAC,CAAC;IAAA,oBAClBC,OAAO;IAAPA,OAAO,6BAAG,YAAM,CAAC,CAAC;IACfC,MAAM;EAET,gBAA0B,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAlCC,KAAK;IAAEC,QAAQ;EAEtB,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAAIC,KAAK,EAAEC,KAAK,EAAK;IAAA;IACrCT,QAAQ,CAACQ,KAAK,EAAEC,KAAK,CAAC;IACtB,iBAAAA,KAAK,CAACC,MAAM,kDAAZ,cAAcC,IAAI,EAAE;EACtB,CAAC;EAED,IAAMC,WAAW,GAAG,SAAdA,WAAW,CAAIH,KAAK,EAAK;IAC7BH,QAAQ,CAAC,IAAI,CAAC;IACdL,OAAO,CAACQ,KAAK,CAAC;EAChB,CAAC;EAED,IAAMI,WAAW,GAAG,SAAdA,WAAW,CAAIJ,KAAK,EAAK;IAC7BH,QAAQ,CAAC,KAAK,CAAC;IACfJ,OAAO,CAACO,KAAK,CAAC;EAChB,CAAC;EAED,IAAMK,GAAG,GAAG;IACVlB,KAAK,EAAE,CAAC,CAACA,KAAK;IACdY,KAAK,EAAEL,MAAM,CAACK,KAAK,KAAKO,SAAS,IAAI,kBAAAZ,MAAM,CAACK,KAAK,kDAAZ,cAAcQ,MAAM,IAAG,CAAC;IAC7DC,SAAS,EAAEpB,SAAS,KAAKH,KAAK,IAAII,OAAO,IAAIC,OAAO;EACtD,CAAC;EAED,oBACE,6BAAC,gBAAI;IAAC,SAAS,EAAE,IAAAmB,eAAM,EAACC,wBAAK,CAACC,cAAc,EAAEjB,MAAM,CAACkB,SAAS,CAAE;IAAC,KAAK,EAAElB,MAAM,CAACgB;EAAM,gBACnF,6BAAC,gBAAI;IACH,GAAG;IACH,SAAS,EAAE,IAAAD,eAAM,EACfC,wBAAK,CAACG,WAAW,EACjB7B,QAAQ,IAAI0B,wBAAK,CAAC1B,QAAQ,EAC1BY,KAAK,IAAI,CAACX,KAAK,IAAIyB,wBAAK,CAACd,KAAK,EAC9BX,KAAK,IAAIyB,wBAAK,CAACzB,KAAK;EACpB,gBAEF,6BAAC,gBAAI;IAAC,IAAI;IAAC,SAAS,EAAEyB,wBAAK,CAACI;EAAQ,GACjC3B,KAAK,iBAAI,6BAAC,eAAK;IAAOH,QAAQ,EAARA,QAAQ;IAAEC,KAAK,EAALA,KAAK;IAAEW,KAAK,EAALA,KAAK;IAAET,KAAK,EAALA,KAAK;
|
|
1
|
+
{"version":3,"file":"InputSelect.js","names":["InputSelect","disabled","error","hint","label","showState","success","warning","onChange","onEnter","onLeave","others","useState","focus","setFocus","handleChange","value","event","target","blur","handleEnter","handleLeave","has","undefined","length","stateIcon","styles","style","inputContainer","className","inputBorder","content","required","input","withLabel","empty","ICON","EXPAND_MORE","icon","select","displayName","propTypes","PropTypes","bool","string","name","isRequired","func"],"sources":["../../../src/components/InputSelect/InputSelect.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, ICON, Select, View } from '../../primitives';\nimport style from '../InputText/InputText.module.css';\nimport { Hint, IconState, Label } from '../InputText/partials';\n\nconst InputSelect = ({\n disabled,\n error,\n hint,\n label,\n showState = true,\n success,\n warning,\n onChange = () => {},\n onEnter = () => {},\n onLeave = () => {},\n ...others\n}) => {\n const [focus, setFocus] = useState(false);\n\n const handleChange = (value, event) => {\n onChange(value, event);\n event.target?.blur();\n };\n\n const handleEnter = (event) => {\n setFocus(true);\n onEnter(event);\n };\n\n const handleLeave = (event) => {\n setFocus(false);\n onLeave(event);\n };\n\n const has = {\n label: !!label,\n value: others.value !== undefined && others.value?.length > 0,\n stateIcon: showState && (error || success || warning),\n };\n\n return (\n <View className={styles(style.inputContainer, others.className)} style={others.style}>\n <View\n row\n className={styles(\n style.inputBorder,\n disabled && style.disabled,\n focus && !error && style.focus,\n error && style.error,\n )}\n >\n <View wide className={style.content}>\n {label && <Label {...{ disabled, error, focus, label, required: others.required, value: others.value }} />}\n\n <Select\n {...others}\n disabled={disabled}\n value={others.value || ''}\n className={styles(\n style.input,\n has.label && style.withLabel,\n !!label && !(focus || error || has.value) && style.empty,\n )}\n style={undefined}\n onChange={handleChange}\n onEnter={handleEnter}\n onLeave={handleLeave}\n />\n </View>\n\n {!disabled && <Icon value={ICON.EXPAND_MORE} className={styles(style.icon, style.select)} />}\n {has.stateIcon && <IconState {...{ error, success, warning }} />}\n </View>\n\n {hint && <Hint {...{ disabled, error, hint }} />}\n </View>\n );\n};\n\nInputSelect.displayName = 'Component:InputSelect';\n\nInputSelect.propTypes = {\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n hint: PropTypes.string,\n label: PropTypes.string,\n name: PropTypes.string.isRequired,\n showState: PropTypes.bool,\n success: PropTypes.bool,\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { InputSelect };\n"],"mappings":"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"}
|
|
@@ -62,10 +62,12 @@ exports.Story = Story;
|
|
|
62
62
|
Story.storyName = 'InputSelect';
|
|
63
63
|
Story.args = (_Story$args = {
|
|
64
64
|
disabled: false,
|
|
65
|
+
emptyOption: 'Select one option...',
|
|
65
66
|
error: false,
|
|
66
67
|
hint: 'hint',
|
|
67
68
|
label: 'label',
|
|
68
69
|
name: 'name',
|
|
70
|
+
required: false,
|
|
69
71
|
showState: true,
|
|
70
72
|
success: false,
|
|
71
73
|
warning: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputSelect.stories.js","names":["title","Story","props","useState","value","setValue","handleChange","next","others","console","log","handleEnter","handleLeave","storyName","args","disabled","error","hint","label","name","showState","success","warning","options","argTypes"],"sources":["../../../src/components/InputSelect/InputSelect.stories.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { InputSelect } from './InputSelect';\n\nexport default { title: 'Components' };\n\nexport const Story = (props) => {\n const [value, setValue] = useState('two');\n\n const handleChange = (next, ...others) => {\n setValue(next);\n console.log('<InputSelect>::onChange', next, ...others);\n };\n\n const handleEnter = (...others) => console.log('<InputSelect>::onEnter', ...others);\n\n const handleLeave = (...others) => console.log('<InputSelect>::onLeave', ...others);\n\n return <InputSelect {...props} value={value} onChange={handleChange} onEnter={handleEnter} onLeave={handleLeave} />;\n};\n\nStory.storyName = 'InputSelect';\n\nStory.args = {\n disabled: false,\n error: false,\n hint: 'hint',\n label: 'label',\n name: 'name',\n showState: true,\n success: false,\n warning: false,\n options: ['one', 'two', 'three', 'four', 'five'],\n // inherited properties\n ['data-testid']: 'test-story',\n style: {},\n};\n\nStory.argTypes = {};\n"],"mappings":";;;;;;;AAAA;AAEA;AAA4C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAE7B;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK,EAAK;EAC9B,gBAA0B,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAlCC,KAAK;IAAEC,QAAQ;EAEtB,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAAIC,IAAI,EAAgB;IAAA;IACxCF,QAAQ,CAACE,IAAI,CAAC;IAAC,kCADcC,MAAM;MAANA,MAAM;IAAA;IAEnC,YAAAC,OAAO,EAACC,GAAG,kBAAC,yBAAyB,EAAEH,IAAI,SAAKC,MAAM,EAAC;EACzD,CAAC;EAED,IAAMG,WAAW,GAAG,SAAdA,WAAW;IAAA;IAAA,mCAAOH,MAAM;MAANA,MAAM;IAAA;IAAA,OAAK,aAAAC,OAAO,EAACC,GAAG,mBAAC,wBAAwB,SAAKF,MAAM,EAAC;EAAA;EAEnF,IAAMI,WAAW,GAAG,SAAdA,WAAW;IAAA;IAAA,mCAAOJ,MAAM;MAANA,MAAM;IAAA;IAAA,OAAK,aAAAC,OAAO,EAACC,GAAG,mBAAC,wBAAwB,SAAKF,MAAM,EAAC;EAAA;EAEnF,oBAAO,6BAAC,wBAAW,eAAKN,KAAK;IAAE,KAAK,EAAEE,KAAM;IAAC,QAAQ,EAAEE,YAAa;IAAC,OAAO,EAAEK,WAAY;IAAC,OAAO,EAAEC;EAAY,GAAG;AACrH,CAAC;AAAC;AAEFX,KAAK,CAACY,SAAS,GAAG,aAAa;AAE/BZ,KAAK,CAACa,IAAI;EACRC,QAAQ,EAAE,KAAK;EACfC,KAAK,EAAE,KAAK;EACZC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;AAAC,gCAE/C,aAAa,EAAG,YAAY,yCACtB,CAAC,CAAC,eACV;
|
|
1
|
+
{"version":3,"file":"InputSelect.stories.js","names":["title","Story","props","useState","value","setValue","handleChange","next","others","console","log","handleEnter","handleLeave","storyName","args","disabled","emptyOption","error","hint","label","name","required","showState","success","warning","options","argTypes"],"sources":["../../../src/components/InputSelect/InputSelect.stories.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { InputSelect } from './InputSelect';\n\nexport default { title: 'Components' };\n\nexport const Story = (props) => {\n const [value, setValue] = useState('two');\n\n const handleChange = (next, ...others) => {\n setValue(next);\n console.log('<InputSelect>::onChange', next, ...others);\n };\n\n const handleEnter = (...others) => console.log('<InputSelect>::onEnter', ...others);\n\n const handleLeave = (...others) => console.log('<InputSelect>::onLeave', ...others);\n\n return <InputSelect {...props} value={value} onChange={handleChange} onEnter={handleEnter} onLeave={handleLeave} />;\n};\n\nStory.storyName = 'InputSelect';\n\nStory.args = {\n disabled: false,\n emptyOption: 'Select one option...',\n error: false,\n hint: 'hint',\n label: 'label',\n name: 'name',\n required: false,\n showState: true,\n success: false,\n warning: false,\n options: ['one', 'two', 'three', 'four', 'five'],\n // inherited properties\n ['data-testid']: 'test-story',\n style: {},\n};\n\nStory.argTypes = {};\n"],"mappings":";;;;;;;AAAA;AAEA;AAA4C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAE7B;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK,EAAK;EAC9B,gBAA0B,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAlCC,KAAK;IAAEC,QAAQ;EAEtB,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAAIC,IAAI,EAAgB;IAAA;IACxCF,QAAQ,CAACE,IAAI,CAAC;IAAC,kCADcC,MAAM;MAANA,MAAM;IAAA;IAEnC,YAAAC,OAAO,EAACC,GAAG,kBAAC,yBAAyB,EAAEH,IAAI,SAAKC,MAAM,EAAC;EACzD,CAAC;EAED,IAAMG,WAAW,GAAG,SAAdA,WAAW;IAAA;IAAA,mCAAOH,MAAM;MAANA,MAAM;IAAA;IAAA,OAAK,aAAAC,OAAO,EAACC,GAAG,mBAAC,wBAAwB,SAAKF,MAAM,EAAC;EAAA;EAEnF,IAAMI,WAAW,GAAG,SAAdA,WAAW;IAAA;IAAA,mCAAOJ,MAAM;MAANA,MAAM;IAAA;IAAA,OAAK,aAAAC,OAAO,EAACC,GAAG,mBAAC,wBAAwB,SAAKF,MAAM,EAAC;EAAA;EAEnF,oBAAO,6BAAC,wBAAW,eAAKN,KAAK;IAAE,KAAK,EAAEE,KAAM;IAAC,QAAQ,EAAEE,YAAa;IAAC,OAAO,EAAEK,WAAY;IAAC,OAAO,EAAEC;EAAY,GAAG;AACrH,CAAC;AAAC;AAEFX,KAAK,CAACY,SAAS,GAAG,aAAa;AAE/BZ,KAAK,CAACa,IAAI;EACRC,QAAQ,EAAE,KAAK;EACfC,WAAW,EAAE,sBAAsB;EACnCC,KAAK,EAAE,KAAK;EACZC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,KAAK;EACfC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;AAAC,gCAE/C,aAAa,EAAG,YAAY,yCACtB,CAAC,CAAC,eACV;AAEDxB,KAAK,CAACyB,QAAQ,GAAG,CAAC,CAAC"}
|
|
@@ -334,7 +334,7 @@ exports[`component:<InputSelect> prop:label 1`] = `
|
|
|
334
334
|
</DocumentFragment>
|
|
335
335
|
`;
|
|
336
336
|
|
|
337
|
-
exports[`component:<InputSelect> prop:
|
|
337
|
+
exports[`component:<InputSelect> prop:required 1`] = `
|
|
338
338
|
<DocumentFragment>
|
|
339
339
|
<div
|
|
340
340
|
class="view inputContainer"
|
|
@@ -345,9 +345,20 @@ exports[`component:<InputSelect> prop:label 2`] = `
|
|
|
345
345
|
<div
|
|
346
346
|
class="view wide content"
|
|
347
347
|
>
|
|
348
|
+
<span
|
|
349
|
+
class="text paragraph text label"
|
|
350
|
+
>
|
|
351
|
+
label
|
|
352
|
+
<span
|
|
353
|
+
class="required"
|
|
354
|
+
>
|
|
355
|
+
*
|
|
356
|
+
</span>
|
|
357
|
+
</span>
|
|
348
358
|
<select
|
|
349
|
-
class="select input"
|
|
359
|
+
class="select empty input withLabel empty"
|
|
350
360
|
name="name"
|
|
361
|
+
required=""
|
|
351
362
|
>
|
|
352
363
|
<option
|
|
353
364
|
value="one"
|
|
@@ -451,6 +462,75 @@ exports[`component:<InputSelect> prop:success 1`] = `
|
|
|
451
462
|
</DocumentFragment>
|
|
452
463
|
`;
|
|
453
464
|
|
|
465
|
+
exports[`component:<InputSelect> prop:value 1`] = `
|
|
466
|
+
<DocumentFragment>
|
|
467
|
+
<div
|
|
468
|
+
class="view inputContainer"
|
|
469
|
+
>
|
|
470
|
+
<div
|
|
471
|
+
class="view row inputBorder"
|
|
472
|
+
>
|
|
473
|
+
<div
|
|
474
|
+
class="view wide content"
|
|
475
|
+
>
|
|
476
|
+
<select
|
|
477
|
+
class="select input"
|
|
478
|
+
name="name"
|
|
479
|
+
>
|
|
480
|
+
<option
|
|
481
|
+
value="one"
|
|
482
|
+
>
|
|
483
|
+
one
|
|
484
|
+
</option>
|
|
485
|
+
<option
|
|
486
|
+
value="two"
|
|
487
|
+
>
|
|
488
|
+
two
|
|
489
|
+
</option>
|
|
490
|
+
<option
|
|
491
|
+
value="three"
|
|
492
|
+
>
|
|
493
|
+
three
|
|
494
|
+
</option>
|
|
495
|
+
<option
|
|
496
|
+
value="four"
|
|
497
|
+
>
|
|
498
|
+
four
|
|
499
|
+
</option>
|
|
500
|
+
<option
|
|
501
|
+
value="five"
|
|
502
|
+
>
|
|
503
|
+
five
|
|
504
|
+
</option>
|
|
505
|
+
</select>
|
|
506
|
+
</div>
|
|
507
|
+
<span
|
|
508
|
+
class="icon headline-3 icon select"
|
|
509
|
+
>
|
|
510
|
+
<svg
|
|
511
|
+
fill="currentColor"
|
|
512
|
+
height="1em"
|
|
513
|
+
stroke="currentColor"
|
|
514
|
+
stroke-width="0"
|
|
515
|
+
viewBox="0 0 24 24"
|
|
516
|
+
width="1em"
|
|
517
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
518
|
+
>
|
|
519
|
+
<path
|
|
520
|
+
d="M24 24H0V0h24v24z"
|
|
521
|
+
fill="none"
|
|
522
|
+
opacity=".87"
|
|
523
|
+
/>
|
|
524
|
+
<path
|
|
525
|
+
d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6-1.41-1.41z"
|
|
526
|
+
/>
|
|
527
|
+
</svg>
|
|
528
|
+
</span>
|
|
529
|
+
</div>
|
|
530
|
+
</div>
|
|
531
|
+
</DocumentFragment>
|
|
532
|
+
`;
|
|
533
|
+
|
|
454
534
|
exports[`component:<InputSelect> prop:warning 1`] = `
|
|
455
535
|
<DocumentFragment>
|
|
456
536
|
<div
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputText.js","names":["InputText","disabled","error","hint","icon","label","showState","success","type","warning","onChange","onEnter","onLeave","others","useState","focus","setFocus","password","setPassword","handleChange","value","event","handleEnter","handleLeave","handlePress","is","search","undefined","has","length","stateIcon","styles","style","inputContainer","className","inputBorder","ICON","SEARCH","left","content","input","withLabel","EYE_CLOSE","EYE_OPEN","CLOSE","displayName","propTypes","PropTypes","bool","string","func","multiLine","name","isRequired"],"sources":["../../../src/components/InputText/InputText.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { ICON, Icon, Input, Pressable, View } from '../../primitives';\nimport style from './InputText.module.css';\nimport { Hint, IconState, Label } from './partials';\n\nconst InputText = ({\n disabled,\n error,\n hint,\n icon,\n label,\n showState = true,\n success,\n type,\n warning,\n onChange = () => {},\n onEnter = () => {},\n onLeave = () => {},\n ...others\n}) => {\n const [focus, setFocus] = useState(false);\n const [password, setPassword] = useState(true);\n\n const handleChange = (value, event) => {\n onChange(value, event);\n };\n\n const handleEnter = (event) => {\n setFocus(true);\n onEnter(event);\n };\n\n const handleLeave = (event) => {\n setFocus(false);\n onLeave(event);\n };\n\n const handlePress = (event) => {\n if (is.password) setPassword(!password);\n else if (is.search) onChange(undefined, event);\n };\n\n const is = {\n password: type === 'password',\n search: type === 'search',\n };\n\n const has = {\n icon: !!icon || is.search,\n label: !!label,\n value: others.value !== undefined && others.value?.length > 0,\n stateIcon: showState && (error || success || warning),\n };\n\n return (\n <View className={styles(style.inputContainer, others.className)} style={others.style}>\n <View\n row\n className={styles(\n style.inputBorder,\n disabled && style.disabled,\n error && style.error,\n focus && !error && style.focus,\n )}\n >\n {has.icon && (\n <Icon\n value={icon || ICON.SEARCH}\n className={styles(style.icon, style.left, disabled && style.disabled, error && style.error)}\n />\n )}\n <View wide className={style.content}>\n {label && <Label {...{ disabled, error, focus, label, value: others.value }} />}\n\n <Input\n {...others}\n disabled={disabled}\n type={!is.password || password ? type : 'text'}\n value={others.value || ''}\n className={styles(style.input, has.label && style.withLabel)}\n onChange={handleChange}\n onEnter={handleEnter}\n onLeave={handleLeave}\n />\n </View>\n\n {(is.password || is.search) && !disabled && (\n <Pressable tabIndex={-1} onPress={handlePress}>\n <Icon\n value={is.password ? (password ? ICON.EYE_CLOSE : ICON.EYE_OPEN) : ICON.CLOSE}\n className={style.icon}\n />\n </Pressable>\n )}\n\n {has.stateIcon && <IconState {...{ error, success, warning }} />}\n </View>\n\n {hint && <Hint {...{ disabled, error, hint }} />}\n </View>\n );\n};\n\nInputText.displayName = 'Component:InputText';\n\nInputText.propTypes = {\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n hint: PropTypes.string,\n icon: PropTypes.func,\n label: PropTypes.string,\n multiLine: PropTypes.bool,\n name: PropTypes.string.isRequired,\n showState: PropTypes.bool,\n success: PropTypes.bool,\n type: PropTypes.string,\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { InputText };\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"InputText.js","names":["InputText","disabled","error","hint","icon","label","showState","success","type","warning","onChange","onEnter","onLeave","others","useState","focus","setFocus","password","setPassword","handleChange","value","event","handleEnter","handleLeave","handlePress","is","search","undefined","has","length","stateIcon","styles","style","inputContainer","className","inputBorder","ICON","SEARCH","left","content","required","input","withLabel","EYE_CLOSE","EYE_OPEN","CLOSE","displayName","propTypes","PropTypes","bool","string","func","multiLine","name","isRequired"],"sources":["../../../src/components/InputText/InputText.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { ICON, Icon, Input, Pressable, View } from '../../primitives';\nimport style from './InputText.module.css';\nimport { Hint, IconState, Label } from './partials';\n\nconst InputText = ({\n disabled,\n error,\n hint,\n icon,\n label,\n showState = true,\n success,\n type,\n warning,\n onChange = () => {},\n onEnter = () => {},\n onLeave = () => {},\n ...others\n}) => {\n const [focus, setFocus] = useState(false);\n const [password, setPassword] = useState(true);\n\n const handleChange = (value, event) => {\n onChange(value, event);\n };\n\n const handleEnter = (event) => {\n setFocus(true);\n onEnter(event);\n };\n\n const handleLeave = (event) => {\n setFocus(false);\n onLeave(event);\n };\n\n const handlePress = (event) => {\n if (is.password) setPassword(!password);\n else if (is.search) onChange(undefined, event);\n };\n\n const is = {\n password: type === 'password',\n search: type === 'search',\n };\n\n const has = {\n icon: !!icon || is.search,\n label: !!label,\n value: others.value !== undefined && others.value?.length > 0,\n stateIcon: showState && (error || success || warning),\n };\n\n return (\n <View className={styles(style.inputContainer, others.className)} style={others.style}>\n <View\n row\n className={styles(\n style.inputBorder,\n disabled && style.disabled,\n error && style.error,\n focus && !error && style.focus,\n )}\n >\n {has.icon && (\n <Icon\n value={icon || ICON.SEARCH}\n className={styles(style.icon, style.left, disabled && style.disabled, error && style.error)}\n />\n )}\n <View wide className={style.content}>\n {label && <Label {...{ disabled, error, focus, label, required: others.required, value: others.value }} />}\n\n <Input\n {...others}\n disabled={disabled}\n type={!is.password || password ? type : 'text'}\n value={others.value || ''}\n className={styles(style.input, has.label && style.withLabel)}\n onChange={handleChange}\n onEnter={handleEnter}\n onLeave={handleLeave}\n />\n </View>\n\n {(is.password || is.search) && !disabled && (\n <Pressable tabIndex={-1} onPress={handlePress}>\n <Icon\n value={is.password ? (password ? ICON.EYE_CLOSE : ICON.EYE_OPEN) : ICON.CLOSE}\n className={style.icon}\n />\n </Pressable>\n )}\n\n {has.stateIcon && <IconState {...{ error, success, warning }} />}\n </View>\n\n {hint && <Hint {...{ disabled, error, hint }} />}\n </View>\n );\n};\n\nInputText.displayName = 'Component:InputText';\n\nInputText.propTypes = {\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n hint: PropTypes.string,\n icon: PropTypes.func,\n label: PropTypes.string,\n multiLine: PropTypes.bool,\n name: PropTypes.string.isRequired,\n showState: PropTypes.bool,\n success: PropTypes.bool,\n type: PropTypes.string,\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { InputText };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputText.stories.js","names":["title","Story","props","useState","value","setValue","handleChange","next","others","console","log","handleEnter","handleLeave","ICON","icon","storyName","args","disabled","error","hint","undefined","label","multiLine","name","placeholder","showState","success","type","warning","argTypes","options","Object","keys","control","defaultValue"],"sources":["../../../src/components/InputText/InputText.stories.jsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React, { useState } from 'react';\n\nimport { ICON } from '../../primitives';\nimport { InputText } from './InputText';\n\nexport default { title: 'Components' };\n\nexport const Story = (props) => {\n const [value, setValue] = useState('value');\n\n const handleChange = (next, ...others) => {\n setValue(next);\n console.log('<InputText>::onChange', next, ...others);\n };\n\n const handleEnter = (...others) => console.log('<InputText>::onEnter', ...others);\n\n const handleLeave = (...others) => console.log('<InputText>::onLeave', ...others);\n\n return (\n <InputText\n {...props}\n icon={ICON[props.icon]}\n value={value}\n onChange={handleChange}\n onEnter={handleEnter}\n onLeave={handleLeave}\n />\n );\n};\n\nStory.storyName = 'InputText';\n\nStory.args = {\n disabled: false,\n error: false,\n hint: 'hint',\n icon: undefined,\n label: 'label',\n multiLine: false,\n name: 'name',\n placeholder: '',\n showState: true,\n success: false,\n type: 'text',\n warning: false,\n // inherited properties\n ['data-testid']: 'test-story',\n style: {},\n};\n\nStory.argTypes = {\n icon: {\n options: [undefined, ...Object.keys(ICON)],\n control: { type: 'select' },\n defaultValue: undefined,\n },\n type: {\n options: ['text', 'password', 'number', 'email', 'date'],\n control: { type: 'select' },\n defaultValue: 'text',\n },\n};\n"],"mappings":";;;;;;;AACA;AAEA;AACA;AAAwC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAEzB;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK,EAAK;EAC9B,gBAA0B,IAAAC,eAAQ,EAAC,OAAO,CAAC;IAAA;IAApCC,KAAK;IAAEC,QAAQ;EAEtB,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAAIC,IAAI,EAAgB;IAAA;IACxCF,QAAQ,CAACE,IAAI,CAAC;IAAC,kCADcC,MAAM;MAANA,MAAM;IAAA;IAEnC,YAAAC,OAAO,EAACC,GAAG,kBAAC,uBAAuB,EAAEH,IAAI,SAAKC,MAAM,EAAC;EACvD,CAAC;EAED,IAAMG,WAAW,GAAG,SAAdA,WAAW;IAAA;IAAA,mCAAOH,MAAM;MAANA,MAAM;IAAA;IAAA,OAAK,aAAAC,OAAO,EAACC,GAAG,mBAAC,sBAAsB,SAAKF,MAAM,EAAC;EAAA;EAEjF,IAAMI,WAAW,GAAG,SAAdA,WAAW;IAAA;IAAA,mCAAOJ,MAAM;MAANA,MAAM;IAAA;IAAA,OAAK,aAAAC,OAAO,EAACC,GAAG,mBAAC,sBAAsB,SAAKF,MAAM,EAAC;EAAA;EAEjF,oBACE,6BAAC,oBAAS,eACJN,KAAK;IACT,IAAI,EAAEW,gBAAI,CAACX,KAAK,CAACY,IAAI,CAAE;IACvB,KAAK,EAAEV,KAAM;IACb,QAAQ,EAAEE,YAAa;IACvB,OAAO,EAAEK,WAAY;IACrB,OAAO,EAAEC;EAAY,GACrB;AAEN,CAAC;AAAC;AAEFX,KAAK,CAACc,SAAS,GAAG,WAAW;AAE7Bd,KAAK,CAACe,IAAI;EACRC,QAAQ,EAAE,KAAK;EACfC,KAAK,EAAE,KAAK;EACZC,IAAI,EAAE,MAAM;EACZL,IAAI,EAAEM,SAAS;EACfC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAE,KAAK;EAChBC,IAAI,EAAE,MAAM;EACZC,WAAW,EAAE,EAAE;EACfC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE,KAAK;EACdC,IAAI,EAAE,MAAM;EACZC,OAAO,EAAE;AAAK,gCAEb,aAAa,EAAG,YAAY,yCACtB,CAAC,CAAC,eACV;
|
|
1
|
+
{"version":3,"file":"InputText.stories.js","names":["title","Story","props","useState","value","setValue","handleChange","next","others","console","log","handleEnter","handleLeave","ICON","icon","storyName","args","disabled","error","hint","undefined","label","multiLine","name","placeholder","required","showState","success","type","warning","argTypes","options","Object","keys","control","defaultValue"],"sources":["../../../src/components/InputText/InputText.stories.jsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React, { useState } from 'react';\n\nimport { ICON } from '../../primitives';\nimport { InputText } from './InputText';\n\nexport default { title: 'Components' };\n\nexport const Story = (props) => {\n const [value, setValue] = useState('value');\n\n const handleChange = (next, ...others) => {\n setValue(next);\n console.log('<InputText>::onChange', next, ...others);\n };\n\n const handleEnter = (...others) => console.log('<InputText>::onEnter', ...others);\n\n const handleLeave = (...others) => console.log('<InputText>::onLeave', ...others);\n\n return (\n <InputText\n {...props}\n icon={ICON[props.icon]}\n value={value}\n onChange={handleChange}\n onEnter={handleEnter}\n onLeave={handleLeave}\n />\n );\n};\n\nStory.storyName = 'InputText';\n\nStory.args = {\n disabled: false,\n error: false,\n hint: 'hint',\n icon: undefined,\n label: 'label',\n multiLine: false,\n name: 'name',\n placeholder: '',\n required: false,\n showState: true,\n success: false,\n type: 'text',\n warning: false,\n // inherited properties\n ['data-testid']: 'test-story',\n style: {},\n};\n\nStory.argTypes = {\n icon: {\n options: [undefined, ...Object.keys(ICON)],\n control: { type: 'select' },\n defaultValue: undefined,\n },\n type: {\n options: ['text', 'password', 'number', 'email', 'date'],\n control: { type: 'select' },\n defaultValue: 'text',\n },\n};\n"],"mappings":";;;;;;;AACA;AAEA;AACA;AAAwC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAEzB;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK,EAAK;EAC9B,gBAA0B,IAAAC,eAAQ,EAAC,OAAO,CAAC;IAAA;IAApCC,KAAK;IAAEC,QAAQ;EAEtB,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAAIC,IAAI,EAAgB;IAAA;IACxCF,QAAQ,CAACE,IAAI,CAAC;IAAC,kCADcC,MAAM;MAANA,MAAM;IAAA;IAEnC,YAAAC,OAAO,EAACC,GAAG,kBAAC,uBAAuB,EAAEH,IAAI,SAAKC,MAAM,EAAC;EACvD,CAAC;EAED,IAAMG,WAAW,GAAG,SAAdA,WAAW;IAAA;IAAA,mCAAOH,MAAM;MAANA,MAAM;IAAA;IAAA,OAAK,aAAAC,OAAO,EAACC,GAAG,mBAAC,sBAAsB,SAAKF,MAAM,EAAC;EAAA;EAEjF,IAAMI,WAAW,GAAG,SAAdA,WAAW;IAAA;IAAA,mCAAOJ,MAAM;MAANA,MAAM;IAAA;IAAA,OAAK,aAAAC,OAAO,EAACC,GAAG,mBAAC,sBAAsB,SAAKF,MAAM,EAAC;EAAA;EAEjF,oBACE,6BAAC,oBAAS,eACJN,KAAK;IACT,IAAI,EAAEW,gBAAI,CAACX,KAAK,CAACY,IAAI,CAAE;IACvB,KAAK,EAAEV,KAAM;IACb,QAAQ,EAAEE,YAAa;IACvB,OAAO,EAAEK,WAAY;IACrB,OAAO,EAAEC;EAAY,GACrB;AAEN,CAAC;AAAC;AAEFX,KAAK,CAACc,SAAS,GAAG,WAAW;AAE7Bd,KAAK,CAACe,IAAI;EACRC,QAAQ,EAAE,KAAK;EACfC,KAAK,EAAE,KAAK;EACZC,IAAI,EAAE,MAAM;EACZL,IAAI,EAAEM,SAAS;EACfC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAE,KAAK;EAChBC,IAAI,EAAE,MAAM;EACZC,WAAW,EAAE,EAAE;EACfC,QAAQ,EAAE,KAAK;EACfC,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE,KAAK;EACdC,IAAI,EAAE,MAAM;EACZC,OAAO,EAAE;AAAK,gCAEb,aAAa,EAAG,YAAY,yCACtB,CAAC,CAAC,eACV;AAED5B,KAAK,CAAC6B,QAAQ,GAAG;EACfhB,IAAI,EAAE;IACJiB,OAAO,GAAGX,SAAS,4BAAKY,MAAM,CAACC,IAAI,CAACpB,gBAAI,CAAC,EAAC;IAC1CqB,OAAO,EAAE;MAAEN,IAAI,EAAE;IAAS,CAAC;IAC3BO,YAAY,EAAEf;EAChB,CAAC;EACDQ,IAAI,EAAE;IACJG,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;IACxDG,OAAO,EAAE;MAAEN,IAAI,EAAE;IAAS,CAAC;IAC3BO,YAAY,EAAE;EAChB;AACF,CAAC"}
|
|
@@ -213,6 +213,40 @@ exports[`component:<InputText> prop:multiLine 1`] = `
|
|
|
213
213
|
</DocumentFragment>
|
|
214
214
|
`;
|
|
215
215
|
|
|
216
|
+
exports[`component:<InputText> prop:required 1`] = `
|
|
217
|
+
<DocumentFragment>
|
|
218
|
+
<div
|
|
219
|
+
class="view inputContainer"
|
|
220
|
+
>
|
|
221
|
+
<div
|
|
222
|
+
class="view row inputBorder"
|
|
223
|
+
>
|
|
224
|
+
<div
|
|
225
|
+
class="view wide content"
|
|
226
|
+
>
|
|
227
|
+
<span
|
|
228
|
+
class="text paragraph text label"
|
|
229
|
+
>
|
|
230
|
+
label
|
|
231
|
+
<span
|
|
232
|
+
class="required"
|
|
233
|
+
>
|
|
234
|
+
*
|
|
235
|
+
</span>
|
|
236
|
+
</span>
|
|
237
|
+
<input
|
|
238
|
+
class="input input withLabel"
|
|
239
|
+
name="name"
|
|
240
|
+
required=""
|
|
241
|
+
type="text"
|
|
242
|
+
value=""
|
|
243
|
+
/>
|
|
244
|
+
</div>
|
|
245
|
+
</div>
|
|
246
|
+
</div>
|
|
247
|
+
</DocumentFragment>
|
|
248
|
+
`;
|
|
249
|
+
|
|
216
250
|
exports[`component:<InputText> prop:showState (false) 1`] = `
|
|
217
251
|
<DocumentFragment>
|
|
218
252
|
<div
|
|
@@ -24,7 +24,9 @@ var Label = function Label(_ref) {
|
|
|
24
24
|
others = _objectWithoutProperties(_ref, _excluded);
|
|
25
25
|
return /*#__PURE__*/_react.default.createElement(_primitives.Text, {
|
|
26
26
|
className: (0, _helpers.styles)(_InputTextModule.default.text, others.className || _InputTextModule.default.label, disabled && _InputTextModule.default.disabled, focus && _InputTextModule.default.focus, error && _InputTextModule.default.error, (focus || error || value !== undefined && (value === null || value === void 0 ? void 0 : value.length) > 0) && _InputTextModule.default.withValue)
|
|
27
|
-
},
|
|
27
|
+
}, label, required && !disabled && /*#__PURE__*/_react.default.createElement("span", {
|
|
28
|
+
className: _InputTextModule.default.required
|
|
29
|
+
}, " *"));
|
|
28
30
|
};
|
|
29
31
|
exports.Label = Label;
|
|
30
32
|
Label.displayName = 'Component:InputText.Label';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputText.Label.js","names":["Label","disabled","error","focus","label","required","value","others","styles","style","text","className","undefined","length","withValue","displayName","propTypes","PropTypes","bool","string"],"sources":["../../../../src/components/InputText/partials/InputText.Label.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../../helpers';\nimport { Text } from '../../../primitives';\nimport style from '../InputText.module.css';\n\nconst Label = ({ disabled, error, focus, label, required = false, value, ...others }) => (\n <Text\n className={styles(\n style.text,\n others.className || style.label,\n disabled && style.disabled,\n focus && style.focus,\n error && style.error,\n (focus || error || (value !== undefined && value?.length > 0)) && style.withValue,\n )}\n >\n
|
|
1
|
+
{"version":3,"file":"InputText.Label.js","names":["Label","disabled","error","focus","label","required","value","others","styles","style","text","className","undefined","length","withValue","displayName","propTypes","PropTypes","bool","string"],"sources":["../../../../src/components/InputText/partials/InputText.Label.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../../helpers';\nimport { Text } from '../../../primitives';\nimport style from '../InputText.module.css';\n\nconst Label = ({ disabled, error, focus, label, required = false, value, ...others }) => (\n <Text\n className={styles(\n style.text,\n others.className || style.label,\n disabled && style.disabled,\n focus && style.focus,\n error && style.error,\n (focus || error || (value !== undefined && value?.length > 0)) && style.withValue,\n )}\n >\n {label}\n {required && !disabled && <span className={style.required}> *</span>}\n </Text>\n);\n\nLabel.displayName = 'Component:InputText.Label';\n\nLabel.propTypes = {\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n focus: PropTypes.bool,\n label: PropTypes.string,\n required: PropTypes.bool,\n value: PropTypes.string,\n};\n\nexport { Label };\n"],"mappings":";;;;;;AAAA;AACA;AAEA;AACA;AACA;AAA4C;AAAA;AAAA;AAAA;AAE5C,IAAMA,KAAK,GAAG,SAARA,KAAK;EAAA,IAAMC,QAAQ,QAARA,QAAQ;IAAEC,KAAK,QAALA,KAAK;IAAEC,KAAK,QAALA,KAAK;IAAEC,KAAK,QAALA,KAAK;IAAA,qBAAEC,QAAQ;IAARA,QAAQ,8BAAG,KAAK;IAAEC,KAAK,QAALA,KAAK;IAAKC,MAAM;EAAA,oBAChF,6BAAC,gBAAI;IACH,SAAS,EAAE,IAAAC,eAAM,EACfC,wBAAK,CAACC,IAAI,EACVH,MAAM,CAACI,SAAS,IAAIF,wBAAK,CAACL,KAAK,EAC/BH,QAAQ,IAAIQ,wBAAK,CAACR,QAAQ,EAC1BE,KAAK,IAAIM,wBAAK,CAACN,KAAK,EACpBD,KAAK,IAAIO,wBAAK,CAACP,KAAK,EACpB,CAACC,KAAK,IAAID,KAAK,IAAKI,KAAK,KAAKM,SAAS,IAAI,CAAAN,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,MAAM,IAAG,CAAE,KAAKJ,wBAAK,CAACK,SAAS;EACjF,GAEDV,KAAK,EACLC,QAAQ,IAAI,CAACJ,QAAQ,iBAAI;IAAM,SAAS,EAAEQ,wBAAK,CAACJ;EAAS,QAAU,CAC/D;AAAA,CACR;AAAC;AAEFL,KAAK,CAACe,WAAW,GAAG,2BAA2B;AAE/Cf,KAAK,CAACgB,SAAS,GAAG;EAChBf,QAAQ,EAAEgB,kBAAS,CAACC,IAAI;EACxBhB,KAAK,EAAEe,kBAAS,CAACC,IAAI;EACrBf,KAAK,EAAEc,kBAAS,CAACC,IAAI;EACrBd,KAAK,EAAEa,kBAAS,CAACE,MAAM;EACvBd,QAAQ,EAAEY,kBAAS,CAACC,IAAI;EACxBZ,KAAK,EAAEW,kBAAS,CAACE;AACnB,CAAC"}
|