@mirai/ui 1.0.1 → 1.0.4

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 (36) hide show
  1. package/build/components/Button/Button.js +3 -2
  2. package/build/components/Button/Button.js.map +1 -1
  3. package/build/components/Button/Button.module.css +8 -4
  4. package/build/components/Button/__tests__/__snapshots__/Button.test.js.snap +1 -1
  5. package/build/components/Calendar/Calendar.Week.js +0 -2
  6. package/build/components/Calendar/Calendar.Week.js.map +1 -1
  7. package/build/components/Calendar/__tests__/__snapshots__/Calendar.test.jsx.snap +1218 -1218
  8. package/build/components/Form/__tests__/__snapshots__/Form.test.jsx.snap +2 -2
  9. package/build/components/InputNumber/__tests__/__snapshots__/InputNumber.test.js.snap +2 -2
  10. package/build/components/InputSelect/InputSelect.js +93 -0
  11. package/build/components/InputSelect/InputSelect.js.map +1 -0
  12. package/build/components/InputSelect/__tests__/__snapshots__/InputSelect.test.js.snap +490 -0
  13. package/build/components/InputSelect/index.js +19 -0
  14. package/build/components/InputSelect/index.js.map +1 -0
  15. package/build/components/InputText/InputText.js +13 -5
  16. package/build/components/InputText/InputText.js.map +1 -1
  17. package/build/components/InputText/InputText.module.css +40 -19
  18. package/build/components/InputText/__tests__/__snapshots__/InputText.test.js.snap +62 -19
  19. package/build/components/index.js +13 -0
  20. package/build/components/index.js.map +1 -1
  21. package/build/primitives/Input/Input.module.css +0 -5
  22. package/build/primitives/Pressable/Pressable.js +1 -1
  23. package/build/primitives/Pressable/Pressable.js.map +1 -1
  24. package/build/primitives/Pressable/Pressable.module.css +1 -1
  25. package/build/primitives/Pressable/__tests__/__snapshots__/Pressable.test.js.snap +1 -1
  26. package/build/primitives/Select/Select.js +70 -0
  27. package/build/primitives/Select/Select.js.map +1 -0
  28. package/build/primitives/Select/Select.module.css +24 -0
  29. package/build/primitives/Select/__tests__/__snapshots__/Select.test.js.snap +178 -0
  30. package/build/primitives/Select/index.js +19 -0
  31. package/build/primitives/Select/index.js.map +1 -0
  32. package/build/primitives/View/View.module.css +1 -0
  33. package/build/primitives/index.js +13 -0
  34. package/build/primitives/index.js.map +1 -1
  35. package/build/theme/default.theme.css +3 -2
  36. package/package.json +1 -1
@@ -19,13 +19,14 @@ var _primitives = require("../../primitives");
19
19
 
20
20
  var _ButtonModule = _interopRequireDefault(require("./Button.module.css"));
21
21
 
22
- var _excluded = ["children", "disabled", "large", "outlined", "small", "squared", "tag"];
22
+ var _excluded = ["children", "disabled", "large", "outlined", "rounded", "small", "squared", "tag"];
23
23
 
24
24
  var Button = function Button(_ref) {
25
25
  var children = _ref.children,
26
26
  disabled = _ref.disabled,
27
27
  large = _ref.large,
28
28
  outlined = _ref.outlined,
29
+ rounded = _ref.rounded,
29
30
  small = _ref.small,
30
31
  _ref$squared = _ref.squared,
31
32
  squared = _ref$squared === void 0 ? false : _ref$squared,
@@ -35,7 +36,7 @@ var Button = function Button(_ref) {
35
36
  return /*#__PURE__*/_react.default.createElement(_primitives.Pressable, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, others), {}, {
36
37
  disabled: disabled,
37
38
  tag: tag,
38
- className: (0, _helpers.styles)(_ButtonModule.default.button, large && _ButtonModule.default.large, small && _ButtonModule.default.small, squared && _ButtonModule.default.squared, outlined && !disabled && _ButtonModule.default.outlined, disabled && _ButtonModule.default.disabled, others.className)
39
+ className: (0, _helpers.styles)(_ButtonModule.default.button, large && _ButtonModule.default.large, small && _ButtonModule.default.small, rounded && _ButtonModule.default.rounded, squared && _ButtonModule.default.squared, outlined && !disabled && _ButtonModule.default.outlined, others.className)
39
40
  }), children);
40
41
  };
