@activecollab/components 2.0.74 → 2.0.75

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 (28) hide show
  1. package/dist/cjs/components/Checkbox/Checkbox.js +29 -5
  2. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  3. package/dist/cjs/components/Checkbox/CheckboxIcon.js +4 -4
  4. package/dist/cjs/components/Checkbox/CheckboxIcon.js.map +1 -1
  5. package/dist/cjs/components/Checkbox/Styles.js +6 -6
  6. package/dist/cjs/components/Checkbox/Styles.js.map +1 -1
  7. package/dist/cjs/components/Select/OptionGroup/OptionGroup.js +1 -1
  8. package/dist/cjs/components/Select/OptionGroup/OptionGroup.js.map +1 -1
  9. package/dist/cjs/components/Select/Select.js +1 -1
  10. package/dist/cjs/components/Select/Select.js.map +1 -1
  11. package/dist/esm/components/Checkbox/Checkbox.d.ts +4 -2
  12. package/dist/esm/components/Checkbox/Checkbox.d.ts.map +1 -1
  13. package/dist/esm/components/Checkbox/Checkbox.js +18 -4
  14. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  15. package/dist/esm/components/Checkbox/CheckboxIcon.d.ts +1 -1
  16. package/dist/esm/components/Checkbox/CheckboxIcon.js +3 -3
  17. package/dist/esm/components/Checkbox/CheckboxIcon.js.map +1 -1
  18. package/dist/esm/components/Checkbox/Styles.js +1 -1
  19. package/dist/esm/components/Checkbox/Styles.js.map +1 -1
  20. package/dist/esm/components/Select/OptionGroup/OptionGroup.js +1 -1
  21. package/dist/esm/components/Select/OptionGroup/OptionGroup.js.map +1 -1
  22. package/dist/esm/components/Select/Select.js +1 -1
  23. package/dist/esm/components/Select/Select.js.map +1 -1
  24. package/dist/index.js +35 -17
  25. package/dist/index.js.map +1 -1
  26. package/dist/index.min.js +1 -1
  27. package/dist/index.min.js.map +1 -1
  28. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxIcon.js","names":["_react","_interopRequireDefault","require","CheckboxIcon","React","forwardRef","_ref","svgRef","isIndeterminate","testId","props","default","createElement","width","height","viewBox","fill","xmlns","fillRule","clipRule","d","x","y","rx","_extends2","focusable","ref","stroke","strokeWidth","displayName","_default","exports"],"sources":["../../../../src/components/Checkbox/CheckboxIcon.tsx"],"sourcesContent":["import React from \"react\";\n\n/**\n * @component CheckboxIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CheckboxIcon className=\"mr-2\" showAdditionalIcon={true} />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CheckboxIcon = React.forwardRef(\n (\n {\n isIndeterminate,\n \"data-testid\": testId,\n ...props\n }: {\n isIndeterminate?: boolean;\n \"data-testid\"?: string;\n } & React.SVGProps<SVGSVGElement>,\n svgRef?: React.Ref<SVGSVGElement>\n ) => {\n // const [animate, setAnimate] = useState(false);\n // const mountRef = useRef(false);\n\n // useEffect(() => {\n // if (mountRef.current) {\n // setAnimate(true);\n // } else {\n // mountRef.current = true;\n // }\n // }, [isIndeterminate]);\n\n if (isIndeterminate) {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid={testId}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.2222 0C15.2041 0 16 0.795938 16 1.77778V14.2222C16 15.2041 15.2041 16 14.2222 16H1.77778C0.795938 16 0 15.2041 0 14.2222V1.77778C0 0.795938 0.795938 0 1.77778 0H14.2222Z\"\n fill=\"var(--color-secondary)\"\n />\n <rect\n x=\"3\"\n y=\"7\"\n width={10}\n height=\"2\"\n rx=\"1\"\n fill=\"var(--page-paper-main)\"\n ></rect>\n </svg>\n );\n }\n return (\n <svg\n width={16}\n height={16}\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n data-testid={testId}\n >\n <g fillRule=\"evenodd\">\n <rect\n stroke=\"#8E8E8E\"\n x={0.5}\n y={0.5}\n width={15}\n height={15}\n rx={2}\n />\n <path\n stroke=\"#979797\"\n strokeWidth={2}\n d=\"M12.243 5l-5.657 5.657-2.829-2.829\"\n />\n </g>\n </svg>\n );\n }\n);\nCheckboxIcon.displayName = \"CheckboxIcon\";\nexport default CheckboxIcon;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,YAAY,gBAAGC,cAAK,CAACC,UAAU,CACnC,CAAAC,IAAA,EASEC,MAAiC,KAC9B;EAAA,IATH;IACEC,eAAe;IACf,aAAa,EAAEC,MAAM;IACrB,GAAGC;EAI2B,CAAC,GAAAJ,IAAA;EAGjC;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,IAAIE,eAAe,EAAE;IACnB,oBACER,MAAA,CAAAW,OAAA,CAAAC,aAAA;MACEC,KAAK,EAAC,IAAI;MACVC,MAAM,EAAC,IAAI;MACXC,OAAO,EAAC,WAAW;MACnBC,IAAI,EAAC,MAAM;MACXC,KAAK,EAAC,4BAA4B;MAClC,eAAaR;IAAO,gBAEpBT,MAAA,CAAAW,OAAA,CAAAC,aAAA;MACEM,QAAQ,EAAC,SAAS;MAClBC,QAAQ,EAAC,SAAS;MAClBC,CAAC,EAAC,+KAA+K;MACjLJ,IAAI,EAAC;IAAwB,CAC9B,CAAC,eACFhB,MAAA,CAAAW,OAAA,CAAAC,aAAA;MACES,CAAC,EAAC,GAAG;MACLC,CAAC,EAAC,GAAG;MACLT,KAAK,EAAE,EAAG;MACVC,MAAM,EAAC,GAAG;MACVS,EAAE,EAAC,GAAG;MACNP,IAAI,EAAC;IAAwB,CACxB,CACJ,CAAC;EAEV;EACA,oBACEhB,MAAA,CAAAW,OAAA,CAAAC,aAAA,YAAAY,SAAA,CAAAb,OAAA;IACEE,KAAK,EAAE,EAAG;IACVC,MAAM,EAAE,EAAG;IACXC,OAAO,EAAC,WAAW;IACnBE,KAAK,EAAC,4BAA4B;IAClCD,IAAI,EAAC,wBAAwB;IAC7BS,SAAS,EAAE,KAAM;IACjBC,GAAG,EAAEnB;EAAO,GACRG,KAAK;IACT,eAAaD;EAAO,iBAEpBT,MAAA,CAAAW,OAAA,CAAAC,aAAA;IAAGM,QAAQ,EAAC;EAAS,gBACnBlB,MAAA,CAAAW,OAAA,CAAAC,aAAA;IACEe,MAAM,EAAC,SAAS;IAChBN,CAAC,EAAE,GAAI;IACPC,CAAC,EAAE,GAAI;IACPT,KAAK,EAAE,EAAG;IACVC,MAAM,EAAE,EAAG;IACXS,EAAE,EAAE;EAAE,CACP,CAAC,eACFvB,MAAA,CAAAW,OAAA,CAAAC,aAAA;IACEe,MAAM,EAAC,SAAS;IAChBC,WAAW,EAAE,CAAE;IACfR,CAAC,EAAC;EAAoC,CACvC,CACA,CACA,CAAC;AAEV,CACF,CAAC;AACDjB,YAAY,CAAC0B,WAAW,GAAG,cAAc;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAApB,OAAA,GAC3BR,YAAY"}
