@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
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _InputText = require("./InputText.Hint");
7
+ Object.keys(_InputText).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _InputText[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _InputText[key];
14
+ }
15
+ });
16
+ });
17
+ var _InputText2 = require("./InputText.IconState");
18
+ Object.keys(_InputText2).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _InputText2[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function get() {
24
+ return _InputText2[key];
25
+ }
26
+ });
27
+ });
28
+ var _InputText3 = require("./InputText.Label");
29
+ Object.keys(_InputText3).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _InputText3[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _InputText3[key];
36
+ }
37
+ });
38
+ });
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/InputText/partials/index.js"],"sourcesContent":["export * from './InputText.Hint';\nexport * from './InputText.IconState';\nexport * from './InputText.Label';\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -26,12 +26,16 @@ var Option = function Option(_ref) {
26
26
  return /*#__PURE__*/_react.default.createElement(_primitives.Pressable, _extends({}, others, {
27
27
  className: (0, _helpers.styles)(_MenuModule.default.option, value && _MenuModule.default.value, divider && _MenuModule.default.divider, disabled && _MenuModule.default.disabled),
28
28
  onPress: !disabled && value ? onPress : undefined
29
- }), icon && /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
29
+ }), /*#__PURE__*/_react.default.createElement(_primitives.View, {
30
+ row: true,
31
+ wide: true,
32
+ className: _MenuModule.default.content
33
+ }, icon && /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
30
34
  value: icon,
31
35
  className: _MenuModule.default.icon
32
36
  }), label && /*#__PURE__*/_react.default.createElement(_primitives.Text, {
33
37
  className: _MenuModule.default.label
34
- }, label), children);
38
+ }, label), children));
35
39
  };
36
40
  exports.Option = Option;
