@tecsinapse/react-native-kit 1.18.5 → 1.20.0

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 (190) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/components/atoms/Avatar/Avatar.js +1 -1
  3. package/dist/components/atoms/Avatar/Avatar.js.map +1 -1
  4. package/dist/components/atoms/Avatar/index.js.map +1 -1
  5. package/dist/components/atoms/Badge/Badge.js +1 -1
  6. package/dist/components/atoms/Badge/Badge.js.map +1 -1
  7. package/dist/components/atoms/Badge/index.js.map +1 -1
  8. package/dist/components/atoms/BottomNavigator/BottomNavigator.js +1 -1
  9. package/dist/components/atoms/BottomNavigator/BottomNavigator.js.map +1 -1
  10. package/dist/components/atoms/BottomNavigator/Item.js +1 -1
  11. package/dist/components/atoms/BottomNavigator/Item.js.map +1 -1
  12. package/dist/components/atoms/BottomNavigator/index.js +1 -1
  13. package/dist/components/atoms/BottomNavigator/index.js.map +1 -1
  14. package/dist/components/atoms/BottomNavigator/styled.js +1 -1
  15. package/dist/components/atoms/BottomNavigator/styled.js.map +1 -1
  16. package/dist/components/atoms/Button/Button.d.ts +2 -2
  17. package/dist/components/atoms/Button/Button.js +1 -1
  18. package/dist/components/atoms/Button/Button.js.map +1 -1
  19. package/dist/components/atoms/Button/States/Error.js +1 -1
  20. package/dist/components/atoms/Button/States/Error.js.map +1 -1
  21. package/dist/components/atoms/Button/States/Loading.js +1 -1
  22. package/dist/components/atoms/Button/States/Loading.js.map +1 -1
  23. package/dist/components/atoms/Button/States/Success.js +1 -1
  24. package/dist/components/atoms/Button/States/Success.js.map +1 -1
  25. package/dist/components/atoms/Button/States/index.js.map +1 -1
  26. package/dist/components/atoms/Button/index.js.map +1 -1
  27. package/dist/components/atoms/GroupButton/GroupButtonOption.js +1 -1
  28. package/dist/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
  29. package/dist/components/atoms/GroupButton/index.js.map +1 -1
  30. package/dist/components/atoms/Header/Header.js +1 -1
  31. package/dist/components/atoms/Header/Header.js.map +1 -1
  32. package/dist/components/atoms/Header/index.js.map +1 -1
  33. package/dist/components/atoms/Header/styled.js +1 -1
  34. package/dist/components/atoms/Header/styled.js.map +1 -1
  35. package/dist/components/atoms/Input/Input.d.ts +3 -2
  36. package/dist/components/atoms/Input/Input.js +1 -2
  37. package/dist/components/atoms/Input/Input.js.map +1 -1
  38. package/dist/components/atoms/Input/index.js.map +1 -1
  39. package/dist/components/atoms/Input/styled.js.map +1 -1
  40. package/dist/components/atoms/InputMask/InputMask.js +1 -1
  41. package/dist/components/atoms/InputMask/InputMask.js.map +1 -1
  42. package/dist/components/atoms/InputMask/index.js.map +1 -1
  43. package/dist/components/atoms/InputMask/styled.js.map +1 -1
  44. package/dist/components/atoms/Modal/ModalGroupManager.js +2 -2
  45. package/dist/components/atoms/Modal/ModalGroupManager.js.map +1 -1
  46. package/dist/components/atoms/Modal/ModalLifecycleHandler.d.ts +2 -2
  47. package/dist/components/atoms/Modal/ModalLifecycleHandler.js +76 -85
  48. package/dist/components/atoms/Modal/ModalLifecycleHandler.js.map +1 -1
  49. package/dist/components/atoms/Modal/index.js.map +1 -1
  50. package/dist/components/atoms/Modal/ui/BaseModalView.d.ts +2 -2
  51. package/dist/components/atoms/Modal/ui/BaseModalView.js +4 -4
  52. package/dist/components/atoms/Modal/ui/BaseModalView.js.map +1 -1
  53. package/dist/components/atoms/Modal/ui/styled.js +12 -12
  54. package/dist/components/atoms/Modal/ui/styled.js.map +1 -1
  55. package/dist/components/atoms/Modal/ui/types.d.ts +1 -1
  56. package/dist/components/atoms/Modal/ui/types.js.map +1 -1
  57. package/dist/components/atoms/Modal/useLazyModalManager.d.ts +2 -2
  58. package/dist/components/atoms/Modal/useLazyModalManager.js.map +1 -1
  59. package/dist/components/atoms/Modal/useModalManager.d.ts +2 -2
  60. package/dist/components/atoms/Modal/useModalManager.js.map +1 -1
  61. package/dist/components/atoms/Modal/useModalRemoteControl.js.map +1 -1
  62. package/dist/components/atoms/Skeleton/Pulse.js.map +1 -1
  63. package/dist/components/atoms/Skeleton/Skeleton.js +1 -1
  64. package/dist/components/atoms/Skeleton/Skeleton.js.map +1 -1
  65. package/dist/components/atoms/Skeleton/Wave.js.map +1 -1
  66. package/dist/components/atoms/Skeleton/animation.js +1 -1
  67. package/dist/components/atoms/Skeleton/animation.js.map +1 -1
  68. package/dist/components/atoms/Skeleton/index.js.map +1 -1
  69. package/dist/components/atoms/Skeleton/styled.js.map +1 -1
  70. package/dist/components/atoms/Skeleton/types.js.map +1 -1
  71. package/dist/components/atoms/SnappingSlider/SnappingSlider.js +1 -1
  72. package/dist/components/atoms/SnappingSlider/SnappingSlider.js.map +1 -1
  73. package/dist/components/atoms/SnappingSlider/index.js.map +1 -1
  74. package/dist/components/atoms/Tag/Tag.js +1 -1
  75. package/dist/components/atoms/Tag/Tag.js.map +1 -1
  76. package/dist/components/atoms/Tag/index.js.map +1 -1
  77. package/dist/components/atoms/Text/Text.js.map +1 -1
  78. package/dist/components/atoms/Text/index.js.map +1 -1
  79. package/dist/components/atoms/Text/styled.js +1 -1
  80. package/dist/components/atoms/Text/styled.js.map +1 -1
  81. package/dist/components/atoms/TextArea/TextArea.js +1 -1
  82. package/dist/components/atoms/TextArea/TextArea.js.map +1 -1
  83. package/dist/components/atoms/TextArea/index.js.map +1 -1
  84. package/dist/components/atoms/TextArea/styled.js.map +1 -1
  85. package/dist/components/molecules/Calendar/Calendar.js +1 -1
  86. package/dist/components/molecules/Calendar/Calendar.js.map +1 -1
  87. package/dist/components/molecules/Calendar/index.js.map +1 -1
  88. package/dist/components/molecules/DatePicker/DatePicker.js +1 -1
  89. package/dist/components/molecules/DatePicker/DatePicker.js.map +1 -1
  90. package/dist/components/molecules/DatePicker/index.js.map +1 -1
  91. package/dist/components/molecules/DatePicker/styled.js +1 -1
  92. package/dist/components/molecules/DatePicker/styled.js.map +1 -1
  93. package/dist/components/molecules/DateTimePicker/DateTimePicker.js +1 -1
  94. package/dist/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  95. package/dist/components/molecules/DateTimePicker/index.js.map +1 -1
  96. package/dist/components/molecules/DateTimeSelector/DateTimeSelector.js +1 -1
  97. package/dist/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
  98. package/dist/components/molecules/DateTimeSelector/index.js.map +1 -1
  99. package/dist/components/molecules/Grid/Grid.d.ts +5 -0
  100. package/dist/components/molecules/Grid/Grid.js +57 -0
  101. package/dist/components/molecules/Grid/Grid.js.map +1 -0
  102. package/dist/components/molecules/Grid/Item/Item.d.ts +7 -0
  103. package/dist/components/molecules/Grid/Item/Item.js +78 -0
  104. package/dist/components/molecules/Grid/Item/Item.js.map +1 -0
  105. package/dist/components/molecules/Grid/Item/index.d.ts +1 -0
  106. package/dist/components/molecules/Grid/Item/index.js +14 -0
  107. package/dist/components/molecules/Grid/Item/index.js.map +1 -0
  108. package/dist/components/molecules/Grid/index.d.ts +2 -0
  109. package/dist/components/molecules/Grid/index.js +15 -0
  110. package/dist/components/molecules/Grid/index.js.map +1 -0
  111. package/dist/components/molecules/IconTextButton/IconTextButton.d.ts +6 -0
  112. package/dist/components/molecules/IconTextButton/IconTextButton.js +50 -0
  113. package/dist/components/molecules/IconTextButton/IconTextButton.js.map +1 -0
  114. package/dist/components/molecules/IconTextButton/TextComponent.d.ts +12 -0
  115. package/dist/components/molecules/IconTextButton/TextComponent.js +34 -0
  116. package/dist/components/molecules/IconTextButton/TextComponent.js.map +1 -0
  117. package/dist/components/molecules/IconTextButton/index.d.ts +1 -0
  118. package/dist/components/molecules/IconTextButton/index.js +14 -0
  119. package/dist/components/molecules/IconTextButton/index.js.map +1 -0
  120. package/dist/components/molecules/IconTextButton/styled.d.ts +2 -0
  121. package/dist/components/molecules/IconTextButton/styled.js +46 -0
  122. package/dist/components/molecules/IconTextButton/styled.js.map +1 -0
  123. package/dist/components/molecules/InputPassword/InputPassword.d.ts +3 -2
  124. package/dist/components/molecules/InputPassword/InputPassword.js +1 -1
  125. package/dist/components/molecules/InputPassword/InputPassword.js.map +1 -1
  126. package/dist/components/molecules/InputPassword/index.js.map +1 -1
  127. package/dist/components/molecules/LabeledSwitch/LabelComponent.d.ts +13 -0
  128. package/dist/components/molecules/LabeledSwitch/LabelComponent.js +36 -0
  129. package/dist/components/molecules/LabeledSwitch/LabelComponent.js.map +1 -0
  130. package/dist/components/molecules/LabeledSwitch/LabeledSwitch.d.ts +8 -0
  131. package/dist/components/molecules/LabeledSwitch/LabeledSwitch.js +53 -0
  132. package/dist/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -0
  133. package/dist/components/molecules/LabeledSwitch/index.d.ts +1 -0
  134. package/dist/components/molecules/LabeledSwitch/index.js +14 -0
  135. package/dist/components/molecules/LabeledSwitch/index.js.map +1 -0
  136. package/dist/components/molecules/LabeledSwitch/styled.d.ts +9 -0
  137. package/dist/components/molecules/LabeledSwitch/styled.js +35 -0
  138. package/dist/components/molecules/LabeledSwitch/styled.js.map +1 -0
  139. package/dist/components/molecules/Select/Modal.d.ts +1 -1
  140. package/dist/components/molecules/Select/Modal.js +1 -2
  141. package/dist/components/molecules/Select/Modal.js.map +1 -1
  142. package/dist/components/molecules/Select/Select.js +3 -3
  143. package/dist/components/molecules/Select/Select.js.map +1 -1
  144. package/dist/components/molecules/Select/index.js.map +1 -1
  145. package/dist/components/molecules/Select/styled.js +1 -1
  146. package/dist/components/molecules/Select/styled.js.map +1 -1
  147. package/dist/components/molecules/Snackbar/Snackbar.js +1 -1
  148. package/dist/components/molecules/Snackbar/Snackbar.js.map +1 -1
  149. package/dist/components/molecules/Snackbar/index.js.map +1 -1
  150. package/dist/components/molecules/Snackbar/styled.js.map +1 -1
  151. package/dist/index.d.ts +17 -14
  152. package/dist/index.js +112 -91
  153. package/dist/index.js.map +1 -1
  154. package/dist/utils/date.js.map +1 -1
  155. package/package.json +5 -5
  156. package/src/components/atoms/BottomNavigator/BottomNavigator.tsx +3 -6
  157. package/src/components/atoms/Button/Button.tsx +19 -13
  158. package/src/components/atoms/Button/index.ts +1 -1
  159. package/src/components/atoms/Input/Input.tsx +8 -6
  160. package/src/components/atoms/Input/styled.ts +1 -3
  161. package/src/components/atoms/Modal/ModalGroupManager.tsx +22 -17
  162. package/src/components/atoms/Modal/ModalLifecycleHandler.ts +139 -126
  163. package/src/components/atoms/Modal/index.ts +7 -7
  164. package/src/components/atoms/Modal/ui/BaseModalView.tsx +150 -127
  165. package/src/components/atoms/Modal/ui/styled.ts +17 -17
  166. package/src/components/atoms/Modal/ui/types.ts +9 -8
  167. package/src/components/atoms/Modal/useLazyModalManager.ts +32 -31
  168. package/src/components/atoms/Modal/useModalManager.ts +28 -26
  169. package/src/components/atoms/Modal/useModalRemoteControl.ts +16 -18
  170. package/src/components/molecules/Calendar/Calendar.tsx +5 -1
  171. package/src/components/molecules/DatePicker/DatePicker.tsx +26 -17
  172. package/src/components/molecules/DatePicker/styled.ts +4 -4
  173. package/src/components/molecules/DateTimePicker/DateTimePicker.tsx +18 -16
  174. package/src/components/molecules/DateTimeSelector/DateTimeSelector.tsx +4 -1
  175. package/src/components/molecules/Grid/Grid.tsx +68 -0
  176. package/src/components/molecules/Grid/Item/Item.tsx +77 -0
  177. package/src/components/molecules/Grid/Item/index.ts +1 -0
  178. package/src/components/molecules/Grid/index.ts +2 -0
  179. package/src/components/molecules/IconTextButton/IconTextButton.tsx +55 -0
  180. package/src/components/molecules/IconTextButton/TextComponent.tsx +43 -0
  181. package/src/components/molecules/IconTextButton/index.ts +4 -0
  182. package/src/components/molecules/IconTextButton/styled.ts +35 -0
  183. package/src/components/molecules/InputPassword/InputPassword.tsx +3 -2
  184. package/src/components/molecules/LabeledSwitch/LabelComponent.tsx +46 -0
  185. package/src/components/molecules/LabeledSwitch/LabeledSwitch.tsx +59 -0
  186. package/src/components/molecules/LabeledSwitch/index.ts +4 -0
  187. package/src/components/molecules/LabeledSwitch/styled.ts +27 -0
  188. package/src/components/molecules/Select/Modal.tsx +88 -66
  189. package/src/components/molecules/Select/Select.tsx +2 -2
  190. package/src/index.ts +38 -29
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _react = _interopRequireDefault(require("react"));
7
+
8
+ var _styled = require("./styled");
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
13
+
14
+ const TextComponent = ({
15
+ textProps,
16
+ size = 'default',
17
+ defaultFontColor,
18
+ label,
19
+ iconPosition = 'left',
20
+ hasIcon = false
21
+ }) => {
22
+ return label ? _react.default.createElement(_styled.StyledText, _extends({
23
+ typography: (textProps == null ? void 0 : textProps.typography) ?? size === 'small' ? 'sub' : 'base',
24
+ fontWeight: (textProps == null ? void 0 : textProps.fontWeight) ?? 'bold',
25
+ fontColor: (textProps == null ? void 0 : textProps.fontColor) ?? defaultFontColor,
26
+ iconPosition: iconPosition,
27
+ hasIcon: hasIcon
28
+ }, textProps), label) : _react.default.createElement(_react.default.Fragment, null);
29
+ };
30
+
31
+ var _default = _react.default.memo(TextComponent);
32
+
33
+ exports.default = _default;
34
+ //# sourceMappingURL=TextComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextComponent.js","names":["TextComponent","textProps","size","defaultFontColor","label","iconPosition","hasIcon","typography","fontWeight","fontColor","React","memo"],"sources":["../../../../src/components/molecules/IconTextButton/TextComponent.tsx"],"sourcesContent":["import {\n ButtonSizeType,\n FontColor,\n IconPositionOptions,\n TextProps,\n} from '@tecsinapse/react-core';\nimport React, { FC } from 'react';\nimport { StyledText } from './styled';\n\ninterface TextComponentProps {\n textProps?: TextProps;\n size?: ButtonSizeType;\n defaultFontColor: keyof FontColor;\n label?: string;\n iconPosition?: IconPositionOptions;\n hasIcon?: boolean;\n}\n\nconst TextComponent: FC<TextComponentProps> = ({\n textProps,\n size = 'default',\n defaultFontColor,\n label,\n iconPosition = 'left',\n hasIcon = false,\n}) => {\n return label ? (\n <StyledText\n typography={textProps?.typography ?? size === 'small' ? 'sub' : 'base'}\n fontWeight={textProps?.fontWeight ?? 'bold'}\n fontColor={textProps?.fontColor ?? defaultFontColor}\n iconPosition={iconPosition}\n hasIcon={hasIcon}\n {...textProps}\n >\n {label}\n </StyledText>\n ) : (\n <></>\n );\n};\n\nexport default React.memo(TextComponent);\n"],"mappings":";;;;;AAMA;;AACA;;;;;;AAWA,MAAMA,aAAqC,GAAG,CAAC;EAC7CC,SAD6C;EAE7CC,IAAI,GAAG,SAFsC;EAG7CC,gBAH6C;EAI7CC,KAJ6C;EAK7CC,YAAY,GAAG,MAL8B;EAM7CC,OAAO,GAAG;AANmC,CAAD,KAOxC;EACJ,OAAOF,KAAK,GACV,6BAAC,kBAAD;IACE,UAAU,EAAE,CAAAH,SAAS,QAAT,YAAAA,SAAS,CAAEM,UAAX,KAAyBL,IAAI,KAAK,OAAlC,GAA4C,KAA5C,GAAoD,MADlE;IAEE,UAAU,EAAE,CAAAD,SAAS,QAAT,YAAAA,SAAS,CAAEO,UAAX,KAAyB,MAFvC;IAGE,SAAS,EAAE,CAAAP,SAAS,QAAT,YAAAA,SAAS,CAAEQ,SAAX,KAAwBN,gBAHrC;IAIE,YAAY,EAAEE,YAJhB;IAKE,OAAO,EAAEC;EALX,GAMML,SANN,GAQGG,KARH,CADU,GAYV,2DAZF;AAcD,CAtBD;;eAwBeM,cAAA,CAAMC,IAAN,CAAWX,aAAX,C"}
@@ -0,0 +1 @@
1
+ export { default as IconTextButton, NativeIconTextButtonProps, } from './IconTextButton';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.NativeIconTextButtonProps = exports.IconTextButton = void 0;
5
+
6
+ var _IconTextButton = _interopRequireWildcard(require("./IconTextButton"));
7
+
8
+ exports.IconTextButton = _IconTextButton.default;
9
+ exports.NativeIconTextButtonProps = _IconTextButton.NativeIconTextButtonProps;
10
+
11
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
+
13
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/molecules/IconTextButton/index.ts"],"sourcesContent":["export {\n default as IconTextButton,\n NativeIconTextButtonProps,\n} from './IconTextButton';\n"],"mappings":";;;;;AAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const StyledIconTextButton: import("@emotion/native").StyledComponent<any, {}, {}>;
2
+ export declare const StyledText: import("@emotion/native").StyledComponent<any, {}, {}>;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.StyledText = exports.StyledIconTextButton = void 0;
5
+
6
+ var _native = _interopRequireWildcard(require("@emotion/native"));
7
+
8
+ var _Button = require("../../atoms/Button");
9
+
10
+ var _Text = require("../../atoms/Text");
11
+
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+
16
+ const boxedStyle = ({
17
+ theme
18
+ }) => `
19
+ padding: ${theme == null ? void 0 : theme.spacing.centi};
20
+ aspect-ratio: 1;
21
+ `;
22
+
23
+ const StyledIconTextButton = (0, _native.default)(_Button.Button)`
24
+ ${({
25
+ boxed,
26
+ theme
27
+ }) => boxed && boxedStyle({
28
+ theme
29
+ })};
30
+ `;
31
+ exports.StyledIconTextButton = StyledIconTextButton;
32
+ const StyledText = (0, _native.default)(_Text.Text)`
33
+ ${({
34
+ theme,
35
+ iconPosition,
36
+ hasIcon = false
37
+ }) => {
38
+ if (hasIcon && iconPosition === 'left') return (0, _native.css)`
39
+ margin-left: ${theme == null ? void 0 : theme.spacing.mili};
40
+ `;else if (hasIcon && iconPosition === 'right') return (0, _native.css)`
41
+ margin-right: ${theme == null ? void 0 : theme.spacing.mili};
42
+ `;
43
+ }}
44
+ `;
45
+ exports.StyledText = StyledText;
46
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.js","names":["boxedStyle","theme","spacing","centi","StyledIconTextButton","styled","Button","boxed","StyledText","Text","iconPosition","hasIcon","css","mili"],"sources":["../../../../src/components/molecules/IconTextButton/styled.ts"],"sourcesContent":["import styled, { css } from '@emotion/native';\nimport { IconPositionOptions, StyleProps } from '@tecsinapse/react-core';\nimport { Button } from '../../atoms/Button';\nimport { Text } from '../../atoms/Text';\n\nconst boxedStyle = ({ theme }: Partial<StyleProps>) => `\n padding: ${theme?.spacing.centi};\n aspect-ratio: 1;\n `;\n\nexport const StyledIconTextButton = styled(Button)<\n Partial<StyleProps> & {\n boxed: boolean;\n }\n>`\n ${({ boxed, theme }) => boxed && boxedStyle({ theme })};\n`;\n\nexport const StyledText = styled(Text)<\n Partial<StyleProps> & {\n iconPosition: IconPositionOptions;\n hasIcon?: boolean;\n }\n>`\n ${({ theme, iconPosition, hasIcon = false }) => {\n if (hasIcon && iconPosition === 'left')\n return css`\n margin-left: ${theme?.spacing.mili};\n `;\n else if (hasIcon && iconPosition === 'right')\n return css`\n margin-right: ${theme?.spacing.mili};\n `;\n }}\n`;\n"],"mappings":";;;;;AAAA;;AAEA;;AACA;;;;;;AAEA,MAAMA,UAAU,GAAG,CAAC;EAAEC;AAAF,CAAD,KAAqC;AACxD,eAAeA,KADwC,oBACxCA,KAAK,CAAEC,OAAP,CAAeC,KAAM;AACpC;AACA,GAHA;;AAKO,MAAMC,oBAAoB,GAAG,IAAAC,eAAA,EAAOC,cAAP,CAIlC;AACF,IAAI,CAAC;EAAEC,KAAF;EAASN;AAAT,CAAD,KAAsBM,KAAK,IAAIP,UAAU,CAAC;EAAEC;AAAF,CAAD,CAAY;AACzD,CANO;;AAQA,MAAMO,UAAU,GAAG,IAAAH,eAAA,EAAOI,UAAP,CAKxB;AACF,IAAI,CAAC;EAAER,KAAF;EAASS,YAAT;EAAuBC,OAAO,GAAG;AAAjC,CAAD,KAA8C;EAC9C,IAAIA,OAAO,IAAID,YAAY,KAAK,MAAhC,EACE,OAAO,IAAAE,WAAA,CAAI;AACjB,uBAAuBX,KADP,oBACOA,KAAK,CAAEC,OAAP,CAAeW,IAAK;AAC3C,OAFM,CADF,KAIK,IAAIF,OAAO,IAAID,YAAY,KAAK,OAAhC,EACH,OAAO,IAAAE,WAAA,CAAI;AACjB,wBAAwBX,KADR,oBACQA,KAAK,CAAEC,OAAP,CAAeW,IAAK;AAC5C,OAFM;AAGH,CAAC;AACJ,CAhBO"}
@@ -1,5 +1,6 @@
1
- import { FC } from 'react';
1
+ import React from 'react';
2
2
  import { InputNativeProps } from '../../atoms/Input';