1
+ {"version":3,"file":"CheckboxIcon.js","names":["_react","_interopRequireDefault","require","CheckboxIcon","React","forwardRef","_ref","svgRef","mixed","testId","props","default","createElement","width","height","viewBox","fill","xmlns","fillRule","clipRule","d","x","y","rx","_extends2","focusable","ref","stroke","strokeWidth","displayName","_default","exports"],"sources":["../../../../src/components/Checkbox/CheckboxIcon.tsx"],"sourcesContent":["import React from \"react\";\n\n/**\n * @component CheckboxIcon\n * @description\n *\n * The React Icon component is a visual element that displays an icon to represent a concept, object, or action.\n * The Icon component is\n * customizable, allowing for variations in size, color, and style to fit the needs of the application.\n *\n *\n * @example\n * return (\n * <CheckboxIcon className=\"mr-2\" showAdditionalIcon={true} />\n * )\n *\n * @see\n * https://system.activecollab.com/?path=/story/foundation-icons-icons--icons\n * @see\n * https://design.activecollab.com/docs/foundations/icons\n */\nconst CheckboxIcon = React.forwardRef(\n (\n {\n mixed,\n \"data-testid\": testId,\n ...props\n }: {\n mixed?: boolean;\n \"data-testid\"?: string;\n } & React.SVGProps<SVGSVGElement>,\n svgRef?: React.Ref<SVGSVGElement>\n ) => {\n // const [animate, setAnimate] = useState(false);\n // const mountRef = useRef(false);\n\n // useEffect(() => {\n // if (mountRef.current) {\n // setAnimate(true);\n // } else {\n // mountRef.current = true;\n // }\n // }, [mixed]);\n\n if (mixed) {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n data-testid={testId}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.2222 0C15.2041 0 16 0.795938 16 1.77778V14.2222C16 15.2041 15.2041 16 14.2222 16H1.77778C0.795938 16 0 15.2041 0 14.2222V1.77778C0 0.795938 0.795938 0 1.77778 0H14.2222Z\"\n fill=\"var(--color-secondary)\"\n />\n <rect\n x=\"3\"\n y=\"7\"\n width={10}\n height=\"2\"\n rx=\"1\"\n fill=\"var(--page-paper-main)\"\n ></rect>\n </svg>\n );\n }\n return (\n <svg\n width={16}\n height={16}\n viewBox=\"0 0 16 16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"var(--color-theme-600)\"\n focusable={false}\n ref={svgRef}\n {...props}\n data-testid={testId}\n >\n <g fillRule=\"evenodd\">\n <rect\n stroke=\"#8E8E8E\"\n x={0.5}\n y={0.5}\n width={15}\n height={15}\n rx={2}\n />\n <path\n stroke=\"#979797\"\n strokeWidth={2}\n d=\"M12.243 5l-5.657 5.657-2.829-2.829\"\n />\n </g>\n </svg>\n );\n }\n);\nCheckboxIcon.displayName = \"CheckboxIcon\";\nexport default CheckboxIcon;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,YAAY,gBAAGC,cAAK,CAACC,UAAU,CACnC,CAAAC,IAAA,EASEC,MAAiC,KAC9B;EAAA,IATH;IACEC,KAAK;IACL,aAAa,EAAEC,MAAM;IACrB,GAAGC;EAI2B,CAAC,GAAAJ,IAAA;EAGjC;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,IAAIE,KAAK,EAAE;IACT,oBACER,MAAA,CAAAW,OAAA,CAAAC,aAAA;MACEC,KAAK,EAAC,IAAI;MACVC,MAAM,EAAC,IAAI;MACXC,OAAO,EAAC,WAAW;MACnBC,IAAI,EAAC,MAAM;MACXC,KAAK,EAAC,4BAA4B;MAClC,eAAaR;IAAO,gBAEpBT,MAAA,CAAAW,OAAA,CAAAC,aAAA;MACEM,QAAQ,EAAC,SAAS;MAClBC,QAAQ,EAAC,SAAS;MAClBC,CAAC,EAAC,+KAA+K;MACjLJ,IAAI,EAAC;IAAwB,CAC9B,CAAC,eACFhB,MAAA,CAAAW,OAAA,CAAAC,aAAA;MACES,CAAC,EAAC,GAAG;MACLC,CAAC,EAAC,GAAG;MACLT,KAAK,EAAE,EAAG;MACVC,MAAM,EAAC,GAAG;MACVS,EAAE,EAAC,GAAG;MACNP,IAAI,EAAC;IAAwB,CACxB,CACJ,CAAC;EAEV;EACA,oBACEhB,MAAA,CAAAW,OAAA,CAAAC,aAAA,YAAAY,SAAA,CAAAb,OAAA;IACEE,KAAK,EAAE,EAAG;IACVC,MAAM,EAAE,EAAG;IACXC,OAAO,EAAC,WAAW;IACnBE,KAAK,EAAC,4BAA4B;IAClCD,IAAI,EAAC,wBAAwB;IAC7BS,SAAS,EAAE,KAAM;IACjBC,GAAG,EAAEnB;EAAO,GACRG,KAAK;IACT,eAAaD;EAAO,iBAEpBT,MAAA,CAAAW,OAAA,CAAAC,aAAA;IAAGM,QAAQ,EAAC;EAAS,gBACnBlB,MAAA,CAAAW,OAAA,CAAAC,aAAA;IACEe,MAAM,EAAC,SAAS;IAChBN,CAAC,EAAE,GAAI;IACPC,CAAC,EAAE,GAAI;IACPT,KAAK,EAAE,EAAG;IACVC,MAAM,EAAE,EAAG;IACXS,EAAE,EAAE;EAAE,CACP,CAAC,eACFvB,MAAA,CAAAW,OAAA,CAAAC,aAAA;IACEe,MAAM,EAAC,SAAS;IAChBC,WAAW,EAAE,CAAE;IACfR,CAAC,EAAC;EAAoC,CACvC,CACA,CACA,CAAC;AAEV,CACF,CAAC;AACDjB,YAAY,CAAC0B,WAAW,GAAG,cAAc;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAApB,OAAA,GAC3BR,YAAY"}
@@ -20,6 +20,6 @@ StyledLabel.displayName = "StyledLabel";
20
20
  const StyledCheckbox = exports.StyledCheckbox = _styledComponents.default.div.withConfig({
21
21
  displayName: "Styles__StyledCheckbox",
22
22
  componentId: "sc-y7zymm-2"
23
- })(["height:16px;width:16px;position:relative;transition-duration:0.2s;border-radius:2px;path{transition-duration:0.2s;stroke:transparent;stroke-dashoffset:12;stroke-dasharray:12;}svg{cursor:pointer;border-radius:2px;fill:transparent;}rect{transition-duration:0.2s;", " ", "}", ":disabled ~ ", "{pointer-events:none;opacity:0.5;}", ":focus ~ ", "{rect{stroke:var(--color-secondary);stroke-width:3px;}}&:not(.c-checkbox__controlled) ", ":hover:not(:checked) ~ ", "{path{stroke:var(--color-secondary-500);stroke-dashoffset:24;}rect{stroke:var(--color-secondary);", " stroke-width:3px;}}", " ", ":checked ~ ", "{path{", "}rect{stroke:var(--color-secondary);stroke-width:19px;", "}}"], props => !props.isIndeterminate && (0, _styledComponents.css)(["stroke:var(--color-theme-500);"]), props => props.isIndeterminate && (0, _styledComponents.css)(["stroke:transparent;"]), StyledInput, StyledLabel, StyledInput, StyledLabel, StyledInput, StyledLabel, props => props.isIndeterminate && (0, _styledComponents.css)(["stroke:transparent;"]), props => props.hover && !props.isIndeterminate && (0, _styledComponents.css)(["", ":not(:checked) ~ ", "{path{stroke:var(--color-secondary-500);stroke-dashoffset:24;}rect{stroke:var(--color-secondary);stroke-width:3px;}}"], StyledInput, StyledLabel), StyledInput, StyledLabel, props => !props.isIndeterminate && (0, _styledComponents.css)(["stroke:var(--page-paper-main);stroke-dashoffset:24;"]), props => props.isIndeterminate && (0, _styledComponents.css)(["stroke:transparent;"]));
23
+ })(["height:16px;width:16px;position:relative;transition-duration:0.2s;border-radius:2px;path{transition-duration:0.2s;stroke:transparent;stroke-dashoffset:12;stroke-dasharray:12;}svg{cursor:pointer;border-radius:2px;fill:transparent;}rect{transition-duration:0.2s;", " ", "}", ":disabled ~ ", "{pointer-events:none;opacity:0.5;}", ":focus ~ ", "{rect{stroke:var(--color-secondary);stroke-width:3px;}}&:not(.c-checkbox__controlled) ", ":hover:not(:checked) ~ ", "{path{stroke:var(--color-secondary-500);stroke-dashoffset:24;}rect{stroke:var(--color-secondary);", " stroke-width:3px;}}", " ", ":checked ~ ", "{path{", "}rect{stroke:var(--color-secondary);stroke-width:19px;", "}}"], props => !props.mixed && (0, _styledComponents.css)(["stroke:var(--color-theme-500);"]), props => props.mixed && (0, _styledComponents.css)(["stroke:transparent;"]), StyledInput, StyledLabel, StyledInput, StyledLabel, StyledInput, StyledLabel, props => props.mixed && (0, _styledComponents.css)(["stroke:transparent;"]), props => props.hover && !props.mixed && (0, _styledComponents.css)(["", ":not(:checked) ~ ", "{path{stroke:var(--color-secondary-500);stroke-dashoffset:24;}rect{stroke:var(--color-secondary);stroke-width:3px;}}"], StyledInput, StyledLabel), StyledInput, StyledLabel, props => !props.mixed && (0, _styledComponents.css)(["stroke:var(--page-paper-main);stroke-dashoffset:24;"]), props => props.mixed && (0, _styledComponents.css)(["stroke:transparent;"]));
24
24
  StyledCheckbox.displayName = "StyledCheckbox";
