@activecollab/components 1.0.180 → 1.0.182
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/Chip/Chip.js +18 -6
- package/dist/cjs/components/Chip/Chip.js.map +1 -1
- package/dist/cjs/components/Chip/Styles.js +21 -2
- package/dist/cjs/components/Chip/Styles.js.map +1 -1
- package/dist/cjs/components/ComboBox/ComboBox.js +38 -16
- package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/cjs/components/Entity/EntityCard.js +6 -1
- package/dist/cjs/components/Entity/EntityCard.js.map +1 -1
- package/dist/cjs/components/Entity/EntityProperty.js +2 -1
- package/dist/cjs/components/Entity/EntityProperty.js.map +1 -1
- package/dist/cjs/components/Entity/Styles.js +1 -1
- package/dist/cjs/components/Entity/Styles.js.map +1 -1
- package/dist/cjs/components/Select/OptionContent/Styles.js +3 -3
- package/dist/cjs/components/Select/OptionContent/Styles.js.map +1 -1
- package/dist/cjs/components/Wizard/Wizard.js +3 -3
- package/dist/cjs/components/Wizard/Wizard.js.map +1 -1
- package/dist/cjs/components/Wizard/{WizardContext.js → context/index.js} +1 -1
- package/dist/cjs/components/Wizard/context/index.js.map +1 -0
- package/dist/cjs/components/Wizard/index.js +14 -13
- package/dist/cjs/components/Wizard/index.js.map +1 -1
- package/dist/esm/components/Chip/Chip.d.ts +4 -0
- package/dist/esm/components/Chip/Chip.d.ts.map +1 -1
- package/dist/esm/components/Chip/Chip.js +18 -6
- package/dist/esm/components/Chip/Chip.js.map +1 -1
- package/dist/esm/components/Chip/Styles.d.ts +3 -0
- package/dist/esm/components/Chip/Styles.d.ts.map +1 -1
- package/dist/esm/components/Chip/Styles.js +20 -2
- package/dist/esm/components/Chip/Styles.js.map +1 -1
- package/dist/esm/components/ComboBox/ComboBox.d.ts +1 -0
- package/dist/esm/components/ComboBox/ComboBox.d.ts.map +1 -1
- package/dist/esm/components/ComboBox/ComboBox.js +38 -16
- package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/esm/components/Entity/EntityCard.d.ts.map +1 -1
- package/dist/esm/components/Entity/EntityCard.js +3 -1
- package/dist/esm/components/Entity/EntityCard.js.map +1 -1
- package/dist/esm/components/Entity/EntityProperty.d.ts.map +1 -1
- package/dist/esm/components/Entity/EntityProperty.js +2 -1
- package/dist/esm/components/Entity/EntityProperty.js.map +1 -1
- package/dist/esm/components/Entity/Styles.js +1 -1
- package/dist/esm/components/Entity/Styles.js.map +1 -1
- package/dist/esm/components/Select/OptionContent/Styles.d.ts +2 -1
- package/dist/esm/components/Select/OptionContent/Styles.d.ts.map +1 -1
- package/dist/esm/components/Select/OptionContent/Styles.js +2 -1
- package/dist/esm/components/Select/OptionContent/Styles.js.map +1 -1
- package/dist/esm/components/Wizard/Wizard.js +1 -1
- package/dist/esm/components/Wizard/Wizard.js.map +1 -1
- package/dist/esm/components/Wizard/{WizardContext.d.ts → context/index.d.ts} +1 -1
- package/dist/esm/components/Wizard/context/index.d.ts.map +1 -0
- package/dist/esm/components/Wizard/{WizardContext.js → context/index.js} +1 -1
- package/dist/esm/components/Wizard/context/index.js.map +1 -0
- package/dist/esm/components/Wizard/index.d.ts +2 -1
- package/dist/esm/components/Wizard/index.d.ts.map +1 -1
- package/dist/esm/components/Wizard/index.js +2 -1
- package/dist/esm/components/Wizard/index.js.map +1 -1
- package/dist/index.js +88 -37
- 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
- package/dist/cjs/components/Wizard/WizardContext.js.map +0 -1
- package/dist/esm/components/Wizard/WizardContext.d.ts.map +0 -1
- package/dist/esm/components/Wizard/WizardContext.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Wizard/Wizard.tsx"],"names":["Wizard","ref","title","open","onClose","children","childrenCollection","React","Children","toArray","activeStep","setActiveStep","changingStepInProgress","setChangingStepInProgress","onNextButtonClick","onPreviousButtonClick","renderActiveStep","element","type","Step","cloneElement","index","isLast","length","close","displayName"],"mappings":";;;;;;;;;AAAA;;AASA;;AACA;;AACA;;;;;;;;;;;;;;;;;;AASO,IAAMA,MAAM,gBAAG,uBACpB,gBAAqCC,GAArC,EAA6C;AAAA,MAA1CC,KAA0C,QAA1CA,KAA0C;AAAA,MAAnCC,IAAmC,QAAnCA,IAAmC;AAAA,MAA7BC,OAA6B,QAA7BA,OAA6B;AAAA,MAApBC,QAAoB,QAApBA,QAAoB;AAC3C,MAAMC,kBAAkB,GAAG,oBACzB;AAAA,WAAMC,eAAMC,QAAN,CAAeC,OAAf,CAAuBJ,QAAvB,CAAN;AAAA,GADyB,EAEzB,CAACA,QAAD,CAFyB,CAA3B;;AAKA,kBAAoC,qBAAS,CAAT,CAApC;AAAA;AAAA,MAAOK,UAAP;AAAA,MAAmBC,aAAnB;;AACA,mBAA4D,qBAAS,KAAT,CAA5D;AAAA;AAAA,MAAOC,sBAAP;AAAA,MAA+BC,yBAA/B;;AAEA,wBAAU,YAAM;AACd,QAAIV,IAAJ,EAAU;AACRQ,MAAAA,aAAa,CAAC,CAAD,CAAb;AACD;AACF,GAJD,EAIG,CAACR,IAAD,CAJH;AAMA,MAAMW,iBAAiB,GAAG,wBAAY,YAAM;AAC1CH,IAAAA,aAAa,CAACD,UAAU,GAAG,CAAd,CAAb;AACD,GAFyB,EAEvB,CAACA,UAAD,CAFuB,CAA1B;AAIA,MAAMK,qBAAqB,GAAG,wBAAY,YAAM;AAC9CJ,IAAAA,aAAa,CAACD,UAAU,GAAG,CAAd,CAAb;AACD,GAF6B,EAE3B,CAACA,UAAD,CAF2B,CAA9B;AAIA,MAAMM,gBAAgB,GAAG,oBAAQ,YAAM;AACrC,QAAMC,OAAO,GAAGX,kBAAkB,CAACI,UAAD,CAAlC;;AAEA,QAAI,CAAAO,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEC,IAAT,MAAkBC,UAAtB,EAA4B;AAC1B,0BAAOZ,eAAMa,YAAN,CAAmBH,OAAnB,EAA4B;AACjCI,QAAAA,KAAK,EAAEX,UAD0B;AAEjCY,QAAAA,MAAM,EAAEhB,kBAAkB,CAACiB,MAAnB,GAA4B,CAA5B,KAAkCb,UAFT;AAGjCR,QAAAA,KAAK,EAAEA,KAH0B;AAIjCY,QAAAA,iBAAiB,EAAEA,iBAJc;AAKjCC,QAAAA,qBAAqB,EAAEA,qBALU;AAMjCX,QAAAA,OAAO,EAAPA,OANiC;AAOjCQ,QAAAA,sBAAsB,EAAEA;AAPS,OAA5B,CAAP;AASD;;AAED,WAAO,IAAP;AACD,GAhBwB,EAgBtB,CACDF,UADC,EAEDE,sBAFC,EAGDN,kBAHC,EAIDF,OAJC,EAKDU,iBALC,EAMDC,qBANC,EAODb,KAPC,CAhBsB,CAAzB;AA0BA,sBACE,6BAAC,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Wizard/Wizard.tsx"],"names":["Wizard","ref","title","open","onClose","children","childrenCollection","React","Children","toArray","activeStep","setActiveStep","changingStepInProgress","setChangingStepInProgress","onNextButtonClick","onPreviousButtonClick","renderActiveStep","element","type","Step","cloneElement","index","isLast","length","close","displayName"],"mappings":";;;;;;;;;AAAA;;AASA;;AACA;;AACA;;;;;;;;;;;;;;;;;;AASO,IAAMA,MAAM,gBAAG,uBACpB,gBAAqCC,GAArC,EAA6C;AAAA,MAA1CC,KAA0C,QAA1CA,KAA0C;AAAA,MAAnCC,IAAmC,QAAnCA,IAAmC;AAAA,MAA7BC,OAA6B,QAA7BA,OAA6B;AAAA,MAApBC,QAAoB,QAApBA,QAAoB;AAC3C,MAAMC,kBAAkB,GAAG,oBACzB;AAAA,WAAMC,eAAMC,QAAN,CAAeC,OAAf,CAAuBJ,QAAvB,CAAN;AAAA,GADyB,EAEzB,CAACA,QAAD,CAFyB,CAA3B;;AAKA,kBAAoC,qBAAS,CAAT,CAApC;AAAA;AAAA,MAAOK,UAAP;AAAA,MAAmBC,aAAnB;;AACA,mBAA4D,qBAAS,KAAT,CAA5D;AAAA;AAAA,MAAOC,sBAAP;AAAA,MAA+BC,yBAA/B;;AAEA,wBAAU,YAAM;AACd,QAAIV,IAAJ,EAAU;AACRQ,MAAAA,aAAa,CAAC,CAAD,CAAb;AACD;AACF,GAJD,EAIG,CAACR,IAAD,CAJH;AAMA,MAAMW,iBAAiB,GAAG,wBAAY,YAAM;AAC1CH,IAAAA,aAAa,CAACD,UAAU,GAAG,CAAd,CAAb;AACD,GAFyB,EAEvB,CAACA,UAAD,CAFuB,CAA1B;AAIA,MAAMK,qBAAqB,GAAG,wBAAY,YAAM;AAC9CJ,IAAAA,aAAa,CAACD,UAAU,GAAG,CAAd,CAAb;AACD,GAF6B,EAE3B,CAACA,UAAD,CAF2B,CAA9B;AAIA,MAAMM,gBAAgB,GAAG,oBAAQ,YAAM;AACrC,QAAMC,OAAO,GAAGX,kBAAkB,CAACI,UAAD,CAAlC;;AAEA,QAAI,CAAAO,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEC,IAAT,MAAkBC,UAAtB,EAA4B;AAC1B,0BAAOZ,eAAMa,YAAN,CAAmBH,OAAnB,EAA4B;AACjCI,QAAAA,KAAK,EAAEX,UAD0B;AAEjCY,QAAAA,MAAM,EAAEhB,kBAAkB,CAACiB,MAAnB,GAA4B,CAA5B,KAAkCb,UAFT;AAGjCR,QAAAA,KAAK,EAAEA,KAH0B;AAIjCY,QAAAA,iBAAiB,EAAEA,iBAJc;AAKjCC,QAAAA,qBAAqB,EAAEA,qBALU;AAMjCX,QAAAA,OAAO,EAAPA,OANiC;AAOjCQ,QAAAA,sBAAsB,EAAEA;AAPS,OAA5B,CAAP;AASD;;AAED,WAAO,IAAP;AACD,GAhBwB,EAgBtB,CACDF,UADC,EAEDE,sBAFC,EAGDN,kBAHC,EAIDF,OAJC,EAKDU,iBALC,EAMDC,qBANC,EAODb,KAPC,CAhBsB,CAAzB;AA0BA,sBACE,6BAAC,8BAAD;AACE,IAAA,KAAK,EAAE;AACLQ,MAAAA,UAAU,EAAVA,UADK;AAELC,MAAAA,aAAa,EAAbA,aAFK;AAGLa,MAAAA,KAAK,EAAEpB,OAHF;AAILS,MAAAA,yBAAyB,EAAzBA;AAJK;AADT,kBAQE,6BAAC,cAAD;AAAQ,IAAA,GAAG,EAAEZ,GAAb;AAAkB,IAAA,IAAI,EAAEE,IAAxB;AAA8B,IAAA,OAAO,EAAEC;AAAvC,KACGY,gBADH,CARF,CADF;AAcD,CAhEmB,CAAf;;AAmEPhB,MAAM,CAACyB,WAAP,GAAqB,QAArB","sourcesContent":["import React, {\n forwardRef,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { Dialog } from \"../Dialog\";\nimport { WizardContextProvider } from \"./context\";\nimport { Step } from \"./Step\";\n\nexport interface IWizard {\n title: string;\n open: boolean;\n onClose: () => void;\n children: ReactNode;\n}\n\nexport const Wizard = forwardRef<HTMLDivElement, IWizard>(\n ({ title, open, onClose, children }, ref) => {\n const childrenCollection = useMemo(\n () => React.Children.toArray(children),\n [children]\n );\n\n const [activeStep, setActiveStep] = useState(0);\n const [changingStepInProgress, setChangingStepInProgress] = useState(false);\n\n useEffect(() => {\n if (open) {\n setActiveStep(0);\n }\n }, [open]);\n\n const onNextButtonClick = useCallback(() => {\n setActiveStep(activeStep + 1);\n }, [activeStep]);\n\n const onPreviousButtonClick = useCallback(() => {\n setActiveStep(activeStep - 1);\n }, [activeStep]);\n\n const renderActiveStep = useMemo(() => {\n const element = childrenCollection[activeStep] as ReactElement;\n\n if (element?.type === Step) {\n return React.cloneElement(element, {\n index: activeStep,\n isLast: childrenCollection.length - 1 === activeStep,\n title: title,\n onNextButtonClick: onNextButtonClick,\n onPreviousButtonClick: onPreviousButtonClick,\n onClose,\n changingStepInProgress: changingStepInProgress,\n });\n }\n\n return null;\n }, [\n activeStep,\n changingStepInProgress,\n childrenCollection,\n onClose,\n onNextButtonClick,\n onPreviousButtonClick,\n title,\n ]);\n\n return (\n <WizardContextProvider\n value={{\n activeStep,\n setActiveStep,\n close: onClose,\n setChangingStepInProgress,\n }}\n >\n <Dialog ref={ref} open={open} onClose={onClose}>\n {renderActiveStep}\n </Dialog>\n </WizardContextProvider>\n );\n }\n);\n\nWizard.displayName = \"Wizard\";\n"],"file":"Wizard.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Wizard/context/index.ts"],"names":["WizardContext","WizardContextProvider","Provider","WizardContextConsumer","Consumer","useWizardContext"],"mappings":";;;;;;;AAAA;;AASA,IAAMA,aAAa,gBAAG,0BAA8B,EAA9B,CAAtB;AAEO,IAAMC,qBAAqB,GAAGD,aAAa,CAACE,QAA5C;;AACA,IAAMC,qBAAqB,GAAGH,aAAa,CAACI,QAA5C;;;AAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB;AAAA,SAAsB,uBAAWL,aAAX,CAAtB;AAAA,CAAzB;;;eAEQA,a","sourcesContent":["import { createContext, useContext } from \"react\";\n\ninterface IWizardContext {\n activeStep?: number;\n setActiveStep?: (integer) => void;\n close?: () => void;\n setChangingStepInProgress?: (boolean) => void;\n}\n\nconst WizardContext = createContext<IWizardContext>({});\n\nexport const WizardContextProvider = WizardContext.Provider;\nexport const WizardContextConsumer = WizardContext.Consumer;\n\nexport const useWizardContext = (): IWizardContext => useContext(WizardContext);\n\nexport default WizardContext;\n"],"file":"index.js"}
|
|
@@ -3,11 +3,23 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
useWizardContext: true
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "useWizardContext", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function get() {
|
|
12
|
+
return _context.useWizardContext;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
var _context = require("./context");
|
|
6
17
|
|
|
7
18
|
var _Wizard = require("./Wizard");
|
|
8
19
|
|
|
9
20
|
Object.keys(_Wizard).forEach(function (key) {
|
|
10
21
|
if (key === "default" || key === "__esModule") return;
|
|
22
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
11
23
|
if (key in exports && exports[key] === _Wizard[key]) return;
|
|
12
24
|
Object.defineProperty(exports, key, {
|
|
13
25
|
enumerable: true,
|
|
@@ -17,23 +29,11 @@ Object.keys(_Wizard).forEach(function (key) {
|
|
|
17
29
|
});
|
|
18
30
|
});
|
|
19
31
|
|
|
20
|
-
var _WizardContext = require("./WizardContext");
|
|
21
|
-
|
|
22
|
-
Object.keys(_WizardContext).forEach(function (key) {
|
|
23
|
-
if (key === "default" || key === "__esModule") return;
|
|
24
|
-
if (key in exports && exports[key] === _WizardContext[key]) return;
|
|
25
|
-
Object.defineProperty(exports, key, {
|
|
26
|
-
enumerable: true,
|
|
27
|
-
get: function get() {
|
|
28
|
-
return _WizardContext[key];
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
|
|
33
32
|
var _Step = require("./Step");
|
|
34
33
|
|
|
35
34
|
Object.keys(_Step).forEach(function (key) {
|
|
36
35
|
if (key === "default" || key === "__esModule") return;
|
|
36
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
37
37
|
if (key in exports && exports[key] === _Step[key]) return;
|
|
38
38
|
Object.defineProperty(exports, key, {
|
|
39
39
|
enumerable: true,
|
|
@@ -47,6 +47,7 @@ var _StepActionButton = require("./StepActionButton");
|
|
|
47
47
|
|
|
48
48
|
Object.keys(_StepActionButton).forEach(function (key) {
|
|
49
49
|
if (key === "default" || key === "__esModule") return;
|
|
50
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
50
51
|
if (key in exports && exports[key] === _StepActionButton[key]) return;
|
|
51
52
|
Object.defineProperty(exports, key, {
|
|
52
53
|
enumerable: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Wizard/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Wizard/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;AAEA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["import { useWizardContext } from \"./context\";\n\nexport * from \"./Wizard\";\nexport * from \"./Step\";\nexport * from \"./StepActionButton\";\n\nexport { useWizardContext };\n"],"file":"index.js"}
|
|
@@ -5,6 +5,10 @@ export interface ChipProps {
|
|
|
5
5
|
onClose?: React.MouseEventHandler<HTMLButtonElement>;
|
|
6
6
|
leftAdornment?: ReactNode;
|
|
7
7
|
size?: InputSize;
|
|
8
|
+
color?: string;
|
|
9
|
+
backgroundColor?: string;
|
|
10
|
+
closeClassName?: string;
|
|
11
|
+
isLabel?: boolean;
|
|
8
12
|
}
|
|
9
13
|
export declare const Chip: React.ForwardRefExoticComponent<ChipProps & Omit<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "slot" | "style" | "title" | "key" | "css" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "cs" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "tw">, keyof ChipProps> & React.RefAttributes<HTMLDivElement>>;
|
|
10
14
|
//# sourceMappingURL=Chip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../../src/components/Chip/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACrD,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../../src/components/Chip/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACrD,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,IAAI,2sJA2DhB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
var _excluded = ["leftAdornment", "label", "onClose", "size"];
|
|
3
|
+
var _excluded = ["leftAdornment", "label", "onClose", "size", "color", "backgroundColor", "closeClassName", "isLabel"];
|
|
4
4
|
import React, { useMemo } from "react";
|
|
5
5
|
import { ChipCloseIcon, ChipContainer, ChipTrigger } from "./Styles";
|
|
6
6
|
import { Typography } from "../Typography/Typography";
|
|
@@ -10,10 +10,18 @@ export var Chip = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
10
10
|
onClose = _ref.onClose,
|
|
11
11
|
_ref$size = _ref.size,
|
|
12
12
|
size = _ref$size === void 0 ? "regular" : _ref$size,
|
|
13
|
+
color = _ref.color,
|
|
14
|
+
backgroundColor = _ref.backgroundColor,
|
|
15
|
+
closeClassName = _ref.closeClassName,
|
|
16
|
+
isLabel = _ref.isLabel,
|
|
13
17
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
14
18
|
|
|
15
19
|
var showClose = typeof onClose === "function";
|
|
16
20
|
var variant = useMemo(function () {
|
|
21
|
+
if (isLabel) {
|
|
22
|
+
return "Caption 2";
|
|
23
|
+
}
|
|
24
|
+
|
|
17
25
|
switch (size) {
|
|
18
26
|
case "regular":
|
|
19
27
|
return "Body 2";
|
|
@@ -24,20 +32,24 @@ export var Chip = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
24
32
|
default:
|
|
25
33
|
return "Caption 1";
|
|
26
34
|
}
|
|
27
|
-
}, [size]);
|
|
35
|
+
}, [isLabel, size]);
|
|
28
36
|
return /*#__PURE__*/React.createElement(ChipContainer, _extends({}, rest, {
|
|
29
37
|
ref: ref,
|
|
30
38
|
$size: size,
|
|
31
|
-
$showClose: showClose
|
|
39
|
+
$showClose: showClose,
|
|
40
|
+
$color: color,
|
|
41
|
+
$backgroundColor: backgroundColor,
|
|
42
|
+
$isLabel: isLabel,
|
|
43
|
+
"data-testid": "chip-container"
|
|
32
44
|
}), leftAdornment, /*#__PURE__*/React.createElement(Typography, {
|
|
33
45
|
variant: variant,
|
|
34
|
-
|
|
46
|
+
"data-testid": "chip-typography"
|
|
35
47
|
}, label), showClose ? /*#__PURE__*/React.createElement(ChipTrigger, {
|
|
36
48
|
$size: size,
|
|
37
49
|
onClick: onClose,
|
|
38
|
-
className:
|
|
50
|
+
className: closeClassName
|
|
39
51
|
}, /*#__PURE__*/React.createElement(ChipCloseIcon, {
|
|
40
|
-
fill: "currentColor"
|
|
52
|
+
fill: color ? color : "currentColor"
|
|
41
53
|
})) : null);
|
|
42
54
|
});
|
|
43
55
|
Chip.displayName = "Chip";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Chip/Chip.tsx"],"names":["React","useMemo","ChipCloseIcon","ChipContainer","ChipTrigger","Typography","Chip","forwardRef","ref","leftAdornment","label","onClose","size","rest","showClose","variant","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,IAA2BC,OAA3B,QAA0C,OAA1C;AACA,SAASC,aAAT,EAAwBC,aAAxB,EAAuCC,WAAvC,QAA0D,UAA1D;AAEA,SAASC,UAAT,QAA2B,0BAA3B;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Chip/Chip.tsx"],"names":["React","useMemo","ChipCloseIcon","ChipContainer","ChipTrigger","Typography","Chip","forwardRef","ref","leftAdornment","label","onClose","size","color","backgroundColor","closeClassName","isLabel","rest","showClose","variant","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,IAA2BC,OAA3B,QAA0C,OAA1C;AACA,SAASC,aAAT,EAAwBC,aAAxB,EAAuCC,WAAvC,QAA0D,UAA1D;AAEA,SAASC,UAAT,QAA2B,0BAA3B;AAaA,OAAO,IAAMC,IAAI,gBAAGN,KAAK,CAACO,UAAN,CAIlB,gBAYEC,GAZF,EAaK;AAAA,MAXDC,aAWC,QAXDA,aAWC;AAAA,MAVDC,KAUC,QAVDA,KAUC;AAAA,MATDC,OASC,QATDA,OASC;AAAA,uBARDC,IAQC;AAAA,MARDA,IAQC,0BARM,SAQN;AAAA,MAPDC,KAOC,QAPDA,KAOC;AAAA,MANDC,eAMC,QANDA,eAMC;AAAA,MALDC,cAKC,QALDA,cAKC;AAAA,MAJDC,OAIC,QAJDA,OAIC;AAAA,MAHEC,IAGF;;AACH,MAAMC,SAAS,GAAG,OAAOP,OAAP,KAAmB,UAArC;AACA,MAAMQ,OAAO,GAAGlB,OAAO,CAAC,YAAM;AAC5B,QAAIe,OAAJ,EAAa;AACX,aAAO,WAAP;AACD;;AACD,YAAQJ,IAAR;AACE,WAAK,SAAL;AACE,eAAO,QAAP;;AACF,WAAK,KAAL;AACE,eAAO,QAAP;;AACF;AACE,eAAO,WAAP;AANJ;AAQD,GAZsB,EAYpB,CAACI,OAAD,EAAUJ,IAAV,CAZoB,CAAvB;AAaA,sBACE,oBAAC,aAAD,eACMK,IADN;AAEE,IAAA,GAAG,EAAET,GAFP;AAGE,IAAA,KAAK,EAAEI,IAHT;AAIE,IAAA,UAAU,EAAEM,SAJd;AAKE,IAAA,MAAM,EAAEL,KALV;AAME,IAAA,gBAAgB,EAAEC,eANpB;AAOE,IAAA,QAAQ,EAAEE,OAPZ;AAQE,mBAAa;AARf,MAUGP,aAVH,eAWE,oBAAC,UAAD;AAAY,IAAA,OAAO,EAAEU,OAArB;AAA8B,mBAAa;AAA3C,KACGT,KADH,CAXF,EAcGQ,SAAS,gBACR,oBAAC,WAAD;AACE,IAAA,KAAK,EAAEN,IADT;AAEE,IAAA,OAAO,EAAED,OAFX;AAGE,IAAA,SAAS,EAAEI;AAHb,kBAKE,oBAAC,aAAD;AAAe,IAAA,IAAI,EAAEF,KAAK,GAAGA,KAAH,GAAW;AAArC,IALF,CADQ,GAQN,IAtBN,CADF;AA0BD,CA1DiB,CAAb;AA6DPP,IAAI,CAACc,WAAL,GAAmB,MAAnB","sourcesContent":["import React, { ReactNode, useMemo } from \"react\";\nimport { ChipCloseIcon, ChipContainer, ChipTrigger } from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { Typography } from \"../Typography/Typography\";\n\nexport interface ChipProps {\n label: string;\n onClose?: React.MouseEventHandler<HTMLButtonElement>;\n leftAdornment?: ReactNode;\n size?: InputSize;\n color?: string;\n backgroundColor?: string;\n closeClassName?: string;\n isLabel?: boolean;\n}\n\nexport const Chip = React.forwardRef<\n HTMLDivElement,\n ChipProps & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof ChipProps>\n>(\n (\n {\n leftAdornment,\n label,\n onClose,\n size = \"regular\",\n color,\n backgroundColor,\n closeClassName,\n isLabel,\n ...rest\n },\n ref\n ) => {\n const showClose = typeof onClose === \"function\";\n const variant = useMemo(() => {\n if (isLabel) {\n return \"Caption 2\";\n }\n switch (size) {\n case \"regular\":\n return \"Body 2\";\n case \"big\":\n return \"Body 1\";\n default:\n return \"Caption 1\";\n }\n }, [isLabel, size]);\n return (\n <ChipContainer\n {...rest}\n ref={ref}\n $size={size}\n $showClose={showClose}\n $color={color}\n $backgroundColor={backgroundColor}\n $isLabel={isLabel}\n data-testid={\"chip-container\"}\n >\n {leftAdornment}\n <Typography variant={variant} data-testid={\"chip-typography\"}>\n {label}\n </Typography>\n {showClose ? (\n <ChipTrigger\n $size={size}\n onClick={onClose}\n className={closeClassName}\n >\n <ChipCloseIcon fill={color ? color : \"currentColor\"} />\n </ChipTrigger>\n ) : null}\n </ChipContainer>\n );\n }\n);\n\nChip.displayName = \"Chip\";\n"],"file":"Chip.js"}
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
export declare const ChipContainer: import("styled-components").StyledComponent<"div", any, {
|
|
3
3
|
$showClose?: boolean | undefined;
|
|
4
4
|
$size?: string | undefined;
|
|
5
|
+
$color?: string | undefined;
|
|
6
|
+
$backgroundColor?: string | undefined;
|
|
7
|
+
$isLabel?: boolean | undefined;
|
|
5
8
|
}, never>;
|
|
6
9
|
export declare const ChipLabel: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
7
10
|
export declare const ChipTrigger: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Pick<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "form" | "slot" | "style" | "title" | "key" | "css" | "autoFocus" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "type" | "value" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "cs" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "tw"> & import("react").RefAttributes<HTMLButtonElement>>, any, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Chip/Styles.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Chip/Styles.ts"],"names":[],"mappings":";AAQA,eAAO,MAAM,aAAa;;;;;;SA+EzB,CAAC;AAIF,eAAO,MAAM,SAAS,qEAGrB,CAAC;AAIF,eAAO,MAAM,WAAW;;SA+BvB,CAAC;AAIF,eAAO,MAAM,aAAa,grPAEzB,CAAC"}
|
|
@@ -3,10 +3,11 @@ import { CloseSmallIcon } from "../Icons";
|
|
|
3
3
|
import { BoxSizingStyle } from "../BoxSizingStyle";
|
|
4
4
|
import { Trigger } from "../Trigger";
|
|
5
5
|
import { FontStyle } from "../FontStyle";
|
|
6
|
+
import { StyledTypography } from "../Typography/Styles";
|
|
6
7
|
export var ChipContainer = styled.div.withConfig({
|
|
7
8
|
displayName: "Styles__ChipContainer",
|
|
8
9
|
componentId: "sc-7s0bd1-0"
|
|
9
|
-
})(["min-width:44px;max-width:220px;", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", ""], {
|
|
10
|
+
})(["min-width:44px;max-width:220px;", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", "{", " ", "}", " ", " ", " ", " ", " ", " ", ""], {
|
|
10
11
|
"height": "1.5rem"
|
|
11
12
|
}, {
|
|
12
13
|
"borderRadius": "0.25rem"
|
|
@@ -30,6 +31,21 @@ export var ChipContainer = styled.div.withConfig({
|
|
|
30
31
|
"fontWeight": "400"
|
|
31
32
|
}, {
|
|
32
33
|
"backgroundColor": "var(--color-theme-400)"
|
|
34
|
+
}, StyledTypography, {
|
|
35
|
+
"flex": "1 1 0%"
|
|
36
|
+
}, {
|
|
37
|
+
"overflow": "hidden",
|
|
38
|
+
"textOverflow": "ellipsis",
|
|
39
|
+
"whiteSpace": "nowrap"
|
|
40
|
+
}, function (_ref) {
|
|
41
|
+
var $color = _ref.$color;
|
|
42
|
+
return $color && css(["", "{color:", ";}"], StyledTypography, $color);
|
|
43
|
+
}, function (_ref2) {
|
|
44
|
+
var $isLabel = _ref2.$isLabel;
|
|
45
|
+
return $isLabel && css(["", "{color:#303037;}"], StyledTypography);
|
|
46
|
+
}, function (_ref3) {
|
|
47
|
+
var $backgroundColor = _ref3.$backgroundColor;
|
|
48
|
+
return $backgroundColor && css(["background-color:", ";"], $backgroundColor);
|
|
33
49
|
}, function (props) {
|
|
34
50
|
return props.$showClose ? null : css(["", ""], {
|
|
35
51
|
"paddingRight": "0.375rem"
|
|
@@ -56,12 +72,14 @@ ChipLabel.displayName = "ChipLabel";
|
|
|
56
72
|
export var ChipTrigger = styled(Trigger).withConfig({
|
|
57
73
|
displayName: "Styles__ChipTrigger",
|
|
58
74
|
componentId: "sc-7s0bd1-2"
|
|
59
|
-
})(["", " ", " ", " &:hover{", "}", " ", " ", ""], {
|
|
75
|
+
})(["", " ", " ", " ", " &:hover{", "}", " ", " ", ""], {
|
|
60
76
|
"display": "flex"
|
|
61
77
|
}, {
|
|
62
78
|
"alignItems": "center"
|
|
63
79
|
}, {
|
|
64
80
|
"justifyContent": "center"
|
|
81
|
+
}, {
|
|
82
|
+
"marginLeft": "0.125rem"
|
|
65
83
|
}, {
|
|
66
84
|
"backgroundColor": "var(--color-theme-transparent-400)"
|
|
67
85
|
}, function (props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Chip/Styles.ts"],"names":["styled","css","CloseSmallIcon","BoxSizingStyle","Trigger","FontStyle","ChipContainer","div","props","$showClose","$size","displayName","ChipLabel","span","ChipTrigger","ChipCloseIcon"],"mappings":"AAAA,OAAOA,MAAP,IAAiBC,GAAjB,QAA4B,mBAA5B;AAEA,SAASC,cAAT,QAA+B,UAA/B;AACA,SAASC,cAAT,QAA+B,mBAA/B;AACA,SAASC,OAAT,QAAwB,YAAxB;AACA,SAASC,SAAT,QAA0B,cAA1B;AAEA,OAAO,IAAMC,aAAa,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Chip/Styles.ts"],"names":["styled","css","CloseSmallIcon","BoxSizingStyle","Trigger","FontStyle","StyledTypography","ChipContainer","div","$color","$isLabel","$backgroundColor","props","$showClose","$size","displayName","ChipLabel","span","ChipTrigger","ChipCloseIcon"],"mappings":"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","sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { CloseSmallIcon } from \"../Icons\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { Trigger } from \"../Trigger\";\nimport { FontStyle } from \"../FontStyle\";\nimport { StyledTypography } from \"../Typography/Styles\";\n\nexport const ChipContainer = styled.div<{\n $showClose?: boolean;\n $size?: string;\n $color?: string;\n $backgroundColor?: string;\n $isLabel?: boolean;\n}>`\n min-width: 44px;\n max-width: 220px;\n ${tw`tw-h-6`}\n ${tw`tw-rounded`}\n ${tw`tw-flex`}\n ${tw`tw-items-center`}\n ${tw`tw-pl-1.5`}\n ${tw`tw-overflow-hidden`}\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n // font\n ${tw`tw-text-body-2`}\n ${tw`tw-text-theme-900`}\n ${tw`tw-leading-regular`}\n ${tw`tw-tracking-regular`}\n ${tw`tw-font-regular`}\n\n // background\n ${tw`tw-bg-theme-400`}\n\n ${StyledTypography} {\n ${tw`tw-flex-1`}\n ${tw`tw-truncate`}\n }\n\n ${({ $color }) =>\n $color &&\n css`\n ${StyledTypography} {\n color: ${$color};\n }\n `}\n ${({ $isLabel }) =>\n $isLabel &&\n css`\n ${StyledTypography} {\n color: #303037;\n }\n `}\n\n ${({ $backgroundColor }) =>\n $backgroundColor &&\n css`\n background-color: ${$backgroundColor};\n `}\n\n ${(props) =>\n props.$showClose\n ? null\n : css`\n ${tw`tw-pr-1.5`}\n `}\n\n ${(props) =>\n props.$size === \"regular\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n height: 18px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n height: 30px;\n `}\n`;\n\nChipContainer.displayName = \"ChipContainer\";\n\nexport const ChipLabel = styled.span`\n ${tw`tw-w-full`}\n ${tw`tw-truncate`}\n`;\n\nChipLabel.displayName = \"ChipLabel\";\n\nexport const ChipTrigger = styled(Trigger)<{ $size?: string }>`\n ${tw`tw-flex`}\n ${tw`tw-items-center`}\n ${tw`tw-justify-center`}\n ${tw`tw-ml-0.5`}\n\n\n &:hover {\n ${tw`tw-bg-theme-transparent-400`}\n }\n\n ${(props) =>\n props.$size === \"regular\" &&\n css`\n height: 24px;\n width: 24px;\n `}\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n height: 18px;\n width: 18px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n height: 30px;\n width: 30px;\n `}\n`;\n\nChipTrigger.displayName = \"ChipTrigger\";\n\nexport const ChipCloseIcon = styled(CloseSmallIcon)`\n ${tw`tw-text-theme-700`}\n`;\n\nChipCloseIcon.displayName = \"ChipCloseIcon\";\n"],"file":"Styles.js"}
|
|
@@ -16,6 +16,7 @@ export interface IComboBoxProps extends Omit<IAutocompleteProps, "handleChange"
|
|
|
16
16
|
hiddenNumberText?: (hidden: number) => string;
|
|
17
17
|
inPortal?: boolean;
|
|
18
18
|
inputWrapperClassName?: string;
|
|
19
|
+
scrollWrapper?: boolean;
|
|
19
20
|
}
|
|
20
21
|
export declare const ComboBox: FC<IComboBoxProps>;
|
|
21
22
|
//# sourceMappingURL=ComboBox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBox.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAOH,MAAM,OAAO,CAAC;AAIf,OAAO,EACL,kBAAkB,EAEnB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAqB,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAWhE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAc3C,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,kBAAkB,EAAE,cAAc,GAAG,SAAS,CAAC;IAE5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,CACT,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACxD,IAAI,CAAC;IAEV,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,UAAU,CAAC,EAAE,CAAC,CAAC,SAAS,gBAAgB,EACtC,IAAI,EAAE,CAAC,EACP,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,KAClB,GAAG,CAAC,OAAO,CAAC;IAEjB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAE9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ComboBox.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAOH,MAAM,OAAO,CAAC;AAIf,OAAO,EACL,kBAAkB,EAEnB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAqB,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAWhE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAc3C,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,kBAAkB,EAAE,cAAc,GAAG,SAAS,CAAC;IAE5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,CACT,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACxD,IAAI,CAAC;IAEV,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,UAAU,CAAC,EAAE,CAAC,CAAC,SAAS,gBAAgB,EACtC,IAAI,EAAE,CAAC,EACP,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,KAClB,GAAG,CAAC,OAAO,CAAC;IAEjB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAE9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,cAAc,CAgdvC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
import _styled from "styled-components";
|
|
4
|
-
var _excluded = ["options", "selected", "loading", "loadingText", "onChange", "placeholder", "handleEmptyAction", "disabled", "size", "invalid", "type", "renderChip", "forceCloseMenu", "renderOption", "limitChips", "hiddenNumberText", "inPortal", "inputWrapperClassName"];
|
|
4
|
+
var _excluded = ["options", "selected", "loading", "loadingText", "onChange", "placeholder", "handleEmptyAction", "disabled", "size", "invalid", "type", "renderChip", "forceCloseMenu", "renderOption", "limitChips", "hiddenNumberText", "inPortal", "inputWrapperClassName", "scrollWrapper"];
|
|
5
5
|
import React, { useCallback, useState, useEffect, useRef, useMemo, Fragment } from "react";
|
|
6
6
|
import { RadioButton } from "../RadioButton";
|
|
7
7
|
import { Autocomplete } from "../Autocomplete";
|
|
@@ -54,6 +54,7 @@ export var ComboBox = function ComboBox(_ref) {
|
|
|
54
54
|
_ref$inPortal = _ref.inPortal,
|
|
55
55
|
inPortal = _ref$inPortal === void 0 ? false : _ref$inPortal,
|
|
56
56
|
inputWrapperClassName = _ref.inputWrapperClassName,
|
|
57
|
+
scrollWrapper = _ref.scrollWrapper,
|
|
57
58
|
prop = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
58
59
|
|
|
59
60
|
var selectedName = useMemo(function () {
|
|
@@ -214,24 +215,39 @@ export var ComboBox = function ComboBox(_ref) {
|
|
|
214
215
|
"marginRight": "0.125rem"
|
|
215
216
|
}
|
|
216
217
|
})) : undefined;
|
|
218
|
+
|
|
219
|
+
var onClose = function onClose(e) {
|
|
220
|
+
e.preventDefault();
|
|
221
|
+
e.stopPropagation();
|
|
222
|
+
|
|
223
|
+
if (Array.isArray(selected) && selected.includes(option.id)) {
|
|
224
|
+
if (typeof onChange === "function") {
|
|
225
|
+
var newSelected = selected.filter(function (item) {
|
|
226
|
+
return item !== option.id;
|
|
227
|
+
});
|
|
228
|
+
onChange(newSelected);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
var showOnClose = true;
|
|
234
|
+
|
|
235
|
+
if (disabled) {
|
|
236
|
+
showOnClose = false;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
if (option.color) {
|
|
240
|
+
showOnClose = false;
|
|
241
|
+
}
|
|
242
|
+
|
|
217
243
|
return /*#__PURE__*/React.createElement(Chip, {
|
|
218
244
|
className: "c-combo-box-chip",
|
|
219
245
|
leftAdornment: leftAdornment,
|
|
220
246
|
label: option.name,
|
|
221
247
|
key: index,
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
if (Array.isArray(selected) && selected.includes(option.id)) {
|
|
227
|
-
if (typeof onChange === "function") {
|
|
228
|
-
var newSelected = selected.filter(function (item) {
|
|
229
|
-
return item !== option.id;
|
|
230
|
-
});
|
|
231
|
-
onChange(newSelected);
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
} : undefined,
|
|
248
|
+
backgroundColor: option.color,
|
|
249
|
+
isLabel: Boolean(option.color),
|
|
250
|
+
onClose: showOnClose ? onClose : undefined,
|
|
235
251
|
size: size
|
|
236
252
|
});
|
|
237
253
|
}, [disabled, onChange, renderChip, selected, size]);
|
|
@@ -292,7 +308,9 @@ export var ComboBox = function ComboBox(_ref) {
|
|
|
292
308
|
|
|
293
309
|
(_elementRef$current = elementRef.current) == null ? void 0 : _elementRef$current.focus();
|
|
294
310
|
},
|
|
295
|
-
$_css3: autoSize === "auto" ? "auto" : undefined
|
|
311
|
+
$_css3: autoSize === "auto" ? "auto" : undefined,
|
|
312
|
+
$_css4: autoSize === "auto" && scrollWrapper ? "scroll" : undefined,
|
|
313
|
+
$_css5: autoSize === "auto" && scrollWrapper ? "80px" : undefined
|
|
296
314
|
}, /*#__PURE__*/React.createElement(StyledChipWrapper, {
|
|
297
315
|
$autoSize: autoSize,
|
|
298
316
|
$open: open,
|
|
@@ -395,8 +413,12 @@ var _StyledTypography = _styled(Typography).withConfig({
|
|
|
395
413
|
var _StyledStyledInputWrapper = _styled(StyledInputWrapper).withConfig({
|
|
396
414
|
displayName: "ComboBox___StyledStyledInputWrapper",
|
|
397
415
|
componentId: "sc-uvsz9l-2"
|
|
398
|
-
})(["display:flex;justify-content:space-between;flex:1;height:", ";"], function (p) {
|
|
416
|
+
})(["display:flex;justify-content:space-between;flex:1;height:", ";overflow-y:", ";max-height:", ";"], function (p) {
|
|
399
417
|
return p.$_css3;
|
|
418
|
+
}, function (p) {
|
|
419
|
+
return p.$_css4;
|
|
420
|
+
}, function (p) {
|
|
421
|
+
return p.$_css5;
|
|
400
422
|
});
|
|
401
423
|
|
|
402
424
|
var _StyledTrigger = _styled(Trigger).withConfig({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"names":["React","useCallback","useState","useEffect","useRef","useMemo","Fragment","RadioButton","Autocomplete","Button","isOptionGroup","useForkRef","Popper","RemoveScroll","SpinnerLoader","OptionContent","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","InputAdornment","Checkbox","Chip","StyledInput","StyledInputWrapper","useOnClickOutside","Avatar","Trigger","Typography","Portal","ConditionalWrapper","classNames","ComboBox","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","invalid","type","renderChip","forceCloseMenu","renderOption","limitChips","hiddenNumberText","inPortal","inputWrapperClassName","prop","selectedName","value","map","v","find","q","id","name","setValue","handleOnChange","e","target","childNode","setChildNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","open","setOpen","current","contains","handleOnKeyDown","key","stopPropagation","focus","blur","emptyAction","handleChange","selectedValue","onOpen","handleRenderOption","option","props","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","leftAdornment","undefined","Array","isArray","includes","newSelected","filter","item","autoSize","length","startAdornment","elements","total","forEach","isGrouped","push","groupedOptions","o","_index","hidden","splice","showXIcon","hasSelected","display","flex","alignSelf","width","children","zIndex","clientWidth","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { Button } from \"../Button/Button\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n} from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport { Avatar, IAvatar } from \"../Avatar\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\nimport tw from \"twin.macro\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport classNames from \"classnames\";\n\nexport interface IComboBoxProps\n extends Omit<IAutocompleteProps, \"handleChange\" | \"inputEl\"> {\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n /** Render Chip */\n renderChip?: <T extends IOptionItemProps>(\n item: T,\n key?: string | number\n ) => JSX.Element;\n /** Close menu on change */\n forceCloseMenu?: boolean;\n /** Limit chips */\n limitChips?: number;\n /** Hidden number text */\n hiddenNumberText?: (hidden: number) => string;\n /** Render Autocomplete in <Portal> */\n inPortal?: boolean;\n /** inputWrapperClassName */\n inputWrapperClassName?: string;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\n type = \"single\",\n renderChip,\n forceCloseMenu = type === \"single\",\n renderOption,\n limitChips = 2,\n hiddenNumberText,\n inPortal = false,\n inputWrapperClassName,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const handleOnChange = useCallback((e) => setValue(e.target.value), []);\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(setChildNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n e.stopPropagation();\n }\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n },\n [open, selectedName, type]\n );\n\n useEffect(() => {\n open && childNode?.focus();\n !open && childNode?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n onChange?.(selectedValue);\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange]\n );\n\n const onOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n }\n }, [disabled]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (type === \"multiple\") {\n onChange?.([]);\n } else {\n onChange?.(\"\");\n }\n\n setOpen(false);\n },\n [type, onChange]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<IAvatar> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const leftAdornment = option.image ? (\n <Avatar\n css={`\n ${tw`tw-my-0.5`}\n ${tw`tw-mr-0.5`}\n `}\n url={option.image}\n {...avatarProps}\n />\n ) : undefined;\n\n return (\n <Chip\n className={\"c-combo-box-chip\"}\n leftAdornment={leftAdornment}\n label={option.name}\n key={index}\n onClose={\n !disabled\n ? (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (Array.isArray(selected) && selected.includes(option.id)) {\n if (typeof onChange === \"function\") {\n const newSelected = selected.filter(\n (item) => item !== option.id\n );\n onChange(newSelected);\n }\n }\n }\n : undefined\n }\n size={size}\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) && type === \"multiple\" && selected.length > 0;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.focus();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n >\n {startAdornment}\n <StyledInput\n className={\"c-combo-box-input\"}\n onBlur={handleBlur}\n onFocus={onOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid={\"deselect-all\"}\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n onFocus={onOpen}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <Button\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </Button>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </InputAdornment>\n ) : null\n }\n />\n )}\n\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"bottom\"\n style={{\n zIndex: 10,\n width: comboBoxRef.current?.clientWidth,\n }}\n ref={wrapperRef}\n strategy={\"fixed\"}\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList $width={comboBoxRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n handleEmptyAction={emptyAction}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"file":"ComboBox.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"names":["React","useCallback","useState","useEffect","useRef","useMemo","Fragment","RadioButton","Autocomplete","Button","isOptionGroup","useForkRef","Popper","RemoveScroll","SpinnerLoader","OptionContent","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","InputAdornment","Checkbox","Chip","StyledInput","StyledInputWrapper","useOnClickOutside","Avatar","Trigger","Typography","Portal","ConditionalWrapper","classNames","ComboBox","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","invalid","type","renderChip","forceCloseMenu","renderOption","limitChips","hiddenNumberText","inPortal","inputWrapperClassName","scrollWrapper","prop","selectedName","value","map","v","find","q","id","name","setValue","handleOnChange","e","target","childNode","setChildNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","open","setOpen","current","contains","handleOnKeyDown","key","stopPropagation","focus","blur","emptyAction","handleChange","selectedValue","onOpen","handleRenderOption","option","props","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","leftAdornment","undefined","onClose","Array","isArray","includes","newSelected","filter","item","showOnClose","Boolean","autoSize","length","startAdornment","elements","total","forEach","isGrouped","push","groupedOptions","o","_index","hidden","splice","showXIcon","hasSelected","display","flex","alignSelf","width","children","zIndex","clientWidth","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { Button } from \"../Button/Button\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n} from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport { Avatar, IAvatar } from \"../Avatar\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\nimport tw from \"twin.macro\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport classNames from \"classnames\";\n\nexport interface IComboBoxProps\n extends Omit<IAutocompleteProps, \"handleChange\" | \"inputEl\"> {\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n /** Render Chip */\n renderChip?: <T extends IOptionItemProps>(\n item: T,\n key?: string | number\n ) => JSX.Element;\n /** Close menu on change */\n forceCloseMenu?: boolean;\n /** Limit chips */\n limitChips?: number;\n /** Hidden number text */\n hiddenNumberText?: (hidden: number) => string;\n /** Render Autocomplete in <Portal> */\n inPortal?: boolean;\n /** inputWrapperClassName */\n inputWrapperClassName?: string;\n /** scrollWrapper */\n scrollWrapper?: boolean;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\n type = \"single\",\n renderChip,\n forceCloseMenu = type === \"single\",\n renderOption,\n limitChips = 2,\n hiddenNumberText,\n inPortal = false,\n inputWrapperClassName,\n scrollWrapper,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const handleOnChange = useCallback((e) => setValue(e.target.value), []);\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(setChildNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n e.stopPropagation();\n }\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n },\n [open, selectedName, type]\n );\n\n useEffect(() => {\n open && childNode?.focus();\n !open && childNode?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n onChange?.(selectedValue);\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange]\n );\n\n const onOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n }\n }, [disabled]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (type === \"multiple\") {\n onChange?.([]);\n } else {\n onChange?.(\"\");\n }\n\n setOpen(false);\n },\n [type, onChange]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<IAvatar> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const leftAdornment = option.image ? (\n <Avatar\n css={`\n ${tw`tw-my-0.5`}\n ${tw`tw-mr-0.5`}\n `}\n url={option.image}\n {...avatarProps}\n />\n ) : undefined;\n\n const onClose = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (Array.isArray(selected) && selected.includes(option.id)) {\n if (typeof onChange === \"function\") {\n const newSelected = selected.filter((item) => item !== option.id);\n onChange(newSelected);\n }\n }\n };\n\n let showOnClose = true;\n if (disabled) {\n showOnClose = false;\n }\n if (option.color) {\n showOnClose = false;\n }\n\n return (\n <Chip\n className={\"c-combo-box-chip\"}\n leftAdornment={leftAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n isLabel={Boolean(option.color)}\n onClose={showOnClose ? onClose : undefined}\n size={size}\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) && type === \"multiple\" && selected.length > 0;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? \"80px\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.focus();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n >\n {startAdornment}\n <StyledInput\n className={\"c-combo-box-input\"}\n onBlur={handleBlur}\n onFocus={onOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid={\"deselect-all\"}\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n onFocus={onOpen}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <Button\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </Button>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </InputAdornment>\n ) : null\n }\n />\n )}\n\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"bottom\"\n style={{\n zIndex: 10,\n width: comboBoxRef.current?.clientWidth,\n }}\n ref={wrapperRef}\n strategy={\"fixed\"}\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList $width={comboBoxRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n handleEmptyAction={emptyAction}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"file":"ComboBox.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityCard.d.ts","sourceRoot":"","sources":["../../../../src/components/Entity/EntityCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,kBAAkB,EAClB,aAAa,EAEb,YAAY,EAEb,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EACL,gCAAgC,EAEjC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"EntityCard.d.ts","sourceRoot":"","sources":["../../../../src/components/Entity/EntityCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,kBAAkB,EAClB,aAAa,EAEb,YAAY,EAEb,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EACL,gCAAgC,EAEjC,MAAM,mBAAmB,CAAC;AAI3B,MAAM,WAAW,gBACf,SAAQ,UAAU,EAChB,kBAAkB,CAAC,WAAW,CAAC;IAEjC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,oBAAY,eAAe,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,IACrD,gCAAgC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAExD,oBAAY,eAAe,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,OAAO,IAAI,EACtE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,KACtB,YAAY,GAAG,IAAI,CAAC;AAEzB,eAAO,MAAM,UAAU,EAAE,eAAe,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAgC9D,CAAC"}
|