@hoddy-ui/next 2.5.78 → 2.5.79

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.
package/dist/index.d.mts CHANGED
@@ -206,7 +206,7 @@ interface TextFieldProps extends TextInputProps {
206
206
  variant?: "outlined" | "text" | "contained";
207
207
  color?: colorTypes;
208
208
  size?: "small" | "normal" | "large";
209
- type?: "email" | "tel" | "password" | "text" | "number" | "search";
209
+ type?: "email" | "tel" | "password" | "text" | "number" | "search" | "date";
210
210
  helperText?: string;
211
211
  value: any;
212
212
  start?: ReactNode;
package/dist/index.d.ts CHANGED
@@ -206,7 +206,7 @@ interface TextFieldProps extends TextInputProps {
206
206
  variant?: "outlined" | "text" | "contained";
207
207
  color?: colorTypes;
208
208
  size?: "small" | "normal" | "large";
209
- type?: "email" | "tel" | "password" | "text" | "number" | "search";
209
+ type?: "email" | "tel" | "password" | "text" | "number" | "search" | "date";
210
210
  helperText?: string;
211
211
  value: any;
212
212
  start?: ReactNode;
package/dist/index.js CHANGED
@@ -420,7 +420,7 @@ var FlashMessage = () => {
420
420
  left: 0,
421
421
  paddingTop: top + 10,
422
422
  paddingHorizontal: "15@ms",
423
- backgroundColor: type === "default" ? "#444" : colors2[type].main,
423
+ backgroundColor: type === "default" ? "#333" : colors2[type].main,
424
424
  width: "100%",
425
425
  borderBottomLeftRadius: 10,
426
426
  borderBottomRightRadius: 10,
@@ -1537,6 +1537,7 @@ var TextField = ({
1537
1537
  color = "primary",
1538
1538
  value,
1539
1539
  type,
1540
+ placeholder = "",
1540
1541
  helperText,
1541
1542
  onChangeText,
1542
1543
  onSubmitEditing = () => {
@@ -1560,6 +1561,7 @@ var TextField = ({
1560
1561
  }) => {
1561
1562
  const colors2 = useColors();
1562
1563
  const [focused, setFocused] = (0, import_react16.useState)(false);
1564
+ const isDate = type === "date";
1563
1565
  const height2 = (0, import_react_native_size_matters13.moderateScale)(variant === "text" ? 50 : 45) * (size === "large" ? 1.2 : size === "small" ? 0.8 : 1);
1564
1566
  const labelAnim = (0, import_react16.useRef)(
1565
1567
  new import_react_native16.Animated.Value(height2 / (0, import_react_native_size_matters13.moderateScale)(variant === "text" ? 2.5 : 3.2))
@@ -1616,6 +1618,21 @@ var TextField = ({
1616
1618
  paddingLeft: variant === "text" ? 0 : (0, import_react_native_size_matters13.moderateScale)(15),
1617
1619
  paddingTop: "13@ms"
1618
1620
  },
1621
+ dateContent: {
1622
+ flexDirection: "row",
1623
+ alignItems: "center",
1624
+ flex: 1,
1625
+ paddingLeft: variant === "text" ? 0 : (0, import_react_native_size_matters13.moderateScale)(15),
1626
+ paddingRight: (0, import_react_native_size_matters13.moderateScale)(10),
1627
+ paddingTop: variant === "text" ? (0, import_react_native_size_matters13.ms)(13) : (0, import_react_native_size_matters13.ms)(12)
1628
+ },
1629
+ dateText: {
1630
+ fontSize: "14@ms",
1631
+ flex: 1
1632
+ },
1633
+ datePlaceholder: {
1634
+ color: colors2.textSecondary.main
1635
+ },
1619
1636
  label: {
1620
1637
  fontFamily: getFontFamily(400),
1621
1638
  position: "absolute",
@@ -1661,10 +1678,19 @@ var TextField = ({
1661
1678
  autoCapitalize: "none",
1662
1679
  textContentType: "password"
1663
1680
  } : {};
1681
+ const handleContainerPress = () => {
1682
+ if (disabled)
1683
+ return;
1684
+ setFocused(true);
1685
+ if (isDate) {
1686
+ onFocus();
1687
+ setTimeout(() => setFocused(false), 150);
1688
+ }
1689
+ };
1664
1690
  return /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: styles.root }, /* @__PURE__ */ import_react16.default.createElement(
1665
1691
  import_react_native16.TouchableOpacity,
1666
1692
  {
1667
- onPress: () => setFocused(true),
1693
+ onPress: handleContainerPress,
1668
1694
  style: styles.container
1669
1695
  },
1670
1696
  /* @__PURE__ */ import_react16.default.createElement(import_react_native16.Animated.Text, { style: { ...styles.label, top: labelAnim } }, label),
@@ -1685,7 +1711,24 @@ var TextField = ({
1685
1711
  options.find((cur) => cur.value === value)?.start
1686
1712
  ),
1687
1713
  /* @__PURE__ */ import_react16.default.createElement(Typography_default, { style: styles.inputText }, options.find((cur) => cur.value === value)?.label)
1688
- ) : /* @__PURE__ */ import_react16.default.createElement(
1714
+ ) : isDate ? /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: styles.dateContent }, /* @__PURE__ */ import_react16.default.createElement(
1715
+ Typography_default,
1716
+ {
1717
+ style: [
1718
+ styles.dateText,
1719
+ !value ? styles.datePlaceholder : void 0
1720
+ ],
1721
+ color: value ? "dark" : "textSecondary"
1722
+ },
1723
+ value || placeholder
1724
+ ), /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: { marginLeft: 8 } }, end ?? /* @__PURE__ */ import_react16.default.createElement(
1725
+ import_vector_icons8.Ionicons,
1726
+ {
1727
+ name: "calendar-outline",
1728
+ size: 22,
1729
+ color: colors2.textSecondary.main
1730
+ }
1731
+ ))) : /* @__PURE__ */ import_react16.default.createElement(
1689
1732
  import_react_native16.TextInput,
1690
1733
  {
1691
1734
  onFocus: () => {
@@ -1765,6 +1808,7 @@ var TextField2 = import_react16.default.forwardRef(
1765
1808
  color = "primary",
1766
1809
  value,
1767
1810
  type,
1811
+ placeholder,
1768
1812
  helperText,
1769
1813
  onChangeText,
1770
1814
  onSubmitEditing = () => {
@@ -1780,7 +1824,6 @@ var TextField2 = import_react16.default.forwardRef(
1780
1824
  style = {},
1781
1825
  inputStyles = {},
1782
1826
  gutterBottom = 8,
1783
- placeholder,
1784
1827
  end,
1785
1828
  options,
1786
1829
  multiline,
@@ -1790,6 +1833,7 @@ var TextField2 = import_react16.default.forwardRef(
1790
1833
  const colors2 = useColors();
1791
1834
  const [focused, _setFocused] = (0, import_react16.useState)(false);
1792
1835
  const [showPassword, setShowPassword] = (0, import_react16.useState)(false);
1836
+ const isDate = type === "date";
1793
1837
  const height2 = (0, import_react_native_size_matters13.moderateScale)(
1794
1838
  multiline ? 50 + (props.numberOfLines || 1) * 18 : 50
1795
1839
  );
@@ -1840,6 +1884,20 @@ var TextField2 = import_react16.default.forwardRef(
1840
1884
  color: colors2.textSecondary.light,
1841
1885
  paddingLeft: (0, import_react_native_size_matters13.moderateScale)(10)
1842
1886
  },
1887
+ dateContent: {
1888
+ flexDirection: "row",
1889
+ alignItems: "center",
1890
+ flex: 1,
1891
+ paddingHorizontal: (0, import_react_native_size_matters13.moderateScale)(10),
1892
+ paddingTop: multiline ? 4 : 0
1893
+ },
1894
+ dateText: {
1895
+ fontSize: "14@ms",
1896
+ flex: 1
1897
+ },
1898
+ datePlaceholder: {
1899
+ color: colors2.textSecondary.light
1900
+ },
1843
1901
  label: {},
1844
1902
  helperText: {
1845
1903
  paddingHorizontal: "15@s",
@@ -1878,6 +1936,15 @@ var TextField2 = import_react16.default.forwardRef(
1878
1936
  autoCapitalize: "none",
1879
1937
  textContentType: "password"
1880
1938
  } : {};
1939
+ const handleContainerPress = () => {
1940
+ if (disabled)
1941
+ return;
1942
+ setFocused(true);
1943
+ if (isDate) {
1944
+ onFocus();
1945
+ setTimeout(() => setFocused(false), 150);
1946
+ }
1947
+ };
1881
1948
  return /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: styles.root }, label && /* @__PURE__ */ import_react16.default.createElement(
1882
1949
  Typography_default,
1883
1950
  {
@@ -1890,7 +1957,7 @@ var TextField2 = import_react16.default.forwardRef(
1890
1957
  ), /* @__PURE__ */ import_react16.default.createElement(
1891
1958
  import_react_native16.TouchableOpacity,
1892
1959
  {
1893
- onPress: () => setFocused(true),
1960
+ onPress: handleContainerPress,
1894
1961
  style: styles.container
1895
1962
  },
1896
1963
  /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: { marginTop: multiline ? 5 : 0 } }, start),
@@ -1902,7 +1969,24 @@ var TextField2 = import_react16.default.forwardRef(
1902
1969
  style: { marginLeft: "auto", marginRight: 15 },
1903
1970
  color: colors2.dark.light
1904
1971
  }
1905
- )) : /* @__PURE__ */ import_react16.default.createElement(
1972
+ )) : isDate ? /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: styles.dateContent }, /* @__PURE__ */ import_react16.default.createElement(
1973
+ Typography_default,
1974
+ {
1975
+ style: [
1976
+ styles.dateText,
1977
+ !value ? styles.datePlaceholder : void 0
1978
+ ],
1979
+ color: value ? "dark" : "textSecondary"
1980
+ },
1981
+ value || placeholder
1982
+ ), /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: { marginLeft: 8 } }, end ?? /* @__PURE__ */ import_react16.default.createElement(
1983
+ import_vector_icons8.Ionicons,
1984
+ {
1985
+ name: "calendar-outline",
1986
+ size: 22,
1987
+ color: colors2.textSecondary.main
1988
+ }
1989
+ ))) : /* @__PURE__ */ import_react16.default.createElement(
1906
1990
  import_react_native16.TextInput,
1907
1991
  {
1908
1992
  ref,