25
25
  //# sourceMappingURL=Styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledInput","exports","styled","input","withConfig","displayName","componentId","StyledLabel","label","StyledCheckbox","div","props","isIndeterminate","css","hover"],"sources":["../../../../src/components/Checkbox/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nimport type { CheckBoxProps } from \"./Checkbox\";\n\nexport const StyledInput = styled.input`\n border: 0px;\n clip: rect(0px, 0px, 0px, 0px);\n cursor: pointer;\n height: 1px;\n margin: -1px;\n opacity: 0;\n overflow: hidden;\n padding: 0px;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n`;\nStyledInput.displayName = \"StyledInput\";\n\nexport const StyledLabel = styled.label``;\nStyledLabel.displayName = \"StyledLabel\";\n\nexport const StyledCheckbox = styled.div<Partial<CheckBoxProps>>`\n height: 16px;\n width: 16px;\n position: relative;\n transition-duration: 0.2s;\n border-radius: 2px;\n\n path {\n transition-duration: 0.2s;\n stroke: transparent;\n stroke-dashoffset: 12;\n stroke-dasharray: 12;\n }\n svg {\n cursor: pointer;\n border-radius: 2px;\n fill: transparent;\n }\n\n rect {\n transition-duration: 0.2s;\n\n ${(props) =>\n !props.isIndeterminate &&\n css`\n stroke: var(--color-theme-500);\n `}\n\n ${(props) =>\n props.isIndeterminate &&\n css`\n stroke: transparent;\n `}\n }\n\n ${StyledInput}:disabled ~ ${StyledLabel} {\n pointer-events: none;\n opacity: 0.5;\n }\n\n ${StyledInput}:focus ~ ${StyledLabel} {\n rect {\n stroke: var(--color-secondary);\n stroke-width: 3px;\n }\n }\n\n // prettier-ignore\n &:not(.c-checkbox__controlled) ${StyledInput}:hover:not(:checked) ~ ${StyledLabel} {\n path {\n stroke: var(--color-secondary-500);\n stroke-dashoffset: 24;\n }\n rect {\n stroke: var(--color-secondary);\n\n ${(props) =>\n props.isIndeterminate &&\n css`\n stroke: transparent;\n `}\n stroke-width: 3px;\n }\n }\n\n ${(props) =>\n props.hover &&\n !props.isIndeterminate &&\n css`\n ${StyledInput}:not(:checked) ~ ${StyledLabel} {\n path {\n stroke: var(--color-secondary-500);\n stroke-dashoffset: 24;\n }\n rect {\n stroke: var(--color-secondary);\n stroke-width: 3px;\n }\n }\n `}\n\n ${StyledInput}:checked ~ ${StyledLabel} {\n path {\n ${(props) =>\n !props.isIndeterminate &&\n css`\n stroke: var(--page-paper-main);\n stroke-dashoffset: 24;\n `}\n }\n rect {\n stroke: var(--color-secondary);\n stroke-width: 19px;\n\n ${(props) =>\n props.isIndeterminate &&\n css`\n stroke: transparent;\n `}\n }\n }\n`;\nStyledCheckbox.displayName = \"StyledCheckbox\";\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAgD,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAIzC,MAAMY,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAGE,yBAAM,CAACC,KAAK,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,yKAYtC;AACDN,WAAW,CAACK,WAAW,GAAG,aAAa;AAEhC,MAAME,WAAW,GAAAN,OAAA,CAAAM,WAAA,GAAGL,yBAAM,CAACM,KAAK,CAAAJ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,QAAE;AACzCC,WAAW,CAACF,WAAW,GAAG,aAAa;AAEhC,MAAMI,cAAc,GAAAR,OAAA,CAAAQ,cAAA,GAAGP,yBAAM,CAACQ,GAAG,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0qBAsBjCK,KAAK,IACN,CAACA,KAAK,CAACC,eAAe,QACtBC,qBAAG,qCAEF,EAEAF,KAAK,IACNA,KAAK,CAACC,eAAe,QACrBC,qBAAG,0BAEF,EAGHb,WAAW,EAAeO,WAAW,EAKrCP,WAAW,EAAYO,WAAW,EAQHP,WAAW,EAA0BO,WAAW,EAQ1EI,KAAK,IACVA,KAAK,CAACC,eAAe,QACrBC,qBAAG,0BAEF,EAKAF,KAAK,IACNA,KAAK,CAACG,KAAK,IACX,CAACH,KAAK,CAACC,eAAe,QACtBC,qBAAG,qJACCb,WAAW,EAAoBO,WAAW,CAU7C,EAEDP,WAAW,EAAcO,WAAW,EAE/BI,KAAK,IACN,CAACA,KAAK,CAACC,eAAe,QACtBC,qBAAG,0DAGF,EAMAF,KAAK,IACNA,KAAK,CAACC,eAAe,QACrBC,qBAAG,0BAEF,CAGR;AACDJ,cAAc,CAACJ,WAAW,GAAG,gBAAgB"}
