@activecollab/components 1.0.94 → 1.0.97

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 (53) hide show
  1. package/dist/cjs/components/ComboBox/ComboBox.js +5 -2
  2. package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
  3. package/dist/cjs/components/Input/Input.js +5 -2
  4. package/dist/cjs/components/Input/Input.js.map +1 -1
  5. package/dist/cjs/components/Input/Styles.js +9 -7
  6. package/dist/cjs/components/Input/Styles.js.map +1 -1
  7. package/dist/cjs/components/Textarea/Styles.js +9 -7
  8. package/dist/cjs/components/Textarea/Styles.js.map +1 -1
  9. package/dist/cjs/components/Textarea/Textarea.js +4 -1
  10. package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
  11. package/dist/cjs/helpers/Portal/Portal.js +30 -3
  12. package/dist/cjs/helpers/Portal/Portal.js.map +1 -1
  13. package/dist/cjs/utils/index.js +14 -0
  14. package/dist/cjs/utils/index.js.map +1 -1
  15. package/dist/esm/components/AutoResizeTextarea/Styles.d.ts +1 -1
  16. package/dist/esm/components/AutoResizeTextarea/Styles.d.ts.map +1 -1
  17. package/dist/esm/components/ComboBox/ComboBox.d.ts +2 -1
  18. package/dist/esm/components/ComboBox/ComboBox.d.ts.map +1 -1
  19. package/dist/esm/components/ComboBox/ComboBox.js +5 -2
  20. package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
  21. package/dist/esm/components/ComboBox/Styles.d.ts +1 -1
  22. package/dist/esm/components/ComboBox/Styles.d.ts.map +1 -1
  23. package/dist/esm/components/Input/Input.d.ts +2 -1
  24. package/dist/esm/components/Input/Input.d.ts.map +1 -1
  25. package/dist/esm/components/Input/Input.js +5 -2
  26. package/dist/esm/components/Input/Input.js.map +1 -1
  27. package/dist/esm/components/Input/Styles.d.ts +1 -0
  28. package/dist/esm/components/Input/Styles.d.ts.map +1 -1
  29. package/dist/esm/components/Input/Styles.js +9 -7
  30. package/dist/esm/components/Input/Styles.js.map +1 -1
  31. package/dist/esm/components/Select/Styles.d.ts +1 -1
  32. package/dist/esm/components/Select/Styles.d.ts.map +1 -1
  33. package/dist/esm/components/Textarea/Styles.d.ts +1 -0
  34. package/dist/esm/components/Textarea/Styles.d.ts.map +1 -1
  35. package/dist/esm/components/Textarea/Styles.js +9 -7
  36. package/dist/esm/components/Textarea/Styles.js.map +1 -1
  37. package/dist/esm/components/Textarea/Textarea.d.ts +4 -1
  38. package/dist/esm/components/Textarea/Textarea.d.ts.map +1 -1
  39. package/dist/esm/components/Textarea/Textarea.js +4 -1
  40. package/dist/esm/components/Textarea/Textarea.js.map +1 -1
  41. package/dist/esm/helpers/Portal/Portal.d.ts +3 -1
  42. package/dist/esm/helpers/Portal/Portal.d.ts.map +1 -1
  43. package/dist/esm/helpers/Portal/Portal.js +17 -3
  44. package/dist/esm/helpers/Portal/Portal.js.map +1 -1
  45. package/dist/esm/utils/index.d.ts +1 -0
  46. package/dist/esm/utils/index.d.ts.map +1 -1
  47. package/dist/esm/utils/index.js +1 -0
  48. package/dist/esm/utils/index.js.map +1 -1
  49. package/dist/index.js +49 -22
  50. package/dist/index.js.map +1 -1
  51. package/dist/index.min.js +1 -1
  52. package/dist/index.min.js.map +1 -1
  53. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Input/Input.tsx"],"names":["React","forwardRef","classnames","StyledInput","Input","ref","className","type","disabled","size","rest","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,WAAT,QAA4B,UAA5B;AAQA,OAAO,IAAMC,KAAK,gBAAGH,UAAU,CAI7B,gBAQEI,GARF,EASK;AAAA,4BAPDC,SAOC;AAAA,MAPDA,SAOC,+BAPW,EAOX;AAAA,uBANDC,IAMC;AAAA,MANDA,IAMC,0BANM,MAMN;AAAA,2BALDC,QAKC;AAAA,MALDA,QAKC,8BALU,KAKV;AAAA,uBAJDC,IAIC;AAAA,MAJDA,IAIC,0BAJM,SAIN;AAAA,MAHEC,IAGF;;AACH,sBACE,oBAAC,WAAD;AACE,IAAA,GAAG,EAAEL,GADP;AAEE,IAAA,IAAI,EAAEE,IAFR;AAGE,IAAA,QAAQ,EAAEC,QAHZ;AAIE,IAAA,SAAS,EAAEN,UAAU,CAAC,SAAD,EAAYI,SAAZ,CAJvB;AAKE,IAAA,KAAK,EAAEG;AALT,KAMMC,IANN,EADF;AAUD,CAxB4B,CAAxB;AA2BPN,KAAK,CAACO,WAAN,GAAoB,OAApB","sourcesContent":["import React, { forwardRef } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledInput } from \"./Styles\";\n\nexport type InputSize = \"small\" | \"regular\" | \"big\";\nexport interface InputProps {\n /** Velicina inputa koja definse font-size i border radius */\n size?: InputSize;\n}\n\nexport const Input = forwardRef<\n HTMLInputElement,\n InputProps & Omit<React.ComponentPropsWithoutRef<\"input\">, keyof InputProps>\n>(\n (\n {\n className = \"\",\n type = \"text\",\n disabled = false,\n size = \"regular\",\n ...rest\n },\n ref\n ) => {\n return (\n <StyledInput\n ref={ref}\n type={type}\n disabled={disabled}\n className={classnames(\"c-input\", className)}\n $size={size}\n {...rest}\n />\n );\n }\n);\n\nInput.displayName = \"Input\";\n"],"file":"Input.js"}
