@activecollab/components 2.0.82 → 2.0.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Checkbox/Checkbox.js +19 -3
- package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cjs/components/Checkbox/CheckboxIcon.js +1 -1
- package/dist/cjs/components/Checkbox/CheckboxIcon.js.map +1 -1
- package/dist/cjs/components/Select/Select.js +4 -17
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/esm/components/Checkbox/Checkbox.js +13 -2
- package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/components/Checkbox/CheckboxIcon.js +1 -1
- package/dist/esm/components/Checkbox/CheckboxIcon.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts +3 -1
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +2 -14
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/index.js +24 -21
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
9
|
var _CheckboxIcon = _interopRequireDefault(require("./CheckboxIcon"));
|
|
10
10
|
var _Styles = require("./Styles");
|
|
11
|
-
var _excluded = ["className", "hover", "id", "mixed", "onChange"];
|
|
11
|
+
var _excluded = ["className", "hover", "id", "mixed", "checked", "onChange"];
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
14
14
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -31,18 +31,33 @@ var Checkbox = exports.Checkbox = /*#__PURE__*/(0, _react.forwardRef)(function (
|
|
|
31
31
|
id = _ref$id === void 0 ? "checkbox" : _ref$id,
|
|
32
32
|
_ref$mixed = _ref.mixed,
|
|
33
33
|
mixed = _ref$mixed === void 0 ? false : _ref$mixed,
|
|
34
|
+
checked = _ref.checked,
|
|
34
35
|
onChange = _ref.onChange,
|
|
35
36
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
36
|
-
var _useState = (0, _react.useState)(mixed),
|
|
37
|
+
var _useState = (0, _react.useState)(mixed && !checked),
|
|
37
38
|
_useState2 = _slicedToArray(_useState, 2),
|
|
38
39
|
indeterminate = _useState2[0],
|
|
39
40
|
setIndeterminate = _useState2[1];
|
|
41
|
+
var _useState3 = (0, _react.useState)(checked),
|
|
42
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
43
|
+
initialChecked = _useState4[0],
|
|
44
|
+
setInitialChecked = _useState4[1];
|
|
40
45
|
var handleChange = (0, _react.useCallback)(function (e) {
|
|
41
46
|
typeof onChange === "function" && onChange(e);
|
|
47
|
+
setInitialChecked(function (prev) {
|
|
48
|
+
return !prev;
|
|
49
|
+
});
|
|
42
50
|
setIndeterminate(false);
|
|
43
51
|
}, [onChange]);
|
|
44
52
|
(0, _react.useEffect)(function () {
|
|
45
|
-
if (
|
|
53
|
+
if (checked !== initialChecked) {
|
|
54
|
+
setInitialChecked(checked);
|
|
55
|
+
setIndeterminate(false);
|
|
56
|
+
}
|
|
57
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
58
|
+
}, [checked]);
|
|
59
|
+
(0, _react.useEffect)(function () {
|
|
60
|
+
if (mixed !== indeterminate && !checked) {
|
|
46
61
|
setIndeterminate(mixed);
|
|
47
62
|
}
|
|
48
63
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -62,6 +77,7 @@ var Checkbox = exports.Checkbox = /*#__PURE__*/(0, _react.forwardRef)(function (
|
|
|
62
77
|
type: "checkbox",
|
|
63
78
|
ref: ref
|
|
64
79
|
}, rest, {
|
|
80
|
+
checked: initialChecked,
|
|
65
81
|
onChange: handleChange
|
|
66
82
|
})), /*#__PURE__*/_react.default.createElement(_Styles.StyledLabel, {
|
|
67
83
|
htmlFor: id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_CheckboxIcon","_Styles","_excluded","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Checkbox","exports","forwardRef","_ref","ref","className","hover","_ref$id","id","_ref$mixed","mixed","onChange","rest","_useState","useState","_useState2","indeterminate","setIndeterminate","handleChange","useCallback","useEffect","createElement","StyledCheckbox","classnames","tabIndex","StyledInput","role","type","StyledLabel","htmlFor","height","width","displayName"],"sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, {\n forwardRef,\n Ref,\n InputHTMLAttributes,\n useState,\n useCallback,\n useEffect,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport CheckboxIcon from \"./CheckboxIcon\";\nimport { StyledCheckbox, StyledInput, StyledLabel } from \"./Styles\";\n\nexport interface CheckBoxProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"onChange\"> {\n /** CSS classes */\n className?: string;\n /** Set hover style */\n hover?: boolean;\n /** Id of input and for of label */\n id?: string;\n /** mixed state */\n mixed?: boolean;\n /** On change callback */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\n/**\n * Checkbox component\n */\nexport const Checkbox = forwardRef(\n (\n {\n className,\n hover,\n id = \"checkbox\",\n mixed = false,\n onChange,\n ...rest\n }: CheckBoxProps,\n ref: Ref<HTMLInputElement> | null | undefined\n ) => {\n const [indeterminate, setIndeterminate] = useState(mixed);\n const handleChange = useCallback(\n (e) => {\n typeof onChange === \"function\" && onChange(e);\n setIndeterminate(false);\n },\n [onChange]\n );\n\n useEffect(() => {\n if (mixed !== indeterminate) {\n setIndeterminate(mixed);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mixed]);\n\n return (\n <StyledCheckbox\n className={classnames(\n \"c-checkbox\",\n {\n \"c-checkbox__hover\": hover,\n \"c-checkbox__controlled\": typeof hover === \"boolean\",\n },\n className\n )}\n hover={hover}\n tabIndex={-1}\n mixed={indeterminate}\n >\n <StyledInput\n role=\"checkbox\"\n id={id}\n className=\"c-checkbox--input\"\n type=\"checkbox\"\n ref={ref}\n {...rest}\n onChange={handleChange}\n />\n <StyledLabel htmlFor={id} className=\"c-checkbox--label\">\n <CheckboxIcon\n data-testid=\"checkbox-icon\"\n height={16}\n width={16}\n mixed={indeterminate}\n />\n </StyledLabel>\n </StyledCheckbox>\n );\n }\n);\n\nCheckbox.displayName = \"Checkbox\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Checkbox.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_CheckboxIcon","_Styles","_excluded","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Checkbox","exports","forwardRef","_ref","ref","className","hover","_ref$id","id","_ref$mixed","mixed","checked","onChange","rest","_useState","useState","_useState2","indeterminate","setIndeterminate","_useState3","_useState4","initialChecked","setInitialChecked","handleChange","useCallback","prev","useEffect","createElement","StyledCheckbox","classnames","tabIndex","StyledInput","role","type","StyledLabel","htmlFor","height","width","displayName"],"sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, {\n forwardRef,\n Ref,\n InputHTMLAttributes,\n useState,\n useCallback,\n useEffect,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport CheckboxIcon from \"./CheckboxIcon\";\nimport { StyledCheckbox, StyledInput, StyledLabel } from \"./Styles\";\n\nexport interface CheckBoxProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"onChange\"> {\n /** CSS classes */\n className?: string;\n /** Set hover style */\n hover?: boolean;\n /** Id of input and for of label */\n id?: string;\n /** mixed state */\n mixed?: boolean;\n /** On change callback */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\n/**\n * Checkbox component\n */\nexport const Checkbox = forwardRef(\n (\n {\n className,\n hover,\n id = \"checkbox\",\n mixed = false,\n checked,\n onChange,\n ...rest\n }: CheckBoxProps,\n ref: Ref<HTMLInputElement> | null | undefined\n ) => {\n const [indeterminate, setIndeterminate] = useState(mixed && !checked);\n const [initialChecked, setInitialChecked] = useState(checked);\n const handleChange = useCallback(\n (e) => {\n typeof onChange === \"function\" && onChange(e);\n setInitialChecked((prev) => !prev);\n setIndeterminate(false);\n },\n [onChange]\n );\n\n useEffect(() => {\n if (checked !== initialChecked) {\n setInitialChecked(checked);\n setIndeterminate(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [checked]);\n\n useEffect(() => {\n if (mixed !== indeterminate && !checked) {\n setIndeterminate(mixed);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mixed]);\n\n return (\n <StyledCheckbox\n className={classnames(\n \"c-checkbox\",\n {\n \"c-checkbox__hover\": hover,\n \"c-checkbox__controlled\": typeof hover === \"boolean\",\n },\n className\n )}\n hover={hover}\n tabIndex={-1}\n mixed={indeterminate}\n >\n <StyledInput\n role=\"checkbox\"\n id={id}\n className=\"c-checkbox--input\"\n type=\"checkbox\"\n ref={ref}\n {...rest}\n checked={initialChecked}\n onChange={handleChange}\n />\n <StyledLabel htmlFor={id} className=\"c-checkbox--label\">\n <CheckboxIcon\n data-testid=\"checkbox-icon\"\n height={16}\n width={16}\n mixed={indeterminate}\n />\n </StyledLabel>\n </StyledCheckbox>\n );\n }\n);\n\nCheckbox.displayName = \"Checkbox\";\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AASA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAAoE,IAAAK,SAAA;AAAA,SAAAH,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,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,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAAA,SAAAY,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAL,CAAA,MAAAA,CAAA,GAAAM,SAAA,CAAAC,MAAA,EAAAP,CAAA,UAAAQ,MAAA,GAAAF,SAAA,CAAAN,CAAA,YAAAS,GAAA,IAAAD,MAAA,QAAAf,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAAA,SAAAK,eAAAC,GAAA,EAAAZ,CAAA,WAAAa,eAAA,CAAAD,GAAA,KAAAE,qBAAA,CAAAF,GAAA,EAAAZ,CAAA,KAAAe,2BAAA,CAAAH,GAAA,EAAAZ,CAAA,KAAAgB,gBAAA;AAAA,SAAAA,iBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAG,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAE,iBAAA,CAAAF,CAAA,EAAAC,MAAA,OAAA7B,CAAA,GAAAG,MAAA,CAAAI,SAAA,CAAAwB,QAAA,CAAAtB,IAAA,CAAAmB,CAAA,EAAAI,KAAA,aAAAhC,CAAA,iBAAA4B,CAAA,CAAAK,WAAA,EAAAjC,CAAA,GAAA4B,CAAA,CAAAK,WAAA,CAAAC,IAAA,MAAAlC,CAAA,cAAAA,CAAA,mBAAAmC,KAAA,CAAAC,IAAA,CAAAR,CAAA,OAAA5B,CAAA,+DAAAqC,IAAA,CAAArC,CAAA,UAAA8B,iBAAA,CAAAF,CAAA,EAAAC,MAAA;AAAA,SAAAC,kBAAAR,GAAA,EAAAgB,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAhB,GAAA,CAAAL,MAAA,EAAAqB,GAAA,GAAAhB,GAAA,CAAAL,MAAA,WAAAP,CAAA,MAAA6B,IAAA,OAAAJ,KAAA,CAAAG,GAAA,GAAA5B,CAAA,GAAA4B,GAAA,EAAA5B,CAAA,IAAA6B,IAAA,CAAA7B,CAAA,IAAAY,GAAA,CAAAZ,CAAA,UAAA6B,IAAA;AAAA,SAAAf,sBAAA5B,CAAA,EAAA4C,CAAA,QAAA3C,CAAA,WAAAD,CAAA,gCAAA6C,MAAA,IAAA7C,CAAA,CAAA6C,MAAA,CAAAC,QAAA,KAAA9C,CAAA,4BAAAC,CAAA,QAAAH,CAAA,EAAAM,CAAA,EAAAU,CAAA,EAAAJ,CAAA,EAAAJ,CAAA,OAAAyC,CAAA,OAAAf,CAAA,iBAAAlB,CAAA,IAAAb,CAAA,GAAAA,CAAA,CAAAY,IAAA,CAAAb,CAAA,GAAAgD,IAAA,QAAAJ,CAAA,QAAArC,MAAA,CAAAN,CAAA,MAAAA,CAAA,UAAA8C,CAAA,uBAAAA,CAAA,IAAAjD,CAAA,GAAAgB,CAAA,CAAAD,IAAA,CAAAZ,CAAA,GAAAgD,IAAA,MAAA3C,CAAA,CAAA4C,IAAA,CAAApD,CAAA,CAAAqD,KAAA,GAAA7C,CAAA,CAAAe,MAAA,KAAAuB,CAAA,GAAAG,CAAA,iBAAA/C,CAAA,IAAAgC,CAAA,OAAA5B,CAAA,GAAAJ,CAAA,yBAAA+C,CAAA,YAAA9C,CAAA,CAAAmD,MAAA,KAAA1C,CAAA,GAAAT,CAAA,CAAAmD,MAAA,IAAA7C,MAAA,CAAAG,CAAA,MAAAA,CAAA,2BAAAsB,CAAA,QAAA5B,CAAA,aAAAE,CAAA;AAAA,SAAAqB,gBAAAD,GAAA,QAAAa,KAAA,CAAAc,OAAA,CAAA3B,GAAA,UAAAA,GAAA;AAAA,SAAA4B,yBAAAhC,MAAA,EAAAiC,QAAA,QAAAjC,MAAA,yBAAAH,MAAA,GAAAqC,6BAAA,CAAAlC,MAAA,EAAAiC,QAAA,OAAAhC,GAAA,EAAAT,CAAA,MAAAP,MAAA,CAAAkD,qBAAA,QAAAC,gBAAA,GAAAnD,MAAA,CAAAkD,qBAAA,CAAAnC,MAAA,QAAAR,CAAA,MAAAA,CAAA,GAAA4C,gBAAA,CAAArC,MAAA,EAAAP,CAAA,MAAAS,GAAA,GAAAmC,gBAAA,CAAA5C,CAAA,OAAAyC,QAAA,CAAAI,OAAA,CAAApC,GAAA,uBAAAhB,MAAA,CAAAI,SAAA,CAAAiD,oBAAA,CAAA/C,IAAA,CAAAS,MAAA,EAAAC,GAAA,aAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAJ,MAAA;AAAA,SAAAqC,8BAAAlC,MAAA,EAAAiC,QAAA,QAAAjC,MAAA,yBAAAH,MAAA,WAAA0C,UAAA,GAAAtD,MAAA,CAAAuD,IAAA,CAAAxC,MAAA,OAAAC,GAAA,EAAAT,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAA+C,UAAA,CAAAxC,MAAA,EAAAP,CAAA,MAAAS,GAAA,GAAAsC,UAAA,CAAA/C,CAAA,OAAAyC,QAAA,CAAAI,OAAA,CAAApC,GAAA,kBAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAJ,MAAA;AAgBpE;AACA;AACA;AACO,IAAM4C,QAAQ,GAAAC,OAAA,CAAAD,QAAA,gBAAG,IAAAE,iBAAU,EAChC,UAAAC,IAAA,EAUEC,GAA6C,EAC1C;EAAA,IATDC,SAAS,GAAAF,IAAA,CAATE,SAAS;IACTC,KAAK,GAAAH,IAAA,CAALG,KAAK;IAAAC,OAAA,GAAAJ,IAAA,CACLK,EAAE;IAAFA,EAAE,GAAAD,OAAA,cAAG,UAAU,GAAAA,OAAA;IAAAE,UAAA,GAAAN,IAAA,CACfO,KAAK;IAALA,KAAK,GAAAD,UAAA,cAAG,KAAK,GAAAA,UAAA;IACbE,OAAO,GAAAR,IAAA,CAAPQ,OAAO;IACPC,QAAQ,GAAAT,IAAA,CAARS,QAAQ;IACLC,IAAI,GAAAtB,wBAAA,CAAAY,IAAA,EAAAzE,SAAA;EAIT,IAAAoF,SAAA,GAA0C,IAAAC,eAAQ,EAACL,KAAK,IAAI,CAACC,OAAO,CAAC;IAAAK,UAAA,GAAAtD,cAAA,CAAAoD,SAAA;IAA9DG,aAAa,GAAAD,UAAA;IAAEE,gBAAgB,GAAAF,UAAA;EACtC,IAAAG,UAAA,GAA4C,IAAAJ,eAAQ,EAACJ,OAAO,CAAC;IAAAS,UAAA,GAAA1D,cAAA,CAAAyD,UAAA;IAAtDE,cAAc,GAAAD,UAAA;IAAEE,iBAAiB,GAAAF,UAAA;EACxC,IAAMG,YAAY,GAAG,IAAAC,kBAAW,EAC9B,UAACzF,CAAC,EAAK;IACL,OAAO6E,QAAQ,KAAK,UAAU,IAAIA,QAAQ,CAAC7E,CAAC,CAAC;IAC7CuF,iBAAiB,CAAC,UAACG,IAAI;MAAA,OAAK,CAACA,IAAI;IAAA,EAAC;IAClCP,gBAAgB,CAAC,KAAK,CAAC;EACzB,CAAC,EACD,CAACN,QAAQ,CACX,CAAC;EAED,IAAAc,gBAAS,EAAC,YAAM;IACd,IAAIf,OAAO,KAAKU,cAAc,EAAE;MAC9BC,iBAAiB,CAACX,OAAO,CAAC;MAC1BO,gBAAgB,CAAC,KAAK,CAAC;IACzB;IACA;EACF,CAAC,EAAE,CAACP,OAAO,CAAC,CAAC;EAEb,IAAAe,gBAAS,EAAC,YAAM;IACd,IAAIhB,KAAK,KAAKO,aAAa,IAAI,CAACN,OAAO,EAAE;MACvCO,gBAAgB,CAACR,KAAK,CAAC;IACzB;IACA;EACF,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,oBACEvF,MAAA,CAAAU,OAAA,CAAA8F,aAAA,CAAClG,OAAA,CAAAmG,cAAc;IACbvB,SAAS,EAAE,IAAAwB,mBAAU,EACnB,YAAY,EACZ;MACE,mBAAmB,EAAEvB,KAAK;MAC1B,wBAAwB,EAAE,OAAOA,KAAK,KAAK;IAC7C,CAAC,EACDD,SACF,CAAE;IACFC,KAAK,EAAEA,KAAM;IACbwB,QAAQ,EAAE,CAAC,CAAE;IACbpB,KAAK,EAAEO;EAAc,gBAErB9F,MAAA,CAAAU,OAAA,CAAA8F,aAAA,CAAClG,OAAA,CAAAsG,WAAW,EAAA9E,QAAA;IACV+E,IAAI,EAAC,UAAU;IACfxB,EAAE,EAAEA,EAAG;IACPH,SAAS,EAAC,mBAAmB;IAC7B4B,IAAI,EAAC,UAAU;IACf7B,GAAG,EAAEA;EAAI,GACLS,IAAI;IACRF,OAAO,EAAEU,cAAe;IACxBT,QAAQ,EAAEW;EAAa,EACxB,CAAC,eACFpG,MAAA,CAAAU,OAAA,CAAA8F,aAAA,CAAClG,OAAA,CAAAyG,WAAW;IAACC,OAAO,EAAE3B,EAAG;IAACH,SAAS,EAAC;EAAmB,gBACrDlF,MAAA,CAAAU,OAAA,CAAA8F,aAAA,CAACnG,aAAA,CAAAK,OAAY;IACX,eAAY,eAAe;IAC3BuG,MAAM,EAAE,EAAG;IACXC,KAAK,EAAE,EAAG;IACV3B,KAAK,EAAEO;EAAc,CACtB,CACU,CACC,CAAC;AAErB,CACF,CAAC;AAEDjB,QAAQ,CAACsC,WAAW,GAAG,UAAU"}
|
|
@@ -51,7 +51,7 @@ var CheckboxIcon = /*#__PURE__*/_react.default.forwardRef(function (_ref, svgRef
|
|
|
51
51
|
viewBox: "0 0 16 16",
|
|
52
52
|
fill: "none",
|
|
53
53
|
xmlns: "http://www.w3.org/2000/svg",
|
|
54
|
-
"data-testid":
|
|
54
|
+
"data-testid": "checkbox-mixed-icon"
|
|
55
55
|
}, /*#__PURE__*/_react.default.createElement("path", {
|
|
56
56
|
fillRule: "evenodd",
|
|
57
57
|
clipRule: "evenodd",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxIcon.js","names":["_react","_interopRequireDefault","require","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","CheckboxIcon","React","forwardRef","_ref","svgRef","mixed","testId","props","createElement","width","height","viewBox","fill","xmlns","fillRule","clipRule","d","x","y","rx","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
|
|
1
|
+
{"version":3,"file":"CheckboxIcon.js","names":["_react","_interopRequireDefault","require","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","CheckboxIcon","React","forwardRef","_ref","svgRef","mixed","testId","props","createElement","width","height","viewBox","fill","xmlns","fillRule","clipRule","d","x","y","rx","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=\"checkbox-mixed-icon\"\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":"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"}
|
|
@@ -11,7 +11,7 @@ var _Styles = require("./Styles");
|
|
|
11
11
|
var _useForkRef = _interopRequireDefault(require("../../utils/useForkRef"));
|
|
12
12
|
var _Autocomplete = require("../Autocomplete");
|
|
13
13
|
var _Menu = require("../Menu/Menu");
|
|
14
|
-
var _excluded = ["type", "mode", "target", "options", "selected", "position", "onChange", "placeholder", "emptyAction", "disableSearch", "forceCloseMenu", "selectClassName", "keepSameOptionsOrder", "onSelectOpen", "onSelectClose", "renderOption", "handleDefaultOptionChange", "preselectDefaultValue", "startAdornment", "endAdornment", "focusInput"];
|
|
14
|
+
var _excluded = ["type", "mode", "target", "options", "selected", "mixed", "position", "onChange", "placeholder", "emptyAction", "disableSearch", "forceCloseMenu", "selectClassName", "keepSameOptionsOrder", "onSelectOpen", "onSelectClose", "renderOption", "handleDefaultOptionChange", "preselectDefaultValue", "startAdornment", "endAdornment", "focusInput"];
|
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
17
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -32,6 +32,8 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
32
32
|
options = _ref.options,
|
|
33
33
|
_ref$selected = _ref.selected,
|
|
34
34
|
selected = _ref$selected === void 0 ? [] : _ref$selected,
|
|
35
|
+
_ref$mixed = _ref.mixed,
|
|
36
|
+
mixed = _ref$mixed === void 0 ? [] : _ref$mixed,
|
|
35
37
|
_ref$position = _ref.position,
|
|
36
38
|
position = _ref$position === void 0 ? "bottom-start" : _ref$position,
|
|
37
39
|
_ref$onChange = _ref.onChange,
|
|
@@ -92,22 +94,7 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
92
94
|
return [...acc, ...allGroupOptions];
|
|
93
95
|
}, []);
|
|
94
96
|
}, [selectOptions]);
|
|
95
|
-
var
|
|
96
|
-
var mixedOptions = [];
|
|
97
|
-
options.forEach(function (option) {
|
|
98
|
-
if (option.mixed) {
|
|
99
|
-
mixedOptions.push(option);
|
|
100
|
-
}
|
|
101
|
-
if ((0, _Autocomplete.isOptionGroup)(option) && option.options && option.options.length > 0) {
|
|
102
|
-
var nestedMixedOptions = getMixedOptionsRecursively(option.options);
|
|
103
|
-
mixedOptions = mixedOptions.concat(nestedMixedOptions);
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
return mixedOptions;
|
|
107
|
-
}, []);
|
|
108
|
-
var mixedOptions = (0, _react.useRef)(type === "multiple" && selectOptions ? getMixedOptionsRecursively(selectOptions).map(function (item) {
|
|
109
|
-
return item.id;
|
|
110
|
-
}) : []);
|
|
97
|
+
var mixedOptions = (0, _react.useRef)(type === "multiple" && mixed.length ? mixed : []);
|
|
111
98
|
var removeFromMixedOptions = (0, _react.useCallback)(function (idsToRemove) {
|
|
112
99
|
mixedOptions.current = mixedOptions.current.filter(function (mixedOption) {
|
|
113
100
|
return !idsToRemove.includes(mixedOption);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_OptionContent","_Styles","_useForkRef","_Autocomplete","_Menu","_excluded","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Select","exports","_ref","_ref$type","type","mode","options","_ref$selected","selected","_ref$position","position","_ref$onChange","onChange","placeholder","_ref$emptyAction","emptyAction","_ref$disableSearch","disableSearch","forceCloseMenu","selectClassName","_ref$keepSameOptionsO","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","_ref$preselectDefault","preselectDefaultValue","startAdornment","endAdornment","_ref$focusInput","focusInput","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","formRef","_useState","useState","_useState2","open","setOpen","selectedOptions","useMemo","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","getMixedOptionsRecursively","useCallback","mixedOptions","forEach","mixed","nestedMixedOptions","concat","item","removeFromMixedOptions","idsToRemove","current","filter","mixedOption","includes","isAllOptionsChecked","every","someOptionsChecked","some","useEffect","_childNode$current","focus","handleChange","selectedValue","undefined","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","_elementRef$current","className","handleEmptyAction","_formRef$current","reset","handleDefaultOptionChangeCallback","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","additionalInfo","StyledCheckbox","checked","StyledRadioButton","StyledSelectForm","ref","StyledStartAdornment","StyledSelectInput","StyledEndAdornment","Autocomplete","clearInputOnSelect","inputEl","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 getMixedOptionsRecursively = useCallback(\n (options: (IOptionGroupProps | IOptionItemProps)[]) => {\n let mixedOptions: (IOptionGroupProps | IOptionItemProps)[] = [];\n\n options.forEach((option) => {\n if (option.mixed) {\n mixedOptions.push(option);\n }\n if (\n isOptionGroup(option) &&\n option.options &&\n option.options.length > 0\n ) {\n const nestedMixedOptions = getMixedOptionsRecursively(option.options);\n mixedOptions = mixedOptions.concat(nestedMixedOptions);\n }\n });\n\n return mixedOptions;\n },\n []\n );\n\n const mixedOptions = useRef(\n type === \"multiple\" && selectOptions\n ? getMixedOptionsRecursively(selectOptions).map((item) => item.id)\n : []\n );\n\n const removeFromMixedOptions = useCallback(\n (idsToRemove: (string | number)[]) => {\n mixedOptions.current = mixedOptions.current.filter(\n (mixedOption) => !idsToRemove.includes(mixedOption)\n );\n },\n []\n );\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 type === \"multiple\" &&\n mixedOptions.current.length &&\n removeFromMixedOptions(selectedValue);\n }\n },\n [\n forceCloseMenu,\n selected,\n onSelectClose,\n onChange,\n type,\n removeFromMixedOptions,\n ]\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\n mixed={mixedOptions.current.includes(option.id)}\n {...props}\n />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n type,\n someOptionsChecked,\n selectedOptions,\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 mixedOptions={mixedOptions.current}\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","_excluded","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Select","exports","_ref","_ref$type","type","mode","options","_ref$selected","selected","_ref$mixed","mixed","_ref$position","position","_ref$onChange","onChange","placeholder","_ref$emptyAction","emptyAction","_ref$disableSearch","disableSearch","forceCloseMenu","selectClassName","_ref$keepSameOptionsO","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","_ref$preselectDefault","preselectDefaultValue","startAdornment","endAdornment","_ref$focusInput","focusInput","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","formRef","_useState","useState","_useState2","open","setOpen","selectedOptions","useMemo","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","mixedOptions","removeFromMixedOptions","useCallback","idsToRemove","current","filter","mixedOption","includes","isAllOptionsChecked","every","someOptionsChecked","some","useEffect","_childNode$current","focus","handleChange","selectedValue","undefined","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","_elementRef$current","className","handleEmptyAction","_formRef$current","reset","handleDefaultOptionChangeCallback","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","additionalInfo","StyledCheckbox","checked","StyledRadioButton","StyledSelectForm","ref","StyledStartAdornment","StyledSelectInput","StyledEndAdornment","Autocomplete","clearInputOnSelect","inputEl","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\"\n | \"inputEl\"\n | \"handleEmptyAction\"\n | \"clearInputOnSelect\"\n | \"mixedOptions\"\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 /** Mixed options values */\n mixed?: (string | number)[];\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n mixed = [],\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 mixedOptions = useRef(type === \"multiple\" && mixed.length ? mixed : []);\n\n const removeFromMixedOptions = useCallback(\n (idsToRemove: (string | number)[]) => {\n mixedOptions.current = mixedOptions.current.filter(\n (mixedOption) => !idsToRemove.includes(mixedOption)\n );\n },\n []\n );\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 type === \"multiple\" &&\n mixedOptions.current.length &&\n removeFromMixedOptions(selectedValue);\n }\n },\n [\n forceCloseMenu,\n selected,\n onSelectClose,\n onChange,\n type,\n removeFromMixedOptions,\n ]\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\n mixed={mixedOptions.current.includes(option.id)}\n {...props}\n />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n type,\n someOptionsChecked,\n selectedOptions,\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 mixedOptions={mixedOptions.current}\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAGZ,mBAAmB,EAIpB,MAAM,OAAO,CAAC;AAOf,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC/D,kBAAkB;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mCAAmC;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CAC7D;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAGZ,mBAAmB,EAIpB,MAAM,OAAO,CAAC;AAOf,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC/D,kBAAkB;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mCAAmC;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CAC7D;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,wFA0EpB,CAAC"}
|
|
@@ -21,16 +21,26 @@ const Checkbox = exports.Checkbox = /*#__PURE__*/(0, _react.forwardRef)((_ref, r
|
|
|
21
21
|
hover,
|
|
22
22
|
id = "checkbox",
|
|
23
23
|
mixed = false,
|
|
24
|
+
checked,
|
|
24
25
|
onChange,
|
|
25
26
|
...rest
|
|
26
27
|
} = _ref;
|
|
27
|
-
const [indeterminate, setIndeterminate] = (0, _react.useState)(mixed);
|
|
28
|
+
const [indeterminate, setIndeterminate] = (0, _react.useState)(mixed && !checked);
|
|
29
|
+
const [initialChecked, setInitialChecked] = (0, _react.useState)(checked);
|
|
28
30
|
const handleChange = (0, _react.useCallback)(e => {
|
|
29
31
|
typeof onChange === "function" && onChange(e);
|
|
32
|
+
setInitialChecked(prev => !prev);
|
|
30
33
|
setIndeterminate(false);
|
|
31
34
|
}, [onChange]);
|
|
32
35
|
(0, _react.useEffect)(() => {
|
|
33
|
-
if (
|
|
36
|
+
if (checked !== initialChecked) {
|
|
37
|
+
setInitialChecked(checked);
|
|
38
|
+
setIndeterminate(false);
|
|
39
|
+
}
|
|
40
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
41
|
+
}, [checked]);
|
|
42
|
+
(0, _react.useEffect)(() => {
|
|
43
|
+
if (mixed !== indeterminate && !checked) {
|
|
34
44
|
setIndeterminate(mixed);
|
|
35
45
|
}
|
|
36
46
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -50,6 +60,7 @@ const Checkbox = exports.Checkbox = /*#__PURE__*/(0, _react.forwardRef)((_ref, r
|
|
|
50
60
|
type: "checkbox",
|
|
51
61
|
ref: ref
|
|
52
62
|
}, rest, {
|
|
63
|
+
checked: initialChecked,
|
|
53
64
|
onChange: handleChange
|
|
54
65
|
})), /*#__PURE__*/_react.default.createElement(_Styles.StyledLabel, {
|
|
55
66
|
htmlFor: id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_CheckboxIcon","_Styles","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Checkbox","exports","forwardRef","_ref","ref","className","hover","id","mixed","onChange","rest","indeterminate","setIndeterminate","useState","handleChange","useCallback","useEffect","createElement","StyledCheckbox","classnames","tabIndex","StyledInput","_extends2","role","type","StyledLabel","htmlFor","height","width","displayName"],"sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, {\n forwardRef,\n Ref,\n InputHTMLAttributes,\n useState,\n useCallback,\n useEffect,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport CheckboxIcon from \"./CheckboxIcon\";\nimport { StyledCheckbox, StyledInput, StyledLabel } from \"./Styles\";\n\nexport interface CheckBoxProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"onChange\"> {\n /** CSS classes */\n className?: string;\n /** Set hover style */\n hover?: boolean;\n /** Id of input and for of label */\n id?: string;\n /** mixed state */\n mixed?: boolean;\n /** On change callback */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\n/**\n * Checkbox component\n */\nexport const Checkbox = forwardRef(\n (\n {\n className,\n hover,\n id = \"checkbox\",\n mixed = false,\n onChange,\n ...rest\n }: CheckBoxProps,\n ref: Ref<HTMLInputElement> | null | undefined\n ) => {\n const [indeterminate, setIndeterminate] = useState(mixed);\n const handleChange = useCallback(\n (e) => {\n typeof onChange === \"function\" && onChange(e);\n setIndeterminate(false);\n },\n [onChange]\n );\n\n useEffect(() => {\n if (mixed !== indeterminate) {\n setIndeterminate(mixed);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mixed]);\n\n return (\n <StyledCheckbox\n className={classnames(\n \"c-checkbox\",\n {\n \"c-checkbox__hover\": hover,\n \"c-checkbox__controlled\": typeof hover === \"boolean\",\n },\n className\n )}\n hover={hover}\n tabIndex={-1}\n mixed={indeterminate}\n >\n <StyledInput\n role=\"checkbox\"\n id={id}\n className=\"c-checkbox--input\"\n type=\"checkbox\"\n ref={ref}\n {...rest}\n onChange={handleChange}\n />\n <StyledLabel htmlFor={id} className=\"c-checkbox--label\">\n <CheckboxIcon\n data-testid=\"checkbox-icon\"\n height={16}\n width={16}\n mixed={indeterminate}\n />\n </StyledLabel>\n </StyledCheckbox>\n );\n }\n);\n\nCheckbox.displayName = \"Checkbox\";\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AASA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAAoE,SAAAK,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,SAAAP,wBAAAO,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;AAgBpE;AACA;AACA;AACO,MAAMY,QAAQ,GAAAC,OAAA,CAAAD,QAAA,gBAAG,IAAAE,iBAAU,EAChC,CAAAC,IAAA,
|
|
1
|
+
{"version":3,"file":"Checkbox.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_CheckboxIcon","_Styles","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Checkbox","exports","forwardRef","_ref","ref","className","hover","id","mixed","checked","onChange","rest","indeterminate","setIndeterminate","useState","initialChecked","setInitialChecked","handleChange","useCallback","prev","useEffect","createElement","StyledCheckbox","classnames","tabIndex","StyledInput","_extends2","role","type","StyledLabel","htmlFor","height","width","displayName"],"sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, {\n forwardRef,\n Ref,\n InputHTMLAttributes,\n useState,\n useCallback,\n useEffect,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport CheckboxIcon from \"./CheckboxIcon\";\nimport { StyledCheckbox, StyledInput, StyledLabel } from \"./Styles\";\n\nexport interface CheckBoxProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"onChange\"> {\n /** CSS classes */\n className?: string;\n /** Set hover style */\n hover?: boolean;\n /** Id of input and for of label */\n id?: string;\n /** mixed state */\n mixed?: boolean;\n /** On change callback */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\n/**\n * Checkbox component\n */\nexport const Checkbox = forwardRef(\n (\n {\n className,\n hover,\n id = \"checkbox\",\n mixed = false,\n checked,\n onChange,\n ...rest\n }: CheckBoxProps,\n ref: Ref<HTMLInputElement> | null | undefined\n ) => {\n const [indeterminate, setIndeterminate] = useState(mixed && !checked);\n const [initialChecked, setInitialChecked] = useState(checked);\n const handleChange = useCallback(\n (e) => {\n typeof onChange === \"function\" && onChange(e);\n setInitialChecked((prev) => !prev);\n setIndeterminate(false);\n },\n [onChange]\n );\n\n useEffect(() => {\n if (checked !== initialChecked) {\n setInitialChecked(checked);\n setIndeterminate(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [checked]);\n\n useEffect(() => {\n if (mixed !== indeterminate && !checked) {\n setIndeterminate(mixed);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mixed]);\n\n return (\n <StyledCheckbox\n className={classnames(\n \"c-checkbox\",\n {\n \"c-checkbox__hover\": hover,\n \"c-checkbox__controlled\": typeof hover === \"boolean\",\n },\n className\n )}\n hover={hover}\n tabIndex={-1}\n mixed={indeterminate}\n >\n <StyledInput\n role=\"checkbox\"\n id={id}\n className=\"c-checkbox--input\"\n type=\"checkbox\"\n ref={ref}\n {...rest}\n checked={initialChecked}\n onChange={handleChange}\n />\n <StyledLabel htmlFor={id} className=\"c-checkbox--label\">\n <CheckboxIcon\n data-testid=\"checkbox-icon\"\n height={16}\n width={16}\n mixed={indeterminate}\n />\n </StyledLabel>\n </StyledCheckbox>\n );\n }\n);\n\nCheckbox.displayName = \"Checkbox\";\n"],"mappings":"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"}
|
|
@@ -50,7 +50,7 @@ const CheckboxIcon = /*#__PURE__*/_react.default.forwardRef((_ref, svgRef) => {
|
|
|
50
50
|
viewBox: "0 0 16 16",
|
|
51
51
|
fill: "none",
|
|
52
52
|
xmlns: "http://www.w3.org/2000/svg",
|
|
53
|
-
"data-testid":
|
|
53
|
+
"data-testid": "checkbox-mixed-icon"
|
|
54
54
|
}, /*#__PURE__*/_react.default.createElement("path", {
|
|
55
55
|
fillRule: "evenodd",
|
|
56
56
|
clipRule: "evenodd",
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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=\"checkbox-mixed-icon\"\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,eAAY;IAAqB,gBAEjCjB,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"}
|
|
@@ -4,7 +4,7 @@ import { IAutocompleteProps } from "../Autocomplete/Autocomplete";
|
|
|
4
4
|
interface ElementWithRef<T> extends ReactElement {
|
|
5
5
|
ref?: Ref<T>;
|
|
6
6
|
}
|
|
7
|
-
export interface ISelectProps extends Omit<IAutocompleteProps, "handleChange" | "inputEl" | "handleEmptyAction" | "clearInputOnSelect"> {
|
|
7
|
+
export interface ISelectProps extends Omit<IAutocompleteProps, "handleChange" | "inputEl" | "handleEmptyAction" | "clearInputOnSelect" | "mixedOptions"> {
|
|
8
8
|
/** Menu width mode */
|
|
9
9
|
mode?: "normal" | "wider" | "tiny";
|
|
10
10
|
/** Set select target element */
|
|
@@ -33,6 +33,8 @@ export interface ISelectProps extends Omit<IAutocompleteProps, "handleChange" |
|
|
|
33
33
|
endAdornment?: ReactNode;
|
|
34
34
|
/** Focus search input on inline select */
|
|
35
35
|
focusInput?: boolean;
|
|
36
|
+
/** Mixed options values */
|
|
37
|
+
mixed?: (string | number)[];
|
|
36
38
|
}
|
|
37
39
|
export declare const Select: FC<ISelectProps>;
|
|
38
40
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAGF,YAAY,EAIZ,GAAG,EACH,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAc3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAKlE,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,MAAM,WAAW,YACf,SAAQ,IAAI,CACV,kBAAkB,
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAGF,YAAY,EAIZ,GAAG,EACH,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAc3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAKlE,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,MAAM,WAAW,YACf,SAAQ,IAAI,CACV,kBAAkB,EAChB,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,oBAAoB,GACpB,cAAc,CACjB;IACD,sBAAsB;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACnC,gCAAgC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC9D,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,oCAAoC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,qCAAqC;IACrC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC7B;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,YAAY,CAkRnC,CAAC"}
|
|
@@ -22,6 +22,7 @@ const Select = _ref => {
|
|
|
22
22
|
target,
|
|
23
23
|
options,
|
|
24
24
|
selected = [],
|
|
25
|
+
mixed = [],
|
|
25
26
|
position = "bottom-start",
|
|
26
27
|
onChange = () => null,
|
|
27
28
|
placeholder,
|
|
@@ -65,20 +66,7 @@ const Select = _ref => {
|
|
|
65
66
|
return [...acc, ...allGroupOptions];
|
|
66
67
|
}, []);
|
|
67
68
|
}, [selectOptions]);
|
|
68
|
-
const
|
|
69
|
-
let mixedOptions = [];
|
|
70
|
-
options.forEach(option => {
|
|
71
|
-
if (option.mixed) {
|
|
72
|
-
mixedOptions.push(option);
|
|
73
|
-
}
|
|
74
|
-
if ((0, _Autocomplete.isOptionGroup)(option) && option.options && option.options.length > 0) {
|
|
75
|
-
const nestedMixedOptions = getMixedOptionsRecursively(option.options);
|
|
76
|
-
mixedOptions = mixedOptions.concat(nestedMixedOptions);
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
return mixedOptions;
|
|
80
|
-
}, []);
|
|
81
|
-
const mixedOptions = (0, _react.useRef)(type === "multiple" && selectOptions ? getMixedOptionsRecursively(selectOptions).map(item => item.id) : []);
|
|
69
|
+
const mixedOptions = (0, _react.useRef)(type === "multiple" && mixed.length ? mixed : []);
|
|
82
70
|
const removeFromMixedOptions = (0, _react.useCallback)(idsToRemove => {
|
|
83
71
|
mixedOptions.current = mixedOptions.current.filter(mixedOption => !idsToRemove.includes(mixedOption));
|
|
84
72
|
}, []);
|