3
+ import { TextInput } from 'react-native';
3
4
  export declare type InputPasswordNativeProps = InputNativeProps;
4
- declare const InputPassword: FC<InputPasswordNativeProps>;
5
+ declare const InputPassword: React.ForwardRefExoticComponent<Pick<InputNativeProps, string | number> & React.RefAttributes<TextInput>>;
5
6
  export default InputPassword;
@@ -13,7 +13,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
13
13
 
14
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
15
 
16
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
16
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
17
 
18
18
  const InputPassword = _react.default.forwardRef(({
19
19
  rightComponent,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/molecules/InputPassword/InputPassword.tsx"],"names":["InputPassword","React","forwardRef","rightComponent","rest","ref","revealed","setRevealed","displayName"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;;;;;AAIA,MAAMA,aAA2C,GAAGC,eAAMC,UAAN,CAClD,CAAC;AAAEC,EAAAA,cAAF;AAAkB,KAAGC;AAArB,CAAD,EAA8BC,GAA9B,KAAsC;AACpC,QAAM,CAACC,QAAD,EAAWC,WAAX,IAA0B,qBAAS,KAAT,CAAhC;AACA,SACE,6BAAC,YAAD,eACMH,IADN;AAEE,IAAA,GAAG,EAAEC,GAFP;AAGE,IAAA,eAAe,EAAE,CAACC,QAHpB;AAIE,IAAA,cAAc,EACZ,4DACE,6BAAC,4BAAD;AACE,MAAA,aAAa,EAAEC,WADjB;AAEE,MAAA,QAAQ,EAAED,QAFZ;AAGE,MAAA,MAAM,EAAC;AAHT,MADF,EAMGH,cANH;AALJ,KADF;AAiBD,CApBiD,CAApD;;AAuBAH,aAAa,CAACQ,WAAd,GAA4B,eAA5B;eAEeR,a","sourcesContent":["import { InputPasswordIcon } from '@tecsinapse/react-core';\nimport React, { FC, useState } from 'react';\nimport { Input, InputNativeProps } from '../../atoms/Input';\n\nexport type InputPasswordNativeProps = InputNativeProps;\n\nconst InputPassword: FC<InputPasswordNativeProps> = React.forwardRef(\n ({ rightComponent, ...rest }, ref) => {\n const [revealed, setRevealed] = useState(false);\n return (\n <Input\n {...rest}\n ref={ref}\n secureTextEntry={!revealed}\n rightComponent={\n <>\n <InputPasswordIcon\n onChangeState={setRevealed}\n revealed={revealed}\n effect=\"none\"\n />\n {rightComponent}\n </>\n }\n />\n );\n }\n);\n\nInputPassword.displayName = 'InputPassword';\n\nexport default InputPassword;\n"],"file":"InputPassword.js"}
1
+ {"version":3,"file":"InputPassword.js","names":["InputPassword","React","forwardRef","rightComponent","rest","ref","revealed","setRevealed","useState","displayName"],"sources":["../../../../src/components/molecules/InputPassword/InputPassword.tsx"],"sourcesContent":["import { InputPasswordIcon } from '@tecsinapse/react-core';\nimport React, { useState } from 'react';\nimport { Input, InputNativeProps } from '../../atoms/Input';\nimport { TextInput } from 'react-native';\n\nexport type InputPasswordNativeProps = InputNativeProps;\n\nconst InputPassword = React.forwardRef<TextInput, InputPasswordNativeProps>(\n ({ rightComponent, ...rest }, ref) => {\n const [revealed, setRevealed] = useState(false);\n return (\n <Input\n {...rest}\n ref={ref}\n secureTextEntry={!revealed}\n rightComponent={\n <>\n <InputPasswordIcon\n onChangeState={setRevealed}\n revealed={revealed}\n effect=\"none\"\n />\n {rightComponent}\n </>\n }\n />\n );\n }\n);\n\nInputPassword.displayName = 'InputPassword';\n\nexport default InputPassword;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;;;;;;;AAKA,MAAMA,aAAa,GAAGC,cAAA,CAAMC,UAAN,CACpB,CAAC;EAAEC,cAAF;EAAkB,GAAGC;AAArB,CAAD,EAA8BC,GAA9B,KAAsC;EACpC,MAAM,CAACC,QAAD,EAAWC,WAAX,IAA0B,IAAAC,eAAA,EAAS,KAAT,CAAhC;EACA,OACE,6BAAC,YAAD,eACMJ,IADN;IAEE,GAAG,EAAEC,GAFP;IAGE,eAAe,EAAE,CAACC,QAHpB;IAIE,cAAc,EACZ,4DACE,6BAAC,4BAAD;MACE,aAAa,EAAEC,WADjB;MAEE,QAAQ,EAAED,QAFZ;MAGE,MAAM,EAAC;IAHT,EADF,EAMGH,cANH;EALJ,GADF;AAiBD,CApBmB,CAAtB;;AAuBAH,aAAa,CAACS,WAAd,GAA4B,eAA5B;eAEeT,a"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/molecules/InputPassword/index.ts"],"names":[],"mappings":";;;;;AAAA","sourcesContent":["export {\n default as InputPassword,\n InputPasswordNativeProps,\n} from './InputPassword';\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/molecules/InputPassword/index.ts"],"sourcesContent":["export {\n default as InputPassword,\n InputPasswordNativeProps,\n} from './InputPassword';\n"],"mappings":";;;;;AAAA"}
@@ -0,0 +1,13 @@
1
+ import { LabelPositionOptions } from '@tecsinapse/react-core';
2
+ import React from 'react';
3
+ import { PressableProps } from 'react-native';
4
+ import { TextNativeProps } from '../../atoms/Text';
5
+ export interface LabelComponentProps extends PressableProps {
6
+ label: string;
7
+ labelPosition: LabelPositionOptions;
8
+ labelProps?: TextNativeProps;
9
+ active: boolean;
10
+ switchDisabled?: boolean;
11
+ }
12
+ declare const _default: React.NamedExoticComponent<LabelComponentProps>;
13
+ export default _default;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _react = _interopRequireDefault(require("react"));
7
+
8
+ var _reactNative = require("react-native");
9
+
10
+ var _styled = require("./styled");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
+
16
+ const LabelComponent = ({
17
+ label,
18
+ labelPosition,
19
+ labelProps,
20
+ active,
21
+ switchDisabled = false,
22
+ ...rest
23
+ }) => {
24
+ const defaultFontColor = active && !switchDisabled ? 'dark' : 'medium';
25
+ const defaultFontWeight = active && !switchDisabled ? 'bold' : 'regular';
26
+ return _react.default.createElement(_reactNative.Pressable, rest, _react.default.createElement(_styled.StyledLabel, _extends({
27
+ labelPosition: labelPosition,
28
+ fontColor: (labelProps == null ? void 0 : labelProps.fontColor) ?? defaultFontColor,
29
+ fontWeight: (labelProps == null ? void 0 : labelProps.fontWeight) ?? defaultFontWeight
30
+ }, labelProps), label));
31
+ };
32
+
33
+ var _default = _react.default.memo(LabelComponent);
34
+
35
+ exports.default = _default;
36
+ //# sourceMappingURL=LabelComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LabelComponent.js","names":["LabelComponent","label","labelPosition","labelProps","active","switchDisabled","rest","defaultFontColor","defaultFontWeight","fontColor","fontWeight","React","memo"],"sources":["../../../../src/components/molecules/LabeledSwitch/LabelComponent.tsx"],"sourcesContent":["import {\n FontColor,\n FontWeight,\n LabelPositionOptions,\n} from '@tecsinapse/react-core';\nimport React, { FC } from 'react';\nimport { Pressable, PressableProps } from 'react-native';\nimport { TextNativeProps } from '../../atoms/Text';\nimport { StyledLabel } from './styled';\n\nexport interface LabelComponentProps extends PressableProps {\n label: string;\n labelPosition: LabelPositionOptions;\n labelProps?: TextNativeProps;\n active: boolean;\n switchDisabled?: boolean;\n}\n\nconst LabelComponent: FC<LabelComponentProps> = ({\n label,\n labelPosition,\n labelProps,\n active,\n switchDisabled = false,\n ...rest\n}) => {\n const defaultFontColor: keyof FontColor =\n active && !switchDisabled ? 'dark' : 'medium';\n const defaultFontWeight: keyof FontWeight =\n active && !switchDisabled ? 'bold' : 'regular';\n\n return (\n <Pressable {...rest}>\n <StyledLabel\n labelPosition={labelPosition}\n fontColor={labelProps?.fontColor ?? defaultFontColor}\n fontWeight={labelProps?.fontWeight ?? defaultFontWeight}\n {...labelProps}\n >\n {label}\n </StyledLabel>\n </Pressable>\n );\n};\n\nexport default React.memo(LabelComponent);\n"],"mappings":";;;;;AAKA;;AACA;;AAEA;;;;;;AAUA,MAAMA,cAAuC,GAAG,CAAC;EAC/CC,KAD+C;EAE/CC,aAF+C;EAG/CC,UAH+C;EAI/CC,MAJ+C;EAK/CC,cAAc,GAAG,KAL8B;EAM/C,GAAGC;AAN4C,CAAD,KAO1C;EACJ,MAAMC,gBAAiC,GACrCH,MAAM,IAAI,CAACC,cAAX,GAA4B,MAA5B,GAAqC,QADvC;EAEA,MAAMG,iBAAmC,GACvCJ,MAAM,IAAI,CAACC,cAAX,GAA4B,MAA5B,GAAqC,SADvC;EAGA,OACE,6BAAC,sBAAD,EAAeC,IAAf,EACE,6BAAC,mBAAD;IACE,aAAa,EAAEJ,aADjB;IAEE,SAAS,EAAE,CAAAC,UAAU,QAAV,YAAAA,UAAU,CAAEM,SAAZ,KAAyBF,gBAFtC;IAGE,UAAU,EAAE,CAAAJ,UAAU,QAAV,YAAAA,UAAU,CAAEO,UAAZ,KAA0BF;EAHxC,GAIML,UAJN,GAMGF,KANH,CADF,CADF;AAYD,CAzBD;;eA2BeU,cAAA,CAAMC,IAAN,CAAWZ,cAAX,C"}
@@ -0,0 +1,8 @@
1
+ import { LabeledSwitchProps } from '@tecsinapse/react-core';
2
+ import { FC } from 'react';
3
+ import { TextNativeProps } from '../../atoms/Text';
4
+ export declare type LabeledSwitchNativeProps = LabeledSwitchProps & {
5
+ labelProps?: TextNativeProps;
6
+ };
7
+ declare const LabeledSwitch: FC<LabeledSwitchNativeProps>;
8
+ export default LabeledSwitch;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _reactCore = require("@tecsinapse/react-core");
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _LabelComponent = _interopRequireDefault(require("./LabelComponent"));
11
+
12
+ var _styled = require("./styled");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
+
18
+ const LabeledSwitch = ({
19
+ label,
20
+ labelPosition = 'right',
21
+ labelProps,
22
+ pressableLabel = false,
23
+ active,
24
+ disabled,
25
+ onChange,
26
+ ...rest
27
+ }) => {
28
+ return _react.default.createElement(_styled.StyledView, null, labelPosition === 'left' ? _react.default.createElement(_LabelComponent.default, {
29
+ active: active,
30
+ label: label,
31
+ labelPosition: 'left',
32
+ labelProps: labelProps,
33
+ disabled: !pressableLabel || disabled,
34
+ switchDisabled: disabled,
35
+ onPress: () => onChange(!active)
36
+ }) : _react.default.createElement(_react.default.Fragment, null), _react.default.createElement(_reactCore.Switch, _extends({
37
+ active: active,
38
+ onChange: onChange,
39
+ disabled: disabled
40
+ }, rest)), labelPosition === 'right' ? _react.default.createElement(_LabelComponent.default, {
41
+ active: active,
42
+ label: label,
43
+ labelPosition: 'right',
44
+ labelProps: labelProps,
45
+ disabled: !pressableLabel || disabled,
46
+ switchDisabled: disabled,
47
+ onPress: () => onChange(!active)
48
+ }) : _react.default.createElement(_react.default.Fragment, null));
49
+ };
50
+
51
+ var _default = LabeledSwitch;
52
+ exports.default = _default;
53
+ //# sourceMappingURL=LabeledSwitch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LabeledSwitch.js","names":["LabeledSwitch","label","labelPosition","labelProps","pressableLabel","active","disabled","onChange","rest"],"sources":["../../../../src/components/molecules/LabeledSwitch/LabeledSwitch.tsx"],"sourcesContent":["import { LabeledSwitchProps, Switch } from '@tecsinapse/react-core';\nimport React, { FC } from 'react';\nimport { TextNativeProps } from '../../atoms/Text';\nimport LabelComponent from './LabelComponent';\nimport { StyledView } from './styled';\n\nexport type LabeledSwitchNativeProps = LabeledSwitchProps & {\n labelProps?: TextNativeProps;\n};\n\nconst LabeledSwitch: FC<LabeledSwitchNativeProps> = ({\n label,\n labelPosition = 'right',\n labelProps,\n pressableLabel = false,\n active,\n disabled,\n onChange,\n ...rest\n}) => {\n return (\n <StyledView>\n {labelPosition === 'left' ? (\n <LabelComponent\n active={active}\n label={label}\n labelPosition={'left'}\n labelProps={labelProps}\n disabled={!pressableLabel || disabled}\n switchDisabled={disabled}\n onPress={() => onChange(!active)}\n />\n ) : (\n <></>\n )}\n <Switch\n active={active}\n onChange={onChange}\n disabled={disabled}\n {...rest}\n />\n {labelPosition === 'right' ? (\n <LabelComponent\n active={active}\n label={label}\n labelPosition={'right'}\n labelProps={labelProps}\n disabled={!pressableLabel || disabled}\n switchDisabled={disabled}\n onPress={() => onChange(!active)}\n />\n ) : (\n <></>\n )}\n </StyledView>\n );\n};\n\nexport default LabeledSwitch;\n"],"mappings":";;;;;AAAA;;AACA;;AAEA;;AACA;;;;;;AAMA,MAAMA,aAA2C,GAAG,CAAC;EACnDC,KADmD;EAEnDC,aAAa,GAAG,OAFmC;EAGnDC,UAHmD;EAInDC,cAAc,GAAG,KAJkC;EAKnDC,MALmD;EAMnDC,QANmD;EAOnDC,QAPmD;EAQnD,GAAGC;AARgD,CAAD,KAS9C;EACJ,OACE,6BAAC,kBAAD,QACGN,aAAa,KAAK,MAAlB,GACC,6BAAC,uBAAD;IACE,MAAM,EAAEG,MADV;IAEE,KAAK,EAAEJ,KAFT;IAGE,aAAa,EAAE,MAHjB;IAIE,UAAU,EAAEE,UAJd;IAKE,QAAQ,EAAE,CAACC,cAAD,IAAmBE,QAL/B;IAME,cAAc,EAAEA,QANlB;IAOE,OAAO,EAAE,MAAMC,QAAQ,CAAC,CAACF,MAAF;EAPzB,EADD,GAWC,2DAZJ,EAcE,6BAAC,iBAAD;IACE,MAAM,EAAEA,MADV;IAEE,QAAQ,EAAEE,QAFZ;IAGE,QAAQ,EAAED;EAHZ,GAIME,IAJN,EAdF,EAoBGN,aAAa,KAAK,OAAlB,GACC,6BAAC,uBAAD;IACE,MAAM,EAAEG,MADV;IAEE,KAAK,EAAEJ,KAFT;IAGE,aAAa,EAAE,OAHjB;IAIE,UAAU,EAAEE,UAJd;IAKE,QAAQ,EAAE,CAACC,cAAD,IAAmBE,QAL/B;IAME,cAAc,EAAEA,QANlB;IAOE,OAAO,EAAE,MAAMC,QAAQ,CAAC,CAACF,MAAF;EAPzB,EADD,GAWC,2DA/BJ,CADF;AAoCD,CA9CD;;eAgDeL,a"}
@@ -0,0 +1 @@
1
+ export { default as LabeledSwitch, LabeledSwitchNativeProps, } from './LabeledSwitch';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.LabeledSwitchNativeProps = exports.LabeledSwitch = void 0;
5
+
6
+ var _LabeledSwitch = _interopRequireWildcard(require("./LabeledSwitch"));
7
+
8
+ exports.LabeledSwitch = _LabeledSwitch.default;
9
+ exports.LabeledSwitchNativeProps = _LabeledSwitch.LabeledSwitchNativeProps;
10
+
11
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
+
13
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/molecules/LabeledSwitch/index.ts"],"sourcesContent":["export {\n default as LabeledSwitch,\n LabeledSwitchNativeProps,\n} from './LabeledSwitch';\n"],"mappings":";;;;;AAAA"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { View } from 'react-native';
3
+ export declare const StyledView: import("@emotion/native").StyledComponent<import("react-native").ViewProps & {
4
+ theme?: import("@emotion/react").Theme | undefined;
5
+ as?: import("react").ElementType<any> | undefined;
6
+ }, {}, {
7
+ ref?: import("react").Ref<View> | undefined;
8
+ }>;
9
+ export declare const StyledLabel: import("@emotion/native").StyledComponent<any, {}, {}>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.StyledView = exports.StyledLabel = void 0;
5
+
6
+ var _native = _interopRequireWildcard(require("@emotion/native"));
7
+
8
+ var _reactNative = require("react-native");
9
+
10
+ var _Text = require("../../atoms/Text");
11
+
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+
16
+ const StyledView = (0, _native.default)(_reactNative.View)`
17
+ display: flex;
18
+ flex-direction: row;
19
+ align-items: center;
20
+ `;
21
+ exports.StyledView = StyledView;
22
+ const StyledLabel = (0, _native.default)(_Text.Text)`
23
+ ${({
24
+ theme,
25
+ labelPosition
26
+ }) => {
27
+ if (labelPosition === 'right') return (0, _native.css)`
28
+ margin-left: ${theme == null ? void 0 : theme.spacing.centi};
29
+ `;else if (labelPosition === 'left') return (0, _native.css)`
30
+ margin-right: ${theme == null ? void 0 : theme.spacing.centi};
31
+ `;
32
+ }}
33
+ `;
34
+ exports.StyledLabel = StyledLabel;
35
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.js","names":["StyledView","styled","View","StyledLabel","Text","theme","labelPosition","css","spacing","centi"],"sources":["../../../../src/components/molecules/LabeledSwitch/styled.ts"],"sourcesContent":["import styled, { css } from '@emotion/native';\nimport { LabelPositionOptions, StyleProps } from '@tecsinapse/react-core';\nimport { View } from 'react-native';\nimport { Text } from '../../atoms/Text';\n\nexport const StyledView = styled(View)`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nexport const StyledLabel = styled(Text)<\n Partial<StyleProps> & {\n labelPosition: LabelPositionOptions;\n }\n>`\n ${({ theme, labelPosition }) => {\n if (labelPosition === 'right')\n return css`\n margin-left: ${theme?.spacing.centi};\n `;\n else if (labelPosition === 'left')\n return css`\n margin-right: ${theme?.spacing.centi};\n `;\n }}\n`;\n"],"mappings":";;;;;AAAA;;AAEA;;AACA;;;;;;AAEO,MAAMA,UAAU,GAAG,IAAAC,eAAA,EAAOC,iBAAP,CAAa;AACvC;AACA;AACA;AACA,CAJO;;AAMA,MAAMC,WAAW,GAAG,IAAAF,eAAA,EAAOG,UAAP,CAIzB;AACF,IAAI,CAAC;EAAEC,KAAF;EAASC;AAAT,CAAD,KAA8B;EAC9B,IAAIA,aAAa,KAAK,OAAtB,EACE,OAAO,IAAAC,WAAA,CAAI;AACjB,uBAAuBF,KADP,oBACOA,KAAK,CAAEG,OAAP,CAAeC,KAAM;AAC5C,OAFM,CADF,KAIK,IAAIH,aAAa,KAAK,MAAtB,EACH,OAAO,IAAAC,WAAA,CAAI;AACjB,wBAAwBF,KADR,oBACQA,KAAK,CAAEG,OAAP,CAAeC,KAAM;AAC7C,OAFM;AAGH,CAAC;AACJ,CAfO"}
@@ -3,5 +3,5 @@ import { SelectNativeProps } from './Select';
3
3
  interface LoadingProps {
4
4
  loading?: boolean;
5
5
  }
6
- export declare const Modal: <Data, Type extends "single" | "multi">({ options, keyExtractor, labelExtractor, groupKeyExtractor, hideSearchBar, searchBarPlaceholder, focused, type, value, onSelect, onSearch, selectModalTitle, selectModalTitleComponent, confirmButtonText, loading, close, closeOnPick, ...others }: SelectNativeProps<Data, Type> & LoadingProps & IBaseModal) => JSX.Element;
6
+ export declare const Modal: <Data, Type extends "single" | "multi">({ options, keyExtractor, labelExtractor, hideSearchBar, searchBarPlaceholder, focused, type, value, onSelect, onSearch, selectModalTitle, selectModalTitleComponent, confirmButtonText, loading, close, closeOnPick, ...others }: SelectNativeProps<Data, Type> & LoadingProps & IBaseModal) => JSX.Element;
7
7
  export {};
@@ -25,13 +25,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
25
25
 
26
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
27
 
28
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
28
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
29
29
 
30
30
  const Component = ({
31
31
  options,
32
32
  keyExtractor,
33
33
  labelExtractor,
34
- groupKeyExtractor,
35
34
  hideSearchBar,
36
35
  searchBarPlaceholder,
37
36
  focused,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/molecules/Select/Modal.tsx"],"names":["Component","options","keyExtractor","labelExtractor","groupKeyExtractor","hideSearchBar","searchBarPlaceholder","focused","type","value","onSelect","onSearch","selectModalTitle","selectModalTitleComponent","confirmButtonText","loading","close","closeOnPick","others","selectedValues","setSelectedValues","React","useState","searchArg","setSearchArg","ModalComponent","useMemo","_closeOnPick","useEffect","getData","useCallback","map","option","index","_checked","find","data","handlePressItem","newArr","found","push","handleConfirm","optionBuilder","item","anyChecked","filter","length","dataLengthChanged","memoizedFlatlist","titleTextModal","maxWidth","headerContent","onPress","icon","name","fontColor","text","MemoizedOption","label","Modal"],"mappings":"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","sourcesContent":["import {\n Checkbox,\n getStatusBarHeight,\n RadioButton,\n RFValue,\n useDebouncedState,\n} from '@tecsinapse/react-core';\nimport * as React from 'react';\nimport { FlatList, ListRenderItemInfo, View } from 'react-native';\nimport { Button } from '../../atoms/Button';\nimport { Header } from '../../atoms/Header';\nimport { Input } from '../../atoms/Input';\nimport { IBaseModal, ModalView } from '../../atoms/Modal';\nimport { Text } from '../../atoms/Text';\nimport { SelectNativeProps } from './Select';\nimport {\n FetchIndicator,\n getStyledModal,\n ListItem,\n ModalFooter,\n SearchBarContainer,\n SelectIcon,\n TextTitleModal,\n} from './styled';\n\ninterface LoadingProps {\n loading?: boolean;\n}\n\nconst Component = <Data, Type extends 'single' | 'multi'>({\n options,\n keyExtractor,\n labelExtractor,\n groupKeyExtractor,\n hideSearchBar,\n searchBarPlaceholder,\n focused,\n type,\n value,\n onSelect,\n onSearch,\n selectModalTitle,\n selectModalTitleComponent,\n confirmButtonText,\n loading,\n close,\n closeOnPick,\n ...others\n}: SelectNativeProps<Data, Type> & LoadingProps & IBaseModal): JSX.Element => {\n const [selectedValues, setSelectedValues] = React.useState<Data[]>([]);\n const [searchArg, setSearchArg] = useDebouncedState<string>('', onSearch);\n const ModalComponent = React.useMemo(\n () => getStyledModal(getStatusBarHeight(true)),\n []\n );\n const _closeOnPick = closeOnPick && type === 'single';\n\n // Resets the temporary state to the initial state whenever the\n // modal is reopened or the value changes\n React.useEffect(() => {\n setSelectedValues(\n (value ? (type === 'multi' ? value : [value]) : []) as Data[]\n );\n }, [value, focused, setSelectedValues]);\n\n const getData = React.useCallback((options: Data[]) => {\n return options?.map((option, index) => ({\n ...option,\n _checked:\n type === 'multi'\n ? !!selectedValues.find(\n value => keyExtractor(option, index) == keyExtractor(value, index)\n )\n : keyExtractor((selectedValues[0] || {}) as Data, index) ==\n keyExtractor(option, index),\n }));\n }, [keyExtractor, selectedValues, type])\n\n const data = React.useMemo(() => typeof options !== 'function' ? getData(options) : [], [options, getData]);\n\n const handlePressItem = React.useCallback((option: Data) => {\n setSelectedValues(selectedValues => {\n if (type === 'multi') {\n const newArr: Data[] = [];\n let found = false;\n for (const value of selectedValues) {\n if (keyExtractor(value) != keyExtractor(option)) newArr.push(value);\n else found = true;\n }\n if (!found) newArr.push(option);\n return newArr;\n }\n return keyExtractor((selectedValues[0] || {}) as Data) ===\n keyExtractor(option)\n ? []\n : [option];\n });\n }, [selectedValues, setSelectedValues, keyExtractor, type])\n\n React.useEffect(() => {\n if (_closeOnPick && selectedValues[0] && selectedValues[0] !== value) {\n handleConfirm();\n }\n }, [selectedValues[0], value, closeOnPick]);\n\n const handleConfirm = React.useCallback(() => {\n // TS Workaround since TS won't infer the ternary operator's result type correctly\n type OnSelectArg = Parameters<typeof onSelect>[0];\n onSelect(\n (type === 'single' ? selectedValues[0] : selectedValues) as OnSelectArg\n );\n close?.()\n }, [selectedValues]);\n\n const optionBuilder = React.useCallback(({ item }: ListRenderItemInfo<Data & { _checked: boolean }>) => (\n <MemoizedOption\n item={item}\n type={type}\n handlePressItem={handlePressItem}\n labelExtractor={labelExtractor}\n />\n ), [])\n\n const anyChecked = data.filter(item => item._checked).length\n const dataLengthChanged = data.length\n\n const memoizedFlatlist = React.useMemo(() => (\n <FlatList\n data={data}\n keyExtractor={keyExtractor}\n fadingEdgeLength={200}\n renderItem={optionBuilder}\n />\n ), [selectedValues, anyChecked, dataLengthChanged])\n\n const titleTextModal = selectModalTitle ? (\n <TextTitleModal\n typography=\"h4\"\n fontWeight=\"bold\"\n numberOfLines={3}\n style={{ maxWidth: RFValue(250) }}\n >\n {selectModalTitle}\n </TextTitleModal>\n ) : null;\n\n const headerContent = selectModalTitleComponent\n ? selectModalTitleComponent\n : titleTextModal;\n\n return (\n <ModalView {...others} BoxComponent={ModalComponent} showCloseBar={false}>\n <Header\n rightButton={{\n onPress: close,\n icon: {\n name: 'close',\n type: 'material-community',\n fontColor: 'light',\n },\n }}\n >\n {headerContent}\n </Header>\n\n {!hideSearchBar && (\n <SearchBarContainer>\n <Input\n placeholder={searchBarPlaceholder}\n value={searchArg}\n onChange={text => setSearchArg(text)}\n leftComponent={\n <SelectIcon name=\"search\" type=\"ionicon\" size=\"centi\" />\n }\n />\n </SearchBarContainer>\n )}\n\n {loading && (\n <FetchIndicator animating={true} color={'grey'} size={'large'} />\n )}\n\n {memoizedFlatlist}\n\n { !_closeOnPick && <ModalFooter>\n <Button\n variant={'filled'}\n color={'primary'}\n onPress={handleConfirm}\n disabled={loading}\n >\n <Text fontColor={'light'} fontWeight=\"bold\">\n {confirmButtonText}\n </Text>\n </Button>\n </ModalFooter>}\n </ModalView>\n );\n};\n\ninterface IOption<T> {\n item: T & { _checked: boolean }\n type: 'single' | 'multi'\n labelExtractor: (option: T) => string\n handlePressItem: (option: T) => void\n}\n\nconst MemoizedOption: React.FC<IOption<any>> = ({ handlePressItem, labelExtractor, item, type }) => {\n return React.useMemo(() => {\n const label = labelExtractor(item)\n return (\n <ListItem onPress={() => handlePressItem(item)}>\n <View pointerEvents={'none'}>\n {type === 'multi' ? (\n <Checkbox\n color={'primary'}\n labelPosition={'right'}\n checked={item._checked}\n >\n <Text fontWeight={item._checked ? 'bold' : 'regular'}>\n {label}\n </Text>\n </Checkbox>\n ) : (\n <RadioButton\n color={'primary'}\n labelPosition={'right'}\n checked={item._checked}\n >\n <Text fontWeight={item._checked ? 'bold' : 'regular'}>\n {label}\n </Text>\n </RadioButton>\n )}\n </View>\n </ListItem>\n )\n }, [item._checked])\n}\n\nexport const Modal = Component;\n"],"file":"Modal.js"}
1
+ {"version":3,"file":"Modal.js","names":["Component","options","keyExtractor","labelExtractor","hideSearchBar","searchBarPlaceholder","focused","type","value","onSelect","onSearch","selectModalTitle","selectModalTitleComponent","confirmButtonText","loading","close","closeOnPick","others","selectedValues","setSelectedValues","React","useState","searchArg","setSearchArg","useDebouncedState","ModalComponent","useMemo","getStyledModal","getStatusBarHeight","_closeOnPick","useEffect","getData","useCallback","map","option","index","_checked","find","data","handlePressItem","newArr","found","push","handleConfirm","optionBuilder","item","anyChecked","filter","length","dataLengthChanged","memoizedFlatlist","titleTextModal","maxWidth","RFValue","headerContent","onPress","icon","name","fontColor","text","MemoizedOption","label","Modal"],"sources":["../../../../src/components/molecules/Select/Modal.tsx"],"sourcesContent":["import {\n Checkbox,\n getStatusBarHeight,\n RadioButton,\n RFValue,\n useDebouncedState,\n} from '@tecsinapse/react-core';\nimport * as React from 'react';\nimport { FlatList, ListRenderItemInfo, View } from 'react-native';\nimport { Button } from '../../atoms/Button';\nimport { Header } from '../../atoms/Header';\nimport { Input } from '../../atoms/Input';\nimport { IBaseModal, ModalView } from '../../atoms/Modal';\nimport { Text } from '../../atoms/Text';\nimport { SelectNativeProps } from './Select';\nimport {\n FetchIndicator,\n getStyledModal,\n ListItem,\n ModalFooter,\n SearchBarContainer,\n SelectIcon,\n TextTitleModal,\n} from './styled';\n\ninterface LoadingProps {\n loading?: boolean;\n}\n\nconst Component = <Data, Type extends 'single' | 'multi'>({\n options,\n keyExtractor,\n labelExtractor,\n hideSearchBar,\n searchBarPlaceholder,\n focused,\n type,\n value,\n onSelect,\n onSearch,\n selectModalTitle,\n selectModalTitleComponent,\n confirmButtonText,\n loading,\n close,\n closeOnPick,\n ...others\n}: SelectNativeProps<Data, Type> & LoadingProps & IBaseModal): JSX.Element => {\n const [selectedValues, setSelectedValues] = React.useState<Data[]>([]);\n const [searchArg, setSearchArg] = useDebouncedState<string>('', onSearch);\n const ModalComponent = React.useMemo(\n () => getStyledModal(getStatusBarHeight(true)),\n []\n );\n const _closeOnPick = closeOnPick && type === 'single';\n\n // Resets the temporary state to the initial state whenever the\n // modal is reopened or the value changes\n React.useEffect(() => {\n setSelectedValues(\n (value ? (type === 'multi' ? value : [value]) : []) as Data[]\n );\n }, [value, focused, setSelectedValues]);\n\n const getData = React.useCallback(\n (options: Data[]) => {\n return options?.map((option, index) => ({\n ...option,\n _checked:\n type === 'multi'\n ? !!selectedValues.find(\n value =>\n keyExtractor(option, index) == keyExtractor(value, index)\n )\n : keyExtractor((selectedValues[0] || {}) as Data, index) ==\n keyExtractor(option, index),\n }));\n },\n [keyExtractor, selectedValues, type]\n );\n\n const data = React.useMemo(\n () => (typeof options !== 'function' ? getData(options) : []),\n [options, getData]\n );\n\n const handlePressItem = React.useCallback(\n (option: Data) => {\n setSelectedValues(selectedValues => {\n if (type === 'multi') {\n const newArr: Data[] = [];\n let found = false;\n for (const value of selectedValues) {\n if (keyExtractor(value) != keyExtractor(option)) newArr.push(value);\n else found = true;\n }\n if (!found) newArr.push(option);\n return newArr;\n }\n return keyExtractor((selectedValues[0] || {}) as Data) ===\n keyExtractor(option)\n ? []\n : [option];\n });\n },\n [selectedValues, setSelectedValues, keyExtractor, type]\n );\n\n React.useEffect(() => {\n if (_closeOnPick && selectedValues[0] && selectedValues[0] !== value) {\n handleConfirm();\n }\n }, [selectedValues[0], value, closeOnPick]);\n\n const handleConfirm = React.useCallback(() => {\n // TS Workaround since TS won't infer the ternary operator's result type correctly\n type OnSelectArg = Parameters<typeof onSelect>[0];\n onSelect(\n (type === 'single' ? selectedValues[0] : selectedValues) as OnSelectArg\n );\n close?.();\n }, [selectedValues]);\n\n const optionBuilder = React.useCallback(\n ({ item }: ListRenderItemInfo<Data & { _checked: boolean }>) => (\n <MemoizedOption\n item={item}\n type={type}\n handlePressItem={handlePressItem}\n labelExtractor={labelExtractor}\n />\n ),\n []\n );\n\n const anyChecked = data.filter(item => item._checked).length;\n const dataLengthChanged = data.length;\n\n const memoizedFlatlist = React.useMemo(\n () => (\n <FlatList\n data={data}\n keyExtractor={keyExtractor}\n fadingEdgeLength={200}\n renderItem={optionBuilder}\n />\n ),\n [selectedValues, anyChecked, dataLengthChanged]\n );\n\n const titleTextModal = selectModalTitle ? (\n <TextTitleModal\n typography=\"h4\"\n fontWeight=\"bold\"\n numberOfLines={3}\n style={{ maxWidth: RFValue(250) }}\n >\n {selectModalTitle}\n </TextTitleModal>\n ) : null;\n\n const headerContent = selectModalTitleComponent\n ? selectModalTitleComponent\n : titleTextModal;\n\n return (\n <ModalView {...others} BoxComponent={ModalComponent} showCloseBar={false}>\n <Header\n rightButton={{\n onPress: close,\n icon: {\n name: 'close',\n type: 'material-community',\n fontColor: 'light',\n },\n }}\n >\n {headerContent}\n </Header>\n\n {!hideSearchBar && (\n <SearchBarContainer>\n <Input\n placeholder={searchBarPlaceholder}\n value={searchArg}\n onChange={text => setSearchArg(text)}\n leftComponent={\n <SelectIcon name=\"search\" type=\"ionicon\" size=\"centi\" />\n }\n />\n </SearchBarContainer>\n )}\n\n {loading && (\n <FetchIndicator animating={true} color={'grey'} size={'large'} />\n )}\n\n {memoizedFlatlist}\n\n {!_closeOnPick && (\n <ModalFooter>\n <Button\n variant={'filled'}\n color={'primary'}\n onPress={handleConfirm}\n disabled={loading}\n >\n <Text fontColor={'light'} fontWeight=\"bold\">\n {confirmButtonText}\n </Text>\n </Button>\n </ModalFooter>\n )}\n </ModalView>\n );\n};\n\ninterface IOption<T> {\n item: T & { _checked: boolean };\n type: 'single' | 'multi';\n labelExtractor: (option: T) => string;\n handlePressItem: (option: T) => void;\n}\n\nconst MemoizedOption = <T,>({\n handlePressItem,\n labelExtractor,\n item,\n type,\n}: IOption<T>): JSX.Element => {\n return React.useMemo(() => {\n const label = labelExtractor(item);\n return (\n <ListItem onPress={() => handlePressItem(item)}>\n <View pointerEvents={'none'}>\n {type === 'multi' ? (\n <Checkbox\n color={'primary'}\n labelPosition={'right'}\n checked={item._checked}\n >\n <Text fontWeight={item._checked ? 'bold' : 'regular'}>\n {label}\n </Text>\n </Checkbox>\n ) : (\n <RadioButton\n color={'primary'}\n labelPosition={'right'}\n checked={item._checked}\n >\n <Text fontWeight={item._checked ? 'bold' : 'regular'}>\n {label}\n </Text>\n </RadioButton>\n )}\n </View>\n </ListItem>\n );\n }, [item._checked]);\n};\n\nexport const Modal = Component;\n"],"mappings":"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"}
@@ -19,7 +19,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
19
19
 
20
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
21
 
22
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
22
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
23
 
24
24
  function Select({
25
25
  value,
@@ -117,11 +117,11 @@ function Select({
117
117
  const getDisplayValue = React.useCallback(() => {
118
118
  if (Array.isArray(value)) {
119
119
  if (value.length === 0) return _placeholder;else {
120
- let options = selectOptions.length > 0 ? selectOptions : value;
120
+ const options = selectOptions.length > 0 ? selectOptions : value;
121
121
  return options == null ? void 0 : options.reduce((acc, option, index) => value.find(key => keyExtractor(option, index) == keyExtractor(key, index)) ? acc + labelExtractor(option) + ', ' : acc, '').slice(0, -2);
122
122
  }
123
123
  } else {
124
- if (value === undefined) return _placeholder;
124
+ if (!value) return _placeholder;
125
125
  const selectedOption = selectOptions == null ? void 0 : selectOptions.find((option, index) => keyExtractor(option, index) == keyExtractor(value, index));
126
126
  return labelExtractor(selectedOption ?? value);
127
127
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/molecules/Select/Select.tsx"],"names":["Select","value","options","keyExtractor","groupKeyExtractor","onSelect","type","labelExtractor","placeholder","onFocus","onBlur","disabled","onSearch","selectModalTitle","selectModalTitleComponent","searchBarPlaceholder","hideSearchBar","confirmButtonText","rightComponent","variant","hintComponent","hint","style","controlComponent","closeOnPick","label","numberOfLines","rest","focused","handleBlur","handleFocus","selectOptions","setSelectOptions","modal","loading","setLoading","onlyLabel","hasValue","length","_placeholder","_label","undefined","handleLazyFocus","React","useCallback","result","find","v","e","handleOnSearch","searchInput","selectedValues","filter","current","requestUpdate","getDisplayValue","Array","isArray","reduce","acc","option","index","key","slice","selectedOption","sync","handlePressInput","show","Text"],"mappings":"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","sourcesContent":["import {\n HintInputContainer,\n InputContainerProps,\n useInputFocus,\n} from '@tecsinapse/react-core';\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport { useLazyModalManager } from '../../atoms/Modal';\nimport { Text } from '../../atoms/Text';\nimport { Modal } from './Modal';\nimport { SelectIcon, StyledSelectionText } from './styled';\n\nexport interface SelectNativeProps<Data, Type extends 'single' | 'multi'>\n extends Omit<InputContainerProps, 'value' | 'onChange' | 'onChangeText'> {\n options: ((searchInput?: string) => Promise<Data[]>) | Data[];\n onSelect: (\n option: Type extends 'single' ? Data | undefined : Data[]\n ) => never | void;\n value: Type extends 'single' ? Data | null | undefined : Data[];\n type: Type;\n\n keyExtractor: (t: Data, index?: number) => string;\n labelExtractor: (t: Data) => string;\n groupKeyExtractor?: (t: Data) => string;\n\n hideSearchBar?: boolean;\n placeholder?: string;\n onFocus?: () => void | never;\n onBlur?: () => void | never;\n onSearch?:\n | ((searchArg: string) => void)\n | ((searchInput?: string) => Promise<Data[]>)\n | never;\n searchBarPlaceholder?: string;\n confirmButtonText?: string;\n selectModalTitle?: string;\n selectModalTitleComponent?: JSX.Element;\n closeOnPick?: boolean;\n controlComponent?: (\n onPress: () => void,\n displayValue?: string\n ) => JSX.Element;\n numberOfLines?: number;\n}\n\nfunction Select<Data, Type extends 'single' | 'multi'>({\n /** Select props */\n value,\n options,\n keyExtractor,\n groupKeyExtractor,\n onSelect,\n type,\n labelExtractor,\n placeholder,\n onFocus,\n onBlur,\n disabled,\n onSearch,\n selectModalTitle,\n selectModalTitleComponent,\n searchBarPlaceholder,\n hideSearchBar,\n confirmButtonText,\n rightComponent,\n variant = 'default',\n hintComponent,\n hint,\n style,\n controlComponent,\n closeOnPick = type === 'single',\n label,\n numberOfLines,\n ...rest\n}: SelectNativeProps<Data, Type>): JSX.Element {\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n const [selectOptions, setSelectOptions] = useState<Data[]>([]);\n const modal = useLazyModalManager();\n\n // TODO: Add Skeleton to modal height when loading is true\n const [loading, setLoading] = useState<boolean>(false);\n\n const onlyLabel = label && !placeholder;\n const hasValue =\n type === 'single' ? !!value : ((value || []) as []).length > 0;\n const _placeholder = onlyLabel ? label : placeholder;\n const _label = hasValue ? label : undefined;\n\n useEffect(() => {\n if (typeof options !== 'function') {\n setSelectOptions(options);\n }\n }, [options]);\n\n const handleLazyFocus = React.useCallback(async () => {\n if (typeof options === 'function') {\n setLoading(true);\n try {\n const result = await options();\n if (result) {\n if (\n value &&\n !result.find(v => keyExtractor(value as Data) === keyExtractor(v))\n ) {\n setSelectOptions([value as Data, ...result]);\n } else setSelectOptions(result);\n }\n } catch (e) {\n // TODO: Catch error\n } finally {\n setLoading(false);\n }\n }\n }, [options, value, setSelectOptions]);\n\n const handleOnSearch = React.useCallback(\n async (searchInput: string | undefined) => {\n if (searchInput !== undefined && onSearch) {\n setLoading(true);\n try {\n const result = await onSearch(searchInput);\n if (result) {\n if (type === 'single') {\n if (\n value &&\n !result.find(\n v => keyExtractor(value as Data) === keyExtractor(v)\n )\n ) {\n setSelectOptions([value as Data, ...result]);\n } else setSelectOptions(result);\n } else {\n if ((value as Data[]).length > 0) {\n const selectedValues =\n (value as Data[]).filter(\n v =>\n !result.find(\n current =>\n keyExtractor(v as Data) === keyExtractor(current)\n )\n ) || [];\n setSelectOptions([...selectedValues, ...result]);\n } else {\n setSelectOptions(result);\n }\n }\n }\n } catch (e) {\n // TODO: Catch error\n } finally {\n modal.requestUpdate();\n setLoading(false);\n }\n }\n },\n [options, value, keyExtractor]\n );\n\n const getDisplayValue = React.useCallback(() => {\n if (Array.isArray(value)) {\n if (value.length === 0) return _placeholder;\n else {\n let options =\n selectOptions.length > 0 ? selectOptions : (value as Data[]);\n return options\n ?.reduce(\n (acc, option, index) =>\n value.find(\n key => keyExtractor(option, index) == keyExtractor(key, index)\n )\n ? acc + labelExtractor(option) + ', '\n : acc,\n ''\n )\n .slice(0, -2);\n }\n } else {\n if (value === undefined) return _placeholder;\n const selectedOption = selectOptions?.find(\n (option, index) =>\n keyExtractor(option, index) == keyExtractor(value as Data, index)\n );\n return labelExtractor(selectedOption ?? (value as Data));\n }\n }, [_placeholder, value, selectOptions]);\n\n modal.sync(\n <Modal\n options={selectOptions || []}\n focused={true}\n keyExtractor={keyExtractor}\n labelExtractor={labelExtractor}\n groupKeyExtractor={groupKeyExtractor}\n searchBarPlaceholder={searchBarPlaceholder}\n type={type}\n onSelect={onSelect}\n value={value}\n hideSearchBar={hideSearchBar}\n onSearch={handleOnSearch}\n selectModalTitle={selectModalTitle}\n selectModalTitleComponent={selectModalTitleComponent}\n confirmButtonText={confirmButtonText}\n loading={loading}\n onClose={handleBlur}\n closeOnPick={closeOnPick}\n />\n );\n\n const handlePressInput = async () => {\n modal.show();\n handleFocus();\n await handleLazyFocus();\n };\n\n return (\n <>\n {controlComponent ? (\n controlComponent(handlePressInput, getDisplayValue() || '')\n ) : (\n <HintInputContainer\n viewStyle={style}\n onPress={handlePressInput}\n focused={focused}\n disabled={disabled}\n LabelComponent={Text}\n variant={variant}\n hint={hint}\n hintComponent={hintComponent}\n label={_label}\n rightComponent={\n <>\n <SelectIcon name=\"chevron-down\" type=\"ionicon\" size=\"centi\" />\n {rightComponent}\n </>\n }\n {...rest}\n >\n <StyledSelectionText\n numberOfLines={numberOfLines}\n fontWeight=\"bold\"\n disabled={disabled}\n >\n {getDisplayValue() || ' '}\n </StyledSelectionText>\n </HintInputContainer>\n )}\n </>\n );\n}\n\nexport default Select;\n"],"file":"Select.js"}
1
+ {"version":3,"file":"Select.js","names":["Select","value","options","keyExtractor","groupKeyExtractor","onSelect","type","labelExtractor","placeholder","onFocus","onBlur","disabled","onSearch","selectModalTitle","selectModalTitleComponent","searchBarPlaceholder","hideSearchBar","confirmButtonText","rightComponent","variant","hintComponent","hint","style","controlComponent","closeOnPick","label","numberOfLines","rest","focused","handleBlur","handleFocus","useInputFocus","selectOptions","setSelectOptions","useState","modal","useLazyModalManager","loading","setLoading","onlyLabel","hasValue","length","_placeholder","_label","undefined","useEffect","handleLazyFocus","React","useCallback","result","find","v","e","handleOnSearch","searchInput","selectedValues","filter","current","requestUpdate","getDisplayValue","Array","isArray","reduce","acc","option","index","key","slice","selectedOption","sync","handlePressInput","show","Text"],"sources":["../../../../src/components/molecules/Select/Select.tsx"],"sourcesContent":["import {\n HintInputContainer,\n InputContainerProps,\n useInputFocus,\n} from '@tecsinapse/react-core';\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport { useLazyModalManager } from '../../atoms/Modal';\nimport { Text } from '../../atoms/Text';\nimport { Modal } from './Modal';\nimport { SelectIcon, StyledSelectionText } from './styled';\n\nexport interface SelectNativeProps<Data, Type extends 'single' | 'multi'>\n extends Omit<InputContainerProps, 'value' | 'onChange' | 'onChangeText'> {\n options: ((searchInput?: string) => Promise<Data[]>) | Data[];\n onSelect: (\n option: Type extends 'single' ? Data | undefined : Data[]\n ) => never | void;\n value: Type extends 'single' ? Data | null | undefined : Data[];\n type: Type;\n\n keyExtractor: (t: Data, index?: number) => string;\n labelExtractor: (t: Data) => string;\n groupKeyExtractor?: (t: Data) => string;\n\n hideSearchBar?: boolean;\n placeholder?: string;\n onFocus?: () => void | never;\n onBlur?: () => void | never;\n onSearch?:\n | ((searchArg: string) => void)\n | ((searchInput?: string) => Promise<Data[]>)\n | never;\n searchBarPlaceholder?: string;\n confirmButtonText?: string;\n selectModalTitle?: string;\n selectModalTitleComponent?: JSX.Element;\n closeOnPick?: boolean;\n controlComponent?: (\n onPress: () => void,\n displayValue?: string\n ) => JSX.Element;\n numberOfLines?: number;\n}\n\nfunction Select<Data, Type extends 'single' | 'multi'>({\n /** Select props */\n value,\n options,\n keyExtractor,\n groupKeyExtractor,\n onSelect,\n type,\n labelExtractor,\n placeholder,\n onFocus,\n onBlur,\n disabled,\n onSearch,\n selectModalTitle,\n selectModalTitleComponent,\n searchBarPlaceholder,\n hideSearchBar,\n confirmButtonText,\n rightComponent,\n variant = 'default',\n hintComponent,\n hint,\n style,\n controlComponent,\n closeOnPick = type === 'single',\n label,\n numberOfLines,\n ...rest\n}: SelectNativeProps<Data, Type>): JSX.Element {\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n const [selectOptions, setSelectOptions] = useState<Data[]>([]);\n const modal = useLazyModalManager();\n\n // TODO: Add Skeleton to modal height when loading is true\n const [loading, setLoading] = useState<boolean>(false);\n\n const onlyLabel = label && !placeholder;\n const hasValue =\n type === 'single' ? !!value : ((value || []) as []).length > 0;\n const _placeholder = onlyLabel ? label : placeholder;\n const _label = hasValue ? label : undefined;\n\n useEffect(() => {\n if (typeof options !== 'function') {\n setSelectOptions(options);\n }\n }, [options]);\n\n const handleLazyFocus = React.useCallback(async () => {\n if (typeof options === 'function') {\n setLoading(true);\n try {\n const result = await options();\n if (result) {\n if (\n value &&\n !result.find(v => keyExtractor(value as Data) === keyExtractor(v))\n ) {\n setSelectOptions([value as Data, ...result]);\n } else setSelectOptions(result);\n }\n } catch (e) {\n // TODO: Catch error\n } finally {\n setLoading(false);\n }\n }\n }, [options, value, setSelectOptions]);\n\n const handleOnSearch = React.useCallback(\n async (searchInput: string | undefined) => {\n if (searchInput !== undefined && onSearch) {\n setLoading(true);\n try {\n const result = await onSearch(searchInput);\n if (result) {\n if (type === 'single') {\n if (\n value &&\n !result.find(\n v => keyExtractor(value as Data) === keyExtractor(v)\n )\n ) {\n setSelectOptions([value as Data, ...result]);\n } else setSelectOptions(result);\n } else {\n if ((value as Data[]).length > 0) {\n const selectedValues =\n (value as Data[]).filter(\n v =>\n !result.find(\n current =>\n keyExtractor(v as Data) === keyExtractor(current)\n )\n ) || [];\n setSelectOptions([...selectedValues, ...result]);\n } else {\n setSelectOptions(result);\n }\n }\n }\n } catch (e) {\n // TODO: Catch error\n } finally {\n modal.requestUpdate();\n setLoading(false);\n }\n }\n },\n [options, value, keyExtractor]\n );\n\n const getDisplayValue = React.useCallback(() => {\n if (Array.isArray(value)) {\n if (value.length === 0) return _placeholder;\n else {\n const options =\n selectOptions.length > 0 ? selectOptions : (value as Data[]);\n return options\n ?.reduce(\n (acc, option, index) =>\n value.find(\n key => keyExtractor(option, index) == keyExtractor(key, index)\n )\n ? acc + labelExtractor(option) + ', '\n : acc,\n ''\n )\n .slice(0, -2);\n }\n } else {\n if (!value) return _placeholder;\n const selectedOption = selectOptions?.find(\n (option, index) =>\n keyExtractor(option, index) == keyExtractor(value as Data, index)\n );\n return labelExtractor(selectedOption ?? (value as Data));\n }\n }, [_placeholder, value, selectOptions]);\n\n modal.sync(\n <Modal\n options={selectOptions || []}\n focused={true}\n keyExtractor={keyExtractor}\n labelExtractor={labelExtractor}\n groupKeyExtractor={groupKeyExtractor}\n searchBarPlaceholder={searchBarPlaceholder}\n type={type}\n onSelect={onSelect}\n value={value}\n hideSearchBar={hideSearchBar}\n onSearch={handleOnSearch}\n selectModalTitle={selectModalTitle}\n selectModalTitleComponent={selectModalTitleComponent}\n confirmButtonText={confirmButtonText}\n loading={loading}\n onClose={handleBlur}\n closeOnPick={closeOnPick}\n />\n );\n\n const handlePressInput = async () => {\n modal.show();\n handleFocus();\n await handleLazyFocus();\n };\n\n return (\n <>\n {controlComponent ? (\n controlComponent(handlePressInput, getDisplayValue() || '')\n ) : (\n <HintInputContainer\n viewStyle={style}\n onPress={handlePressInput}\n focused={focused}\n disabled={disabled}\n LabelComponent={Text}\n variant={variant}\n hint={hint}\n hintComponent={hintComponent}\n label={_label}\n rightComponent={\n <>\n <SelectIcon name=\"chevron-down\" type=\"ionicon\" size=\"centi\" />\n {rightComponent}\n </>\n }\n {...rest}\n >\n <StyledSelectionText\n numberOfLines={numberOfLines}\n fontWeight=\"bold\"\n disabled={disabled}\n >\n {getDisplayValue() || ' '}\n </StyledSelectionText>\n </HintInputContainer>\n )}\n </>\n );\n}\n\nexport default Select;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/molecules/Select/index.ts"],"names":[],"mappings":";;;;;AAAA","sourcesContent":["export { default as Select, SelectNativeProps } from './Select';\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/molecules/Select/index.ts"],"sourcesContent":["export { default as Select, SelectNativeProps } from './Select';\n"],"mappings":";;;;;AAAA"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.TextTitleModal = exports.FetchIndicator = exports.SelectIcon = exports.ModalFooter = exports.ListItem = exports.SearchBar = exports.SearchBarContainer = exports.CloseButton = exports.Header = exports.StyledPressableSurface = exports.Dummy = exports.StyledSelectionText = exports.getStyledModal = void 0;
4
+ exports.getStyledModal = exports.TextTitleModal = exports.StyledSelectionText = exports.StyledPressableSurface = exports.SelectIcon = exports.SearchBarContainer = exports.SearchBar = exports.ModalFooter = exports.ListItem = exports.Header = exports.FetchIndicator = exports.Dummy = exports.CloseButton = void 0;
5
5
 
6
6
  var _native = _interopRequireWildcard(require("@emotion/native"));
7
7