41
42
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Button/Button.jsx"],"names":["Button","children","disabled","large","outlined","small","squared","tag","others","React","createElement","Pressable","className","style","button","displayName"],"mappings":";;;;;;;;;;;;;AACA;;AAEA;;AACA;;AACA;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,MAAaC,QAAb,QAAaA,QAAb;AAAA,MAAuBC,KAAvB,QAAuBA,KAAvB;AAAA,MAA8BC,QAA9B,QAA8BA,QAA9B;AAAA,MAAwCC,KAAxC,QAAwCA,KAAxC;AAAA,0BAA+CC,OAA/C;AAAA,MAA+CA,OAA/C,6BAAyD,KAAzD;AAAA,sBAAgEC,GAAhE;AAAA,MAAgEA,GAAhE,yBAAsE,QAAtE;AAAA,MAAmFC,MAAnF;AAAA,sBACbC,eAAMC,aAAN,CACEC,qBADF,8DAGOH,MAHP;AAIIN,IAAAA,QAAQ,EAARA,QAJJ;AAKIK,IAAAA,GAAG,EAAHA,GALJ;AAMIK,IAAAA,SAAS,EAAE,qBACTC,sBAAMC,MADG,EAETX,KAAK,IAAIU,sBAAMV,KAFN,EAGTE,KAAK,IAAIQ,sBAAMR,KAHN,EAITC,OAAO,IAAIO,sBAAMP,OAJR,EAKTF,QAAQ,IAAI,CAACF,QAAb,IAAyBW,sBAAMT,QALtB,EAMTF,QAAQ,IAAIW,sBAAMX,QANT,EAOTM,MAAM,CAACI,SAPE;AANf,MAgBEX,QAhBF,CADa;AAAA,CAAf;;;AAoBAD,MAAM,CAACe,WAAP,GAAqB,kBAArB","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable } from '../../primitives';\nimport style from './Button.module.css';\n\nconst Button = ({ children, disabled, large, outlined, small, squared = false, tag = 'button', ...others }) =>\n React.createElement(\n Pressable,\n {\n ...others,\n disabled,\n tag,\n className: styles(\n style.button,\n large && style.large,\n small && style.small,\n squared && style.squared,\n outlined && !disabled && style.outlined,\n disabled && style.disabled,\n others.className,\n ),\n },\n children,\n );\n\nButton.displayName = 'Component:Button';\n\nButton.propTypes = {\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n disabled: PropTypes.bool,\n large: PropTypes.bool,\n outlined: PropTypes.bool,\n small: PropTypes.bool,\n squared: PropTypes.bool,\n tag: PropTypes.string,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n onPress: PropTypes.func,\n};\n\nexport { Button };\n"],"file":"Button.js"}
1
+ {"version":3,"sources":["../../../src/components/Button/Button.jsx"],"names":["Button","children","disabled","large","outlined","rounded","small","squared","tag","others","React","createElement","Pressable","className","style","button","displayName"],"mappings":";;;;;;;;;;;;;AACA;;AAEA;;AACA;;AACA;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,MAAaC,QAAb,QAAaA,QAAb;AAAA,MAAuBC,KAAvB,QAAuBA,KAAvB;AAAA,MAA8BC,QAA9B,QAA8BA,QAA9B;AAAA,MAAwCC,OAAxC,QAAwCA,OAAxC;AAAA,MAAiDC,KAAjD,QAAiDA,KAAjD;AAAA,0BAAwDC,OAAxD;AAAA,MAAwDA,OAAxD,6BAAkE,KAAlE;AAAA,sBAAyEC,GAAzE;AAAA,MAAyEA,GAAzE,yBAA+E,QAA/E;AAAA,MAA4FC,MAA5F;AAAA,sBACbC,eAAMC,aAAN,CACEC,qBADF,8DAGOH,MAHP;AAIIP,IAAAA,QAAQ,EAARA,QAJJ;AAKIM,IAAAA,GAAG,EAAHA,GALJ;AAMIK,IAAAA,SAAS,EAAE,qBACTC,sBAAMC,MADG,EAETZ,KAAK,IAAIW,sBAAMX,KAFN,EAGTG,KAAK,IAAIQ,sBAAMR,KAHN,EAITD,OAAO,IAAIS,sBAAMT,OAJR,EAKTE,OAAO,IAAIO,sBAAMP,OALR,EAMTH,QAAQ,IAAI,CAACF,QAAb,IAAyBY,sBAAMV,QANtB,EAOTK,MAAM,CAACI,SAPE;AANf,MAgBEZ,QAhBF,CADa;AAAA,CAAf;;;AAoBAD,MAAM,CAACgB,WAAP,GAAqB,kBAArB","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable } from '../../primitives';\nimport style from './Button.module.css';\n\nconst Button = ({ children, disabled, large, outlined, rounded, small, squared = false, tag = 'button', ...others }) =>\n React.createElement(\n Pressable,\n {\n ...others,\n disabled,\n tag,\n className: styles(\n style.button,\n large && style.large,\n small && style.small,\n rounded && style.rounded,\n squared && style.squared,\n outlined && !disabled && style.outlined,\n others.className,\n ),\n },\n children,\n );\n\nButton.displayName = 'Component:Button';\n\nButton.propTypes = {\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n disabled: PropTypes.bool,\n large: PropTypes.bool,\n outlined: PropTypes.bool,\n rounded: PropTypes.bool,\n small: PropTypes.bool,\n squared: PropTypes.bool,\n tag: PropTypes.string,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n onPress: PropTypes.func,\n};\n\nexport { Button };\n"],"file":"Button.js"}
@@ -23,7 +23,7 @@
23
23
  width: fit-content;
