@factorearth/component-library 3.2.8 → 3.2.9-phone-foolery.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.
@@ -4,6 +4,7 @@ import { Colors } from "../../Theme/types";
4
4
  declare module "react-select/base" {
5
5
  interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {
6
6
  colorPalette: Colors & string;
7
+ containerStyle?: React.CSSProperties;
7
8
  "data-test"?: string;
8
9
  moreHorizon?: JSX.Element;
9
10
  createAble?: boolean;
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import Select from "react-select";
3
3
  import Createable from "react-select/creatable";
4
4
  export const DropdownSelect = (props) => {
5
- const { colorPalette, moreHorizon, createAble, styles, components, ...selectProps } = props;
5
+ const { colorPalette, containerStyle, moreHorizon, createAble, styles, components, ...selectProps } = props;
6
6
  const defaultStyles = {
7
7
  control: (provided, state) => ({
8
8
  ...provided,
@@ -113,7 +113,7 @@ export const DropdownSelect = (props) => {
113
113
  }),
114
114
  };
115
115
  const customStyles = styles ? { ...defaultStyles, ...styles } : defaultStyles;
116
- return (React.createElement("div", { style: { display: "flex", width: "100%" } },
116
+ return (React.createElement("div", { style: { display: "flex", width: "100%", ...containerStyle } },
117
117
  createAble ? (React.createElement(Createable, { ...selectProps, styles: customStyles, colorPalette: colorPalette, components: components })) : (React.createElement(Select, { ...selectProps, styles: customStyles, colorPalette: colorPalette, components: components })),
118
118
  moreHorizon && moreHorizon));
119
119
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownField.js","sourceRoot":"","sources":["../../../lib/Atoms/DropdownField/DropdownField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DropdownField.js","sourceRoot":"","sources":["../../../lib/Atoms/DropdownField/DropdownField.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,16 @@
1
1
  import React from 'react';
2
- export declare const PhoneNumberField: () => React.JSX.Element;
2
+ import { Colors } from 'Theme/types';
3
+ interface Props {
4
+ activeEditing?: boolean;
5
+ handleBlur: (e: React.FocusEvent<HTMLInputElement, Element>) => Promise<void>;
6
+ handleChange: (e: React.ChangeEvent<HTMLInputElement>) => Promise<void>;
7
+ moreHorizon: JSX.Element;
8
+ placeholder: string;
9
+ initialValue: string;
10
+ theme: {
11
+ theme: Colors;
12
+ setTheme: React.Dispatch<React.SetStateAction<string>>;
13
+ };
14
+ }
15
+ export declare const PhoneNumberField: (props: Props) => React.JSX.Element;
16
+ export {};
@@ -1,40 +1,70 @@
1
- import React, { useState } from 'react';
2
1
  import styled from '@emotion/styled';
3
- import Select from 'react-select';
4
- import { useTheme } from '../../Theme/ThemeProvider';
2
+ import { AsYouType, getCountries, getCountryCallingCode } from "libphonenumber-js";
3
+ import React, { useEffect, useRef, useState } from 'react';
4
+ import { DropdownSelect } from "../DropdownField/DropdownField";
5
+ import { TextFieldWrapper } from "../TextField/TextField";
5
6
  const PhoneNumberContainer = styled.div `
6
- display: flex;
7
- align-items: center;
8
- gap: 8px;
7
+ display: flex;
8
+ gap: 8px;
9
+ background-color: ${({ colorPalette }) => colorPalette.background.primary};
9
10
  `;
10
- const CountryCodeSelect = styled(Select) `
11
- width: 100px;
12
- `;
13
- const NumberInput = styled.input `
14
- padding: 8px;
15
- border: 1px solid #ccc;
16
- border-radius: 4px;
17
- width: 100%;
18
- `;
19
- const countryOptions = [
20
- { label: '+1 (US)', value: '+1' },
21
- { label: '+44 (UK)', value: '+44' },
22
- { label: '+91 (IN)', value: '+91' },
23
- { label: '+61 (AU)', value: '+61' },
24
- // Add more country codes as needed
25
- ];
26
- export const PhoneNumberField = () => {
27
- const [selectedCountry, setSelectedCountry] = useState(countryOptions[0]);
28
- const [phoneNumber, setPhoneNumber] = useState('');
29
- const colorPalette = useTheme();
30
- const handleCountryChange = (option) => {
11
+ export const PhoneNumberField = (props) => {
12
+ const { activeEditing, handleBlur, handleChange, moreHorizon, placeholder, initialValue, theme, ...remainderProps } = props;
13
+ const [selectedCountry, setSelectedCountry] = useState(null);
14
+ const [countries, setCountries] = useState([]);
15
+ const [value, setValue] = useState(initialValue);
16
+ // Handles keeping track of the phone number for the case of a user changing country code, so the useEffect can run only when
17
+ // country code changes but still have the up to date value
18
+ const ref = useRef(initialValue);
19
+ useEffect(() => {
20
+ const countries = getCountries();
21
+ const countryOptions = countries.map((countryCallingCode) => {
22
+ const option = {
23
+ label: `+${getCountryCallingCode(countryCallingCode)} (${countryCallingCode})`,
24
+ value: countryCallingCode
25
+ };
26
+ return option;
27
+ });
28
+ setCountries(countryOptions);
29
+ const country = countryOptions.find((option) => option.value === navigator.language.split("-")[1]);
30
+ if (country)
31
+ setSelectedCountry(country);
32
+ }, []);
33
+ useEffect(() => {
34
+ if (selectedCountry) {
35
+ const newValue = new AsYouType(selectedCountry.value).input(ref.current);
36
+ setValue(newValue);
37
+ ref.current = newValue;
38
+ }
39
+ }, [selectedCountry]);
40
+ const castTheme = theme.theme;
41
+ function handleCountryChange(option) {
31
42
  setSelectedCountry(option);
32
- };
33
- const handlePhoneNumberChange = (e) => {
34
- setPhoneNumber(e.target.value);
35
- };
36
- return (React.createElement(PhoneNumberContainer, null,
37
- React.createElement(CountryCodeSelect, { colorPalette: colorPalette.theme, options: countryOptions, value: selectedCountry, isSearchable: false, placeholder: "Code" }),
38
- React.createElement(NumberInput, { type: "tel", value: phoneNumber, onChange: handlePhoneNumberChange, placeholder: "Phone Number" })));
43
+ }
44
+ ;
45
+ function handlePhoneNumberChange(e) {
46
+ if (selectedCountry) {
47
+ const phoneNumberValue = e.target.value.trim();
48
+ const finalValue = new AsYouType(selectedCountry.value).input(phoneNumberValue);
49
+ ref.current = finalValue;
50
+ setValue(finalValue);
51
+ e.target.value = finalValue;
52
+ handleChange(e);
53
+ }
54
+ }
55
+ ;
56
+ return (React.createElement(PhoneNumberContainer, { colorPalette: castTheme },
57
+ React.createElement(DropdownSelect, { colorPalette: castTheme, options: countries, value: selectedCountry, isSearchable: true,
58
+ // @ts-ignore
59
+ onChange: handleCountryChange, placeholder: "Code", styles: {
60
+ container: (provided, _state) => {
61
+ return {
62
+ ...provided,
63
+ width: "150px"
64
+ };
65
+ }
66
+ }, containerStyle: { width: "150px" } }),
67
+ React.createElement(TextFieldWrapper, { ...remainderProps, activeEditing: activeEditing, colorPalette: castTheme, inputMode: "numeric", onBlur: handleBlur, onChange: handlePhoneNumberChange, placeholder: placeholder, value: value, type: "tel" }),
68
+ moreHorizon && moreHorizon));
39
69
  };
40
70
  //# sourceMappingURL=PhoneNumberField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneNumberField.js","sourceRoot":"","sources":["../../../lib/Atoms/PhoneNumberField/PhoneNumberField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAIrD,MAAM,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;CAItC,CAAC;AAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;;CAEvC,CAAC;AAEF,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAA;;;;;CAK/B,CAAC;AAOF,MAAM,cAAc,GAAoB;IACtC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;IACjC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE;IACnC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE;IACnC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE;IACnC,mCAAmC;CACpC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAuB,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC;IAEhC,MAAM,mBAAmB,GAAG,CAAC,MAA4B,EAAE,EAAE;QAC3D,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAAC,CAAsC,EAAE,EAAE;QACzE,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,oBAAoB;QACnB,oBAAC,iBAAiB,IAChB,YAAY,EAAE,YAAY,CAAC,KAAwB,EACnD,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,eAAe,EACtB,YAAY,EAAE,KAAK,EACnB,WAAW,EAAC,MAAM,GAClB;QACF,oBAAC,WAAW,IACV,IAAI,EAAC,KAAK,EACV,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,uBAAuB,EACjC,WAAW,EAAC,cAAc,GAC1B,CACmB,CACxB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"PhoneNumberField.js","sourceRoot":"","sources":["../../../lib/Atoms/PhoneNumberField/PhoneNumberField.tsx"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ const InputWrapper = styled.input `
6
6
  min-height: 30px;
7
7
  font-weight: 600;
8
8
  border-radius: 4px;
9
+ cursor: text;
9
10
  ${({ moreHorizon }) => moreHorizon &&
10
11
  `border-top-right-radius: 0px;border-bottom-right-radius: 0px;`}
11
12
  background-color: ${({ colorPalette }) => colorPalette.background.primary};
@@ -22,7 +23,7 @@ const InputWrapper = styled.input `
22
23
  }
23
24
  `;
24
25
  export const TextFieldWrapper = (props) => {
25
- const { onChange, moreHorizon, colorPalette, activeEditing, value, ...remainderProps } = props;
26
+ const { activeEditing, colorPalette, moreHorizon, onChange, value, ...remainderProps } = props;
26
27
  const ref = useRef(null);
27
28
  const [cursor, setCursor] = useState(null);
28
29
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../lib/Atoms/TextField/TextField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAG/B;;;;;;GAMC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CACrB,WAAW;IACX,+DAA+D;qBAC5C,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO;iBACzD,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO;;;UAGxD,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO;;;GAGtD,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,IAAI,qBAAqB;;;;;CAK3D,CAAC;AAWF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAA4B,EAAE,EAAE;IAChE,MAAM,EACL,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,aAAa,EACb,KAAK,EACL,GAAG,cAAc,EACjB,GAAG,KAAK,CAAC;IACV,MAAM,GAAG,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAE1D,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC;QAC1B,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;YAC7B,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;gBACrB,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACzC,CAAC;QACF,CAAC;IACF,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnC,MAAM,YAAY,GAAG,CAAC,CAAsC,EAAE,EAAE;QAC/D,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACnC,IAAI,QAAQ;YAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,OAAO,CACN,6BAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;QAC7C,oBAAC,YAAY,OACR,cAAc,EAClB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EACvC,YAAY,EAAE,YAAY,GACzB;QACD,WAAW,IAAI,WAAW,CACtB,CACN,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../../lib/Atoms/TextField/TextField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAG/B;;;;;;;GAOC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CACrB,WAAW;IACX,+DAA+D;qBAC5C,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO;iBACzD,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO;;;UAGxD,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO;;;GAGtD,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,IAAI,qBAAqB;;;;;CAK3D,CAAC;AAWF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAA4B,EAAE,EAAE;IAChE,MAAM,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,KAAK,EACL,GAAG,cAAc,EACjB,GAAG,KAAK,CAAC;IACV,MAAM,GAAG,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAE1D,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC;QAC1B,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;YAC7B,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;gBACrB,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACzC,CAAC;QACF,CAAC;IACF,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnC,MAAM,YAAY,GAAG,CAAC,CAAsC,EAAE,EAAE;QAC/D,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACnC,IAAI,QAAQ;YAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,OAAO,CACN,6BAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;QAC7C,oBAAC,YAAY,OACR,cAAc,EAClB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EACvC,YAAY,EAAE,YAAY,GACzB;QACD,WAAW,IAAI,WAAW,CACtB,CACN,CAAC;AACH,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@factorearth/component-library",
3
- "version": "3.2.8",
3
+ "version": "3.2.9-phone-foolery.0",
4
4
  "description": " A storybook component library for FactorEarth",
5
5
  "author": "madtrx <marlin.makori@gmail.com>",
6
6
  "homepage": "https://github.com/FactorEarth/RecordMiddleware#readme",
@@ -46,7 +46,7 @@
46
46
  "access": "public",
47
47
  "registry": "https://registry.npmjs.org/"
48
48
  },
49
- "gitHead": "704c1606ab025eeaaf5ca12bd2aa9f57cd9bbd2f",
49
+ "gitHead": "e5b6f73f80aba080dce62846ef4423d4f4b798d7",
50
50
  "dependencies": {
51
51
  "@emotion/react": "^11.13.0",
52
52
  "@emotion/styled": "^11.13.0",