1
+ {"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledInput","exports","styled","input","withConfig","displayName","componentId","StyledLabel","label","StyledCheckbox","div","props","mixed","css","hover"],"sources":["../../../../src/components/Checkbox/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nimport type { CheckBoxProps } from \"./Checkbox\";\n\nexport const StyledInput = styled.input`\n border: 0px;\n clip: rect(0px, 0px, 0px, 0px);\n cursor: pointer;\n height: 1px;\n margin: -1px;\n opacity: 0;\n overflow: hidden;\n padding: 0px;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n`;\nStyledInput.displayName = \"StyledInput\";\n\nexport const StyledLabel = styled.label``;\nStyledLabel.displayName = \"StyledLabel\";\n\nexport const StyledCheckbox = styled.div<Partial<CheckBoxProps>>`\n height: 16px;\n width: 16px;\n position: relative;\n transition-duration: 0.2s;\n border-radius: 2px;\n\n path {\n transition-duration: 0.2s;\n stroke: transparent;\n stroke-dashoffset: 12;\n stroke-dasharray: 12;\n }\n svg {\n cursor: pointer;\n border-radius: 2px;\n fill: transparent;\n }\n\n rect {\n transition-duration: 0.2s;\n\n ${(props) =>\n !props.mixed &&\n css`\n stroke: var(--color-theme-500);\n `}\n\n ${(props) =>\n props.mixed &&\n css`\n stroke: transparent;\n `}\n }\n\n ${StyledInput}:disabled ~ ${StyledLabel} {\n pointer-events: none;\n opacity: 0.5;\n }\n\n ${StyledInput}:focus ~ ${StyledLabel} {\n rect {\n stroke: var(--color-secondary);\n stroke-width: 3px;\n }\n }\n\n // prettier-ignore\n &:not(.c-checkbox__controlled) ${StyledInput}:hover:not(:checked) ~ ${StyledLabel} {\n path {\n stroke: var(--color-secondary-500);\n stroke-dashoffset: 24;\n }\n rect {\n stroke: var(--color-secondary);\n\n ${(props) =>\n props.mixed &&\n css`\n stroke: transparent;\n `}\n stroke-width: 3px;\n }\n }\n\n ${(props) =>\n props.hover &&\n !props.mixed &&\n css`\n ${StyledInput}:not(:checked) ~ ${StyledLabel} {\n path {\n stroke: var(--color-secondary-500);\n stroke-dashoffset: 24;\n }\n rect {\n stroke: var(--color-secondary);\n stroke-width: 3px;\n }\n }\n `}\n\n ${StyledInput}:checked ~ ${StyledLabel} {\n path {\n ${(props) =>\n !props.mixed &&\n css`\n stroke: var(--page-paper-main);\n stroke-dashoffset: 24;\n `}\n }\n rect {\n stroke: var(--color-secondary);\n stroke-width: 19px;\n\n ${(props) =>\n props.mixed &&\n css`\n stroke: transparent;\n `}\n }\n }\n`;\nStyledCheckbox.displayName = \"StyledCheckbox\";\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAgD,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAIzC,MAAMY,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAGE,yBAAM,CAACC,KAAK,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,yKAYtC;AACDN,WAAW,CAACK,WAAW,GAAG,aAAa;AAEhC,MAAME,WAAW,GAAAN,OAAA,CAAAM,WAAA,GAAGL,yBAAM,CAACM,KAAK,CAAAJ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,QAAE;AACzCC,WAAW,CAACF,WAAW,GAAG,aAAa;AAEhC,MAAMI,cAAc,GAAAR,OAAA,CAAAQ,cAAA,GAAGP,yBAAM,CAACQ,GAAG,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0qBAsBjCK,KAAK,IACN,CAACA,KAAK,CAACC,KAAK,QACZC,qBAAG,qCAEF,EAEAF,KAAK,IACNA,KAAK,CAACC,KAAK,QACXC,qBAAG,0BAEF,EAGHb,WAAW,EAAeO,WAAW,EAKrCP,WAAW,EAAYO,WAAW,EAQHP,WAAW,EAA0BO,WAAW,EAQ1EI,KAAK,IACVA,KAAK,CAACC,KAAK,QACXC,qBAAG,0BAEF,EAKAF,KAAK,IACNA,KAAK,CAACG,KAAK,IACX,CAACH,KAAK,CAACC,KAAK,QACZC,qBAAG,qJACCb,WAAW,EAAoBO,WAAW,CAU7C,EAEDP,WAAW,EAAcO,WAAW,EAE/BI,KAAK,IACN,CAACA,KAAK,CAACC,KAAK,QACZC,qBAAG,0DAGF,EAMAF,KAAK,IACNA,KAAK,CAACC,KAAK,QACXC,qBAAG,0BAEF,CAGR;AACDJ,cAAc,CAACJ,WAAW,GAAG,gBAAgB"}
@@ -67,7 +67,7 @@ const OptionGroup = _ref => {
67
67
  }, name), type === "multiple" && /*#__PURE__*/_react.default.createElement(_Checkbox.Checkbox, {
68
68
  id: `${id}`,
69
69
  checked: isAllOptionsChecked,
70
- isIndeterminate: options.some(option => checked.includes(option.id)) && !isAllOptionsChecked,
70
+ mixed: options.some(option => checked.includes(option.id)) && !isAllOptionsChecked,
71
71
  onChange: handleClick,
72
72
  type: "checkbox"
73
73
  }))), /*#__PURE__*/_react.default.createElement(_List.List, null, list.map((item, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"OptionGroup.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Styles","_Checkbox","_List","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","OptionGroup","_ref","id","name","options","type","hover","filter","checked","onChange","setHover","renderOptions","optionGroupClassName","list","useMemo","v","toLowerCase","includes","trim","useEffect","document","getElementById","focus","isAllOptionsChecked","every","option","handleHover","useCallback","some","undefined","allOptionValues","map","handleClick","stopPropagation","values","unique","item","pos","indexOf","createElement","StyledOptionGroupLi","key","className","classNames","StyledOptionGroup","StyledOptionGroupOption","onMouseEnter","StyledOptionGroupHeader","StyledOptionGroupHeaderName","weight","Checkbox","isIndeterminate","List","index","exports","displayName"],"sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, FC, ReactNode } from \"react\";\n\nimport classNames from \"classnames\";\n\nimport {\n StyledOptionGroup,\n StyledOptionGroupHeader,\n StyledOptionGroupOption,\n StyledOptionGroupLi,\n StyledOptionGroupHeaderName,\n} from \"./Styles\";\nimport { Checkbox } from \"../../Checkbox/Checkbox\";\nimport { List } from \"../../List\";\nimport { IOptionItemProps } from \"../Option/Option\";\n\nexport interface IOptionGroupProps extends IOptionItemProps {\n /** Options items list */\n options: IOptionItemProps[];\n}\n\ninterface IAdditionalOptionGroupProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** Value of hovered element */\n hover?: number | string | null;\n /** Filter for labels */\n filter?: string;\n /** Checked values */\n checked: (string | number)[];\n /** onChange callback */\n onChange?: (e: (string | number)[]) => void;\n /** Set value of hovered element */\n setHover?: (e: number | string | undefined) => void;\n /** Render function */\n renderOptions?: (item: IOptionItemProps, index: number) => ReactNode;\n /** Value that represent class names */\n optionGroupClassName?: string;\n}\n\nexport const OptionGroup: FC<\n IOptionGroupProps & IAdditionalOptionGroupProps\n> = ({\n id,\n name,\n options,\n type,\n hover,\n filter,\n checked,\n onChange,\n setHover,\n renderOptions,\n optionGroupClassName,\n}) => {\n const list = useMemo(\n () =>\n filter\n ? options.filter((v) =>\n v.name.toLowerCase().includes(filter.trim().toLowerCase())\n )\n : options,\n [filter, options]\n );\n\n useEffect(() => {\n if (hover === id && type !== \"single\") {\n document.getElementById(`${id}`)?.focus();\n }\n }, [hover, type, id]);\n\n const isAllOptionsChecked = useMemo(\n () => options.every((option) => checked.includes(option.id)),\n [options, checked]\n );\n\n const handleHover = useCallback(() => {\n if (options.some((option) => checked.includes(option.id))) return;\n if (setHover) {\n setHover(type === \"single\" ? undefined : id);\n }\n }, [setHover, type, id, checked, options]);\n\n const allOptionValues = useMemo(\n () => options.map((option) => option.id),\n [options]\n );\n\n const handleClick = useCallback(\n (e) => {\n e.stopPropagation();\n if (onChange) {\n if (isAllOptionsChecked) {\n onChange(\n checked.filter((i) => allOptionValues.includes(i) === false)\n );\n } else {\n const values = [...checked, ...allOptionValues];\n const unique = values.filter((item, pos) => {\n return values.indexOf(item) === pos;\n });\n onChange(unique);\n }\n }\n },\n [allOptionValues, checked, isAllOptionsChecked, onChange]\n );\n\n return (\n <StyledOptionGroupLi\n key={id}\n className={classNames(\"c-option-group\", optionGroupClassName)}\n >\n <StyledOptionGroup key={id}>\n <StyledOptionGroupOption\n onMouseEnter={handleHover}\n hover={hover === id && type === \"multiple\"}\n >\n <StyledOptionGroupHeader>\n <StyledOptionGroupHeaderName weight=\"bold\">\n {name}\n </StyledOptionGroupHeaderName>\n {type === \"multiple\" && (\n <Checkbox\n id={`${id}`}\n checked={isAllOptionsChecked}\n isIndeterminate={\n options.some((option) => checked.includes(option.id)) &&\n !isAllOptionsChecked\n }\n onChange={handleClick}\n type=\"checkbox\"\n />\n )}\n </StyledOptionGroupHeader>\n </StyledOptionGroupOption>\n <List>\n {list.map((item: IOptionItemProps, index) => {\n return typeof renderOptions === \"function\"\n ? renderOptions(item, index)\n : item.name;\n })}\n </List>\n </StyledOptionGroup>\n </StyledOptionGroupLi>\n );\n};\n\nOptionGroup.displayName = \"OptionGroup\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"OptionGroup.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_Styles","_Checkbox","_List","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","OptionGroup","_ref","id","name","options","type","hover","filter","checked","onChange","setHover","renderOptions","optionGroupClassName","list","useMemo","v","toLowerCase","includes","trim","useEffect","document","getElementById","focus","isAllOptionsChecked","every","option","handleHover","useCallback","some","undefined","allOptionValues","map","handleClick","stopPropagation","values","unique","item","pos","indexOf","createElement","StyledOptionGroupLi","key","className","classNames","StyledOptionGroup","StyledOptionGroupOption","onMouseEnter","StyledOptionGroupHeader","StyledOptionGroupHeaderName","weight","Checkbox","mixed","List","index","exports","displayName"],"sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, FC, ReactNode } from \"react\";\n\nimport classNames from \"classnames\";\n\nimport {\n StyledOptionGroup,\n StyledOptionGroupHeader,\n StyledOptionGroupOption,\n StyledOptionGroupLi,\n StyledOptionGroupHeaderName,\n} from \"./Styles\";\nimport { Checkbox } from \"../../Checkbox/Checkbox\";\nimport { List } from \"../../List\";\nimport { IOptionItemProps } from \"../Option/Option\";\n\nexport interface IOptionGroupProps extends IOptionItemProps {\n /** Options items list */\n options: IOptionItemProps[];\n}\n\ninterface IAdditionalOptionGroupProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** Value of hovered element */\n hover?: number | string | null;\n /** Filter for labels */\n filter?: string;\n /** Checked values */\n checked: (string | number)[];\n /** onChange callback */\n onChange?: (e: (string | number)[]) => void;\n /** Set value of hovered element */\n setHover?: (e: number | string | undefined) => void;\n /** Render function */\n renderOptions?: (item: IOptionItemProps, index: number) => ReactNode;\n /** Value that represent class names */\n optionGroupClassName?: string;\n}\n\nexport const OptionGroup: FC<\n IOptionGroupProps & IAdditionalOptionGroupProps\n> = ({\n id,\n name,\n options,\n type,\n hover,\n filter,\n checked,\n onChange,\n setHover,\n renderOptions,\n optionGroupClassName,\n}) => {\n const list = useMemo(\n () =>\n filter\n ? options.filter((v) =>\n v.name.toLowerCase().includes(filter.trim().toLowerCase())\n )\n : options,\n [filter, options]\n );\n\n useEffect(() => {\n if (hover === id && type !== \"single\") {\n document.getElementById(`${id}`)?.focus();\n }\n }, [hover, type, id]);\n\n const isAllOptionsChecked = useMemo(\n () => options.every((option) => checked.includes(option.id)),\n [options, checked]\n );\n\n const handleHover = useCallback(() => {\n if (options.some((option) => checked.includes(option.id))) return;\n if (setHover) {\n setHover(type === \"single\" ? undefined : id);\n }\n }, [setHover, type, id, checked, options]);\n\n const allOptionValues = useMemo(\n () => options.map((option) => option.id),\n [options]\n );\n\n const handleClick = useCallback(\n (e) => {\n e.stopPropagation();\n if (onChange) {\n if (isAllOptionsChecked) {\n onChange(\n checked.filter((i) => allOptionValues.includes(i) === false)\n );\n } else {\n const values = [...checked, ...allOptionValues];\n const unique = values.filter((item, pos) => {\n return values.indexOf(item) === pos;\n });\n onChange(unique);\n }\n }\n },\n [allOptionValues, checked, isAllOptionsChecked, onChange]\n );\n\n return (\n <StyledOptionGroupLi\n key={id}\n className={classNames(\"c-option-group\", optionGroupClassName)}\n >\n <StyledOptionGroup key={id}>\n <StyledOptionGroupOption\n onMouseEnter={handleHover}\n hover={hover === id && type === \"multiple\"}\n >\n <StyledOptionGroupHeader>\n <StyledOptionGroupHeaderName weight=\"bold\">\n {name}\n </StyledOptionGroupHeaderName>\n {type === \"multiple\" && (\n <Checkbox\n id={`${id}`}\n checked={isAllOptionsChecked}\n mixed={\n options.some((option) => checked.includes(option.id)) &&\n !isAllOptionsChecked\n }\n onChange={handleClick}\n type=\"checkbox\"\n />\n )}\n </StyledOptionGroupHeader>\n </StyledOptionGroupOption>\n <List>\n {list.map((item: IOptionItemProps, index) => {\n return typeof renderOptions === \"function\"\n ? renderOptions(item, index)\n : item.name;\n })}\n </List>\n </StyledOptionGroup>\n </StyledOptionGroupLi>\n );\n};\n\nOptionGroup.displayName = \"OptionGroup\";\n"],"mappings":"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"}
