@ornikar/kitt-universal 3.9.0 → 4.0.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 (69) hide show
  1. package/dist/definitions/Button/AnimatedButtonPressable.web.d.ts +1 -1
  2. package/dist/definitions/IconButton/IconButton.d.ts +5 -1
  3. package/dist/definitions/IconButton/IconButton.d.ts.map +1 -1
  4. package/dist/definitions/IconButton/PressableAnimatedContainer.d.ts +4 -1
  5. package/dist/definitions/IconButton/PressableAnimatedContainer.d.ts.map +1 -1
  6. package/dist/definitions/TimePicker/TimePicker.d.ts +1 -1
  7. package/dist/definitions/TimePicker/TimePicker.d.ts.map +1 -1
  8. package/dist/definitions/TimePicker/useTimePicker.d.ts +2 -4
  9. package/dist/definitions/TimePicker/useTimePicker.d.ts.map +1 -1
  10. package/dist/definitions/forms/InputFeedback/InputFeedback.d.ts +1 -1
  11. package/dist/definitions/forms/InputFeedback/InputFeedback.d.ts.map +1 -1
  12. package/dist/definitions/forms/InputIcon/InputIcon.d.ts +9 -0
  13. package/dist/definitions/forms/InputIcon/InputIcon.d.ts.map +1 -0
  14. package/dist/definitions/forms/InputPassword/InputPassword.d.ts +7 -0
  15. package/dist/definitions/forms/InputPassword/InputPassword.d.ts.map +1 -0
  16. package/dist/definitions/forms/InputPressable/InputPressable.d.ts +6 -0
  17. package/dist/definitions/forms/InputPressable/InputPressable.d.ts.map +1 -0
  18. package/dist/definitions/forms/InputText/InputText.d.ts +4 -12
  19. package/dist/definitions/forms/InputText/InputText.d.ts.map +1 -1
  20. package/dist/definitions/forms/TextArea/TextArea.d.ts +1 -1
  21. package/dist/definitions/forms/TextArea/TextArea.d.ts.map +1 -1
  22. package/dist/definitions/forms/styledTextInputMixin.d.ts +7 -0
  23. package/dist/definitions/forms/styledTextInputMixin.d.ts.map +1 -0
  24. package/dist/definitions/forms/utils.d.ts +10 -0
  25. package/dist/definitions/forms/utils.d.ts.map +1 -0
  26. package/dist/definitions/index.d.ts +10 -2
  27. package/dist/definitions/index.d.ts.map +1 -1
  28. package/dist/definitions/themes/default.d.ts +2 -13
  29. package/dist/definitions/themes/default.d.ts.map +1 -1
  30. package/dist/definitions/themes/late-ocean/forms.d.ts +26 -0
  31. package/dist/definitions/themes/late-ocean/forms.d.ts.map +1 -0
  32. package/dist/definitions/themes/late-ocean/input.d.ts +26 -0
  33. package/dist/definitions/themes/late-ocean/input.d.ts.map +1 -0
  34. package/dist/definitions/themes/late-ocean/textArea.d.ts +5 -0
  35. package/dist/definitions/themes/late-ocean/textArea.d.ts.map +1 -0
  36. package/dist/index-browser-all.es.android.js +330 -291
  37. package/dist/index-browser-all.es.android.js.map +1 -1
  38. package/dist/index-browser-all.es.ios.js +330 -291
  39. package/dist/index-browser-all.es.ios.js.map +1 -1
  40. package/dist/index-browser-all.es.js +330 -291
  41. package/dist/index-browser-all.es.js.map +1 -1
  42. package/dist/index-browser-all.es.web.js +328 -295
  43. package/dist/index-browser-all.es.web.js.map +1 -1
  44. package/dist/index-node-14.17.cjs.js +249 -211
  45. package/dist/index-node-14.17.cjs.js.map +1 -1
  46. package/dist/index-node-14.17.cjs.web.js +240 -207
  47. package/dist/index-node-14.17.cjs.web.js.map +1 -1
  48. package/dist/linaria-themes-browser-all.es.android.js +119 -106
  49. package/dist/linaria-themes-browser-all.es.android.js.map +1 -1
  50. package/dist/linaria-themes-browser-all.es.ios.js +119 -106
  51. package/dist/linaria-themes-browser-all.es.ios.js.map +1 -1
  52. package/dist/linaria-themes-browser-all.es.js +119 -106
  53. package/dist/linaria-themes-browser-all.es.js.map +1 -1
  54. package/dist/linaria-themes-browser-all.es.web.js +119 -106
  55. package/dist/linaria-themes-browser-all.es.web.js.map +1 -1
  56. package/dist/linaria-themes-node-14.17.cjs.js +115 -102
  57. package/dist/linaria-themes-node-14.17.cjs.js.map +1 -1
  58. package/dist/linaria-themes-node-14.17.cjs.web.js +115 -102
  59. package/dist/linaria-themes-node-14.17.cjs.web.js.map +1 -1
  60. package/dist/tsbuildinfo +1 -1
  61. package/package.json +2 -2
  62. package/dist/definitions/forms/InputFormState.d.ts +0 -2
  63. package/dist/definitions/forms/InputFormState.d.ts.map +0 -1
  64. package/dist/definitions/forms/InputText/useInputText.d.ts +0 -8
  65. package/dist/definitions/forms/InputText/useInputText.d.ts.map +0 -1
  66. package/dist/definitions/themes/late-ocean/formLateOceanTheme.d.ts +0 -37
  67. package/dist/definitions/themes/late-ocean/formLateOceanTheme.d.ts.map +0 -1
  68. package/dist/definitions/themes/late-ocean/inputLateOceanTheme.d.ts +0 -23
  69. package/dist/definitions/themes/late-ocean/inputLateOceanTheme.d.ts.map +0 -1
