@mirai/ui 1.0.123 → 1.0.125

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/build/components/InputPhone/InputPhone.js +2 -0
  2. package/build/components/InputPhone/InputPhone.js.map +1 -1
  3. package/build/components/InputPhone/InputPhone.stories.js +2 -1
  4. package/build/components/InputPhone/InputPhone.stories.js.map +1 -1
  5. package/build/components/InputPhone/__tests__/__snapshots__/InputPhone.test.js.snap +102 -0
  6. package/build/components/InputSelect/InputSelect.js +1 -0
  7. package/build/components/InputSelect/InputSelect.js.map +1 -1
  8. package/build/components/InputSelect/InputSelect.stories.js +2 -0
  9. package/build/components/InputSelect/InputSelect.stories.js.map +1 -1
  10. package/build/components/InputSelect/__tests__/__snapshots__/InputSelect.test.js.snap +82 -2
  11. package/build/components/InputText/InputText.js +1 -0
  12. package/build/components/InputText/InputText.js.map +1 -1
  13. package/build/components/InputText/InputText.module.css +4 -0
  14. package/build/components/InputText/InputText.stories.js +1 -0
  15. package/build/components/InputText/InputText.stories.js.map +1 -1
  16. package/build/components/InputText/__tests__/__snapshots__/InputText.test.js.snap +34 -0
  17. package/build/components/InputText/partials/InputText.Label.js +3 -1
  18. package/build/components/InputText/partials/InputText.Label.js.map +1 -1
  19. package/build/primitives/Input/Input.module.css +1 -1
  20. package/build/primitives/Text/Text.js +5 -3
  21. package/build/primitives/Text/Text.js.map +1 -1
  22. package/build/primitives/Text/Text.module.css +4 -0
  23. package/build/primitives/Text/Text.stories.js +2 -1
  24. package/build/primitives/Text/Text.stories.js.map +1 -1
  25. package/build/primitives/Text/__tests__/__snapshots__/Text.test.js.snap +20 -10
  26. package/package.json +1 -1
@@ -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,GAAE;IAAA;IAA7BC,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,SAAS,EAAE,IAAI;EACfC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE;AAAK,gCAEb,aAAa,EAAG,YAAY,yCACtB,CAAC,CAAC,eACV;AAED3B,KAAK,CAAC4B,QAAQ,GAAG;EACfd,IAAI,EAAE;IACJe,OAAO,GAAGT,SAAS,4BAAKU,MAAM,CAACC,IAAI,CAAClB,gBAAI,CAAC,EAAC;IAC1CmB,OAAO,EAAE;MAAEC,IAAI,EAAE;IAAS,CAAC;IAC3BC,YAAY,EAAEd;EAChB;AACF,CAAC"}
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":"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"}
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;AAEDtB,KAAK,CAACuB,QAAQ,GAAG,CAAC,CAAC"}
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:label 2`] = `
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
@@ -92,6 +92,7 @@ var InputText = function InputText(_ref) {
92
92
  error: error,
93
93
  focus: focus,
94
94
  label: label,
95
+ required: others.required,
95
96
  value: others.value
96
97
  }), /*#__PURE__*/_react.default.createElement(_primitives.Input, _extends({}, others, {
97
98
  disabled: disabled,
@@ -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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"}
@@ -85,6 +85,10 @@
85
85
  top: var(--mirai-ui-space-XS);
86
86
  }
87
87
 
88
+ .label .required {
89
+ color: var(--mirai-ui-error);
90
+ }
91
+
88
92
  .text {
89
93
  color: var(--mirai-ui-input-disabled);
90
94
  }
@@ -75,6 +75,7 @@ Story.args = (_Story$args = {
75
75
  multiLine: false,
76
76
  name: 'name',
77
77
  placeholder: '',
78
+ required: false,
78
79
  showState: true,
79
80
  success: false,
80
81
  type: 'text',
@@ -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;AAED3B,KAAK,CAAC4B,QAAQ,GAAG;EACff,IAAI,EAAE;IACJgB,OAAO,GAAGV,SAAS,4BAAKW,MAAM,CAACC,IAAI,CAACnB,gBAAI,CAAC,EAAC;IAC1CoB,OAAO,EAAE;MAAEN,IAAI,EAAE;IAAS,CAAC;IAC3BO,YAAY,EAAEd;EAChB,CAAC;EACDO,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"}
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
- }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, label), required && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "*"));
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 <>{label}</>\n {required && <>*</>}\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,gBAEF,4DAAGV,KAAK,CAAI,EACXC,QAAQ,iBAAI,gEAAM,CACd;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"}
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"}
@@ -37,7 +37,7 @@ input.input::-ms-clear {
37
37
  appearance: none;
38
38
  }
