@mirai/ui 1.0.118 → 1.0.120

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 (61) hide show
  1. package/README.md +23 -2
  2. package/build/components/Calendar/Calendar.Month.js +6 -3
  3. package/build/components/Calendar/Calendar.Month.js.map +1 -1
  4. package/build/components/Calendar/Calendar.Week.js +1 -1
  5. package/build/components/Calendar/Calendar.Week.js.map +1 -1
  6. package/build/components/Calendar/Calendar.Weekdays.js +5 -1
  7. package/build/components/Calendar/Calendar.Weekdays.js.map +1 -1
  8. package/build/components/Calendar/Calendar.module.css +1 -0
  9. package/build/components/Calendar/__tests__/__snapshots__/Calendar.test.jsx.snap +528 -528
  10. package/build/components/Form/Form.stories.js +11 -2
  11. package/build/components/Form/Form.stories.js.map +1 -1
  12. package/build/components/Form/__tests__/__snapshots__/Form.test.jsx.snap +14 -10
  13. package/build/components/InputDate/InputDate.js +21 -16
  14. package/build/components/InputDate/InputDate.js.map +1 -1
  15. package/build/components/InputDate/InputDate.module.css +8 -6
  16. package/build/components/InputDate/__tests__/__snapshots__/InputDate.test.js.snap +597 -512
  17. package/build/components/InputOption/InputOption.js +2 -4
  18. package/build/components/InputOption/InputOption.js.map +1 -1
  19. package/build/components/InputOption/InputOption.module.css +2 -16
  20. package/build/components/InputOption/__tests__/__snapshots__/InputOption.test.js.snap +1 -1
  21. package/build/components/InputSelect/InputSelect.js +23 -22
  22. package/build/components/InputSelect/InputSelect.js.map +1 -1
  23. package/build/components/InputSelect/__tests__/__snapshots__/InputSelect.test.js.snap +503 -495
  24. package/build/components/InputText/InputText.js +24 -21
  25. package/build/components/InputText/InputText.js.map +1 -1
  26. package/build/components/InputText/InputText.module.css +14 -35
  27. package/build/components/InputText/__tests__/__snapshots__/InputText.test.js.snap +223 -191
  28. package/build/components/InputText/partials/InputText.Hint.js +33 -0
  29. package/build/components/InputText/partials/InputText.Hint.js.map +1 -0
  30. package/build/components/InputText/partials/InputText.IconState.js +33 -0
  31. package/build/components/InputText/partials/InputText.IconState.js.map +1 -0
  32. package/build/components/InputText/partials/InputText.Label.js +39 -0
  33. package/build/components/InputText/partials/InputText.Label.js.map +1 -0
  34. package/build/components/InputText/partials/index.js +39 -0
  35. package/build/components/InputText/partials/index.js.map +1 -0
  36. package/build/components/Menu/Menu.Option.js +6 -2
  37. package/build/components/Menu/Menu.Option.js.map +1 -1
  38. package/build/components/Menu/Menu.module.css +6 -3
  39. package/build/components/Menu/__tests__/__snapshots__/Menu.test.jsx.snap +93 -69
  40. package/build/components/Modal/Modal.js +1 -1
  41. package/build/components/Modal/Modal.js.map +1 -1
  42. package/build/components/Modal/__tests__/__snapshots__/Modal.test.js.snap +4 -4
  43. package/build/components/Table/Table.Row.js +5 -2
  44. package/build/components/Table/Table.Row.js.map +1 -1
  45. package/build/components/Table/Table.module.css +7 -2
  46. package/build/components/Table/__tests__/__snapshots__/Table.test.js.snap +1829 -669
  47. package/build/primitives/Text/Text.module.css +4 -4
  48. package/build/primitives/View/View.js +5 -2
  49. package/build/primitives/View/View.js.map +1 -1
  50. package/build/primitives/View/View.module.css +11 -3
  51. package/build/primitives/View/View.stories.js +1 -0
  52. package/build/primitives/View/View.stories.js.map +1 -1
  53. package/build/primitives/View/__tests__/__snapshots__/View.test.js.snap +8 -0
  54. package/build/theme/default.theme.css +1 -1
  55. package/build/theme/index.js +11 -0
  56. package/build/theme/index.js.map +1 -1
  57. package/build/theme/theme.constants.js +21 -1
  58. package/build/theme/theme.constants.js.map +1 -1
  59. package/build/theme/theme.js +23 -1
  60. package/build/theme/theme.js.map +1 -1
  61. package/package.json +1 -1
