@consta/uikit 4.30.0 → 4.31.0
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/MixFlex/index.d.ts +1 -0
- package/MixFlex/index.js +1 -0
- package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsCanary.js +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsCanary.js.map +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.js +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.js.map +1 -1
- package/__internal__/src/components/Combobox/Combobox.js +1 -1
- package/__internal__/src/components/Combobox/Combobox.js.map +1 -1
- package/__internal__/src/components/ComboboxCanary/ComboboxCanary.js +1 -1
- package/__internal__/src/components/ComboboxCanary/ComboboxCanary.js.map +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.css +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.js +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.js.map +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.d.ts +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.js +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.js.map +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevels/ContextMenuLevels.js +1 -1
- package/__internal__/src/components/ContextMenu/ContextMenuLevels/ContextMenuLevels.js.map +1 -1
- package/__internal__/src/components/ContextMenu/helpers.d.ts +4 -2
- package/__internal__/src/components/ContextMenu/types.d.ts +3 -3
- package/__internal__/src/components/ContextMenu/types.js.map +1 -1
- package/__internal__/src/components/ContextMenu/useMenuNavigation.d.ts +23 -0
- package/__internal__/src/components/ContextMenu/useMenuNavigation.js +2 -0
- package/__internal__/src/components/ContextMenu/useMenuNavigation.js.map +1 -0
- package/__internal__/src/components/ListCanary/ListItem/ListItem.css +1 -1
- package/__internal__/src/components/ListCanary/ListItem/ListItem.js +1 -1
- package/__internal__/src/components/ListCanary/ListItem/ListItem.js.map +1 -1
- package/__internal__/src/components/Responses/Responses.d.ts +1 -1
- package/__internal__/src/components/Responses/Responses.js.map +1 -1
- package/__internal__/src/components/Responses/createResponses.d.ts +1 -1
- package/__internal__/src/components/Responses/createResponses.js.map +1 -1
- package/__internal__/src/components/Responses403/Responses403.js +1 -1
- package/__internal__/src/components/Responses403/Responses403.js.map +1 -1
- package/__internal__/src/components/Responses403/index.d.ts +1 -0
- package/__internal__/src/components/Responses403/index.js +1 -1
- package/__internal__/src/components/Responses403/index.js.map +1 -1
- package/__internal__/src/components/Responses404/Responses404.js +1 -1
- package/__internal__/src/components/Responses404/Responses404.js.map +1 -1
- package/__internal__/src/components/Responses404/index.d.ts +1 -0
- package/__internal__/src/components/Responses404/index.js +1 -1
- package/__internal__/src/components/Responses404/index.js.map +1 -1
- package/__internal__/src/components/Responses500/Responses500.js +1 -1
- package/__internal__/src/components/Responses500/Responses500.js.map +1 -1
- package/__internal__/src/components/Responses500/index.d.ts +1 -0
- package/__internal__/src/components/Responses500/index.js +1 -1
- package/__internal__/src/components/Responses500/index.js.map +1 -1
- package/__internal__/src/components/Responses503/Responses503.js +1 -1
- package/__internal__/src/components/Responses503/Responses503.js.map +1 -1
- package/__internal__/src/components/Responses503/index.d.ts +1 -0
- package/__internal__/src/components/Responses503/index.js +1 -1
- package/__internal__/src/components/Responses503/index.js.map +1 -1
- package/__internal__/src/components/ResponsesConnectionError/ResponsesConnectionError.js +1 -1
- package/__internal__/src/components/ResponsesConnectionError/ResponsesConnectionError.js.map +1 -1
- package/__internal__/src/components/ResponsesConnectionError/index.d.ts +1 -0
- package/__internal__/src/components/ResponsesConnectionError/index.js +1 -1
- package/__internal__/src/components/ResponsesConnectionError/index.js.map +1 -1
- package/__internal__/src/components/ResponsesDeleted/ResponsesDeleted.js +1 -1
- package/__internal__/src/components/ResponsesDeleted/ResponsesDeleted.js.map +1 -1
- package/__internal__/src/components/ResponsesDeleted/index.d.ts +1 -0
- package/__internal__/src/components/ResponsesDeleted/index.js +1 -1
- package/__internal__/src/components/ResponsesDeleted/index.js.map +1 -1
- package/__internal__/src/components/ResponsesEmptyBox/ResponsesEmptyBox.js +1 -1
- package/__internal__/src/components/ResponsesEmptyBox/ResponsesEmptyBox.js.map +1 -1
- package/__internal__/src/components/ResponsesEmptyBox/index.d.ts +1 -0
- package/__internal__/src/components/ResponsesEmptyBox/index.js +1 -1
- package/__internal__/src/components/ResponsesEmptyBox/index.js.map +1 -1
- package/__internal__/src/components/ResponsesEmptyPockets/ResponsesEmptyPockets.js +1 -1
- package/__internal__/src/components/ResponsesEmptyPockets/ResponsesEmptyPockets.js.map +1 -1
- package/__internal__/src/components/ResponsesEmptyPockets/index.d.ts +1 -0
- package/__internal__/src/components/ResponsesEmptyPockets/index.js +1 -1
- package/__internal__/src/components/ResponsesEmptyPockets/index.js.map +1 -1
- package/__internal__/src/components/ResponsesExit/ResponsesExit.js +1 -1
- package/__internal__/src/components/ResponsesExit/ResponsesExit.js.map +1 -1
- package/__internal__/src/components/ResponsesNothingFound/ResponsesNothingFound.js +1 -1
- package/__internal__/src/components/ResponsesNothingFound/ResponsesNothingFound.js.map +1 -1
- package/__internal__/src/components/ResponsesNothingFound/index.d.ts +1 -0
- package/__internal__/src/components/ResponsesNothingFound/index.js +1 -1
- package/__internal__/src/components/ResponsesNothingFound/index.js.map +1 -1
- package/__internal__/src/components/ResponsesSuccess/ResponsesSuccess.js +1 -1
- package/__internal__/src/components/ResponsesSuccess/ResponsesSuccess.js.map +1 -1
- package/__internal__/src/components/ResponsesSuccess/index.d.ts +1 -0
- package/__internal__/src/components/ResponsesSuccess/index.js +1 -1
- package/__internal__/src/components/ResponsesSuccess/index.js.map +1 -1
- package/__internal__/src/components/Select/Select.js +1 -1
- package/__internal__/src/components/Select/Select.js.map +1 -1
- package/__internal__/src/components/SelectCanary/SelectCanary.js +1 -1
- package/__internal__/src/components/SelectCanary/SelectCanary.js.map +1 -1
- package/__internal__/src/components/ThemeToggler/ThemeToggler.js +1 -1
- package/__internal__/src/components/ThemeToggler/ThemeToggler.js.map +1 -1
- package/__internal__/src/components/UserSelect/UserSelect.js +1 -1
- package/__internal__/src/components/UserSelect/UserSelect.js.map +1 -1
- package/__internal__/src/components/UserSelectCanary/UserSelectCanary.js +1 -1
- package/__internal__/src/components/UserSelectCanary/UserSelectCanary.js.map +1 -1
- package/__internal__/src/hocs/withTooltip/withTooltip.d.ts +1 -1
- package/__internal__/src/hocs/withTooltip/withTooltip.js +1 -1
- package/__internal__/src/hocs/withTooltip/withTooltip.js.map +1 -1
- package/__internal__/src/hooks/useDebounce/useDebounce.js +1 -1
- package/__internal__/src/hooks/useDebounce/useDebounce.js.map +1 -1
- package/__internal__/src/hooks/useMutableRef/useMutableRef.js +1 -1
- package/__internal__/src/hooks/useMutableRef/useMutableRef.js.map +1 -1
- package/__internal__/src/mixs/MixFlex/MixFlex.css +1 -0
- package/__internal__/src/mixs/MixFlex/MixFlex.d.ts +24 -0
- package/__internal__/src/mixs/MixFlex/MixFlex.js +2 -0
- package/__internal__/src/mixs/MixFlex/MixFlex.js.map +1 -0
- package/__internal__/src/mixs/MixFlex/index.d.ts +1 -0
- package/__internal__/src/mixs/MixFlex/index.js +2 -0
- package/__internal__/src/mixs/MixFlex/index.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeToggler.js","names":["IconCheck","React","forwardRef","useRef","Button","ContextMenu","usePropsHandler","useChoiceGroup","useFlag","useForkRef","contextMenuSizeMap","iconSizeMap","withDefaultGetters","themeTogglerPropSizeDefault","COMPONENT_NAME","ThemeTogglerRender","props","ref","anchorRef","buttonRef","size","items","value","onChange","getItemKey","getItemLabel","getItemIcon","direction","possibleDirections","style","view","otherProps","isOpen","setIsOpen","getKey","callBack","multiple","getOnChange","getChecked","iconSize","contextMenuSize","length","getButtonIcon","find","theme","onButtonClick","e","toggle","renderIcons","item","Icon","renderChecks","off","params","zIndex","ThemeToggler"],"sources":["../../../../../src/components/ThemeToggler/ThemeToggler.tsx"],"sourcesContent":["import { IconCheck } from '@consta/icons/IconCheck';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { Button } from '##/components/Button';\nimport { ContextMenu } from '##/components/ContextMenu';\nimport { usePropsHandler } from '##/components/EventInterceptor/usePropsHandler';\nimport { useChoiceGroup } from '##/hooks/useChoiceGroup';\nimport { useFlag } from '##/hooks/useFlag';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport { contextMenuSizeMap, iconSizeMap, withDefaultGetters } from './helpers';\nimport {\n ThemeTogglerComponent,\n ThemeTogglerProps,\n themeTogglerPropSizeDefault,\n} from './types';\n\nexport const COMPONENT_NAME = 'ThemeToggler' as const;\n\nconst ThemeTogglerRender = (\n props: ThemeTogglerProps,\n ref: React.Ref<HTMLButtonElement>,\n) => {\n const anchorRef = useRef<HTMLButtonElement>(null);\n const buttonRef = useForkRef([anchorRef, ref]);\n\n const {\n size = themeTogglerPropSizeDefault,\n items,\n value,\n onChange,\n getItemKey,\n getItemLabel,\n getItemIcon,\n direction,\n possibleDirections,\n style,\n view = 'clear',\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), buttonRef);\n\n const [isOpen, setIsOpen] = useFlag(false);\n\n const { getOnChange, getChecked } = useChoiceGroup({\n value,\n getKey: getItemKey || getItemLabel,\n callBack: onChange,\n multiple: false,\n });\n\n type Item = typeof items[number];\n\n const iconSize = iconSizeMap[size];\n const contextMenuSize = contextMenuSizeMap[size];\n\n const getButtonIcon = () =>\n getItemIcon(items.find((theme) => getChecked(theme)) ?? items[0]);\n\n const onButtonClick = (e: React.MouseEvent<Element, MouseEvent>) => {\n if (items.length > 2) {\n setIsOpen.toggle();\n } else {\n getOnChange(items[getChecked(items[0]) ? 1 : 0])(e);\n }\n };\n\n const renderIcons = (item: Item) => {\n const Icon = getItemIcon(item);\n\n if (Icon) {\n return <Icon size={iconSize} />;\n }\n };\n\n const renderChecks = (item: Item) => {\n if (getChecked(item)) {\n return <IconCheck size={iconSize} />;\n }\n };\n\n if (items.length <= 1) {\n return null;\n }\n\n return (\n <>\n <Button\n {...otherProps}\n ref={buttonRef}\n iconLeft={getButtonIcon()}\n onClick={onButtonClick}\n onlyIcon\n size={size}\n view={view}\n style={style}\n />\n {items.length > 2 && (\n <ContextMenu\n isOpen={isOpen}\n offset=\"s\"\n items={items}\n getItemLabel={getItemLabel}\n getItemKey={getItemKey || getItemLabel}\n anchorRef={anchorRef}\n direction={direction}\n possibleDirections={possibleDirections}\n getItemLeftSide={renderIcons}\n getItemRightSide={renderChecks}\n onClickOutside={setIsOpen.off}\n onItemClick={(params) => getOnChange(params.item)(params.e)}\n size={contextMenuSize}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n )}\n </>\n );\n};\n\nexport const ThemeToggler = forwardRef(\n ThemeTogglerRender,\n) as ThemeTogglerComponent;\n\nexport * from './types';\n"],"mappings":"kSAAA,OAASA,SAAT,KAA0B,yBAA1B,CACA,MAAOC,MAAP,EAAgBC,UAAhB,CAA4BC,MAA5B,KAA0C,OAA1C,CAEA,OAASC,MAAT,iBACA,OAASC,WAAT,sBACA,OAASC,eAAT,2CACA,OAASC,cAAT,kCACA,OAASC,OAAT,2BACA,OAASC,UAAT,8BAEA,OAASC,kBAAT,CAA6BC,WAA7B,CAA0CC,kBAA1C,iBACA,OAGEC,2BAHF,eAMA,MAAO,IAAMC,eAAc,CAAG,cAAvB,CAEP,GAAMC,mBAAkB,CAAG,SACzBC,CADyB,CAEzBC,CAFyB,CAGtB,IACGC,EAAS,CAAGf,MAAM,CAAoB,IAApB,CADrB,CAEGgB,CAAS,CAAGV,UAAU,CAAC,CAACS,CAAD,CAAYD,CAAZ,CAAD,CAFzB,GAiBCX,eAAe,CAACQ,cAAD,CAAiBF,kBAAkB,CAACI,CAAD,CAAnC,CAA4CG,CAA5C,CAjBhB,KAKDC,IALC,CAKDA,CALC,YAKMP,2BALN,GAMDQ,CANC,GAMDA,KANC,CAODC,CAPC,GAODA,KAPC,CAQDC,CARC,GAQDA,QARC,CASDC,CATC,GASDA,UATC,CAUDC,CAVC,GAUDA,YAVC,CAWDC,CAXC,GAWDA,WAXC,CAYDC,CAZC,GAYDA,SAZC,CAaDC,CAbC,GAaDA,kBAbC,CAcDC,CAdC,GAcDA,KAdC,KAeDC,IAfC,CAeDA,CAfC,YAeM,OAfN,GAgBEC,CAhBF,yCAmByBvB,OAAO,IAnBhC,uBAmBIwB,CAnBJ,MAmBYC,CAnBZ,QAqBiC1B,cAAc,CAAC,CACjDe,KAAK,CAALA,CADiD,CAEjDY,MAAM,CAAEV,CAAU,EAAIC,CAF2B,CAGjDU,QAAQ,CAAEZ,CAHuC,CAIjDa,QAAQ,GAJyC,CAAD,CArB/C,CAqBKC,CArBL,GAqBKA,WArBL,CAqBkBC,CArBlB,GAqBkBA,UArBlB,CA8BGC,CAAQ,CAAG5B,WAAW,CAACS,CAAD,CA9BzB,CA+BGoB,CAAe,CAAG9B,kBAAkB,CAACU,CAAD,CA/BvC,OA0DiB,EAAhB,EAAAC,CAAK,CAACoB,MA1DP,CA2DM,IA3DN,CA+DD,wCACE,oBAAC,MAAD,kBACMV,CADN,EAEE,GAAG,CAAEZ,CAFP,CAGE,QAAQ,CAlCQ,QAAhBuB,cAAgB,eACpBhB,EAAW,WAACL,CAAK,CAACsB,IAAN,CAAW,SAACC,CAAD,QAAWN,EAAU,CAACM,CAAD,CAArB,CAAX,CAAD,gBAA6CvB,CAAK,CAAC,CAAD,CAAlD,CADS,CAkCN,EAHZ,CAIE,OAAO,CAhCS,QAAhBwB,cAAgB,CAACC,CAAD,CAA8C,CAC/C,CAAf,CAAAzB,CAAK,CAACoB,MADwD,CAEhER,CAAS,CAACc,MAAV,EAFgE,CAIhEV,CAAW,CAAChB,CAAK,CAACiB,CAAU,CAACjB,CAAK,CAAC,CAAD,CAAN,CAAV,CAAuB,CAAvB,CAA2B,CAA5B,CAAN,CAAX,CAAiDyB,CAAjD,CAEH,CAsBG,CAKE,QAAQ,GALV,CAME,IAAI,
|
|
1
|
+
{"version":3,"file":"ThemeToggler.js","names":["IconCheck","React","forwardRef","useRef","Button","ContextMenu","usePropsHandler","useChoiceGroup","useFlag","useForkRef","contextMenuSizeMap","iconSizeMap","withDefaultGetters","themeTogglerPropSizeDefault","COMPONENT_NAME","ThemeTogglerRender","props","ref","anchorRef","buttonRef","size","items","value","onChange","getItemKey","getItemLabel","getItemIcon","direction","possibleDirections","style","view","otherProps","isOpen","setIsOpen","getKey","callBack","multiple","getOnChange","getChecked","iconSize","contextMenuSize","length","getButtonIcon","find","theme","onButtonClick","e","toggle","renderIcons","item","Icon","renderChecks","off","params","zIndex","ThemeToggler"],"sources":["../../../../../src/components/ThemeToggler/ThemeToggler.tsx"],"sourcesContent":["import { IconCheck } from '@consta/icons/IconCheck';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { Button } from '##/components/Button';\nimport { ContextMenu } from '##/components/ContextMenu';\nimport { usePropsHandler } from '##/components/EventInterceptor/usePropsHandler';\nimport { useChoiceGroup } from '##/hooks/useChoiceGroup';\nimport { useFlag } from '##/hooks/useFlag';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport { contextMenuSizeMap, iconSizeMap, withDefaultGetters } from './helpers';\nimport {\n ThemeTogglerComponent,\n ThemeTogglerProps,\n themeTogglerPropSizeDefault,\n} from './types';\n\nexport const COMPONENT_NAME = 'ThemeToggler' as const;\n\nconst ThemeTogglerRender = (\n props: ThemeTogglerProps,\n ref: React.Ref<HTMLButtonElement>,\n) => {\n const anchorRef = useRef<HTMLButtonElement>(null);\n const buttonRef = useForkRef([anchorRef, ref]);\n\n const {\n size = themeTogglerPropSizeDefault,\n items,\n value,\n onChange,\n getItemKey,\n getItemLabel,\n getItemIcon,\n direction,\n possibleDirections,\n style,\n view = 'clear',\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), buttonRef);\n\n const [isOpen, setIsOpen] = useFlag(false);\n\n const { getOnChange, getChecked } = useChoiceGroup({\n value,\n getKey: getItemKey || getItemLabel,\n callBack: onChange,\n multiple: false,\n });\n\n type Item = typeof items[number];\n\n const iconSize = iconSizeMap[size];\n const contextMenuSize = contextMenuSizeMap[size];\n\n const getButtonIcon = () =>\n getItemIcon(items.find((theme) => getChecked(theme)) ?? items[0]);\n\n const onButtonClick = (e: React.MouseEvent<Element, MouseEvent>) => {\n if (items.length > 2) {\n setIsOpen.toggle();\n } else {\n getOnChange(items[getChecked(items[0]) ? 1 : 0])(e);\n }\n };\n\n const renderIcons = (item: Item) => {\n const Icon = getItemIcon(item);\n\n if (Icon) {\n return <Icon size={iconSize} />;\n }\n };\n\n const renderChecks = (item: Item) => {\n if (getChecked(item)) {\n return <IconCheck size={iconSize} />;\n }\n };\n\n if (items.length <= 1) {\n return null;\n }\n\n return (\n <>\n <Button\n {...otherProps}\n ref={buttonRef}\n iconLeft={getButtonIcon()}\n onClick={onButtonClick}\n onlyIcon\n type=\"button\"\n size={size}\n view={view}\n style={style}\n />\n {items.length > 2 && (\n <ContextMenu\n isOpen={isOpen}\n offset=\"s\"\n items={items}\n getItemLabel={getItemLabel}\n getItemKey={getItemKey || getItemLabel}\n anchorRef={anchorRef}\n direction={direction}\n possibleDirections={possibleDirections}\n getItemLeftSide={renderIcons}\n getItemRightSide={renderChecks}\n onClickOutside={setIsOpen.off}\n onItemClick={(params) => getOnChange(params.item)(params.e)}\n size={contextMenuSize}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n )}\n </>\n );\n};\n\nexport const ThemeToggler = forwardRef(\n ThemeTogglerRender,\n) as ThemeTogglerComponent;\n\nexport * from './types';\n"],"mappings":"kSAAA,OAASA,SAAT,KAA0B,yBAA1B,CACA,MAAOC,MAAP,EAAgBC,UAAhB,CAA4BC,MAA5B,KAA0C,OAA1C,CAEA,OAASC,MAAT,iBACA,OAASC,WAAT,sBACA,OAASC,eAAT,2CACA,OAASC,cAAT,kCACA,OAASC,OAAT,2BACA,OAASC,UAAT,8BAEA,OAASC,kBAAT,CAA6BC,WAA7B,CAA0CC,kBAA1C,iBACA,OAGEC,2BAHF,eAMA,MAAO,IAAMC,eAAc,CAAG,cAAvB,CAEP,GAAMC,mBAAkB,CAAG,SACzBC,CADyB,CAEzBC,CAFyB,CAGtB,IACGC,EAAS,CAAGf,MAAM,CAAoB,IAApB,CADrB,CAEGgB,CAAS,CAAGV,UAAU,CAAC,CAACS,CAAD,CAAYD,CAAZ,CAAD,CAFzB,GAiBCX,eAAe,CAACQ,cAAD,CAAiBF,kBAAkB,CAACI,CAAD,CAAnC,CAA4CG,CAA5C,CAjBhB,KAKDC,IALC,CAKDA,CALC,YAKMP,2BALN,GAMDQ,CANC,GAMDA,KANC,CAODC,CAPC,GAODA,KAPC,CAQDC,CARC,GAQDA,QARC,CASDC,CATC,GASDA,UATC,CAUDC,CAVC,GAUDA,YAVC,CAWDC,CAXC,GAWDA,WAXC,CAYDC,CAZC,GAYDA,SAZC,CAaDC,CAbC,GAaDA,kBAbC,CAcDC,CAdC,GAcDA,KAdC,KAeDC,IAfC,CAeDA,CAfC,YAeM,OAfN,GAgBEC,CAhBF,yCAmByBvB,OAAO,IAnBhC,uBAmBIwB,CAnBJ,MAmBYC,CAnBZ,QAqBiC1B,cAAc,CAAC,CACjDe,KAAK,CAALA,CADiD,CAEjDY,MAAM,CAAEV,CAAU,EAAIC,CAF2B,CAGjDU,QAAQ,CAAEZ,CAHuC,CAIjDa,QAAQ,GAJyC,CAAD,CArB/C,CAqBKC,CArBL,GAqBKA,WArBL,CAqBkBC,CArBlB,GAqBkBA,UArBlB,CA8BGC,CAAQ,CAAG5B,WAAW,CAACS,CAAD,CA9BzB,CA+BGoB,CAAe,CAAG9B,kBAAkB,CAACU,CAAD,CA/BvC,OA0DiB,EAAhB,EAAAC,CAAK,CAACoB,MA1DP,CA2DM,IA3DN,CA+DD,wCACE,oBAAC,MAAD,kBACMV,CADN,EAEE,GAAG,CAAEZ,CAFP,CAGE,QAAQ,CAlCQ,QAAhBuB,cAAgB,eACpBhB,EAAW,WAACL,CAAK,CAACsB,IAAN,CAAW,SAACC,CAAD,QAAWN,EAAU,CAACM,CAAD,CAArB,CAAX,CAAD,gBAA6CvB,CAAK,CAAC,CAAD,CAAlD,CADS,CAkCN,EAHZ,CAIE,OAAO,CAhCS,QAAhBwB,cAAgB,CAACC,CAAD,CAA8C,CAC/C,CAAf,CAAAzB,CAAK,CAACoB,MADwD,CAEhER,CAAS,CAACc,MAAV,EAFgE,CAIhEV,CAAW,CAAChB,CAAK,CAACiB,CAAU,CAACjB,CAAK,CAAC,CAAD,CAAN,CAAV,CAAuB,CAAvB,CAA2B,CAA5B,CAAN,CAAX,CAAiDyB,CAAjD,CAEH,CAsBG,CAKE,QAAQ,GALV,CAME,IAAI,CAAC,QANP,CAOE,IAAI,CAAE1B,CAPR,CAQE,IAAI,CAAEU,CARR,CASE,KAAK,CAAED,CATT,GADF,CAYkB,CAAf,CAAAR,CAAK,CAACoB,MAAN,EACC,oBAAC,WAAD,EACE,MAAM,CAAET,CADV,CAEE,MAAM,CAAC,GAFT,CAGE,KAAK,CAAEX,CAHT,CAIE,YAAY,CAAEI,CAJhB,CAKE,UAAU,CAAED,CAAU,EAAIC,CAL5B,CAME,SAAS,CAAEP,CANb,CAOE,SAAS,CAAES,CAPb,CAQE,kBAAkB,CAAEC,CARtB,CASE,eAAe,CAzCH,QAAdoB,YAAc,CAACC,CAAD,CAAgB,CAClC,GAAMC,EAAI,CAAGxB,CAAW,CAACuB,CAAD,CAAxB,CAEA,GAAIC,CAAJ,CACE,MAAO,qBAAC,CAAD,EAAM,IAAI,CAAEX,CAAZ,EAEV,CA0BK,CAUE,gBAAgB,CAlCH,QAAfY,aAAe,CAACF,CAAD,CAAgB,CACnC,GAAIX,CAAU,CAACW,CAAD,CAAd,CACE,MAAO,qBAAC,SAAD,EAAW,IAAI,CAAEV,CAAjB,EAEV,CAoBK,CAWE,cAAc,CAAEN,CAAS,CAACmB,GAX5B,CAYE,WAAW,CAAE,qBAACC,CAAD,QAAYhB,EAAW,CAACgB,CAAM,CAACJ,IAAR,CAAX,CAAyBI,CAAM,CAACP,CAAhC,CAAZ,CAZf,CAaE,IAAI,CAAEN,CAbR,CAcE,KAAK,CACsB,QAAzB,gBAAOX,CAAP,WAAOA,CAAP,QAAOA,CAAK,CAAEyB,MAAd,EACI,CAAEA,MAAM,CAAEzB,CAAK,CAACyB,MAAN,CAAe,CAAzB,CADJ,OAfJ,EAbJ,CAoCH,CAtGD,CAwGA,MAAO,IAAMC,aAAY,CAAGrD,UAAU,CACpCa,kBADoC,CAA/B,CAIP"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm"];import"../SelectComponents/Select.css";import{IconClose}from"@consta/icons/IconClose";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{useSelect}from"../../hooks/useSelect/useSelect";import{cnMixFocus}from"../../mixs/MixFocus/MixFocus";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect}from"../SelectComponents/cnSelect";import{defaultlabelForCreate,defaultLabelForEmptyItems,defaultlabelForNotFound,getInputWidth}from"../SelectComponents/helpers";import{SelectContainer}from"../SelectComponents/SelectContainer/SelectContainer";import{SelectDropdown}from"../SelectComponents/SelectDropdown/SelectDropdown";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponents/types";import{isMultipleParams,isNotMultipleParams,searchCompare,withDefaultGetters}from"./helpers";import{UserSelectItem}from"./UserSelectItem/UserSelectItem";import{UserSelectValue}from"./UserSelectValue/UserSelectValue";export var COMPONENT_NAME="UserSelect";var UserSelectRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=useRef(null),g=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),f),h=g.placeholder,i=g.onBlur,j=g.onFocus,k=g.items,l=g.onChange,m=g.value,n=g.disabled,o=g.ariaLabel,p=g.id,q=g.isLoading,r=g.required,s=g.dropdownRef,t=void 0===s?c:s,u=g.form,v=void 0===u?defaultPropForm:u,w=g.view,x=void 0===w?defaultPropView:w,y=g.size,z=void 0===y?defaultPropSize:y,A=g.dropdownClassName,B=g.searchValue,C=g.name,D=g.groups,E=void 0===D?[]:D,F=g.getItemKey,G=g.getItemLabel,H=g.getItemSubLabel,I=g.getItemAvatarUrl,J=g.getItemGroupKey,K=g.getItemDisabled,L=g.getGroupKey,M=g.getGroupLabel,N=g.renderItem,O=g.renderValue,P=g.onCreate,Q=g.inputRef,R=g.labelForNotFound,S=void 0===R?defaultlabelForNotFound:R,T=g.labelForCreate,U=void 0===T?defaultlabelForCreate:T,V=g.labelForEmptyItems,W=void 0===V?defaultLabelForEmptyItems:V,X=g.multiple,Y=void 0!==X&&X,Z=g.searchFunction,$=g.style,_=g.dropdownForm,aa=void 0===_?"default":_,ba=_objectWithoutProperties(g,_excluded),ca=useSelect({items:k,groups:E,value:m,onChange:l,dropdownRef:t,controlRef:f,disabled:n,getItemLabel:G,getItemKey:F,getGroupKey:L,getItemGroupKey:J,searchValue:B,getItemDisabled:K,multiple:Y,onBlur:i,onFocus:j,onCreate:P,searchFunction:Z||function searchFunctionDefault(a,b){var c=searchCompare(b,G(a));return c?c:searchCompare(b,H(a))}}),da=ca.getKeyProps,ea=ca.getOptionProps,fa=ca.isOpen,ga=ca.visibleItems,ha=ca.isFocused,ia=ca.handleInputFocus,ja=ca.handleInputBlur,ka=ca.handleToggleDropdown,la=ca.inputRef,ma=ca.handleInputClick,na=ca.handleInputChange,oa=ca.searchValue,pa=ca.clearValue,qa=ca.getHandleRemoveValue,ra=ca.notFound,sa=ca.hasItems,ta=p?"".concat(p,"-input"):p,ua=O||function renderValueDefault(a){var b=a.item,c=a.handleRemove;return React.createElement(UserSelectValue,{label:G(b),subLabel:H(b),avatarUrl:I(b),key:F(b),size:z,handleRemove:c,multiple:Y,disabled:n||K(b)})},va=useForkRef([la,Q]),wa=function(){var b=Y?getInputWidth(d,e):void 0;return React.createElement(React.Fragment,null,isMultipleParams(a)&&Array.isArray(a.value)&&a.value.map(function(a){return ua({item:a,handleRemove:qa(a)})}),isNotMultipleParams(a)&&a.value&&ua({item:a.value}),(!m||Array.isArray(m)&&0===m.length)&&!oa&&h&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},h),React.createElement("input",Object.assign({},da(),{type:"text",name:C,id:ta,onFocus:ia,onBlur:ja,"aria-label":o,onChange:na,ref:va,className:cnSelect("Input",{size:z,hide:!Y
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm"];import"../SelectComponents/Select.css";import{IconClose}from"@consta/icons/IconClose";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{isNotNil}from"../../utils/type-guards";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{useSelect}from"../../hooks/useSelect/useSelect";import{cnMixFocus}from"../../mixs/MixFocus/MixFocus";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect}from"../SelectComponents/cnSelect";import{defaultlabelForCreate,defaultLabelForEmptyItems,defaultlabelForNotFound,getInputWidth}from"../SelectComponents/helpers";import{SelectContainer}from"../SelectComponents/SelectContainer/SelectContainer";import{SelectDropdown}from"../SelectComponents/SelectDropdown/SelectDropdown";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponents/types";import{isMultipleParams,isNotMultipleParams,searchCompare,withDefaultGetters}from"./helpers";import{UserSelectItem}from"./UserSelectItem/UserSelectItem";import{UserSelectValue}from"./UserSelectValue/UserSelectValue";export var COMPONENT_NAME="UserSelect";var UserSelectRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=useRef(null),g=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),f),h=g.placeholder,i=g.onBlur,j=g.onFocus,k=g.items,l=g.onChange,m=g.value,n=g.disabled,o=g.ariaLabel,p=g.id,q=g.isLoading,r=g.required,s=g.dropdownRef,t=void 0===s?c:s,u=g.form,v=void 0===u?defaultPropForm:u,w=g.view,x=void 0===w?defaultPropView:w,y=g.size,z=void 0===y?defaultPropSize:y,A=g.dropdownClassName,B=g.searchValue,C=g.name,D=g.groups,E=void 0===D?[]:D,F=g.getItemKey,G=g.getItemLabel,H=g.getItemSubLabel,I=g.getItemAvatarUrl,J=g.getItemGroupKey,K=g.getItemDisabled,L=g.getGroupKey,M=g.getGroupLabel,N=g.renderItem,O=g.renderValue,P=g.onCreate,Q=g.inputRef,R=g.labelForNotFound,S=void 0===R?defaultlabelForNotFound:R,T=g.labelForCreate,U=void 0===T?defaultlabelForCreate:T,V=g.labelForEmptyItems,W=void 0===V?defaultLabelForEmptyItems:V,X=g.multiple,Y=void 0!==X&&X,Z=g.searchFunction,$=g.style,_=g.dropdownForm,aa=void 0===_?"default":_,ba=_objectWithoutProperties(g,_excluded),ca=useSelect({items:k,groups:E,value:m,onChange:l,dropdownRef:t,controlRef:f,disabled:n,getItemLabel:G,getItemKey:F,getGroupKey:L,getItemGroupKey:J,searchValue:B,getItemDisabled:K,multiple:Y,onBlur:i,onFocus:j,onCreate:P,searchFunction:Z||function searchFunctionDefault(a,b){var c=searchCompare(b,G(a));return c?c:searchCompare(b,H(a))}}),da=ca.getKeyProps,ea=ca.getOptionProps,fa=ca.isOpen,ga=ca.visibleItems,ha=ca.isFocused,ia=ca.handleInputFocus,ja=ca.handleInputBlur,ka=ca.handleToggleDropdown,la=ca.inputRef,ma=ca.handleInputClick,na=ca.handleInputChange,oa=ca.searchValue,pa=ca.clearValue,qa=ca.getHandleRemoveValue,ra=ca.notFound,sa=ca.hasItems,ta=p?"".concat(p,"-input"):p,ua=O||function renderValueDefault(a){var b=a.item,c=a.handleRemove;return React.createElement(UserSelectValue,{label:G(b),subLabel:H(b),avatarUrl:I(b),key:F(b),size:z,handleRemove:c,multiple:Y,disabled:n||K(b)})},va=useForkRef([la,Q]),wa=function(){var b=Y?getInputWidth(d,e):void 0;return React.createElement(React.Fragment,null,isMultipleParams(a)&&Array.isArray(a.value)&&a.value.map(function(a){return ua({item:a,handleRemove:qa(a)})}),isNotMultipleParams(a)&&isNotNil(a.value)&&ua({item:a.value}),(!isNotNil(m)||Array.isArray(m)&&0===m.length)&&!oa&&h&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},h),React.createElement("input",Object.assign({},da(),{type:"text",name:C,id:ta,onFocus:ia,onBlur:ja,"aria-label":o,onChange:na,ref:va,className:cnSelect("Input",{size:z,hide:!Y&&isNotNil(m),multiple:Y,isUserSelect:!0}),value:oa,style:{width:b}})))};return React.createElement(React.Fragment,null,React.createElement(SelectContainer,Object.assign({focused:ha,disabled:n,size:z,required:r,id:ta,view:x,type:"userselect",form:v,multiple:!0,ref:b,style:$},ba),React.createElement("div",{className:cnSelect("Control",{hasInput:!0}),ref:f,"aria-expanded":fa,"aria-haspopup":"listbox",id:p},React.createElement("div",{className:cnSelect("ControlInner"),onClick:ma,role:"button",ref:d,"aria-hidden":"true"},React.createElement("div",{className:cnSelect("ControlValueContainer")},Y?React.createElement("div",{className:cnSelect("ControlValue",{isUserSelect:!0})},wa()):wa())),React.createElement("span",{className:cnSelect("Indicators")},isNotNil(m)&&React.createElement("button",{type:"button",onClick:pa,className:cnSelect("ClearIndicator",[cnMixFocus()])},React.createElement(IconClose,{size:"xs",className:cnSelect("ClearIndicatorIcon")})),React.createElement("span",{className:cnSelect("Delimiter")}),React.createElement("button",{type:"button",className:cnSelect("IndicatorsDropdown"),tabIndex:-1,onClick:ka},React.createElement(IconSelect,{size:"xs",className:cnSelect("DropdownIndicatorIcon")})))),React.createElement("div",{className:cnSelect("HelperInputFakeElement"),ref:e},oa)),React.createElement(SelectDropdown,{isOpen:fa,size:z,controlRef:f,getOptionProps:ea,dropdownRef:t,form:aa,isLoading:q,className:A,renderItem:N||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter;return React.createElement(UserSelectItem,{label:G(b),subLabel:H(b),avatarUrl:I(b),active:c,hovered:d,size:z,indent:"round"===aa?"increased":"normal",onClick:e,onMouseEnter:f,disable:K(b),multiple:Y})},getGroupLabel:M,visibleItems:ga,labelForNotFound:S,labelForCreate:U,notFound:ra,hasItems:sa,labelForEmptyItems:W,style:"number"==typeof(null===$||void 0===$?void 0:$.zIndex)?{zIndex:$.zIndex+1}:void 0}))};export var UserSelect=forwardRef(UserSelectRender);export*from"./helpers";
|
|
2
2
|
//# sourceMappingURL=UserSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserSelect.js","names":["IconClose","IconSelect","React","forwardRef","useRef","useForkRef","useSelect","cnMixFocus","usePropsHandler","cnSelect","defaultlabelForCreate","defaultLabelForEmptyItems","defaultlabelForNotFound","getInputWidth","SelectContainer","SelectDropdown","defaultPropForm","defaultPropSize","defaultPropView","isMultipleParams","isNotMultipleParams","searchCompare","withDefaultGetters","UserSelectItem","UserSelectValue","COMPONENT_NAME","UserSelectRender","props","ref","defaultDropdownRef","controlInnerRef","helperInputFakeElement","controlRef","placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValueProp","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValueProp","renderValue","onCreate","inputRefProp","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm","restProps","searchFunctionDefault","item","searchOfLabel","getKeyProps","getOptionProps","isOpen","visibleItems","isFocused","handleInputFocus","handleInputBlur","handleToggleDropdown","handleInputClick","handleInputChange","clearValue","getHandleRemoveValue","notFound","hasItems","inputId","renderValueDefault","handleRemove","inputRefForRender","renderControlValue","width","Array","isArray","map","length","hide","isUserSelect","hasInput","renderItemDefault","active","hovered","onClick","onMouseEnter","zIndex","UserSelect"],"sources":["../../../../../src/components/UserSelect/UserSelect.tsx"],"sourcesContent":["import '../SelectComponents/Select.css';\n\nimport { IconClose } from '@consta/icons/IconClose';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { useSelect } from '../../hooks/useSelect/useSelect';\nimport { cnMixFocus } from '../../mixs/MixFocus/MixFocus';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { cnSelect } from '../SelectComponents/cnSelect';\nimport {\n defaultlabelForCreate,\n defaultLabelForEmptyItems,\n defaultlabelForNotFound,\n getInputWidth,\n} from '../SelectComponents/helpers';\nimport { SelectContainer } from '../SelectComponents/SelectContainer/SelectContainer';\nimport { SelectDropdown } from '../SelectComponents/SelectDropdown/SelectDropdown';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '../SelectComponents/types';\nimport {\n DefaultGroup,\n DefaultItem,\n isMultipleParams,\n isNotMultipleParams,\n PropRenderItem,\n PropRenderValue,\n searchCompare,\n UserSelectComponent,\n UserSelectProps,\n withDefaultGetters,\n} from './helpers';\nimport { UserSelectItem } from './UserSelectItem/UserSelectItem';\nimport { UserSelectValue } from './UserSelectValue/UserSelectValue';\n\nexport const COMPONENT_NAME = 'UserSelect' as const;\n\nconst UserSelectRender = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: UserSelectProps<ITEM, GROUP, MULTIPLE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlInnerRef = useRef<HTMLDivElement>(null);\n const helperInputFakeElement = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement | null>(null);\n\n const {\n placeholder,\n onBlur,\n onFocus,\n items,\n onChange,\n value,\n disabled,\n ariaLabel,\n id,\n isLoading,\n required,\n dropdownRef = defaultDropdownRef,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n dropdownClassName,\n searchValue: searchValueProp,\n name,\n groups = [],\n getItemKey,\n getItemLabel,\n getItemSubLabel,\n getItemAvatarUrl,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n getGroupLabel,\n renderItem,\n renderValue: renderValueProp,\n onCreate,\n inputRef: inputRefProp,\n labelForNotFound = defaultlabelForNotFound,\n labelForCreate = defaultlabelForCreate,\n labelForEmptyItems = defaultLabelForEmptyItems,\n multiple = false,\n searchFunction,\n style,\n dropdownForm = 'default',\n ...restProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef);\n\n const searchFunctionDefault = (item: ITEM, searchValue: string): boolean => {\n const searchOfLabel = searchCompare(searchValue, getItemLabel(item));\n\n if (searchOfLabel) {\n return searchOfLabel;\n }\n\n return searchCompare(searchValue, getItemSubLabel(item));\n };\n\n const {\n getKeyProps,\n getOptionProps,\n isOpen,\n visibleItems,\n isFocused,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n inputRef,\n handleInputClick,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n } = useSelect({\n items,\n groups,\n value,\n onChange,\n dropdownRef,\n controlRef,\n disabled,\n getItemLabel,\n getItemKey,\n getGroupKey,\n getItemGroupKey,\n searchValue: searchValueProp,\n getItemDisabled,\n multiple,\n onBlur,\n onFocus,\n onCreate,\n searchFunction: searchFunction || searchFunctionDefault,\n });\n\n const inputId = id ? `${id}-input` : id;\n\n const renderItemDefault: PropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter } = props;\n\n return (\n <UserSelectItem\n label={getItemLabel(item)}\n subLabel={getItemSubLabel(item)}\n avatarUrl={getItemAvatarUrl(item)}\n active={active}\n hovered={hovered}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disable={getItemDisabled(item)}\n multiple={multiple}\n />\n );\n };\n\n const renderValueDefault: PropRenderValue<ITEM> = ({\n item,\n handleRemove,\n }) => {\n return (\n <UserSelectValue\n label={getItemLabel(item)}\n subLabel={getItemSubLabel(item)}\n avatarUrl={getItemAvatarUrl(item)}\n key={getItemKey(item)}\n size={size}\n handleRemove={handleRemove}\n multiple={multiple}\n disabled={disabled || getItemDisabled(item)}\n />\n );\n };\n\n const renderValue = renderValueProp || renderValueDefault;\n\n const inputRefForRender = useForkRef([inputRef, inputRefProp]);\n\n const renderControlValue = () => {\n const width = multiple\n ? getInputWidth(controlInnerRef, helperInputFakeElement)\n : undefined;\n return (\n <>\n {isMultipleParams(props) &&\n Array.isArray(props.value) &&\n props.value.map((item) =>\n renderValue({ item, handleRemove: getHandleRemoveValue(item) }),\n )}\n {isNotMultipleParams(props) &&\n props.value &&\n renderValue({ item: props.value })}\n {(!value || (Array.isArray(value) && value.length === 0)) &&\n !searchValue &&\n placeholder && (\n <span className={cnSelect('Placeholder')} title=\"placeholder\">\n {placeholder}\n </span>\n )}\n <input\n {...getKeyProps()}\n type=\"text\"\n name={name}\n id={inputId}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n aria-label={ariaLabel}\n onChange={handleInputChange}\n ref={inputRefForRender}\n className={cnSelect('Input', {\n size,\n hide: !multiple && !!value,\n multiple,\n isUserSelect: true,\n })}\n value={searchValue}\n style={{ width }}\n />\n </>\n );\n };\n\n return (\n <>\n <SelectContainer\n focused={isFocused}\n disabled={disabled}\n size={size}\n required={required}\n id={inputId}\n view={view}\n type=\"userselect\"\n form={form}\n multiple\n ref={ref}\n style={style}\n {...restProps}\n >\n <div\n className={cnSelect('Control', { hasInput: true })}\n ref={controlRef}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n id={id}\n >\n <div\n className={cnSelect('ControlInner')}\n onClick={handleInputClick}\n role=\"button\"\n ref={controlInnerRef}\n aria-hidden=\"true\"\n >\n <div className={cnSelect('ControlValueContainer')}>\n {multiple ? (\n <div\n className={cnSelect('ControlValue', { isUserSelect: true })}\n >\n {renderControlValue()}\n </div>\n ) : (\n renderControlValue()\n )}\n </div>\n </div>\n <span className={cnSelect('Indicators')}>\n {value && (\n <button\n type=\"button\"\n onClick={clearValue}\n className={cnSelect('ClearIndicator', [cnMixFocus()])}\n >\n <IconClose\n size=\"xs\"\n className={cnSelect('ClearIndicatorIcon')}\n />\n </button>\n )}\n <span className={cnSelect('Delimiter')} />\n <button\n type=\"button\"\n className={cnSelect('IndicatorsDropdown')}\n tabIndex={-1}\n onClick={handleToggleDropdown}\n >\n <IconSelect\n size=\"xs\"\n className={cnSelect('DropdownIndicatorIcon')}\n />\n </button>\n </span>\n </div>\n <div\n className={cnSelect('HelperInputFakeElement')}\n ref={helperInputFakeElement}\n >\n {searchValue}\n </div>\n </SelectContainer>\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={dropdownRef}\n form={dropdownForm}\n isLoading={isLoading}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n labelForNotFound={labelForNotFound}\n labelForCreate={labelForCreate}\n notFound={notFound}\n hasItems={hasItems}\n labelForEmptyItems={labelForEmptyItems}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const UserSelect = forwardRef(UserSelectRender) as UserSelectComponent;\n\nexport * from './helpers';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UserSelect.js","names":["IconClose","IconSelect","React","forwardRef","useRef","isNotNil","useForkRef","useSelect","cnMixFocus","usePropsHandler","cnSelect","defaultlabelForCreate","defaultLabelForEmptyItems","defaultlabelForNotFound","getInputWidth","SelectContainer","SelectDropdown","defaultPropForm","defaultPropSize","defaultPropView","isMultipleParams","isNotMultipleParams","searchCompare","withDefaultGetters","UserSelectItem","UserSelectValue","COMPONENT_NAME","UserSelectRender","props","ref","defaultDropdownRef","controlInnerRef","helperInputFakeElement","controlRef","placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValueProp","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValueProp","renderValue","onCreate","inputRefProp","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm","restProps","searchFunctionDefault","item","searchOfLabel","getKeyProps","getOptionProps","isOpen","visibleItems","isFocused","handleInputFocus","handleInputBlur","handleToggleDropdown","handleInputClick","handleInputChange","clearValue","getHandleRemoveValue","notFound","hasItems","inputId","renderValueDefault","handleRemove","inputRefForRender","renderControlValue","width","Array","isArray","map","length","hide","isUserSelect","hasInput","renderItemDefault","active","hovered","onClick","onMouseEnter","zIndex","UserSelect"],"sources":["../../../../../src/components/UserSelect/UserSelect.tsx"],"sourcesContent":["import '../SelectComponents/Select.css';\n\nimport { IconClose } from '@consta/icons/IconClose';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { isNotNil } from '##/utils/type-guards';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { useSelect } from '../../hooks/useSelect/useSelect';\nimport { cnMixFocus } from '../../mixs/MixFocus/MixFocus';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { cnSelect } from '../SelectComponents/cnSelect';\nimport {\n defaultlabelForCreate,\n defaultLabelForEmptyItems,\n defaultlabelForNotFound,\n getInputWidth,\n} from '../SelectComponents/helpers';\nimport { SelectContainer } from '../SelectComponents/SelectContainer/SelectContainer';\nimport { SelectDropdown } from '../SelectComponents/SelectDropdown/SelectDropdown';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '../SelectComponents/types';\nimport {\n DefaultGroup,\n DefaultItem,\n isMultipleParams,\n isNotMultipleParams,\n PropRenderItem,\n PropRenderValue,\n searchCompare,\n UserSelectComponent,\n UserSelectProps,\n withDefaultGetters,\n} from './helpers';\nimport { UserSelectItem } from './UserSelectItem/UserSelectItem';\nimport { UserSelectValue } from './UserSelectValue/UserSelectValue';\n\nexport const COMPONENT_NAME = 'UserSelect' as const;\n\nconst UserSelectRender = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: UserSelectProps<ITEM, GROUP, MULTIPLE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlInnerRef = useRef<HTMLDivElement>(null);\n const helperInputFakeElement = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement | null>(null);\n\n const {\n placeholder,\n onBlur,\n onFocus,\n items,\n onChange,\n value,\n disabled,\n ariaLabel,\n id,\n isLoading,\n required,\n dropdownRef = defaultDropdownRef,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n dropdownClassName,\n searchValue: searchValueProp,\n name,\n groups = [],\n getItemKey,\n getItemLabel,\n getItemSubLabel,\n getItemAvatarUrl,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n getGroupLabel,\n renderItem,\n renderValue: renderValueProp,\n onCreate,\n inputRef: inputRefProp,\n labelForNotFound = defaultlabelForNotFound,\n labelForCreate = defaultlabelForCreate,\n labelForEmptyItems = defaultLabelForEmptyItems,\n multiple = false,\n searchFunction,\n style,\n dropdownForm = 'default',\n ...restProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef);\n\n const searchFunctionDefault = (item: ITEM, searchValue: string): boolean => {\n const searchOfLabel = searchCompare(searchValue, getItemLabel(item));\n\n if (searchOfLabel) {\n return searchOfLabel;\n }\n\n return searchCompare(searchValue, getItemSubLabel(item));\n };\n\n const {\n getKeyProps,\n getOptionProps,\n isOpen,\n visibleItems,\n isFocused,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n inputRef,\n handleInputClick,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n } = useSelect({\n items,\n groups,\n value,\n onChange,\n dropdownRef,\n controlRef,\n disabled,\n getItemLabel,\n getItemKey,\n getGroupKey,\n getItemGroupKey,\n searchValue: searchValueProp,\n getItemDisabled,\n multiple,\n onBlur,\n onFocus,\n onCreate,\n searchFunction: searchFunction || searchFunctionDefault,\n });\n\n const inputId = id ? `${id}-input` : id;\n\n const renderItemDefault: PropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter } = props;\n\n return (\n <UserSelectItem\n label={getItemLabel(item)}\n subLabel={getItemSubLabel(item)}\n avatarUrl={getItemAvatarUrl(item)}\n active={active}\n hovered={hovered}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disable={getItemDisabled(item)}\n multiple={multiple}\n />\n );\n };\n\n const renderValueDefault: PropRenderValue<ITEM> = ({\n item,\n handleRemove,\n }) => {\n return (\n <UserSelectValue\n label={getItemLabel(item)}\n subLabel={getItemSubLabel(item)}\n avatarUrl={getItemAvatarUrl(item)}\n key={getItemKey(item)}\n size={size}\n handleRemove={handleRemove}\n multiple={multiple}\n disabled={disabled || getItemDisabled(item)}\n />\n );\n };\n\n const renderValue = renderValueProp || renderValueDefault;\n\n const inputRefForRender = useForkRef([inputRef, inputRefProp]);\n\n const renderControlValue = () => {\n const width = multiple\n ? getInputWidth(controlInnerRef, helperInputFakeElement)\n : undefined;\n return (\n <>\n {isMultipleParams(props) &&\n Array.isArray(props.value) &&\n props.value.map((item) =>\n renderValue({ item, handleRemove: getHandleRemoveValue(item) }),\n )}\n {isNotMultipleParams(props) &&\n isNotNil(props.value) &&\n renderValue({ item: props.value })}\n {(!isNotNil(value) || (Array.isArray(value) && value.length === 0)) &&\n !searchValue &&\n placeholder && (\n <span className={cnSelect('Placeholder')} title=\"placeholder\">\n {placeholder}\n </span>\n )}\n <input\n {...getKeyProps()}\n type=\"text\"\n name={name}\n id={inputId}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n aria-label={ariaLabel}\n onChange={handleInputChange}\n ref={inputRefForRender}\n className={cnSelect('Input', {\n size,\n hide: !multiple && isNotNil(value),\n multiple,\n isUserSelect: true,\n })}\n value={searchValue}\n style={{ width }}\n />\n </>\n );\n };\n\n return (\n <>\n <SelectContainer\n focused={isFocused}\n disabled={disabled}\n size={size}\n required={required}\n id={inputId}\n view={view}\n type=\"userselect\"\n form={form}\n multiple\n ref={ref}\n style={style}\n {...restProps}\n >\n <div\n className={cnSelect('Control', { hasInput: true })}\n ref={controlRef}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n id={id}\n >\n <div\n className={cnSelect('ControlInner')}\n onClick={handleInputClick}\n role=\"button\"\n ref={controlInnerRef}\n aria-hidden=\"true\"\n >\n <div className={cnSelect('ControlValueContainer')}>\n {multiple ? (\n <div\n className={cnSelect('ControlValue', { isUserSelect: true })}\n >\n {renderControlValue()}\n </div>\n ) : (\n renderControlValue()\n )}\n </div>\n </div>\n <span className={cnSelect('Indicators')}>\n {isNotNil(value) && (\n <button\n type=\"button\"\n onClick={clearValue}\n className={cnSelect('ClearIndicator', [cnMixFocus()])}\n >\n <IconClose\n size=\"xs\"\n className={cnSelect('ClearIndicatorIcon')}\n />\n </button>\n )}\n <span className={cnSelect('Delimiter')} />\n <button\n type=\"button\"\n className={cnSelect('IndicatorsDropdown')}\n tabIndex={-1}\n onClick={handleToggleDropdown}\n >\n <IconSelect\n size=\"xs\"\n className={cnSelect('DropdownIndicatorIcon')}\n />\n </button>\n </span>\n </div>\n <div\n className={cnSelect('HelperInputFakeElement')}\n ref={helperInputFakeElement}\n >\n {searchValue}\n </div>\n </SelectContainer>\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={dropdownRef}\n form={dropdownForm}\n isLoading={isLoading}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n labelForNotFound={labelForNotFound}\n labelForCreate={labelForCreate}\n notFound={notFound}\n hasItems={hasItems}\n labelForEmptyItems={labelForEmptyItems}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const UserSelect = forwardRef(UserSelectRender) as UserSelectComponent;\n\nexport * from './helpers';\n"],"mappings":"ykBAAA,uCAEA,OAASA,SAAT,KAA0B,yBAA1B,CACA,OAASC,UAAT,KAA2B,0BAA3B,CACA,MAAOC,MAAP,EAAgBC,UAAhB,CAA4BC,MAA5B,KAA0C,OAA1C,CAEA,OAASC,QAAT,+BAEA,OAASC,UAAT,yCACA,OAASC,SAAT,uCACA,OAASC,UAAT,oCACA,OAASC,eAAT,2CACA,OAASC,QAAT,oCACA,OACEC,qBADF,CAEEC,yBAFF,CAGEC,uBAHF,CAIEC,aAJF,mCAMA,OAASC,eAAT,2DACA,OAASC,cAAT,yDACA,OACEC,eADF,CAEEC,eAFF,CAGEC,eAHF,iCAKA,OAGEC,gBAHF,CAIEC,mBAJF,CAOEC,aAPF,CAUEC,kBAVF,iBAYA,OAASC,cAAT,uCACA,OAASC,eAAT,yCAEA,MAAO,IAAMC,eAAc,CAAG,YAAvB,CAEP,GAAMC,iBAAgB,CAAG,SAKvBC,CALuB,CAMvBC,CANuB,CAOpB,IACGC,EAAkB,CAAG1B,MAAM,CAAwB,IAAxB,CAD9B,CAEG2B,CAAe,CAAG3B,MAAM,CAAiB,IAAjB,CAF3B,CAGG4B,CAAsB,CAAG5B,MAAM,CAAiB,IAAjB,CAHlC,CAIG6B,CAAU,CAAG7B,MAAM,CAAwB,IAAxB,CAJtB,GA8CCK,eAAe,CAACiB,cAAD,CAAiBH,kBAAkB,CAACK,CAAD,CAAnC,CAA4CK,CAA5C,CA9ChB,CAODC,CAPC,GAODA,WAPC,CAQDC,CARC,GAQDA,MARC,CASDC,CATC,GASDA,OATC,CAUDC,CAVC,GAUDA,KAVC,CAWDC,CAXC,GAWDA,QAXC,CAYDC,CAZC,GAYDA,KAZC,CAaDC,CAbC,GAaDA,QAbC,CAcDC,CAdC,GAcDA,SAdC,CAeDC,CAfC,GAeDA,EAfC,CAgBDC,CAhBC,GAgBDA,SAhBC,CAiBDC,CAjBC,GAiBDA,QAjBC,KAkBDC,WAlBC,CAkBDA,CAlBC,YAkBaf,CAlBb,OAmBDgB,IAnBC,CAmBDA,CAnBC,YAmBM7B,eAnBN,OAoBD8B,IApBC,CAoBDA,CApBC,YAoBM5B,eApBN,OAqBD6B,IArBC,CAqBDA,CArBC,YAqBM9B,eArBN,GAsBD+B,CAtBC,GAsBDA,iBAtBC,CAuBYC,CAvBZ,GAuBDC,WAvBC,CAwBDC,CAxBC,GAwBDA,IAxBC,KAyBDC,MAzBC,CAyBDA,CAzBC,YAyBQ,EAzBR,GA0BDC,CA1BC,GA0BDA,UA1BC,CA2BDC,CA3BC,GA2BDA,YA3BC,CA4BDC,CA5BC,GA4BDA,eA5BC,CA6BDC,CA7BC,GA6BDA,gBA7BC,CA8BDC,CA9BC,GA8BDA,eA9BC,CA+BDC,CA/BC,GA+BDA,eA/BC,CAgCDC,CAhCC,GAgCDA,WAhCC,CAiCDC,CAjCC,GAiCDA,aAjCC,CAkCDC,CAlCC,GAkCDA,UAlCC,CAmCYC,CAnCZ,GAmCDC,WAnCC,CAoCDC,CApCC,GAoCDA,QApCC,CAqCSC,CArCT,GAqCDC,QArCC,KAsCDC,gBAtCC,CAsCDA,CAtCC,YAsCkBvD,uBAtClB,OAuCDwD,cAvCC,CAuCDA,CAvCC,YAuCgB1D,qBAvChB,OAwCD2D,kBAxCC,CAwCDA,CAxCC,YAwCoB1D,yBAxCpB,OAyCD2D,QAzCC,CAyCDA,CAzCC,eA0CDC,CA1CC,GA0CDA,cA1CC,CA2CDC,CA3CC,GA2CDA,KA3CC,KA4CDC,YA5CC,CA4CDA,EA5CC,YA4Cc,SA5Cd,GA6CEC,EA7CF,0CA2ECpE,SAAS,CAAC,CACZ8B,KAAK,CAALA,CADY,CAEZgB,MAAM,CAANA,CAFY,CAGZd,KAAK,CAALA,CAHY,CAIZD,QAAQ,CAARA,CAJY,CAKZO,WAAW,CAAXA,CALY,CAMZZ,UAAU,CAAVA,CANY,CAOZO,QAAQ,CAARA,CAPY,CAQZe,YAAY,CAAZA,CARY,CASZD,UAAU,CAAVA,CATY,CAUZM,WAAW,CAAXA,CAVY,CAWZF,eAAe,CAAfA,CAXY,CAYZP,WAAW,CAAED,CAZD,CAaZS,eAAe,CAAfA,CAbY,CAcZY,QAAQ,CAARA,CAdY,CAeZpC,MAAM,CAANA,CAfY,CAgBZC,OAAO,CAAPA,CAhBY,CAiBZ6B,QAAQ,CAARA,CAjBY,CAkBZO,cAAc,CAAEA,CAAc,EA7CF,QAAxBI,sBAAwB,CAACC,CAAD,CAAa1B,CAAb,CAA8C,CAC1E,GAAM2B,EAAa,CAAGxD,aAAa,CAAC6B,CAAD,CAAcI,CAAY,CAACsB,CAAD,CAA1B,CAAnC,CAD0E,MAGtEC,EAHsE,CAIjEA,CAJiE,CAOnExD,aAAa,CAAC6B,CAAD,CAAcK,CAAe,CAACqB,CAAD,CAA7B,CACrB,CAmBa,CAAD,CA3EV,CA2DDE,EA3DC,IA2DDA,WA3DC,CA4DDC,EA5DC,IA4DDA,cA5DC,CA6DDC,EA7DC,IA6DDA,MA7DC,CA8DDC,EA9DC,IA8DDA,YA9DC,CA+DDC,EA/DC,IA+DDA,SA/DC,CAgEDC,EAhEC,IAgEDA,gBAhEC,CAiEDC,EAjEC,IAiEDA,eAjEC,CAkEDC,EAlEC,IAkEDA,oBAlEC,CAmEDnB,EAnEC,IAmEDA,QAnEC,CAoEDoB,EApEC,IAoEDA,gBApEC,CAqEDC,EArEC,IAqEDA,iBArEC,CAsEDrC,EAtEC,IAsEDA,WAtEC,CAuEDsC,EAvEC,IAuEDA,UAvEC,CAwEDC,EAxEC,IAwEDA,oBAxEC,CAyEDC,EAzEC,IAyEDA,QAzEC,CA0EDC,EA1EC,IA0EDA,QA1EC,CAgGGC,EAAO,CAAGnD,CAAE,WAAMA,CAAN,WAAmBA,CAhGlC,CAwIGsB,EAAW,CAAGD,CAAe,EAlBe,QAA5C+B,mBAA4C,GAG5C,IAFJjB,EAEI,GAFJA,IAEI,CADJkB,CACI,GADJA,YACI,CACJ,MACE,qBAAC,eAAD,EACE,KAAK,CAAExC,CAAY,CAACsB,CAAD,CADrB,CAEE,QAAQ,CAAErB,CAAe,CAACqB,CAAD,CAF3B,CAGE,SAAS,CAAEpB,CAAgB,CAACoB,CAAD,CAH7B,CAIE,GAAG,CAAEvB,CAAU,CAACuB,CAAD,CAJjB,CAKE,IAAI,CAAE7B,CALR,CAME,YAAY,CAAE+C,CANhB,CAOE,QAAQ,CAAExB,CAPZ,CAQE,QAAQ,CAAE/B,CAAQ,EAAImB,CAAe,CAACkB,CAAD,CARvC,EAWH,CAtIE,CA0IGmB,EAAiB,CAAG1F,UAAU,CAAC,CAAC6D,EAAD,CAAWD,CAAX,CAAD,CA1IjC,CA4IG+B,EAAkB,CAAG,UAAM,CAC/B,GAAMC,EAAK,CAAG3B,CAAQ,CAClBzD,aAAa,CAACiB,CAAD,CAAkBC,CAAlB,CADK,OAAtB,CAGA,MACE,yCACGZ,gBAAgB,CAACQ,CAAD,CAAhB,EACCuE,KAAK,CAACC,OAAN,CAAcxE,CAAK,CAACW,KAApB,CADD,EAECX,CAAK,CAACW,KAAN,CAAY8D,GAAZ,CAAgB,SAACxB,CAAD,QACdb,GAAW,CAAC,CAAEa,IAAI,CAAJA,CAAF,CAAQkB,YAAY,CAAEL,EAAoB,CAACb,CAAD,CAA1C,CAAD,CADG,CAAhB,CAHJ,CAMGxD,mBAAmB,CAACO,CAAD,CAAnB,EACCvB,QAAQ,CAACuB,CAAK,CAACW,KAAP,CADT,EAECyB,EAAW,CAAC,CAAEa,IAAI,CAAEjD,CAAK,CAACW,KAAd,CAAD,CARf,CASG,CAAC,CAAClC,QAAQ,CAACkC,CAAD,CAAT,EAAqB4D,KAAK,CAACC,OAAN,CAAc7D,CAAd,GAAyC,CAAjB,GAAAA,CAAK,CAAC+D,MAApD,GACC,CAACnD,EADF,EAECjB,CAFD,EAGG,4BAAM,SAAS,CAAExB,QAAQ,CAAC,aAAD,CAAzB,CAA0C,KAAK,CAAC,aAAhD,EACGwB,CADH,CAZN,CAgBE,6CACM6C,EAAW,EADjB,EAEE,IAAI,CAAC,MAFP,CAGE,IAAI,CAAE3B,CAHR,CAIE,EAAE,CAAEyC,EAJN,CAKE,OAAO,CAAET,EALX,CAME,MAAM,CAAEC,EANV,CAOE,aAAY5C,CAPd,CAQE,QAAQ,CAAE+C,EARZ,CASE,GAAG,CAAEQ,EATP,CAUE,SAAS,CAAEtF,QAAQ,CAAC,OAAD,CAAU,CAC3BsC,IAAI,CAAJA,CAD2B,CAE3BuD,IAAI,CAAE,CAAChC,CAAD,EAAalE,QAAQ,CAACkC,CAAD,CAFA,CAG3BgC,QAAQ,CAARA,CAH2B,CAI3BiC,YAAY,GAJe,CAAV,CAVrB,CAgBE,KAAK,CAAErD,EAhBT,CAiBE,KAAK,CAAE,CAAE+C,KAAK,CAALA,CAAF,CAjBT,GAhBF,CAqCH,CAtLE,CAwLH,MACE,yCACE,oBAAC,eAAD,gBACE,OAAO,CAAEf,EADX,CAEE,QAAQ,CAAE3C,CAFZ,CAGE,IAAI,CAAEQ,CAHR,CAIE,QAAQ,CAAEJ,CAJZ,CAKE,EAAE,CAAEiD,EALN,CAME,IAAI,CAAE9C,CANR,CAOE,IAAI,CAAC,YAPP,CAQE,IAAI,CAAED,CARR,CASE,QAAQ,GATV,CAUE,GAAG,CAAEjB,CAVP,CAWE,KAAK,CAAE4C,CAXT,EAYME,EAZN,EAcE,2BACE,SAAS,CAAEjE,QAAQ,CAAC,SAAD,CAAY,CAAE+F,QAAQ,GAAV,CAAZ,CADrB,CAEE,GAAG,CAAExE,CAFP,CAGE,gBAAegD,EAHjB,CAIE,gBAAc,SAJhB,CAKE,EAAE,CAAEvC,CALN,EAOE,2BACE,SAAS,CAAEhC,QAAQ,CAAC,cAAD,CADrB,CAEE,OAAO,CAAE6E,EAFX,CAGE,IAAI,CAAC,QAHP,CAIE,GAAG,CAAExD,CAJP,CAKE,cAAY,MALd,EAOE,2BAAK,SAAS,CAAErB,QAAQ,CAAC,uBAAD,CAAxB,EACG6D,CAAQ,CACP,2BACE,SAAS,CAAE7D,QAAQ,CAAC,cAAD,CAAiB,CAAE8F,YAAY,GAAd,CAAjB,CADrB,EAGGP,EAAkB,EAHrB,CADO,CAOPA,EAAkB,EARtB,CAPF,CAPF,CA0BE,4BAAM,SAAS,CAAEvF,QAAQ,CAAC,YAAD,CAAzB,EACGL,QAAQ,CAACkC,CAAD,CAAR,EACC,8BACE,IAAI,CAAC,QADP,CAEE,OAAO,CAAEkD,EAFX,CAGE,SAAS,CAAE/E,QAAQ,CAAC,gBAAD,CAAmB,CAACF,UAAU,EAAX,CAAnB,CAHrB,EAKE,oBAAC,SAAD,EACE,IAAI,CAAC,IADP,CAEE,SAAS,CAAEE,QAAQ,CAAC,oBAAD,CAFrB,EALF,CAFJ,CAaE,4BAAM,SAAS,CAAEA,QAAQ,CAAC,WAAD,CAAzB,EAbF,CAcE,8BACE,IAAI,CAAC,QADP,CAEE,SAAS,CAAEA,QAAQ,CAAC,oBAAD,CAFrB,CAGE,QAAQ,CAAE,CAAC,CAHb,CAIE,OAAO,CAAE4E,EAJX,EAME,oBAAC,UAAD,EACE,IAAI,CAAC,IADP,CAEE,SAAS,CAAE5E,QAAQ,CAAC,uBAAD,CAFrB,EANF,CAdF,CA1BF,CAdF,CAmEE,2BACE,SAAS,CAAEA,QAAQ,CAAC,wBAAD,CADrB,CAEE,GAAG,CAAEsB,CAFP,EAIGmB,EAJH,CAnEF,CADF,CA2EE,oBAAC,cAAD,EACE,MAAM,CAAE8B,EADV,CAEE,IAAI,CAAEjC,CAFR,CAGE,UAAU,CAAEf,CAHd,CAIE,cAAc,CAAE+C,EAJlB,CAKE,WAAW,CAAEnC,CALf,CAME,IAAI,CAAE6B,EANR,CAOE,SAAS,CAAE/B,CAPb,CAQE,SAAS,CAAEM,CARb,CASE,UAAU,CAAEa,CAAU,EA3KoB,QAA1C4C,kBAA0C,CAAC9E,CAAD,CAAW,CACzD,GAAQiD,EAAR,CAAyDjD,CAAzD,CAAQiD,IAAR,CAAc8B,CAAd,CAAyD/E,CAAzD,CAAc+E,MAAd,CAAsBC,CAAtB,CAAyDhF,CAAzD,CAAsBgF,OAAtB,CAA+BC,CAA/B,CAAyDjF,CAAzD,CAA+BiF,OAA/B,CAAwCC,CAAxC,CAAyDlF,CAAzD,CAAwCkF,YAAxC,CAEA,MACE,qBAAC,cAAD,EACE,KAAK,CAAEvD,CAAY,CAACsB,CAAD,CADrB,CAEE,QAAQ,CAAErB,CAAe,CAACqB,CAAD,CAF3B,CAGE,SAAS,CAAEpB,CAAgB,CAACoB,CAAD,CAH7B,CAIE,MAAM,CAAE8B,CAJV,CAKE,OAAO,CAAEC,CALX,CAME,IAAI,CAAE5D,CANR,CAOE,MAAM,CAAmB,OAAjB,GAAA0B,EAAY,CAAe,WAAf,CAA6B,QAPnD,CAQE,OAAO,CAAEmC,CARX,CASE,YAAY,CAAEC,CAThB,CAUE,OAAO,CAAEnD,CAAe,CAACkB,CAAD,CAV1B,CAWE,QAAQ,CAAEN,CAXZ,EAcH,CAgJG,CAUE,aAAa,CAAEV,CAVjB,CAWE,YAAY,CAAEqB,EAXhB,CAYE,gBAAgB,CAAEd,CAZpB,CAaE,cAAc,CAAEC,CAblB,CAcE,QAAQ,CAAEsB,EAdZ,CAeE,QAAQ,CAAEC,EAfZ,CAgBE,kBAAkB,CAAEtB,CAhBtB,CAiBE,KAAK,CACsB,QAAzB,gBAAOG,CAAP,WAAOA,CAAP,QAAOA,CAAK,CAAEsC,MAAd,EACI,CAAEA,MAAM,CAAEtC,CAAK,CAACsC,MAAN,CAAe,CAAzB,CADJ,OAlBJ,EA3EF,CAoGH,CApSD,CAsSA,MAAO,IAAMC,WAAU,CAAG7G,UAAU,CAACwB,gBAAD,CAA7B,CAEP"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm","onScrollToBottom","onSearchValueChange","onDropdownOpen","virtualScroll","dropdownOpen","ignoreOutsideClicksRefs"];import"../SelectComponentsCanary/Select.css";import{IconClose}from"@consta/icons/IconClose";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect}from"../SelectComponentsCanary/cnSelect";import{defaultlabelForCreate,defaultLabelForEmptyItems,defaultlabelForNotFound,getInputWidth}from"../SelectComponentsCanary/helpers";import{SelectContainer}from"../SelectComponentsCanary/SelectContainer";import{SelectDropdown}from"../SelectComponentsCanary/SelectDropdown";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponentsCanary/types";import{useSelect}from"../SelectComponentsCanary/useSelect";import{useForkRef}from"../../hooks/useForkRef";import{cnMixFocus}from"../../mixs/MixFocus";import{isMultipleParams,isNotMultipleParams,searchCompare,withDefaultGetters}from"./helpers";import{UserSelectItem}from"./UserSelectItem/UserSelectItem";import{UserSelectValue}from"./UserSelectValue/UserSelectValue";export var COMPONENT_NAME="UserSelect";var UserSelectRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=useRef(null),g=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),f),h=g.placeholder,i=g.onBlur,j=g.onFocus,k=g.items,l=g.onChange,m=g.value,n=g.disabled,o=g.ariaLabel,p=g.id,q=g.isLoading,r=g.required,s=g.dropdownRef,t=void 0===s?c:s,u=g.form,v=void 0===u?defaultPropForm:u,w=g.view,x=void 0===w?defaultPropView:w,y=g.size,z=void 0===y?defaultPropSize:y,A=g.dropdownClassName,B=g.searchValue,C=g.name,D=g.groups,E=void 0===D?[]:D,F=g.getItemKey,G=g.getItemLabel,H=g.getItemSubLabel,I=g.getItemAvatarUrl,J=g.getItemGroupKey,K=g.getItemDisabled,L=g.getGroupKey,M=g.getGroupLabel,N=g.renderItem,O=g.renderValue,P=g.onCreate,Q=g.inputRef,R=g.labelForNotFound,S=void 0===R?defaultlabelForNotFound:R,T=g.labelForCreate,U=void 0===T?defaultlabelForCreate:T,V=g.labelForEmptyItems,W=void 0===V?defaultLabelForEmptyItems:V,X=g.multiple,Y=void 0!==X&&X,Z=g.searchFunction,$=g.style,_=g.dropdownForm,aa=void 0===_?"default":_,ba=g.onScrollToBottom,ca=g.onSearchValueChange,da=g.onDropdownOpen,ea=g.virtualScroll,fa=g.dropdownOpen,ga=g.ignoreOutsideClicksRefs,ha=_objectWithoutProperties(g,_excluded),ia=useSelect({items:k,groups:E,value:m,onChange:l,dropdownRef:t,controlRef:f,disabled:n,getItemLabel:G,getItemKey:F,getGroupKey:L,getItemGroupKey:J,searchValue:B,getItemDisabled:K,multiple:Y,onBlur:i,onFocus:j,onCreate:P,searchFunction:Z||function searchFunctionDefault(a,b){var c=searchCompare(b,G(a));return c?c:searchCompare(b,H(a))},onSearchValueChange:ca,onDropdownOpen:da,dropdownOpen:fa,ignoreOutsideClicksRefs:ga}),ja=ia.getKeyProps,ka=ia.getOptionProps,la=ia.isOpen,ma=ia.visibleItems,na=ia.isFocused,oa=ia.handleInputFocus,pa=ia.handleInputBlur,qa=ia.handleToggleDropdown,ra=ia.inputRef,sa=ia.handleInputClick,ta=ia.handleInputChange,ua=ia.searchValue,va=ia.clearValue,wa=ia.getHandleRemoveValue,xa=ia.notFound,ya=ia.hasItems,za=ia.optionsRefs,Aa=p?"".concat(p,"-input"):p,Ba=O||function renderValueDefault(a){var b=a.item,c=a.handleRemove;return React.createElement(UserSelectValue,{label:G(b),subLabel:H(b),avatarUrl:I(b),key:F(b),size:z,handleRemove:c,multiple:Y,disabled:n||K(b)})},Ca=useForkRef([ra,Q]),Da=function(){var b=Y?getInputWidth(d,e):void 0;return React.createElement(React.Fragment,null,isMultipleParams(a)&&Array.isArray(a.value)&&a.value.map(function(a){return Ba({item:a,handleRemove:wa(a)})}),isNotMultipleParams(a)&&a.value&&Ba({item:a.value}),(!m||Array.isArray(m)&&0===m.length)&&!ua&&h&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},h),React.createElement("input",Object.assign({},ja(),{type:"text",name:C,id:Aa,onFocus:oa,onBlur:pa,"aria-label":o,onChange:ta,ref:Ca,className:cnSelect("Input",{size:z,hide:!Y
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm","onScrollToBottom","onSearchValueChange","onDropdownOpen","virtualScroll","dropdownOpen","ignoreOutsideClicksRefs"];import"../SelectComponentsCanary/Select.css";import{IconClose}from"@consta/icons/IconClose";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect}from"../SelectComponentsCanary/cnSelect";import{defaultlabelForCreate,defaultLabelForEmptyItems,defaultlabelForNotFound,getInputWidth}from"../SelectComponentsCanary/helpers";import{SelectContainer}from"../SelectComponentsCanary/SelectContainer";import{SelectDropdown}from"../SelectComponentsCanary/SelectDropdown";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponentsCanary/types";import{useSelect}from"../SelectComponentsCanary/useSelect";import{useForkRef}from"../../hooks/useForkRef";import{cnMixFocus}from"../../mixs/MixFocus";import{isNotNil}from"../../utils/type-guards";import{isMultipleParams,isNotMultipleParams,searchCompare,withDefaultGetters}from"./helpers";import{UserSelectItem}from"./UserSelectItem/UserSelectItem";import{UserSelectValue}from"./UserSelectValue/UserSelectValue";export var COMPONENT_NAME="UserSelect";var UserSelectRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=useRef(null),g=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),f),h=g.placeholder,i=g.onBlur,j=g.onFocus,k=g.items,l=g.onChange,m=g.value,n=g.disabled,o=g.ariaLabel,p=g.id,q=g.isLoading,r=g.required,s=g.dropdownRef,t=void 0===s?c:s,u=g.form,v=void 0===u?defaultPropForm:u,w=g.view,x=void 0===w?defaultPropView:w,y=g.size,z=void 0===y?defaultPropSize:y,A=g.dropdownClassName,B=g.searchValue,C=g.name,D=g.groups,E=void 0===D?[]:D,F=g.getItemKey,G=g.getItemLabel,H=g.getItemSubLabel,I=g.getItemAvatarUrl,J=g.getItemGroupKey,K=g.getItemDisabled,L=g.getGroupKey,M=g.getGroupLabel,N=g.renderItem,O=g.renderValue,P=g.onCreate,Q=g.inputRef,R=g.labelForNotFound,S=void 0===R?defaultlabelForNotFound:R,T=g.labelForCreate,U=void 0===T?defaultlabelForCreate:T,V=g.labelForEmptyItems,W=void 0===V?defaultLabelForEmptyItems:V,X=g.multiple,Y=void 0!==X&&X,Z=g.searchFunction,$=g.style,_=g.dropdownForm,aa=void 0===_?"default":_,ba=g.onScrollToBottom,ca=g.onSearchValueChange,da=g.onDropdownOpen,ea=g.virtualScroll,fa=g.dropdownOpen,ga=g.ignoreOutsideClicksRefs,ha=_objectWithoutProperties(g,_excluded),ia=useSelect({items:k,groups:E,value:m,onChange:l,dropdownRef:t,controlRef:f,disabled:n,getItemLabel:G,getItemKey:F,getGroupKey:L,getItemGroupKey:J,searchValue:B,getItemDisabled:K,multiple:Y,onBlur:i,onFocus:j,onCreate:P,searchFunction:Z||function searchFunctionDefault(a,b){var c=searchCompare(b,G(a));return c?c:searchCompare(b,H(a))},onSearchValueChange:ca,onDropdownOpen:da,dropdownOpen:fa,ignoreOutsideClicksRefs:ga}),ja=ia.getKeyProps,ka=ia.getOptionProps,la=ia.isOpen,ma=ia.visibleItems,na=ia.isFocused,oa=ia.handleInputFocus,pa=ia.handleInputBlur,qa=ia.handleToggleDropdown,ra=ia.inputRef,sa=ia.handleInputClick,ta=ia.handleInputChange,ua=ia.searchValue,va=ia.clearValue,wa=ia.getHandleRemoveValue,xa=ia.notFound,ya=ia.hasItems,za=ia.optionsRefs,Aa=p?"".concat(p,"-input"):p,Ba=O||function renderValueDefault(a){var b=a.item,c=a.handleRemove;return React.createElement(UserSelectValue,{label:G(b),subLabel:H(b),avatarUrl:I(b),key:F(b),size:z,handleRemove:c,multiple:Y,disabled:n||K(b)})},Ca=useForkRef([ra,Q]),Da=function(){var b=Y?getInputWidth(d,e):void 0;return React.createElement(React.Fragment,null,isMultipleParams(a)&&Array.isArray(a.value)&&a.value.map(function(a){return Ba({item:a,handleRemove:wa(a)})}),isNotMultipleParams(a)&&isNotNil(a.value)&&Ba({item:a.value}),(!isNotNil(m)||Array.isArray(m)&&0===m.length)&&!ua&&h&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},h),React.createElement("input",Object.assign({},ja(),{type:"text",name:C,id:Aa,onFocus:oa,onBlur:pa,"aria-label":o,onChange:ta,ref:Ca,className:cnSelect("Input",{size:z,hide:!Y&&isNotNil(m),multiple:Y,isUserSelect:!0}),value:ua,style:{width:b}})))};return React.createElement(React.Fragment,null,React.createElement(SelectContainer,Object.assign({focused:na,disabled:n,size:z,required:r,id:Aa,view:x,type:"userselect",form:v,multiple:!0,ref:b,style:$},ha),React.createElement("div",{className:cnSelect("Control",{hasInput:!0}),ref:f,"aria-expanded":la,"aria-haspopup":"listbox",id:p},React.createElement("div",{className:cnSelect("ControlInner"),onClick:sa,role:"button",ref:d,"aria-hidden":"true"},React.createElement("div",{className:cnSelect("ControlValueContainer")},Y?React.createElement("div",{className:cnSelect("ControlValue",{isUserSelect:!0})},Da()):Da())),React.createElement("span",{className:cnSelect("Indicators")},isNotNil(m)&&React.createElement("button",{type:"button",onClick:va,tabIndex:-1,className:cnSelect("ClearIndicator",[cnMixFocus()])},React.createElement(IconClose,{size:"xs",className:cnSelect("ClearIndicatorIcon")})),React.createElement("span",{className:cnSelect("Delimiter")}),React.createElement("button",{type:"button",className:cnSelect("IndicatorsDropdown"),tabIndex:-1,onClick:qa},React.createElement(IconSelect,{size:"xs",className:cnSelect("DropdownIndicatorIcon")})))),React.createElement("div",{className:cnSelect("HelperInputFakeElement"),ref:e},ua)),React.createElement(SelectDropdown,{isOpen:la,size:z,controlRef:f,getOptionProps:ka,dropdownRef:t,form:aa,isLoading:q,className:A,renderItem:N||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter,g=a.ref;return React.createElement(UserSelectItem,{label:G(b),subLabel:H(b),avatarUrl:I(b),active:c,hovered:d,size:z,indent:"round"===aa?"increased":"normal",onClick:e,onMouseEnter:f,disable:K(b),multiple:Y,ref:g})},getGroupLabel:M,visibleItems:ma,labelForNotFound:S,labelForCreate:U,notFound:xa,hasItems:ya,labelForEmptyItems:W,itemsRefs:za,onScrollToBottom:ba,virtualScroll:ea,style:"number"==typeof(null===$||void 0===$?void 0:$.zIndex)?{zIndex:$.zIndex+1}:void 0}))};export var UserSelect=forwardRef(UserSelectRender);export*from"./helpers";
|
|
2
2
|
//# sourceMappingURL=UserSelectCanary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserSelectCanary.js","names":["IconClose","IconSelect","React","forwardRef","useRef","usePropsHandler","cnSelect","defaultlabelForCreate","defaultLabelForEmptyItems","defaultlabelForNotFound","getInputWidth","SelectContainer","SelectDropdown","defaultPropForm","defaultPropSize","defaultPropView","useSelect","useForkRef","cnMixFocus","isMultipleParams","isNotMultipleParams","searchCompare","withDefaultGetters","UserSelectItem","UserSelectValue","COMPONENT_NAME","UserSelectRender","props","ref","defaultDropdownRef","controlInnerRef","helperInputFakeElement","controlRef","placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValueProp","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValueProp","renderValue","onCreate","inputRefProp","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm","onScrollToBottom","onSearchValueChange","onDropdownOpen","virtualScroll","dropdownOpen","ignoreOutsideClicksRefs","restProps","searchFunctionDefault","item","searchOfLabel","getKeyProps","getOptionProps","isOpen","visibleItems","isFocused","handleInputFocus","handleInputBlur","handleToggleDropdown","handleInputClick","handleInputChange","clearValue","getHandleRemoveValue","notFound","hasItems","optionsRefs","inputId","renderValueDefault","handleRemove","inputRefForRender","renderControlValue","width","Array","isArray","map","length","hide","isUserSelect","hasInput","renderItemDefault","active","hovered","onClick","onMouseEnter","zIndex","UserSelect"],"sources":["../../../../../src/components/UserSelectCanary/UserSelectCanary.tsx"],"sourcesContent":["import '##/components/SelectComponentsCanary/Select.css';\n\nimport { IconClose } from '@consta/icons/IconClose';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { usePropsHandler } from '##/components/EventInterceptor/usePropsHandler';\nimport { cnSelect } from '##/components/SelectComponentsCanary/cnSelect';\nimport {\n defaultlabelForCreate,\n defaultLabelForEmptyItems,\n defaultlabelForNotFound,\n getInputWidth,\n} from '##/components/SelectComponentsCanary/helpers';\nimport { SelectContainer } from '##/components/SelectComponentsCanary/SelectContainer';\nimport { SelectDropdown } from '##/components/SelectComponentsCanary/SelectDropdown';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '##/components/SelectComponentsCanary/types';\nimport { useSelect } from '##/components/SelectComponentsCanary/useSelect';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cnMixFocus } from '##/mixs/MixFocus';\n\nimport {\n DefaultGroup,\n DefaultItem,\n isMultipleParams,\n isNotMultipleParams,\n PropRenderItem,\n PropRenderValue,\n searchCompare,\n UserSelectComponent,\n UserSelectProps,\n withDefaultGetters,\n} from './helpers';\nimport { UserSelectItem } from './UserSelectItem/UserSelectItem';\nimport { UserSelectValue } from './UserSelectValue/UserSelectValue';\n\nexport const COMPONENT_NAME = 'UserSelect' as const;\n\nconst UserSelectRender = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: UserSelectProps<ITEM, GROUP, MULTIPLE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlInnerRef = useRef<HTMLDivElement>(null);\n const helperInputFakeElement = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement | null>(null);\n\n const {\n placeholder,\n onBlur,\n onFocus,\n items,\n onChange,\n value,\n disabled,\n ariaLabel,\n id,\n isLoading,\n required,\n dropdownRef = defaultDropdownRef,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n dropdownClassName,\n searchValue: searchValueProp,\n name,\n groups = [],\n getItemKey,\n getItemLabel,\n getItemSubLabel,\n getItemAvatarUrl,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n getGroupLabel,\n renderItem,\n renderValue: renderValueProp,\n onCreate,\n inputRef: inputRefProp,\n labelForNotFound = defaultlabelForNotFound,\n labelForCreate = defaultlabelForCreate,\n labelForEmptyItems = defaultLabelForEmptyItems,\n multiple = false,\n searchFunction,\n style,\n dropdownForm = 'default',\n onScrollToBottom,\n onSearchValueChange,\n onDropdownOpen,\n virtualScroll,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...restProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef);\n\n const searchFunctionDefault = (item: ITEM, searchValue: string): boolean => {\n const searchOfLabel = searchCompare(searchValue, getItemLabel(item));\n\n if (searchOfLabel) {\n return searchOfLabel;\n }\n\n return searchCompare(searchValue, getItemSubLabel(item));\n };\n\n const {\n getKeyProps,\n getOptionProps,\n isOpen,\n visibleItems,\n isFocused,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n inputRef,\n handleInputClick,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n optionsRefs,\n } = useSelect({\n items,\n groups,\n value,\n onChange,\n dropdownRef,\n controlRef,\n disabled,\n getItemLabel,\n getItemKey,\n getGroupKey,\n getItemGroupKey,\n searchValue: searchValueProp,\n getItemDisabled,\n multiple,\n onBlur,\n onFocus,\n onCreate,\n searchFunction: searchFunction || searchFunctionDefault,\n onSearchValueChange,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n });\n\n const inputId = id ? `${id}-input` : id;\n\n const renderItemDefault: PropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter, ref } = props;\n\n return (\n <UserSelectItem\n label={getItemLabel(item)}\n subLabel={getItemSubLabel(item)}\n avatarUrl={getItemAvatarUrl(item)}\n active={active}\n hovered={hovered}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disable={getItemDisabled(item)}\n multiple={multiple}\n ref={ref}\n />\n );\n };\n\n const renderValueDefault: PropRenderValue<ITEM> = ({\n item,\n handleRemove,\n }) => {\n return (\n <UserSelectValue\n label={getItemLabel(item)}\n subLabel={getItemSubLabel(item)}\n avatarUrl={getItemAvatarUrl(item)}\n key={getItemKey(item)}\n size={size}\n handleRemove={handleRemove}\n multiple={multiple}\n disabled={disabled || getItemDisabled(item)}\n />\n );\n };\n\n const renderValue = renderValueProp || renderValueDefault;\n\n const inputRefForRender = useForkRef([inputRef, inputRefProp]);\n\n const renderControlValue = () => {\n const width = multiple\n ? getInputWidth(controlInnerRef, helperInputFakeElement)\n : undefined;\n return (\n <>\n {isMultipleParams(props) &&\n Array.isArray(props.value) &&\n props.value.map((item) =>\n renderValue({ item, handleRemove: getHandleRemoveValue(item) }),\n )}\n {isNotMultipleParams(props) &&\n props.value &&\n renderValue({ item: props.value })}\n {(!value || (Array.isArray(value) && value.length === 0)) &&\n !searchValue &&\n placeholder && (\n <span className={cnSelect('Placeholder')} title=\"placeholder\">\n {placeholder}\n </span>\n )}\n <input\n {...getKeyProps()}\n type=\"text\"\n name={name}\n id={inputId}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n aria-label={ariaLabel}\n onChange={handleInputChange}\n ref={inputRefForRender}\n className={cnSelect('Input', {\n size,\n hide: !multiple && !!value,\n multiple,\n isUserSelect: true,\n })}\n value={searchValue}\n style={{ width }}\n />\n </>\n );\n };\n\n return (\n <>\n <SelectContainer\n focused={isFocused}\n disabled={disabled}\n size={size}\n required={required}\n id={inputId}\n view={view}\n type=\"userselect\"\n form={form}\n multiple\n ref={ref}\n style={style}\n {...restProps}\n >\n <div\n className={cnSelect('Control', { hasInput: true })}\n ref={controlRef}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n id={id}\n >\n <div\n className={cnSelect('ControlInner')}\n onClick={handleInputClick}\n role=\"button\"\n ref={controlInnerRef}\n aria-hidden=\"true\"\n >\n <div className={cnSelect('ControlValueContainer')}>\n {multiple ? (\n <div\n className={cnSelect('ControlValue', { isUserSelect: true })}\n >\n {renderControlValue()}\n </div>\n ) : (\n renderControlValue()\n )}\n </div>\n </div>\n <span className={cnSelect('Indicators')}>\n {value && (\n <button\n type=\"button\"\n onClick={clearValue}\n tabIndex={-1}\n className={cnSelect('ClearIndicator', [cnMixFocus()])}\n >\n <IconClose\n size=\"xs\"\n className={cnSelect('ClearIndicatorIcon')}\n />\n </button>\n )}\n <span className={cnSelect('Delimiter')} />\n <button\n type=\"button\"\n className={cnSelect('IndicatorsDropdown')}\n tabIndex={-1}\n onClick={handleToggleDropdown}\n >\n <IconSelect\n size=\"xs\"\n className={cnSelect('DropdownIndicatorIcon')}\n />\n </button>\n </span>\n </div>\n <div\n className={cnSelect('HelperInputFakeElement')}\n ref={helperInputFakeElement}\n >\n {searchValue}\n </div>\n </SelectContainer>\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={dropdownRef}\n form={dropdownForm}\n isLoading={isLoading}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n labelForNotFound={labelForNotFound}\n labelForCreate={labelForCreate}\n notFound={notFound}\n hasItems={hasItems}\n labelForEmptyItems={labelForEmptyItems}\n itemsRefs={optionsRefs}\n onScrollToBottom={onScrollToBottom}\n virtualScroll={virtualScroll}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const UserSelect = forwardRef(UserSelectRender) as UserSelectComponent;\n\nexport * from './helpers';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UserSelectCanary.js","names":["IconClose","IconSelect","React","forwardRef","useRef","usePropsHandler","cnSelect","defaultlabelForCreate","defaultLabelForEmptyItems","defaultlabelForNotFound","getInputWidth","SelectContainer","SelectDropdown","defaultPropForm","defaultPropSize","defaultPropView","useSelect","useForkRef","cnMixFocus","isNotNil","isMultipleParams","isNotMultipleParams","searchCompare","withDefaultGetters","UserSelectItem","UserSelectValue","COMPONENT_NAME","UserSelectRender","props","ref","defaultDropdownRef","controlInnerRef","helperInputFakeElement","controlRef","placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","isLoading","required","dropdownRef","form","view","size","dropdownClassName","searchValueProp","searchValue","name","groups","getItemKey","getItemLabel","getItemSubLabel","getItemAvatarUrl","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","renderValueProp","renderValue","onCreate","inputRefProp","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","multiple","searchFunction","style","dropdownForm","onScrollToBottom","onSearchValueChange","onDropdownOpen","virtualScroll","dropdownOpen","ignoreOutsideClicksRefs","restProps","searchFunctionDefault","item","searchOfLabel","getKeyProps","getOptionProps","isOpen","visibleItems","isFocused","handleInputFocus","handleInputBlur","handleToggleDropdown","handleInputClick","handleInputChange","clearValue","getHandleRemoveValue","notFound","hasItems","optionsRefs","inputId","renderValueDefault","handleRemove","inputRefForRender","renderControlValue","width","Array","isArray","map","length","hide","isUserSelect","hasInput","renderItemDefault","active","hovered","onClick","onMouseEnter","zIndex","UserSelect"],"sources":["../../../../../src/components/UserSelectCanary/UserSelectCanary.tsx"],"sourcesContent":["import '##/components/SelectComponentsCanary/Select.css';\n\nimport { IconClose } from '@consta/icons/IconClose';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { usePropsHandler } from '##/components/EventInterceptor/usePropsHandler';\nimport { cnSelect } from '##/components/SelectComponentsCanary/cnSelect';\nimport {\n defaultlabelForCreate,\n defaultLabelForEmptyItems,\n defaultlabelForNotFound,\n getInputWidth,\n} from '##/components/SelectComponentsCanary/helpers';\nimport { SelectContainer } from '##/components/SelectComponentsCanary/SelectContainer';\nimport { SelectDropdown } from '##/components/SelectComponentsCanary/SelectDropdown';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '##/components/SelectComponentsCanary/types';\nimport { useSelect } from '##/components/SelectComponentsCanary/useSelect';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cnMixFocus } from '##/mixs/MixFocus';\nimport { isNotNil } from '##/utils/type-guards';\n\nimport {\n DefaultGroup,\n DefaultItem,\n isMultipleParams,\n isNotMultipleParams,\n PropRenderItem,\n PropRenderValue,\n searchCompare,\n UserSelectComponent,\n UserSelectProps,\n withDefaultGetters,\n} from './helpers';\nimport { UserSelectItem } from './UserSelectItem/UserSelectItem';\nimport { UserSelectValue } from './UserSelectValue/UserSelectValue';\n\nexport const COMPONENT_NAME = 'UserSelect' as const;\n\nconst UserSelectRender = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: UserSelectProps<ITEM, GROUP, MULTIPLE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlInnerRef = useRef<HTMLDivElement>(null);\n const helperInputFakeElement = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement | null>(null);\n\n const {\n placeholder,\n onBlur,\n onFocus,\n items,\n onChange,\n value,\n disabled,\n ariaLabel,\n id,\n isLoading,\n required,\n dropdownRef = defaultDropdownRef,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n dropdownClassName,\n searchValue: searchValueProp,\n name,\n groups = [],\n getItemKey,\n getItemLabel,\n getItemSubLabel,\n getItemAvatarUrl,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n getGroupLabel,\n renderItem,\n renderValue: renderValueProp,\n onCreate,\n inputRef: inputRefProp,\n labelForNotFound = defaultlabelForNotFound,\n labelForCreate = defaultlabelForCreate,\n labelForEmptyItems = defaultLabelForEmptyItems,\n multiple = false,\n searchFunction,\n style,\n dropdownForm = 'default',\n onScrollToBottom,\n onSearchValueChange,\n onDropdownOpen,\n virtualScroll,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...restProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef);\n\n const searchFunctionDefault = (item: ITEM, searchValue: string): boolean => {\n const searchOfLabel = searchCompare(searchValue, getItemLabel(item));\n\n if (searchOfLabel) {\n return searchOfLabel;\n }\n\n return searchCompare(searchValue, getItemSubLabel(item));\n };\n\n const {\n getKeyProps,\n getOptionProps,\n isOpen,\n visibleItems,\n isFocused,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n inputRef,\n handleInputClick,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n optionsRefs,\n } = useSelect({\n items,\n groups,\n value,\n onChange,\n dropdownRef,\n controlRef,\n disabled,\n getItemLabel,\n getItemKey,\n getGroupKey,\n getItemGroupKey,\n searchValue: searchValueProp,\n getItemDisabled,\n multiple,\n onBlur,\n onFocus,\n onCreate,\n searchFunction: searchFunction || searchFunctionDefault,\n onSearchValueChange,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n });\n\n const inputId = id ? `${id}-input` : id;\n\n const renderItemDefault: PropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter, ref } = props;\n\n return (\n <UserSelectItem\n label={getItemLabel(item)}\n subLabel={getItemSubLabel(item)}\n avatarUrl={getItemAvatarUrl(item)}\n active={active}\n hovered={hovered}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disable={getItemDisabled(item)}\n multiple={multiple}\n ref={ref}\n />\n );\n };\n\n const renderValueDefault: PropRenderValue<ITEM> = ({\n item,\n handleRemove,\n }) => {\n return (\n <UserSelectValue\n label={getItemLabel(item)}\n subLabel={getItemSubLabel(item)}\n avatarUrl={getItemAvatarUrl(item)}\n key={getItemKey(item)}\n size={size}\n handleRemove={handleRemove}\n multiple={multiple}\n disabled={disabled || getItemDisabled(item)}\n />\n );\n };\n\n const renderValue = renderValueProp || renderValueDefault;\n\n const inputRefForRender = useForkRef([inputRef, inputRefProp]);\n\n const renderControlValue = () => {\n const width = multiple\n ? getInputWidth(controlInnerRef, helperInputFakeElement)\n : undefined;\n return (\n <>\n {isMultipleParams(props) &&\n Array.isArray(props.value) &&\n props.value.map((item) =>\n renderValue({ item, handleRemove: getHandleRemoveValue(item) }),\n )}\n {isNotMultipleParams(props) &&\n isNotNil(props.value) &&\n renderValue({ item: props.value })}\n {(!isNotNil(value) || (Array.isArray(value) && value.length === 0)) &&\n !searchValue &&\n placeholder && (\n <span className={cnSelect('Placeholder')} title=\"placeholder\">\n {placeholder}\n </span>\n )}\n <input\n {...getKeyProps()}\n type=\"text\"\n name={name}\n id={inputId}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n aria-label={ariaLabel}\n onChange={handleInputChange}\n ref={inputRefForRender}\n className={cnSelect('Input', {\n size,\n hide: !multiple && isNotNil(value),\n multiple,\n isUserSelect: true,\n })}\n value={searchValue}\n style={{ width }}\n />\n </>\n );\n };\n\n return (\n <>\n <SelectContainer\n focused={isFocused}\n disabled={disabled}\n size={size}\n required={required}\n id={inputId}\n view={view}\n type=\"userselect\"\n form={form}\n multiple\n ref={ref}\n style={style}\n {...restProps}\n >\n <div\n className={cnSelect('Control', { hasInput: true })}\n ref={controlRef}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n id={id}\n >\n <div\n className={cnSelect('ControlInner')}\n onClick={handleInputClick}\n role=\"button\"\n ref={controlInnerRef}\n aria-hidden=\"true\"\n >\n <div className={cnSelect('ControlValueContainer')}>\n {multiple ? (\n <div\n className={cnSelect('ControlValue', { isUserSelect: true })}\n >\n {renderControlValue()}\n </div>\n ) : (\n renderControlValue()\n )}\n </div>\n </div>\n <span className={cnSelect('Indicators')}>\n {isNotNil(value) && (\n <button\n type=\"button\"\n onClick={clearValue}\n tabIndex={-1}\n className={cnSelect('ClearIndicator', [cnMixFocus()])}\n >\n <IconClose\n size=\"xs\"\n className={cnSelect('ClearIndicatorIcon')}\n />\n </button>\n )}\n <span className={cnSelect('Delimiter')} />\n <button\n type=\"button\"\n className={cnSelect('IndicatorsDropdown')}\n tabIndex={-1}\n onClick={handleToggleDropdown}\n >\n <IconSelect\n size=\"xs\"\n className={cnSelect('DropdownIndicatorIcon')}\n />\n </button>\n </span>\n </div>\n <div\n className={cnSelect('HelperInputFakeElement')}\n ref={helperInputFakeElement}\n >\n {searchValue}\n </div>\n </SelectContainer>\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={dropdownRef}\n form={dropdownForm}\n isLoading={isLoading}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n labelForNotFound={labelForNotFound}\n labelForCreate={labelForCreate}\n notFound={notFound}\n hasItems={hasItems}\n labelForEmptyItems={labelForEmptyItems}\n itemsRefs={optionsRefs}\n onScrollToBottom={onScrollToBottom}\n virtualScroll={virtualScroll}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const UserSelect = forwardRef(UserSelectRender) as UserSelectComponent;\n\nexport * from './helpers';\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { TooltipProps as TooltipComponentProps } from
|
|
2
|
+
import { TooltipProps as TooltipComponentProps } from "../../components/Tooltip";
|
|
3
3
|
export declare const withTooltipPropMode: readonly ["mouseover", "click"];
|
|
4
4
|
export declare const withTooltipPropModeDefault: "mouseover";
|
|
5
5
|
declare type WithTooltipPropMode = typeof withTooltipPropMode[number];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["tooltipProps"
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["tooltipProps"],_excluded2=["mode","content","closeOnClickOutside","appearTimeout","exitTimeout"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import React,{useCallback,useRef}from"react";import{Transition}from"react-transition-group";import{Tooltip}from"../../components/Tooltip";import{useDebounce}from"../../hooks/useDebounce";import{useFlag}from"../../hooks/useFlag";import{useForkRef}from"../../hooks/useForkRef";import{useMutableRef}from"../../hooks/useMutableRef";import{animateTimeout,cnMixPopoverAnimate}from"../../mixs/MixPopoverAnimate";export var withTooltipPropMode=["mouseover","click"];export var withTooltipPropModeDefault=withTooltipPropMode[0];export var appearTimeoutDefault=400;export var exitTimeoutDefault=200;export function withTooltip(a){return function(b){return React.forwardRef(function(c,d){var e=c.tooltipProps,f=void 0===e?{}:e,g=_objectWithoutProperties(c,_excluded),h=_objectSpread(_objectSpread({},a),f),i=h.mode,j=void 0===i?"mouseover":i,k=h.content,l=h.closeOnClickOutside,m=!(void 0!==l)||l,n=h.appearTimeout,o=void 0===n?appearTimeoutDefault:n,p=h.exitTimeout,q=void 0===p?exitTimeoutDefault:p,r=_objectWithoutProperties(h,_excluded2),s=useFlag(),t=_slicedToArray(s,2),u=t[0],v=t[1],w=useRef(null),x=useRef(null),y=useRef({tooltip:!1,acnor:!1}),z=useMutableRef([g.onMouseEnter,g.onMouseLeave,r.onMouseEnter,r.onMouseLeave,g.onClick,j,m]),A=useDebounce(useCallback(function(){"mouseover"===z.current[5]&&(y.current.acnor||y.current.tooltip)&&v.on()},[]),o),B=useDebounce(useCallback(function(){"mouseover"!==z.current[5]||y.current.acnor||y.current.tooltip||v.off()},[]),q),C=useCallback(function(a){var b,c;y.current.acnor=!0,A(),null===(b=(c=z.current)[0])||void 0===b?void 0:b.call(c,a)},[]),D=useCallback(function(a){var b,c;y.current.acnor=!1,B(),null===(b=(c=z.current)[1])||void 0===b?void 0:b.call(c,a)},[]),E=useCallback(function(a){var b,c;y.current.tooltip=!0,A(),null===(b=(c=z.current)[2])||void 0===b?void 0:b.call(c,a)},[]),F=useCallback(function(a){var b,c;y.current.tooltip=!1,B(),null===(b=(c=z.current)[3])||void 0===b?void 0:b.call(c,a)},[]),G=useCallback(function(){"click"===z.current[5]&&z.current[6]&&v.off()},[j,m]),H=useCallback(function(a){var b,c;"click"===z.current[5]&&v.toggle(),null===(b=(c=z.current)[4])||void 0===b?void 0:b.call(c,a)},[]);return React.createElement(React.Fragment,null,React.createElement(b,Object.assign({},g,{onClick:H,onMouseEnter:C,onMouseLeave:D,ref:useForkRef([w,d])})),React.createElement(Transition,{in:u,unmountOnExit:!0,timeout:animateTimeout,nodeRef:x},function(a){return React.createElement(Tooltip,Object.assign({},r,{className:cnMixPopoverAnimate({animate:a},[r.className]),ref:x,anchorRef:w,onClickOutside:G,onMouseEnter:E,onMouseLeave:F}),k)}))})}}
|
|
2
2
|
//# sourceMappingURL=withTooltip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withTooltip.js","names":["React","useEffect","useRef","useFlag","Tooltip","useForkRef","withTooltipPropMode","withTooltipPropModeDefault","appearTimeoutDefault","exitTimeoutDefault","closeFunctions","clearTooltips","currentRef","removeCurrent","current","timer","clearTimeout","index","findIndex","ref","splice","closeFunction","push","withTooltip","hocProps","Component","forwardRef","props","tooltipProps","tooltipPropsFromComponent","onClickProp","onClick","onMouseEnterProp","onMouseEnter","onMouseLeaveProp","onMouseLeave","componentProps","mode","content","closeOnClickOutside","appearTimeout","exitTimeout","otherTooltipProps","visible","setVisible","componentRef","tooltipRef","clearRef","clearTimer","setExitTimer","setTimeout","off","setAppearTimer","on","e","toggle","onClickOutside","tooltipOnMouseEnter","tooltipOnMouseLeave"],"sources":["../../../../../src/hocs/withTooltip/withTooltip.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\n\nimport { useFlag } from '##/hooks/useFlag';\n\nimport {\n Tooltip,\n TooltipProps as TooltipComponentProps,\n} from '../../components/Tooltip/Tooltip';\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\n\nexport const withTooltipPropMode = ['mouseover', 'click'] as const;\nexport const withTooltipPropModeDefault = withTooltipPropMode[0];\ntype WithTooltipPropMode = typeof withTooltipPropMode[number];\n\nexport const appearTimeoutDefault = 400;\nexport const exitTimeoutDefault = 200;\n\ntype ComponentProps = {\n onClick?: (() => void) | React.EventHandler<React.MouseEvent>;\n onMouseEnter?: (() => void) | React.MouseEventHandler;\n onMouseLeave?: (() => void) | React.MouseEventHandler;\n};\n\nexport type TooltipProps = Omit<TooltipComponentProps, 'children' | 'ref'> & {\n content?: React.ReactNode;\n mode?: WithTooltipPropMode;\n closeOnClickOutside?: boolean;\n appearTimeout?: number;\n exitTimeout?: number;\n};\n\ntype ClearTooltip = {\n closeFunction?: () => void;\n timer?: ReturnType<typeof setTimeout>;\n};\n\ntype ClearTooltipRef = React.MutableRefObject<ClearTooltip>;\n\nexport type WithTooltipProps<Props> = Omit<Props, 'tooltipProps'> & {\n tooltipProps?: TooltipProps;\n};\n\nconst closeFunctions: ClearTooltipRef[] = [];\n// функция которая закроет все тултипы на странице кроме текущего с которым взаимодействует пользователь\nfunction clearTooltips(currentRef: ClearTooltipRef, removeCurrent?: boolean) {\n if (removeCurrent) {\n // удаляем только текущую функцию закрытия, нужна если компонент размонтируется\n if (currentRef.current.timer) {\n clearTimeout(currentRef.current.timer);\n }\n const index = closeFunctions.findIndex((ref) => ref === currentRef);\n closeFunctions.splice(index, 1);\n } else {\n // закрываем все тултипы на странице кроме текущего с которым взаимодействует пользователь\n for (const ref of closeFunctions) {\n if (currentRef !== ref) {\n if (ref.current.timer) {\n clearTimeout(ref.current.timer);\n }\n ref.current.closeFunction?.();\n }\n }\n closeFunctions.splice(0);\n closeFunctions.push(currentRef);\n }\n}\n\nexport function withTooltip(hocProps?: TooltipProps) {\n return function <COMPONENT_TYPE, COMPONENT_PROPS extends ComponentProps>(\n Component: COMPONENT_TYPE,\n ) {\n return React.forwardRef<HTMLElement, WithTooltipProps<COMPONENT_PROPS>>(\n (props, ref) => {\n const {\n tooltipProps: tooltipPropsFromComponent = {},\n onClick: onClickProp,\n onMouseEnter: onMouseEnterProp,\n onMouseLeave: onMouseLeaveProp,\n ...componentProps\n } = props;\n const tooltipProps: TooltipProps = {\n ...hocProps,\n ...tooltipPropsFromComponent,\n };\n const {\n mode = 'mouseover',\n content,\n closeOnClickOutside = true,\n appearTimeout = appearTimeoutDefault,\n exitTimeout = exitTimeoutDefault,\n ...otherTooltipProps\n } = tooltipProps;\n\n const [visible, setVisible] = useFlag();\n const componentRef = useRef<HTMLElement>(null);\n const tooltipRef = useRef<HTMLDivElement>(null);\n const clearRef = useRef<ClearTooltip>({});\n\n const clearTimer = () => {\n if (clearRef.current.timer) {\n clearTimeout(clearRef.current.timer);\n }\n };\n\n const setExitTimer = () => {\n if (mode === 'mouseover' && visible) {\n clearRef.current.timer = setTimeout(setVisible.off, exitTimeout);\n }\n };\n\n const setAppearTimer = () => {\n if (mode === 'mouseover' && !visible) {\n clearRef.current.timer = setTimeout(setVisible.on, appearTimeout);\n }\n };\n\n useEffect(() => {\n // очищаем ссылку в clearTooltips при размонтировании компонента\n return () => clearTooltips(clearRef, true);\n }, []);\n\n useEffect(() => {\n if (visible) {\n clearRef.current.closeFunction = setVisible.off;\n clearTooltips(clearRef);\n }\n }, [visible]);\n\n const onClick = (e: React.MouseEvent) => {\n if (mode === 'click') {\n setVisible.toggle();\n }\n onClickProp?.(e);\n };\n\n const onClickOutside = () => {\n if (mode === 'click' && closeOnClickOutside) {\n setVisible.off();\n }\n };\n\n const onMouseEnter = (e: React.MouseEvent) => {\n if (mode === 'mouseover') {\n clearTimer();\n setAppearTimer();\n }\n onMouseEnterProp?.(e);\n };\n\n const onMouseLeave = (e: React.MouseEvent) => {\n clearTimer();\n setExitTimer();\n onMouseLeaveProp?.(e);\n };\n\n const tooltipOnMouseEnter = (e: React.MouseEvent<HTMLDivElement>) => {\n clearTimer();\n otherTooltipProps.onMouseEnter?.(e);\n };\n\n const tooltipOnMouseLeave = (e: React.MouseEvent<HTMLDivElement>) => {\n clearTimer();\n setExitTimer();\n otherTooltipProps.onMouseLeave?.(e);\n };\n\n const Anchor =\n Component as unknown as React.ComponentType<COMPONENT_PROPS>;\n\n return (\n <>\n <Anchor\n {...(componentProps as COMPONENT_PROPS)}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n ref={useForkRef([componentRef, ref])}\n />\n {visible && (\n <Tooltip\n {...otherTooltipProps}\n ref={tooltipRef}\n anchorRef={componentRef}\n onClickOutside={onClickOutside}\n onMouseEnter={tooltipOnMouseEnter}\n onMouseLeave={tooltipOnMouseLeave}\n >\n {content}\n </Tooltip>\n )}\n </>\n );\n // привел к типам, так как прокинутый компонент может иметь джененрики и они потеряются за хоком\n },\n ) as unknown as\n | COMPONENT_TYPE\n | React.ComponentType<WithTooltipProps<COMPONENT_PROPS>>;\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"withTooltip.js","names":["React","useCallback","useRef","Transition","Tooltip","useDebounce","useFlag","useForkRef","useMutableRef","animateTimeout","cnMixPopoverAnimate","withTooltipPropMode","withTooltipPropModeDefault","appearTimeoutDefault","exitTimeoutDefault","withTooltip","hocProps","Component","forwardRef","props","ref","tooltipProps","tooltipPropsFromComponent","componentProps","mode","content","closeOnClickOutside","appearTimeout","exitTimeout","otherTooltipProps","visible","setVisible","acnortRef","tooltipRef","hoverStateRef","tooltip","acnor","mutablePropsRef","onMouseEnter","onMouseLeave","onClick","mouseEnterController","current","on","mouseLeaveController","off","acnorOnMouseEnter","e","acnorOnMouseLeave","tooltipOnMouseEnter","tooltipOnMouseLeave","tooltipOnClickOutside","acnorOnClick","toggle","animate","className"],"sources":["../../../../../src/hocs/withTooltip/withTooltip.tsx"],"sourcesContent":["import React, { useCallback, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n Tooltip,\n TooltipProps as TooltipComponentProps,\n} from '##/components/Tooltip';\nimport { useDebounce } from '##/hooks/useDebounce';\nimport { useFlag } from '##/hooks/useFlag';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { animateTimeout, cnMixPopoverAnimate } from '##/mixs/MixPopoverAnimate';\n\nexport const withTooltipPropMode = ['mouseover', 'click'] as const;\nexport const withTooltipPropModeDefault = withTooltipPropMode[0];\ntype WithTooltipPropMode = typeof withTooltipPropMode[number];\n\nexport const appearTimeoutDefault = 400;\nexport const exitTimeoutDefault = 200;\n\ntype ComponentProps = {\n onClick?: (() => void) | React.EventHandler<React.MouseEvent>;\n onMouseEnter?: (() => void) | React.MouseEventHandler;\n onMouseLeave?: (() => void) | React.MouseEventHandler;\n};\n\nexport type TooltipProps = Omit<TooltipComponentProps, 'children' | 'ref'> & {\n content?: React.ReactNode;\n mode?: WithTooltipPropMode;\n closeOnClickOutside?: boolean;\n appearTimeout?: number;\n exitTimeout?: number;\n};\n\nexport type WithTooltipProps<Props> = Omit<Props, 'tooltipProps'> & {\n tooltipProps?: TooltipProps;\n};\n\ntype HoverState = {\n tooltip: boolean;\n acnor: boolean;\n};\n\nexport function withTooltip(hocProps?: TooltipProps) {\n return function <COMPONENT_TYPE, COMPONENT_PROPS extends ComponentProps>(\n Component: COMPONENT_TYPE,\n ) {\n return React.forwardRef<HTMLElement, WithTooltipProps<COMPONENT_PROPS>>(\n (props, ref) => {\n const {\n tooltipProps: tooltipPropsFromComponent = {},\n ...componentProps\n } = props;\n\n const {\n mode = 'mouseover',\n content,\n closeOnClickOutside = true,\n appearTimeout = appearTimeoutDefault,\n exitTimeout = exitTimeoutDefault,\n ...otherTooltipProps\n } = {\n ...hocProps,\n ...tooltipPropsFromComponent,\n };\n\n const [visible, setVisible] = useFlag();\n const acnortRef = useRef<HTMLElement>(null);\n const tooltipRef = useRef<HTMLDivElement>(null);\n\n const hoverStateRef = useRef<HoverState>({\n tooltip: false,\n acnor: false,\n });\n\n const mutablePropsRef = useMutableRef([\n componentProps.onMouseEnter,\n componentProps.onMouseLeave,\n otherTooltipProps.onMouseEnter,\n otherTooltipProps.onMouseLeave,\n componentProps.onClick,\n mode,\n closeOnClickOutside,\n ] as const);\n\n const mouseEnterController = useDebounce(\n useCallback(() => {\n mutablePropsRef.current[5] === 'mouseover' &&\n (hoverStateRef.current.acnor || hoverStateRef.current.tooltip) &&\n setVisible.on();\n }, []),\n appearTimeout,\n );\n\n const mouseLeaveController = useDebounce(\n useCallback(() => {\n mutablePropsRef.current[5] === 'mouseover' &&\n !hoverStateRef.current.acnor &&\n !hoverStateRef.current.tooltip &&\n setVisible.off();\n }, []),\n exitTimeout,\n );\n\n const acnorOnMouseEnter: React.MouseEventHandler<HTMLDivElement> =\n useCallback((e) => {\n hoverStateRef.current.acnor = true;\n mouseEnterController();\n mutablePropsRef.current[0]?.(e);\n }, []);\n\n const acnorOnMouseLeave: React.MouseEventHandler<HTMLDivElement> =\n useCallback((e) => {\n hoverStateRef.current.acnor = false;\n mouseLeaveController();\n mutablePropsRef.current[1]?.(e);\n }, []);\n\n const tooltipOnMouseEnter: React.MouseEventHandler<HTMLDivElement> =\n useCallback((e) => {\n hoverStateRef.current.tooltip = true;\n mouseEnterController();\n mutablePropsRef.current[2]?.(e);\n }, []);\n\n const tooltipOnMouseLeave: React.MouseEventHandler<HTMLDivElement> =\n useCallback((e) => {\n hoverStateRef.current.tooltip = false;\n mouseLeaveController();\n mutablePropsRef.current[3]?.(e);\n }, []);\n\n const tooltipOnClickOutside = useCallback(() => {\n mutablePropsRef.current[5] === 'click' &&\n mutablePropsRef.current[6] &&\n setVisible.off();\n }, [mode, closeOnClickOutside]);\n\n const acnorOnClick: React.MouseEventHandler = useCallback((e) => {\n mutablePropsRef.current[5] === 'click' && setVisible.toggle();\n mutablePropsRef.current[4]?.(e);\n }, []);\n\n const Anchor =\n Component as unknown as React.ComponentType<COMPONENT_PROPS>;\n\n return (\n <>\n <Anchor\n {...(componentProps as COMPONENT_PROPS)}\n onClick={acnorOnClick}\n onMouseEnter={acnorOnMouseEnter}\n onMouseLeave={acnorOnMouseLeave}\n ref={useForkRef([acnortRef, ref])}\n />\n <Transition\n in={visible}\n unmountOnExit\n timeout={animateTimeout}\n nodeRef={tooltipRef}\n >\n {(animate) => {\n return (\n <Tooltip\n {...otherTooltipProps}\n className={cnMixPopoverAnimate({ animate }, [\n otherTooltipProps.className,\n ])}\n ref={tooltipRef}\n anchorRef={acnortRef}\n onClickOutside={tooltipOnClickOutside}\n onMouseEnter={tooltipOnMouseEnter}\n onMouseLeave={tooltipOnMouseLeave}\n >\n {content}\n </Tooltip>\n );\n }}\n </Transition>\n </>\n );\n // привел к типам, так как прокинутый компонент может иметь джененрики и они потеряются за хоком\n },\n ) as unknown as\n | COMPONENT_TYPE\n | React.ComponentType<WithTooltipProps<COMPONENT_PROPS>>;\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useCallback,useEffect,useRef}from"react";export var useDebounce=function(a,b){var c=useRef(null),d=
|
|
1
|
+
import{useCallback,useEffect,useRef}from"react";import{useMutableRef}from"../useMutableRef";export var useDebounce=function(a,b){var c=useRef(null),d=useMutableRef(a);return useEffect(function(){return function(){c.current&&clearTimeout(c.current)}},[b]),useCallback(function(){for(var a=arguments.length,e=Array(a),f=0;f<a;f++)e[f]=arguments[f];c.current&&clearTimeout(c.current),c.current=setTimeout(function(){c.current=null,"function"==typeof d.current&&d.current.apply(d,e)},b)},[b])};
|
|
2
2
|
//# sourceMappingURL=useDebounce.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDebounce.js","names":["useCallback","useEffect","useRef","useDebounce","fn","time","timeoutRef","fnRef","current","clearTimeout","args","setTimeout"],"sources":["../../../../../src/hooks/useDebounce/useDebounce.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nexport const useDebounce = <T extends (...args: any) => void>(\n fn: T,\n time: number,\n) => {\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const fnRef =
|
|
1
|
+
{"version":3,"file":"useDebounce.js","names":["useCallback","useEffect","useRef","useMutableRef","useDebounce","fn","time","timeoutRef","fnRef","current","clearTimeout","args","setTimeout"],"sources":["../../../../../src/hooks/useDebounce/useDebounce.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nimport { useMutableRef } from '##/hooks/useMutableRef';\n\nexport const useDebounce = <T extends (...args: any) => void>(\n fn: T,\n time: number,\n) => {\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const fnRef = useMutableRef(fn);\n\n useEffect(() => {\n return (): void => {\n timeoutRef.current && clearTimeout(timeoutRef.current);\n };\n }, [time]);\n\n return useCallback<T>(\n ((...args) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n timeoutRef.current = null;\n if (typeof fnRef.current === 'function') {\n fnRef.current(...args);\n }\n }, time);\n }) as T,\n [time],\n );\n};\n"],"mappings":"AAAA,OAASA,WAAT,CAAsBC,SAAtB,CAAiCC,MAAjC,KAA+C,OAA/C,CAEA,OAASC,aAAT,wBAEA,MAAO,IAAMC,YAAW,CAAG,SACzBC,CADyB,CAEzBC,CAFyB,CAGtB,IACGC,EAAU,CAAGL,MAAM,CAAuC,IAAvC,CADtB,CAEGM,CAAK,CAAGL,aAAa,CAACE,CAAD,CAFxB,CAUH,MANAJ,UAAS,CAAC,UAAM,CACd,MAAO,WAAY,CACjBM,CAAU,CAACE,OAAX,EAAsBC,YAAY,CAACH,CAAU,CAACE,OAAZ,CACnC,CACF,CAJQ,CAIN,CAACH,CAAD,CAJM,CAMT,CAAON,WAAW,CACf,UAAa,4BAATW,CAAS,sBAATA,CAAS,iBACRJ,CAAU,CAACE,OADH,EAEVC,YAAY,CAACH,CAAU,CAACE,OAAZ,CAFF,CAKZF,CAAU,CAACE,OAAX,CAAqBG,UAAU,CAAC,UAAM,CACpCL,CAAU,CAACE,OAAX,CAAqB,IADe,CAEP,UAAzB,QAAOD,EAAK,CAACC,OAFmB,EAGlCD,CAAK,CAACC,OAAN,OAAAD,CAAK,CAAYG,CAAZ,CAER,CAL8B,CAK5BL,CAL4B,CAMhC,CAZe,CAahB,CAACA,CAAD,CAbgB,CAenB,CA5BM"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{useRef}from"react";export var useMutableRef=function(a){var b=useRef(a);return b.current=a,b};
|
|
2
2
|
//# sourceMappingURL=useMutableRef.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMutableRef.js","names":["
|
|
1
|
+
{"version":3,"file":"useMutableRef.js","names":["useRef","useMutableRef","value","ref","current"],"sources":["../../../../../src/hooks/useMutableRef/useMutableRef.ts"],"sourcesContent":["import { useRef } from 'react';\n\nexport const useMutableRef = <T>(value: T) => {\n const ref = useRef(value);\n\n ref.current = value;\n\n return ref;\n};\n"],"mappings":"AAAA,OAASA,MAAT,KAAuB,OAAvB,CAEA,MAAO,IAAMC,cAAa,CAAG,SAAIC,CAAJ,CAAiB,CAC5C,GAAMC,EAAG,CAAGH,MAAM,CAACE,CAAD,CAAlB,CAIA,MAFAC,EAAG,CAACC,OAAJ,CAAcF,CAEd,CAAOC,CACR,CANM"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.MixFlex{--flex-align:flex-start;--flex-justify:flex-start;--flex-type:flex;--flex-direction:row;--flex-wrap:nowrap;--flex-gap:0;--flex-order:0;align-items:var(--flex-align);display:var(--flex-type);flex-flow:var(--flex-direction) var(--flex-wrap);gap:var(--flex-gap);justify-content:var(--flex-justify);order:var(--flex-order)}.MixFlex_align_flex-start{--flex-align:flex-start}.MixFlex_align_flex-end{--flex-align:flex-end}.MixFlex_align_center{--flex-align:center}.MixFlex_align_baseline{--flex-align:baseline}.MixFlex_align_stretch{--flex-align:stretch}.MixFlex_justify_flex-start{--flex-justify:flex-start}.MixFlex_justify_flex-end{--flex-justify:flex-end}.MixFlex_justify_center{--flex-justify:center}.MixFlex_justify_space-between{--flex-justify:space-between}.MixFlex_justify_space-around{--flex-justify:space-around}.MixFlex_justify_space-evenly{--flex-justify:space-evenly}.MixFlex_flex_flex{--flex-type:flex}.MixFlex_flex_inline-flex{--flex-type:inline-flex}.MixFlex_wrap_wrap{--flex-wrap:wrap}.MixFlex_wrap_nowrap{--flex-wrap:nowrap}.MixFlex_wrap_wrap-reverse{--flex-wrap:wrap-reverse}.MixFlex_direction_row{--flex-direction:row}.MixFlex_direction_row-reverse{--flex-direction:row-reverse}.MixFlex_direction_column{--flex-direction:column}.MixFlex_direction_column-reverse{--flex-direction:column-reverse}.MixFlex_gap_3xs{--flex-gap:var(--space-3xs)}.MixFlex_gap_2xs{--flex-gap:var(--space-2xs)}.MixFlex_gap_xs{--flex-gap:var(--space-xs)}.MixFlex_gap_s{--flex-gap:var(--space-s)}.MixFlex_gap_m{--flex-gap:var(--space-m)}.MixFlex_gap_l{--flex-gap:var(--space-l)}.MixFlex_gap_xl{--flex-gap:var(--space-xl)}.MixFlex_gap_2xl{--flex-gap:var(--space-2xl)}.MixFlex_gap_3xl{--flex-gap:var(--space-3xl)}.MixFlex_gap_4xl{--flex-gap:var(--space-4xl)}.MixFlex_gap_5xl{--flex-gap:var(--space-5xl)}.MixFlex_gap_6xl{--flex-gap:var(--space-6xl)}.MixFlex_order_-1{--flex-order:-1}.MixFlex_order_0{--flex-order:0}.MixFlex_order_1{--flex-order:1}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import './MixFlex.css';
|
|
2
|
+
import { Space } from '../MixSpace';
|
|
3
|
+
export declare const mixFlexPropAlign: readonly ["flex-start", "flex-end", "center", "baseline", "stretch"];
|
|
4
|
+
export declare type MixFlexPropAlign = typeof mixFlexPropAlign[number];
|
|
5
|
+
export declare const mixFlexPropJustify: readonly ["flex-start", "flex-end", "center", "space-between", "space-around", "space-evenly"];
|
|
6
|
+
export declare type MixFlexPropJustify = typeof mixFlexPropJustify[number];
|
|
7
|
+
export declare const mixFlexPropFlex: readonly ["flex", "inline-flex"];
|
|
8
|
+
export declare type MixFlexPropFlex = typeof mixFlexPropFlex[number];
|
|
9
|
+
export declare const mixFlexPropWrap: readonly ["nowrap", "wrap", "wrap-reverse"];
|
|
10
|
+
export declare type MixFlexPropWrap = typeof mixFlexPropWrap[number];
|
|
11
|
+
export declare const mixFlexPropDirection: readonly ["row", "row-reverse", "column", "column-reverse"];
|
|
12
|
+
export declare type MixFlexPropDirection = typeof mixFlexPropDirection[number];
|
|
13
|
+
declare type Props = {
|
|
14
|
+
align?: MixFlexPropAlign;
|
|
15
|
+
justify?: MixFlexPropJustify;
|
|
16
|
+
flex?: MixFlexPropFlex;
|
|
17
|
+
wrap?: MixFlexPropWrap;
|
|
18
|
+
direction?: MixFlexPropDirection;
|
|
19
|
+
gap?: Space;
|
|
20
|
+
order?: -1 | 0 | 1;
|
|
21
|
+
};
|
|
22
|
+
declare type CnMixFlex = (props: Props, classNames?: Array<string | undefined>) => string;
|
|
23
|
+
export declare const cnMixFlex: CnMixFlex;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./MixFlex.css";import{cn}from"../../utils/bem";export var mixFlexPropAlign=["flex-start","flex-end","center","baseline","stretch"];export var mixFlexPropJustify=["flex-start","flex-end","center","space-between","space-around","space-evenly"];export var mixFlexPropFlex=["flex","inline-flex"];export var mixFlexPropWrap=["nowrap","wrap","wrap-reverse"];export var mixFlexPropDirection=["row","row-reverse","column","column-reverse"];var cnFlex=cn("MixFlex");export var cnMixFlex=function(a){var b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:[];return cnFlex(a,b)};
|
|
2
|
+
//# sourceMappingURL=MixFlex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MixFlex.js","names":["cn","mixFlexPropAlign","mixFlexPropJustify","mixFlexPropFlex","mixFlexPropWrap","mixFlexPropDirection","cnFlex","cnMixFlex","props","classNames"],"sources":["../../../../../src/mixs/MixFlex/MixFlex.ts"],"sourcesContent":["import './MixFlex.css';\n\nimport { cn } from '##/utils/bem';\n\nimport { Space } from '../MixSpace';\n\nexport const mixFlexPropAlign = [\n 'flex-start',\n 'flex-end',\n 'center',\n 'baseline',\n 'stretch',\n] as const;\nexport type MixFlexPropAlign = typeof mixFlexPropAlign[number];\n\nexport const mixFlexPropJustify = [\n 'flex-start',\n 'flex-end',\n 'center',\n 'space-between',\n 'space-around',\n 'space-evenly',\n] as const;\nexport type MixFlexPropJustify = typeof mixFlexPropJustify[number];\n\nexport const mixFlexPropFlex = ['flex', 'inline-flex'] as const;\nexport type MixFlexPropFlex = typeof mixFlexPropFlex[number];\n\nexport const mixFlexPropWrap = ['nowrap', 'wrap', 'wrap-reverse'] as const;\nexport type MixFlexPropWrap = typeof mixFlexPropWrap[number];\n\nexport const mixFlexPropDirection = [\n 'row',\n 'row-reverse',\n 'column',\n 'column-reverse',\n] as const;\nexport type MixFlexPropDirection = typeof mixFlexPropDirection[number];\n\ntype Props = {\n align?: MixFlexPropAlign;\n justify?: MixFlexPropJustify;\n flex?: MixFlexPropFlex;\n wrap?: MixFlexPropWrap;\n direction?: MixFlexPropDirection;\n gap?: Space;\n order?: -1 | 0 | 1;\n};\n\ntype CnMixFlex = (\n props: Props,\n classNames?: Array<string | undefined>,\n) => string;\n\nconst cnFlex = cn('MixFlex');\n\nexport const cnMixFlex: CnMixFlex = (props, classNames = []) =>\n cnFlex(props, classNames);\n"],"mappings":"AAAA,sBAEA,OAASA,EAAT,uBAIA,MAAO,IAAMC,iBAAgB,CAAG,CAC9B,YAD8B,CAE9B,UAF8B,CAG9B,QAH8B,CAI9B,UAJ8B,CAK9B,SAL8B,CAAzB,CASP,MAAO,IAAMC,mBAAkB,CAAG,CAChC,YADgC,CAEhC,UAFgC,CAGhC,QAHgC,CAIhC,eAJgC,CAKhC,cALgC,CAMhC,cANgC,CAA3B,CAUP,MAAO,IAAMC,gBAAe,CAAG,CAAC,MAAD,CAAS,aAAT,CAAxB,CAGP,MAAO,IAAMC,gBAAe,CAAG,CAAC,QAAD,CAAW,MAAX,CAAmB,cAAnB,CAAxB,CAGP,MAAO,IAAMC,qBAAoB,CAAG,CAClC,KADkC,CAElC,aAFkC,CAGlC,QAHkC,CAIlC,gBAJkC,CAA7B,CAuBP,GAAMC,OAAM,CAAGN,EAAE,CAAC,SAAD,CAAjB,CAEA,MAAO,IAAMO,UAAoB,CAAG,SAACC,CAAD,KAAQC,EAAR,wDAAqB,EAArB,OAClCH,OAAM,CAACE,CAAD,CAAQC,CAAR,CAD4B,CAA7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './MixFlex';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/mixs/MixFlex/index.ts"],"sourcesContent":["export * from './MixFlex';\n"],"mappings":"AAAA"}
|