39
39
 
40
- input.input:focus,
40
+ input.input:focus:not(::placeholder),
41
41
  input.input:-webkit-autofill,
42
42
  input.input:-webkit-autofill:hover,
43
43
  input.input:-webkit-autofill:focus {
@@ -9,7 +9,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _helpers = require("../../helpers");
11
11
  var _TextModule = _interopRequireDefault(require("./Text.module.css"));
12
- var _excluded = ["action", "bold", "children", "headline", "level", "small", "tag", "underline", "upperCase"];
12
+ var _excluded = ["action", "bold", "children", "headline", "level", "small", "tag", "underline", "upperCase", "wide"];
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
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
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; }
@@ -29,9 +29,10 @@ var Text = function Text(_ref) {
29
29
  tag = _ref.tag,
30
30
  underline = _ref.underline,
31
31
  upperCase = _ref.upperCase,
32
+ wide = _ref.wide,
32
33
  others = _objectWithoutProperties(_ref, _excluded);
33
34
  return /*#__PURE__*/_react.default.createElement(tag || (headline ? "h".concat(level) : 'span'), _objectSpread(_objectSpread({}, others), {}, {
34
- className: (0, _helpers.styles)(_TextModule.default.text, bold && _TextModule.default.bold, headline ? _TextModule.default["headline-".concat(level)] : action ? _TextModule.default.action : small ? _TextModule.default.small : _TextModule.default.paragraph, underline && _TextModule.default.underline, upperCase && _TextModule.default.upperCase, others.className)
35
+ className: (0, _helpers.styles)(_TextModule.default.text, bold && _TextModule.default.bold, headline ? _TextModule.default["headline-".concat(level)] : action ? _TextModule.default.action : small ? _TextModule.default.small : _TextModule.default.paragraph, underline && _TextModule.default.underline, upperCase && _TextModule.default.upperCase, wide && _TextModule.default.wide, others.className)
35
36
  }), children);
36
37
  };
37
38
  exports.Text = Text;
@@ -45,6 +46,7 @@ Text.propTypes = {
45
46
  small: _propTypes.default.bool,
46
47
  tag: _propTypes.default.string,
47
48
  underline: _propTypes.default.bool,
48
- upperCase: _propTypes.default.bool
49
+ upperCase: _propTypes.default.bool,
50
+ wide: _propTypes.default.bool
49
51
  };