@@ -801,7 +801,7 @@ const Button = /*#__PURE__*/react.forwardRef(({
801
801
  });
802
802
  });
803
803
 
804
- const Container$7 = /*#__PURE__*/styled__default.View.withConfig({
804
+ const Container$6 = /*#__PURE__*/styled__default.View.withConfig({
805
805
  displayName: "Card__Container",
806
806
  componentId: "kitt-universal__sc-1n9psug-0"
807
807
  })(["background-color:", ";padding:", ";border-radius:", ";border-width:", ";border-color:", ";"], ({
@@ -821,7 +821,7 @@ function Card({
821
821
  children,
822
822
  type
823
823
  }) {
824
- return /*#__PURE__*/jsxRuntime.jsx(Container$7, {
824
+ return /*#__PURE__*/jsxRuntime.jsx(Container$6, {
825
825
  type: type,
826
826
  children: children
827
827
  });
@@ -901,6 +901,7 @@ const getColorFromState = state => {
901
901
  case 'invalid':
902
902
  return 'danger';
903
903
 
904
+ case 'valid':
904
905
  default:
905
906
  return 'black-light';
906
907
  }
@@ -960,46 +961,87 @@ function InputField({
960
961
  });
961
962
  }
962
963
 
963
- const useInputText = () => {
964
- const [isFocused, setIsFocused] = react.useState(false);
965
- const [isPasswordVisible, setIsPasswordVisible] = react.useState(false);
966
- return {
967
- isFocused,
968
- handleInputFocus: () => setIsFocused(true),
969
- handleInputBlur: () => setIsFocused(false),
970
- togglePasswordVisibility: () => setIsPasswordVisible(isVisible => !isVisible),
971
- isPasswordVisible
972
- };
973
- };
964
+ function getIconColor(state, disabled) {
965
+ if (disabled) return 'black-light';
966
+
967
+ switch (state) {
968
+ case 'invalid':
969
+ return 'danger';
970
+
971
+ case 'valid':
972
+ return 'success';
973
+
974
+ default:
975
+ return undefined;
976
+ }
977
+ }
978
+
979
+ function InputIcon({
980
+ icon,
981
+ state,
982
+ disabled
983
+ }) {
984
+ const theme = /*#__PURE__*/styled.useTheme();
985
+ const color = getIconColor(state, disabled);
986
+ return /*#__PURE__*/jsxRuntime.jsx(TypographyIcon, {
987
+ color: color,
988
+ icon: icon,
989
+ size: theme.kitt.forms.input.icon.size
990
+ });
991
+ }
992
+
993
+ function InputPressable({ ...props
994
+ }) {
995
+ return /*#__PURE__*/jsxRuntime.jsx(reactNative.Pressable, { ...props
996
+ });
997
+ }
974
998
 
975
999
  const styledTextInputMixin = /*#__PURE__*/styled.css(["background-color:", ";border-width:", ";border-radius:", ";border-color:", ";font-size:", ";color:", ";font-family:", ";"], ({
976
1000
  theme,
977
- state
978
- }) => state === 'disabled' ? theme.kitt.forms.input.states.disabled.backgroundColor : theme.kitt.forms.input.states.default.backgroundColor, ({
1001
+ $state
1002
+ }) => $state === 'disabled' ? theme.kitt.forms.input.states.disabled.backgroundColor : theme.kitt.forms.input.states.default.backgroundColor, ({
979
1003
  theme
980
1004
  }) => theme.kitt.forms.input.borderWidth, ({
981
1005
  theme
982
1006
  }) => theme.kitt.forms.input.borderRadius, ({
983
1007
  theme,
984
- state
985
- }) => theme.kitt.forms.input.states[state].borderColor, ({
1008
+ $state
1009
+ }) => theme.kitt.forms.input.states[$state].borderColor, ({
986
1010
  theme
987
1011
  }) => {
988
1012
  const typeConfigKey = getTypographyTypeConfigKey(theme);
989
1013
  return theme.kitt.typography.types.bodies.configs.body[typeConfigKey].fontSize;
990
1014
  }, ({
991
1015
  theme,
992
- state
993
- }) => theme.kitt.typography.colors[theme.kitt.forms.input.states[state].color], ({
1016
+ $state
1017
+ }) => theme.kitt.typography.colors[theme.kitt.forms.input.states[$state].color], ({
994
1018
  theme
995
1019
  }) => theme.kitt.typography.types.bodies.fontFamily.regular);
996
- const Input = /*#__PURE__*/styled__default(reactNative.TextInput).withConfig({
997
- displayName: "InputText__Input",
1020
+
1021
+ function getInputUIState({
1022
+ isFocused,
1023
+ isDisabled,
1024
+ formState
1025
+ }) {
1026
+ if (isDisabled) return 'disabled';
1027
+ if (isFocused) return 'focus';
1028
+ if (formState === 'invalid') return 'invalid';
1029
+ return 'default';
1030
+ }
1031
+
1032
+ const StyledTextInput = /*#__PURE__*/styled__default(reactNative.TextInput).withConfig({
1033
+ displayName: "InputText__StyledTextInput",
998
1034
  componentId: "kitt-universal__sc-uke279-0"
999
1035
  })(["", " padding:", ";line-height:", ";min-height:", "px;"], styledTextInputMixin, ({
1000
1036
  theme,
1001
1037
  multiline
1002
- }) => !multiline && reactNative.Platform.OS === 'ios' ? theme.kitt.forms.input.paddingSingleLineIOS : theme.kitt.forms.input.padding, ({
1038
+ }) => {
1039
+ if (!multiline && reactNative.Platform.OS === 'ios') {
1040
+ return theme.kitt.forms.input.padding.iOSSingleLine;
1041
+ }
1042
+
1043
+ return theme.kitt.forms.input.padding.default;
1044
+ }, ({
1003
1045
  theme,
1004
1046
  multiline
1005
1047
  }) => {
@@ -1007,116 +1049,86 @@ const Input = /*#__PURE__*/styled__default(reactNative.TextInput).withConfig({
1007
1049
  const typeConfigKey = getTypographyTypeConfigKey(theme);
1008
1050
  return theme.kitt.typography.types.bodies.configs.body[typeConfigKey].lineHeight;
1009
1051
  }, ({
1010
- minHeight
1011
- }) => minHeight);
1012
- const Container$6 = /*#__PURE__*/styled__default.View.withConfig({
1013
- displayName: "InputText__Container",
1052
+ $minHeight
1053
+ }) => $minHeight);
1054
+ const InputTextContainer = /*#__PURE__*/styled__default.View.withConfig({
1055
+ displayName: "InputText__InputTextContainer",
1014
1056
  componentId: "kitt-universal__sc-uke279-1"
1015
- })(["margin-top:", ";margin-bottom:", ";"], ({
1016
- theme
1017
- }) => theme.kitt.forms.input.marginTop, ({
1018
- theme
1019
- }) => theme.kitt.forms.input.marginBottom);
1020
- const PasswordButtonContainer = /*#__PURE__*/styled__default.Pressable.withConfig({
1021
- displayName: "InputText__PasswordButtonContainer",
1057
+ })(["position:relative;"]);
1058
+ const RightInputContainer = /*#__PURE__*/styled__default.View.withConfig({
1059
+ displayName: "InputText__RightInputContainer",
1022
1060
  componentId: "kitt-universal__sc-uke279-2"
1023
- })(["position:absolute;right:0;top:0;bottom:0;justify-content:center;padding:", "px;"], ({
1024
- theme
1025
- }) => theme.kitt.forms.input.passwordButtonIconSize / 2);
1026
-
1027
- const getInputState = ({
1028
- isDisabled,
1029
- isFocused,
1030
- formState
1031
- }) => {
1032
- if (isDisabled) return 'disabled';
1033
- if (isFocused) return 'focus';
1034
- if (formState === 'invalid') return 'invalid';
1035
- return 'default';
1036
- };
1037
-
1038
- const keyboardTypeByTextInputType = {
1039
- text: 'default',
1040
- email: 'email-address',
1041
- password: 'default',
1042
- username: 'default'
1043
- };
1044
- const autoCompleteTypeByType = {
1045
- text: 'off',
1046
- email: 'email',
1047
- password: 'password',
1048
- username: 'name'
1049
- };
1050
- const autoCorrectByType = {
1051
- text: true,
1052
- email: false,
1053
- password: false,
1054
- username: false
1055
- };
1056
- const textContentTypeByType = {
1057
- text: 'none',
1058
- email: 'emailAddress',
1059
- password: 'password',
1060
- username: 'username'
1061
- };
1061
+ })(["position:absolute;right:0;top:0;bottom:0;justify-content:center;padding:10px;"]);
1062
1062
  const InputText = /*#__PURE__*/react.forwardRef(({
1063
1063
  id,
1064
+ right,
1064
1065
  minHeight = 0,
1065
- type,
1066
1066
  state: formState,
1067
1067
  internalForceState,
1068
1068
  disabled = false,
1069
+ autoCorrect = true,
1070
+ textContentType = 'none',
1071
+ autoCompleteType = 'off',
1072
+ keyboardType = 'default',
1069
1073
  onFocus,
1070
1074
  onBlur,
1071
1075
  ...props
1072
1076
  }, ref) => {
1073
- const {
1074
- isFocused,
1075
- handleInputBlur,
1076
- handleInputFocus,
1077
- isPasswordVisible,
1078
- togglePasswordVisibility
1079
- } = useInputText();
1080
1077
  const theme = /*#__PURE__*/styled.useTheme();
1081
- const state = internalForceState || getInputState({
1078
+ const [isFocused, setIsFocused] = react.useState(false);
1079
+ const state = internalForceState || getInputUIState({
1082
1080
  isFocused,
1083
1081
  isDisabled: disabled,
1084
1082
  formState
1085
1083
  });
1086
- return /*#__PURE__*/jsxRuntime.jsxs(Container$6, {
1087
- children: [/*#__PURE__*/jsxRuntime.jsx(Input, {
1084
+ return /*#__PURE__*/jsxRuntime.jsxs(InputTextContainer, {
1085
+ children: [/*#__PURE__*/jsxRuntime.jsx(StyledTextInput, {
1088
1086
  ref: ref,
1089
1087
  nativeID: id,
1090
1088
  editable: !disabled,
1091
- keyboardType: keyboardTypeByTextInputType[type],
1092
- autoCompleteType: autoCompleteTypeByType[type],
1093
- autoCorrect: autoCorrectByType[type],
1094
- minHeight: minHeight,
1095
- textContentType: textContentTypeByType[type],
1096
- placeholderTextColor: theme.kitt.typography.colors[theme.kitt.forms.input.placeholderColor],
1097
- selectionColor: theme.kitt.forms.input.selectionColor,
1098
- secureTextEntry: type === 'password' && !isPasswordVisible,
1089
+ keyboardType: keyboardType,
1090
+ autoCompleteType: autoCompleteType,
1091
+ autoCorrect: autoCorrect,
1092
+ $minHeight: minHeight,
1093
+ textContentType: textContentType,
1094
+ placeholderTextColor: theme.kitt.forms.input.color.placeholder,
1095
+ selectionColor: theme.kitt.forms.input.color.selection,
1099
1096
  ...props,
1100
- state: state,
1097
+ $state: state,
1101
1098
  onFocus: e => {
1102
- handleInputFocus();
1099
+ setIsFocused(true);
1103
1100
  if (onFocus) onFocus(e);
1104
1101
  },
1105
1102
  onBlur: e => {
1106
- handleInputBlur();
1103
+ setIsFocused(false);
1107
1104
  if (onBlur) onBlur(e);
1108
1105
  }
1109
- }), type === 'password' && !disabled && /*#__PURE__*/jsxRuntime.jsx(PasswordButtonContainer, {
1106
+ }), right ? /*#__PURE__*/jsxRuntime.jsx(RightInputContainer, {
1107
+ children: right
1108
+ }) : null]
1109
+ });
1110
+ });
1111
+
1112
+ function InputPassword({
1113
+ isPasswordDefaultVisible,
1114
+ right,
1115
+ ...props
1116
+ }) {
1117
+ const [isVisible, setIsVisible] = react.useState(Boolean(isPasswordDefaultVisible));
1118
+ return /*#__PURE__*/jsxRuntime.jsx(InputText, { ...props,
1119
+ textContentType: "password",
1120
+ autoCompleteType: "password",
1121
+ autoCorrect: false,
1122
+ secureTextEntry: !isVisible,
1123
+ right: right || /*#__PURE__*/jsxRuntime.jsx(InputPressable, {
1110
1124
  accessibilityRole: "button",
1111
- onPress: togglePasswordVisibility,
1112
- children: /*#__PURE__*/jsxRuntime.jsx(TypographyIcon, {
1113
- icon: isPasswordVisible ? /*#__PURE__*/jsxRuntime.jsx(kittIcons.EyeIcon, {}) : /*#__PURE__*/jsxRuntime.jsx(kittIcons.EyeOffIcon, {}),
1114
- size: theme.kitt.forms.input.passwordButtonIconSize,
1115
- color: theme.kitt.forms.input.states[state].passwordButtonIconColor
1125
+ onPress: () => setIsVisible(prev => !prev),
1126
+ children: /*#__PURE__*/jsxRuntime.jsx(InputIcon, {
1127
+ icon: isVisible ? /*#__PURE__*/jsxRuntime.jsx(kittIcons.EyeOffIcon, {}) : /*#__PURE__*/jsxRuntime.jsx(kittIcons.EyeIcon, {})
1116
1128
  })
1117
- })]
1129
+ })
1118
1130
  });
1119
- });
1131
+ }
1120
1132
 
1121
1133
  function Label({
1122
1134
  htmlFor,
@@ -1218,9 +1230,8 @@ function TextArea({ ...props
1218
1230
  return /*#__PURE__*/jsxRuntime.jsx(InputText, {
1219
1231
  multiline: true,
1220
1232
  textAlignVertical: "top",
1221
- ...props,
1222
- type: "text",
1223
- minHeight: theme.kitt.forms.input.textAreaMinHeight
1233
+ minHeight: theme.kitt.forms.textArea.minHeight,
1234
+ ...props
1224
1235
  });
1225
1236
  }
1226
1237
 
@@ -1518,6 +1529,9 @@ const AnimatedViewContainer = /*#__PURE__*/styled__default(Animated__default.Vie
1518
1529
  function PressableAnimatedContainer({
1519
1530
  disabled,
1520
1531
  color = 'black',
1532
+ testID,
1533
+ accessibilityRole = 'button',
1534
+ accessibilityLabel,
1521
1535
  children,
1522
1536
  onPress
1523
1537
  }) {
@@ -1536,7 +1550,7 @@ function PressableAnimatedContainer({
1536
1550
  };
1537
1551
  _f.asString = "function _f(){const{withSpring,pressed}=jsThis._closure;{return{opacity:withSpring(pressed.value?1:0)};}}";
1538
1552
  _f.__workletHash = 10645190329247;
1539
- _f.__location = "/home/circleci/repo/@ornikar/kitt-universal/src/IconButton/PressableAnimatedContainer.tsx (54:41)";
1553
+ _f.__location = "/home/circleci/repo/@ornikar/kitt-universal/src/IconButton/PressableAnimatedContainer.tsx (60:41)";
1540
1554
  _f.__optimalization = 2;
1541
1555
 
1542
1556
  global.__reanimatedWorkletInit(_f);
@@ -1570,7 +1584,7 @@ function PressableAnimatedContainer({
1570
1584
  };
1571
1585
  _f.asString = "function _f(){const{withSpring,pressed,theme}=jsThis._closure;{return{transform:[{scale:withSpring(pressed.value?theme.kitt.iconButton.scale.base.active:theme.kitt.iconButton.scale.base.default)}]};}}";
1572
1586
  _f.__workletHash = 13861998831411;
1573
- _f.__location = "/home/circleci/repo/@ornikar/kitt-universal/src/IconButton/PressableAnimatedContainer.tsx (60:39)";
1587
+ _f.__location = "/home/circleci/repo/@ornikar/kitt-universal/src/IconButton/PressableAnimatedContainer.tsx (66:39)";
1574
1588
  _f.__optimalization = 2;
1575
1589
 
1576
1590
  global.__reanimatedWorkletInit(_f);
@@ -1578,9 +1592,11 @@ function PressableAnimatedContainer({
1578
1592
  return _f;
1579
1593
  }());
1580
1594
  return /*#__PURE__*/jsxRuntime.jsx(PressableIconButton, {
1581
- accessibilityRole: "button",
1595
+ accessibilityRole: accessibilityRole,
1582
1596
  disabled: disabled,
1583
1597
  color: color,
1598
+ testID: testID,
1599
+ accessibilityLabel: accessibilityLabel,
1584
1600
  onPress: onPress,
1585
1601
  onPressIn: () => {
1586
1602
  pressed.value = true;
@@ -1639,11 +1655,17 @@ function IconButton({
1639
1655
  icon,
1640
1656
  color,
1641
1657
  disabled,
1658
+ testID,
1659
+ accessibilityLabel,
1660
+ accessibilityRole,
1642
1661
  onPress
1643
1662
  }) {
1644
1663
  return /*#__PURE__*/jsxRuntime.jsx(PressableAnimatedContainer, {
1645
1664
  color: color,
1646
1665
  disabled: disabled,
1666
+ testID: testID,
1667
+ accessibilityLabel: accessibilityLabel,
1668
+ accessibilityRole: accessibilityRole,
1647
1669
  onPress: onPress,
1648
1670
  children: /*#__PURE__*/jsxRuntime.jsx(IconButtonContent, {
1649
1671
  disabled: disabled,
@@ -2752,54 +2774,133 @@ const feedbackMessageLateOceanTheme = {
2752
2774
  }
2753
2775
  };
2754
2776
 
2755
- const inputFieldLateOceanTheme = {
2756
- labelContainerPaddingBottom: 5,
2757
- iconMarginLeft: 6
2777
+ const calcLineHeight = (fontSize, lineHeightMultiplier) => Math.round(fontSize * lineHeightMultiplier);
2778
+ const createTypographyTypeConfig = (lineHeightMultiplier, baseAndSmallFontSize, mediumAndWideFontSize) => ({
2779
+ baseAndSmall: {
2780
+ fontSize: `${baseAndSmallFontSize}px`,
2781
+ lineHeight: `${calcLineHeight(baseAndSmallFontSize, lineHeightMultiplier)}px`
2782
+ },
2783
+ mediumAndWide: {
2784
+ fontSize: `${mediumAndWideFontSize}px`,
2785
+ lineHeight: `${calcLineHeight(mediumAndWideFontSize, lineHeightMultiplier)}px`
2786
+ }
2787
+ });
2788
+ const typographyLateOceanTheme = {
2789
+ colors: {
2790
+ black: lateOceanColorPalette.black1000,
2791
+ 'black-light': lateOceanColorPalette.black555,
2792
+ white: lateOceanColorPalette.white,
2793
+ 'white-light': lateOceanColorPalette.white,
2794
+ primary: lateOceanColorPalette.lateOcean,
2795
+ 'primary-light': lateOceanColorPalette.lateOceanLight1,
2796
+ accent: lateOceanColorPalette.warmEmbrace,
2797
+ success: lateOceanColorPalette.viride,
2798
+ danger: lateOceanColorPalette.englishVermillon
2799
+ },
2800
+ types: {
2801
+ headers: {
2802
+ fontFamily: {
2803
+ regular: reactNative.Platform.OS === 'web' ? 'Moderat' : 'Moderat-Extended-Bold',
2804
+ bold: reactNative.Platform.OS === 'web' ? 'Moderat' : 'Moderat-Extended-Bold'
2805
+ },
2806
+ fontWeight: 400,
2807
+ fontStyle: 'normal',
2808
+ configs: {
2809
+ // also known as xxlarge
2810
+ header1: createTypographyTypeConfig(1.3, 38, 62),
2811
+ // also known as xlarge
2812
+ header2: createTypographyTypeConfig(1.3, 32, 48),
2813
+ // also known as medium
2814
+ header3: createTypographyTypeConfig(1.3, 24, 36),
2815
+ // also known as xsmall
2816
+ header4: createTypographyTypeConfig(1.3, 18, 24),
2817
+ // also known as xxsmall
2818
+ header5: createTypographyTypeConfig(1.3, 18, 18)
2819
+ }
2820
+ },
2821
+ bodies: {
2822
+ fontFamily: {
2823
+ regular: reactNative.Platform.OS === 'web' ? 'Noto Sans' : 'NotoSans',
2824
+ bold: reactNative.Platform.OS === 'web' ? 'Noto Sans' : 'NotoSans-Bold'
2825
+ },
2826
+ fontWeight: {
2827
+ regular: 400,
2828
+ bold: 700
2829
+ },
2830
+ fontStyle: {
2831
+ regular: 'normal',
2832
+ bold: 'normal'
2833
+ },
2834
+ configs: {
2835
+ 'body-large': createTypographyTypeConfig(1.6, 18, 24),
2836
+ 'body-medium': createTypographyTypeConfig(1.6, 18, 18),
2837
+ body: createTypographyTypeConfig(1.6, 16, 16),
2838
+ 'body-small': createTypographyTypeConfig(1.6, 14, 14),
2839
+ 'body-xsmall': createTypographyTypeConfig(1.6, 12, 12)
2840
+ }
2841
+ }
2842
+ },
2843
+ link: {
2844
+ disabledColor: lateOceanColorPalette.black200
2845
+ }
2758
2846
  };
2759
2847
 
2760
2848
  const inputStatesStyle = {
2761
2849
  default: {
2762
- backgroundColor: lateOceanColorPalette.white,
2850
+ backgroundColor: colorsLateOceanTheme.uiBackgroundLight,
2851
+ borderColor: colorsLateOceanTheme.separator,
2852
+ color: 'black'
2853
+ },
2854
+ pending: {
2855
+ backgroundColor: colorsLateOceanTheme.uiBackgroundLight,
2856
+ borderColor: colorsLateOceanTheme.separator,
2857
+ color: 'black'
2858
+ },
2859
+ valid: {
2860
+ backgroundColor: colorsLateOceanTheme.uiBackgroundLight,
2763
2861
  borderColor: lateOceanColorPalette.black100,
2764
- color: 'black',
2765
- passwordButtonIconColor: 'black'
2862
+ color: 'black'
2766
2863
  },
2767
2864
  hover: {
2768
2865
  borderColor: lateOceanColorPalette.black200,
2769
- color: 'black',
2770
- passwordButtonIconColor: 'black'
2866
+ color: 'black'
2771
2867
  },
2772
2868
  focus: {
2773
- borderColor: lateOceanColorPalette.lateOcean,
2774
- color: 'black',
2775
- passwordButtonIconColor: 'black'
2869
+ borderColor: colorsLateOceanTheme.primary,
2870
+ color: 'black'
2776
2871
  },
2777
2872
  disabled: {
2778
- backgroundColor: lateOceanColorPalette.black50,
2779
- borderColor: lateOceanColorPalette.black100,
2780
- color: 'black-light',
2781
- passwordButtonIconColor: 'black-light'
2873
+ backgroundColor: colorsLateOceanTheme.disabled,
2874
+ borderColor: colorsLateOceanTheme.separator,
2875
+ color: 'black-light'
2782
2876
  },
2783
2877
  invalid: {
2784
- borderColor: lateOceanColorPalette.englishVermillon,
2785
- color: 'black',
2786
- passwordButtonIconColor: 'black'
2878
+ borderColor: colorsLateOceanTheme.danger,
2879
+ color: 'black'
2787
2880
  }
2788
2881
  };
2789
- const inputLateOceanTheme = {
2790
- marginTop: '2px',
2791
- marginBottom: '4px',
2882
+ const input = {
2883
+ color: {
2884
+ selection: colorsLateOceanTheme.primary,
2885
+ placeholder: typographyLateOceanTheme.colors['black-light']
2886
+ },
2792
2887
  borderWidth: '2px',
2793
2888
  borderRadius: '10px',
2794
- passwordButtonIconSize: 20,
2795
- padding: '7px 16px',
2796
- paddingSingleLineIOS: '12px 16px',
2797
- selectionColor: lateOceanColorPalette.lateOcean,
2798
- placeholderColor: 'black-light',
2799
- textAreaMinHeight: 120,
2889
+ icon: {
2890
+ size: 20
2891
+ },
2892
+ padding: {
2893
+ default: '7px 16px',
2894
+ iOSSingleLine: '12px 16px'
2895
+ },
2800
2896
  states: inputStatesStyle
2801
2897
  };
2802
2898
 
2899
+ const inputFieldLateOceanTheme = {
2900
+ labelContainerPaddingBottom: 5,
2901
+ iconMarginLeft: 6
2902
+ };
2903
+
2803
2904
  const radioLateOceanTheme = {
2804
2905
  size: 18,
2805
2906
  unchecked: {
@@ -2818,10 +2919,15 @@ const radioLateOceanTheme = {
2818
2919
  }
2819
2920
  };
2820
2921
 
2821
- const formsLateOceanTheme = {
2822
- input: inputLateOceanTheme,
2922
+ const textArea = {
2923
+ minHeight: 120
2924
+ };
2925
+
2926
+ const forms = {
2927
+ input,
2823
2928
  radio: radioLateOceanTheme,
2824
- inputField: inputFieldLateOceanTheme
2929
+ inputField: inputFieldLateOceanTheme,
2930
+ textArea
2825
2931
  };
2826
2932
 
2827
2933
  const fullScreenModalLateOceanTheme = {
@@ -2934,77 +3040,6 @@ const tooltip = {
2934
3040
  floatingPadding: 8
2935
3041
  };
2936
3042
 
2937
- const calcLineHeight = (fontSize, lineHeightMultiplier) => Math.round(fontSize * lineHeightMultiplier);
2938
- const createTypographyTypeConfig = (lineHeightMultiplier, baseAndSmallFontSize, mediumAndWideFontSize) => ({
2939
- baseAndSmall: {
2940
- fontSize: `${baseAndSmallFontSize}px`,
2941
- lineHeight: `${calcLineHeight(baseAndSmallFontSize, lineHeightMultiplier)}px`
2942
- },
2943
- mediumAndWide: {
2944
- fontSize: `${mediumAndWideFontSize}px`,
2945
- lineHeight: `${calcLineHeight(mediumAndWideFontSize, lineHeightMultiplier)}px`
2946
- }
2947
- });
2948
- const typographyLateOceanTheme = {
2949
- colors: {
2950
- black: lateOceanColorPalette.black1000,
2951
- 'black-light': lateOceanColorPalette.black555,
2952
- white: lateOceanColorPalette.white,
2953
- 'white-light': lateOceanColorPalette.white,
2954
- primary: lateOceanColorPalette.lateOcean,
2955
- 'primary-light': lateOceanColorPalette.lateOceanLight1,
2956
- accent: lateOceanColorPalette.warmEmbrace,
2957
- success: lateOceanColorPalette.viride,
2958
- danger: lateOceanColorPalette.englishVermillon
2959
- },
2960
- types: {
2961
- headers: {
2962
- fontFamily: {
2963
- regular: reactNative.Platform.OS === 'web' ? 'Moderat' : 'Moderat-Extended-Bold',
2964
- bold: reactNative.Platform.OS === 'web' ? 'Moderat' : 'Moderat-Extended-Bold'
2965
- },
2966
- fontWeight: 400,
2967
- fontStyle: 'normal',
2968
- configs: {
2969
- // also known as xxlarge
2970
- header1: createTypographyTypeConfig(1.3, 38, 62),
2971
- // also known as xlarge
2972
- header2: createTypographyTypeConfig(1.3, 32, 48),
2973
- // also known as medium
2974
- header3: createTypographyTypeConfig(1.3, 24, 36),
2975
- // also known as xsmall
2976
- header4: createTypographyTypeConfig(1.3, 18, 24),
2977
- // also known as xxsmall
2978
- header5: createTypographyTypeConfig(1.3, 18, 18)
2979
- }
2980
- },
2981
- bodies: {
2982
- fontFamily: {
2983
- regular: reactNative.Platform.OS === 'web' ? 'Noto Sans' : 'NotoSans',
2984
- bold: reactNative.Platform.OS === 'web' ? 'Noto Sans' : 'NotoSans-Bold'
2985
- },
2986
- fontWeight: {
2987
- regular: 400,
2988
- bold: 700
2989
- },
2990
- fontStyle: {
2991
- regular: 'normal',
2992
- bold: 'normal'
2993
- },
2994
- configs: {
2995
- 'body-large': createTypographyTypeConfig(1.6, 18, 24),
2996
- 'body-medium': createTypographyTypeConfig(1.6, 18, 18),
2997
- body: createTypographyTypeConfig(1.6, 16, 16),
2998
- 'body-small': createTypographyTypeConfig(1.6, 14, 14),
2999
- 'body-xsmall': createTypographyTypeConfig(1.6, 12, 12)
3000
- }
3001
- }
3002
- },
3003
- link: {
3004
- disabledColor: lateOceanColorPalette.black200
3005
- }
3006
- };
3007
-
3008
3043
  const breakpoints = {
3009
3044
  values: {
3010
3045
  base: 0,
@@ -3038,7 +3073,7 @@ const theme = {
3038
3073
  button: buttonLateOceanTheme,
3039
3074
  card: cardLateOceanTheme,
3040
3075
  feedbackMessage: feedbackMessageLateOceanTheme,
3041
- forms: formsLateOceanTheme,
3076
+ forms,
3042
3077
  typography: typographyLateOceanTheme,
3043
3078
  tag: tagLateOceanTheme,
3044
3079
  shadows: shadowsLateOceanTheme,
@@ -3169,7 +3204,7 @@ function TimePicker({
3169
3204
  isTimePickerModalVisible
3170
3205
  } = useTimePicker(value || null, onChange, onBlur, disabled, forceDefaultValue);
3171
3206
  return /*#__PURE__*/jsxRuntime.jsxs(Container, {
3172
- state: timePickerState === 'default' ? state : timePickerState,
3207
+ $state: timePickerState === 'default' ? state : timePickerState,
3173
3208
  accessibilityRole: "button",
3174
3209
  onPress: handleInputPress,
3175
3210
  children: [/*#__PURE__*/jsxRuntime.jsx(Typography.Text, {
@@ -3581,6 +3616,9 @@ exports.Icon = Icon;
3581
3616
  exports.IconButton = IconButton;
3582
3617
  exports.InputFeedback = InputFeedback;
3583
3618
  exports.InputField = InputField;
3619
+ exports.InputIcon = InputIcon;
3620
+ exports.InputPassword = InputPassword;
3621
+ exports.InputPressable = InputPressable;
3584
3622
  exports.InputText = InputText;
3585
3623
  exports.KittBreakpoints = KittBreakpoints;
3586
3624
  exports.KittBreakpointsMax = KittBreakpointsMax;