@@ -97,9 +97,11 @@ var Story = function Story(props) {
97
97
  onError: handleError,
98
98
  onFocus: handleFocus,
99
99
  onSubmit: handleSubmit
100
- }), /*#__PURE__*/_react.default.createElement(_.Text, {
100
+ }), /*#__PURE__*/_react.default.createElement(_.View, {
101
+ row: true
102
+ }, /*#__PURE__*/_react.default.createElement(_.Text, {
101
103
  headline: true
102
- }, "Form component"), /*#__PURE__*/_react.default.createElement(_.InputText, {
104
+ }, "Form component")), /*#__PURE__*/_react.default.createElement(_.InputText, {
103
105
  name: "email",
104
106
  error: !!error.email,
105
107
  test: function test(value) {
@@ -119,6 +121,13 @@ var Story = function Story(props) {
119
121
  minLength: 10,
120
122
  type: "password",
121
123
  value: form.password
124
+ }), /*#__PURE__*/_react.default.createElement(_.InputSelect, {
125
+ name: "gender",
126
+ emptyOption: "Select...",
127
+ error: !!error.emptyOption,
128
+ label: "Your gender",
129
+ options: ['one', 'two', 'three', 'four', 'five'],
130
+ value: form.gender
122
131
  }), /*#__PURE__*/_react.default.createElement(_.InputDate, {
123
132
  name: "dateOfBirth",
124
133
  error: !!error.dateOfBirth,
@@ -1 +1 @@
1
- {"version":3,"file":"Form.stories.js","names":["title","Story","props","useState","condition","setCondition","email","checkbox","dateOfBirth","switch","radio","form","setForm","error","setError","useEffect","handleBlur","others","console","log","handleChange","next","handleError","handleFocus","handleSubmit","value","includes","password","children","Array","from","keys","map","index","Object","length","justifyContent","marginTop","marginRight","storyName","args","debounce","schema","showErrors","validateOnMount","argTypes"],"sources":["../../../src/components/Form/Form.stories.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport { Button, InputDate, InputNumber, InputOption, InputText, Text, View } from '../../';\nimport { Form } from './Form';\n\nexport default { title: 'Components' };\n\nexport const Story = (props) => {\n const [condition, setCondition] = useState(false);\n const [form, setForm] = useState({\n email: 'javi@mirai.com',\n checkbox: true,\n dateOfBirth: '04/10/1980',\n switch: true,\n radio: 'radio-2',\n });\n const [error, setError] = useState({});\n\n useEffect(\n () =>\n setForm({\n email: 'javi@mirai.com',\n checkbox: true,\n dateOfBirth: '04/10/1980',\n switch: true,\n radio: 'radio-2',\n }),\n [],\n ); // * Simulate a state hydration\n\n const handleBlur = (...others) => console.log('<Form>::onBlur', ...others);\n\n const handleChange = (next, ...others) => {\n setForm(next);\n console.log('<Form>::onChange', next, ...others);\n };\n\n const handleError = (next, ...others) => {\n setError(next);\n console.log('<Form>::onError', next, ...others);\n };\n\n const handleFocus = (...others) => console.log('<Form>::onFocus', ...others);\n\n const handleSubmit = (...others) => console.log('<Form>::onSubmit', ...others);\n\n return (\n <>\n <Form\n {...props}\n onBlur={handleBlur}\n onChange={handleChange}\n onError={handleError}\n onFocus={handleFocus}\n onSubmit={handleSubmit}\n >\n <Text headline>Form component</Text>\n <InputText\n name=\"email\"\n error={!!error.email}\n test={(value) => value.includes('@mirai.com')}\n label=\"Email\"\n hint=\"Should contains @mirai.com\"\n required\n type=\"email\"\n value={form.email}\n />\n <InputText\n name=\"password\"\n error={!!error.password}\n hint=\"At least 10 chars.\"\n label=\"Password\"\n required\n minLength={10}\n type=\"password\"\n value={form.password}\n />\n <InputDate\n name=\"dateOfBirth\"\n error={!!error.dateOfBirth}\n label=\"Your birthdate\"\n max=\"31/12/2022\"\n min=\"10/04/1980\"\n required\n type=\"inputDate\"\n value={form.dateOfBirth}\n />\n <InputText name=\"bio\" label=\"Bio\" multiLine />\n <InputNumber name=\"children\" label=\"Children\" hint=\"Ages 0 - 17\" value={form.children} />\n <InputOption type=\"checkbox\" name=\"checkbox\" label=\"checkbox\" checked={form.checkbox} />\n <InputOption type=\"switch\" name=\"switch\" label=\"switch\" checked={form.switch} />\n {Array.from(Array(2).keys()).map((index) => (\n <InputOption\n key={index}\n type=\"radio\"\n name=\"radio\"\n value={`radio-${index}`}\n label={`radio-${index}`}\n checked={form.radio === `radio-${index}`}\n />\n ))}\n {condition && <InputText label=\"condition\" name=\"condition\" />}\n\n <Button disabled={Object.keys(error).length !== 0} type=\"submit\" wide>\n Submit\n </Button>\n </Form>\n\n <View row style={{ justifyContent: 'flex-end', marginTop: 'var(--mirai-ui-space-L)' }}>\n <Button small secondary onPress={() => setForm({})} style={{ marginRight: 'var(--mirai-ui-space-M)' }}>\n Reset\n </Button>\n <Button small secondary onPress={() => setCondition(!condition)}>\n {`${condition ? 'Hide' : 'Show'} dynamic field`}\n </Button>\n </View>\n </>\n );\n};\n\nStory.storyName = 'Form';\n\nStory.args = {\n debounce: 0,\n schema: {},\n showErrors: false,\n validateOnMount: false,\n // inherited properties\n ['data-testid']: 'test-story',\n style: {},\n};\n\nStory.argTypes = {};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Form.stories.js","names":["title","Story","props","useState","condition","setCondition","email","checkbox","dateOfBirth","switch","radio","form","setForm","error","setError","useEffect","handleBlur","others","console","log","handleChange","next","handleError","handleFocus","handleSubmit","value","includes","password","emptyOption","gender","children","Array","from","keys","map","index","Object","length","justifyContent","marginTop","marginRight","storyName","args","debounce","schema","showErrors","validateOnMount","argTypes"],"sources":["../../../src/components/Form/Form.stories.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport { Button, InputDate, InputNumber, InputOption, InputText, InputSelect, Text, View } from '../../';\nimport { Form } from './Form';\n\nexport default { title: 'Components' };\n\nexport const Story = (props) => {\n const [condition, setCondition] = useState(false);\n const [form, setForm] = useState({\n email: 'javi@mirai.com',\n checkbox: true,\n dateOfBirth: '04/10/1980',\n switch: true,\n radio: 'radio-2',\n });\n const [error, setError] = useState({});\n\n useEffect(\n () =>\n setForm({\n email: 'javi@mirai.com',\n checkbox: true,\n dateOfBirth: '04/10/1980',\n switch: true,\n radio: 'radio-2',\n }),\n [],\n ); // * Simulate a state hydration\n\n const handleBlur = (...others) => console.log('<Form>::onBlur', ...others);\n\n const handleChange = (next, ...others) => {\n setForm(next);\n console.log('<Form>::onChange', next, ...others);\n };\n\n const handleError = (next, ...others) => {\n setError(next);\n console.log('<Form>::onError', next, ...others);\n };\n\n const handleFocus = (...others) => console.log('<Form>::onFocus', ...others);\n\n const handleSubmit = (...others) => console.log('<Form>::onSubmit', ...others);\n\n return (\n <>\n <Form\n {...props}\n onBlur={handleBlur}\n onChange={handleChange}\n onError={handleError}\n onFocus={handleFocus}\n onSubmit={handleSubmit}\n >\n <View row>\n <Text headline>Form component</Text>\n </View>\n\n <InputText\n name=\"email\"\n error={!!error.email}\n test={(value) => value.includes('@mirai.com')}\n label=\"Email\"\n hint=\"Should contains @mirai.com\"\n required\n type=\"email\"\n value={form.email}\n />\n <InputText\n name=\"password\"\n error={!!error.password}\n hint=\"At least 10 chars.\"\n label=\"Password\"\n required\n minLength={10}\n type=\"password\"\n value={form.password}\n />\n <InputSelect\n name=\"gender\"\n emptyOption=\"Select...\"\n error={!!error.emptyOption}\n label=\"Your gender\"\n options={['one', 'two', 'three', 'four', 'five']}\n value={form.gender}\n />\n <InputDate\n name=\"dateOfBirth\"\n error={!!error.dateOfBirth}\n label=\"Your birthdate\"\n max=\"31/12/2022\"\n min=\"10/04/1980\"\n required\n type=\"inputDate\"\n value={form.dateOfBirth}\n />\n <InputText name=\"bio\" label=\"Bio\" multiLine />\n <InputNumber name=\"children\" label=\"Children\" hint=\"Ages 0 - 17\" value={form.children} />\n <InputOption type=\"checkbox\" name=\"checkbox\" label=\"checkbox\" checked={form.checkbox} />\n <InputOption type=\"switch\" name=\"switch\" label=\"switch\" checked={form.switch} />\n {Array.from(Array(2).keys()).map((index) => (\n <InputOption\n key={index}\n type=\"radio\"\n name=\"radio\"\n value={`radio-${index}`}\n label={`radio-${index}`}\n checked={form.radio === `radio-${index}`}\n />\n ))}\n {condition && <InputText label=\"condition\" name=\"condition\" />}\n\n <Button disabled={Object.keys(error).length !== 0} type=\"submit\" wide>\n Submit\n </Button>\n </Form>\n\n <View row style={{ justifyContent: 'flex-end', marginTop: 'var(--mirai-ui-space-L)' }}>\n <Button small secondary onPress={() => setForm({})} style={{ marginRight: 'var(--mirai-ui-space-M)' }}>\n Reset\n </Button>\n <Button small secondary onPress={() => setCondition(!condition)}>\n {`${condition ? 'Hide' : 'Show'} dynamic field`}\n </Button>\n </View>\n </>\n );\n};\n\nStory.storyName = 'Form';\n\nStory.args = {\n debounce: 0,\n schema: {},\n showErrors: false,\n validateOnMount: false,\n // inherited properties\n ['data-testid']: 'test-story',\n style: {},\n};\n\nStory.argTypes = {};\n"],"mappings":"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"}
@@ -17,17 +17,21 @@ exports[`component:<Form> prop:children 1`] = `
17
17
  <div
18
18
  class="view row inputBorder"
19
19
  >
20
- <span
21
- class="text paragraph text label"
20
+ <div
21
+ class="view wide content"
22
22
  >
23
- label
24
- </span>
25
- <input
26
- class="input input withLabel"
27
- name="name"
28
- type="text"
29
- value=""
30
- />
23
+ <span
24
+ class="text paragraph text label"
25
+ >
26
+ label
27
+ </span>
28
+ <input
29
+ class="input input withLabel"
30
+ name="name"
31
+ type="text"
32
+ value=""
33
+ />
34
+ </div>
31
35
  </div>
32
36
  </div>
33
37
  </form>
@@ -12,6 +12,7 @@ var _helpers = require("../../helpers");
12
12
  var _primitives = require("../../primitives");
13
13
  var _InputText = require("../InputText");
14
14
  var _InputTextModule = _interopRequireDefault(require("../InputText/InputText.module.css"));
15
+ var _partials = require("../InputText/partials");
15
16
  var _InputDateModule = _interopRequireDefault(require("./InputDate.module.css"));
16
17
  var _excluded = ["disabled", "error", "format", "hint", "label", "labels", "max", "min", "name", "required", "success", "value", "warning", "onChange", "onError", "onEnter", "onLeave"],
17
18
  _excluded2 = ["className", "data-testid"];
@@ -90,11 +91,17 @@ var InputDate = function InputDate(_ref) {
90
91
  return /*#__PURE__*/_react.default.createElement(_primitives.View, {
91
92
  className: (0, _helpers.styles)(_InputTextModule.default.inputContainer, className),
92
93
  "data-testid": testId
93
- }, label && /*#__PURE__*/_react.default.createElement(_primitives.Text, {
94
- small: true,
95
- className: (0, _helpers.styles)(_InputDateModule.default.label, _InputTextModule.default.text, _InputTextModule.default.hint, disabled && _InputTextModule.default.disabled, focus && _InputTextModule.default.focus, error && _InputTextModule.default.error)
96
- }, label), /*#__PURE__*/_react.default.createElement(_primitives.View, {
94
+ }, label && /*#__PURE__*/_react.default.createElement(_primitives.View, {
97
95
  row: true
96
+ }, label && /*#__PURE__*/_react.default.createElement(_partials.Label, {
97
+ disabled: disabled,
98
+ error: error,
99
+ focus: focus,
100
+ label: label,
101
+ className: _InputDateModule.default.label
102
+ })), /*#__PURE__*/_react.default.createElement(_primitives.View, {
103
+ row: true,
104
+ className: _InputDateModule.default.inputs
98
105
  }, parts.map(function (part, index) {
99
106
  return /*#__PURE__*/_react.default.createElement(_InputText.InputText, _extends({}, rest, {
100
107
  disabled: disabled,
@@ -103,7 +110,7 @@ var InputDate = function InputDate(_ref) {
103
110
  label: labels[index] || part,
104
111
  maxLength: part.length,
105
112
  name: "".concat(name, ":").concat(part),
106
- fork: true,
113
+ showState: false,
107
114
  value: values[index],
108
115
  onChange: function onChange(value) {
109
116
  for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
@@ -116,17 +123,15 @@ var InputDate = function InputDate(_ref) {
116
123
  className: (0, _helpers.styles)(_InputDateModule.default.input, _InputDateModule.default[part.substring(0, 1)]),
117
124
  "data-testid": testId ? "".concat(testId, "-").concat(part) : undefined
118
125
  }));
119
- }), (error || success || warning) && /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
120
- value: (0, _helpers.getIconState)({
121
- error: error,
122
- success: success,
123
- warning: warning
124
- }),
125
- className: (0, _helpers.styles)(_InputTextModule.default.icon, error ? _InputTextModule.default.error : warning ? _InputTextModule.default.warning : success ? _InputTextModule.default.success : undefined)
126
- })), hint && /*#__PURE__*/_react.default.createElement(_primitives.Text, {
127
- small: true,
128
- className: (0, _helpers.styles)(_InputTextModule.default.text, _InputTextModule.default.hint, disabled && _InputTextModule.default.disabled, error && _InputTextModule.default.error)
129
- }, hint));
126
+ }), (error || success || warning) && /*#__PURE__*/_react.default.createElement(_partials.IconState, {
127
+ error: error,
128
+ success: success,
129
+ warning: warning
130
+ })), hint && /*#__PURE__*/_react.default.createElement(_partials.Hint, {
131
+ disabled: disabled,
132
+ error: error,
133
+ hint: hint
134
+ }));
130
135
  };
131
136
  exports.InputDate = InputDate;
132
137
  InputDate.displayName = 'Component:InputDate';
@@ -1 +1 @@
1
- {"version":3,"file":"InputDate.js","names":["InputDate","disabled","error","format","DEFAULT_DATE_FORMAT","hint","label","labels","max","min","name","required","success","value","warning","onChange","onError","onEnter","onLeave","others","useState","focus","setFocus","parts","splitDate","values","handleChange","partValue","partKey","event","nextValue","map","part","index","join","errors","getInputDateErrors","Object","keys","length","handleEnter","handleLeave","className","testId","rest","styles","style","inputContainer","styleDate","text","input","substring","undefined","getIconState","icon","displayName","propTypes","PropTypes","bool","string","arrayOf","isRequired","placeholder","func"],"sources":["../../../src/components/InputDate/InputDate.jsx"],"sourcesContent":["import { DEFAULT_DATE_FORMAT } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { getIconState, getInputDateErrors, splitDate, styles } from '../../helpers';\nimport { Icon, Text, View } from '../../primitives';\nimport { InputText } from '../InputText';\nimport style from '../InputText/InputText.module.css';\nimport styleDate from './InputDate.module.css';\n\nconst InputDate = ({\n disabled,\n error,\n format = DEFAULT_DATE_FORMAT,\n hint,\n label,\n labels = [],\n max,\n min,\n name,\n required,\n success,\n value = '',\n warning,\n onChange = () => {},\n onError = () => {},\n onEnter = () => {},\n onLeave = () => {},\n ...others\n}) => {\n const [focus, setFocus] = useState(false);\n\n const parts = splitDate(format);\n const values = splitDate(value);\n\n const handleChange = (partValue = '', partKey, event) => {\n const nextValue = parts.map((part, index) => (part !== partKey ? values[index] || '' : partValue)).join('/');\n onChange(nextValue, event);\n\n const errors = getInputDateErrors({ format, max, min, value, required });\n if (Object.keys(errors || {}).length > 0) onError(errors);\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 { className, ['data-testid']: testId, ...rest } = others;\n\n return (\n <View className={styles(style.inputContainer, className)} data-testid={testId}>\n {label && (\n <Text\n small\n className={styles(\n styleDate.label,\n style.text,\n style.hint,\n disabled && style.disabled,\n focus && style.focus,\n error && style.error,\n )}\n >\n {label}\n </Text>\n )}\n\n <View row>\n {parts.map((part, index) => (\n <InputText\n {...rest}\n disabled={disabled}\n error={error}\n key={index}\n label={labels[index] || part}\n maxLength={part.length}\n name={`${name}:${part}`}\n fork\n value={values[index]}\n onChange={(value, ...rest) => handleChange(value, part, ...rest)}\n onEnter={handleEnter}\n onLeave={handleLeave}\n className={styles(styleDate.input, styleDate[part.substring(0, 1)])}\n data-testid={testId ? `${testId}-${part}` : undefined}\n />\n ))}\n\n {(error || success || warning) && (\n <Icon\n value={getIconState({ error, success, warning })}\n className={styles(\n style.icon,\n error ? style.error : warning ? style.warning : success ? style.success : undefined,\n )}\n />\n )}\n </View>\n\n {hint && (\n <Text small className={styles(style.text, style.hint, disabled && style.disabled, error && style.error)}>\n {hint}\n </Text>\n )}\n </View>\n );\n};\n\nInputDate.displayName = 'Component:InputDate';\n\nInputDate.propTypes = {\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n format: PropTypes.string,\n hint: PropTypes.string,\n label: PropTypes.string,\n labels: PropTypes.arrayOf(PropTypes.string),\n max: PropTypes.string,\n min: PropTypes.string,\n name: PropTypes.string.isRequired,\n placeholder: PropTypes.bool,\n required: PropTypes.bool,\n success: PropTypes.bool,\n value: PropTypes.string,\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { InputDate };\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputDate.js","names":["InputDate","disabled","error","format","DEFAULT_DATE_FORMAT","hint","label","labels","max","min","name","required","success","value","warning","onChange","onError","onEnter","onLeave","others","useState","focus","setFocus","parts","splitDate","values","handleChange","partValue","partKey","event","nextValue","map","part","index","join","errors","getInputDateErrors","Object","keys","length","handleEnter","handleLeave","className","testId","rest","styles","style","inputContainer","styleDate","inputs","input","substring","undefined","displayName","propTypes","PropTypes","bool","string","arrayOf","isRequired","placeholder","func"],"sources":["../../../src/components/InputDate/InputDate.jsx"],"sourcesContent":["import { DEFAULT_DATE_FORMAT } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\n\nimport { getInputDateErrors, splitDate, styles } from '../../helpers';\nimport { View } from '../../primitives';\nimport { InputText } from '../InputText';\nimport style from '../InputText/InputText.module.css';\nimport { Hint, IconState, Label } from '../InputText/partials';\nimport styleDate from './InputDate.module.css';\n\nconst InputDate = ({\n disabled,\n error,\n format = DEFAULT_DATE_FORMAT,\n hint,\n label,\n labels = [],\n max,\n min,\n name,\n required,\n success,\n value = '',\n warning,\n onChange = () => {},\n onError = () => {},\n onEnter = () => {},\n onLeave = () => {},\n ...others\n}) => {\n const [focus, setFocus] = useState(false);\n\n const parts = splitDate(format);\n const values = splitDate(value);\n\n const handleChange = (partValue = '', partKey, event) => {\n const nextValue = parts.map((part, index) => (part !== partKey ? values[index] || '' : partValue)).join('/');\n onChange(nextValue, event);\n\n const errors = getInputDateErrors({ format, max, min, value, required });\n if (Object.keys(errors || {}).length > 0) onError(errors);\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 { className, ['data-testid']: testId, ...rest } = others;\n\n return (\n <View className={styles(style.inputContainer, className)} data-testid={testId}>\n {label && (\n <View row>{label && <Label {...{ disabled, error, focus, label, className: styleDate.label }} />}</View>\n )}\n\n <View row className={styleDate.inputs}>\n {parts.map((part, index) => (\n <InputText\n {...rest}\n disabled={disabled}\n error={error}\n key={index}\n label={labels[index] || part}\n maxLength={part.length}\n name={`${name}:${part}`}\n showState={false}\n value={values[index]}\n onChange={(value, ...rest) => handleChange(value, part, ...rest)}\n onEnter={handleEnter}\n onLeave={handleLeave}\n className={styles(styleDate.input, styleDate[part.substring(0, 1)])}\n data-testid={testId ? `${testId}-${part}` : undefined}\n />\n ))}\n\n {(error || success || warning) && <IconState {...{ error, success, warning }} />}\n </View>\n\n {hint && <Hint {...{ disabled, error, hint }} />}\n </View>\n );\n};\n\nInputDate.displayName = 'Component:InputDate';\n\nInputDate.propTypes = {\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n format: PropTypes.string,\n hint: PropTypes.string,\n label: PropTypes.string,\n labels: PropTypes.arrayOf(PropTypes.string),\n max: PropTypes.string,\n min: PropTypes.string,\n name: PropTypes.string.isRequired,\n placeholder: PropTypes.bool,\n required: PropTypes.bool,\n success: PropTypes.bool,\n value: PropTypes.string,\n warning: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n};\n\nexport { InputDate };\n"],"mappings":"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"}
@@ -1,18 +1,20 @@
1
+ .inputs {
2
+ gap: calc(var(--mirai-ui-input-text-padding-x) / 2);
3
+ }
4
+
1
5
  .input {
2
- max-width: calc(calc(var(--mirai-ui-input-font-size) * 2.2) + calc(var(--mirai-ui-input-text-padding-x) * 2));
6
+ max-width: calc(calc(var(--mirai-ui-input-font-size) * 2.5) + calc(var(--mirai-ui-input-text-padding-x) * 2));
3
7
  margin-bottom: 0;
4
8
  margin-top: 0;
5
9
  }
6
10
 
7
- .input:not(:last-child) {
8
- margin-right: calc(var(--mirai-ui-input-text-padding-x) / 2);
9
- }
10
-
11
11
  .input.Y {
12
12
  max-width: calc(calc(var(--mirai-ui-input-font-size) * 3) + calc(var(--mirai-ui-input-text-padding-x) * 2));
13
13
  }
14
14
 
15
15
  .label {
16
- margin-top: calc(var(--mirai-ui-font-size-small) * -0.25);
16
+ font-size: var(--mirai-ui-font-size-small);
17
+ line-height: var(--mirai-ui-line-height-small);
18
+ margin: calc(var(--mirai-ui-input-text-padding-y) / 4) var(--mirai-ui-input-text-padding-x);
17
19
  width: fit-content;
18
20
  }