50
52
  //# sourceMappingURL=Text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","names":["Text","action","bold","children","headline","level","small","tag","underline","upperCase","others","React","createElement","className","styles","style","text","paragraph","displayName","propTypes","PropTypes","bool","oneOfType","string","number","array"],"sources":["../../../src/primitives/Text/Text.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport style from './Text.module.css';\n\nconst Text = ({ action, bold, children, headline, level = 3, small, tag, underline, upperCase, ...others }) =>\n React.createElement(\n tag || (headline ? `h${level}` : 'span'),\n {\n ...others,\n className: styles(\n style.text,\n bold && style.bold,\n headline ? style[`headline-${level}`] : action ? style.action : small ? style.small : style.paragraph,\n underline && style.underline,\n upperCase && style.upperCase,\n others.className,\n ),\n },\n children,\n );\n\nText.displayName = 'Primitive:Text';\n\nText.propTypes = {\n action: PropTypes.bool,\n bold: PropTypes.bool,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.array]),\n headline: PropTypes.bool,\n level: PropTypes.number,\n small: PropTypes.bool,\n tag: PropTypes.string,\n underline: PropTypes.bool,\n upperCase: PropTypes.bool,\n};\n\nexport { Text };\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AACA;AAAsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEtC,IAAMA,IAAI,GAAG,SAAPA,IAAI;EAAA,IAAMC,MAAM,QAANA,MAAM;IAAEC,IAAI,QAAJA,IAAI;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,QAAQ,QAARA,QAAQ;IAAA,kBAAEC,KAAK;IAALA,KAAK,2BAAG,CAAC;IAAEC,KAAK,QAALA,KAAK;IAAEC,GAAG,QAAHA,GAAG;IAAEC,SAAS,QAATA,SAAS;IAAEC,SAAS,QAATA,SAAS;IAAKC,MAAM;EAAA,oBACtGC,cAAK,CAACC,aAAa,CACjBL,GAAG,KAAKH,QAAQ,cAAOC,KAAK,IAAK,MAAM,CAAC,kCAEnCK,MAAM;IACTG,SAAS,EAAE,IAAAC,eAAM,EACfC,mBAAK,CAACC,IAAI,EACVd,IAAI,IAAIa,mBAAK,CAACb,IAAI,EAClBE,QAAQ,GAAGW,mBAAK,oBAAaV,KAAK,EAAG,GAAGJ,MAAM,GAAGc,mBAAK,CAACd,MAAM,GAAGK,KAAK,GAAGS,mBAAK,CAACT,KAAK,GAAGS,mBAAK,CAACE,SAAS,EACrGT,SAAS,IAAIO,mBAAK,CAACP,SAAS,EAC5BC,SAAS,IAAIM,mBAAK,CAACN,SAAS,EAC5BC,MAAM,CAACG,SAAS;EACjB,IAEHV,QAAQ,CACT;AAAA;AAAC;AAEJH,IAAI,CAACkB,WAAW,GAAG,gBAAgB;AAEnClB,IAAI,CAACmB,SAAS,GAAG;EACflB,MAAM,EAAEmB,kBAAS,CAACC,IAAI;EACtBnB,IAAI,EAAEkB,kBAAS,CAACC,IAAI;EACpBlB,QAAQ,EAAEiB,kBAAS,CAACE,SAAS,CAAC,CAACF,kBAAS,CAACG,MAAM,EAAEH,kBAAS,CAACI,MAAM,EAAEJ,kBAAS,CAACK,KAAK,CAAC,CAAC;EACpFrB,QAAQ,EAAEgB,kBAAS,CAACC,IAAI;EACxBhB,KAAK,EAAEe,kBAAS,CAACI,MAAM;EACvBlB,KAAK,EAAEc,kBAAS,CAACC,IAAI;EACrBd,GAAG,EAAEa,kBAAS,CAACG,MAAM;EACrBf,SAAS,EAAEY,kBAAS,CAACC,IAAI;EACzBZ,SAAS,EAAEW,kBAAS,CAACC;AACvB,CAAC"}
