@mirai/ui 1.0.253 → 1.0.254

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.
@@ -9,6 +9,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _helpers = require("../../helpers");
11
11
  var _primitives = require("../../primitives");
12
+ var _theme = require("../../theme");
12
13
  var _partials = require("../InputSelect/partials");
13
14
  var _InputTextModule = _interopRequireDefault(require("../InputText/InputText.module.css"));
14
15
  var _partials2 = require("../InputText/partials");
@@ -53,6 +54,7 @@ var InputPhone = function InputPhone(_ref) {
53
54
  _ref$onLeave = _ref.onLeave,
54
55
  onLeave = _ref$onLeave === void 0 ? function () {} : _ref$onLeave,
55
56
  others = _objectWithoutProperties(_ref, _excluded);
57
+ var direction = _theme.Theme.getDirection();
56
58
  var _useState = (0, _react.useState)(false),
57
59
  _useState2 = _slicedToArray(_useState, 2),
58
60
  focus = _useState2[0],
@@ -118,6 +120,7 @@ var InputPhone = function InputPhone(_ref) {
118
120
  stateIcon: showState && (error || success || warning)
119
121
  };
120
122
  var testId = others.testId;
123
+ var prefixDirection = direction === _theme.DIRECTION_TYPE.RIGHT ? '‎' : '';
121
124
  return /*#__PURE__*/_react.default.createElement(_primitives.View, {
122
125
  role: others.role || 'input-phone',
123
126
  className: (0, _helpers.styles)(_InputPhoneModule.default.container, others.className),
@@ -137,10 +140,12 @@ var InputPhone = function InputPhone(_ref) {
137
140
  value: prefix
138
141
  }), prefix && /*#__PURE__*/_react.default.createElement(_primitives.Text, {
139
142
  className: _InputPhoneModule.default.prefixValue
140
- }, prefix), /*#__PURE__*/_react.default.createElement(_primitives.Select, _extends({}, others, {
143
+ }, prefixDirection, prefix), /*#__PURE__*/_react.default.createElement(_primitives.Select, _extends({}, others, {
141
144
  disabled: disabled,
142
145
  name: "".concat(name, "-prefix"),
143
- options: prefixes,
146
+ options: prefixes.map(function (prefix) {
147
+ return "".concat(prefixDirection).concat(prefix);
148
+ }),
144
149
  values: (0, _helpers2.sanitizePrefixes)(prefixes),
145
150
  style: undefined,
146
151
  type: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"InputPhone.js","names":["InputPhone","disabled","error","hint","icon","label","labelPrefix","name","prefixes","showRequired","showState","success","propValue","value","warning","onChange","onEnter","onError","onLeave","others","useState","focus","setFocus","prefixFocus","setPrefixFocus","parseValue","sanitizePrefixes","setValue","useEffect","getInputPhoneErrors","handleChange","next","event","isPhone","hasPrefixes","split","undefined","prefix","phone","nextValue","replace","join","trim","handleEnter","handleLeave","length","has","stateIcon","testId","role","styles","stylePhone","container","className","style","inputBorder","content","prefixValue","input","withLabel","empty","separator","left","required","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, Input, Select, Text, View } from '../../primitives';\nimport { Expand } from '../InputSelect/partials';\nimport style from '../InputText/InputText.module.css';\nimport { Hint, IconState, Label } from '../InputText/partials';\nimport { parseValue, sanitizePrefixes } from './helpers';\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 showRequired = false,\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(parseValue(propValue, sanitizePrefixes(prefixes)));\n\n useEffect(() => {\n setValue(parseValue(propValue, sanitizePrefixes(prefixes)));\n }, [prefixes, propValue]);\n\n useEffect(() => {\n onError(getInputPhoneErrors({ prefixes: sanitizePrefixes(prefixes), value }));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [prefixes, value]);\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 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\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 { testId } = others;\n\n return (\n <View\n role={others.role || 'input-phone'}\n className={styles(stylePhone.container, others.className)}\n style={others.style}\n >\n <View\n row\n className={styles(\n style.inputBorder,\n disabled && style.disabled,\n error && style.error,\n (focus || prefixFocus) && !error && style.focus,\n )}\n >\n {hasPrefixes && (\n <>\n <View row>\n <View className={style.content}>\n {labelPrefix && (\n <Label {...{ disabled, error, focus: prefixFocus, label: labelPrefix, value: prefix }} />\n )}\n {prefix && <Text className={stylePhone.prefixValue}>{prefix}</Text>}\n <Select\n {...others}\n disabled={disabled}\n name={`${name}-prefix`}\n options={prefixes}\n values={sanitizePrefixes(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 testId={testId ? `${testId}-select` : undefined}\n />\n </View>\n\n {!disabled && <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 && (\n <Label {...{ disabled, error, focus, label, required: showRequired && others.required, value: phone }} />\n )}\n <Input\n {...others}\n disabled={disabled}\n maxLength={12}\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 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 showRequired: PropTypes.bool,\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","showRequired","showState","success","propValue","value","warning","onChange","onEnter","onError","onLeave","others","direction","Theme","getDirection","useState","focus","setFocus","prefixFocus","setPrefixFocus","parseValue","sanitizePrefixes","setValue","useEffect","getInputPhoneErrors","handleChange","next","event","isPhone","hasPrefixes","split","undefined","prefix","phone","nextValue","replace","join","trim","handleEnter","handleLeave","length","has","stateIcon","testId","prefixDirection","DIRECTION_TYPE","RIGHT","role","styles","stylePhone","container","className","style","inputBorder","content","prefixValue","map","input","withLabel","empty","separator","left","required","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, Input, Select, Text, View } from '../../primitives';\nimport { DIRECTION_TYPE, Theme } from '../../theme';\nimport { Expand } from '../InputSelect/partials';\nimport style from '../InputText/InputText.module.css';\nimport { Hint, IconState, Label } from '../InputText/partials';\nimport { parseValue, sanitizePrefixes } from './helpers';\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 showRequired = false,\n showState = true,\n success,\n value: propValue,\n warning,\n onChange = () => {},\n onEnter = () => {},\n onError = () => {},\n onLeave = () => {},\n ...others\n}) => {\n const direction = Theme.getDirection();\n\n const [focus, setFocus] = useState(false);\n const [prefixFocus, setPrefixFocus] = useState(false);\n const [value, setValue] = useState(parseValue(propValue, sanitizePrefixes(prefixes)));\n\n useEffect(() => {\n setValue(parseValue(propValue, sanitizePrefixes(prefixes)));\n }, [prefixes, propValue]);\n\n useEffect(() => {\n onError(getInputPhoneErrors({ prefixes: sanitizePrefixes(prefixes), value }));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [prefixes, value]);\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 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\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 { testId } = others;\n const prefixDirection = direction === DIRECTION_TYPE.RIGHT ? '‎' : '';\n\n return (\n <View\n role={others.role || 'input-phone'}\n className={styles(stylePhone.container, others.className)}\n style={others.style}\n >\n <View\n row\n className={styles(\n style.inputBorder,\n disabled && style.disabled,\n error && style.error,\n (focus || prefixFocus) && !error && style.focus,\n )}\n >\n {hasPrefixes && (\n <>\n <View row>\n <View className={style.content}>\n {labelPrefix && (\n <Label {...{ disabled, error, focus: prefixFocus, label: labelPrefix, value: prefix }} />\n )}\n {prefix && (\n <Text className={stylePhone.prefixValue}>\n {prefixDirection}\n {prefix}\n </Text>\n )}\n <Select\n {...others}\n disabled={disabled}\n name={`${name}-prefix`}\n options={prefixes.map((prefix) => `${prefixDirection}${prefix}`)}\n values={sanitizePrefixes(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 testId={testId ? `${testId}-select` : undefined}\n />\n </View>\n\n {!disabled && <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 && (\n <Label {...{ disabled, error, focus, label, required: showRequired && others.required, value: phone }} />\n )}\n <Input\n {...others}\n disabled={disabled}\n maxLength={12}\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 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 showRequired: PropTypes.bool,\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":";;;;;;;AAAA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAiD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEjD,IAAMA,UAAU,GAAG,SAAbA,UAAU,OAmBV;EAAA,IAlBJC,QAAQ,QAARA,QAAQ;IACRC,KAAK,QAALA,KAAK;IACLC,IAAI,QAAJA,IAAI;IACJC,IAAI,QAAJA,IAAI;IACJC,KAAK,QAALA,KAAK;IACLC,WAAW,QAAXA,WAAW;IACXC,IAAI,QAAJA,IAAI;IAAA,qBACJC,QAAQ;IAARA,QAAQ,8BAAG,EAAE;IAAA,yBACbC,YAAY;IAAZA,YAAY,kCAAG,KAAK;IAAA,sBACpBC,SAAS;IAATA,SAAS,+BAAG,IAAI;IAChBC,OAAO,QAAPA,OAAO;IACAC,SAAS,QAAhBC,KAAK;IACLC,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;IAAA,oBAClBC,OAAO;IAAPA,OAAO,6BAAG,YAAM,CAAC,CAAC;IACfC,MAAM;EAET,IAAMC,SAAS,GAAGC,YAAK,CAACC,YAAY,EAAE;EAEtC,gBAA0B,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAA;IAAlCC,KAAK;IAAEC,QAAQ;EACtB,iBAAsC,IAAAF,eAAQ,EAAC,KAAK,CAAC;IAAA;IAA9CG,WAAW;IAAEC,cAAc;EAClC,iBAA0B,IAAAJ,eAAQ,EAAC,IAAAK,oBAAU,EAAChB,SAAS,EAAE,IAAAiB,0BAAgB,EAACrB,QAAQ,CAAC,CAAC,CAAC;IAAA;IAA9EK,KAAK;IAAEiB,QAAQ;EAEtB,IAAAC,gBAAS,EAAC,YAAM;IACdD,QAAQ,CAAC,IAAAF,oBAAU,EAAChB,SAAS,EAAE,IAAAiB,0BAAgB,EAACrB,QAAQ,CAAC,CAAC,CAAC;EAC7D,CAAC,EAAE,CAACA,QAAQ,EAAEI,SAAS,CAAC,CAAC;EAEzB,IAAAmB,gBAAS,EAAC,YAAM;IACdd,OAAO,CAAC,IAAAe,4BAAmB,EAAC;MAAExB,QAAQ,EAAE,IAAAqB,0BAAgB,EAACrB,QAAQ,CAAC;MAAEK,KAAK,EAALA;IAAM,CAAC,CAAC,CAAC;IAC7E;EACF,CAAC,EAAE,CAACL,QAAQ,EAAEK,KAAK,CAAC,CAAC;EAErB,IAAMoB,YAAY,GAAG,SAAfA,YAAY,CAAIC,IAAI,EAAEC,KAAK,EAA8B;IAAA,gFAAP,CAAC,CAAC;MAAA,sBAArBC,OAAO;MAAPA,OAAO,8BAAG,IAAI;IACjD,YAAkCC,WAAW,GAAG,CAAAxB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEyB,KAAK,CAAC,GAAG,CAAC,KAAI,EAAE,GAAG,CAACC,SAAS,EAAE1B,KAAK,CAAC;MAAA;MAAA;MAArF2B,MAAM,uBAAG,EAAE;MAAA;MAAEC,KAAK,wBAAG,EAAE;IAC9B,IAAIC,SAAS,GAAG,CAACN,OAAO,GAAG,CAACI,MAAM,EAAEN,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAES,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,CAACT,IAAI,EAAEO,KAAK,CAAC,EAAEG,IAAI,CAAC,GAAG,CAAC;IAC3F,IAAI,CAACP,WAAW,EAAEK,SAAS,GAAGA,SAAS,CAACG,IAAI,EAAE;IAE9Cf,QAAQ,CAACY,SAAS,CAAC;IACnB3B,QAAQ,CAAC2B,SAAS,EAAEP,KAAK,CAAC;EAC5B,CAAC;EAED,IAAMW,WAAW,GAAG,SAAdA,WAAW,CAAIX,KAAK,EAA8B;IAAA,gFAAP,CAAC,CAAC;MAAA,sBAArBC,OAAO;MAAPA,OAAO,8BAAG,IAAI;IAC1CA,OAAO,GAAGX,QAAQ,CAAC,IAAI,CAAC,GAAGE,cAAc,CAAC,IAAI,CAAC;IAC/CX,OAAO,CAACmB,KAAK,CAAC;EAChB,CAAC;EAED,IAAMY,WAAW,GAAG,SAAdA,WAAW,CAAIZ,KAAK,EAA8B;IAAA,gFAAP,CAAC,CAAC;MAAA,sBAArBC,OAAO;MAAPA,OAAO,8BAAG,IAAI;IAC1CA,OAAO,GAAGX,QAAQ,CAAC,KAAK,CAAC,GAAGE,cAAc,CAAC,KAAK,CAAC;IACjDT,OAAO,CAACiB,KAAK,CAAC;EAChB,CAAC;EAED,IAAME,WAAW,GAAG,CAAC,EAAC7B,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEwC,MAAM;EACtC,YAAwBX,WAAW,GAAG,CAAAxB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEyB,KAAK,CAAC,GAAG,CAAC,KAAI,EAAE,GAAG,CAACC,SAAS,EAAE1B,KAAK,CAAC;IAAA;IAA3E2B,MAAM;IAAEC,KAAK;EACpB,IAAMQ,GAAG,GAAG;IACV7C,IAAI,EAAE,CAAC,CAACA,IAAI;IACZC,KAAK,EAAE,CAAC,CAACA,KAAK;IACdC,WAAW,EAAE,CAAC,CAACA,WAAW;IAC1BkC,MAAM,EAAE,CAAAA,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEQ,MAAM,IAAG,CAAC;IAC1BP,KAAK,EAAE,CAAAA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,MAAM,IAAG,CAAC;IACxBE,SAAS,EAAExC,SAAS,KAAKR,KAAK,IAAIS,OAAO,IAAIG,OAAO;EACtD,CAAC;EACD,IAAQqC,MAAM,GAAKhC,MAAM,CAAjBgC,MAAM;EACd,IAAMC,eAAe,GAAGhC,SAAS,KAAKiC,qBAAc,CAACC,KAAK,GAAG,GAAG,GAAG,EAAE;EAErE,oBACE,6BAAC,gBAAI;IACH,IAAI,EAAEnC,MAAM,CAACoC,IAAI,IAAI,aAAc;IACnC,SAAS,EAAE,IAAAC,eAAM,EAACC,yBAAU,CAACC,SAAS,EAAEvC,MAAM,CAACwC,SAAS,CAAE;IAC1D,KAAK,EAAExC,MAAM,CAACyC;EAAM,gBAEpB,6BAAC,gBAAI;IACH,GAAG;IACH,SAAS,EAAE,IAAAJ,eAAM,EACfI,wBAAK,CAACC,WAAW,EACjB5D,QAAQ,IAAI2D,wBAAK,CAAC3D,QAAQ,EAC1BC,KAAK,IAAI0D,wBAAK,CAAC1D,KAAK,EACpB,CAACsB,KAAK,IAAIE,WAAW,KAAK,CAACxB,KAAK,IAAI0D,wBAAK,CAACpC,KAAK;EAC/C,GAEDa,WAAW,iBACV,yEACE,6BAAC,gBAAI;IAAC,GAAG;EAAA,gBACP,6BAAC,gBAAI;IAAC,SAAS,EAAEuB,wBAAK,CAACE;EAAQ,GAC5BxD,WAAW,iBACV,6BAAC,gBAAK;IAAOL,QAAQ,EAARA,QAAQ;IAAEC,KAAK,EAALA,KAAK;IAAEsB,KAAK,EAAEE,WAAW;IAAErB,KAAK,EAAEC,WAAW;IAAEO,KAAK,EAAE2B;EAAM,EACpF,EACAA,MAAM,iBACL,6BAAC,gBAAI;IAAC,SAAS,EAAEiB,yBAAU,CAACM;EAAY,GACrCX,eAAe,EACfZ,MAAM,CAEV,eACD,6BAAC,kBAAM,eACDrB,MAAM;IACV,QAAQ,EAAElB,QAAS;IACnB,IAAI,YAAKM,IAAI,YAAU;IACvB,OAAO,EAAEC,QAAQ,CAACwD,GAAG,CAAC,UAACxB,MAAM;MAAA,iBAAQY,eAAe,SAAGZ,MAAM;IAAA,CAAE,CAAE;IACjE,MAAM,EAAE,IAAAX,0BAAgB,EAACrB,QAAQ,CAAE;IACnC,KAAK,EAAE+B,SAAU;IACjB,IAAI,EAAEA,SAAU;IAChB,KAAK,EAAEC,MAAM,IAAI,EAAG;IACpB,QAAQ,EAAE,kBAAC3B,KAAK,EAAEsB,KAAK;MAAA,OAAKF,YAAY,CAACpB,KAAK,EAAEsB,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAM,CAAC,CAAC;IAAA,CAAC;IAC3E,OAAO,EAAE,iBAACD,KAAK;MAAA,OAAKW,WAAW,CAACX,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAM,CAAC,CAAC;IAAA,CAAC;IAC3D,OAAO,EAAE,iBAACD,KAAK;MAAA,OAAKY,WAAW,CAACZ,KAAK,EAAE;QAAEC,OAAO,EAAE;MAAM,CAAC,CAAC;IAAA,CAAC;IAC3D,SAAS,EAAE,IAAAoB,eAAM,EACfI,wBAAK,CAACK,KAAK,EACXR,yBAAU,CAACjB,MAAM,EACjBS,GAAG,CAAC3C,WAAW,IAAIsD,wBAAK,CAACM,SAAS,EAClCjB,GAAG,CAAC3C,WAAW,IAAI,EAAEoB,WAAW,IAAIxB,KAAK,IAAI+C,GAAG,CAACT,MAAM,CAAC,IAAIoB,wBAAK,CAACO,KAAK,CACvE;IACF,MAAM,EAAEhB,MAAM,aAAMA,MAAM,eAAYZ;EAAU,GAChD,CACG,EAEN,CAACtC,QAAQ,iBAAI,6BAAC,gBAAM,OAAG,CACnB,eACP,6BAAC,gBAAI;IAAC,QAAQ;IAAC,SAAS,EAAEwD,yBAAU,CAACW;EAAU,EAAQ,CAE1D,eAED,6BAAC,gBAAI;IAAC,GAAG;IAAC,IAAI;EAAA,GACXnB,GAAG,CAAC7C,IAAI,iBACP,6BAAC,gBAAI;IACH,KAAK,EAAEA,IAAK;IACZ,SAAS,EAAE,IAAAoD,eAAM,EAACI,wBAAK,CAACxD,IAAI,EAAEwD,wBAAK,CAACS,IAAI,EAAEpE,QAAQ,IAAI2D,wBAAK,CAAC3D,QAAQ,EAAEC,KAAK,IAAI0D,wBAAK,CAAC1D,KAAK;EAAE,EAE/F,eACD,6BAAC,gBAAI;IAAC,IAAI;IAAC,SAAS,EAAE0D,wBAAK,CAACE;EAAQ,GACjCzD,KAAK,iBACJ,6BAAC,gBAAK;IAAOJ,QAAQ,EAARA,QAAQ;IAAEC,KAAK,EAALA,KAAK;IAAEsB,KAAK,EAALA,KAAK;IAAEnB,KAAK,EAALA,KAAK;IAAEiE,QAAQ,EAAE7D,YAAY,IAAIU,MAAM,CAACmD,QAAQ;IAAEzD,KAAK,EAAE4B;EAAK,EACpG,eACD,6BAAC,iBAAK,eACAtB,MAAM;IACV,QAAQ,EAAElB,QAAS;IACnB,SAAS,EAAE,EAAG;IACd,IAAI,YAAKM,IAAI,WAAS;IACtB,IAAI,EAAC,KAAK;IACV,KAAK,EAAEkC,KAAK,IAAI,EAAG;IACnB,QAAQ,EAAE,kBAAC5B,KAAK,EAAEsB,KAAK;MAAA,OAAKF,YAAY,CAACpB,KAAK,EAAEsB,KAAK,CAAC;IAAA,CAAC;IACvD,OAAO,EAAE,iBAACA,KAAK;MAAA,OAAKW,WAAW,CAACX,KAAK,CAAC;IAAA,CAAC;IACvC,OAAO,EAAE,iBAACA,KAAK;MAAA,OAAKY,WAAW,CAACZ,KAAK,CAAC;IAAA,CAAC;IACvC,SAAS,EAAE,IAAAqB,eAAM,EAACI,wBAAK,CAACK,KAAK,EAAEhB,GAAG,CAAC5C,KAAK,IAAIuD,wBAAK,CAACM,SAAS,CAAE;IAC7D,MAAM,EAAEf,MAAM,aAAMA,MAAM,cAAWZ;EAAU,GAC/C,CACG,CACF,EACNU,GAAG,CAACC,SAAS,iBAAI,6BAAC,oBAAS;IAAOhD,KAAK,EAALA,KAAK;IAAES,OAAO,EAAPA,OAAO;IAAEG,OAAO,EAAPA;EAAO,EAAM,CAC3D,EACNX,IAAI,iBAAI,6BAAC,eAAI;IAAOF,QAAQ,EAARA,QAAQ;IAAEC,KAAK,EAALA,KAAK;IAAEC,IAAI,EAAJA;EAAI,EAAM,CAC3C;AAEX,CAAC;AAAC;AAEFH,UAAU,CAACuE,WAAW,GAAG,sBAAsB;AAE/CvE,UAAU,CAACwE,SAAS,GAAG;EACrBvE,QAAQ,EAAEwE,kBAAS,CAACC,IAAI;EACxBxE,KAAK,EAAEuE,kBAAS,CAACC,IAAI;EACrBvE,IAAI,EAAEsE,kBAAS,CAACE,MAAM;EACtBvE,IAAI,EAAEqE,kBAAS,CAACG,IAAI;EACpBvE,KAAK,EAAEoE,kBAAS,CAACE,MAAM;EACvBrE,WAAW,EAAEmE,kBAAS,CAACE,MAAM;EAC7BpE,IAAI,EAAEkE,kBAAS,CAACE,MAAM,CAACE,UAAU;EACjCrE,QAAQ,EAAEiE,kBAAS,CAACK,OAAO,CAACL,kBAAS,CAACE,MAAM,CAAC;EAC7ClE,YAAY,EAAEgE,kBAAS,CAACC,IAAI;EAC5BhE,SAAS,EAAE+D,kBAAS,CAACC,IAAI;EACzB/D,OAAO,EAAE8D,kBAAS,CAACC,IAAI;EACvB7D,KAAK,EAAE4D,kBAAS,CAACE,MAAM;EACvB7D,OAAO,EAAE2D,kBAAS,CAACC,IAAI;EACvB3D,QAAQ,EAAE0D,kBAAS,CAACG,IAAI;EACxB5D,OAAO,EAAEyD,kBAAS,CAACG,IAAI;EACvB3D,OAAO,EAAEwD,kBAAS,CAACG,IAAI;EACvB1D,OAAO,EAAEuD,kBAAS,CAACG;AACrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirai/ui",
3
- "version": "1.0.253",
3
+ "version": "1.0.254",
4
4
  "repository": "git@gitlab.com:miraicorp/dev/frontend/ui.git",
5
5
  "author": "JΛVI <hello@soyjavi.com>",
6
6
  "license": "MIT",