@@ -155,7 +155,7 @@ const Select = _ref => {
155
155
  additionalInfo: option.additionalInfo
156
156
  }), option.id === null ? type === "multiple" ? /*#__PURE__*/_react.default.createElement(_Styles.StyledCheckbox, (0, _extends2.default)({
157
157
  checked: isAllOptionsChecked,
158
- isIndeterminate: someOptionsChecked && !isAllOptionsChecked
158
+ mixed: someOptionsChecked && !isAllOptionsChecked
159
159
  }, props)) : /*#__PURE__*/_react.default.createElement(_Styles.StyledRadioButton, (0, _extends2.default)({
160
160
  checked: selectedOptions.length < 1 || !selectedOptions[0]
161
161
  }, props)) : type === "multiple" ? /*#__PURE__*/_react.default.createElement(_Styles.StyledCheckbox, props) : /*#__PURE__*/_react.default.createElement(_Styles.StyledRadioButton, props));
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_OptionContent","_Styles","_useForkRef","_Autocomplete","_Menu","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Select","_ref","type","mode","target","options","selected","position","onChange","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","preselectDefaultValue","startAdornment","endAdornment","focusInput","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","formRef","open","setOpen","useState","selectedOptions","useMemo","Array","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","isAllOptionsChecked","every","includes","someOptionsChecked","some","useEffect","current","focus","handleChange","useCallback","selectedValue","undefined","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","className","handleEmptyAction","value","reset","handleDefaultOptionChangeCallback","length","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","name","additionalInfo","StyledCheckbox","_extends2","checked","isIndeterminate","StyledRadioButton","StyledSelectForm","ref","StyledStartAdornment","StyledSelectInput","StyledEndAdornment","Autocomplete","clearInputOnSelect","inputEl","exports","displayName"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n ReactNode,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classNames from \"classnames\";\n\nimport { OptionContent } from \"./OptionContent/OptionContent\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n StyledStartAdornment,\n StyledEndAdornment,\n} from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"handleEmptyAction\" | \"clearInputOnSelect\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n /** Node element on the left side */\n startAdornment?: ReactNode;\n /** Node element on the right side */\n endAdornment?: ReactNode;\n /** Focus search input on inline select */\n focusInput?: boolean;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = () => null,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n startAdornment,\n endAdornment,\n focusInput = false,\n ...prop\n}) => {\n if (disableSearch && (startAdornment || endAdornment)) {\n console.warn(\"Adornments are not visible when search bar is hidden\");\n }\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(childNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n const someOptionsChecked = useMemo(\n () => allOptionValues.some((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n if ((open && target) || (!target && focusInput)) {\n childNode?.current?.focus();\n }\n }, [focusInput, open, target]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (\n selectedValue !== undefined &&\n selectedValue !== selected &&\n !(selectedValue instanceof Array && selectedValue.includes(undefined))\n ) {\n onChange(selectedValue);\n }\n },\n [forceCloseMenu, selected, onSelectClose, onChange]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n onPopperOpen: () => elementRef?.current?.focus(),\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox\n checked={isAllOptionsChecked}\n isIndeterminate={someOptionsChecked && !isAllOptionsChecked}\n {...props}\n />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n selectedOptions,\n type,\n someOptionsChecked,\n ]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n {startAdornment ? (\n <StyledStartAdornment>{startAdornment}</StyledStartAdornment>\n ) : null}\n <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {endAdornment ? (\n <StyledEndAdornment>{endAdornment}</StyledEndAdornment>\n ) : null}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_OptionContent","_Styles","_useForkRef","_Autocomplete","_Menu","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Select","_ref","type","mode","target","options","selected","position","onChange","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","preselectDefaultValue","startAdornment","endAdornment","focusInput","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","formRef","open","setOpen","useState","selectedOptions","useMemo","Array","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","isAllOptionsChecked","every","includes","someOptionsChecked","some","useEffect","current","focus","handleChange","useCallback","selectedValue","undefined","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","className","handleEmptyAction","value","reset","handleDefaultOptionChangeCallback","length","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","name","additionalInfo","StyledCheckbox","_extends2","checked","mixed","StyledRadioButton","StyledSelectForm","ref","StyledStartAdornment","StyledSelectInput","StyledEndAdornment","Autocomplete","clearInputOnSelect","inputEl","exports","displayName"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n ReactNode,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classNames from \"classnames\";\n\nimport { OptionContent } from \"./OptionContent/OptionContent\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n StyledStartAdornment,\n StyledEndAdornment,\n} from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"handleEmptyAction\" | \"clearInputOnSelect\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n /** Node element on the left side */\n startAdornment?: ReactNode;\n /** Node element on the right side */\n endAdornment?: ReactNode;\n /** Focus search input on inline select */\n focusInput?: boolean;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = () => null,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n startAdornment,\n endAdornment,\n focusInput = false,\n ...prop\n}) => {\n if (disableSearch && (startAdornment || endAdornment)) {\n console.warn(\"Adornments are not visible when search bar is hidden\");\n }\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(childNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n const someOptionsChecked = useMemo(\n () => allOptionValues.some((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n if ((open && target) || (!target && focusInput)) {\n childNode?.current?.focus();\n }\n }, [focusInput, open, target]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (\n selectedValue !== undefined &&\n selectedValue !== selected &&\n !(selectedValue instanceof Array && selectedValue.includes(undefined))\n ) {\n onChange(selectedValue);\n }\n },\n [forceCloseMenu, selected, onSelectClose, onChange]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n onPopperOpen: () => elementRef?.current?.focus(),\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox\n checked={isAllOptionsChecked}\n mixed={someOptionsChecked && !isAllOptionsChecked}\n {...props}\n />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n selectedOptions,\n type,\n someOptionsChecked,\n ]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n {startAdornment ? (\n <StyledStartAdornment>{startAdornment}</StyledStartAdornment>\n ) : null}\n <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {endAdornment ? (\n <StyledEndAdornment>{endAdornment}</StyledEndAdornment>\n ) : null}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11141,7 +11141,7 @@
11141
11141
  };
