react-miui 0.15.2 → 0.15.5

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 (103) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/dist/components/form/choice/Choice.d.ts +8 -5
  3. package/dist/components/form/choice/Choice.d.ts.map +1 -1
  4. package/dist/components/form/choice/Choice.js +4 -1
  5. package/dist/components/form/choice/Choice.js.map +1 -1
  6. package/dist/components/form/choice/Choice.module.scss +14 -1
  7. package/dist/components/form/choice/ChoiceItem.d.ts +4 -4
  8. package/dist/components/form/choice/ChoiceItem.d.ts.map +1 -1
  9. package/dist/components/form/choice/ChoiceItem.js.map +1 -1
  10. package/dist/components/layout/header/Header.module.scss +1 -0
  11. package/dist/components/layout/header/StickyHeader.d.ts +1 -0
  12. package/dist/components/layout/header/StickyHeader.d.ts.map +1 -1
  13. package/dist/components/layout/header/StickyHeader.js +1 -1
  14. package/dist/components/layout/header/StickyHeader.js.map +1 -1
  15. package/dist/components/layout/table/Table.js +1 -1
  16. package/dist/components/ui/pop/Pop.module.scss +28 -27
  17. package/dist/components/ui/pop/PopOption.d.ts.map +1 -1
  18. package/dist/components/ui/pop/PopOption.js +3 -3
  19. package/dist/components/ui/pop/PopOption.js.map +1 -1
  20. package/dist/components/ui/tabs/Selector.d.ts +3 -3
  21. package/dist/components/ui/tabs/Selector.d.ts.map +1 -1
  22. package/dist/components/ui/tabs/Selector.js.map +1 -1
  23. package/dist/components/utils/If.d.ts +7 -0
  24. package/dist/components/utils/If.d.ts.map +1 -0
  25. package/dist/components/utils/If.js +15 -0
  26. package/dist/components/utils/If.js.map +1 -0
  27. package/dist/index.d.ts +1 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +1 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/types/form.d.ts +1 -1
  32. package/dist/types/form.d.ts.map +1 -1
  33. package/dist/utils/toObjectValue.d.ts +1 -1
  34. package/dist/utils/toObjectValue.d.ts.map +1 -1
  35. package/dist/utils/toObjectValue.js.map +1 -1
  36. package/docs/assets/js/search.js +1 -1
  37. package/docs/assets/js/search.json +1 -1
  38. package/docs/classes/Drawer.html +21 -18
  39. package/docs/classes/Pop.html +21 -18
  40. package/docs/classes/ToasterProvider.html +17 -14
  41. package/docs/enums/ICON.html +21 -18
  42. package/docs/index.html +13 -10
  43. package/docs/modules/Item.html +3 -3
  44. package/docs/modules/List.html +3 -3
  45. package/docs/modules/Modal.html +3 -3
  46. package/docs/modules/ModalButtons.html +3 -3
  47. package/docs/modules/Section.html +3 -3
  48. package/docs/modules/StickyHeader.html +4 -4
  49. package/docs/modules.html +111 -59
  50. package/docs/pages/Tutorials/Test.html +3 -3
  51. package/esm/components/form/choice/Choice.d.ts +8 -5
  52. package/esm/components/form/choice/Choice.d.ts.map +1 -1
  53. package/esm/components/form/choice/Choice.js +5 -2
  54. package/esm/components/form/choice/Choice.js.map +1 -1
  55. package/esm/components/form/choice/Choice.module.scss +14 -1
  56. package/esm/components/form/choice/ChoiceItem.d.ts +4 -4
  57. package/esm/components/form/choice/ChoiceItem.d.ts.map +1 -1
  58. package/esm/components/form/choice/ChoiceItem.js.map +1 -1
  59. package/esm/components/layout/header/Header.module.scss +1 -0
  60. package/esm/components/layout/header/StickyHeader.d.ts +1 -0
  61. package/esm/components/layout/header/StickyHeader.d.ts.map +1 -1
  62. package/esm/components/layout/header/StickyHeader.js +1 -1
  63. package/esm/components/layout/header/StickyHeader.js.map +1 -1
  64. package/esm/components/layout/table/Table.js +1 -1
  65. package/esm/components/ui/pop/Pop.module.scss +28 -27
  66. package/esm/components/ui/pop/PopOption.d.ts.map +1 -1
  67. package/esm/components/ui/pop/PopOption.js +3 -3
  68. package/esm/components/ui/pop/PopOption.js.map +1 -1
  69. package/esm/components/ui/tabs/Selector.d.ts +3 -3
  70. package/esm/components/ui/tabs/Selector.d.ts.map +1 -1
  71. package/esm/components/ui/tabs/Selector.js.map +1 -1
  72. package/esm/components/utils/If.d.ts +7 -0
  73. package/esm/components/utils/If.d.ts.map +1 -0
  74. package/esm/components/utils/If.js +9 -0
  75. package/esm/components/utils/If.js.map +1 -0
  76. package/esm/index.d.ts +1 -0
  77. package/esm/index.d.ts.map +1 -1
  78. package/esm/index.js +1 -0
  79. package/esm/index.js.map +1 -1
  80. package/esm/types/form.d.ts +1 -1
  81. package/esm/types/form.d.ts.map +1 -1
  82. package/esm/utils/toObjectValue.d.ts +1 -1
  83. package/esm/utils/toObjectValue.d.ts.map +1 -1
  84. package/esm/utils/toObjectValue.js.map +1 -1
  85. package/package.json +1 -1
  86. package/src/components/form/choice/Choice.module.scss +14 -1
  87. package/src/components/form/choice/Choice.tsx +22 -7
  88. package/src/components/form/choice/ChoiceItem.tsx +5 -5
  89. package/src/components/layout/header/Header.module.scss +1 -0
  90. package/src/components/layout/header/StickyHeader.tsx +2 -1
  91. package/src/components/layout/table/Table.tsx +1 -1
  92. package/src/components/ui/pop/Pop.module.scss +28 -27
  93. package/src/components/ui/pop/PopOption.tsx +4 -2
  94. package/src/components/ui/tabs/Selector.tsx +3 -3
  95. package/src/components/utils/If.tsx +14 -0
  96. package/src/demo/Main.module.scss +6 -0
  97. package/src/demo/Main.tsx +6 -15
  98. package/src/demo/components/form/Choice.module.scss +7 -0
  99. package/src/demo/components/form/Choice.tsx +46 -2
  100. package/src/demo/componentsMap.ts +7 -1
  101. package/src/index.ts +1 -0
  102. package/src/types/form.ts +1 -1
  103. package/src/utils/toObjectValue.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceItem.js","sourceRoot":"","sources":["../../../../src/components/form/choice/ChoiceItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAU3C,MAAM,UAAU,GAAoB,CAAC,KAAK,EAAE,EAAE;IAC1C,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAsC,EAAE,EAAE;QACxE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAErB,OAAO,CACH,+BAAO,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;QACtC,+BACI,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EACxB,OAAO,EAAE,KAAK,CAAC,MAAM,EACrB,QAAQ,EAAE,YAAY,GACxB;QACF,kCAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAQ,CAC5B,CACX,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"ChoiceItem.js","sourceRoot":"","sources":["../../../../src/components/form/choice/ChoiceItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAU3C,MAAM,UAAU,GAAG,CAAmB,KAAe,EAAkC,EAAE;IACrF,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAsC,EAAE,EAAE;QACxE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAuC,CAAC,CAAC;IAC5E,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAErB,OAAO,CACH,+BAAO,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;QACtC,+BACI,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EACxB,OAAO,EAAE,KAAK,CAAC,MAAM,EACrB,QAAQ,EAAE,YAAY,GACxB;QACF,kCAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAQ,CAC5B,CACX,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  .header {
2
2
  --border-color: var(--header-border);
3
3
  --background-color: var(--header-bg);
4
+ background-clip: padding-box;
4
5
  background: var(--background-color);
5
6
  display: flex;
6
7
  align-items: center;
@@ -7,6 +7,7 @@ interface ContentProps {
7
7
  }
8
8
  interface Props {
9
9
  position?: "top" | "left" | "right" | "bottom";
10
+ className?: string;
10
11
  }
11
12
  declare const StickyHeader: React.FC<Props> & Content;
12
13
  export { StickyHeader };
@@ -1 +1 @@
1
- {"version":3,"file":"StickyHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/header/StickyHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,UAAU,OAAO;IAEb,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;CACnC;AAED,UAAU,YAAY;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,KAAK;IACX,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;CAClD;AAED,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,OAoCrC,CAAC;AAMF,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"StickyHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/header/StickyHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,UAAU,OAAO;IAEb,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;CACnC;AAED,UAAU,YAAY;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,KAAK;IACX,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,OAoCrC,CAAC;AAMF,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -15,7 +15,7 @@ const StickyHeader = (props) => {
15
15
  }
16
16
  header = header;
17
17
  content = content;
18
- const cls = classnames(styles.stickyHeader, styles[`stickyHeader--${position}`]);
18
+ const cls = classnames(styles.stickyHeader, styles[`stickyHeader--${position}`], props.className);
19
19
  const contentCls = classnames(styles.stickyHeader__content, styles[`stickyHeader__content--${position}`], content.props.className);
20
20
  return (React.createElement("div", { className: cls },
21
21
  React.cloneElement(header, { position }),
@@ -1 +1 @@
1
- {"version":3,"file":"StickyHeader.js","sourceRoot":"","sources":["../../../../src/components/layout/header/StickyHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAEhD,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,mEAAmE,CAAC,CAAC;AAe/F,MAAM,YAAY,GAA8B,CAAC,KAAK,EAAE,EAAE;IACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC;IAEzC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAGxD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,MAAM,GAAG,CAAC;KACb;IAED,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EACtF,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC;IAE1G,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE;QACrB,MAAM,GAAG,CAAC;KACb;IAED,MAAM,GAAG,MAAe,CAAC;IACzB,OAAO,GAAG,OAAgB,CAAC;IAE3B,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEjF,MAAM,UAAU,GAAG,UAAU,CACzB,MAAM,CAAC,qBAAqB,EAC5B,MAAM,CAAC,0BAA0B,QAAQ,EAAE,CAAC,EAC3C,OAAmC,CAAC,KAAK,CAAC,SAAS,CACvD,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAE,GAAG;QACd,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC;QACzC,6BAAK,SAAS,EAAE,UAAU,IACrB,OAAO,CACN,CACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,YAAY,CAAC,OAAO,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpC,OAAO,0CAAG,QAAQ,CAAI,CAAC;AAC3B,CAAC,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"StickyHeader.js","sourceRoot":"","sources":["../../../../src/components/layout/header/StickyHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAEhD,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,mEAAmE,CAAC,CAAC;AAgB/F,MAAM,YAAY,GAA8B,CAAC,KAAK,EAAE,EAAE;IACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC;IAEzC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAGxD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,MAAM,GAAG,CAAC;KACb;IAED,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EACtF,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC;IAE1G,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE;QACrB,MAAM,GAAG,CAAC;KACb;IAED,MAAM,GAAG,MAAe,CAAC;IACzB,OAAO,GAAG,OAAgB,CAAC;IAE3B,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,iBAAiB,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAElG,MAAM,UAAU,GAAG,UAAU,CACzB,MAAM,CAAC,qBAAqB,EAC5B,MAAM,CAAC,0BAA0B,QAAQ,EAAE,CAAC,EAC3C,OAAmC,CAAC,KAAK,CAAC,SAAS,CACvD,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAE,GAAG;QACd,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC;QACzC,6BAAK,SAAS,EAAE,UAAU,IACrB,OAAO,CACN,CACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,YAAY,CAAC,OAAO,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpC,OAAO,0CAAG,QAAQ,CAAI,CAAC;AAC3B,CAAC,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -7,7 +7,7 @@ const Table = ({ className, children, variant, ...props }) => {
7
7
  const cls = classnames(className, {
8
8
  [styles.table]: !v.includes("raw"),
9
9
  [styles.striped]: v.includes("striped"),
10
- [styles.full]: v.includes("wide"),
10
+ [styles.wide]: v.includes("wide"),
11
11
  [styles.centered]: v.includes("centered"),
12
12
  });
13
13
  return React.createElement("table", { className: cls, ...props }, children);
@@ -14,42 +14,43 @@
14
14
  background: white;
15
15
  margin: 0;
16
16
  padding: 0;
17
+ list-style-type: none;
18
+ }
17
19
 
18
- ul, li {
19
- margin: 0;
20
- padding: 0;
21
- list-style-type: none;
22
- }
20
+ .li {
21
+ margin: 0;
22
+ padding: 0;
23
+ list-style-type: none;
23
24
 
24
- li + li {
25
+ + .li {
25
26
  border-top: 1px solid var(--border);
26
27
  }
28
+ }
27
29
 
28
- button {
29
- border: none;
30
- background: white;
31
- height: calc(116px / var(--ratio-dimensions));
32
- padding: 0 calc(42px / var(--ratio-dimensions));
33
- box-sizing: border-box;
34
- width: 100%;
35
- min-width: calc(460px / var(--ratio-dimensions));
36
- text-align: left;
37
- color: var(--pop-text);
38
- font-size: calc(26px / var(--ratio-font));
39
- display: flex;
40
- align-items: center;
41
-
42
- svg {
43
- fill: currentColor;
44
- margin-right: calc(42px / var(--ratio-dimensions));
45
- }
30
+ .button {
31
+ border: none;
32
+ background: white;
33
+ height: calc(116px / var(--ratio-dimensions));
34
+ padding: 0 calc(42px / var(--ratio-dimensions));
35
+ box-sizing: border-box;
36
+ width: 100%;
37
+ min-width: calc(460px / var(--ratio-dimensions));
38
+ text-align: left;
39
+ color: var(--pop-text);
40
+ font-size: calc(26px / var(--ratio-font));
41
+ display: flex;
42
+ align-items: center;
46
43
 
47
- &:hover {
48
- background: var(--active-bg);
49
- }
44
+ &:hover {
45
+ background: var(--active-bg);
50
46
  }
51
47
  }
52
48
 
49
+ .icon {
50
+ fill: currentColor;
51
+ margin-right: calc(42px / var(--ratio-dimensions));
52
+ }
53
+
53
54
  .fakeIcon {
54
55
  display: inline-block;
55
56
  width: 16px;
@@ -1 +1 @@
1
- {"version":3,"file":"PopOption.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/pop/PopOption.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAK7C,UAAU,KAAK;IACX,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAQ9B,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"PopOption.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/pop/PopOption.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAK7C,UAAU,KAAK;IACX,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAU9B,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -4,10 +4,10 @@ import styles from "./Pop.module.scss";
4
4
  const PopOption = (props) => {
5
5
  var _a;
6
6
  const ic = props.icon
7
- ? React.createElement(Icon, { name: props.icon })
7
+ ? React.createElement(Icon, { name: props.icon, className: styles.icon })
8
8
  : (((_a = props.forceEmptyIcon) !== null && _a !== void 0 ? _a : true) ? React.createElement("span", { className: styles.fakeIcon }) : null);
9
- return (React.createElement("li", null,
10
- React.createElement("button", { onClick: props.onClick },
9
+ return (React.createElement("li", { className: styles.li },
10
+ React.createElement("button", { onClick: props.onClick, className: styles.button },
11
11
  ic,
12
12
  props.children)));
13
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"PopOption.js","sourceRoot":"","sources":["../../../../src/components/ui/pop/PopOption.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAQvC,MAAM,SAAS,GAAoB,CAAC,KAAK,EAAE,EAAE;;IACzC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI;QACjB,CAAC,CAAC,oBAAC,IAAI,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAI;QAC5B,CAAC,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,cAAc,mCAAI,IAAI,CAAC,CAAC,CAAC,CAAC,8BAAM,SAAS,EAAE,MAAM,CAAC,QAAQ,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAErF,OAAO,CACH;QAAI,gCAAQ,OAAO,EAAE,KAAK,CAAC,OAAO;YAAG,EAAE;YAAE,KAAK,CAAC,QAAQ,CAAU,CAAK,CACzE,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"PopOption.js","sourceRoot":"","sources":["../../../../src/components/ui/pop/PopOption.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAQvC,MAAM,SAAS,GAAoB,CAAC,KAAK,EAAE,EAAE;;IACzC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI;QACjB,CAAC,CAAC,oBAAC,IAAI,IAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,GAAI;QACpD,CAAC,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,cAAc,mCAAI,IAAI,CAAC,CAAC,CAAC,CAAC,8BAAM,SAAS,EAAE,MAAM,CAAC,QAAQ,GAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAErF,OAAO,CACH,4BAAI,SAAS,EAAE,MAAM,CAAC,EAAE;QACpB,gCAAQ,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM;YAAG,EAAE;YAAE,KAAK,CAAC,QAAQ,CAAU,CACtF,CACR,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import React from "react";
2
2
  import type { Value } from "../../../types/form";
3
- interface Props {
4
- values: Value[];
3
+ interface Props<T extends string> {
4
+ values: Value<T>[];
5
5
  value?: string;
6
6
  onChange?: (value: string) => void;
7
7
  }
8
- declare const Selector: React.FC<Props>;
8
+ declare const Selector: <T extends string>(props: Props<T>) => React.ReactElement<any, any> | null;
9
9
  export { Selector };
10
10
  //# sourceMappingURL=Selector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Selector.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/tabs/Selector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAErD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAKjD,UAAU,KAAK;IACX,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAe7B,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"Selector.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/tabs/Selector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAErD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAKjD,UAAU,KAAK,CAAC,CAAC,SAAS,MAAM;IAC5B,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED,QAAA,MAAM,QAAQ,4EAeb,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Selector.js","sourceRoot":"","sources":["../../../../src/components/ui/tabs/Selector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAQ5C,MAAM,QAAQ,GAAoB,CAAC,KAAK,EAAE,EAAE;;IACxC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE;;QAChD,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,MAAA,KAAK,CAAC,QAAQ,+CAAd,KAAK,EAAY,KAAK,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAErB,MAAM,GAAG,GAAG,MAAA,KAAK,CAAC,KAAK,mCAAI,OAAO,CAAC;IAEnC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC9B,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,oBAAC,IAAI,IAAC,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,KAAK,GAAI,CAAC;IAChG,CAAC,CAAC,CAAC;IACH,OAAO,6BAAK,SAAS,EAAE,MAAM,CAAC,QAAQ,IAAG,IAAI,CAAO,CAAC;AACzD,CAAC,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"Selector.js","sourceRoot":"","sources":["../../../../src/components/ui/tabs/Selector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAQ5C,MAAM,QAAQ,GAAG,CAAmB,KAAe,EAAkC,EAAE;;IACnF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE;;QAChD,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,MAAA,KAAK,CAAC,QAAQ,+CAAd,KAAK,EAAY,KAAK,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAErB,MAAM,GAAG,GAAG,MAAA,KAAK,CAAC,KAAK,mCAAI,OAAO,CAAC;IAEnC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC9B,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,oBAAC,IAAI,IAAC,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,KAAK,GAAI,CAAC;IAChG,CAAC,CAAC,CAAC;IACH,OAAO,6BAAK,SAAS,EAAE,MAAM,CAAC,QAAQ,IAAG,IAAI,CAAO,CAAC;AACzD,CAAC,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ interface Props {
3
+ condition?: unknown;
4
+ }
5
+ declare const If: React.FC<Props>;
6
+ export { If };
7
+ //# sourceMappingURL=If.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"If.d.ts","sourceRoot":"","sources":["../../../src/components/utils/If.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,KAAK;IACX,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAKvB,CAAC;AAEF,OAAO,EAAE,EAAE,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ const If = (props) => {
3
+ if (Boolean(props.condition)) {
4
+ return React.createElement(React.Fragment, null, props.children);
5
+ }
6
+ return null;
7
+ };
8
+ export { If };
9
+ //# sourceMappingURL=If.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"If.js","sourceRoot":"","sources":["../../../src/components/utils/If.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,MAAM,EAAE,GAAoB,CAAC,KAAK,EAAE,EAAE;IAClC,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QAC1B,OAAO,0CAAG,KAAK,CAAC,QAAQ,CAAI,CAAC;KAChC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,OAAO,EAAE,EAAE,EAAE,CAAC"}
package/esm/index.d.ts CHANGED
@@ -28,5 +28,6 @@ export * from "./components/ui/stats/Stats.js";
28
28
  export * from "./components/ui/tabs/Selector.js";
29
29
  export * from "./components/ui/toaster/Toaster.js";
30
30
  export * from "./components/utils/HandleEsc.js";
31
+ export * from "./components/utils/If.js";
31
32
  export * from "./components/utils/Spacer.js";
32
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,4BAA4B,CAAC;AAE3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAE/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,4BAA4B,CAAC;AAE3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAE/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC"}
package/esm/index.js CHANGED
@@ -28,5 +28,6 @@ export * from "./components/ui/stats/Stats.js";
28
28
  export * from "./components/ui/tabs/Selector.js";
29
29
  export * from "./components/ui/toaster/Toaster.js";
30
30
  export * from "./components/utils/HandleEsc.js";
31
+ export * from "./components/utils/If.js";
31
32
  export * from "./components/utils/Spacer.js";
32
33
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,4BAA4B,CAAC;AAE3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAE/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,4BAA4B,CAAC;AAE3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wCAAwC,CAAC;AACvD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAE/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AAEnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC"}
@@ -2,6 +2,6 @@ interface ObjectValue {
2
2
  value: string;
3
3
  label: string;
4
4
  }
5
- declare type Value = string | ObjectValue;
5
+ declare type Value<T extends string> = T | ObjectValue;
6
6
  export type { ObjectValue, Value, };
7
7
  //# sourceMappingURL=form.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/types/form.ts"],"names":[],"mappings":"AAAA,UAAU,WAAW;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACtD,aAAK,KAAK,GAAG,MAAM,GAAG,WAAW,CAAC;AAElC,YAAY,EACR,WAAW,EACX,KAAK,GACR,CAAC"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/types/form.ts"],"names":[],"mappings":"AAAA,UAAU,WAAW;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACtD,aAAK,KAAK,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,GAAG,WAAW,CAAC;AAE/C,YAAY,EACR,WAAW,EACX,KAAK,GACR,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { ObjectValue, Value } from "../types/form";
2
- declare const toObjectValue: (s: Value) => ObjectValue;
2
+ declare const toObjectValue: <T extends string>(s: Value<T>) => ObjectValue;
3
3
  export { toObjectValue, };
4
4
  //# sourceMappingURL=toObjectValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toObjectValue.d.ts","sourceRoot":"","sources":["../../src/utils/toObjectValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAExD,QAAA,MAAM,aAAa,MAAO,KAAK,KAAG,WAEjC,CAAC;AAEF,OAAO,EACH,aAAa,GAChB,CAAC"}
1
+ {"version":3,"file":"toObjectValue.d.ts","sourceRoot":"","sources":["../../src/utils/toObjectValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAExD,QAAA,MAAM,aAAa,qCAAoC,WAEtD,CAAC;AAEF,OAAO,EACH,aAAa,GAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"toObjectValue.js","sourceRoot":"","sources":["../../src/utils/toObjectValue.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,CAAC,CAAQ,EAAe,EAAE;IAC5C,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,OAAO,EACH,aAAa,GAChB,CAAC"}
1
+ {"version":3,"file":"toObjectValue.js","sourceRoot":"","sources":["../../src/utils/toObjectValue.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,CAAmB,CAAW,EAAe,EAAE;IACjE,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,OAAO,EACH,aAAa,GAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-miui",
3
- "version": "0.15.2",
3
+ "version": "0.15.5",
4
4
  "author": "Jacek Nowacki",
5
5
  "license": "MIT",
6
6
  "scripts": {
@@ -15,7 +15,7 @@
15
15
 
16
16
  span {
17
17
  display: flex;
18
- padding: 0;
18
+ padding: 0 1em;
19
19
  flex: 1;
20
20
  height: 100%;
21
21
  align-items: center;
@@ -23,6 +23,7 @@
23
23
  font-size: calc(24px / var(--ratio-font));
24
24
  color: var(--choice-text);
25
25
  background: var(--choice-bg);
26
+ white-space: nowrap;
26
27
  }
27
28
 
28
29
  display: flex;
@@ -30,6 +31,9 @@
30
31
  position: relative;
31
32
  border-radius: 8px;
32
33
  overflow: hidden;
34
+ width: max-content;
35
+ margin-left: auto;
36
+ margin-right: auto;
33
37
 
34
38
  label {
35
39
  flex: 1;
@@ -41,3 +45,12 @@
41
45
  }
42
46
  }
43
47
  }
48
+
49
+ .wide {
50
+ width: 100%;
51
+ }
52
+
53
+ .left {
54
+ margin-left: unset;
55
+ margin-right: unset;
56
+ }
@@ -1,18 +1,25 @@
1
1
  import React from "react";
2
+ import classnames from "classnames";
2
3
 
3
- import type { Value } from "../../../types/form";
4
- import { toObjectValue } from "../../../utils";
4
+ import type { ObjectValue, Value } from "../../../types/form";
5
+ import { makeVariants, toObjectValue } from "../../../utils";
5
6
  import { ChoiceItem } from "./ChoiceItem";
6
7
  import styles from "./Choice.module.scss";
7
8
 
8
- interface Props {
9
- values: Value[];
9
+ type Variant = "wide" | "left";
10
+
11
+ interface Props<T extends string> {
12
+ values: Value<T>[];
10
13
  value: string;
11
14
  name: string;
12
- onChange: (value: string) => void;
15
+ onChange: (value: Exclude<Value<T>, ObjectValue>) => void;
16
+ className?: string;
17
+ variant?: Variant | Variant[];
13
18
  }
14
19
 
15
- const Choice: React.FC<Props> = (props) => {
20
+ // @TODO auto width mode by default?
21
+
22
+ const Choice = <T extends string>(props: Props<T>): ReturnType<React.FC<Props<T>>> => {
16
23
  const opts = props.values.map(option => {
17
24
  const opt = toObjectValue(option);
18
25
  return (
@@ -26,7 +33,15 @@ const Choice: React.FC<Props> = (props) => {
26
33
  );
27
34
  });
28
35
 
29
- return <div className={styles.choice}>{opts}</div>;
36
+ const v = makeVariants(props.variant);
37
+
38
+ const cls = classnames(
39
+ styles.choice, props.className,
40
+ { [styles.wide]: v.includes("wide") },
41
+ { [styles.left]: v.includes("left") },
42
+ );
43
+
44
+ return <div className={cls}>{opts}</div>;
30
45
  };
31
46
 
32
47
  export { Choice };
@@ -1,16 +1,16 @@
1
1
  import React, { useCallback } from "react";
2
- import type { ObjectValue } from "../../../types/form";
2
+ import type { ObjectValue, Value } from "../../../types/form";
3
3
 
4
- interface Props {
4
+ interface Props<T extends string> {
5
5
  name: string;
6
6
  value: ObjectValue;
7
- onChange: (value: string) => void;
7
+ onChange: (value: Exclude<Value<T>, ObjectValue>) => void;
8
8
  active: boolean;
9
9
  }
10
10
 
11
- const ChoiceItem: React.FC<Props> = (props) => {
11
+ const ChoiceItem = <T extends string>(props: Props<T>): ReturnType<React.FC<Props<T>>> => {
12
12
  const handleChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {
13
- props.onChange(e.currentTarget.value);
13
+ props.onChange(e.currentTarget.value as Exclude<Value<T>, ObjectValue>);
14
14
  }, [props.onChange]);
15
15
 
16
16
  return (
@@ -1,6 +1,7 @@
1
1
  .header {
2
2
  --border-color: var(--header-border);
3
3
  --background-color: var(--header-bg);
4
+ background-clip: padding-box;
4
5
  background: var(--background-color);
5
6
  display: flex;
6
7
  align-items: center;
@@ -17,6 +17,7 @@ interface ContentProps {
17
17
 
18
18
  interface Props {
19
19
  position?: "top" | "left" | "right" | "bottom";
20
+ className?: string;
20
21
  }
21
22
 
22
23
  const StickyHeader: React.FC<Props> & Content = (props) => {
@@ -39,7 +40,7 @@ const StickyHeader: React.FC<Props> & Content = (props) => {
39
40
  header = header as never; // @TODO find a better way to silence TS on cloneElement
40
41
  content = content as never;
41
42
 
42
- const cls = classnames(styles.stickyHeader, styles[`stickyHeader--${position}`]);
43
+ const cls = classnames(styles.stickyHeader, styles[`stickyHeader--${position}`], props.className);
43
44
 
44
45
  const contentCls = classnames(
45
46
  styles.stickyHeader__content,
@@ -18,7 +18,7 @@ const Table: React.FC<React.TableHTMLAttributes<HTMLTableElement> & Props> = (
18
18
  const cls = classnames(className, {
19
19
  [styles.table]: !v.includes("raw"),
20
20
  [styles.striped]: v.includes("striped"),
21
- [styles.full]: v.includes("wide"),
21
+ [styles.wide]: v.includes("wide"),
22
22
  [styles.centered]: v.includes("centered"),
23
23
  });
24
24
  return <table className={cls} {...props}>{children}</table>;
@@ -14,42 +14,43 @@
14
14
  background: white;
15
15
  margin: 0;
16
16
  padding: 0;
17
+ list-style-type: none;
18
+ }
17
19
 
18
- ul, li {
19
- margin: 0;
20
- padding: 0;
21
- list-style-type: none;
22
- }
20
+ .li {
21
+ margin: 0;
22
+ padding: 0;
23
+ list-style-type: none;
23
24
 
24
- li + li {
25
+ + .li {
25
26
  border-top: 1px solid var(--border);
26
27
  }
28
+ }
27
29
 
28
- button {
29
- border: none;
30
- background: white;
31
- height: calc(116px / var(--ratio-dimensions));
32
- padding: 0 calc(42px / var(--ratio-dimensions));
33
- box-sizing: border-box;
34
- width: 100%;
35
- min-width: calc(460px / var(--ratio-dimensions));
36
- text-align: left;
37
- color: var(--pop-text);
38
- font-size: calc(26px / var(--ratio-font));
39
- display: flex;
40
- align-items: center;
41
-
42
- svg {
43
- fill: currentColor;
44
- margin-right: calc(42px / var(--ratio-dimensions));
45
- }
30
+ .button {
31
+ border: none;
32
+ background: white;
33
+ height: calc(116px / var(--ratio-dimensions));
34
+ padding: 0 calc(42px / var(--ratio-dimensions));
35
+ box-sizing: border-box;
36
+ width: 100%;
37
+ min-width: calc(460px / var(--ratio-dimensions));
38
+ text-align: left;
39
+ color: var(--pop-text);
40
+ font-size: calc(26px / var(--ratio-font));
41
+ display: flex;
42
+ align-items: center;
46
43
 
47
- &:hover {
48
- background: var(--active-bg);
49
- }
44
+ &:hover {
45
+ background: var(--active-bg);
50
46
  }
51
47
  }
52
48
 
49
+ .icon {
50
+ fill: currentColor;
51
+ margin-right: calc(42px / var(--ratio-dimensions));
52
+ }
53
+
53
54
  .fakeIcon {
54
55
  display: inline-block;
55
56
  width: 16px;
@@ -13,11 +13,13 @@ interface Props {
13
13
 
14
14
  const PopOption: React.FC<Props> = (props) => {
15
15
  const ic = props.icon
16
- ? <Icon name={props.icon} />
16
+ ? <Icon name={props.icon} className={styles.icon} />
17
17
  : ((props.forceEmptyIcon ?? true) ? <span className={styles.fakeIcon} /> : null);
18
18
 
19
19
  return (
20
- <li><button onClick={props.onClick}>{ic}{props.children}</button></li>
20
+ <li className={styles.li}>
21
+ <button onClick={props.onClick} className={styles.button}>{ic}{props.children}</button>
22
+ </li>
21
23
  );
22
24
  };
23
25
 
@@ -5,13 +5,13 @@ import { toObjectValue } from "../../../utils";
5
5
  import { Item } from "./Item";
6
6
  import styles from "./Selector.module.scss";
7
7
 
8
- interface Props {
9
- values: Value[];
8
+ interface Props<T extends string> {
9
+ values: Value<T>[];
10
10
  value?: string;
11
11
  onChange?: (value: string) => void;
12
12
  }
13
13
 
14
- const Selector: React.FC<Props> = (props) => {
14
+ const Selector = <T extends string>(props: Props<T>): ReturnType<React.FC<Props<T>>> => {
15
15
  const [current, setCurrent] = useState(props.value);
16
16
 
17
17
  const handleCurrent = useCallback((value: string) => {
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+
3
+ interface Props {
4
+ condition?: unknown;
5
+ }
6
+
7
+ const If: React.FC<Props> = (props) => {
8
+ if (Boolean(props.condition)) { // eslint-disable-line no-extra-boolean-cast
9
+ return <>{props.children}</>;
10
+ }
11
+ return null;
12
+ };
13
+
14
+ export { If };
@@ -5,12 +5,18 @@
5
5
  flex-direction: column;
6
6
  }
7
7
 
8
+ .header {
9
+ margin: 0;
10
+ padding: 20px 20px 0;
11
+ }
12
+
8
13
  .component {
9
14
  padding: 20px;
10
15
  flex: 1;
11
16
  overflow: auto;
12
17
  display: flex;
13
18
  flex-direction: column;
19
+ margin-top: 20px;
14
20
 
15
21
  &--transparent {
16
22
  background-position: 0px 0px, 10px 10px;
package/src/demo/Main.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import React, { useCallback, useState } from "react";
1
+ import React, { useState } from "react";
2
2
  import classnames from "classnames";
3
3
 
4
4
  import type { AnyComponent } from "../types";
@@ -8,6 +8,7 @@ import styles from "./Main.module.scss";
8
8
 
9
9
  import { safeUseHash } from "./utils/safeUseHash";
10
10
  import { componentsMap } from "./componentsMap";
11
+ import { Choice } from "../components/form/choice/Choice";
11
12
 
12
13
  type BG = "white" | "transparent" | "mobile";
13
14
 
@@ -41,23 +42,15 @@ const getComponentByHash = (hash: string): ComponentInfo | null => {
41
42
  return null;
42
43
  };
43
44
 
45
+ const values: BG[] = ["white", "transparent", "mobile"];
46
+
44
47
  const Main: React.FC = (props) => {
45
- const [bg, setBg] = useState<BG>("white");
48
+ const [bg, handleBgChange] = useState<BG>("white");
46
49
 
47
50
  const hash = safeUseHash();
48
51
  const hashWithoutHash = hash.substr(1);
49
52
  const info = getComponentByHash(hashWithoutHash);
50
53
 
51
- const handleTransparentBg = useCallback(() => {
52
- setBg("transparent");
53
- }, []);
54
- const handleWhiteBg = useCallback(() => {
55
- setBg("white");
56
- }, []);
57
- const handleMobileBg = useCallback(() => {
58
- setBg("mobile");
59
- }, []);
60
-
61
54
  if (!info) {
62
55
  return (
63
56
  <div className={styles.container}>
@@ -77,9 +70,7 @@ const Main: React.FC = (props) => {
77
70
  return (
78
71
  <div className={styles.container}>
79
72
  <h1 className={styles.header}>{info.name}</h1>
80
- <button onClick={handleTransparentBg}>Transparent</button>
81
- <button onClick={handleWhiteBg}>White</button>
82
- <button onClick={handleMobileBg}>Mobile</button>
73
+ <Choice values={values} value={bg} name={"x"} onChange={handleBgChange} />
83
74
 
84
75
  <div className={componentCls}>
85
76
  <Component />