1
+ {"version":3,"sources":["../../../../src/components/Input/Input.tsx"],"names":["React","forwardRef","classnames","StyledInput","Input","ref","className","type","disabled","size","invalid","rest","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,WAAT,QAA4B,UAA5B;AASA,OAAO,IAAMC,KAAK,gBAAGH,UAAU,CAI7B,gBASEI,GATF,EAUK;AAAA,4BARDC,SAQC;AAAA,MARDA,SAQC,+BARW,EAQX;AAAA,uBAPDC,IAOC;AAAA,MAPDA,IAOC,0BAPM,MAON;AAAA,2BANDC,QAMC;AAAA,MANDA,QAMC,8BANU,KAMV;AAAA,uBALDC,IAKC;AAAA,MALDA,IAKC,0BALM,SAKN;AAAA,0BAJDC,OAIC;AAAA,MAJDA,OAIC,6BAJS,KAIT;AAAA,MAHEC,IAGF;;AACH,sBACE,oBAAC,WAAD;AACE,IAAA,GAAG,EAAEN,GADP;AAEE,IAAA,IAAI,EAAEE,IAFR;AAGE,IAAA,QAAQ,EAAEC,QAHZ;AAIE,IAAA,SAAS,EAAEN,UAAU,CAAC,SAAD,EAAYI,SAAZ,CAJvB;AAKE,IAAA,KAAK,EAAEG,IALT;AAME,IAAA,QAAQ,EAAEC;AANZ,KAOMC,IAPN,EADF;AAWD,CA1B4B,CAAxB;AA6BPP,KAAK,CAACQ,WAAN,GAAoB,OAApB","sourcesContent":["import React, { forwardRef } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledInput } from \"./Styles\";\n\nexport type InputSize = \"small\" | \"regular\" | \"big\";\nexport interface InputProps {\n /** Velicina inputa koja definse font-size i border radius */\n size?: InputSize;\n invalid?: boolean;\n}\n\nexport const Input = forwardRef<\n HTMLInputElement,\n InputProps & Omit<React.ComponentPropsWithoutRef<\"input\">, keyof InputProps>\n>(\n (\n {\n className = \"\",\n type = \"text\",\n disabled = false,\n size = \"regular\",\n invalid = false,\n ...rest\n },\n ref\n ) => {\n return (\n <StyledInput\n ref={ref}\n type={type}\n disabled={disabled}\n className={classnames(\"c-input\", className)}\n $size={size}\n $invalid={invalid}\n {...rest}\n />\n );\n }\n);\n\nInput.displayName = \"Input\";\n"],"file":"Input.js"}
@@ -1,5 +1,6 @@
1
1
  import { InputSize } from "./Input";
2
2
  export declare const StyledInput: import("styled-components").StyledComponent<"input", any, {
3
3
  $size?: InputSize | undefined;
4
+ $invalid?: boolean | undefined;
4
5
  }, never>;
5
6
  //# sourceMappingURL=Styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/Styles.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIpC,eAAO,MAAM,WAAW;;SA0DvB,CAAC"}
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/Styles.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIpC,eAAO,MAAM,WAAW;;;SAgEvB,CAAC"}
@@ -4,7 +4,7 @@ import { FontStyle } from "../FontStyle";
4
4
  export var StyledInput = styled.input.withConfig({
5
5
  displayName: "Styles__StyledInput",
6
6
  componentId: "sc-ce8kcp-0"
7
- })(["", " ", " ", " ", " ", " border-width:1px;border-style:solid;", " border-radius:8px;padding:4px 8px 6px 8px;height:32px;background-color:var(--input-background-color);transition:all 0.3s ease;width:360px;outline:none;", " ", " ", " ", " ", " &::placeholder{", "}"], {
7
+ })(["", " ", " ", " ", " ", " border-width:1px;border-style:solid;", " border-radius:8px;padding:4px 8px 6px 8px;height:32px;background-color:var(--input-background-color);transition:all 0.3s ease;width:360px;outline:none;", " ", " ", " ", " ", " ", " &::placeholder{", "}", ""], {
8
8
  "fontSize": "0.875rem"
9
9
  }, {
10
10
  "color": "var(--color-theme-900)"
@@ -23,18 +23,20 @@ export var StyledInput = styled.input.withConfig({
23
23
  "fontSize": "1rem"
24
24
  });
25
25
  }, function (props) {
26
- return props.disabled ? css(["", ""], {
26
+ return props.disabled && css(["", ""], {
27
27
  "cursor": "not-allowed",
28
28
  "opacity": "0.5"
29
- }) : css(["&:hover{", "}&:active{", "}&:focus{", "}"], {
30
- "borderColor": "var(--color-primary)"
31
- }, {
32
- "borderColor": "var(--color-primary)"
33
- }, {
29
+ });
30
+ }, function (props) {
31
+ return !props.disabled && !props.$invalid && css(["&:active,&:focus,&:hover{", "}"], {
34
32
  "borderColor": "var(--color-primary)"
35
33
  });
36
34
  }, {
37
35
  "color": "var(--color-theme-transparent-500)"
36
+ }, function (props) {
37
+ return !props.disabled && props.$invalid && css(["", ""], {
38
+ "borderColor": "var(--red-alert)"
39
+ });
38
40
  });
39
41
  StyledInput.displayName = "StyledInput";
40
42
  //# sourceMappingURL=Styles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Input/Styles.ts"],"names":["styled","css","BoxSizingStyle","FontStyle","StyledInput","input","props","$size","disabled","displayName"],"mappings":"AAAA,OAAOA,MAAP,IAAiBC,GAAjB,QAA4B,mBAA5B;AAGA,SAASC,cAAT,QAA+B,mBAA/B;AACA,SAASC,SAAT,QAA0B,cAA1B;AAEA,OAAO,IAAMC,WAAW,GAAGJ,MAAM,CAACK,KAAV;AAAA;AAAA;AAAA,+QAGlB;AAAA;AAAA,CAHkB,EAIlB;AAAA;AAAA,CAJkB,EAKlB;AAAA;AAAA,CALkB,EAMlB;AAAA;AAAA,CANkB,EAOlB;AAAA;AAAA,CAPkB,EAUlB;AAAA;AAAA,CAVkB,EAmBpBF,SAnBoB,EAoBpBD,cApBoB,EAsBpB,UAACI,KAAD;AAAA,SACAA,KAAK,CAACC,KAAN,KAAgB,OAAhB,IACAN,GADA,oCADA;AAAA,CAtBoB,EA6BpB,UAACK,KAAD;AAAA,SACAA,KAAK,CAACC,KAAN,KAAgB,KAAhB,IACAN,GADA,wBAEM;AAAA;AAAA,GAFN,CADA;AAAA,CA7BoB,EAoCpB,UAACK,KAAD;AAAA,SACAA,KAAK,CAACE,QAAN,GACIP,GADJ,WAEU;AAAA;AAAA;AAAA,GAFV,IAIIA,GAJJ,+CAMY;AAAA;AAAA,GANZ,EAUY;AAAA;AAAA,GAVZ,EAcY;AAAA;AAAA,GAdZ,CADA;AAAA,CApCoB,EAwDhB;AAAA;AAAA,CAxDgB,CAAjB;AA4DPG,WAAW,CAACK,WAAZ,GAA0B,aAA1B","sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { InputSize } from \"./Input\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledInput = styled.input<{\n $size?: InputSize;\n}>`\n ${tw`tw-text-body-2`}\n ${tw`tw-text-theme-900`}\n ${tw`tw-leading-regular`}\n ${tw`tw-tracking-regular`}\n ${tw`tw-font-regular`}\n border-width: 1px;\n border-style: solid;\n ${tw`tw-border-theme-500`}\n border-radius: 8px;\n padding: 4px 8px 6px 8px;\n height: 32px;\n background-color: var(--input-background-color);\n transition: all 0.3s ease;\n width: 360px;\n outline: none;\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n border-radius: 6px;\n height: 24px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n ${tw`tw-text-body-1`}\n height: 40px;\n `}\n\n ${(props) =>\n props.disabled\n ? css`\n ${tw`tw-cursor-not-allowed tw-opacity-50`}\n `\n : css`\n &:hover {\n ${tw`tw-border-primary`}\n }\n\n &:active {\n ${tw`tw-border-primary`}\n }\n\n &:focus {\n ${tw`tw-border-primary`}\n }\n `}\n\n &::placeholder {\n ${tw`tw-text-theme-transparent-500`}\n }\n`;\n\nStyledInput.displayName = \"StyledInput\";\n"],"file":"Styles.js"}
1
+ {"version":3,"sources":["../../../../src/components/Input/Styles.ts"],"names":["styled","css","BoxSizingStyle","FontStyle","StyledInput","input","props","$size","disabled","$invalid","displayName"],"mappings":"AAAA,OAAOA,MAAP,IAAiBC,GAAjB,QAA4B,mBAA5B;AAGA,SAASC,cAAT,QAA+B,mBAA/B;AACA,SAASC,SAAT,QAA0B,cAA1B;AAEA,OAAO,IAAMC,WAAW,GAAGJ,MAAM,CAACK,KAAV;AAAA;AAAA;AAAA,wRAIlB;AAAA;AAAA,CAJkB,EAKlB;AAAA;AAAA,CALkB,EAMlB;AAAA;AAAA,CANkB,EAOlB;AAAA;AAAA,CAPkB,EAQlB;AAAA;AAAA,CARkB,EAWlB;AAAA;AAAA,CAXkB,EAoBpBF,SApBoB,EAqBpBD,cArBoB,EAuBpB,UAACI,KAAD;AAAA,SACAA,KAAK,CAACC,KAAN,KAAgB,OAAhB,IACAN,GADA,oCADA;AAAA,CAvBoB,EA8BpB,UAACK,KAAD;AAAA,SACAA,KAAK,CAACC,KAAN,KAAgB,KAAhB,IACAN,GADA,wBAEM;AAAA;AAAA,GAFN,CADA;AAAA,CA9BoB,EAqCpB,UAACK,KAAD;AAAA,SACAA,KAAK,CAACE,QAAN,IACAP,GADA,WAEM;AAAA;AAAA;AAAA,GAFN,CADA;AAAA,CArCoB,EA2CpB,UAACK,KAAD;AAAA,SACA,CAACA,KAAK,CAACE,QAAP,IACA,CAACF,KAAK,CAACG,QADP,IAEAR,GAFA,qCAMQ;AAAA;AAAA,GANR,CADA;AAAA,CA3CoB,EAuDhB;AAAA;AAAA,CAvDgB,EA0DpB,UAACK,KAAD;AAAA,SACA,CAACA,KAAK,CAACE,QAAP,IACAF,KAAK,CAACG,QADN,IAEAR,GAFA,WAGM;AAAA;AAAA,GAHN,CADA;AAAA,CA1DoB,CAAjB;AAkEPG,WAAW,CAACM,WAAZ,GAA0B,aAA1B","sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { InputSize } from \"./Input\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledInput = styled.input<{\n $size?: InputSize;\n $invalid?: boolean;\n}>`\n ${tw`tw-text-body-2`}\n ${tw`tw-text-theme-900`}\n ${tw`tw-leading-regular`}\n ${tw`tw-tracking-regular`}\n ${tw`tw-font-regular`}\n border-width: 1px;\n border-style: solid;\n ${tw`tw-border-theme-500`}\n border-radius: 8px;\n padding: 4px 8px 6px 8px;\n height: 32px;\n background-color: var(--input-background-color);\n transition: all 0.3s ease;\n width: 360px;\n outline: none;\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n border-radius: 6px;\n height: 24px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n ${tw`tw-text-body-1`}\n height: 40px;\n `}\n\n ${(props) =>\n props.disabled &&\n css`\n ${tw`tw-cursor-not-allowed tw-opacity-50`}\n `}\n\n ${(props) =>\n !props.disabled &&\n !props.$invalid &&\n css`\n &:active,\n &:focus,\n &:hover {\n ${tw`tw-border-primary`}\n }\n `}\n\n &::placeholder {\n ${tw`tw-text-theme-transparent-500`}\n }\n\n ${(props) =>\n !props.disabled &&\n props.$invalid &&\n css`\n ${tw`tw-border-alert`}\n `}\n`;\n\nStyledInput.displayName = \"StyledInput\";\n"],"file":"Styles.js"}
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
- export declare const StyledSelectInput: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Input/Input").InputProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof import("react").InputHTMLAttributes<HTMLInputElement>>, "size"> & import("react").RefAttributes<HTMLInputElement>>, any, {}, never>;
2
+ export declare const StyledSelectInput: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Input/Input").InputProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof import("react").InputHTMLAttributes<HTMLInputElement>>, keyof import("../Input/Input").InputProps> & import("react").RefAttributes<HTMLInputElement>>, any, {}, never>;
3
3
  export declare const StyledSelectForm: import("styled-components").StyledComponent<"form", any, {}, never>;
4
4
  //# sourceMappingURL=Styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Styles.ts"],"names":[],"mappings":";AAGA,eAAO,MAAM,iBAAiB,qYAAkB,CAAC;AAIjD,eAAO,MAAM,gBAAgB,qEAY5B,CAAC"}
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Styles.ts"],"names":[],"mappings":";AAGA,eAAO,MAAM,iBAAiB,waAAkB,CAAC;AAIjD,eAAO,MAAM,gBAAgB,qEAY5B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  interface StyledTextareaProps {
2
2
  disabled: boolean;
3
+ $invalid: boolean;
3
4
  }
4
5
  export declare const StyledTextarea: import("styled-components").StyledComponent<"textarea", any, StyledTextareaProps, never>;
5
6
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Textarea/Styles.ts"],"names":[],"mappings":"AAKA,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,cAAc,0FAmD1B,CAAC"}
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Textarea/Styles.ts"],"names":[],"mappings":"AAKA,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,cAAc,0FA+C1B,CAAC"}
@@ -4,7 +4,7 @@ import { FontStyle } from "../FontStyle";
4
4
  export var StyledTextarea = styled.textarea.withConfig({
5
5
  displayName: "Styles__StyledTextarea",
6
6
  componentId: "sc-m6jqw8-0"
7
- })(["", " ", " ", " ", " ", " border-width:1px;border-style:solid;", " border-radius:8px;padding:4px 8px 6px 8px;height:auto;background-color:var(--input-background-color);transition:all 0.3s ease;width:360px;min-height:90px;", " ", " ", " &:active,&:focus{outline:none !important;", "}&:focus{box-shadow:none;}&::placeholder{", "}", ""], {
7
+ })(["", " ", " ", " ", " ", " border-width:1px;border-style:solid;", " border-radius:8px;padding:4px 8px 6px 8px;height:auto;background-color:var(--input-background-color);transition:all 0.3s ease;width:360px;min-height:90px;outline:none;", " ", " ", " ", " &::placeholder{", "}", ""], {
8
8
  "fontSize": "0.875rem"
9
9
  }, {
10
10
  "color": "var(--color-theme-900)"
@@ -17,17 +17,19 @@ export var StyledTextarea = styled.textarea.withConfig({
17
17
  }, {
18
18
  "borderColor": "var(--color-theme-500)"
19
19
  }, FontStyle, BoxSizingStyle, function (props) {
20
- return !props.disabled && css(["&:hover{outline:none !important;", "}"], {
20
+ return props.disabled && css(["", ""], {
21
+ "cursor": "not-allowed",
22
+ "opacity": "0.5"
23
+ });
24
+ }, function (props) {
25
+ return !props.disabled && !props.$invalid && css(["&:active,&:focus,&:hover{", "}"], {
21
26
  "borderColor": "var(--color-primary)"
22
27
  });
23
- }, {
24
- "borderColor": "var(--color-primary)"
25
28
  }, {
26
29
  "color": "var(--color-theme-transparent-500)"
27
30
  }, function (props) {
28
- return props.disabled && css(["outline:none;", " &:hover{border-color:var(--border-primary);}"], {
29
- "cursor": "not-allowed",
30
- "opacity": "0.5"
31
+ return !props.disabled && props.$invalid && css(["", ""], {
32
+ "borderColor": "var(--red-alert)"
31
33
  });
32
34
  });
33
35
  StyledTextarea.displayName = "StyledTextarea";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Textarea/Styles.ts"],"names":["styled","css","BoxSizingStyle","FontStyle","StyledTextarea","textarea","props","disabled","displayName"],"mappings":"AAAA,OAAOA,MAAP,IAAiBC,GAAjB,QAA4B,mBAA5B;AACA,SAASC,cAAT,QAA+B,mBAA/B;AACA,SAASC,SAAT,QAA0B,cAA1B;AAOA,OAAO,IAAMC,cAAc,GAAGJ,MAAM,CAACK,QAAV;AAAA;AAAA;AAAA,mVACrB;AAAA;AAAA,CADqB,EAErB;AAAA;AAAA,CAFqB,EAGrB;AAAA;AAAA,CAHqB,EAIrB;AAAA;AAAA,CAJqB,EAKrB;AAAA;AAAA,CALqB,EAQrB;AAAA;AAAA,CARqB,EAgBvBF,SAhBuB,EAiBvBD,cAjBuB,EAmBvB,UAACI,KAAD;AAAA,SACA,CAACA,KAAK,CAACC,QAAP,IACAN,GADA,4CAIQ;AAAA;AAAA,GAJR,CADA;AAAA,CAnBuB,EA8BnB;AAAA;AAAA,CA9BmB,EAsCnB;AAAA;AAAA,CAtCmB,EAyCvB,UAACK,KAAD;AAAA,SACAA,KAAK,CAACC,QAAN,IACAN,GADA,qEAGM;AAAA;AAAA;AAAA,GAHN,CADA;AAAA,CAzCuB,CAApB;AAqDPG,cAAc,CAACI,WAAf,GAA6B,gBAA7B","sourcesContent":["import styled, { css } from \"styled-components\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport tw from \"twin.macro\";\n\ninterface StyledTextareaProps {\n disabled: boolean;\n}\n\nexport const StyledTextarea = styled.textarea<StyledTextareaProps>`\n ${tw`tw-text-body-2`}\n ${tw`tw-text-theme-900`}\n ${tw`tw-leading-regular`}\n ${tw`tw-tracking-regular`}\n ${tw`tw-font-regular`}\n border-width: 1px;\n border-style: solid;\n ${tw`tw-border-theme-500`}\n border-radius: 8px;\n padding: 4px 8px 6px 8px;\n height: auto;\n background-color: var(--input-background-color);\n transition: all 0.3s ease;\n width: 360px;\n min-height: 90px;\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${(props) =>\n !props.disabled &&\n css`\n &:hover {\n outline: none !important;\n ${tw`tw-border-primary`}\n }\n `}\n\n &:active, &:focus {\n outline: none !important;\n ${tw`tw-border-primary`}\n }\n\n &:focus {\n box-shadow: none;\n }\n\n &::placeholder {\n ${tw`tw-text-theme-transparent-500`}\n }\n\n ${(props) =>\n props.disabled &&\n css`\n outline: none;\n ${tw`tw-cursor-not-allowed tw-opacity-50`}\n\n &:hover {\n border-color: var(--border-primary);\n }\n `}\n`;\n\nStyledTextarea.displayName = \"StyledTextarea\";\n"],"file":"Styles.js"}
1
+ {"version":3,"sources":["../../../../src/components/Textarea/Styles.ts"],"names":["styled","css","BoxSizingStyle","FontStyle","StyledTextarea","textarea","props","disabled","$invalid","displayName"],"mappings":"AAAA,OAAOA,MAAP,IAAiBC,GAAjB,QAA4B,mBAA5B;AACA,SAASC,cAAT,QAA+B,mBAA/B;AACA,SAASC,SAAT,QAA0B,cAA1B;AAQA,OAAO,IAAMC,cAAc,GAAGJ,MAAM,CAACK,QAAV;AAAA;AAAA;AAAA,8RACrB;AAAA;AAAA,CADqB,EAErB;AAAA;AAAA,CAFqB,EAGrB;AAAA;AAAA,CAHqB,EAIrB;AAAA;AAAA,CAJqB,EAKrB;AAAA;AAAA,CALqB,EAQrB;AAAA;AAAA,CARqB,EAiBvBF,SAjBuB,EAkBvBD,cAlBuB,EAoBvB,UAACI,KAAD;AAAA,SACAA,KAAK,CAACC,QAAN,IACAN,GADA,WAEM;AAAA;AAAA;AAAA,GAFN,CADA;AAAA,CApBuB,EA0BvB,UAACK,KAAD;AAAA,SACA,CAACA,KAAK,CAACC,QAAP,IACA,CAACD,KAAK,CAACE,QADP,IAEAP,GAFA,qCAMQ;AAAA;AAAA,GANR,CADA;AAAA,CA1BuB,EAsCnB;AAAA;AAAA,CAtCmB,EAyCvB,UAACK,KAAD;AAAA,SACA,CAACA,KAAK,CAACC,QAAP,IACAD,KAAK,CAACE,QADN,IAEAP,GAFA,WAGM;AAAA;AAAA,GAHN,CADA;AAAA,CAzCuB,CAApB;AAiDPG,cAAc,CAACK,WAAf,GAA6B,gBAA7B","sourcesContent":["import styled, { css } from \"styled-components\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport tw from \"twin.macro\";\n\ninterface StyledTextareaProps {\n disabled: boolean;\n $invalid: boolean;\n}\n\nexport const StyledTextarea = styled.textarea<StyledTextareaProps>`\n ${tw`tw-text-body-2`}\n ${tw`tw-text-theme-900`}\n ${tw`tw-leading-regular`}\n ${tw`tw-tracking-regular`}\n ${tw`tw-font-regular`}\n border-width: 1px;\n border-style: solid;\n ${tw`tw-border-theme-500`}\n border-radius: 8px;\n padding: 4px 8px 6px 8px;\n height: auto;\n background-color: var(--input-background-color);\n transition: all 0.3s ease;\n width: 360px;\n min-height: 90px;\n outline: none;\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${(props) =>\n props.disabled &&\n css`\n ${tw`tw-cursor-not-allowed tw-opacity-50`}\n `}\n\n ${(props) =>\n !props.disabled &&\n !props.$invalid &&\n css`\n &:active,\n &:focus,\n &:hover {\n ${tw`tw-border-primary`}\n }\n `}\n\n &::placeholder {\n ${tw`tw-text-theme-transparent-500`}\n }\n\n ${(props) =>\n !props.disabled &&\n props.$invalid &&\n css`\n ${tw`tw-border-alert`}\n `}\n`;\n\nStyledTextarea.displayName = \"StyledTextarea\";\n"],"file":"Styles.js"}
@@ -1,3 +1,6 @@
1
1
  import React from "react";
2
- export declare const Textarea: React.ForwardRefExoticComponent<React.TextareaHTMLAttributes<HTMLTextAreaElement> & React.RefAttributes<HTMLTextAreaElement>>;
2
+ export interface TextareaProps {
3
+ invalid?: boolean;
4
+ }
5
+ export declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & Omit<Pick<React.DetailedHTMLProps<React.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "key" | keyof React.TextareaHTMLAttributes<HTMLTextAreaElement>>, "invalid"> & React.RefAttributes<HTMLTextAreaElement>>;
3
6
  //# sourceMappingURL=Textarea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../../src/components/Textarea/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAIvE,eAAO,MAAM,QAAQ,+HAsBpB,CAAC"}
1
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../../src/components/Textarea/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAI/C,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,QAAQ,qRAyBpB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- var _excluded = ["className", "disabled"];
3
+ var _excluded = ["className", "disabled", "invalid"];
4
4
  import React, { forwardRef } from "react";
5
5
  import classnames from "classnames";
6
6
  import { StyledTextarea } from "./Styles";
@@ -8,9 +8,12 @@ export var Textarea = /*#__PURE__*/forwardRef(function (_ref, ref) {
8
8
  var className = _ref.className,
9
9
  _ref$disabled = _ref.disabled,
10
10
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
11
+ _ref$invalid = _ref.invalid,
12
+ invalid = _ref$invalid === void 0 ? false : _ref$invalid,
11
13
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
12
14
 
13
15
  return /*#__PURE__*/React.createElement(StyledTextarea, _extends({}, rest, {
16
+ $invalid: invalid,
14
17
  ref: ref,
15
18
  disabled: disabled,
16
19
  className: classnames("c-textarea", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Textarea/Textarea.tsx"],"names":["React","forwardRef","classnames","StyledTextarea","Textarea","ref","className","disabled","rest","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,IAAwCC,UAAxC,QAA+D,OAA/D;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,cAAT,QAA+B,UAA/B;AAEA,OAAO,IAAMC,QAAQ,gBAAGH,UAAU,CAChC,gBAMEI,GANF,EAOK;AAAA,MALDC,SAKC,QALDA,SAKC;AAAA,2BAJDC,QAIC;AAAA,MAJDA,QAIC,8BAJU,KAIV;AAAA,MAHEC,IAGF;;AACH,sBACE,oBAAC,cAAD,eACMA,IADN;AAEE,IAAA,GAAG,EAAEH,GAFP;AAGE,IAAA,QAAQ,EAAEE,QAHZ;AAIE,IAAA,SAAS,EAAEL,UAAU,CACnB,YADmB,EAEnB;AAAE,8BAAwBK;AAA1B,KAFmB,EAGnBD,SAHmB;AAJvB,KADF;AAYD,CArB+B,CAA3B;AAwBPF,QAAQ,CAACK,WAAT,GAAuB,UAAvB","sourcesContent":["import React, { TextareaHTMLAttributes, forwardRef, Ref } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledTextarea } from \"./Styles\";\n\nexport const Textarea = forwardRef(\n (\n {\n className,\n disabled = false,\n ...rest\n }: TextareaHTMLAttributes<HTMLTextAreaElement>,\n ref: Ref<HTMLTextAreaElement> | null | undefined\n ) => {\n return (\n <StyledTextarea\n {...rest}\n ref={ref}\n disabled={disabled}\n className={classnames(\n \"c-textarea\",\n { \"c-textarea__disabled\": disabled },\n className\n )}\n />\n );\n }\n);\n\nTextarea.displayName = \"Textarea\";\n"],"file":"Textarea.js"}
1
+ {"version":3,"sources":["../../../../src/components/Textarea/Textarea.tsx"],"names":["React","forwardRef","classnames","StyledTextarea","Textarea","ref","className","disabled","invalid","rest","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAuC,OAAvC;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,cAAT,QAA+B,UAA/B;AAMA,OAAO,IAAMC,QAAQ,gBAAGH,UAAU,CAChC,gBAQEI,GARF,EASK;AAAA,MAPDC,SAOC,QAPDA,SAOC;AAAA,2BANDC,QAMC;AAAA,MANDA,QAMC,8BANU,KAMV;AAAA,0BALDC,OAKC;AAAA,MALDA,OAKC,6BALS,KAKT;AAAA,MAJEC,IAIF;;AACH,sBACE,oBAAC,cAAD,eACMA,IADN;AAEE,IAAA,QAAQ,EAAED,OAFZ;AAGE,IAAA,GAAG,EAAEH,GAHP;AAIE,IAAA,QAAQ,EAAEE,QAJZ;AAKE,IAAA,SAAS,EAAEL,UAAU,CACnB,YADmB,EAEnB;AAAE,8BAAwBK;AAA1B,KAFmB,EAGnBD,SAHmB;AALvB,KADF;AAaD,CAxB+B,CAA3B;AA2BPF,QAAQ,CAACM,WAAT,GAAuB,UAAvB","sourcesContent":["import React, { forwardRef, Ref } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledTextarea } from \"./Styles\";\n\nexport interface TextareaProps {\n invalid?: boolean;\n}\n\nexport const Textarea = forwardRef(\n (\n {\n className,\n disabled = false,\n invalid = false,\n ...rest\n }: TextareaProps &\n Omit<React.ComponentPropsWithoutRef<\"textarea\">, keyof TextareaProps>,\n ref: Ref<HTMLTextAreaElement> | null | undefined\n ) => {\n return (\n <StyledTextarea\n {...rest}\n $invalid={invalid}\n ref={ref}\n disabled={disabled}\n className={classnames(\n \"c-textarea\",\n { \"c-textarea__disabled\": disabled },\n className\n )}\n />\n );\n }\n);\n\nTextarea.displayName = \"Textarea\";\n"],"file":"Textarea.js"}
@@ -1,6 +1,8 @@
1
1
  import { FC } from "react";
2
+ declare type ContainerFunc = () => HTMLElement;
3
+ declare type Container = HTMLElement | ContainerFunc;
2
4
  interface IPortal {
3
- root?: HTMLElement;
5
+ container?: Container;
4
6
  }
5
7
  export declare const Portal: FC<IPortal>;
6
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Portal.d.ts","sourceRoot":"","sources":["../../../../src/helpers/Portal/Portal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAG3B,UAAU,OAAO;IACf,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,OAAO,CAI9B,CAAC"}
1
+ {"version":3,"file":"Portal.d.ts","sourceRoot":"","sources":["../../../../src/helpers/Portal/Portal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAC;AAGhD,aAAK,aAAa,GAAG,MAAM,WAAW,CAAC;AACvC,aAAK,SAAS,GAAG,WAAW,GAAG,aAAa,CAAC;AAC7C,UAAU,OAAO;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAMD,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,OAAO,CAW9B,CAAC"}
@@ -1,9 +1,23 @@
1
+ import { useEffect, useState } from "react";
1
2
  import ReactDOM from "react-dom";
3
+
4
+ var getContainer = function getContainer(container) {
5
+ return typeof container === "function" ? container() : container;
6
+ };
7
+
2
8
  export var Portal = function Portal(_ref) {
3
9
  var children = _ref.children,
4
- _ref$root = _ref.root,
5
- root = _ref$root === void 0 ? document.body : _ref$root;
6
- return document.body.contains(root) || root === document.body ? /*#__PURE__*/ReactDOM.createPortal(children, root) : null;
10
+ _ref$container = _ref.container,
11
+ container = _ref$container === void 0 ? document.body : _ref$container;
12
+
13
+ var _useState = useState(null),
14
+ mountNode = _useState[0],
15
+ setMountNode = _useState[1];
16
+
17
+ useEffect(function () {
18
+ setMountNode(getContainer(container));
19
+ }, [container]);
20
+ return mountNode ? /*#__PURE__*/ReactDOM.createPortal(children, mountNode) : mountNode;
7
21
  };
8
22
  Portal.displayName = "Portal";
9
23
  //# sourceMappingURL=Portal.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/helpers/Portal/Portal.tsx"],"names":["ReactDOM","Portal","children","root","document","body","contains","createPortal","displayName"],"mappings":"AACA,OAAOA,QAAP,MAAqB,WAArB;AAMA,OAAO,IAAMC,MAAmB,GAAG,SAAtBA,MAAsB,OAAwC;AAAA,MAArCC,QAAqC,QAArCA,QAAqC;AAAA,uBAA3BC,IAA2B;AAAA,MAA3BA,IAA2B,0BAApBC,QAAQ,CAACC,IAAW;AACzE,SAAOD,QAAQ,CAACC,IAAT,CAAcC,QAAd,CAAuBH,IAAvB,KAAgCA,IAAI,KAAKC,QAAQ,CAACC,IAAlD,gBACHL,QAAQ,CAACO,YAAT,CAAsBL,QAAtB,EAAgCC,IAAhC,CADG,GAEH,IAFJ;AAGD,CAJM;AAMPF,MAAM,CAACO,WAAP,GAAqB,QAArB","sourcesContent":["import { FC } from \"react\";\nimport ReactDOM from \"react-dom\";\n\ninterface IPortal {\n root?: HTMLElement;\n}\n\nexport const Portal: FC<IPortal> = ({ children, root = document.body }) => {\n return document.body.contains(root) || root === document.body\n ? ReactDOM.createPortal(children, root)\n : null;\n};\n\nPortal.displayName = \"Portal\";\n"],"file":"Portal.js"}
1
+ {"version":3,"sources":["../../../../src/helpers/Portal/Portal.tsx"],"names":["useEffect","useState","ReactDOM","getContainer","container","Portal","children","document","body","mountNode","setMountNode","createPortal","displayName"],"mappings":"AAAA,SAAaA,SAAb,EAAwBC,QAAxB,QAAwC,OAAxC;AACA,OAAOC,QAAP,MAAqB,WAArB;;AAQA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,SAAD,EAA0B;AAC7C,SAAO,OAAOA,SAAP,KAAqB,UAArB,GAAkCA,SAAS,EAA3C,GAAgDA,SAAvD;AACD,CAFD;;AAIA,OAAO,IAAMC,MAAmB,GAAG,SAAtBA,MAAsB,OAG7B;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,4BADJF,SACI;AAAA,MADJA,SACI,+BADQG,QAAQ,CAACC,IACjB;;AACJ,kBAAkCP,QAAQ,CAAqB,IAArB,CAA1C;AAAA,MAAOQ,SAAP;AAAA,MAAkBC,YAAlB;;AAEAV,EAAAA,SAAS,CAAC,YAAM;AACdU,IAAAA,YAAY,CAACP,YAAY,CAACC,SAAD,CAAb,CAAZ;AACD,GAFQ,EAEN,CAACA,SAAD,CAFM,CAAT;AAIA,SAAOK,SAAS,gBAAGP,QAAQ,CAACS,YAAT,CAAsBL,QAAtB,EAAgCG,SAAhC,CAAH,GAAgDA,SAAhE;AACD,CAXM;AAaPJ,MAAM,CAACO,WAAP,GAAqB,QAArB","sourcesContent":["import { FC, useEffect, useState } from \"react\";\nimport ReactDOM from \"react-dom\";\n\ntype ContainerFunc = () => HTMLElement;\ntype Container = HTMLElement | ContainerFunc;\ninterface IPortal {\n container?: Container;\n}\n\nconst getContainer = (container: Container) => {\n return typeof container === \"function\" ? container() : container;\n};\n\nexport const Portal: FC<IPortal> = ({\n children,\n container = document.body,\n}) => {\n const [mountNode, setMountNode] = useState<HTMLElement | null>(null);\n\n useEffect(() => {\n setMountNode(getContainer(container));\n }, [container]);\n\n return mountNode ? ReactDOM.createPortal(children, mountNode) : mountNode;\n};\n\nPortal.displayName = \"Portal\";\n"],"file":"Portal.js"}
@@ -1,2 +1,3 @@
1
1
  export * from "./layers";
2
+ export { default as useForkRef } from "./useForkRef";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from "./layers";
2
+ export { default as useForkRef } from "./useForkRef";
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAd","sourcesContent":["export * from \"./layers\";\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/utils/index.ts"],"names":["default","useForkRef"],"mappings":"AAAA,cAAc,UAAd;AACA,SAASA,OAAO,IAAIC,UAApB,QAAsC,cAAtC","sourcesContent":["export * from \"./layers\";\nexport { default as useForkRef } from \"./useForkRef\";\n"],"file":"index.js"}
package/dist/index.js CHANGED
@@ -612,11 +612,24 @@
612
612
  };
613
613
  FromElement.displayName = "FromElement";
614
614
 
615
+ var getContainer = function getContainer(container) {
616
+ return typeof container === "function" ? container() : container;
617
+ };
618
+
615
619
  var Portal = function Portal(_ref) {
616
620
  var children = _ref.children,
617
- _ref$root = _ref.root,
618
- root = _ref$root === void 0 ? document.body : _ref$root;
619
- return document.body.contains(root) || root === document.body ? /*#__PURE__*/ReactDOM__default["default"].createPortal(children, root) : null;
621
+ _ref$container = _ref.container,
622
+ container = _ref$container === void 0 ? document.body : _ref$container;
623
+
624
+ var _useState = React.useState(null),
625
+ _useState2 = _slicedToArray(_useState, 2),
626
+ mountNode = _useState2[0],
627
+ setMountNode = _useState2[1];
628
+
629
+ React.useEffect(function () {
630
+ setMountNode(getContainer(container));
631
+ }, [container]);
632
+ return mountNode ? /*#__PURE__*/ReactDOM__default["default"].createPortal(children, mountNode) : mountNode;
620
633
  };
621
634
  Portal.displayName = "Portal";
622
635
 
@@ -4640,7 +4653,7 @@
4640
4653
  var StyledInput = styled__default["default"].input.withConfig({
4641
4654
  displayName: "Styles__StyledInput",
4642
4655
  componentId: "sc-ce8kcp-0"
4643
- })(["", " ", " ", " ", " ", " border-width:1px;border-style:solid;", " border-radius:8px;padding:4px 8px 6px 8px;height:32px;background-color:var(--input-background-color);transition:all 0.3s ease;width:360px;outline:none;", " ", " ", " ", " ", " &::placeholder{", "}"], {
4656
+ })(["", " ", " ", " ", " ", " border-width:1px;border-style:solid;", " border-radius:8px;padding:4px 8px 6px 8px;height:32px;background-color:var(--input-background-color);transition:all 0.3s ease;width:360px;outline:none;", " ", " ", " ", " ", " ", " &::placeholder{", "}", ""], {
4644
4657
  "fontSize": "0.875rem"
4645
4658
  }, {
4646
4659
  "color": "var(--color-theme-900)"
@@ -4659,22 +4672,24 @@
4659
4672
  "fontSize": "1rem"
4660
4673
  });
4661
4674
  }, function (props) {
4662
- return props.disabled ? styled.css(["", ""], {
4675
+ return props.disabled && styled.css(["", ""], {
4663
4676
  "cursor": "not-allowed",
4664
4677
  "opacity": "0.5"
4665
- }) : styled.css(["&:hover{", "}&:active{", "}&:focus{", "}"], {
4666
- "borderColor": "var(--color-primary)"
4667
- }, {
4668
- "borderColor": "var(--color-primary)"
4669
- }, {
4678
+ });
4679
+ }, function (props) {
4680
+ return !props.disabled && !props.$invalid && styled.css(["&:active,&:focus,&:hover{", "}"], {
4670
4681
  "borderColor": "var(--color-primary)"
4671
4682
  });
4672
4683
  }, {
4673
4684
  "color": "var(--color-theme-transparent-500)"
4685
+ }, function (props) {
4686
+ return !props.disabled && props.$invalid && styled.css(["", ""], {
4687
+ "borderColor": "var(--red-alert)"
4688
+ });
4674
4689
  });
4675
4690
  StyledInput.displayName = "StyledInput";
4676
4691
 
4677
- var _excluded$r = ["className", "type", "disabled", "size"];
4692
+ var _excluded$r = ["className", "type", "disabled", "size", "invalid"];
4678
4693
  var Input = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
4679
4694
  var _ref$className = _ref.className,
4680
4695
  className = _ref$className === void 0 ? "" : _ref$className,
@@ -4684,6 +4699,8 @@
4684
4699
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
4685
4700
  _ref$size = _ref.size,
4686
4701
  size = _ref$size === void 0 ? "regular" : _ref$size,
4702
+ _ref$invalid = _ref.invalid,
4703
+ invalid = _ref$invalid === void 0 ? false : _ref$invalid,
4687
4704
  rest = _objectWithoutProperties(_ref, _excluded$r);
4688
4705
 
4689
4706
  return /*#__PURE__*/React__default["default"].createElement(StyledInput, _extends({
@@ -4691,7 +4708,8 @@
4691
4708
  type: type,
4692
4709
  disabled: disabled,
4693
4710
  className: classNames__default["default"]("c-input", className),
4694
- $size: size
4711
+ $size: size,
4712
+ $invalid: invalid
4695
4713
  }, rest));
4696
4714
  });
4697
4715
  Input.displayName = "Input";
@@ -7828,7 +7846,7 @@
7828
7846
  var StyledTextarea = styled__default["default"].textarea.withConfig({
7829
7847
  displayName: "Styles__StyledTextarea",
7830
7848
  componentId: "sc-m6jqw8-0"
7831
- })(["", " ", " ", " ", " ", " border-width:1px;border-style:solid;", " border-radius:8px;padding:4px 8px 6px 8px;height:auto;background-color:var(--input-background-color);transition:all 0.3s ease;width:360px;min-height:90px;", " ", " ", " &:active,&:focus{outline:none !important;", "}&:focus{box-shadow:none;}&::placeholder{", "}", ""], {
7849
+ })(["", " ", " ", " ", " ", " border-width:1px;border-style:solid;", " border-radius:8px;padding:4px 8px 6px 8px;height:auto;background-color:var(--input-background-color);transition:all 0.3s ease;width:360px;min-height:90px;outline:none;", " ", " ", " ", " &::placeholder{", "}", ""], {
7832
7850
  "fontSize": "0.875rem"
7833
7851
  }, {
7834
7852
  "color": "var(--color-theme-900)"
@@ -7841,29 +7859,34 @@
7841
7859
  }, {
7842
7860
  "borderColor": "var(--color-theme-500)"
7843
7861
  }, FontStyle, BoxSizingStyle, function (props) {
7844
- return !props.disabled && styled.css(["&:hover{outline:none !important;", "}"], {
7862
+ return props.disabled && styled.css(["", ""], {
7863
+ "cursor": "not-allowed",
7864
+ "opacity": "0.5"
7865
+ });
7866
+ }, function (props) {
7867
+ return !props.disabled && !props.$invalid && styled.css(["&:active,&:focus,&:hover{", "}"], {
7845
7868
  "borderColor": "var(--color-primary)"
7846
7869
  });
7847
- }, {
7848
- "borderColor": "var(--color-primary)"
7849
7870
  }, {
7850
7871
  "color": "var(--color-theme-transparent-500)"
7851
7872
  }, function (props) {
7852
- return props.disabled && styled.css(["outline:none;", " &:hover{border-color:var(--border-primary);}"], {
7853
- "cursor": "not-allowed",
7854
- "opacity": "0.5"
7873
+ return !props.disabled && props.$invalid && styled.css(["", ""], {
7874
+ "borderColor": "var(--red-alert)"
7855
7875
  });
7856
7876
  });
7857
7877
  StyledTextarea.displayName = "StyledTextarea";
7858
7878
 
7859
- var _excluded$k = ["className", "disabled"];
7879
+ var _excluded$k = ["className", "disabled", "invalid"];
7860
7880
  var Textarea = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
7861
7881
  var className = _ref.className,
7862
7882
  _ref$disabled = _ref.disabled,
7863
7883
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
7884
+ _ref$invalid = _ref.invalid,
7885
+ invalid = _ref$invalid === void 0 ? false : _ref$invalid,
7864
7886
  rest = _objectWithoutProperties(_ref, _excluded$k);
7865
7887
 
7866
7888
  return /*#__PURE__*/React__default["default"].createElement(StyledTextarea, _extends({}, rest, {
7889
+ $invalid: invalid,
7867
7890
  ref: ref,
7868
7891
  disabled: disabled,
7869
7892
  className: classNames__default["default"]("c-textarea", {
@@ -9940,7 +9963,7 @@
9940
9963
  });
9941
9964
  StyledComboBoxList.displayName = "StyledComboBoxList";
9942
9965
 
9943
- var _excluded$1 = ["options", "selected", "loading", "loadingText", "onChange", "placeholder", "handleEmptyAction", "disabled", "size"];
9966
+ var _excluded$1 = ["options", "selected", "loading", "loadingText", "onChange", "placeholder", "handleEmptyAction", "disabled", "size", "invalid"];
9944
9967
  var ComboBox = function ComboBox(_ref) {
9945
9968
  var _comboBoxRef$current;
9946
9969
 
@@ -9957,6 +9980,8 @@
9957
9980
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
9958
9981
  _ref$size = _ref.size,
9959
9982
  size = _ref$size === void 0 ? "regular" : _ref$size,
9983
+ _ref$invalid = _ref.invalid,
9984
+ invalid = _ref$invalid === void 0 ? false : _ref$invalid,
9960
9985
  prop = _objectWithoutProperties(_ref, _excluded$1);
9961
9986
 
9962
9987
  var selectedName = React.useMemo(function () {
@@ -10083,7 +10108,8 @@
10083
10108
  onChange: handleOnChange,
10084
10109
  placeholder: placeholder,
10085
10110
  disabled: disabled,
10086
- size: size
10111
+ size: size,
10112
+ invalid: invalid
10087
10113
  }), !disabled ? /*#__PURE__*/React__default["default"].createElement(StyledComboBoxControls, null, loading ? /*#__PURE__*/React__default["default"].createElement(SpinnerLoader, null) : selected ? /*#__PURE__*/React__default["default"].createElement(Button, {
10088
10114
  onMouseDown: handleMouseDown,
10089
10115
  onClick: handleDeselect,
@@ -10827,6 +10853,7 @@
10827
10853
  exports.YearMonthPicker = YearMonthPicker;
10828
10854
  exports.layers = layers;
10829
10855
  exports.signifierTypes = signifierTypes;
10856
+ exports.useForkRef = useForkRef;
10830
10857
  exports.useHeight = useHeight;
10831
10858
  exports.useInitScrollRef = useInitScrollRef;
10832
10859
  exports.useLayerContext = useLayerContext;