24
24
  }
25
25
 
26
- .disabled {
26
+ .button:disabled {
27
27
  background-color: var(--mirai-ui-disabled);
28
28
  color: var(--mirai-ui-lighten);
29
29
  }
@@ -34,7 +34,7 @@
34
34
  color: var(--mirai-ui-button-color);
35
35
  }
36
36
 
37
- .button:not(.disabled):active {
37
+ .button:not(:disabled):active {
38
38
  box-shadow: inset 0 0 var(--mirai-ui-space-XXL) var(--mirai-ui-space-XXL) var(--mirai-ui-button-color-active);
39
39
  }
40
40
 
@@ -48,6 +48,10 @@
48
48
  padding: var(--mirai-ui-space-XS) var(--mirai-ui-space-S);
49
49
  }
50
50
 
51
+ .rounded {
52
+ border-radius: 50%;
53
+ }
54
+
51
55
  .squared {
52
56
  padding: 0;
53
57
  height: var(--mirai-ui-space-XL);
@@ -68,12 +72,12 @@
68
72
  }
69
73
 
70
74
  @media only screen and (min-width: 600px) {
71
- .button:not(.disabled).outlined:hover {
75
+ .button:not(:disabled).outlined:hover {
72
76
  border-color: var(--mirai-ui-button-color-hover);
73
77
  color: var(--mirai-ui-button-color-focus);
74
78
  }
75
79
 
76
- .button:not(.disabled):not(.outlined):hover {
80
+ .button:not(:disabled):not(.outlined):hover {
77
81
  background-color: var(--mirai-ui-button-color-focus);
78
82
  }
79
83
  }
@@ -23,7 +23,7 @@ exports[`component:<Button> inherit:className 1`] = `
23
23
  exports[`component:<Button> prop:disabled 1`] = `
24
24
  <DocumentFragment>
25
25
  <button
26
- class="pressable disabled button disabled"
26
+ class="pressable button"
27
27
  disabled=""
28
28
  >
29
29
  children
@@ -51,8 +51,6 @@ var Week = function Week(_ref) {
51
51
 
52
52
  var disabledDatesTS = disabledDates.map(function (date) {
53
53
  return (0, _locale.UTC)((0, _locale.parseDate)(date, format)).getTime();
54
- }).filter(function (date) {
55
- return !isNaN(date);
56
54
  });
57
55
  var firstDate = (0, _helpers2.getFirstDateOfWeek)(number, year);
58
56
  var todayTS = (0, _helpers2.getToday)().getTime();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Calendar/Calendar.Week.jsx"],"names":["Week","captions","disabledDates","disabledPast","focus","locale","format","from","month","number","range","selected","to","year","onPress","onFocus","others","disabledDatesTS","map","date","getTime","filter","isNaN","firstDate","todayTS","fromTS","toTS","rangeTS","start","end","undefined","focusTS","ts","sort","outbound","DAYS","day","Date","getFullYear","getMonth","getDate","dateTS","is","disabled","includes","outOfRange","rangeLimit","ranging","today","touchable","visible","isSelected","textStyle","style","textDisabled","textSelected","cell","daySelected","dayRange","dayRangeLimit","dayTouchable","caption","displayName"],"mappings":"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","sourcesContent":["import { dateFormat, parseDate, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable, Text, View } from '../../primitives';\nimport { DAYS } from './Calendar.constants';\nimport style from './Calendar.module.css';\nimport { getFirstDateOfWeek, getToday } from './helpers';\n\nexport const Week = ({\n captions,\n disabledDates = [],\n disabledPast = false,\n focus,\n locale,\n format,\n from,\n month,\n number,\n range,\n selected,\n to,\n year,\n onPress = () => {},\n onFocus = () => {},\n ...others\n}) => {\n const disabledDatesTS = disabledDates\n .map((date) => UTC(parseDate(date, format)).getTime())\n .filter((date) => !isNaN(date));\n const firstDate = getFirstDateOfWeek(number, year);\n const todayTS = getToday().getTime();\n const fromTS = from?.getTime();\n const toTS = to?.getTime();\n\n let rangeTS = {};\n if (range) {\n const [start, end] = selected;\n rangeTS = { start: start ? start.getTime() : undefined, end: end ? end.getTime() : undefined };\n\n if (focus) {\n const focusTS = focus.getTime();\n const [outbound] = disabledDatesTS.filter((ts) => ts > rangeTS.start && focusTS >= ts).sort();\n\n rangeTS.end = outbound ? outbound - 1 : focusTS;\n rangeTS.outbound = outbound - 1;\n }\n }\n\n return (\n <View row>\n {DAYS.map((day) => {\n const date = UTC(new Date(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate() + day));\n const dateTS = date.getTime();\n\n const is = {\n disabled:\n (disabledPast && date.getTime() < todayTS) || // past\n !date.getMonth() === month || // days out of month\n disabledDatesTS.includes(dateTS) || // disabled dates\n dateTS < fromTS || // less than range\n dateTS > toTS, // more than range\n outOfRange: dateTS > rangeTS.outbound,\n range: dateTS > rangeTS.start && dateTS < rangeTS.end,\n rangeLimit: dateTS === rangeTS.start || dateTS === rangeTS.end,\n // ranged:\n ranging: range && selected?.[0] && !selected[1],\n today: dateTS === todayTS,\n touchable: true,\n visible: date.getMonth() === month,\n };\n\n const isSelected =\n range && selected\n ? selected[0] && !selected[1]\n ? dateTS === selected[0].getTime()\n : selected[0] && selected[1]\n ? dateTS >= selected[0].getTime() && dateTS <= selected[1].getTime()\n : undefined\n : dateTS === selected?.getTime();\n\n const textStyle = is.disabled\n ? style.textDisabled\n : isSelected || dateTS === rangeTS.end\n ? style.textSelected\n : undefined;\n\n return (\n <Pressable\n disabled={is.disabled || is.outOfRange || !is.visible}\n key={day}\n tabIndex={is.visible && !is.disabled ? date.getDate() : undefined}\n data-testid={`${others['data-testid'] || 'calendar'}-${number}-${day}`}\n className={style.cell}\n onEnter={is.ranging ? () => onFocus(date) : undefined}\n onLeave={is.ranging ? () => onFocus() : undefined}\n onPress={() => onPress(date)}\n >\n {is.visible && (\n <View\n className={styles(\n style.day,\n is.range && isSelected && style.daySelected,\n is.range && style.dayRange,\n (is.rangeLimit || (!is.range && isSelected)) && style.dayRangeLimit,\n !isSelected && !is.disabled && style.dayTouchable,\n )}\n >\n <Text bold={is.today} className={textStyle}>\n {dateFormat(date, { locale, day: 'numeric' })}\n </Text>\n\n {captions && (\n <Text small className={styles(textStyle, style.caption)}>\n {captions[dateFormat(date, { format })] || ''}\n </Text>\n )}\n </View>\n )}\n </Pressable>\n );\n })}\n </View>\n );\n};\n\nWeek.displayName = 'Component:Calendar:Week';\n\nWeek.propTypes = {\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n focus: PropTypes.object,\n locale: PropTypes.string,\n format: PropTypes.string,\n from: PropTypes.instanceOf(Date),\n to: PropTypes.instanceOf(Date),\n year: PropTypes.number.isRequired,\n month: PropTypes.number.isRequired,\n number: PropTypes.number.isRequired,\n range: PropTypes.bool,\n selected: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n onFocus: PropTypes.func,\n onPress: PropTypes.func,\n};\n"],"file":"Calendar.Week.js"}
1
+ {"version":3,"sources":["../../../src/components/Calendar/Calendar.Week.jsx"],"names":["Week","captions","disabledDates","disabledPast","focus","locale","format","from","month","number","range","selected","to","year","onPress","onFocus","others","disabledDatesTS","map","date","getTime","firstDate","todayTS","fromTS","toTS","rangeTS","start","end","undefined","focusTS","filter","ts","sort","outbound","DAYS","day","Date","getFullYear","getMonth","getDate","dateTS","is","disabled","includes","outOfRange","rangeLimit","ranging","today","touchable","visible","isSelected","textStyle","style","textDisabled","textSelected","cell","daySelected","dayRange","dayRangeLimit","dayTouchable","caption","displayName"],"mappings":"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","sourcesContent":["import { dateFormat, parseDate, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable, Text, View } from '../../primitives';\nimport { DAYS } from './Calendar.constants';\nimport style from './Calendar.module.css';\nimport { getFirstDateOfWeek, getToday } from './helpers';\n\nexport const Week = ({\n captions,\n disabledDates = [],\n disabledPast = false,\n focus,\n locale,\n format,\n from,\n month,\n number,\n range,\n selected,\n to,\n year,\n onPress = () => {},\n onFocus = () => {},\n ...others\n}) => {\n const disabledDatesTS = disabledDates.map((date) => UTC(parseDate(date, format)).getTime());\n const firstDate = getFirstDateOfWeek(number, year);\n const todayTS = getToday().getTime();\n const fromTS = from?.getTime();\n const toTS = to?.getTime();\n\n let rangeTS = {};\n if (range) {\n const [start, end] = selected;\n rangeTS = { start: start ? start.getTime() : undefined, end: end ? end.getTime() : undefined };\n\n if (focus) {\n const focusTS = focus.getTime();\n const [outbound] = disabledDatesTS.filter((ts) => ts > rangeTS.start && focusTS >= ts).sort();\n\n rangeTS.end = outbound ? outbound - 1 : focusTS;\n rangeTS.outbound = outbound - 1;\n }\n }\n\n return (\n <View row>\n {DAYS.map((day) => {\n const date = UTC(new Date(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate() + day));\n const dateTS = date.getTime();\n\n const is = {\n disabled:\n (disabledPast && date.getTime() < todayTS) || // past\n !date.getMonth() === month || // days out of month\n disabledDatesTS.includes(dateTS) || // disabled dates\n dateTS < fromTS || // less than range\n dateTS > toTS, // more than range\n outOfRange: dateTS > rangeTS.outbound,\n range: dateTS > rangeTS.start && dateTS < rangeTS.end,\n rangeLimit: dateTS === rangeTS.start || dateTS === rangeTS.end,\n // ranged:\n ranging: range && selected?.[0] && !selected[1],\n today: dateTS === todayTS,\n touchable: true,\n visible: date.getMonth() === month,\n };\n\n const isSelected =\n range && selected\n ? selected[0] && !selected[1]\n ? dateTS === selected[0].getTime()\n : selected[0] && selected[1]\n ? dateTS >= selected[0].getTime() && dateTS <= selected[1].getTime()\n : undefined\n : dateTS === selected?.getTime();\n\n const textStyle = is.disabled\n ? style.textDisabled\n : isSelected || dateTS === rangeTS.end\n ? style.textSelected\n : undefined;\n\n return (\n <Pressable\n disabled={is.disabled || is.outOfRange || !is.visible}\n key={day}\n tabIndex={is.visible && !is.disabled ? date.getDate() : undefined}\n data-testid={`${others['data-testid'] || 'calendar'}-${number}-${day}`}\n className={style.cell}\n onEnter={is.ranging ? () => onFocus(date) : undefined}\n onLeave={is.ranging ? () => onFocus() : undefined}\n onPress={() => onPress(date)}\n >\n {is.visible && (\n <View\n className={styles(\n style.day,\n is.range && isSelected && style.daySelected,\n is.range && style.dayRange,\n (is.rangeLimit || (!is.range && isSelected)) && style.dayRangeLimit,\n !isSelected && !is.disabled && style.dayTouchable,\n )}\n >\n <Text bold={is.today} className={textStyle}>\n {dateFormat(date, { locale, day: 'numeric' })}\n </Text>\n\n {captions && (\n <Text small className={styles(textStyle, style.caption)}>\n {captions[dateFormat(date, { format })] || ''}\n </Text>\n )}\n </View>\n )}\n </Pressable>\n );\n })}\n </View>\n );\n};\n\nWeek.displayName = 'Component:Calendar:Week';\n\nWeek.propTypes = {\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n focus: PropTypes.object,\n locale: PropTypes.string,\n format: PropTypes.string,\n from: PropTypes.instanceOf(Date),\n to: PropTypes.instanceOf(Date),\n year: PropTypes.number.isRequired,\n month: PropTypes.number.isRequired,\n number: PropTypes.number.isRequired,\n range: PropTypes.bool,\n selected: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n onFocus: PropTypes.func,\n onPress: PropTypes.func,\n};\n"],"file":"Calendar.Week.js"}