@activecollab/components 1.0.296 → 1.0.297

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.
@@ -81,7 +81,9 @@ var OptionGroup = function OptionGroup(_ref) {
81
81
  }, /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionGroupOption, {
82
82
  onMouseEnter: handleHover,
83
83
  hover: hover === id && type === "multiple"
84
- }, /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionGroupHeader, null, name, type === "multiple" && /*#__PURE__*/_react.default.createElement(_Checkbox.Checkbox, {
84
+ }, /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionGroupHeader, null, /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionGroupHeaderName, {
85
+ weight: "bold"
86
+ }, name), type === "multiple" && /*#__PURE__*/_react.default.createElement(_Checkbox.Checkbox, {
85
87
  id: "".concat(id),
86
88
  checked: isAllOptionsChecked,
87
89
  onChange: handleClick,
@@ -1 +1 @@
1
- {"version":3,"file":"OptionGroup.js","names":["OptionGroup","id","name","options","type","hover","filter","checked","onChange","setHover","renderOptions","optionGroupClassName","list","useMemo","v","toLowerCase","includes","trim","useEffect","document","getElementById","focus","isAllOptionsChecked","every","option","handleHover","useCallback","undefined","allOptionValues","map","handleClick","e","stopPropagation","i","values","unique","item","pos","indexOf","classNames","index","displayName"],"sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"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"],"mappings":"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"}
1
+ {"version":3,"file":"OptionGroup.js","names":["OptionGroup","id","name","options","type","hover","filter","checked","onChange","setHover","renderOptions","optionGroupClassName","list","useMemo","v","toLowerCase","includes","trim","useEffect","document","getElementById","focus","isAllOptionsChecked","every","option","handleHover","useCallback","undefined","allOptionValues","map","handleClick","e","stopPropagation","i","values","unique","item","pos","indexOf","classNames","index","displayName"],"sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"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 StyledOptionGroupHeaderName,\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 <StyledOptionGroupHeaderName weight=\"bold\">\n {name}\n </StyledOptionGroupHeaderName>\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"],"mappings":"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"}
@@ -4,10 +4,11 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.StyledOptionGroupOption = exports.StyledOptionGroupLi = exports.StyledOptionGroupHeader = exports.StyledOptionGroup = void 0;
7
+ exports.StyledOptionGroupOption = exports.StyledOptionGroupLi = exports.StyledOptionGroupHeaderName = exports.StyledOptionGroupHeader = exports.StyledOptionGroup = void 0;
8
8
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
9
  var _BoxSizingStyle = require("../../BoxSizingStyle");
10
10
  var _FontStyle = require("../../FontStyle");
11
+ var _Typography = require("../../Typography");
11
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
13
  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; }
13
14
  var StyledOptionGroupLi = _styledComponents.default.li.withConfig({
@@ -23,15 +24,21 @@ var StyledOptionGroup = _styledComponents.default.div.withConfig({
23
24
  }, _FontStyle.FontStyle, _BoxSizingStyle.BoxSizingStyle);
24
25
  exports.StyledOptionGroup = StyledOptionGroup;
25
26
  StyledOptionGroup.displayName = "StyledOptionGroup";
26
- var StyledOptionGroupHeader = _styledComponents.default.h3.withConfig({
27
+ var StyledOptionGroupHeader = _styledComponents.default.div.withConfig({
27
28
  displayName: "Styles__StyledOptionGroupHeader",
28
29
  componentId: "sc-16v5afu-2"
29
- })(["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;}"]);
30
+ })(["height:28px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;margin:6px 0;*{margin:auto 0;}"]);
30
31
  exports.StyledOptionGroupHeader = StyledOptionGroupHeader;
31
32
  StyledOptionGroupHeader.displayName = "StyledOptionGroupHeader";
33
+ var StyledOptionGroupHeaderName = (0, _styledComponents.default)(_Typography.Body2).withConfig({
34
+ displayName: "Styles__StyledOptionGroupHeaderName",
35
+ componentId: "sc-16v5afu-3"
36
+ })(["padding-right:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"]);
37
+ exports.StyledOptionGroupHeaderName = StyledOptionGroupHeaderName;
38
+ StyledOptionGroupHeaderName.displayName = "StyledOptionGroupHeaderName";
32
39
  var StyledOptionGroupOption = _styledComponents.default.div.withConfig({
33
40
  displayName: "Styles__StyledOptionGroupOption",
34
- componentId: "sc-16v5afu-3"
41
+ componentId: "sc-16v5afu-4"
35
42
  })(["", ""], function (props) {
36
43
  return props.hover && (0, _styledComponents.css)(["background-color:var(--color-theme-200);"]);
37
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["StyledOptionGroupLi","styled","li","StyledOptionGroup","div","FontStyle","BoxSizingStyle","displayName","StyledOptionGroupHeader","h3","StyledOptionGroupOption","props","hover","css"],"sources":["../../../../../src/components/Select/OptionGroup/Styles.ts"],"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"],"mappings":";;;;;;;AAAA;AAEA;AACA;AAA4C;AAAA;AAErC,IAAMA,mBAAmB,GAAGC,yBAAM,CAACC,EAAE;EAAA;EAAA;AAAA,8BAE3C;AAAC;AACK,IAAMC,iBAAiB,GAAGF,yBAAM,CAACG,GAAG;EAAA;EAAA;AAAA,uBACrC;EAAA;AAAe,CAAC,EAClBC,oBAAS,EACTC,8BAAc,CACjB;AAAC;AAEFH,iBAAiB,CAACI,WAAW,GAAG,mBAAmB;AAE5C,IAAMC,uBAAuB,GAAGP,yBAAM,CAACQ,EAAE;EAAA;EAAA;AAAA,4JAW/C;AAAC;AAEFD,uBAAuB,CAACD,WAAW,GAAG,yBAAyB;AAExD,IAAMG,uBAAuB,GAAGT,yBAAM,CAACG,GAAG;EAAA;EAAA;AAAA,aAC7C,UAACO,KAAK;EAAA,OACNA,KAAK,CAACC,KAAK,QACXC,qBAAG,+CAEF;AAAA,EACJ;AAAC;AAEFH,uBAAuB,CAACH,WAAW,GAAG,yBAAyB"}
1
+ {"version":3,"file":"Styles.js","names":["StyledOptionGroupLi","styled","li","StyledOptionGroup","div","FontStyle","BoxSizingStyle","displayName","StyledOptionGroupHeader","StyledOptionGroupHeaderName","Body2","StyledOptionGroupOption","props","hover","css"],"sources":["../../../../../src/components/Select/OptionGroup/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\nimport { FontStyle } from \"../../FontStyle\";\nimport { Body2 } from \"../../Typography\";\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.div`\n height: 28px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 16px;\n margin: 6px 0;\n * {\n margin: auto 0;\n }\n`;\n\nStyledOptionGroupHeader.displayName = \"StyledOptionGroupHeader\";\n\nexport const StyledOptionGroupHeaderName = styled(Body2)`\n padding-right: 10px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nStyledOptionGroupHeaderName.displayName = \"StyledOptionGroupHeaderName\";\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"],"mappings":";;;;;;;AAAA;AAEA;AACA;AACA;AAAyC;AAAA;AAElC,IAAMA,mBAAmB,GAAGC,yBAAM,CAACC,EAAE;EAAA;EAAA;AAAA,8BAE3C;AAAC;AACK,IAAMC,iBAAiB,GAAGF,yBAAM,CAACG,GAAG;EAAA;EAAA;AAAA,uBACrC;EAAA;AAAe,CAAC,EAClBC,oBAAS,EACTC,8BAAc,CACjB;AAAC;AAEFH,iBAAiB,CAACI,WAAW,GAAG,mBAAmB;AAE5C,IAAMC,uBAAuB,GAAGP,yBAAM,CAACG,GAAG;EAAA;EAAA;AAAA,+HAUhD;AAAC;AAEFI,uBAAuB,CAACD,WAAW,GAAG,yBAAyB;AAExD,IAAME,2BAA2B,GAAG,IAAAR,yBAAM,EAACS,iBAAK,CAAC;EAAA;EAAA;AAAA,qFAKvD;AAAC;AAEFD,2BAA2B,CAACF,WAAW,GAAG,6BAA6B;AAEhE,IAAMI,uBAAuB,GAAGV,yBAAM,CAACG,GAAG;EAAA;EAAA;AAAA,aAC7C,UAACQ,KAAK;EAAA,OACNA,KAAK,CAACC,KAAK,QACXC,qBAAG,+CAEF;AAAA,EACJ;AAAC;AAEFH,uBAAuB,CAACJ,WAAW,GAAG,yBAAyB"}
@@ -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;AAUpD,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,yBAAyB;IACzB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,UAAU,2BAA2B;IACnC,sCAAsC;IACtC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC7B,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC5C,mCAAmC;IACnC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD,sBAAsB;IACtB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,uCAAuC;IACvC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,WAAW,EAAE,EAAE,CAC1B,iBAAiB,GAAG,2BAA2B,CAkGhD,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;AAWpD,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,yBAAyB;IACzB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,UAAU,2BAA2B;IACnC,sCAAsC;IACtC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC7B,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC5C,mCAAmC;IACnC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD,sBAAsB;IACtB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,uCAAuC;IACvC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,WAAW,EAAE,EAAE,CAC1B,iBAAiB,GAAG,2BAA2B,CAoGhD,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, StyledOptionGroupLi } from "./Styles";
4
+ import { StyledOptionGroup, StyledOptionGroupHeader, StyledOptionGroupOption, StyledOptionGroupLi, StyledOptionGroupHeaderName } from "./Styles";
5
5
  import { List } from "../../List";
6
6
  export var OptionGroup = function OptionGroup(_ref) {
7
7
  var id = _ref.id,
@@ -65,7 +65,9 @@ export var OptionGroup = function OptionGroup(_ref) {
65
65
  }, /*#__PURE__*/React.createElement(StyledOptionGroupOption, {
66
66
  onMouseEnter: handleHover,
67
67
  hover: hover === id && type === "multiple"
68
- }, /*#__PURE__*/React.createElement(StyledOptionGroupHeader, null, name, type === "multiple" && /*#__PURE__*/React.createElement(Checkbox, {
68
+ }, /*#__PURE__*/React.createElement(StyledOptionGroupHeader, null, /*#__PURE__*/React.createElement(StyledOptionGroupHeaderName, {
69
+ weight: "bold"
70
+ }, name), type === "multiple" && /*#__PURE__*/React.createElement(Checkbox, {
69
71
  id: "" + id,
70
72
  checked: isAllOptionsChecked,
71
73
  onChange: handleClick,
@@ -1 +1 @@
1
- {"version":3,"file":"OptionGroup.js","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"],"sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"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"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,OAAO,QAAY,OAAO;AAClE,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAASC,QAAQ,QAAQ,yBAAyB;AAClD,SACEC,iBAAiB,EACjBC,uBAAuB,EACvBC,uBAAuB,EACvBC,mBAAmB,QACd,UAAU;AACjB,SAASC,IAAI,QAAQ,YAAY;AA0BjC,OAAO,IAAMC,WAEZ,GAAG,SAFSA,WAEZ,OAYK;EAAA,IAXJC,EAAE,QAAFA,EAAE;IACFC,IAAI,QAAJA,IAAI;IACJC,OAAO,QAAPA,OAAO;IACPC,IAAI,QAAJA,IAAI;IACJC,KAAK,QAALA,KAAK;IACLC,MAAM,QAANA,MAAM;IACNC,OAAO,QAAPA,OAAO;IACPC,QAAQ,QAARA,QAAQ;IACRC,QAAQ,QAARA,QAAQ;IACRC,aAAa,QAAbA,aAAa;IACbC,oBAAoB,QAApBA,oBAAoB;EAEpB,IAAMC,IAAI,GAAGpB,OAAO,CAClB;IAAA,OACEc,MAAM,GACFH,OAAO,CAACG,MAAM,CAAC,UAACO,CAAC;MAAA,OACfA,CAAC,CAACX,IAAI,CAACY,WAAW,EAAE,CAACC,QAAQ,CAACT,MAAM,CAACU,IAAI,EAAE,CAACF,WAAW,EAAE,CAAC;IAAA,EAC3D,GACDX,OAAO;EAAA,GACb,CAACG,MAAM,EAAEH,OAAO,CAAC,CAClB;EAEDZ,SAAS,CAAC,YAAM;IACd,IAAIc,KAAK,KAAKJ,EAAE,IAAIG,IAAI,KAAK,QAAQ,EAAE;MAAA;MACrC,yBAAAa,QAAQ,CAACC,cAAc,MAAIjB,EAAE,CAAG,qBAAhC,sBAAkCkB,KAAK,EAAE;IAC3C;EACF,CAAC,EAAE,CAACd,KAAK,EAAED,IAAI,EAAEH,EAAE,CAAC,CAAC;EAErB,IAAMmB,mBAAmB,GAAG5B,OAAO,CACjC;IAAA,OAAMW,OAAO,CAACkB,KAAK,CAAC,UAACC,MAAM;MAAA,OAAKf,OAAO,CAACQ,QAAQ,CAACO,MAAM,CAACrB,EAAE,CAAC;IAAA,EAAC;EAAA,GAC5D,CAACE,OAAO,EAAEI,OAAO,CAAC,CACnB;EAED,IAAMgB,WAAW,GAAGjC,WAAW,CAAC,YAAM;IACpC,IAAImB,QAAQ,EAAE;MACZA,QAAQ,CAACL,IAAI,KAAK,QAAQ,GAAGoB,SAAS,GAAGvB,EAAE,CAAC;IAC9C;EACF,CAAC,EAAE,CAACQ,QAAQ,EAAEL,IAAI,EAAEH,EAAE,CAAC,CAAC;EAExB,IAAMwB,eAAe,GAAGjC,OAAO,CAC7B;IAAA,OAAMW,OAAO,CAACuB,GAAG,CAAC,UAACJ,MAAM;MAAA,OAAKA,MAAM,CAACrB,EAAE;IAAA,EAAC;EAAA,GACxC,CAACE,OAAO,CAAC,CACV;EAED,IAAMwB,WAAW,GAAGrC,WAAW,CAC7B,UAACsC,CAAC,EAAK;IACLA,CAAC,CAACC,eAAe,EAAE;IACnB,IAAIrB,QAAQ,EAAE;MACZ,IAAIY,mBAAmB,EAAE;QACvBZ,QAAQ,CACND,OAAO,CAACD,MAAM,CAAC,UAACwB,CAAC;UAAA,OAAKL,eAAe,CAACV,QAAQ,CAACe,CAAC,CAAC,KAAK,KAAK;QAAA,EAAC,CAC7D;MACH,CAAC,MAAM;QACL,IAAMC,MAAM,aAAOxB,OAAO,EAAKkB,eAAe,CAAC;QAC/C,IAAMO,MAAM,GAAGD,MAAM,CAACzB,MAAM,CAAC,UAAC2B,IAAI,EAAEC,GAAG,EAAK;UAC1C,OAAOH,MAAM,CAACI,OAAO,CAACF,IAAI,CAAC,KAAKC,GAAG;QACrC,CAAC,CAAC;QACF1B,QAAQ,CAACwB,MAAM,CAAC;MAClB;IACF;EACF,CAAC,EACD,CAACP,eAAe,EAAElB,OAAO,EAAEa,mBAAmB,EAAEZ,QAAQ,CAAC,CAC1D;EAED,oBACE,oBAAC,mBAAmB;IAClB,GAAG,EAAEP,EAAG;IACR,SAAS,EAAER,UAAU,CAAC,gBAAgB,EAAEkB,oBAAoB;EAAE,gBAE9D,oBAAC,iBAAiB;IAAC,GAAG,EAAEV;EAAG,gBACzB,oBAAC,uBAAuB;IACtB,YAAY,EAAEsB,WAAY;IAC1B,KAAK,EAAElB,KAAK,KAAKJ,EAAE,IAAIG,IAAI,KAAK;EAAW,gBAE3C,oBAAC,uBAAuB,QACrBF,IAAI,EACJE,IAAI,KAAK,UAAU,iBAClB,oBAAC,QAAQ;IACP,EAAE,OAAKH,EAAK;IACZ,OAAO,EAAEmB,mBAAoB;IAC7B,QAAQ,EAAEO,WAAY;IACtB,IAAI,EAAC;EAAU,EAElB,CACuB,CACF,eAC1B,oBAAC,IAAI,QACFf,IAAI,CAACc,GAAG,CAAC,UAACO,IAAsB,EAAEG,KAAK,EAAK;IAC3C,OAAO,OAAO1B,aAAa,KAAK,UAAU,GACtCA,aAAa,CAACuB,IAAI,EAAEG,KAAK,CAAC,GAC1BH,IAAI,CAAC/B,IAAI;EACf,CAAC,CAAC,CACG,CACW,CACA;AAE1B,CAAC;AAEDF,WAAW,CAACqC,WAAW,GAAG,aAAa"}
1
+ {"version":3,"file":"OptionGroup.js","names":["React","useCallback","useEffect","useMemo","classNames","Checkbox","StyledOptionGroup","StyledOptionGroupHeader","StyledOptionGroupOption","StyledOptionGroupLi","StyledOptionGroupHeaderName","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"],"sources":["../../../../../src/components/Select/OptionGroup/OptionGroup.tsx"],"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 StyledOptionGroupHeaderName,\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 <StyledOptionGroupHeaderName weight=\"bold\">\n {name}\n </StyledOptionGroupHeaderName>\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"],"mappings":"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"}
@@ -1,6 +1,8 @@
1
+ /// <reference types="react" />
1
2
  export declare const StyledOptionGroupLi: import("styled-components").StyledComponent<"li", any, {}, never>;
2
3
  export declare const StyledOptionGroup: import("styled-components").StyledComponent<"div", any, {}, never>;
3
- export declare const StyledOptionGroupHeader: import("styled-components").StyledComponent<"h3", any, {}, never>;
4
+ export declare const StyledOptionGroupHeader: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export declare const StyledOptionGroupHeaderName: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../../Typography").IBodyProps & Omit<import("../../Typography/Typography").ITypographyProps, "variant" | "weight"> & import("react").RefAttributes<HTMLDivElement>>, any, {}, never>;
4
6
  export declare const StyledOptionGroupOption: import("styled-components").StyledComponent<"div", any, {
5
7
  hover?: boolean | undefined;
6
8
  }, never>;
@@ -1 +1 @@
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
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Select/OptionGroup/Styles.ts"],"names":[],"mappings":";AAMA,eAAO,MAAM,mBAAmB,mEAE/B,CAAC;AACF,eAAO,MAAM,iBAAiB,oEAI7B,CAAC;AAIF,eAAO,MAAM,uBAAuB,oEAUnC,CAAC;AAIF,eAAO,MAAM,2BAA2B,oRAKvC,CAAC;AAIF,eAAO,MAAM,uBAAuB;;SAMnC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import styled, { css } from "styled-components";
2
2
  import { BoxSizingStyle } from "../../BoxSizingStyle";
3
3
  import { FontStyle } from "../../FontStyle";
4
+ import { Body2 } from "../../Typography";
4
5
  export var StyledOptionGroupLi = styled.li.withConfig({
5
6
  displayName: "Styles__StyledOptionGroupLi",
6
7
  componentId: "sc-16v5afu-0"
@@ -12,14 +13,19 @@ export var StyledOptionGroup = styled.div.withConfig({
12
13
  "userSelect": "none"
13
14
  }, FontStyle, BoxSizingStyle);
14
15
  StyledOptionGroup.displayName = "StyledOptionGroup";
15
- export var StyledOptionGroupHeader = styled.h3.withConfig({
16
+ export var StyledOptionGroupHeader = styled.div.withConfig({
16
17
  displayName: "Styles__StyledOptionGroupHeader",
17
18
  componentId: "sc-16v5afu-2"
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;}"]);
19
+ })(["height:28px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;margin:6px 0;*{margin:auto 0;}"]);
19
20
  StyledOptionGroupHeader.displayName = "StyledOptionGroupHeader";
21
+ export var StyledOptionGroupHeaderName = styled(Body2).withConfig({
22
+ displayName: "Styles__StyledOptionGroupHeaderName",
23
+ componentId: "sc-16v5afu-3"
24
+ })(["padding-right:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"]);
25
+ StyledOptionGroupHeaderName.displayName = "StyledOptionGroupHeaderName";
20
26
  export var StyledOptionGroupOption = styled.div.withConfig({
21
27
  displayName: "Styles__StyledOptionGroupOption",
22
- componentId: "sc-16v5afu-3"
28
+ componentId: "sc-16v5afu-4"
23
29
  })(["", ""], function (props) {
24
30
  return props.hover && css(["background-color:var(--color-theme-200);"]);
25
31
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["styled","css","BoxSizingStyle","FontStyle","StyledOptionGroupLi","li","StyledOptionGroup","div","displayName","StyledOptionGroupHeader","h3","StyledOptionGroupOption","props","hover"],"sources":["../../../../../src/components/Select/OptionGroup/Styles.ts"],"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"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAE/C,SAASC,cAAc,QAAQ,sBAAsB;AACrD,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,OAAO,IAAMC,mBAAmB,GAAGJ,MAAM,CAACK,EAAE;EAAA;EAAA;AAAA,8BAE3C;AACD,OAAO,IAAMC,iBAAiB,GAAGN,MAAM,CAACO,GAAG;EAAA;EAAA;AAAA,uBACrC;EAAA;AAAe,CAAC,EAClBJ,SAAS,EACTD,cAAc,CACjB;AAEDI,iBAAiB,CAACE,WAAW,GAAG,mBAAmB;AAEnD,OAAO,IAAMC,uBAAuB,GAAGT,MAAM,CAACU,EAAE;EAAA;EAAA;AAAA,4JAW/C;AAEDD,uBAAuB,CAACD,WAAW,GAAG,yBAAyB;AAE/D,OAAO,IAAMG,uBAAuB,GAAGX,MAAM,CAACO,GAAG;EAAA;EAAA;AAAA,aAC7C,UAACK,KAAK;EAAA,OACNA,KAAK,CAACC,KAAK,IACXZ,GAAG,8CAEF;AAAA,EACJ;AAEDU,uBAAuB,CAACH,WAAW,GAAG,yBAAyB"}
1
+ {"version":3,"file":"Styles.js","names":["styled","css","BoxSizingStyle","FontStyle","Body2","StyledOptionGroupLi","li","StyledOptionGroup","div","displayName","StyledOptionGroupHeader","StyledOptionGroupHeaderName","StyledOptionGroupOption","props","hover"],"sources":["../../../../../src/components/Select/OptionGroup/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../../BoxSizingStyle\";\nimport { FontStyle } from \"../../FontStyle\";\nimport { Body2 } from \"../../Typography\";\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.div`\n height: 28px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 16px;\n margin: 6px 0;\n * {\n margin: auto 0;\n }\n`;\n\nStyledOptionGroupHeader.displayName = \"StyledOptionGroupHeader\";\n\nexport const StyledOptionGroupHeaderName = styled(Body2)`\n padding-right: 10px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nStyledOptionGroupHeaderName.displayName = \"StyledOptionGroupHeaderName\";\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"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAE/C,SAASC,cAAc,QAAQ,sBAAsB;AACrD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,QAAQ,kBAAkB;AAExC,OAAO,IAAMC,mBAAmB,GAAGL,MAAM,CAACM,EAAE;EAAA;EAAA;AAAA,8BAE3C;AACD,OAAO,IAAMC,iBAAiB,GAAGP,MAAM,CAACQ,GAAG;EAAA;EAAA;AAAA,uBACrC;EAAA;AAAe,CAAC,EAClBL,SAAS,EACTD,cAAc,CACjB;AAEDK,iBAAiB,CAACE,WAAW,GAAG,mBAAmB;AAEnD,OAAO,IAAMC,uBAAuB,GAAGV,MAAM,CAACQ,GAAG;EAAA;EAAA;AAAA,+HAUhD;AAEDE,uBAAuB,CAACD,WAAW,GAAG,yBAAyB;AAE/D,OAAO,IAAME,2BAA2B,GAAGX,MAAM,CAACI,KAAK,CAAC;EAAA;EAAA;AAAA,qFAKvD;AAEDO,2BAA2B,CAACF,WAAW,GAAG,6BAA6B;AAEvE,OAAO,IAAMG,uBAAuB,GAAGZ,MAAM,CAACQ,GAAG;EAAA;EAAA;AAAA,aAC7C,UAACK,KAAK;EAAA,OACNA,KAAK,CAACC,KAAK,IACXb,GAAG,8CAEF;AAAA,EACJ;AAEDW,uBAAuB,CAACH,WAAW,GAAG,yBAAyB"}
package/dist/index.js CHANGED
@@ -9955,14 +9955,19 @@
9955
9955
  "userSelect": "none"
9956
9956
  }, FontStyle, BoxSizingStyle);
9957
9957
  StyledOptionGroup.displayName = "StyledOptionGroup";
9958
- var StyledOptionGroupHeader = styled__default["default"].h3.withConfig({
9958
+ var StyledOptionGroupHeader = styled__default["default"].div.withConfig({
9959
9959
  displayName: "Styles__StyledOptionGroupHeader",
9960
9960
  componentId: "sc-16v5afu-2"
9961
- })(["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;}"]);
9961
+ })(["height:28px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;margin:6px 0;*{margin:auto 0;}"]);
9962
9962
  StyledOptionGroupHeader.displayName = "StyledOptionGroupHeader";
9963
+ var StyledOptionGroupHeaderName = styled__default["default"](Body2).withConfig({
9964
+ displayName: "Styles__StyledOptionGroupHeaderName",
9965
+ componentId: "sc-16v5afu-3"
9966
+ })(["padding-right:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"]);
9967
+ StyledOptionGroupHeaderName.displayName = "StyledOptionGroupHeaderName";
9963
9968
  var StyledOptionGroupOption = styled__default["default"].div.withConfig({
9964
9969
  displayName: "Styles__StyledOptionGroupOption",
9965
- componentId: "sc-16v5afu-3"
9970
+ componentId: "sc-16v5afu-4"
9966
9971
  })(["", ""], function (props) {
9967
9972
  return props.hover && styled.css(["background-color:var(--color-theme-200);"]);
9968
9973
  });
@@ -10030,7 +10035,9 @@
10030
10035
  }, /*#__PURE__*/React__default["default"].createElement(StyledOptionGroupOption, {
10031
10036
  onMouseEnter: handleHover,
10032
10037
  hover: hover === id && type === "multiple"
10033
- }, /*#__PURE__*/React__default["default"].createElement(StyledOptionGroupHeader, null, name, type === "multiple" && /*#__PURE__*/React__default["default"].createElement(Checkbox, {
10038
+ }, /*#__PURE__*/React__default["default"].createElement(StyledOptionGroupHeader, null, /*#__PURE__*/React__default["default"].createElement(StyledOptionGroupHeaderName, {
10039
+ weight: "bold"
10040
+ }, name), type === "multiple" && /*#__PURE__*/React__default["default"].createElement(Checkbox, {
10034
10041
  id: "".concat(id),
10035
10042
  checked: isAllOptionsChecked,
10036
10043
  onChange: handleClick,