37
41
  Option.displayName = 'Component:Menu:Option';
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.Option.js","names":["Option","children","disabled","divider","icon","label","value","onPress","others","styles","style","option","undefined","displayName","propTypes","PropTypes","node","bool","func","string","oneOfType","number"],"sources":["../../../src/components/Menu/Menu.Option.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, Pressable, Text } from '../../primitives';\nimport style from './Menu.module.css';\n\nconst Option = ({ children, disabled, divider, icon, label, value, onPress, ...others }) => (\n <Pressable\n {...others}\n className={styles(style.option, value && style.value, divider && style.divider, disabled && style.disabled)}\n onPress={!disabled && value ? onPress : undefined}\n >\n {icon && <Icon value={icon} className={style.icon} />}\n {label && <Text className={style.label}>{label}</Text>}\n {children}\n </Pressable>\n);\n\nOption.displayName = 'Component:Menu:Option';\n\nOption.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n divider: PropTypes.bool,\n icon: PropTypes.func,\n label: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onPress: PropTypes.func,\n};\n\nexport { Option };\n"],"mappings":";;;;;;AAAA;AACA;AAEA;AACA;AACA;AAAsC;AAAA;AAAA;AAAA;AAAA;AAEtC,IAAMA,MAAM,GAAG,SAATA,MAAM;EAAA,IAAMC,QAAQ,QAARA,QAAQ;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,OAAO,QAAPA,OAAO;IAAEC,IAAI,QAAJA,IAAI;IAAEC,KAAK,QAALA,KAAK;IAAEC,KAAK,QAALA,KAAK;IAAEC,OAAO,QAAPA,OAAO;IAAKC,MAAM;EAAA,oBACnF,6BAAC,qBAAS,eACJA,MAAM;IACV,SAAS,EAAE,IAAAC,eAAM,EAACC,mBAAK,CAACC,MAAM,EAAEL,KAAK,IAAII,mBAAK,CAACJ,KAAK,EAAEH,OAAO,IAAIO,mBAAK,CAACP,OAAO,EAAED,QAAQ,IAAIQ,mBAAK,CAACR,QAAQ,CAAE;IAC5G,OAAO,EAAE,CAACA,QAAQ,IAAII,KAAK,GAAGC,OAAO,GAAGK;EAAU,IAEjDR,IAAI,iBAAI,6BAAC,gBAAI;IAAC,KAAK,EAAEA,IAAK;IAAC,SAAS,EAAEM,mBAAK,CAACN;EAAK,EAAG,EACpDC,KAAK,iBAAI,6BAAC,gBAAI;IAAC,SAAS,EAAEK,mBAAK,CAACL;EAAM,GAAEA,KAAK,CAAQ,EACrDJ,QAAQ,CACC;AAAA,CACb;AAAC;AAEFD,MAAM,CAACa,WAAW,GAAG,uBAAuB;AAE5Cb,MAAM,CAACc,SAAS,GAAG;EACjBb,QAAQ,EAAEc,kBAAS,CAACC,IAAI;EACxBd,QAAQ,EAAEa,kBAAS,CAACE,IAAI;EACxBd,OAAO,EAAEY,kBAAS,CAACE,IAAI;EACvBb,IAAI,EAAEW,kBAAS,CAACG,IAAI;EACpBb,KAAK,EAAEU,kBAAS,CAACI,MAAM;EACvBb,KAAK,EAAES,kBAAS,CAACK,SAAS,CAAC,CAACL,kBAAS,CAACI,MAAM,EAAEJ,kBAAS,CAACM,MAAM,CAAC,CAAC;EAChEd,OAAO,EAAEQ,kBAAS,CAACG;AACrB,CAAC"}
1
+ {"version":3,"file":"Menu.Option.js","names":["Option","children","disabled","divider","icon","label","value","onPress","others","styles","style","option","undefined","content","displayName","propTypes","PropTypes","node","bool","func","string","oneOfType","number"],"sources":["../../../src/components/Menu/Menu.Option.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, Pressable, Text, View } from '../../primitives';\nimport style from './Menu.module.css';\n\nconst Option = ({ children, disabled, divider, icon, label, value, onPress, ...others }) => (\n <Pressable\n {...others}\n className={styles(style.option, value && style.value, divider && style.divider, disabled && style.disabled)}\n onPress={!disabled && value ? onPress : undefined}\n >\n <View row wide className={style.content}>\n {icon && <Icon value={icon} className={style.icon} />}\n {label && <Text className={style.label}>{label}</Text>}\n {children}\n </View>\n </Pressable>\n);\n\nOption.displayName = 'Component:Menu:Option';\n\nOption.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n divider: PropTypes.bool,\n icon: PropTypes.func,\n label: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onPress: PropTypes.func,\n};\n\nexport { Option };\n"],"mappings":";;;;;;AAAA;AACA;AAEA;AACA;AACA;AAAsC;AAAA;AAAA;AAAA;AAAA;AAEtC,IAAMA,MAAM,GAAG,SAATA,MAAM;EAAA,IAAMC,QAAQ,QAARA,QAAQ;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,OAAO,QAAPA,OAAO;IAAEC,IAAI,QAAJA,IAAI;IAAEC,KAAK,QAALA,KAAK;IAAEC,KAAK,QAALA,KAAK;IAAEC,OAAO,QAAPA,OAAO;IAAKC,MAAM;EAAA,oBACnF,6BAAC,qBAAS,eACJA,MAAM;IACV,SAAS,EAAE,IAAAC,eAAM,EAACC,mBAAK,CAACC,MAAM,EAAEL,KAAK,IAAII,mBAAK,CAACJ,KAAK,EAAEH,OAAO,IAAIO,mBAAK,CAACP,OAAO,EAAED,QAAQ,IAAIQ,mBAAK,CAACR,QAAQ,CAAE;IAC5G,OAAO,EAAE,CAACA,QAAQ,IAAII,KAAK,GAAGC,OAAO,GAAGK;EAAU,iBAElD,6BAAC,gBAAI;IAAC,GAAG;IAAC,IAAI;IAAC,SAAS,EAAEF,mBAAK,CAACG;EAAQ,GACrCT,IAAI,iBAAI,6BAAC,gBAAI;IAAC,KAAK,EAAEA,IAAK;IAAC,SAAS,EAAEM,mBAAK,CAACN;EAAK,EAAG,EACpDC,KAAK,iBAAI,6BAAC,gBAAI;IAAC,SAAS,EAAEK,mBAAK,CAACL;EAAM,GAAEA,KAAK,CAAQ,EACrDJ,QAAQ,CACJ,CACG;AAAA,CACb;AAAC;AAEFD,MAAM,CAACc,WAAW,GAAG,uBAAuB;AAE5Cd,MAAM,CAACe,SAAS,GAAG;EACjBd,QAAQ,EAAEe,kBAAS,CAACC,IAAI;EACxBf,QAAQ,EAAEc,kBAAS,CAACE,IAAI;EACxBf,OAAO,EAAEa,kBAAS,CAACE,IAAI;EACvBd,IAAI,EAAEY,kBAAS,CAACG,IAAI;EACpBd,KAAK,EAAEW,kBAAS,CAACI,MAAM;EACvBd,KAAK,EAAEU,kBAAS,CAACK,SAAS,CAAC,CAACL,kBAAS,CAACI,MAAM,EAAEJ,kBAAS,CAACM,MAAM,CAAC,CAAC;EAChEf,OAAO,EAAES,kBAAS,CAACG;AACrB,CAAC"}
@@ -22,6 +22,7 @@
22
22
 