11142
11142
  OptionContent.displayName = "OptionContent";
11143
11143
 
11144
- var _excluded$S = ["isIndeterminate", "data-testid"];
11144
+ var _excluded$S = ["mixed", "data-testid"];
11145
11145
 
11146
11146
  /**
11147
11147
  * @component CheckboxIcon
@@ -11163,7 +11163,7 @@
11163
11163
  * https://design.activecollab.com/docs/foundations/icons
11164
11164
  */
11165
11165
  var CheckboxIcon = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, svgRef) {
11166
- var isIndeterminate = _ref.isIndeterminate,
11166
+ var mixed = _ref.mixed,
11167
11167
  testId = _ref["data-testid"],
11168
11168
  props = _objectWithoutProperties(_ref, _excluded$S);
11169
11169
  // const [animate, setAnimate] = useState(false);
@@ -11175,9 +11175,9 @@
11175
11175
  // } else {
11176
11176
  // mountRef.current = true;
11177
11177
  // }
11178
- // }, [isIndeterminate]);
11178
+ // }, [mixed]);
11179
11179
 
11180
- if (isIndeterminate) {
11180
+ if (mixed) {
11181
11181
  return /*#__PURE__*/React__default["default"].createElement("svg", {
11182
11182
  width: "16",
11183
11183
  height: "16",
@@ -11241,21 +11241,21 @@
11241
11241
  displayName: "Styles__StyledCheckbox",
11242
11242
  componentId: "sc-y7zymm-2"
11243
11243
  })(["height:16px;width:16px;position:relative;transition-duration:0.2s;border-radius:2px;path{transition-duration:0.2s;stroke:transparent;stroke-dashoffset:12;stroke-dasharray:12;}svg{cursor:pointer;border-radius:2px;fill:transparent;}rect{transition-duration:0.2s;", " ", "}", ":disabled ~ ", "{pointer-events:none;opacity:0.5;}", ":focus ~ ", "{rect{stroke:var(--color-secondary);stroke-width:3px;}}&:not(.c-checkbox__controlled) ", ":hover:not(:checked) ~ ", "{path{stroke:var(--color-secondary-500);stroke-dashoffset:24;}rect{stroke:var(--color-secondary);", " stroke-width:3px;}}", " ", ":checked ~ ", "{path{", "}rect{stroke:var(--color-secondary);stroke-width:19px;", "}}"], function (props) {
11244
- return !props.isIndeterminate && styled.css(["stroke:var(--color-theme-500);"]);
11244
+ return !props.mixed && styled.css(["stroke:var(--color-theme-500);"]);
11245
11245
  }, function (props) {
11246
- return props.isIndeterminate && styled.css(["stroke:transparent;"]);
11246
+ return props.mixed && styled.css(["stroke:transparent;"]);
11247
11247
  }, StyledInput$3, StyledLabel, StyledInput$3, StyledLabel, StyledInput$3, StyledLabel, function (props) {
11248
- return props.isIndeterminate && styled.css(["stroke:transparent;"]);
11248
+ return props.mixed && styled.css(["stroke:transparent;"]);
11249
11249
  }, function (props) {
11250
- return props.hover && !props.isIndeterminate && styled.css(["", ":not(:checked) ~ ", "{path{stroke:var(--color-secondary-500);stroke-dashoffset:24;}rect{stroke:var(--color-secondary);stroke-width:3px;}}"], StyledInput$3, StyledLabel);
11250
+ return props.hover && !props.mixed && styled.css(["", ":not(:checked) ~ ", "{path{stroke:var(--color-secondary-500);stroke-dashoffset:24;}rect{stroke:var(--color-secondary);stroke-width:3px;}}"], StyledInput$3, StyledLabel);
11251
11251
  }, StyledInput$3, StyledLabel, function (props) {
11252
- return !props.isIndeterminate && styled.css(["stroke:var(--page-paper-main);stroke-dashoffset:24;"]);
11252
+ return !props.mixed && styled.css(["stroke:var(--page-paper-main);stroke-dashoffset:24;"]);
11253
11253
  }, function (props) {
11254
- return props.isIndeterminate && styled.css(["stroke:transparent;"]);
11254
+ return props.mixed && styled.css(["stroke:transparent;"]);
11255
11255
  });
11256
11256
  StyledCheckbox$1.displayName = "StyledCheckbox";
11257
11257
 
11258
- var _excluded$R = ["className", "hover", "id", "isIndeterminate"];
11258
+ var _excluded$R = ["className", "hover", "id", "mixed", "onChange"];
11259
11259
  /**
11260
11260
  * Checkbox component
11261
11261
  */
@@ -11264,8 +11264,24 @@
11264
11264
  hover = _ref.hover,
11265
11265
  _ref$id = _ref.id,
11266
11266
  id = _ref$id === void 0 ? "checkbox" : _ref$id,
11267
- isIndeterminate = _ref.isIndeterminate,
11267
+ _ref$mixed = _ref.mixed,
11268
+ mixed = _ref$mixed === void 0 ? false : _ref$mixed,
11269
+ onChange = _ref.onChange,
11268
11270
  rest = _objectWithoutProperties(_ref, _excluded$R);
11271
+ var _useState = React.useState(mixed),
11272
+ _useState2 = _slicedToArray(_useState, 2),
11273
+ indeterminate = _useState2[0],
11274
+ setIndeterminate = _useState2[1];
11275
+ var handleChange = React.useCallback(function (e) {
11276
+ typeof onChange === "function" && onChange(e);
11277
+ setIndeterminate(false);
11278
+ }, [onChange]);
11279
+ React.useEffect(function () {
11280
+ if (mixed !== indeterminate) {
11281
+ setIndeterminate(mixed);
11282
+ }
11283
+ // eslint-disable-next-line react-hooks/exhaustive-deps
11284
+ }, [mixed]);
11269
11285
  return /*#__PURE__*/React__default["default"].createElement(StyledCheckbox$1, {
11270
11286
  className: classNames__default["default"]("c-checkbox", {
11271
11287
  "c-checkbox__hover": hover,
@@ -11273,21 +11289,23 @@
11273
11289
  }, className),
11274
11290
  hover: hover,
11275
11291
  tabIndex: -1,
11276
- isIndeterminate: isIndeterminate
11292
+ mixed: indeterminate
11277
11293
  }, /*#__PURE__*/React__default["default"].createElement(StyledInput$3, _extends({
11278
11294
  role: "checkbox",
11279
11295
  id: id,
11280
11296
  className: "c-checkbox--input",
11281
11297
  type: "checkbox",
11282
11298
  ref: ref
11283
- }, rest)), /*#__PURE__*/React__default["default"].createElement(StyledLabel, {
11299
+ }, rest, {
11300
+ onChange: handleChange
11301
+ })), /*#__PURE__*/React__default["default"].createElement(StyledLabel, {
11284
11302
  htmlFor: id,
11285
11303
  className: "c-checkbox--label"
11286
11304
  }, /*#__PURE__*/React__default["default"].createElement(CheckboxIcon$1, {
11287
11305
  "data-testid": "checkbox-icon",
11288
11306
  height: 16,
11289
11307
  width: 16,
11290
- isIndeterminate: isIndeterminate
11308
+ mixed: indeterminate
11291
11309
  })));
11292
11310
  });
