@activecollab/components 1.0.137 → 1.0.140
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/Autocomplete/Autocomplete.js +60 -27
- package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/cjs/components/Autocomplete/Styles.js +9 -11
- package/dist/cjs/components/Autocomplete/Styles.js.map +1 -1
- package/dist/cjs/components/BreakPoints.js +22 -0
- package/dist/cjs/components/BreakPoints.js.map +1 -0
- package/dist/cjs/components/Chip/Chip.js +3 -8
- package/dist/cjs/components/Chip/Chip.js.map +1 -1
- package/dist/cjs/components/Dialog/Styles.js +3 -3
- package/dist/cjs/components/Dialog/Styles.js.map +1 -1
- package/dist/cjs/components/Icons/collection/ArrowDownLong.js +31 -0
- package/dist/cjs/components/Icons/collection/ArrowDownLong.js.map +1 -0
- package/dist/cjs/components/Icons/collection/ArrowUpLong.js +31 -0
- package/dist/cjs/components/Icons/collection/ArrowUpLong.js.map +1 -0
- package/dist/cjs/components/Icons/collection/index.js +16 -0
- package/dist/cjs/components/Icons/collection/index.js.map +1 -1
- package/dist/cjs/components/Select/Option/Option.js +7 -2
- package/dist/cjs/components/Select/Option/Option.js.map +1 -1
- package/dist/cjs/components/Select/Option/Styles.js +1 -1
- package/dist/cjs/components/Select/Option/Styles.js.map +1 -1
- package/dist/cjs/components/Select/OptionGroup/OptionGroup.js +34 -9
- package/dist/cjs/components/Select/OptionGroup/OptionGroup.js.map +1 -1
- package/dist/cjs/components/Select/OptionGroup/Styles.js +2 -2
- package/dist/cjs/components/Select/OptionGroup/Styles.js.map +1 -1
- package/dist/cjs/components/Select/Select.js +12 -36
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/components/SelectTrigger/SelectTrigger.js +3 -2
- package/dist/cjs/components/SelectTrigger/SelectTrigger.js.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.js +60 -27
- package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/esm/components/Autocomplete/Styles.d.ts +6 -4
- package/dist/esm/components/Autocomplete/Styles.d.ts.map +1 -1
- package/dist/esm/components/Autocomplete/Styles.js +7 -6
- package/dist/esm/components/Autocomplete/Styles.js.map +1 -1
- package/dist/esm/components/BreakPoints.d.ts +8 -0
- package/dist/esm/components/BreakPoints.d.ts.map +1 -0
- package/dist/esm/components/BreakPoints.js +15 -0
- package/dist/esm/components/BreakPoints.js.map +1 -0
- package/dist/esm/components/Chip/Chip.d.ts +2 -2
- package/dist/esm/components/Chip/Chip.d.ts.map +1 -1
- package/dist/esm/components/Chip/Chip.js +3 -7
- package/dist/esm/components/Chip/Chip.js.map +1 -1
- package/dist/esm/components/Dialog/Styles.d.ts.map +1 -1
- package/dist/esm/components/Dialog/Styles.js +2 -3
- package/dist/esm/components/Dialog/Styles.js.map +1 -1
- package/dist/esm/components/Icons/collection/ArrowDownLong.d.ts +4 -0
- package/dist/esm/components/Icons/collection/ArrowDownLong.d.ts.map +1 -0
- package/dist/esm/components/Icons/collection/ArrowDownLong.js +18 -0
- package/dist/esm/components/Icons/collection/ArrowDownLong.js.map +1 -0
- package/dist/esm/components/Icons/collection/ArrowUpLong.d.ts +4 -0
- package/dist/esm/components/Icons/collection/ArrowUpLong.d.ts.map +1 -0
- package/dist/esm/components/Icons/collection/ArrowUpLong.js +18 -0
- package/dist/esm/components/Icons/collection/ArrowUpLong.js.map +1 -0
- package/dist/esm/components/Icons/collection/index.d.ts +2 -0
- package/dist/esm/components/Icons/collection/index.d.ts.map +1 -1
- package/dist/esm/components/Icons/collection/index.js +2 -0
- package/dist/esm/components/Icons/collection/index.js.map +1 -1
- package/dist/esm/components/Select/Option/Option.d.ts +3 -2
- package/dist/esm/components/Select/Option/Option.d.ts.map +1 -1
- package/dist/esm/components/Select/Option/Option.js +7 -2
- package/dist/esm/components/Select/Option/Option.js.map +1 -1
- package/dist/esm/components/Select/Option/Styles.d.ts +1 -1
- package/dist/esm/components/Select/Option/Styles.js +1 -1
- package/dist/esm/components/Select/Option/Styles.js.map +1 -1
- package/dist/esm/components/Select/OptionGroup/OptionGroup.d.ts +2 -4
- package/dist/esm/components/Select/OptionGroup/OptionGroup.d.ts.map +1 -1
- package/dist/esm/components/Select/OptionGroup/OptionGroup.js +21 -9
- package/dist/esm/components/Select/OptionGroup/OptionGroup.js.map +1 -1
- package/dist/esm/components/Select/OptionGroup/Styles.d.ts +1 -1
- package/dist/esm/components/Select/OptionGroup/Styles.d.ts.map +1 -1
- package/dist/esm/components/Select/OptionGroup/Styles.js +2 -2
- package/dist/esm/components/Select/OptionGroup/Styles.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts +2 -5
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +12 -36
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/SelectTrigger/SelectTrigger.d.ts +1 -0
- package/dist/esm/components/SelectTrigger/SelectTrigger.d.ts.map +1 -1
- package/dist/esm/components/SelectTrigger/SelectTrigger.js +3 -2
- package/dist/esm/components/SelectTrigger/SelectTrigger.js.map +1 -1
- package/dist/index.js +163 -93
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Select/Select.tsx"],"names":["React","useCallback","useState","useMemo","useEffect","useRef","Autocomplete","Tooltip","Menu","classNames","useForkRef","StyledSelectForm","StyledSelectInput","StyledCheckbox","StyledRadioButton","OptionContent","Select","type","mode","target","options","selected","position","onChange","actionIcon","actionLabel","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","prop","childNode","setChildNode","elementRef","handleRef","Tag","formRef","open","setOpen","isGroup","item","undefined","selectedOptions","Array","selectOptions","allOptionValues","reduce","acc","option","id","allGroupOptions","map","isAllOptionsChecked","every","includes","focus","handleChange","selectedValue","value","v","filter","concat","onClose","onOpen","props","menuClassName","className","handleEmptyAction","current","reset","handleDefaultOptionChange","length","handleRenderOption","image","color","textColor","name","additionalInfo","zIndex","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n} from \"react\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\nimport classNames from \"classnames\";\nimport { Placement } from \"@popperjs/core\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n} from \"./Styles\";\nimport { OptionContent } from \"./OptionContent/OptionContent\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\ninterface ISelectProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set selected items */\n selected?: (string | number)[] | string | number;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Set action icon in select */\n actionIcon?: ReactElement;\n /** Set label for action icon */\n actionLabel?: string;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Should the order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n}\n\nexport const Select: FC<ISelectProps & IAutocompleteProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = (): null => null,\n actionIcon,\n actionLabel,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n ...prop\n}) => {\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(setChildNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n function isGroup(\n item: IOptionGroupProps | IOptionItemProps\n ): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n }\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n open && childNode?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== null) {\n if (type === \"single\") {\n if (forceCloseMenu) {\n setOpen(false);\n }\n return onChange(selectedValue);\n }\n // multiple\n const value = (): (string | number)[] => {\n if (selectedValue instanceof Array) {\n if (selectedValue.every((v) => selectedOptions.includes(v))) {\n return selectedOptions.filter((v) => !selectedValue.includes(v));\n }\n return selectedValue.concat(selectedOptions);\n }\n if (selectedOptions.includes(selectedValue)) {\n return selectedOptions.filter((option) => option !== selectedValue);\n }\n return [...selectedOptions, selectedValue];\n };\n return onChange(value());\n }\n },\n [onChange, type, forceCloseMenu, selectedOptions]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChange = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n onChange([]);\n } else {\n onChange(allOptionValues);\n }\n } else {\n onChange(\"\");\n if (forceCloseMenu) {\n setOpen(false);\n }\n }\n }, [onChange, type, forceCloseMenu, selectedOptions.length, allOptionValues]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox checked={isAllOptionsChecked} {...props} />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [isAllOptionsChecked, selectedOptions, type]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n <StyledSelectInput\n ref={handleRef}\n autoFocus\n placeholder={placeholder}\n />\n {actionIcon && actionLabel && (\n <Tooltip\n popperTooltipStyle={{ zIndex: 1301 }}\n title={actionLabel}\n >\n <div>{actionIcon}</div>\n </Tooltip>\n )}\n {actionIcon && !actionLabel && actionIcon}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChange}\n type={type}\n preselectDefaultValue={type === \"single\"}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"file":"Select.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Select/Select.tsx"],"names":["React","useCallback","useState","useMemo","useEffect","useRef","Autocomplete","Tooltip","Menu","classNames","useForkRef","StyledSelectForm","StyledSelectInput","StyledCheckbox","StyledRadioButton","OptionContent","Select","type","mode","target","options","selected","position","onChange","actionIcon","actionLabel","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","prop","childNode","setChildNode","elementRef","handleRef","Tag","formRef","open","setOpen","isGroup","item","undefined","selectedOptions","Array","selectOptions","allOptionValues","reduce","acc","option","id","allGroupOptions","map","isAllOptionsChecked","every","includes","focus","handleChange","selectedValue","onClose","onOpen","props","menuClassName","className","handleEmptyAction","value","current","reset","handleDefaultOptionChange","length","handleRenderOption","image","color","textColor","name","additionalInfo","zIndex","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n} from \"react\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\nimport classNames from \"classnames\";\nimport { Placement } from \"@popperjs/core\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n} from \"./Styles\";\nimport { OptionContent } from \"./OptionContent/OptionContent\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"preselectDefaultValue\" | \"handleDefaultOptionChange\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Set action icon in select */\n actionIcon?: ReactElement;\n /** Set label for action icon */\n actionLabel?: string;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = () => null,\n actionIcon,\n actionLabel,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n ...prop\n}) => {\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(setChildNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n function isGroup(\n item: IOptionGroupProps | IOptionItemProps\n ): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n }\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n open && childNode?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n setOpen(false);\n }\n onChange(selectedValue);\n },\n [onChange, forceCloseMenu]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChange = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n onChange([]);\n } else {\n onChange(allOptionValues);\n }\n } else {\n onChange(\"\");\n if (forceCloseMenu) {\n setOpen(false);\n }\n }\n }, [onChange, type, forceCloseMenu, selectedOptions.length, allOptionValues]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox checked={isAllOptionsChecked} {...props} />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [isAllOptionsChecked, renderOption, selectedOptions, type]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n <StyledSelectInput\n ref={handleRef}\n autoFocus\n placeholder={placeholder}\n />\n {actionIcon && actionLabel && (\n <Tooltip\n popperTooltipStyle={{ zIndex: 1301 }}\n title={actionLabel}\n >\n <div>{actionIcon}</div>\n </Tooltip>\n )}\n {actionIcon && !actionLabel && actionIcon}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChange}\n type={type}\n preselectDefaultValue={type === \"single\"}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"file":"Select.js"}
|
|
@@ -3,6 +3,7 @@ export declare type Size = "regular" | "big" | "small";
|
|
|
3
3
|
export interface SelectTriggerProps extends ComponentPropsWithoutRef<"button"> {
|
|
4
4
|
size?: Size;
|
|
5
5
|
invalid?: boolean;
|
|
6
|
+
endAdornment?: JSX.Element;
|
|
6
7
|
}
|
|
7
8
|
export declare const SelectTrigger: React.ForwardRefExoticComponent<SelectTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
8
9
|
//# sourceMappingURL=SelectTrigger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectTrigger.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectTrigger/SelectTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAIpE,oBAAY,IAAI,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;AAE/C,MAAM,WAAW,kBAAmB,SAAQ,wBAAwB,CAAC,QAAQ,CAAC;IAC5E,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SelectTrigger.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectTrigger/SelectTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAIpE,oBAAY,IAAI,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;AAE/C,MAAM,WAAW,kBAAmB,SAAQ,wBAAwB,CAAC,QAAQ,CAAC;IAC5E,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,aAAa,8FAkCzB,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 = ["children", "type", "size", "invalid"];
|
|
3
|
+
var _excluded = ["children", "type", "size", "invalid", "endAdornment"];
|
|
4
4
|
import React, { forwardRef } from "react";
|
|
5
5
|
import { Typography } from "../Typography/Typography";
|
|
6
6
|
import { StyledCaretIcon, StyledSelectTrigger } from "./Styles";
|
|
@@ -12,6 +12,7 @@ export var SelectTrigger = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
12
12
|
size = _ref$size === void 0 ? "regular" : _ref$size,
|
|
13
13
|
_ref$invalid = _ref.invalid,
|
|
14
14
|
invalid = _ref$invalid === void 0 ? false : _ref$invalid,
|
|
15
|
+
endAdornment = _ref.endAdornment,
|
|
15
16
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
16
17
|
|
|
17
18
|
return /*#__PURE__*/React.createElement(StyledSelectTrigger, _extends({
|
|
@@ -25,7 +26,7 @@ export var SelectTrigger = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
25
26
|
overflow: "truncate",
|
|
26
27
|
whitespace: "no-wrap",
|
|
27
28
|
variant: size === "small" || size === "regular" ? "Body 2" : "Body 1"
|
|
28
|
-
}, children), /*#__PURE__*/React.createElement(StyledCaretIcon, null));
|
|
29
|
+
}, children), endAdornment ? endAdornment : /*#__PURE__*/React.createElement(StyledCaretIcon, null));
|
|
29
30
|
});
|
|
30
31
|
SelectTrigger.displayName = "SelectTrigger";
|
|
31
32
|
//# sourceMappingURL=SelectTrigger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/SelectTrigger/SelectTrigger.tsx"],"names":["React","forwardRef","Typography","StyledCaretIcon","StyledSelectTrigger","SelectTrigger","ref","children","type","size","invalid","rest","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAA4D,OAA5D;AACA,SAASC,UAAT,QAA2B,0BAA3B;AACA,SAASC,eAAT,EAA0BC,mBAA1B,QAAqD,UAArD;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/SelectTrigger/SelectTrigger.tsx"],"names":["React","forwardRef","Typography","StyledCaretIcon","StyledSelectTrigger","SelectTrigger","ref","children","type","size","invalid","endAdornment","rest","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAA4D,OAA5D;AACA,SAASC,UAAT,QAA2B,0BAA3B;AACA,SAASC,eAAT,EAA0BC,mBAA1B,QAAqD,UAArD;AAUA,OAAO,IAAMC,aAAa,gBAAGJ,UAAU,CACrC,gBASEK,GATF,EAUK;AAAA,MARDC,QAQC,QARDA,QAQC;AAAA,uBAPDC,IAOC;AAAA,MAPDA,IAOC,0BAPM,QAON;AAAA,uBANDC,IAMC;AAAA,MANDA,IAMC,0BANM,SAMN;AAAA,0BALDC,OAKC;AAAA,MALDA,OAKC,6BALS,KAKT;AAAA,MAJDC,YAIC,QAJDA,YAIC;AAAA,MAHEC,IAGF;;AACH,sBACE,oBAAC,mBAAD;AACE,IAAA,GAAG,EAAEN,GADP;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,IAAA,IAAI,EAAEE,IAHR;AAIE,IAAA,KAAK,EAAEC,IAJT;AAKE,IAAA,QAAQ,EAAEC;AALZ,KAMME,IANN,gBAQE,oBAAC,UAAD;AACE,IAAA,EAAE,EAAC,KADL;AAEE,IAAA,QAAQ,EAAC,UAFX;AAGE,IAAA,UAAU,EAAC,SAHb;AAIE,IAAA,OAAO,EAAEH,IAAI,KAAK,OAAT,IAAoBA,IAAI,KAAK,SAA7B,GAAyC,QAAzC,GAAoD;AAJ/D,KAMGF,QANH,CARF,EAiBGI,YAAY,GAAGA,YAAH,gBAAkB,oBAAC,eAAD,OAjBjC,CADF;AAqBD,CAjCoC,CAAhC;AAoCPN,aAAa,CAACQ,WAAd,GAA4B,eAA5B","sourcesContent":["import React, { forwardRef, ComponentPropsWithoutRef } from \"react\";\nimport { Typography } from \"../Typography/Typography\";\nimport { StyledCaretIcon, StyledSelectTrigger } from \"./Styles\";\n\nexport type Size = \"regular\" | \"big\" | \"small\";\n\nexport interface SelectTriggerProps extends ComponentPropsWithoutRef<\"button\"> {\n size?: Size;\n invalid?: boolean;\n endAdornment?: JSX.Element;\n}\n\nexport const SelectTrigger = forwardRef<HTMLButtonElement, SelectTriggerProps>(\n (\n {\n children,\n type = \"button\",\n size = \"regular\",\n invalid = false,\n endAdornment,\n ...rest\n },\n ref\n ) => {\n return (\n <StyledSelectTrigger\n ref={ref}\n role=\"button\"\n type={type}\n $size={size}\n $invalid={invalid}\n {...rest}\n >\n <Typography\n as=\"div\"\n overflow=\"truncate\"\n whitespace=\"no-wrap\"\n variant={size === \"small\" || size === \"regular\" ? \"Body 2\" : \"Body 1\"}\n >\n {children}\n </Typography>\n\n {endAdornment ? endAdornment : <StyledCaretIcon />}\n </StyledSelectTrigger>\n );\n }\n);\n\nSelectTrigger.displayName = \"SelectTrigger\";\n"],"file":"SelectTrigger.js"}
|
package/dist/index.js
CHANGED
|
@@ -1279,6 +1279,22 @@
|
|
|
1279
1279
|
ArrowCollapseMultipleIcon.displayName = "ArrowCollapseMultipleIcon";
|
|
1280
1280
|
var ArrowCollapseMultipleIcon$1 = ArrowCollapseMultipleIcon;
|
|
1281
1281
|
|
|
1282
|
+
var ArrowDownLongIcon = /*#__PURE__*/React__default["default"].forwardRef(function (props, svgRef) {
|
|
1283
|
+
return /*#__PURE__*/React__default["default"].createElement("svg", _extends({
|
|
1284
|
+
width: 24,
|
|
1285
|
+
height: 24,
|
|
1286
|
+
viewBox: "0 0 24 24",
|
|
1287
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1288
|
+
fill: "var(--color-theme-600)",
|
|
1289
|
+
ref: svgRef
|
|
1290
|
+
}, props), /*#__PURE__*/React__default["default"].createElement("path", {
|
|
1291
|
+
d: "M13 5v9h4l-5 5-5-5h4V5z",
|
|
1292
|
+
fillRule: "evenodd"
|
|
1293
|
+
}));
|
|
1294
|
+
});
|
|
1295
|
+
ArrowDownLongIcon.displayName = "ArrowDownLongIcon";
|
|
1296
|
+
var ArrowDownLongIcon$1 = ArrowDownLongIcon;
|
|
1297
|
+
|
|
1282
1298
|
var ArrowExpandeMultipleIcon = /*#__PURE__*/React__default["default"].forwardRef(function (props, svgRef) {
|
|
1283
1299
|
return /*#__PURE__*/React__default["default"].createElement("svg", _extends({
|
|
1284
1300
|
width: 24,
|
|
@@ -1358,6 +1374,22 @@
|
|
|
1358
1374
|
ArrowRightIcon.displayName = "ArrowRightIcon";
|
|
1359
1375
|
var ArrowRightIcon$1 = ArrowRightIcon;
|
|
1360
1376
|
|
|
1377
|
+
var ArrowUpLongIcon = /*#__PURE__*/React__default["default"].forwardRef(function (props, svgRef) {
|
|
1378
|
+
return /*#__PURE__*/React__default["default"].createElement("svg", _extends({
|
|
1379
|
+
width: 24,
|
|
1380
|
+
height: 24,
|
|
1381
|
+
viewBox: "0 0 24 24",
|
|
1382
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1383
|
+
fill: "var(--color-theme-600)",
|
|
1384
|
+
ref: svgRef
|
|
1385
|
+
}, props), /*#__PURE__*/React__default["default"].createElement("path", {
|
|
1386
|
+
d: "M13 19v-9h4l-5-5-5 5h4v9z",
|
|
1387
|
+
fillRule: "evenodd"
|
|
1388
|
+
}));
|
|
1389
|
+
});
|
|
1390
|
+
ArrowUpLongIcon.displayName = "ArrowUpLongIcon";
|
|
1391
|
+
var ArrowUpLongIcon$1 = ArrowUpLongIcon;
|
|
1392
|
+
|
|
1361
1393
|
var AssignIcon = /*#__PURE__*/React__default["default"].forwardRef(function (props, svgRef) {
|
|
1362
1394
|
return /*#__PURE__*/React__default["default"].createElement("svg", _extends({
|
|
1363
1395
|
width: 24,
|
|
@@ -6339,7 +6371,7 @@
|
|
|
6339
6371
|
}
|
|
6340
6372
|
};
|
|
6341
6373
|
|
|
6342
|
-
var StyledOption = styled__default["default"].
|
|
6374
|
+
var StyledOption = styled__default["default"].li.withConfig({
|
|
6343
6375
|
displayName: "Styles__StyledOption",
|
|
6344
6376
|
componentId: "sc-1232l97-0"
|
|
6345
6377
|
})(["", " font-size:14px;display:flex;justify-content:space-between;height:28px;padding-left:16px;padding-right:16px;margin-top:4px;margin-bottom:4px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition-duration:0.1s;color:var(--color-theme-900);", " ", " ", ""], {
|
|
@@ -6356,7 +6388,11 @@
|
|
|
6356
6388
|
hover = _ref.hover,
|
|
6357
6389
|
className = _ref.className,
|
|
6358
6390
|
renderOption = _ref.renderOption,
|
|
6359
|
-
onMouseEnter = _ref.onMouseEnter
|
|
6391
|
+
onMouseEnter = _ref.onMouseEnter,
|
|
6392
|
+
_ref$onClick = _ref.onClick,
|
|
6393
|
+
onClick = _ref$onClick === void 0 ? function () {
|
|
6394
|
+
return null;
|
|
6395
|
+
} : _ref$onClick;
|
|
6360
6396
|
var handleOnMouseEnter = React.useCallback(function () {
|
|
6361
6397
|
if (onMouseEnter) {
|
|
6362
6398
|
onMouseEnter(id);
|
|
@@ -6367,7 +6403,8 @@
|
|
|
6367
6403
|
title: name,
|
|
6368
6404
|
onMouseEnter: handleOnMouseEnter,
|
|
6369
6405
|
className: classnames__default["default"]("c-option", className),
|
|
6370
|
-
hover: hover
|
|
6406
|
+
hover: hover,
|
|
6407
|
+
onClick: onClick
|
|
6371
6408
|
}, renderOption ? renderOption : name);
|
|
6372
6409
|
});
|
|
6373
6410
|
Option.displayName = "Option";
|
|
@@ -6433,9 +6470,9 @@
|
|
|
6433
6470
|
var StyledOptionGroupHeader = styled__default["default"].h3.withConfig({
|
|
6434
6471
|
displayName: "Styles__StyledOptionGroupHeader",
|
|
6435
6472
|
componentId: "sc-16v5afu-1"
|
|
6436
|
-
})(["height:28px;display:flex;justify-content:space-between;padding:0 16px;color:var(--color-theme-900);margin:6px 0;*{margin:auto 0;}"]);
|
|
6473
|
+
})(["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;}"]);
|
|
6437
6474
|
StyledOptionGroupHeader.displayName = "StyledOptionGroupHeader";
|
|
6438
|
-
var StyledOptionGroupOption = styled__default["default"].
|
|
6475
|
+
var StyledOptionGroupOption = styled__default["default"].div.withConfig({
|
|
6439
6476
|
displayName: "Styles__StyledOptionGroupOption",
|
|
6440
6477
|
componentId: "sc-16v5afu-2"
|
|
6441
6478
|
})(["", ""], function (props) {
|
|
@@ -6486,24 +6523,35 @@
|
|
|
6486
6523
|
e.stopPropagation();
|
|
6487
6524
|
|
|
6488
6525
|
if (onChange) {
|
|
6489
|
-
|
|
6526
|
+
if (isAllOptionsChecked) {
|
|
6527
|
+
onChange(checked.filter(function (i) {
|
|
6528
|
+
return allOptionValues.includes(i) === false;
|
|
6529
|
+
}));
|
|
6530
|
+
} else {
|
|
6531
|
+
var values = [].concat(_toConsumableArray(checked), _toConsumableArray(allOptionValues));
|
|
6532
|
+
var unique = values.filter(function (item, pos) {
|
|
6533
|
+
return values.indexOf(item) === pos;
|
|
6534
|
+
});
|
|
6535
|
+
onChange(unique);
|
|
6536
|
+
}
|
|
6490
6537
|
}
|
|
6491
|
-
}, [allOptionValues, onChange]);
|
|
6492
|
-
return /*#__PURE__*/React__default["default"].createElement(
|
|
6538
|
+
}, [allOptionValues, checked, isAllOptionsChecked, onChange]);
|
|
6539
|
+
return /*#__PURE__*/React__default["default"].createElement("li", {
|
|
6493
6540
|
key: id,
|
|
6494
|
-
className: classnames__default["default"]("c-option-group", optionGroupClassName)
|
|
6541
|
+
className: classnames__default["default"]("c-option-group tw-flex-col", optionGroupClassName)
|
|
6542
|
+
}, /*#__PURE__*/React__default["default"].createElement(StyledOptionGroup, {
|
|
6543
|
+
key: id
|
|
6495
6544
|
}, /*#__PURE__*/React__default["default"].createElement(StyledOptionGroupOption, {
|
|
6496
|
-
title: name,
|
|
6497
6545
|
onMouseEnter: handleHover,
|
|
6498
6546
|
hover: hover === id && type === "multiple"
|
|
6499
|
-
}, /*#__PURE__*/React__default["default"].createElement(StyledOptionGroupHeader, null,
|
|
6547
|
+
}, /*#__PURE__*/React__default["default"].createElement(StyledOptionGroupHeader, null, name, type === "multiple" && /*#__PURE__*/React__default["default"].createElement(Checkbox, {
|
|
6500
6548
|
id: "".concat(id),
|
|
6501
6549
|
checked: isAllOptionsChecked,
|
|
6502
6550
|
onChange: handleClick,
|
|
6503
6551
|
type: "checkbox"
|
|
6504
|
-
}))), list.map(function (item) {
|
|
6505
|
-
return renderOptions
|
|
6506
|
-
}));
|
|
6552
|
+
}))), /*#__PURE__*/React__default["default"].createElement(List, null, list.map(function (item, index) {
|
|
6553
|
+
return typeof renderOptions === "function" ? renderOptions(item, index) : item.name;
|
|
6554
|
+
}))));
|
|
6507
6555
|
};
|
|
6508
6556
|
OptionGroup.displayName = "OptionGroup";
|
|
6509
6557
|
|
|
@@ -6753,12 +6801,12 @@
|
|
|
6753
6801
|
});
|
|
6754
6802
|
});
|
|
6755
6803
|
StyledAutocompleteScrollShadow.displayName = "StyledAutocompleteScrollShadow";
|
|
6756
|
-
var StyledAutocompleteBody = styled__default["default"].
|
|
6804
|
+
var StyledAutocompleteBody = styled__default["default"](List).withConfig({
|
|
6757
6805
|
displayName: "Styles__StyledAutocompleteBody",
|
|
6758
6806
|
componentId: "sc-1bc1vz9-1"
|
|
6759
6807
|
})(["max-height:340px;overflow:auto;margin-bottom:6px;"]);
|
|
6760
6808
|
StyledAutocompleteBody.displayName = "StyledAutocompleteBody";
|
|
6761
|
-
var StyledAutocompleteNoResult = styled__default["default"].
|
|
6809
|
+
var StyledAutocompleteNoResult = styled__default["default"].li.withConfig({
|
|
6762
6810
|
displayName: "Styles__StyledAutocompleteNoResult",
|
|
6763
6811
|
componentId: "sc-1bc1vz9-2"
|
|
6764
6812
|
})(["", ";padding:6px 16px;margin:4px 0;&:hover{background-color:var(--color-theme-200);}color:var(--color-theme-600);"], {
|
|
@@ -6766,13 +6814,13 @@
|
|
|
6766
6814
|
"userSelect": "none"
|
|
6767
6815
|
});
|
|
6768
6816
|
StyledAutocompleteNoResult.displayName = "StyledAutocompleteNoResult";
|
|
6769
|
-
var StyledAutocompleteNewItem = styled__default["default"].
|
|
6817
|
+
var StyledAutocompleteNewItem = styled__default["default"](StyledOption).withConfig({
|
|
6770
6818
|
displayName: "Styles__StyledAutocompleteNewItem",
|
|
6771
6819
|
componentId: "sc-1bc1vz9-3"
|
|
6772
|
-
})(["", ";
|
|
6820
|
+
})(["", ";justify-content:start;&:before{content:\"+ \";margin-right:4px;}", ""], {
|
|
6773
6821
|
"cursor": "pointer",
|
|
6774
6822
|
"userSelect": "none"
|
|
6775
|
-
},
|
|
6823
|
+
}, function (props) {
|
|
6776
6824
|
return props.hover && styled.css(["background-color:var(--color-theme-200);content:\"+ \";"]);
|
|
6777
6825
|
});
|
|
6778
6826
|
StyledAutocompleteNewItem.displayName = "StyledAutocompleteNewItem";
|
|
@@ -6807,7 +6855,11 @@
|
|
|
6807
6855
|
var itemRef = React.useRef(null);
|
|
6808
6856
|
var listRef = React.useRef(null);
|
|
6809
6857
|
var selectedOptions = React.useMemo(function () {
|
|
6810
|
-
|
|
6858
|
+
if (Array.isArray(selected)) {
|
|
6859
|
+
return selected;
|
|
6860
|
+
}
|
|
6861
|
+
|
|
6862
|
+
return [selected];
|
|
6811
6863
|
}, [selected]);
|
|
6812
6864
|
var handleSort = React.useCallback(function (opts) {
|
|
6813
6865
|
if (keepSameOptionsOrder) {
|
|
@@ -6964,6 +7016,44 @@
|
|
|
6964
7016
|
setFilter(e.target.value);
|
|
6965
7017
|
}
|
|
6966
7018
|
}, []);
|
|
7019
|
+
var handleHoverCallback = React.useCallback(function (e) {
|
|
7020
|
+
setHover({
|
|
7021
|
+
item: e,
|
|
7022
|
+
by: "mouse"
|
|
7023
|
+
});
|
|
7024
|
+
}, []);
|
|
7025
|
+
var toggleSelected = React.useCallback(function (id) {
|
|
7026
|
+
var result;
|
|
7027
|
+
|
|
7028
|
+
if (id !== null) {
|
|
7029
|
+
if (type === "multiple") {
|
|
7030
|
+
if (selectedOptions.includes(id)) {
|
|
7031
|
+
result = selectedOptions.filter(function (_id) {
|
|
7032
|
+
return _id !== id;
|
|
7033
|
+
});
|
|
7034
|
+
} else {
|
|
7035
|
+
result = [].concat(_toConsumableArray(selectedOptions), [id]);
|
|
7036
|
+
}
|
|
7037
|
+
} else {
|
|
7038
|
+
if (selectedOptions.includes(id)) {
|
|
7039
|
+
result = null;
|
|
7040
|
+
} else {
|
|
7041
|
+
result = id;
|
|
7042
|
+
}
|
|
7043
|
+
}
|
|
7044
|
+
|
|
7045
|
+
setFilter("");
|
|
7046
|
+
} else {
|
|
7047
|
+
if (typeof handleDefaultOptionChange === "function") {
|
|
7048
|
+
handleDefaultOptionChange();
|
|
7049
|
+
return;
|
|
7050
|
+
}
|
|
7051
|
+
}
|
|
7052
|
+
|
|
7053
|
+
if (typeof handleChange === "function") {
|
|
7054
|
+
handleChange(result);
|
|
7055
|
+
}
|
|
7056
|
+
}, [handleChange, handleDefaultOptionChange, selectedOptions, type]);
|
|
6967
7057
|
var handleMouseEnter = React.useCallback(function (e) {
|
|
6968
7058
|
if (e === undefined || e === null) {
|
|
6969
7059
|
return setHover({
|
|
@@ -6977,13 +7067,11 @@
|
|
|
6977
7067
|
by: "mouse"
|
|
6978
7068
|
});
|
|
6979
7069
|
}, []);
|
|
6980
|
-
var
|
|
6981
|
-
|
|
6982
|
-
|
|
6983
|
-
|
|
6984
|
-
|
|
6985
|
-
}, []);
|
|
6986
|
-
var handleRenderOption = React.useCallback(function (item) {
|
|
7070
|
+
var handleClick = React.useCallback(function (e) {
|
|
7071
|
+
e.preventDefault();
|
|
7072
|
+
toggleSelected(hover.item);
|
|
7073
|
+
}, [toggleSelected, hover]);
|
|
7074
|
+
var handleRenderOption = React.useCallback(function (item, index) {
|
|
6987
7075
|
if (isGroup(item)) {
|
|
6988
7076
|
return /*#__PURE__*/React__default["default"].createElement(OptionGroup, {
|
|
6989
7077
|
checked: selectedOptions,
|
|
@@ -7003,8 +7091,9 @@
|
|
|
7003
7091
|
return /*#__PURE__*/React__default["default"].createElement(Option, {
|
|
7004
7092
|
name: item.name,
|
|
7005
7093
|
ref: itemRef,
|
|
7006
|
-
key:
|
|
7094
|
+
key: index,
|
|
7007
7095
|
onMouseEnter: handleMouseEnter,
|
|
7096
|
+
onClick: handleClick,
|
|
7008
7097
|
id: item.id,
|
|
7009
7098
|
hover: item.id === hover.item,
|
|
7010
7099
|
className: optionClassName,
|
|
@@ -7019,7 +7108,7 @@
|
|
|
7019
7108
|
}
|
|
7020
7109
|
})
|
|
7021
7110
|
});
|
|
7022
|
-
}, [handleMouseEnter, hover.item, optionClassName, renderOption, filter, selectedOptions, handleHoverCallback, type, handleChange]);
|
|
7111
|
+
}, [handleClick, handleMouseEnter, hover.item, optionClassName, renderOption, filter, selectedOptions, handleHoverCallback, type, handleChange]);
|
|
7023
7112
|
var handleOnMouseLeave = React.useCallback(function () {
|
|
7024
7113
|
setHover({
|
|
7025
7114
|
item: undefined,
|
|
@@ -7063,8 +7152,8 @@
|
|
|
7063
7152
|
return;
|
|
7064
7153
|
}
|
|
7065
7154
|
|
|
7066
|
-
if (
|
|
7067
|
-
|
|
7155
|
+
if (hover.item) {
|
|
7156
|
+
toggleSelected(hover.item);
|
|
7068
7157
|
setFilter("");
|
|
7069
7158
|
}
|
|
7070
7159
|
|
|
@@ -7075,18 +7164,7 @@
|
|
|
7075
7164
|
item: handleKeyboardMovement(e, hover.item, flatOptions, showAddNew, showDefaultOption),
|
|
7076
7165
|
by: "keyboard"
|
|
7077
7166
|
});
|
|
7078
|
-
}, [filter, flatOptions,
|
|
7079
|
-
var handleClick = React.useCallback(function () {
|
|
7080
|
-
if (hover.item === null && handleDefaultOptionChange) {
|
|
7081
|
-
handleDefaultOptionChange();
|
|
7082
|
-
}
|
|
7083
|
-
|
|
7084
|
-
if (handleChange) {
|
|
7085
|
-
handleChange(hover === null || hover === void 0 ? void 0 : hover.item);
|
|
7086
|
-
}
|
|
7087
|
-
|
|
7088
|
-
setFilter("");
|
|
7089
|
-
}, [handleChange, handleDefaultOptionChange, hover]);
|
|
7167
|
+
}, [filter, flatOptions, toggleSelected, handleDefaultOptionChange, handleEmpty, hover, showAddNew, showDefaultOption]);
|
|
7090
7168
|
React.useEffect(function () {
|
|
7091
7169
|
if (inputEl) {
|
|
7092
7170
|
inputEl.onkeydown = handleOnKeyDown;
|
|
@@ -7113,7 +7191,6 @@
|
|
|
7113
7191
|
var onScroll = _ref2.onScroll;
|
|
7114
7192
|
return /*#__PURE__*/React__default["default"].createElement(StyledAutocompleteBody, {
|
|
7115
7193
|
key: "body",
|
|
7116
|
-
onChange: handleClick,
|
|
7117
7194
|
onMouseLeave: handleOnMouseLeave
|
|
7118
7195
|
}, /*#__PURE__*/React__default["default"].createElement(reactCustomScrollbars.Scrollbars, {
|
|
7119
7196
|
ref: listRef,
|
|
@@ -7126,6 +7203,10 @@
|
|
|
7126
7203
|
ref: itemRef,
|
|
7127
7204
|
hover: hover.item === null,
|
|
7128
7205
|
onMouseEnter: handleMouseEnter,
|
|
7206
|
+
onClick: function onClick(e) {
|
|
7207
|
+
e.preventDefault();
|
|
7208
|
+
toggleSelected(null);
|
|
7209
|
+
},
|
|
7129
7210
|
renderOption: renderOption({
|
|
7130
7211
|
name: defaultValue,
|
|
7131
7212
|
id: null
|
|
@@ -7136,8 +7217,8 @@
|
|
|
7136
7217
|
return null;
|
|
7137
7218
|
}
|
|
7138
7219
|
})
|
|
7139
|
-
}), list.map(function (item) {
|
|
7140
|
-
return handleRenderOption(item);
|
|
7220
|
+
}), list.map(function (item, index) {
|
|
7221
|
+
return handleRenderOption(item, index);
|
|
7141
7222
|
}), showNoResult && renderNoResult, showAddNew && renderAddNew));
|
|
7142
7223
|
});
|
|
7143
7224
|
};
|
|
@@ -7370,7 +7451,7 @@
|
|
|
7370
7451
|
};
|
|
7371
7452
|
OptionContent.displayName = "OptionContent";
|
|
7372
7453
|
|
|
7373
|
-
var _excluded$t = ["type", "mode", "target", "options", "selected", "position", "onChange", "actionIcon", "actionLabel", "placeholder", "emptyAction", "disableSearch", "forceCloseMenu", "selectClassName", "keepSameOptionsOrder", "onSelectOpen", "onSelectClose"];
|
|
7454
|
+
var _excluded$t = ["type", "mode", "target", "options", "selected", "position", "onChange", "actionIcon", "actionLabel", "placeholder", "emptyAction", "disableSearch", "forceCloseMenu", "selectClassName", "keepSameOptionsOrder", "onSelectOpen", "onSelectClose", "renderOption"];
|
|
7374
7455
|
var Select = function Select(_ref) {
|
|
7375
7456
|
var _ref$type = _ref.type,
|
|
7376
7457
|
type = _ref$type === void 0 ? "single" : _ref$type,
|
|
@@ -7400,6 +7481,7 @@
|
|
|
7400
7481
|
keepSameOptionsOrder = _ref$keepSameOptionsO === void 0 ? false : _ref$keepSameOptionsO,
|
|
7401
7482
|
onSelectOpen = _ref.onSelectOpen,
|
|
7402
7483
|
onSelectClose = _ref.onSelectClose,
|
|
7484
|
+
renderOption = _ref.renderOption,
|
|
7403
7485
|
prop = _objectWithoutProperties(_ref, _excluded$t);
|
|
7404
7486
|
|
|
7405
7487
|
var _useState = React.useState(),
|
|
@@ -7452,41 +7534,12 @@
|
|
|
7452
7534
|
open && (childNode === null || childNode === void 0 ? void 0 : childNode.focus());
|
|
7453
7535
|
}, [childNode, open]);
|
|
7454
7536
|
var handleChange = React.useCallback(function (selectedValue) {
|
|
7455
|
-
if (
|
|
7456
|
-
|
|
7457
|
-
if (forceCloseMenu) {
|
|
7458
|
-
setOpen(false);
|
|
7459
|
-
}
|
|
7460
|
-
|
|
7461
|
-
return onChange(selectedValue);
|
|
7462
|
-
} // multiple
|
|
7463
|
-
|
|
7464
|
-
|
|
7465
|
-
var value = function value() {
|
|
7466
|
-
if (selectedValue instanceof Array) {
|
|
7467
|
-
if (selectedValue.every(function (v) {
|
|
7468
|
-
return selectedOptions.includes(v);
|
|
7469
|
-
})) {
|
|
7470
|
-
return selectedOptions.filter(function (v) {
|
|
7471
|
-
return !selectedValue.includes(v);
|
|
7472
|
-
});
|
|
7473
|
-
}
|
|
7474
|
-
|
|
7475
|
-
return selectedValue.concat(selectedOptions);
|
|
7476
|
-
}
|
|
7477
|
-
|
|
7478
|
-
if (selectedOptions.includes(selectedValue)) {
|
|
7479
|
-
return selectedOptions.filter(function (option) {
|
|
7480
|
-
return option !== selectedValue;
|
|
7481
|
-
});
|
|
7482
|
-
}
|
|
7483
|
-
|
|
7484
|
-
return [].concat(_toConsumableArray(selectedOptions), [selectedValue]);
|
|
7485
|
-
};
|
|
7486
|
-
|
|
7487
|
-
return onChange(value());
|
|
7537
|
+
if (forceCloseMenu) {
|
|
7538
|
+
setOpen(false);
|
|
7488
7539
|
}
|
|
7489
|
-
|
|
7540
|
+
|
|
7541
|
+
onChange(selectedValue);
|
|
7542
|
+
}, [onChange, forceCloseMenu]);
|
|
7490
7543
|
var onClose = React.useCallback(function () {
|
|
7491
7544
|
setOpen(false);
|
|
7492
7545
|
|
|
@@ -7545,6 +7598,10 @@
|
|
|
7545
7598
|
}
|
|
7546
7599
|
}, [onChange, type, forceCloseMenu, selectedOptions.length, allOptionValues]);
|
|
7547
7600
|
var handleRenderOption = React.useCallback(function (option, props) {
|
|
7601
|
+
if (typeof renderOption === "function") {
|
|
7602
|
+
return renderOption(option, props);
|
|
7603
|
+
}
|
|
7604
|
+
|
|
7548
7605
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(OptionContent, {
|
|
7549
7606
|
imageUrl: option.image,
|
|
7550
7607
|
color: option.color,
|
|
@@ -7556,7 +7613,7 @@
|
|
|
7556
7613
|
}, props)) : /*#__PURE__*/React__default["default"].createElement(StyledRadioButton, _extends({
|
|
7557
7614
|
checked: selectedOptions.length < 1 || !selectedOptions[0]
|
|
7558
7615
|
}, props)) : type === "multiple" ? /*#__PURE__*/React__default["default"].createElement(StyledCheckbox, props) : /*#__PURE__*/React__default["default"].createElement(StyledRadioButton, props));
|
|
7559
|
-
}, [isAllOptionsChecked, selectedOptions, type]);
|
|
7616
|
+
}, [isAllOptionsChecked, renderOption, selectedOptions, type]);
|
|
7560
7617
|
return /*#__PURE__*/React__default["default"].createElement(Tag, props, /*#__PURE__*/React__default["default"].createElement("div", null, !disableSearch ? /*#__PURE__*/React__default["default"].createElement(StyledSelectForm, {
|
|
7561
7618
|
ref: formRef
|
|
7562
7619
|
}, /*#__PURE__*/React__default["default"].createElement(StyledSelectInput, {
|
|
@@ -9158,12 +9215,25 @@
|
|
|
9158
9215
|
};
|
|
9159
9216
|
SlideFromTop.displayName = "SlideFromTop";
|
|
9160
9217
|
|
|
9218
|
+
var size = {
|
|
9219
|
+
sm: "640px",
|
|
9220
|
+
md: "768px",
|
|
9221
|
+
lg: "1024px",
|
|
9222
|
+
xl: "1280px",
|
|
9223
|
+
xxl: "1536px"
|
|
9224
|
+
};
|
|
9225
|
+
var screen = {
|
|
9226
|
+
sm: "@media (min-width: ".concat(size.sm, ")"),
|
|
9227
|
+
md: "@media (min-width: ".concat(size.md, ")"),
|
|
9228
|
+
lg: "@media (min-width: ".concat(size.lg, ")"),
|
|
9229
|
+
xl: "@media (min-width: ".concat(size.xl, ")"),
|
|
9230
|
+
xxl: "@media (min-width: ".concat(size.xxl, ")")
|
|
9231
|
+
};
|
|
9232
|
+
|
|
9161
9233
|
var StyledDialog = styled__default["default"].div.withConfig({
|
|
9162
9234
|
displayName: "Styles__StyledDialog",
|
|
9163
9235
|
componentId: "sc-jwpvgm-0"
|
|
9164
|
-
})(["max-height:calc(100vh - 156px);background-color:var(--page-paper-main);color:var(--color-theme-900);box-shadow:var(--shadow-primary);
|
|
9165
|
-
"borderRadius": "0.5rem"
|
|
9166
|
-
}, FontStyle, BoxSizingStyle);
|
|
9236
|
+
})(["display:flex;flex-direction:column;flex:1 1 auto;max-height:calc(100vh - 156px);background-color:var(--page-paper-main);color:var(--color-theme-900);box-shadow:var(--shadow-primary);border-radius:8px;width:310px;margin:60px auto 30px auto;position:relative;", " ", " ", "{width:540px;margin:126px auto 30px auto;}"], FontStyle, BoxSizingStyle, screen.sm);
|
|
9167
9237
|
StyledDialog.displayName = "StyledDialog";
|
|
9168
9238
|
var StyledDialogTitle = styled__default["default"].div.withConfig({
|
|
9169
9239
|
displayName: "Styles__StyledDialogTitle",
|
|
@@ -10351,7 +10421,7 @@
|
|
|
10351
10421
|
})(["transform:rotate(180deg);margin-left:8px;flex-shrink:0;"]);
|
|
10352
10422
|
StyledCaretIcon.displayName = "StyledCaretIcon";
|
|
10353
10423
|
|
|
10354
|
-
var _excluded$5 = ["children", "type", "size", "invalid"];
|
|
10424
|
+
var _excluded$5 = ["children", "type", "size", "invalid", "endAdornment"];
|
|
10355
10425
|
var SelectTrigger = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
10356
10426
|
var children = _ref.children,
|
|
10357
10427
|
_ref$type = _ref.type,
|
|
@@ -10360,6 +10430,7 @@
|
|
|
10360
10430
|
size = _ref$size === void 0 ? "regular" : _ref$size,
|
|
10361
10431
|
_ref$invalid = _ref.invalid,
|
|
10362
10432
|
invalid = _ref$invalid === void 0 ? false : _ref$invalid,
|
|
10433
|
+
endAdornment = _ref.endAdornment,
|
|
10363
10434
|
rest = _objectWithoutProperties(_ref, _excluded$5);
|
|
10364
10435
|
|
|
10365
10436
|
return /*#__PURE__*/React__default["default"].createElement(StyledSelectTrigger, _extends({
|
|
@@ -10373,7 +10444,7 @@
|
|
|
10373
10444
|
overflow: "truncate",
|
|
10374
10445
|
whitespace: "no-wrap",
|
|
10375
10446
|
variant: size === "small" || size === "regular" ? "Body 2" : "Body 1"
|
|
10376
|
-
}, children), /*#__PURE__*/React__default["default"].createElement(StyledCaretIcon, null));
|
|
10447
|
+
}, children), endAdornment ? endAdornment : /*#__PURE__*/React__default["default"].createElement(StyledCaretIcon, null));
|
|
10377
10448
|
});
|
|
10378
10449
|
SelectTrigger.displayName = "SelectTrigger";
|
|
10379
10450
|
|
|
@@ -11276,9 +11347,9 @@
|
|
|
11276
11347
|
});
|
|
11277
11348
|
ChipCloseIcon.displayName = "ChipCloseIcon";
|
|
11278
11349
|
|
|
11279
|
-
var _excluded = ["
|
|
11350
|
+
var _excluded = ["leftAdornment", "label", "onClose"];
|
|
11280
11351
|
var Chip = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
|
|
11281
|
-
var
|
|
11352
|
+
var leftAdornment = _ref.leftAdornment,
|
|
11282
11353
|
label = _ref.label,
|
|
11283
11354
|
onClose = _ref.onClose,
|
|
11284
11355
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
@@ -11287,10 +11358,7 @@
|
|
|
11287
11358
|
return /*#__PURE__*/React__default["default"].createElement(ChipContainer, _extends({}, rest, {
|
|
11288
11359
|
ref: ref,
|
|
11289
11360
|
$showClose: showClose
|
|
11290
|
-
}),
|
|
11291
|
-
size: 18,
|
|
11292
|
-
url: url
|
|
11293
|
-
}) : null, /*#__PURE__*/React__default["default"].createElement(ChipLabel, null, label), showClose ? /*#__PURE__*/React__default["default"].createElement(ChipTrigger, {
|
|
11361
|
+
}), leftAdornment, /*#__PURE__*/React__default["default"].createElement(ChipLabel, null, label), showClose ? /*#__PURE__*/React__default["default"].createElement(ChipTrigger, {
|
|
11294
11362
|
onClick: onClose
|
|
11295
11363
|
}, /*#__PURE__*/React__default["default"].createElement(ChipCloseIcon, {
|
|
11296
11364
|
fill: "currentColor"
|
|
@@ -11308,11 +11376,13 @@
|
|
|
11308
11376
|
exports.AddCrossTinyIcon = AddCrossTinyIcon$1;
|
|
11309
11377
|
exports.ApplauseIcon = ApplauseIcon$1;
|
|
11310
11378
|
exports.ArrowCollapseMultipleIcon = ArrowCollapseMultipleIcon$1;
|
|
11379
|
+
exports.ArrowDownLongIcon = ArrowDownLongIcon$1;
|
|
11311
11380
|
exports.ArrowExpandeMultipleIcon = ArrowExpandeMultipleIcon$1;
|
|
11312
11381
|
exports.ArrowLeftBoxIcon = ArrowLeftBoxIcon$1;
|
|
11313
11382
|
exports.ArrowLeftIcon = ArrowLeftIcon$1;
|
|
11314
11383
|
exports.ArrowRefreshIcon = ArrowRefreshIcon$1;
|
|
11315
11384
|
exports.ArrowRightIcon = ArrowRightIcon$1;
|
|
11385
|
+
exports.ArrowUpLongIcon = ArrowUpLongIcon$1;
|
|
11316
11386
|
exports.AssignIcon = AssignIcon$1;
|
|
11317
11387
|
exports.AttachmentIcon = AttachmentIcon$1;
|
|
11318
11388
|
exports.AutoResizeTextarea = AutoResizeTextarea;
|