23
23
  .menu .option.value:hover:not(.disabled) {
24
24
  background-color: var(--mirai-ui-menu-option-hover-background);
25
+ cursor: pointer;
25
26
  }
26
27
 
27
28
  .menu .option.value:hover:not(.disabled) .icon,
@@ -30,18 +31,20 @@
30
31
  cursor: pointer;
31
32
  }
32
33
 
34
+ .menu .option .content {
35
+ background-color: var(--mirai-ui-menu-option-padding);
36
+ gap: 10px;
37
+ }
38
+
33
39
  .menu .divider {
34
40
  box-shadow: inset 0 calc(var(--mirai-ui-border-width) * -1) var(--mirai-ui-menu-option-disabled);
35
41
  }
36
42
 
37
43
  .menu .icon {
38
- margin-right: var(--mirai-ui-menu-option-padding);
39
44
  }
40
45
 
41
46
  .menu .label {
42
47
  flex: 1;
43
- text-align: left;
44
- padding-right: var(--mirai-ui-menu-option-padding);
45
48
  overflow: hidden;
46
49
  text-overflow: ellipsis;
47
50
  white-space: nowrap;
@@ -46,104 +46,128 @@ exports[`component:<Menu> prop:options & visible 1`] = `
46
46
  <div
47
47
  class="pressable option divider"
48
48
  >
49
- <span
50
- class="text paragraph label"
49
+ <div
50
+ class="view row wide content"
51
51
  >
52
- Lorem Ipsum...
53
- </span>
52
+ <span
53
+ class="text paragraph label"
54
+ >
55
+ Lorem Ipsum...
56
+ </span>
57
+ </div>
54
58
  </div>
55
59
  <div
56
60
  class="pressable option value"
57
61
  >
58
- <span
59
- class="icon headline-3 icon"
62
+ <div
63
+ class="view row wide content"
60
64
  >
61
- <svg
62
- fill="currentColor"
63
- height="1em"
64
- stroke="currentColor"
65
- stroke-width="0"
66
- viewBox="0 0 24 24"
67
- width="1em"
68
- xmlns="http://www.w3.org/2000/svg"
65
+ <span
66
+ class="icon headline-3 icon"
69
67
  >
70
- <path
71
- d="M0 0h24v24H0V0z"
72
- fill="none"
73
- />
74
- <path
75
- d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"
76
- />
77
- </svg>
78
- </span>
79
- <span
80
- class="text paragraph label"
81
- >
82
- Item 1
83
- </span>
68
+ <svg
69
+ fill="currentColor"
70
+ height="1em"
71
+ stroke="currentColor"
72
+ stroke-width="0"
73
+ viewBox="0 0 24 24"
74
+ width="1em"
75
+ xmlns="http://www.w3.org/2000/svg"
76
+ >
77
+ <path
78
+ d="M0 0h24v24H0V0z"
79
+ fill="none"
80
+ />
81
+ <path
82
+ d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"
83
+ />
84
+ </svg>
85
+ </span>
86
+ <span
87
+ class="text paragraph label"
88
+ >
89
+ Item 1
90
+ </span>
91
+ </div>
84
92
  </div>
85
93
  <div
86
94
  class="pressable option value disabled"
87
95
  data-testid="two"
88
96
  >
89
- <span
90
- class="icon headline-3 icon"
97
+ <div
98
+ class="view row wide content"
91
99
  >
92
- <svg
93
- fill="currentColor"
94
- height="1em"
95
- stroke="currentColor"
96
- stroke-width="0"
97
- viewBox="0 0 24 24"
98
- width="1em"
99
- xmlns="http://www.w3.org/2000/svg"
100
+ <span
101
+ class="icon headline-3 icon"
100
102
  >
101
- <path
102
- d="M0 0h24v24H0V0z"
103
- fill="none"
104
- />
105
- <path
106
- d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"
107
- />
108
- </svg>
109
- </span>
110
- <span
111
- class="text paragraph label"
112
- >
113
- Item 2
114
- </span>
103
+ <svg
104
+ fill="currentColor"
105
+ height="1em"
106
+ stroke="currentColor"
107
+ stroke-width="0"
108
+ viewBox="0 0 24 24"
109
+ width="1em"
110
+ xmlns="http://www.w3.org/2000/svg"
111
+ >
112
+ <path
113
+ d="M0 0h24v24H0V0z"
114
+ fill="none"
115
+ />
116
+ <path
117
+ d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"
118
+ />
119
+ </svg>
120
+ </span>
121
+ <span
122
+ class="text paragraph label"
123
+ >
124
+ Item 2
125
+ </span>
126
+ </div>
115
127
  </div>
116
128
  <div
117
129
  class="pressable option value divider"
118
130
  >
119
- <span
120
- class="text paragraph label"
131
+ <div
132
+ class="view row wide content"
121
133
  >
122
- Item 3
123
- </span>
134
+ <span
135
+ class="text paragraph label"
136
+ >
137
+ Item 3
138
+ </span>
139
+ </div>
124
140
  </div>
125
141
  <div
126
142
  class="pressable option value"
127
143
  >
128
- <span
129
- class="text paragraph label"
130
- >
131
- Item 4
132
- </span>
133
- <button
134
- class="pressable button small"
144
+ <div
145
+ class="view row wide content"
135
146
  >
136
- Add
137
- </button>
147
+ <span
148
+ class="text paragraph label"
149
+ >
150
+ Item 4
151
+ </span>
152
+ <button
153
+ class="pressable button small"
154
+ >
155
+ Add
156
+ </button>
157
+ </div>
138
158
  </div>
139
159
  <div
140
160
  class="pressable option"
141
161
  >
142
- <button
143
- class="pressable button"
162
+ <div
163
+ class="view row wide content"
144
164
  >
145
- Add
146
- </button>
165
+ <button
166
+ class="pressable button"
167
+ >
168
+ Add
169
+ </button>
170
+ </div>
147
171
  </div>
148
172
  </div>
149
173
  </DocumentFragment>
@@ -71,7 +71,7 @@ var Modal = function Modal(_ref) {
71
71
  fit: true,
72
72
  className: (0, _helpers.styles)(_ModalModule.default.modal, !fit && _ModalModule.default.calcWidth, visible && _ModalModule.default.visible, others.className)
73
73
  }), (title || onBack || onClose) && /*#__PURE__*/_react.default.createElement(_primitives.View, {
74
- row: true,
74
+ forceRow: true,
75
75
  className: _ModalModule.default.header
76
76
  }, onBack && /*#__PURE__*/_react.default.createElement(_primitives.Pressable, {
77
77
  onPress: onBack,
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","names":["Modal","blur","children","fit","overflow","portal","title","visible","onBack","onClose","onOverflow","others","useDevice","isDesktop","useState","dataset","setDataset","useEffect","document","body","miraiModal","undefined","renderer","IS_JEST","jsx","ReactDOM","createPortal","testId","styles","style","container","modal","calcWidth","className","header","ICON","LEFT","icon","left","right","CLOSE","EXPAND_MORE","propTypes","PropTypes","bool","node","string","func"],"sources":["../../../src/components/Modal/Modal.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { IS_JEST, styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { Icon, ICON, Pressable, Text, View } from '../../primitives';\nimport style from './Modal.module.css';\n\nconst Modal = ({\n blur = false,\n children,\n fit = false,\n overflow = true,\n portal = false,\n title,\n visible,\n onBack,\n onClose,\n onOverflow,\n ...others\n}) => {\n const { isDesktop } = useDevice();\n\n const [dataset, setDataset] = useState();\n\n useEffect(() => {\n if (visible && !dataset) {\n setDataset(true);\n document.body.dataset.miraiModal = true;\n }\n\n return () => {\n if (visible && dataset) {\n setDataset(undefined);\n delete document.body.dataset.miraiModal;\n }\n };\n }, [dataset, visible]);\n\n const renderer = IS_JEST || !portal ? (jsx) => jsx : ReactDOM.createPortal;\n\n const { ['data-testid']: testId } = others;\n\n return renderer(\n <Pressable\n className={styles(\n style.container,\n overflow && style.overflow,\n overflow && blur && style.blur,\n visible && style.visible,\n onOverflow && style.onOverflow,\n )}\n onPress={visible && overflow ? onOverflow : undefined}\n data-testid={testId ? `${testId}-overflow` : undefined}\n >\n <View\n {...others}\n fit\n className={styles(style.modal, !fit && style.calcWidth, visible && style.visible, others.className)}\n >\n {(title || onBack || onClose) && (\n <View row className={style.header}>\n {onBack && (\n <Pressable onPress={onBack} data-testid={testId ? `${testId}-button-back` : undefined}>\n <Icon value={ICON.LEFT} className={style.icon} />\n </Pressable>\n )}\n {title && (\n <Text headline className={styles(style.title, !onBack && style.left, !onClose && style.right)}>\n {title}\n </Text>\n )}\n {onClose && (\n <Pressable onPress={onClose} data-testid={testId ? `${testId}-button-close` : undefined}>\n <Icon value={isDesktop || title !== undefined ? ICON.CLOSE : ICON.EXPAND_MORE} className={style.icon} />\n </Pressable>\n )}\n </View>\n )}\n {children}\n </View>\n </Pressable>,\n document.body,\n );\n};\n\nModal.propTypes = {\n blur: PropTypes.bool,\n children: PropTypes.node,\n fit: PropTypes.bool,\n overflow: PropTypes.bool,\n portal: PropTypes.bool,\n title: PropTypes.string,\n visible: PropTypes.bool,\n onBack: PropTypes.func,\n onClose: PropTypes.func,\n};\n\nexport { Modal };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","names":["Modal","blur","children","fit","overflow","portal","title","visible","onBack","onClose","onOverflow","others","useDevice","isDesktop","useState","dataset","setDataset","useEffect","document","body","miraiModal","undefined","renderer","IS_JEST","jsx","ReactDOM","createPortal","testId","styles","style","container","modal","calcWidth","className","header","ICON","LEFT","icon","left","right","CLOSE","EXPAND_MORE","propTypes","PropTypes","bool","node","string","func"],"sources":["../../../src/components/Modal/Modal.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { IS_JEST, styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { Icon, ICON, Pressable, Text, View } from '../../primitives';\nimport style from './Modal.module.css';\n\nconst Modal = ({\n blur = false,\n children,\n fit = false,\n overflow = true,\n portal = false,\n title,\n visible,\n onBack,\n onClose,\n onOverflow,\n ...others\n}) => {\n const { isDesktop } = useDevice();\n\n const [dataset, setDataset] = useState();\n\n useEffect(() => {\n if (visible && !dataset) {\n setDataset(true);\n document.body.dataset.miraiModal = true;\n }\n\n return () => {\n if (visible && dataset) {\n setDataset(undefined);\n delete document.body.dataset.miraiModal;\n }\n };\n }, [dataset, visible]);\n\n const renderer = IS_JEST || !portal ? (jsx) => jsx : ReactDOM.createPortal;\n\n const { ['data-testid']: testId } = others;\n\n return renderer(\n <Pressable\n className={styles(\n style.container,\n overflow && style.overflow,\n overflow && blur && style.blur,\n visible && style.visible,\n onOverflow && style.onOverflow,\n )}\n onPress={visible && overflow ? onOverflow : undefined}\n data-testid={testId ? `${testId}-overflow` : undefined}\n >\n <View\n {...others}\n fit\n className={styles(style.modal, !fit && style.calcWidth, visible && style.visible, others.className)}\n >\n {(title || onBack || onClose) && (\n <View forceRow className={style.header}>\n {onBack && (\n <Pressable onPress={onBack} data-testid={testId ? `${testId}-button-back` : undefined}>\n <Icon value={ICON.LEFT} className={style.icon} />\n </Pressable>\n )}\n {title && (\n <Text headline className={styles(style.title, !onBack && style.left, !onClose && style.right)}>\n {title}\n </Text>\n )}\n {onClose && (\n <Pressable onPress={onClose} data-testid={testId ? `${testId}-button-close` : undefined}>\n <Icon value={isDesktop || title !== undefined ? ICON.CLOSE : ICON.EXPAND_MORE} className={style.icon} />\n </Pressable>\n )}\n </View>\n )}\n {children}\n </View>\n </Pressable>,\n document.body,\n );\n};\n\nModal.propTypes = {\n blur: PropTypes.bool,\n children: PropTypes.node,\n fit: PropTypes.bool,\n overflow: PropTypes.bool,\n portal: PropTypes.bool,\n title: PropTypes.string,\n visible: PropTypes.bool,\n onBack: PropTypes.func,\n onClose: PropTypes.func,\n};\n\nexport { Modal };\n"],"mappings":"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"}
@@ -11,7 +11,7 @@ exports[`component:<Modal> Mobile environment prop:onClose 1`] = `
11
11
  data-testid="mirai-onClose"
12
12
  >
13
13
  <div
14
- class="view row header"
14
+ class="view forceRow header"
15
15
  >
16
16
  <div
17
17
  class="pressable"
@@ -109,7 +109,7 @@ exports[`component:<Modal> prop:onBack 1`] = `
109
109
  data-testid="mirai-onBack"
110
110
  >
111
111
  <div
112
- class="view row header"
112
+ class="view forceRow header"
113
113
  >
114
114
  <div
115
115
  class="pressable"
@@ -154,7 +154,7 @@ exports[`component:<Modal> prop:onClose 1`] = `
154
154
  data-testid="mirai-onClose"
155
155
  >
156
156
  <div
157
- class="view row header"
157
+ class="view forceRow header"
158
158
  >
159
159
  <div
160
160
  class="pressable"
@@ -224,7 +224,7 @@ exports[`component:<Modal> prop:title 1`] = `
224
224
  class="view fit modal calcWidth"
225
225
  >
226
226
  <div
227
- class="view row header"
227
+ class="view forceRow header"
228
228
  >
229
229
  <h3
230
230
  class="text headline-3 title left right"
@@ -50,8 +50,11 @@ var TableRow = function TableRow(_ref) {
50
50
  return /*#__PURE__*/_react.default.createElement(tag, (_React$createElement = {}, _defineProperty(_React$createElement, 'data-testid', testId ? "".concat(testId, "-").concat(field) : undefined), _defineProperty(_React$createElement, "key", field), _defineProperty(_React$createElement, "onClick", function onClick(event) {
51
51
  return handlePress(field, event);
52
52
  }), _React$createElement), /*#__PURE__*/_react.default.createElement(_primitives.View, {
53
- row: true,
53
+ forceRow: true,
54
54
  tag: "span"
55
+ }, /*#__PURE__*/_react.default.createElement(_primitives.View, {
56
+ forceRow: true,
57
+ className: _TableModule.default.checkboxColumn
55
58
  }, onSelect && index === 0 && /*#__PURE__*/_react.default.createElement(_InputOption.InputOption, {
56
59
  checked: checked,
57
60
  "data-testid": testId ? "".concat(testId, "-checkbox") : undefined,
@@ -61,7 +64,7 @@ var TableRow = function TableRow(_ref) {
61
64
  onChange: function onChange(event) {
62
65
  return onSelect(dataSource, event);
63
66
  }
64
- }), isHead ? schema[field].label : dataSource[field], isHead && onSort && /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
67
+ }), isHead ? schema[field].label : dataSource[field]), isHead && onSort && /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
65
68
  value: sort[field] ? _primitives.ICON.DOWN : _primitives.ICON.UP,
66
69
  className: (0, _helpers.styles)(_TableModule.default.icon, sort[field] === undefined && _TableModule.default.hide)
67
70
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"Table.Row.js","names":["CUSTOM_EVENT_TYPES","TableRow","checked","dataSource","indeterminate","schema","sort","onPress","onSelect","onSort","others","isHead","undefined","fields","Object","keys","tag","testId","handlePress","field","event","target","type","includes","styles","style","selected","map","index","React","createElement","checkbox","label","ICON","DOWN","UP","icon","hide","displayName","propTypes","PropTypes","bool","shape","isRequired","func"],"sources":["../../../src/components/Table/Table.Row.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, ICON, View } from '../../primitives';\nimport { InputOption } from '../InputOption';\nimport style from './Table.module.css';\n\nconst CUSTOM_EVENT_TYPES = ['button', 'checkbox', 'input', 'radio', 'submit'];\n\nconst TableRow = ({ checked, dataSource, indeterminate, schema, sort = {}, onPress, onSelect, onSort, ...others }) => {\n const isHead = dataSource === undefined;\n const fields = Object.keys(schema);\n const tag = isHead ? 'th' : 'td';\n const { ['data-testid']: testId } = others;\n\n const handlePress = (field, event) => {\n const { target: { type } = {} } = event;\n if (CUSTOM_EVENT_TYPES.includes(type)) return;\n\n isHead ? onSort(field) : onPress && onPress(dataSource, event);\n };\n\n return (\n <tr {...others} role=\"tr\" className={styles(checked && style.selected, onPress && style.onPress)}>\n {fields.map((field, index) =>\n React.createElement(\n tag,\n {\n ['data-testid']: testId ? `${testId}-${field}` : undefined,\n key: field,\n onClick: (event) => handlePress(field, event),\n },\n <View row tag=\"span\">\n {onSelect && index === 0 && (\n <InputOption\n checked={checked}\n data-testid={testId ? `${testId}-checkbox` : undefined}\n indeterminate={indeterminate}\n name=\"checkbox\"\n className={style.checkbox}\n onChange={(event) => onSelect(dataSource, event)}\n />\n )}\n {isHead ? schema[field].label : dataSource[field]}\n {isHead && onSort && (\n <Icon\n value={sort[field] ? ICON.DOWN : ICON.UP}\n className={styles(style.icon, sort[field] === undefined && style.hide)}\n />\n )}\n </View>,\n ),\n )}\n </tr>\n );\n};\n\nTableRow.displayName = 'Table:Row';\n\nTableRow.propTypes = {\n checked: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n indeterminate: PropTypes.bool,\n schema: PropTypes.shape({}).isRequired,\n sort: PropTypes.shape({}),\n onPress: PropTypes.func,\n onSelect: PropTypes.func,\n onSort: PropTypes.func,\n};\n\nexport { TableRow };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Table.Row.js","names":["CUSTOM_EVENT_TYPES","TableRow","checked","dataSource","indeterminate","schema","sort","onPress","onSelect","onSort","others","isHead","undefined","fields","Object","keys","tag","testId","handlePress","field","event","target","type","includes","styles","style","selected","map","index","React","createElement","checkboxColumn","checkbox","label","ICON","DOWN","UP","icon","hide","displayName","propTypes","PropTypes","bool","shape","isRequired","func"],"sources":["../../../src/components/Table/Table.Row.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, ICON, View } from '../../primitives';\nimport { InputOption } from '../InputOption';\nimport style from './Table.module.css';\n\nconst CUSTOM_EVENT_TYPES = ['button', 'checkbox', 'input', 'radio', 'submit'];\n\nconst TableRow = ({ checked, dataSource, indeterminate, schema, sort = {}, onPress, onSelect, onSort, ...others }) => {\n const isHead = dataSource === undefined;\n const fields = Object.keys(schema);\n const tag = isHead ? 'th' : 'td';\n const { ['data-testid']: testId } = others;\n\n const handlePress = (field, event) => {\n const { target: { type } = {} } = event;\n if (CUSTOM_EVENT_TYPES.includes(type)) return;\n\n isHead ? onSort(field) : onPress && onPress(dataSource, event);\n };\n\n return (\n <tr {...others} role=\"tr\" className={styles(checked && style.selected, onPress && style.onPress)}>\n {fields.map((field, index) =>\n React.createElement(\n tag,\n {\n ['data-testid']: testId ? `${testId}-${field}` : undefined,\n key: field,\n onClick: (event) => handlePress(field, event),\n },\n <View forceRow tag=\"span\">\n <View forceRow className={style.checkboxColumn}>\n {onSelect && index === 0 && (\n <InputOption\n checked={checked}\n data-testid={testId ? `${testId}-checkbox` : undefined}\n indeterminate={indeterminate}\n name=\"checkbox\"\n className={style.checkbox}\n onChange={(event) => onSelect(dataSource, event)}\n />\n )}\n {isHead ? schema[field].label : dataSource[field]}\n </View>\n\n {isHead && onSort && (\n <Icon\n value={sort[field] ? ICON.DOWN : ICON.UP}\n className={styles(style.icon, sort[field] === undefined && style.hide)}\n />\n )}\n </View>,\n ),\n )}\n </tr>\n );\n};\n\nTableRow.displayName = 'Table:Row';\n\nTableRow.propTypes = {\n checked: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n indeterminate: PropTypes.bool,\n schema: PropTypes.shape({}).isRequired,\n sort: PropTypes.shape({}),\n onPress: PropTypes.func,\n onSelect: PropTypes.func,\n onSort: PropTypes.func,\n};\n\nexport { TableRow };\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AACA;AACA;AACA;AAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEvC,IAAMA,kBAAkB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;AAE7E,IAAMC,QAAQ,GAAG,SAAXA,QAAQ,OAAwG;EAAA,IAAlGC,OAAO,QAAPA,OAAO;IAAEC,UAAU,QAAVA,UAAU;IAAEC,aAAa,QAAbA,aAAa;IAAEC,MAAM,QAANA,MAAM;IAAA,iBAAEC,IAAI;IAAJA,IAAI,0BAAG,CAAC,CAAC;IAAEC,OAAO,QAAPA,OAAO;IAAEC,QAAQ,QAARA,QAAQ;IAAEC,MAAM,QAANA,MAAM;IAAKC,MAAM;EAC7G,IAAMC,MAAM,GAAGR,UAAU,KAAKS,SAAS;EACvC,IAAMC,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACV,MAAM,CAAC;EAClC,IAAMW,GAAG,GAAGL,MAAM,GAAG,IAAI,GAAG,IAAI;EAChC,IAAyBM,MAAM,GAAKP,MAAM,CAAjC,aAAa;EAEtB,IAAMQ,WAAW,GAAG,SAAdA,WAAW,CAAIC,KAAK,EAAEC,KAAK,EAAK;IACpC,oBAAkCA,KAAK,CAA/BC,MAAM;IAAd,2CAA2B,CAAC,CAAC;IAA7B,IAAkBC,IAAI,iBAAJA,IAAI;IACtB,IAAItB,kBAAkB,CAACuB,QAAQ,CAACD,IAAI,CAAC,EAAE;IAEvCX,MAAM,GAAGF,MAAM,CAACU,KAAK,CAAC,GAAGZ,OAAO,IAAIA,OAAO,CAACJ,UAAU,EAAEiB,KAAK,CAAC;EAChE,CAAC;EAED,oBACE,gDAAQV,MAAM;IAAE,IAAI,EAAC,IAAI;IAAC,SAAS,EAAE,IAAAc,eAAM,EAACtB,OAAO,IAAIuB,oBAAK,CAACC,QAAQ,EAAEnB,OAAO,IAAIkB,oBAAK,CAAClB,OAAO;EAAE,IAC9FM,MAAM,CAACc,GAAG,CAAC,UAACR,KAAK,EAAES,KAAK;IAAA;IAAA,oBACvBC,cAAK,CAACC,aAAa,CACjBd,GAAG,oEAEA,aAAa,EAAGC,MAAM,aAAMA,MAAM,cAAIE,KAAK,IAAKP,SAAS,gDACrDO,KAAK,oDACD,iBAACC,KAAK;MAAA,OAAKF,WAAW,CAACC,KAAK,EAAEC,KAAK,CAAC;IAAA,wCAE/C,6BAAC,gBAAI;MAAC,QAAQ;MAAC,GAAG,EAAC;IAAM,gBACvB,6BAAC,gBAAI;MAAC,QAAQ;MAAC,SAAS,EAAEK,oBAAK,CAACM;IAAe,GAC5CvB,QAAQ,IAAIoB,KAAK,KAAK,CAAC,iBACtB,6BAAC,wBAAW;MACV,OAAO,EAAE1B,OAAQ;MACjB,eAAae,MAAM,aAAMA,MAAM,iBAAcL,SAAU;MACvD,aAAa,EAAER,aAAc;MAC7B,IAAI,EAAC,UAAU;MACf,SAAS,EAAEqB,oBAAK,CAACO,QAAS;MAC1B,QAAQ,EAAE,kBAACZ,KAAK;QAAA,OAAKZ,QAAQ,CAACL,UAAU,EAAEiB,KAAK,CAAC;MAAA;IAAC,EAEpD,EACAT,MAAM,GAAGN,MAAM,CAACc,KAAK,CAAC,CAACc,KAAK,GAAG9B,UAAU,CAACgB,KAAK,CAAC,CAC5C,EAENR,MAAM,IAAIF,MAAM,iBACf,6BAAC,gBAAI;MACH,KAAK,EAAEH,IAAI,CAACa,KAAK,CAAC,GAAGe,gBAAI,CAACC,IAAI,GAAGD,gBAAI,CAACE,EAAG;MACzC,SAAS,EAAE,IAAAZ,eAAM,EAACC,oBAAK,CAACY,IAAI,EAAE/B,IAAI,CAACa,KAAK,CAAC,KAAKP,SAAS,IAAIa,oBAAK,CAACa,IAAI;IAAE,EAE1E,CACI,CACR;EAAA,EACF,CACE;AAET,CAAC;AAAC;AAEFrC,QAAQ,CAACsC,WAAW,GAAG,WAAW;AAElCtC,QAAQ,CAACuC,SAAS,GAAG;EACnBtC,OAAO,EAAEuC,kBAAS,CAACC,IAAI;EACvBvC,UAAU,EAAEsC,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;EAC/BvC,aAAa,EAAEqC,kBAAS,CAACC,IAAI;EAC7BrC,MAAM,EAAEoC,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,UAAU;EACtCtC,IAAI,EAAEmC,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;EACzBpC,OAAO,EAAEkC,kBAAS,CAACI,IAAI;EACvBrC,QAAQ,EAAEiC,kBAAS,CAACI,IAAI;EACxBpC,MAAM,EAAEgC,kBAAS,CAACI;AACpB,CAAC"}
@@ -2,6 +2,7 @@
2
2
  background-color: var(--mirai-ui-table-background);
3
3
  border-collapse: collapse;
4
4
  color: var(--mirai-ui-table-color);
5
+ direction: var(--mirai-ui-text-direction);
5
6
  font-family: var(--mirai-ui-font);
6
7
  font-size: var(--mirai-ui-font-size-action);
7
8
  table-layout: auto;
@@ -63,15 +64,19 @@
63
64
  }
64
65
 
65
66
  .table th .icon {
66
- margin-left: calc(var(--mirai-ui-table-padding-x) / 4);
67
+ margin: 0 calc(var(--mirai-ui-table-padding-x) / 4);
67
68
  }
68
69
 
69
70
  .table th .icon.hide {
70
71
  color: var(--mirai-ui-table-background);
71
72
  }
72
73
 
74
+ .table .checkboxColumn {
75
+ gap: var(--mirai-ui-space-S);
76
+ }
77
+
73
78
  .table .checkbox {
74
- margin: 0 var(--mirai-ui-space-S) 0 0;
79
+ margin: 0;
75
80
  min-width: var(--mirai-ui-checkbox-size);
76
81
  }
77
82