@activecollab/components 1.0.148 → 1.0.149
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/Select/OptionGroup/OptionGroup.js +2 -2
- package/dist/cjs/components/Select/OptionGroup/OptionGroup.js.map +1 -1
- package/dist/cjs/components/Select/OptionGroup/Styles.js +11 -4
- package/dist/cjs/components/Select/OptionGroup/Styles.js.map +1 -1
- package/dist/esm/components/Select/OptionGroup/OptionGroup.d.ts.map +1 -1
- package/dist/esm/components/Select/OptionGroup/OptionGroup.js +3 -3
- package/dist/esm/components/Select/OptionGroup/OptionGroup.js.map +1 -1
- package/dist/esm/components/Select/OptionGroup/Styles.d.ts +1 -0
- package/dist/esm/components/Select/OptionGroup/Styles.d.ts.map +1 -1
- package/dist/esm/components/Select/OptionGroup/Styles.js +7 -3
- package/dist/esm/components/Select/OptionGroup/Styles.js.map +1 -1
- package/dist/index.js +9 -5
- 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
|
@@ -91,9 +91,9 @@ var OptionGroup = function OptionGroup(_ref) {
|
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
}, [allOptionValues, checked, isAllOptionsChecked, onChange]);
|
|
94
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
94
|
+
return /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionGroupLi, {
|
|
95
95
|
key: id,
|
|
96
|
-
className: (0, _classnames.default)("c-option-group
|
|
96
|
+
className: (0, _classnames.default)("c-option-group", optionGroupClassName)
|
|
97
97
|
}, /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionGroup, {
|
|
98
98
|
key: id
|
|
99
99
|
}, /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionGroupOption, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"names":["OptionGroup","id","name","options","type","hover","filter","checked","onChange","setHover","renderOptions","optionGroupClassName","list","v","toLowerCase","includes","trim","document","getElementById","focus","isAllOptionsChecked","every","option","handleHover","undefined","allOptionValues","map","handleClick","e","stopPropagation","i","values","unique","item","pos","indexOf","index","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"names":["OptionGroup","id","name","options","type","hover","filter","checked","onChange","setHover","renderOptions","optionGroupClassName","list","v","toLowerCase","includes","trim","document","getElementById","focus","isAllOptionsChecked","every","option","handleHover","undefined","allOptionValues","map","handleClick","e","stopPropagation","i","values","unique","item","pos","indexOf","index","displayName"],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useMemo, FC } from \"react\";\nimport classNames from \"classnames\";\nimport { IOptionItemProps } from \"../Option/Option\";\nimport { Checkbox } from \"../../Checkbox/Checkbox\";\nimport {\n StyledOptionGroup,\n StyledOptionGroupHeader,\n StyledOptionGroupOption,\n StyledOptionGroupLi,\n} from \"./Styles\";\nimport { List } from \"../../List\";\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) => void;\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 (setHover) {\n setHover(type === \"single\" ? undefined : id);\n }\n }, [setHover, type, id]);\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 {name}\n {type === \"multiple\" && (\n <Checkbox\n id={`${id}`}\n checked={isAllOptionsChecked}\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"],"file":"OptionGroup.js"}
|
|
@@ -5,7 +5,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.StyledOptionGroupOption = exports.StyledOptionGroupHeader = exports.StyledOptionGroup = void 0;
|
|
8
|
+
exports.StyledOptionGroupOption = exports.StyledOptionGroupLi = exports.StyledOptionGroupHeader = exports.StyledOptionGroup = void 0;
|
|
9
9
|
|
|
10
10
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
11
11
|
|
|
@@ -17,9 +17,16 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
17
17
|
|
|
18
18
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
19
|
|
|
20
|
+
var StyledOptionGroupLi = _styledComponents.default.li.withConfig({
|
|
21
|
+
displayName: "Styles__StyledOptionGroupLi",
|
|
22
|
+
componentId: "sc-16v5afu-0"
|
|
23
|
+
})(["flex-direction:column;"]);
|
|
24
|
+
|
|
25
|
+
exports.StyledOptionGroupLi = StyledOptionGroupLi;
|
|
26
|
+
|
|
20
27
|
var StyledOptionGroup = _styledComponents.default.div.withConfig({
|
|
21
28
|
displayName: "Styles__StyledOptionGroup",
|
|
22
|
-
componentId: "sc-16v5afu-
|
|
29
|
+
componentId: "sc-16v5afu-1"
|
|
23
30
|
})(["", " ", " ", ""], {
|
|
24
31
|
"userSelect": "none"
|
|
25
32
|
}, _FontStyle.FontStyle, _BoxSizingStyle.BoxSizingStyle);
|
|
@@ -29,7 +36,7 @@ StyledOptionGroup.displayName = "StyledOptionGroup";
|
|
|
29
36
|
|
|
30
37
|
var StyledOptionGroupHeader = _styledComponents.default.h3.withConfig({
|
|
31
38
|
displayName: "Styles__StyledOptionGroupHeader",
|
|
32
|
-
componentId: "sc-16v5afu-
|
|
39
|
+
componentId: "sc-16v5afu-2"
|
|
33
40
|
})(["height:28px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;color:var(--color-theme-900);margin:6px 0;*{margin:auto 0;}"]);
|
|
34
41
|
|
|
35
42
|
exports.StyledOptionGroupHeader = StyledOptionGroupHeader;
|
|
@@ -37,7 +44,7 @@ StyledOptionGroupHeader.displayName = "StyledOptionGroupHeader";
|
|
|
37
44
|
|
|
38
45
|
var StyledOptionGroupOption = _styledComponents.default.div.withConfig({
|
|
39
46
|
displayName: "Styles__StyledOptionGroupOption",
|
|
40
|
-
componentId: "sc-16v5afu-
|
|
47
|
+
componentId: "sc-16v5afu-3"
|
|
41
48
|
})(["", ""], function (props) {
|
|
42
49
|
return props.hover && (0, _styledComponents.css)(["background-color:var(--color-theme-200);"]);
|
|
43
50
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Select/OptionGroup/Styles.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Select/OptionGroup/Styles.ts"],"names":["StyledOptionGroupLi","styled","li","StyledOptionGroup","div","FontStyle","BoxSizingStyle","displayName","StyledOptionGroupHeader","h3","StyledOptionGroupOption","props","hover","css"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;;;;;AAEO,IAAMA,mBAAmB,GAAGC,0BAAOC,EAAV;AAAA;AAAA;AAAA,8BAAzB;;;;AAGA,IAAMC,iBAAiB,GAAGF,0BAAOG,GAAV;AAAA;AAAA;AAAA,uBACxB;AAAA;AAAA,CADwB,EAE1BC,oBAF0B,EAG1BC,8BAH0B,CAAvB;;;AAMPH,iBAAiB,CAACI,WAAlB,GAAgC,mBAAhC;;AAEO,IAAMC,uBAAuB,GAAGP,0BAAOQ,EAAV;AAAA;AAAA;AAAA,4JAA7B;;;AAaPD,uBAAuB,CAACD,WAAxB,GAAsC,yBAAtC;;AAEO,IAAMG,uBAAuB,GAAGT,0BAAOG,GAAV;AAAA;AAAA;AAAA,aAChC,UAACO,KAAD;AAAA,SACAA,KAAK,CAACC,KAAN,QACAC,qBADA,+CADA;AAAA,CADgC,CAA7B;;;AAQPH,uBAAuB,CAACH,WAAxB,GAAsC,yBAAtC","sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\nimport { FontStyle } from \"../../FontStyle\";\n\nexport const StyledOptionGroupLi = styled.li`\n flex-direction: column;\n`;\nexport const StyledOptionGroup = styled.div`\n ${tw`tw-select-none`}\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledOptionGroup.displayName = \"StyledOptionGroup\";\n\nexport const StyledOptionGroupHeader = styled.h3`\n height: 28px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 16px;\n color: var(--color-theme-900);\n margin: 6px 0;\n * {\n margin: auto 0;\n }\n`;\n\nStyledOptionGroupHeader.displayName = \"StyledOptionGroupHeader\";\n\nexport const StyledOptionGroupOption = styled.div<{ hover?: boolean }>`\n ${(props) =>\n props.hover &&\n css`\n background-color: var(--color-theme-200);\n `}\n`;\n\nStyledOptionGroupOption.displayName = \"StyledOptionGroupOption\";\n"],"file":"Styles.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionGroup.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAmC,EAAE,EAAE,MAAM,OAAO,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"OptionGroup.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAmC,EAAE,EAAE,MAAM,OAAO,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAUpD,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IAEzD,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,UAAU,2BAA2B;IAEnC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAE7B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAE/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAE7B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAE5C,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAEpD,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhE,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,WAAW,EAAE,EAAE,CAC1B,iBAAiB,GAAG,2BAA2B,CAkGhD,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useMemo } from "react";
|
|
2
2
|
import classNames from "classnames";
|
|
3
3
|
import { Checkbox } from "../../Checkbox/Checkbox";
|
|
4
|
-
import { StyledOptionGroup, StyledOptionGroupHeader, StyledOptionGroupOption } from "./Styles";
|
|
4
|
+
import { StyledOptionGroup, StyledOptionGroupHeader, StyledOptionGroupOption, StyledOptionGroupLi } from "./Styles";
|
|
5
5
|
import { List } from "../../List";
|
|
6
6
|
export var OptionGroup = function OptionGroup(_ref) {
|
|
7
7
|
var id = _ref.id,
|
|
@@ -59,9 +59,9 @@ export var OptionGroup = function OptionGroup(_ref) {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
}, [allOptionValues, checked, isAllOptionsChecked, onChange]);
|
|
62
|
-
return /*#__PURE__*/React.createElement(
|
|
62
|
+
return /*#__PURE__*/React.createElement(StyledOptionGroupLi, {
|
|
63
63
|
key: id,
|
|
64
|
-
className: classNames("c-option-group
|
|
64
|
+
className: classNames("c-option-group", optionGroupClassName)
|
|
65
65
|
}, /*#__PURE__*/React.createElement(StyledOptionGroup, {
|
|
66
66
|
key: id
|
|
67
67
|
}, /*#__PURE__*/React.createElement(StyledOptionGroupOption, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"names":["React","useCallback","useEffect","useMemo","classNames","Checkbox","StyledOptionGroup","StyledOptionGroupHeader","StyledOptionGroupOption","List","OptionGroup","id","name","options","type","hover","filter","checked","onChange","setHover","renderOptions","optionGroupClassName","list","v","toLowerCase","includes","trim","document","getElementById","focus","isAllOptionsChecked","every","option","handleHover","undefined","allOptionValues","map","handleClick","e","stopPropagation","i","values","unique","item","pos","indexOf","index","displayName"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,SAA7B,EAAwCC,OAAxC,QAA2D,OAA3D;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,SAASC,QAAT,QAAyB,yBAAzB;AACA,SACEC,iBADF,EAEEC,uBAFF,EAGEC,uBAHF,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"names":["React","useCallback","useEffect","useMemo","classNames","Checkbox","StyledOptionGroup","StyledOptionGroupHeader","StyledOptionGroupOption","StyledOptionGroupLi","List","OptionGroup","id","name","options","type","hover","filter","checked","onChange","setHover","renderOptions","optionGroupClassName","list","v","toLowerCase","includes","trim","document","getElementById","focus","isAllOptionsChecked","every","option","handleHover","undefined","allOptionValues","map","handleClick","e","stopPropagation","i","values","unique","item","pos","indexOf","index","displayName"],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useMemo, FC } from \"react\";\nimport classNames from \"classnames\";\nimport { IOptionItemProps } from \"../Option/Option\";\nimport { Checkbox } from \"../../Checkbox/Checkbox\";\nimport {\n StyledOptionGroup,\n StyledOptionGroupHeader,\n StyledOptionGroupOption,\n StyledOptionGroupLi,\n} from \"./Styles\";\nimport { List } from \"../../List\";\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) => void;\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 (setHover) {\n setHover(type === \"single\" ? undefined : id);\n }\n }, [setHover, type, id]);\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 {name}\n {type === \"multiple\" && (\n <Checkbox\n id={`${id}`}\n checked={isAllOptionsChecked}\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"],"file":"OptionGroup.js"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export declare const StyledOptionGroupLi: import("styled-components").StyledComponent<"li", any, {}, never>;
|
|
1
2
|
export declare const StyledOptionGroup: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
2
3
|
export declare const StyledOptionGroupHeader: import("styled-components").StyledComponent<"h3", any, {}, never>;
|
|
3
4
|
export declare const StyledOptionGroupOption: import("styled-components").StyledComponent<"div", any, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/OptionGroup/Styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,iBAAiB,oEAI7B,CAAC;AAIF,eAAO,MAAM,uBAAuB,mEAWnC,CAAC;AAIF,eAAO,MAAM,uBAAuB;;SAMnC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/OptionGroup/Styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,mEAE/B,CAAC;AACF,eAAO,MAAM,iBAAiB,oEAI7B,CAAC;AAIF,eAAO,MAAM,uBAAuB,mEAWnC,CAAC;AAIF,eAAO,MAAM,uBAAuB;;SAMnC,CAAC"}
|
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import styled, { css } from "styled-components";
|
|
2
2
|
import { BoxSizingStyle } from "../../BoxSizingStyle";
|
|
3
3
|
import { FontStyle } from "../../FontStyle";
|
|
4
|
+
export var StyledOptionGroupLi = styled.li.withConfig({
|
|
5
|
+
displayName: "Styles__StyledOptionGroupLi",
|
|
6
|
+
componentId: "sc-16v5afu-0"
|
|
7
|
+
})(["flex-direction:column;"]);
|
|
4
8
|
export var StyledOptionGroup = styled.div.withConfig({
|
|
5
9
|
displayName: "Styles__StyledOptionGroup",
|
|
6
|
-
componentId: "sc-16v5afu-
|
|
10
|
+
componentId: "sc-16v5afu-1"
|
|
7
11
|
})(["", " ", " ", ""], {
|
|
8
12
|
"userSelect": "none"
|
|
9
13
|
}, FontStyle, BoxSizingStyle);
|
|
10
14
|
StyledOptionGroup.displayName = "StyledOptionGroup";
|
|
11
15
|
export var StyledOptionGroupHeader = styled.h3.withConfig({
|
|
12
16
|
displayName: "Styles__StyledOptionGroupHeader",
|
|
13
|
-
componentId: "sc-16v5afu-
|
|
17
|
+
componentId: "sc-16v5afu-2"
|
|
14
18
|
})(["height:28px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;color:var(--color-theme-900);margin:6px 0;*{margin:auto 0;}"]);
|
|
15
19
|
StyledOptionGroupHeader.displayName = "StyledOptionGroupHeader";
|
|
16
20
|
export var StyledOptionGroupOption = styled.div.withConfig({
|
|
17
21
|
displayName: "Styles__StyledOptionGroupOption",
|
|
18
|
-
componentId: "sc-16v5afu-
|
|
22
|
+
componentId: "sc-16v5afu-3"
|
|
19
23
|
})(["", ""], function (props) {
|
|
20
24
|
return props.hover && css(["background-color:var(--color-theme-200);"]);
|
|
21
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Select/OptionGroup/Styles.ts"],"names":["styled","css","BoxSizingStyle","FontStyle","StyledOptionGroup","div","displayName","StyledOptionGroupHeader","h3","StyledOptionGroupOption","props","hover"],"mappings":"AAAA,OAAOA,MAAP,IAAiBC,GAAjB,QAA4B,mBAA5B;AAEA,SAASC,cAAT,QAA+B,sBAA/B;AACA,SAASC,SAAT,QAA0B,iBAA1B;AAEA,OAAO,IAAMC,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Select/OptionGroup/Styles.ts"],"names":["styled","css","BoxSizingStyle","FontStyle","StyledOptionGroupLi","li","StyledOptionGroup","div","displayName","StyledOptionGroupHeader","h3","StyledOptionGroupOption","props","hover"],"mappings":"AAAA,OAAOA,MAAP,IAAiBC,GAAjB,QAA4B,mBAA5B;AAEA,SAASC,cAAT,QAA+B,sBAA/B;AACA,SAASC,SAAT,QAA0B,iBAA1B;AAEA,OAAO,IAAMC,mBAAmB,GAAGJ,MAAM,CAACK,EAAV;AAAA;AAAA;AAAA,8BAAzB;AAGP,OAAO,IAAMC,iBAAiB,GAAGN,MAAM,CAACO,GAAV;AAAA;AAAA;AAAA,uBACxB;AAAA;AAAA,CADwB,EAE1BJ,SAF0B,EAG1BD,cAH0B,CAAvB;AAMPI,iBAAiB,CAACE,WAAlB,GAAgC,mBAAhC;AAEA,OAAO,IAAMC,uBAAuB,GAAGT,MAAM,CAACU,EAAV;AAAA;AAAA;AAAA,4JAA7B;AAaPD,uBAAuB,CAACD,WAAxB,GAAsC,yBAAtC;AAEA,OAAO,IAAMG,uBAAuB,GAAGX,MAAM,CAACO,GAAV;AAAA;AAAA;AAAA,aAChC,UAACK,KAAD;AAAA,SACAA,KAAK,CAACC,KAAN,IACAZ,GADA,8CADA;AAAA,CADgC,CAA7B;AAQPU,uBAAuB,CAACH,WAAxB,GAAsC,yBAAtC","sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\nimport { FontStyle } from \"../../FontStyle\";\n\nexport const StyledOptionGroupLi = styled.li`\n flex-direction: column;\n`;\nexport const StyledOptionGroup = styled.div`\n ${tw`tw-select-none`}\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledOptionGroup.displayName = \"StyledOptionGroup\";\n\nexport const StyledOptionGroupHeader = styled.h3`\n height: 28px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 16px;\n color: var(--color-theme-900);\n margin: 6px 0;\n * {\n margin: auto 0;\n }\n`;\n\nStyledOptionGroupHeader.displayName = \"StyledOptionGroupHeader\";\n\nexport const StyledOptionGroupOption = styled.div<{ hover?: boolean }>`\n ${(props) =>\n props.hover &&\n css`\n background-color: var(--color-theme-200);\n `}\n`;\n\nStyledOptionGroupOption.displayName = \"StyledOptionGroupOption\";\n"],"file":"Styles.js"}
|
package/dist/index.js
CHANGED
|
@@ -6479,21 +6479,25 @@
|
|
|
6479
6479
|
});
|
|
6480
6480
|
Checkbox.displayName = "Checkbox";
|
|
6481
6481
|
|
|
6482
|
+
var StyledOptionGroupLi = styled__default["default"].li.withConfig({
|
|
6483
|
+
displayName: "Styles__StyledOptionGroupLi",
|
|
6484
|
+
componentId: "sc-16v5afu-0"
|
|
6485
|
+
})(["flex-direction:column;"]);
|
|
6482
6486
|
var StyledOptionGroup = styled__default["default"].div.withConfig({
|
|
6483
6487
|
displayName: "Styles__StyledOptionGroup",
|
|
6484
|
-
componentId: "sc-16v5afu-
|
|
6488
|
+
componentId: "sc-16v5afu-1"
|
|
6485
6489
|
})(["", " ", " ", ""], {
|
|
6486
6490
|
"userSelect": "none"
|
|
6487
6491
|
}, FontStyle, BoxSizingStyle);
|
|
6488
6492
|
StyledOptionGroup.displayName = "StyledOptionGroup";
|
|
6489
6493
|
var StyledOptionGroupHeader = styled__default["default"].h3.withConfig({
|
|
6490
6494
|
displayName: "Styles__StyledOptionGroupHeader",
|
|
6491
|
-
componentId: "sc-16v5afu-
|
|
6495
|
+
componentId: "sc-16v5afu-2"
|
|
6492
6496
|
})(["height:28px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;color:var(--color-theme-900);margin:6px 0;*{margin:auto 0;}"]);
|
|
6493
6497
|
StyledOptionGroupHeader.displayName = "StyledOptionGroupHeader";
|
|
6494
6498
|
var StyledOptionGroupOption = styled__default["default"].div.withConfig({
|
|
6495
6499
|
displayName: "Styles__StyledOptionGroupOption",
|
|
6496
|
-
componentId: "sc-16v5afu-
|
|
6500
|
+
componentId: "sc-16v5afu-3"
|
|
6497
6501
|
})(["", ""], function (props) {
|
|
6498
6502
|
return props.hover && styled.css(["background-color:var(--color-theme-200);"]);
|
|
6499
6503
|
});
|
|
@@ -6555,9 +6559,9 @@
|
|
|
6555
6559
|
}
|
|
6556
6560
|
}
|
|
6557
6561
|
}, [allOptionValues, checked, isAllOptionsChecked, onChange]);
|
|
6558
|
-
return /*#__PURE__*/React__default["default"].createElement(
|
|
6562
|
+
return /*#__PURE__*/React__default["default"].createElement(StyledOptionGroupLi, {
|
|
6559
6563
|
key: id,
|
|
6560
|
-
className: classNames__default["default"]("c-option-group
|
|
6564
|
+
className: classNames__default["default"]("c-option-group", optionGroupClassName)
|
|
6561
6565
|
}, /*#__PURE__*/React__default["default"].createElement(StyledOptionGroup, {
|
|
6562
6566
|
key: id
|
|
6563
6567
|
}, /*#__PURE__*/React__default["default"].createElement(StyledOptionGroupOption, {
|