1
+ {"version":3,"file":"Text.js","names":["Text","action","bold","children","headline","level","small","tag","underline","upperCase","wide","others","React","createElement","className","styles","style","text","paragraph","displayName","propTypes","PropTypes","bool","oneOfType","string","number","array"],"sources":["../../../src/primitives/Text/Text.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport style from './Text.module.css';\n\nconst Text = ({ action, bold, children, headline, level = 3, small, tag, underline, upperCase, wide, ...others }) =>\n React.createElement(\n tag || (headline ? `h${level}` : 'span'),\n {\n ...others,\n className: styles(\n style.text,\n bold && style.bold,\n headline ? style[`headline-${level}`] : action ? style.action : small ? style.small : style.paragraph,\n underline && style.underline,\n upperCase && style.upperCase,\n wide && style.wide,\n others.className,\n ),\n },\n children,\n );\n\nText.displayName = 'Primitive:Text';\n\nText.propTypes = {\n action: PropTypes.bool,\n bold: PropTypes.bool,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.array]),\n headline: PropTypes.bool,\n level: PropTypes.number,\n small: PropTypes.bool,\n tag: PropTypes.string,\n underline: PropTypes.bool,\n upperCase: PropTypes.bool,\n wide: PropTypes.bool,\n};\n\nexport { Text };\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AACA;AAAsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEtC,IAAMA,IAAI,GAAG,SAAPA,IAAI;EAAA,IAAMC,MAAM,QAANA,MAAM;IAAEC,IAAI,QAAJA,IAAI;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,QAAQ,QAARA,QAAQ;IAAA,kBAAEC,KAAK;IAALA,KAAK,2BAAG,CAAC;IAAEC,KAAK,QAALA,KAAK;IAAEC,GAAG,QAAHA,GAAG;IAAEC,SAAS,QAATA,SAAS;IAAEC,SAAS,QAATA,SAAS;IAAEC,IAAI,QAAJA,IAAI;IAAKC,MAAM;EAAA,oBAC5GC,cAAK,CAACC,aAAa,CACjBN,GAAG,KAAKH,QAAQ,cAAOC,KAAK,IAAK,MAAM,CAAC,kCAEnCM,MAAM;IACTG,SAAS,EAAE,IAAAC,eAAM,EACfC,mBAAK,CAACC,IAAI,EACVf,IAAI,IAAIc,mBAAK,CAACd,IAAI,EAClBE,QAAQ,GAAGY,mBAAK,oBAAaX,KAAK,EAAG,GAAGJ,MAAM,GAAGe,mBAAK,CAACf,MAAM,GAAGK,KAAK,GAAGU,mBAAK,CAACV,KAAK,GAAGU,mBAAK,CAACE,SAAS,EACrGV,SAAS,IAAIQ,mBAAK,CAACR,SAAS,EAC5BC,SAAS,IAAIO,mBAAK,CAACP,SAAS,EAC5BC,IAAI,IAAIM,mBAAK,CAACN,IAAI,EAClBC,MAAM,CAACG,SAAS;EACjB,IAEHX,QAAQ,CACT;AAAA;AAAC;AAEJH,IAAI,CAACmB,WAAW,GAAG,gBAAgB;AAEnCnB,IAAI,CAACoB,SAAS,GAAG;EACfnB,MAAM,EAAEoB,kBAAS,CAACC,IAAI;EACtBpB,IAAI,EAAEmB,kBAAS,CAACC,IAAI;EACpBnB,QAAQ,EAAEkB,kBAAS,CAACE,SAAS,CAAC,CAACF,kBAAS,CAACG,MAAM,EAAEH,kBAAS,CAACI,MAAM,EAAEJ,kBAAS,CAACK,KAAK,CAAC,CAAC;EACpFtB,QAAQ,EAAEiB,kBAAS,CAACC,IAAI;EACxBjB,KAAK,EAAEgB,kBAAS,CAACI,MAAM;EACvBnB,KAAK,EAAEe,kBAAS,CAACC,IAAI;EACrBf,GAAG,EAAEc,kBAAS,CAACG,MAAM;EACrBhB,SAAS,EAAEa,kBAAS,CAACC,IAAI;EACzBb,SAAS,EAAEY,kBAAS,CAACC,IAAI;EACzBZ,IAAI,EAAEW,kBAAS,CAACC;AAClB,CAAC"}
@@ -60,3 +60,7 @@ h4.headline-4 {
60
60
  .upperCase {
61
61
  text-transform: uppercase;
62
62
  }
63
+
64
+ .wide {
65
+ width: 100%;
66
+ }
@@ -30,7 +30,8 @@ Story.args = (_Story$args = {
30
30
  small: false,
31
31
  tag: 'span',
32
32
  underline: false,
33
- upperCase: false
33
+ upperCase: false,
34
+ wide: false
34
35
  }, _defineProperty(_Story$args, 'data-testid', 'test-story'), _defineProperty(_Story$args, "style", {}), _Story$args);
35
36
  Story.argTypes = {};
36
37
  //# sourceMappingURL=Text.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Text.stories.js","names":["title","Story","props","storyName","args","action","bold","children","headline","level","small","tag","underline","upperCase","argTypes"],"sources":["../../../src/primitives/Text/Text.stories.jsx"],"sourcesContent":["import React from 'react';\n\nimport { Text } from './Text';\n\nexport default { title: 'Primitives' };\n\nexport const Story = (props) => <Text {...props} />;\n\nStory.storyName = 'Text';\n\nStory.args = {\n action: false,\n bold: false,\n children: 'children',\n headline: false,\n level: 3,\n small: false,\n tag: 'span',\n underline: false,\n upperCase: false,\n // inherited properties\n ['data-testid']: 'test-story',\n style: {},\n};\n\nStory.argTypes = {};\n"],"mappings":";;;;;;AAAA;AAEA;AAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAEf;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK;EAAA,oBAAK,6BAAC,UAAI,EAAKA,KAAK,CAAI;AAAA;AAAC;AAEpDD,KAAK,CAACE,SAAS,GAAG,MAAM;AAExBF,KAAK,CAACG,IAAI;EACRC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE,KAAK;EACXC,QAAQ,EAAE,UAAU;EACpBC,QAAQ,EAAE,KAAK;EACfC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,KAAK;EACZC,GAAG,EAAE,MAAM;EACXC,SAAS,EAAE,KAAK;EAChBC,SAAS,EAAE;AAAK,gCAEf,aAAa,EAAG,YAAY,yCACtB,CAAC,CAAC,eACV;AAEDZ,KAAK,CAACa,QAAQ,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"Text.stories.js","names":["title","Story","props","storyName","args","action","bold","children","headline","level","small","tag","underline","upperCase","wide","argTypes"],"sources":["../../../src/primitives/Text/Text.stories.jsx"],"sourcesContent":["import React from 'react';\n\nimport { Text } from './Text';\n\nexport default { title: 'Primitives' };\n\nexport const Story = (props) => <Text {...props} />;\n\nStory.storyName = 'Text';\n\nStory.args = {\n action: false,\n bold: false,\n children: 'children',\n headline: false,\n level: 3,\n small: false,\n tag: 'span',\n underline: false,\n upperCase: false,\n wide: false,\n // inherited properties\n ['data-testid']: 'test-story',\n style: {},\n};\n\nStory.argTypes = {};\n"],"mappings":";;;;;;AAAA;AAEA;AAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAEf;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK;EAAA,oBAAK,6BAAC,UAAI,EAAKA,KAAK,CAAI;AAAA;AAAC;AAEpDD,KAAK,CAACE,SAAS,GAAG,MAAM;AAExBF,KAAK,CAACG,IAAI;EACRC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE,KAAK;EACXC,QAAQ,EAAE,UAAU;EACpBC,QAAQ,EAAE,KAAK;EACfC,KAAK,EAAE,CAAC;EACRC,KAAK,EAAE,KAAK;EACZC,GAAG,EAAE,MAAM;EACXC,SAAS,EAAE,KAAK;EAChBC,SAAS,EAAE,KAAK;EAChBC,IAAI,EAAE;AAAK,gCAEV,aAAa,EAAG,YAAY,yCACtB,CAAC,CAAC,eACV;AAEDb,KAAK,CAACc,QAAQ,GAAG,CAAC,CAAC"}
@@ -30,16 +30,6 @@ exports[`primitive:<Text> prop:bold 1`] = `
30
30
  </DocumentFragment>
31
31
  `;
32
32
 
33
- exports[`primitive:<Text> prop:h1 1`] = `
34
- <DocumentFragment>
35
- <h1
36
- class="text paragraph"
37
- >
38
- Lorem Ipsum
39
- </h1>
40
- </DocumentFragment>
41
- `;
42
-
43
33
  exports[`primitive:<Text> prop:headline & level:1 1`] = `
44
34
  <DocumentFragment>
45
35
  <h1
@@ -100,6 +90,16 @@ exports[`primitive:<Text> prop:small 1`] = `
100
90
  </DocumentFragment>
101
91
  `;
102
92
 
93
+ exports[`primitive:<Text> prop:tag 1`] = `
94
+ <DocumentFragment>
95
+ <p
96
+ class="text paragraph"
97
+ >
98
+ Lorem Ipsum
99
+ </p>
100
+ </DocumentFragment>
101
+ `;
102
+
103
103
  exports[`primitive:<Text> prop:underline 1`] = `
104
104
  <DocumentFragment>
105
105
  <span
@@ -120,6 +120,16 @@ exports[`primitive:<Text> prop:upperCase 1`] = `
120
120
  </DocumentFragment>
121
121
  `;
122
122
 
123
+ exports[`primitive:<Text> prop:wide 1`] = `
124
+ <DocumentFragment>
125
+ <span
126
+ class="text paragraph wide"
127
+ >
128
+ Lorem Ipsum
129
+ </span>
130
+ </DocumentFragment>
131
+ `;
132
+
123
133
  exports[`primitive:<Text> renders 1`] = `
124
134
  <DocumentFragment>
125
135
  <span
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/ui",
3
- "version": "1.0.123",
3
+ "version": "1.0.125",
4
4
  "repository": "git@gitlab.com:miraicorp/dev/frontend/ui.git",
5
5
  "author": "JΛVI <hello@soyjavi.com>",
6
6
  "license": "MIT",