11293
11311
  Checkbox.displayName = "Checkbox";
@@ -12117,7 +12135,7 @@
12117
12135
  }, name), type === "multiple" && /*#__PURE__*/React__default["default"].createElement(Checkbox, {
12118
12136
  id: `${id}`,
12119
12137
  checked: isAllOptionsChecked,
12120
- isIndeterminate: options.some(function (option) {
12138
+ mixed: options.some(function (option) {
12121
12139
  return checked.includes(option.id);
12122
12140
  }) && !isAllOptionsChecked,
12123
12141
  onChange: handleClick,
@@ -12716,7 +12734,7 @@
12716
12734
  additionalInfo: option.additionalInfo
12717
12735
  }), option.id === null ? type === "multiple" ? /*#__PURE__*/React__default["default"].createElement(StyledCheckbox, _extends({
12718
12736
  checked: isAllOptionsChecked,
12719
- isIndeterminate: someOptionsChecked && !isAllOptionsChecked
12737
+ mixed: someOptionsChecked && !isAllOptionsChecked
12720
12738
  }, props)) : /*#__PURE__*/React__default["default"].createElement(StyledRadioButton, _extends({
12721
12739
  checked: selectedOptions.length < 1 || !selectedOptions[0]
12722
12740
  }, props)) : type === "multiple" ? /*#__PURE__*/React__default["default"].createElement(StyledCheckbox, props) : /*#__PURE__*/React__default["default"].createElement(StyledRadioButton, props));