@consta/uikit 4.28.0 → 4.29.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/__internal__/src/components/AutoCompleteCanary/helpers.d.ts +1 -1
- package/__internal__/src/components/AvatarGroup/helpers.d.ts +1 -1
- package/__internal__/src/components/BadgeGroup/types.d.ts +3 -2
- package/__internal__/src/components/BadgeGroup/types.js.map +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabs.css +1 -1
- 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.css +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/BookmarkTabsCanary/helper.d.ts +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/types.d.ts +10 -7
- package/__internal__/src/components/BookmarkTabsCanary/types.js.map +1 -1
- package/__internal__/src/components/Button/Button.css +1 -1
- package/__internal__/src/components/Button/Button.d.ts +1 -0
- package/__internal__/src/components/Button/Button.js +1 -1
- package/__internal__/src/components/Button/Button.js.map +1 -1
- package/__internal__/src/components/ChipsCanary/types.d.ts +3 -2
- package/__internal__/src/components/ChipsCanary/types.js.map +1 -1
- package/__internal__/src/components/ChoiceGroup/helper.d.ts +1 -1
- package/__internal__/src/components/CollapseGroup/helpers.d.ts +2 -2
- package/__internal__/src/components/Combobox/helpers.d.ts +2 -2
- package/__internal__/src/components/ComboboxCanary/helpers.d.ts +2 -2
- package/__internal__/src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.js.map +1 -1
- package/__internal__/src/components/ContextMenu/helpers.d.ts +4 -4
- package/__internal__/src/components/ContextMenu/types.d.ts +7 -6
- package/__internal__/src/components/ContextMenu/types.js.map +1 -1
- package/__internal__/src/components/ContextMenuDeprecated/helpers.d.ts +5 -4
- package/__internal__/src/components/ContextMenuDeprecated/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.d.ts +2 -2
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.d.ts +2 -2
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.d.ts +2 -2
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.d.ts +2 -2
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.d.ts +2 -2
- package/__internal__/src/components/FileField/FileField.d.ts +2 -1
- package/__internal__/src/components/FileField/FileField.js.map +1 -1
- package/__internal__/src/components/Header/Logo/HeaderLogo.d.ts +3 -2
- package/__internal__/src/components/Header/Logo/HeaderLogo.js.map +1 -1
- package/__internal__/src/components/ListCanary/ListCanary.js +1 -1
- package/__internal__/src/components/ListCanary/ListCanary.js.map +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/ListCanary/index.d.ts +1 -0
- package/__internal__/src/components/ListCanary/index.js +1 -1
- package/__internal__/src/components/ListCanary/index.js.map +1 -1
- package/__internal__/src/components/ListCanary/renderHeader.d.ts +4 -0
- package/__internal__/src/components/ListCanary/renderHeader.js +2 -0
- package/__internal__/src/components/ListCanary/renderHeader.js.map +1 -0
- package/__internal__/src/components/ListCanary/types.d.ts +5 -4
- package/__internal__/src/components/ListCanary/types.js.map +1 -1
- package/__internal__/src/components/ProgressStepBar/helpers.d.ts +2 -2
- package/__internal__/src/components/Select/helpers.d.ts +2 -2
- package/__internal__/src/components/SelectCanary/helpers.d.ts +2 -2
- package/__internal__/src/components/Sidebar/Sidebar.d.ts +2 -2
- package/__internal__/src/components/Sidebar/Sidebar.js.map +1 -1
- package/__internal__/src/components/SnackBar/helper.d.ts +1 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.js +1 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.js.map +1 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/useFittingItems.d.ts +4 -3
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/useFittingItems.js +1 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/useFittingItems.js.map +1 -1
- package/__internal__/src/components/Tabs/FitModeScrollWrapper/TabsFitModeScrollWrapper.js +1 -1
- package/__internal__/src/components/Tabs/FitModeScrollWrapper/TabsFitModeScrollWrapper.js.map +1 -1
- package/__internal__/src/components/Tabs/Line/TabsLine.d.ts +1 -0
- package/__internal__/src/components/Tabs/Line/TabsLine.js +1 -1
- package/__internal__/src/components/Tabs/Line/TabsLine.js.map +1 -1
- package/__internal__/src/components/Tabs/Tabs.js +1 -1
- package/__internal__/src/components/Tabs/Tabs.js.map +1 -1
- package/__internal__/src/components/Tabs/types.d.ts +7 -5
- package/__internal__/src/components/Tabs/types.js.map +1 -1
- package/__internal__/src/components/Tag/Tag.d.ts +3 -2
- package/__internal__/src/components/Tag/Tag.js.map +1 -1
- package/__internal__/src/components/TagBase/TagBase.d.ts +1 -1
- package/__internal__/src/components/UserSelect/helpers.d.ts +2 -2
- package/__internal__/src/components/UserSelectCanary/helpers.d.ts +2 -2
- package/__internal__/src/utils/types/AsTags.d.ts +3 -0
- package/__internal__/src/utils/types/AsTags.js +2 -0
- package/__internal__/src/utils/types/AsTags.js.map +1 -0
- package/__internal__/src/utils/types/PropsWithAsAttributes.d.ts +6 -5
- package/__internal__/src/utils/types/PropsWithAsAttributes.js.map +1 -1
- package/__internal__/src/utils/types/PropsWithJsxAttributes.d.ts +2 -1
- package/__internal__/src/utils/types/PropsWithJsxAttributes.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["tabsSizes","tabsDefaultSize","tabsViews","tabsDefaultView","tabsLinePositions","tabsDefaultLinePosition","tabsFitModes","tabsDefaultFitMode"],"sources":["../../../../../src/components/Tabs/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithAsAttributes } from '##/utils/types/PropsWithAsAttributes';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport type TabDimensions = {\n size: number;\n gap: number;\n};\n\nexport type TabsItemDefault = {\n label: string | number;\n leftIcon?: IconComponent;\n rightIcon?: IconComponent;\n rightSide?: React.ReactNode;\n leftSide?: React.ReactNode;\n disabled?: boolean;\n as?:
|
|
1
|
+
{"version":3,"file":"types.js","names":["tabsSizes","tabsDefaultSize","tabsViews","tabsDefaultView","tabsLinePositions","tabsDefaultLinePosition","tabsFitModes","tabsDefaultFitMode"],"sources":["../../../../../src/components/Tabs/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { AsAttributes, AsTags } from '##/utils/types/AsTags';\nimport { PropsWithAsAttributes } from '##/utils/types/PropsWithAsAttributes';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport type TabDimensions = {\n size: number;\n gap: number;\n};\n\nexport type TabsItemDefault = {\n label: string | number;\n leftIcon?: IconComponent;\n rightIcon?: IconComponent;\n rightSide?: React.ReactNode;\n leftSide?: React.ReactNode;\n disabled?: boolean;\n as?: AsTags;\n ref?: React.RefObject<HTMLElement>;\n attributes?: AsAttributes;\n\n /**\n * @deprecated since version 4.11.0 use leftIcon\n */\n icon?: IconComponent;\n};\n\nexport const tabsSizes = ['m', 's', 'xs'] as const;\nexport type TabsPropSize = typeof tabsSizes[number];\nexport const tabsDefaultSize: TabsPropSize = tabsSizes[0];\n\nexport const tabsViews = ['bordered', 'clear'] as const;\nexport type TabsPropView = typeof tabsViews[number];\nexport const tabsDefaultView: TabsPropView = tabsViews[0];\n\nexport const tabsLinePositions = ['bottom', 'top', 'left', 'right'] as const;\nexport type TabsPropLinePosition = typeof tabsLinePositions[number];\nexport const tabsDefaultLinePosition: TabsPropLinePosition = 'bottom';\n\nexport const tabsFitModes = ['scroll', 'dropdown'] as const;\nexport type TabsPropFitMode = typeof tabsFitModes[number];\nexport const tabsDefaultFitMode: TabsPropFitMode = 'dropdown';\n\nexport type TabsPropGetItemLabel<ITEM> = (item: ITEM) => string | number;\nexport type TabsPropGetItemChecked<ITEM> = (item: ITEM) => boolean | undefined;\nexport type TabsPropGetItemIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type TabsPropGetItemSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\n\nexport type TabsPropGetItemAs<ITEM> = (item: ITEM) => AsTags | undefined;\nexport type TabsPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => TabsItemDefault['attributes'];\nexport type TabsPropGetItemRef<ITEM> = (\n item: ITEM,\n) => React.RefObject<HTMLElement> | undefined;\n\nexport type TabsPropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\n\nexport type TabsPropOnChange<ITEM> = (props: {\n e: React.MouseEvent;\n value: ITEM;\n}) => void;\n\nexport type RenderItemProps<ITEM> = {\n item: ITEM;\n onChange: React.MouseEventHandler;\n checked: boolean;\n size: TabsPropSize;\n iconSize?: IconPropSize;\n onlyIcon?: boolean;\n label: string;\n tabRef?: React.RefObject<HTMLElement>;\n renderInDropdown?: boolean;\n} & Omit<TabsItemDefault, 'label' | 'ref'>;\n\nexport type RenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type TabsFitModeWrapperProps<ITEM> = {\n items: ITEM[];\n tabsDimensions: TabDimensions[];\n getItemLabel: TabsPropGetItemLabel<ITEM>;\n getItemChecked: TabsPropGetItemChecked<ITEM>;\n renderItem: (item: ITEM) => React.ReactNode;\n renderItemsList: RenderItemsListProp;\n tabRefs: Array<React.RefObject<HTMLElement>>;\n size: TabsPropSize;\n};\n\nexport type TabsProps<ITEM = TabsItemDefault> = PropsWithHTMLAttributesAndRef<\n {\n size?: TabsPropSize;\n onlyIcon?: boolean;\n view?: TabsPropView;\n iconSize?: IconPropSize;\n items: ITEM[];\n value?: ITEM | null;\n getItemLabel?: TabsPropGetItemLabel<ITEM>;\n getItemLeftIcon?: TabsPropGetItemIcon<ITEM>;\n getItemRightIcon?: TabsPropGetItemIcon<ITEM>;\n getItemLeftSide?: TabsPropGetItemSide<ITEM>;\n getItemRightSide?: TabsPropGetItemSide<ITEM>;\n getItemDisabled?: TabsPropGetItemDisabled<ITEM>;\n getItemAs?: TabsPropGetItemAs<ITEM>;\n getItemAttributes?: TabsPropGetItemAttributes<ITEM>;\n getItemRef?: TabsPropGetItemRef<ITEM>;\n children?: never;\n onChange: TabsPropOnChange<ITEM>;\n renderItem?: RenderItem<ITEM>;\n disabled?: boolean;\n\n /**\n * @deprecated since version 4.11.0 use getItemLeftIcon\n */\n getItemIcon?: TabsPropGetItemIcon<ITEM>;\n } & (\n | {\n linePosition?: Extract<TabsPropLinePosition, 'bottom' | 'top'>;\n fitMode?: 'dropdown' | 'scroll';\n }\n | {\n linePosition: Extract<TabsPropLinePosition, 'left' | 'right'>;\n fitMode?: never;\n }\n ),\n HTMLDivElement\n> &\n (ITEM extends { label: TabsItemDefault['label'] }\n ? {}\n : {\n getItemLabel: TabsPropGetItemLabel<ITEM>;\n });\n\nexport type TabsComponent = <ITEM>(\n props: TabsProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type TabsTabProps<AS extends AsTags = 'button'> = PropsWithAsAttributes<\n {\n onChange: React.MouseEventHandler;\n checked: boolean;\n size: TabsPropSize;\n iconSize?: IconPropSize;\n onlyIcon?: boolean;\n className?: string;\n label: string;\n tabRef?: React.RefObject<HTMLElement>;\n renderInDropdown?: boolean;\n } & Omit<TabsItemDefault, 'label' | 'ref' | 'attributes'>,\n AS\n>;\n\nexport type TabsTabComponent = <AS extends AsTags = 'button'>(\n props: TabsTabProps<AS>,\n) => React.ReactElement | null;\n\nexport type TabsMoreItemsProps<ITEM = TabsItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n renderItem: (\n item: ITEM,\n onClick: () => void,\n renderInDropdown?: boolean,\n ) => React.ReactNode;\n getItemLabel: TabsPropGetItemLabel<ITEM>;\n getItemChecked: TabsPropGetItemChecked<ITEM>;\n height: number;\n size: TabsPropSize;\n } & React.RefAttributes<HTMLDivElement>,\n HTMLDivElement\n >;\n\nexport type TabsMoreItemsComponent = <ITEM>(\n props: TabsMoreItemsProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type RenderItemsListProp = (props: {\n visibleIndexes?: number[];\n withRunningLine?: boolean;\n getTabClassName?: (idx: number) => string | undefined;\n}) => React.ReactNode;\n\nexport type TabsDirection = 'horizontal' | 'vertical';\n"],"mappings":"AA8BA,MAAO,IAAMA,UAAS,CAAG,CAAC,GAAD,CAAM,GAAN,CAAW,IAAX,CAAlB,CAEP,MAAO,IAAMC,gBAA6B,CAAGD,SAAS,CAAC,CAAD,CAA/C,CAEP,MAAO,IAAME,UAAS,CAAG,CAAC,UAAD,CAAa,OAAb,CAAlB,CAEP,MAAO,IAAMC,gBAA6B,CAAGD,SAAS,CAAC,CAAD,CAA/C,CAEP,MAAO,IAAME,kBAAiB,CAAG,CAAC,QAAD,CAAW,KAAX,CAAkB,MAAlB,CAA0B,OAA1B,CAA1B,CAEP,MAAO,IAAMC,wBAA6C,CAAG,QAAtD,CAEP,MAAO,IAAMC,aAAY,CAAG,CAAC,QAAD,CAAW,UAAX,CAArB,CAEP,MAAO,IAAMC,mBAAmC,CAAG,UAA5C"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IconComponent, IconProps } from '@consta/icons/Icon';
|
|
2
2
|
import React from 'react';
|
|
3
|
+
import { AsTagAttribute, AsTags } from "../../utils/types/AsTags";
|
|
3
4
|
import { TagBase } from '../TagBase/TagBase';
|
|
4
5
|
declare type TagBaseProps = React.ComponentProps<typeof TagBase>;
|
|
5
6
|
export declare const tagPropMode: readonly ["button", "check", "cancel", "link", "info"];
|
|
@@ -50,14 +51,14 @@ declare type PropsWithModeInfo = CommonProps & {
|
|
|
50
51
|
onChange?: never;
|
|
51
52
|
checked?: never;
|
|
52
53
|
};
|
|
53
|
-
declare type Props<ROLE extends TagPropMode = 'button'> = ROLE extends 'button' ? PropsWithModeButton & Omit<
|
|
54
|
+
declare type Props<ROLE extends TagPropMode = 'button'> = ROLE extends 'button' ? PropsWithModeButton & Omit<AsTagAttribute<'button'>, keyof PropsWithModeButton> : {} & ROLE extends 'check' ? PropsWithModeCheck & Omit<AsTagAttribute<'button'>, keyof PropsWithModeCheck> : {} & ROLE extends 'cancel' ? PropsWithModeCancel & Omit<AsTagAttribute<'span'>, keyof PropsWithModeCancel> : {} & ROLE extends 'link' ? PropsWithModeLink & Omit<AsTagAttribute<'a'>, keyof PropsWithModeLink> : {} & ROLE extends 'info' ? PropsWithModeInfo & Omit<AsTagAttribute<'span'>, keyof PropsWithModeInfo> : {};
|
|
54
55
|
declare type TagComponent = <ROLE extends TagPropMode>(props: Props<ROLE> & React.RefAttributes<HTMLElement>) => React.ReactElement | null;
|
|
55
56
|
export declare function getParams(mode: TagPropMode, checked?: PropsWithModeCheck['checked'], onClick?: React.MouseEventHandler, onChange?: PropsWithModeCheck['onChange'], onCancel?: PropsWithModeCancel['onCancel']): {
|
|
56
57
|
view?: TagBaseProps['view'];
|
|
57
58
|
onClick?: TagBaseProps['onClick'];
|
|
58
59
|
onCancel?: TagBaseProps['onCancel'];
|
|
59
60
|
withAction?: TagBaseProps['withAction'];
|
|
60
|
-
as:
|
|
61
|
+
as: AsTags;
|
|
61
62
|
};
|
|
62
63
|
export declare const COMPONENT_NAME: "Tag";
|
|
63
64
|
export declare const Tag: TagComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tag.js","names":["React","forwardRef","useRef","useForkRef","usePropsHandler","TagBase","tagPropMode","tagPropModeDefault","getParams","mode","checked","onClick","onChange","onCancel","view","as","withAction","e","COMPONENT_NAME","TagRenter","props","ref","tagRef","otherProps","params","Tag"],"sources":["../../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import { IconComponent, IconProps } from '@consta/icons/Icon';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { TagBase } from '../TagBase/TagBase';\n\ntype TagBaseProps = React.ComponentProps<typeof TagBase>;\n\nexport const tagPropMode = [\n 'button',\n 'check',\n 'cancel',\n 'link',\n 'info',\n] as const;\nexport const tagPropModeDefault = tagPropMode[0];\ntype TagPropMode = typeof tagPropMode[number];\n\ntype CommonProps = {\n size?: TagBaseProps['size'];\n label: TagBaseProps['label'];\n group?: TagBaseProps['group'];\n icon?: IconComponent;\n iconSize?: IconProps['size'];\n children?: never;\n};\n\ntype PropsWithModeButton = CommonProps & {\n mode?: 'button';\n onClick: React.MouseEventHandler<HTMLButtonElement>;\n checked?: never;\n onChange?: never;\n onCancel?: never;\n};\n\ntype PropsWithModeLink = CommonProps & {\n mode: 'link';\n checked?: never;\n onChange?: never;\n onCancel?: never;\n};\n\ntype PropsWithModeCheck = CommonProps & {\n mode: 'check';\n onChange: ({\n e,\n checked,\n }: {\n e?: React.MouseEvent;\n checked: boolean;\n }) => void;\n checked: boolean;\n onClick?: never;\n onCancel?: never;\n};\n\ntype PropsWithModeCancel = CommonProps & {\n mode: 'cancel';\n onCancel: React.MouseEventHandler<HTMLButtonElement>;\n onClick?: never;\n onChange?: never;\n checked?: never;\n};\n\ntype PropsWithModeInfo = CommonProps & {\n mode: 'info';\n onCancel?: never;\n onClick?: never;\n onChange?: never;\n checked?: never;\n};\n\ntype Props<ROLE extends TagPropMode = 'button'> = ROLE extends 'button'\n ? PropsWithModeButton &\n Omit<
|
|
1
|
+
{"version":3,"file":"Tag.js","names":["React","forwardRef","useRef","useForkRef","usePropsHandler","TagBase","tagPropMode","tagPropModeDefault","getParams","mode","checked","onClick","onChange","onCancel","view","as","withAction","e","COMPONENT_NAME","TagRenter","props","ref","tagRef","otherProps","params","Tag"],"sources":["../../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["import { IconComponent, IconProps } from '@consta/icons/Icon';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { AsTagAttribute, AsTags } from '##/utils/types/AsTags';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { TagBase } from '../TagBase/TagBase';\n\ntype TagBaseProps = React.ComponentProps<typeof TagBase>;\n\nexport const tagPropMode = [\n 'button',\n 'check',\n 'cancel',\n 'link',\n 'info',\n] as const;\nexport const tagPropModeDefault = tagPropMode[0];\ntype TagPropMode = typeof tagPropMode[number];\n\ntype CommonProps = {\n size?: TagBaseProps['size'];\n label: TagBaseProps['label'];\n group?: TagBaseProps['group'];\n icon?: IconComponent;\n iconSize?: IconProps['size'];\n children?: never;\n};\n\ntype PropsWithModeButton = CommonProps & {\n mode?: 'button';\n onClick: React.MouseEventHandler<HTMLButtonElement>;\n checked?: never;\n onChange?: never;\n onCancel?: never;\n};\n\ntype PropsWithModeLink = CommonProps & {\n mode: 'link';\n checked?: never;\n onChange?: never;\n onCancel?: never;\n};\n\ntype PropsWithModeCheck = CommonProps & {\n mode: 'check';\n onChange: ({\n e,\n checked,\n }: {\n e?: React.MouseEvent;\n checked: boolean;\n }) => void;\n checked: boolean;\n onClick?: never;\n onCancel?: never;\n};\n\ntype PropsWithModeCancel = CommonProps & {\n mode: 'cancel';\n onCancel: React.MouseEventHandler<HTMLButtonElement>;\n onClick?: never;\n onChange?: never;\n checked?: never;\n};\n\ntype PropsWithModeInfo = CommonProps & {\n mode: 'info';\n onCancel?: never;\n onClick?: never;\n onChange?: never;\n checked?: never;\n};\n\ntype Props<ROLE extends TagPropMode = 'button'> = ROLE extends 'button'\n ? PropsWithModeButton &\n Omit<AsTagAttribute<'button'>, keyof PropsWithModeButton>\n : {} & ROLE extends 'check'\n ? PropsWithModeCheck &\n Omit<AsTagAttribute<'button'>, keyof PropsWithModeCheck>\n : {} & ROLE extends 'cancel'\n ? PropsWithModeCancel &\n Omit<AsTagAttribute<'span'>, keyof PropsWithModeCancel>\n : {} & ROLE extends 'link'\n ? PropsWithModeLink & Omit<AsTagAttribute<'a'>, keyof PropsWithModeLink>\n : {} & ROLE extends 'info'\n ? PropsWithModeInfo & Omit<AsTagAttribute<'span'>, keyof PropsWithModeInfo>\n : {};\n\ntype TagRender = <ROLE extends TagPropMode>(\n props: Props<ROLE>,\n ref: React.Ref<HTMLElement>,\n) => React.ReactElement | null;\n\ntype TagComponent = <ROLE extends TagPropMode>(\n props: Props<ROLE> & React.RefAttributes<HTMLElement>,\n) => React.ReactElement | null;\n\nexport function getParams(\n mode: TagPropMode,\n checked?: PropsWithModeCheck['checked'],\n onClick?: React.MouseEventHandler,\n onChange?: PropsWithModeCheck['onChange'],\n onCancel?: PropsWithModeCancel['onCancel'],\n): {\n view?: TagBaseProps['view'];\n onClick?: TagBaseProps['onClick'];\n onCancel?: TagBaseProps['onCancel'];\n withAction?: TagBaseProps['withAction'];\n as: AsTags;\n} {\n switch (mode) {\n case 'button':\n return {\n view: 'filled',\n onClick,\n as: 'button',\n withAction: true,\n };\n case 'link':\n return {\n view: 'filled',\n onClick,\n as: 'a',\n withAction: true,\n };\n case 'check':\n return {\n view: checked ? 'filled' : 'stroked',\n onClick:\n typeof onChange === 'function'\n ? (e: React.MouseEvent) => onChange({ e, checked: !checked })\n : undefined,\n as: 'button',\n withAction: true,\n };\n case 'cancel':\n return {\n view: 'filled',\n onCancel,\n as: 'span',\n };\n case 'info':\n return {\n view: 'filled',\n as: 'span',\n };\n }\n}\n\nexport const COMPONENT_NAME = 'Tag' as const;\n\nconst TagRenter: TagRender = (props, ref) => {\n const tagRef = useRef<HTMLDivElement>(null);\n const {\n mode = tagPropModeDefault,\n onChange,\n checked,\n onCancel,\n onClick,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, tagRef);\n const params = getParams(mode, checked, onClick, onChange, onCancel);\n\n return (\n <TagBase {...otherProps} {...params} ref={useForkRef([ref, tagRef])} />\n );\n};\n\nexport const Tag = forwardRef(TagRenter) as TagComponent;\n"],"mappings":"sJACA,MAAOA,MAAP,EAAgBC,UAAhB,CAA4BC,MAA5B,KAA0C,OAA1C,CAIA,OAASC,UAAT,yCACA,OAASC,eAAT,2CACA,OAASC,OAAT,0BAIA,MAAO,IAAMC,YAAW,CAAG,CACzB,QADyB,CAEzB,OAFyB,CAGzB,QAHyB,CAIzB,MAJyB,CAKzB,MALyB,CAApB,CAOP,MAAO,IAAMC,mBAAkB,CAAGD,WAAW,CAAC,CAAD,CAAtC,CAiFP,MAAO,SAASE,UAAT,CACLC,CADK,CAELC,CAFK,CAGLC,CAHK,CAILC,CAJK,CAKLC,CALK,CAYL,OAEO,QAFP,GACQJ,CADR,CAGW,CACLK,IAAI,CAAE,QADD,CAELH,OAAO,CAAPA,CAFK,CAGLI,EAAE,CAAE,QAHC,CAILC,UAAU,GAJL,CAHX,CASO,MATP,GACQP,CADR,CAUW,CACLK,IAAI,CAAE,QADD,CAELH,OAAO,CAAPA,CAFK,CAGLI,EAAE,CAAE,GAHC,CAILC,UAAU,GAJL,CAVX,CAgBO,OAhBP,GACQP,CADR,CAiBW,CACLK,IAAI,CAAEJ,CAAO,CAAG,QAAH,CAAc,SADtB,CAELC,OAAO,CACe,UAApB,QAAOC,EAAP,CACI,SAACK,CAAD,QAAyBL,EAAQ,CAAC,CAAEK,CAAC,CAADA,CAAF,CAAKP,OAAO,CAAE,CAACA,CAAf,CAAD,CAAjC,CADJ,OAHG,CAMLK,EAAE,CAAE,QANC,CAOLC,UAAU,GAPL,CAjBX,CA0BO,QA1BP,GACQP,CADR,CA2BW,CACLK,IAAI,CAAE,QADD,CAELD,QAAQ,CAARA,CAFK,CAGLE,EAAE,CAAE,MAHC,CA3BX,CAgCO,MAhCP,GACQN,CADR,CAiCW,CACLK,IAAI,CAAE,QADD,CAELC,EAAE,CAAE,MAFC,CAjCX,OAsCD,CAED,MAAO,IAAMG,eAAc,CAAG,KAAvB,CAEP,GAAMC,UAAoB,CAAG,SAACC,CAAD,CAAQC,CAAR,CAAgB,IACrCC,EAAM,CAAGpB,MAAM,CAAiB,IAAjB,CADsB,GASvCE,eAAe,CAACc,cAAD,CAAiBE,CAAjB,CAAwBE,CAAxB,CATwB,KAGzCb,IAHyC,CAGzCA,CAHyC,YAGlCF,kBAHkC,GAIzCK,CAJyC,GAIzCA,QAJyC,CAKzCF,CALyC,GAKzCA,OALyC,CAMzCG,CANyC,GAMzCA,QANyC,CAOzCF,CAPyC,GAOzCA,OAPyC,CAQtCY,CARsC,uCAUrCC,CAAM,CAAGhB,SAAS,CAACC,CAAD,CAAOC,CAAP,CAAgBC,CAAhB,CAAyBC,CAAzB,CAAmCC,CAAnC,CAVmB,CAY3C,MACE,qBAAC,OAAD,kBAAaU,CAAb,CAA6BC,CAA7B,EAAqC,GAAG,CAAErB,UAAU,CAAC,CAACkB,CAAD,CAAMC,CAAN,CAAD,CAApD,GAEH,CAfD,CAiBA,MAAO,IAAMG,IAAG,CAAGxB,UAAU,CAACkB,SAAD,CAAtB"}
|
|
@@ -6,7 +6,7 @@ export declare const tagBasePropSizeDefault: "m";
|
|
|
6
6
|
export declare type TagBasePropSize = typeof tagBasePropSize[number];
|
|
7
7
|
export declare const tagBasePropGroupNumberValue: readonly [1, 2, 3, 4, 5, 6, 7, 8, 9];
|
|
8
8
|
export declare const tagBasePropGroupStringValue: readonly ["1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
9
|
-
export declare const tagBasePropGroup: (2 | 1 | "1" | 4 | 3 | 5 | "2" | 7 | 9 |
|
|
9
|
+
export declare const tagBasePropGroup: (2 | 1 | "1" | 4 | 3 | 5 | "2" | 7 | 9 | "3" | 8 | "4" | "5" | "6" | "7" | "8" | 6 | "9")[];
|
|
10
10
|
export declare type TagBasePropGroup = typeof tagBasePropGroup[number];
|
|
11
11
|
export declare const tagBasePropView: readonly ["stroked", "filled"];
|
|
12
12
|
export declare const tagBasePropViewDefault: "stroked";
|
|
@@ -109,10 +109,10 @@ export declare const isMultipleParams: <ITEM, GROUP>(params: UserSelectProps<ITE
|
|
|
109
109
|
export declare const isNotMultipleParams: <ITEM, GROUP>(params: UserSelectProps<ITEM, GROUP, boolean>) => params is UserSelectProps<ITEM, GROUP, false>;
|
|
110
110
|
export declare function withDefaultGetters<ITEM = DefaultItem, GROUP = DefaultGroup, MULTIPLE extends boolean = false>(props: UserSelectProps<ITEM, GROUP, MULTIPLE>): {
|
|
111
111
|
disabled?: boolean | undefined;
|
|
112
|
-
form?: "default" | "
|
|
112
|
+
form?: "default" | "defaultClear" | "defaultBrick" | "brick" | "brickDefault" | "brickClear" | "brickRound" | "round" | "roundClear" | "roundBrick" | "clearRound" | "clearDefault" | "clearBrick" | "clearClear" | undefined;
|
|
113
113
|
size?: "m" | "s" | "l" | undefined;
|
|
114
114
|
view?: "default" | "clear" | undefined;
|
|
115
|
-
dropdownForm?: "default" | "
|
|
115
|
+
dropdownForm?: "default" | "brick" | "round" | undefined;
|
|
116
116
|
placeholder?: string | undefined;
|
|
117
117
|
ariaLabel?: string | undefined;
|
|
118
118
|
dropdownClassName?: string | undefined;
|
|
@@ -113,10 +113,10 @@ export declare const isMultipleParams: <ITEM, GROUP>(params: UserSelectProps<ITE
|
|
|
113
113
|
export declare const isNotMultipleParams: <ITEM, GROUP>(params: UserSelectProps<ITEM, GROUP, boolean>) => params is UserSelectProps<ITEM, GROUP, false>;
|
|
114
114
|
export declare function withDefaultGetters<ITEM = DefaultItem, GROUP = DefaultGroup, MULTIPLE extends boolean = false>(props: UserSelectProps<ITEM, GROUP, MULTIPLE>): {
|
|
115
115
|
disabled?: boolean | undefined;
|
|
116
|
-
form?: "default" | "
|
|
116
|
+
form?: "default" | "defaultClear" | "defaultBrick" | "brick" | "brickDefault" | "brickClear" | "brickRound" | "round" | "roundClear" | "roundBrick" | "clearRound" | "clearDefault" | "clearBrick" | "clearClear" | undefined;
|
|
117
117
|
size?: "m" | "s" | "l" | undefined;
|
|
118
118
|
view?: "default" | "clear" | undefined;
|
|
119
|
-
dropdownForm?: "default" | "
|
|
119
|
+
dropdownForm?: "default" | "brick" | "round" | undefined;
|
|
120
120
|
placeholder?: string | undefined;
|
|
121
121
|
ariaLabel?: string | undefined;
|
|
122
122
|
dropdownClassName?: string | undefined;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare type AsTags = 'a' | 'abbr' | 'address' | 'area' | 'article' | 'aside' | 'audio' | 'b' | 'base' | 'bdi' | 'bdo' | 'big' | 'blockquote' | 'body' | 'br' | 'button' | 'canvas' | 'caption' | 'cite' | 'code' | 'col' | 'colgroup' | 'data' | 'datalist' | 'dd' | 'del' | 'details' | 'dfn' | 'dialog' | 'div' | 'dl' | 'dt' | 'em' | 'embed' | 'fieldset' | 'figcaption' | 'figure' | 'footer' | 'form' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'head' | 'header' | 'hgroup' | 'hr' | 'html' | 'i' | 'iframe' | 'img' | 'input' | 'ins' | 'kbd' | 'keygen' | 'label' | 'legend' | 'li' | 'link' | 'main' | 'map' | 'mark' | 'menu' | 'menuitem' | 'meta' | 'meter' | 'nav' | 'noindex' | 'noscript' | 'object' | 'ol' | 'optgroup' | 'option' | 'output' | 'p' | 'param' | 'picture' | 'pre' | 'progress' | 'q' | 'rp' | 'rt' | 'ruby' | 's' | 'samp' | 'slot' | 'script' | 'section' | 'select' | 'small' | 'source' | 'span' | 'strong' | 'style' | 'sub' | 'summary' | 'sup' | 'table' | 'template' | 'tbody' | 'td' | 'textarea' | 'tfoot' | 'th' | 'thead' | 'time' | 'title' | 'tr' | 'track' | 'u' | 'ul' | 'var' | 'video' | 'wbr' | 'webview';
|
|
2
|
+
export declare type AsAttributes = JSX.IntrinsicElements[AsTags];
|
|
3
|
+
export declare type AsTagAttribute<T extends AsTags> = JSX.IntrinsicElements[T];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsTags.js","names":[],"sources":["../../../../../src/utils/types/AsTags.ts"],"sourcesContent":["export type AsTags =\n | 'a'\n | 'abbr'\n | 'address'\n | 'area'\n | 'article'\n | 'aside'\n | 'audio'\n | 'b'\n | 'base'\n | 'bdi'\n | 'bdo'\n | 'big'\n | 'blockquote'\n | 'body'\n | 'br'\n | 'button'\n | 'canvas'\n | 'caption'\n | 'cite'\n | 'code'\n | 'col'\n | 'colgroup'\n | 'data'\n | 'datalist'\n | 'dd'\n | 'del'\n | 'details'\n | 'dfn'\n | 'dialog'\n | 'div'\n | 'dl'\n | 'dt'\n | 'em'\n | 'embed'\n | 'fieldset'\n | 'figcaption'\n | 'figure'\n | 'footer'\n | 'form'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'head'\n | 'header'\n | 'hgroup'\n | 'hr'\n | 'html'\n | 'i'\n | 'iframe'\n | 'img'\n | 'input'\n | 'ins'\n | 'kbd'\n | 'keygen'\n | 'label'\n | 'legend'\n | 'li'\n | 'link'\n | 'main'\n | 'map'\n | 'mark'\n | 'menu'\n | 'menuitem'\n | 'meta'\n | 'meter'\n | 'nav'\n | 'noindex'\n | 'noscript'\n | 'object'\n | 'ol'\n | 'optgroup'\n | 'option'\n | 'output'\n | 'p'\n | 'param'\n | 'picture'\n | 'pre'\n | 'progress'\n | 'q'\n | 'rp'\n | 'rt'\n | 'ruby'\n | 's'\n | 'samp'\n | 'slot'\n | 'script'\n | 'section'\n | 'select'\n | 'small'\n | 'source'\n | 'span'\n | 'strong'\n | 'style'\n | 'sub'\n | 'summary'\n | 'sup'\n | 'table'\n | 'template'\n | 'tbody'\n | 'td'\n | 'textarea'\n | 'tfoot'\n | 'th'\n | 'thead'\n | 'time'\n | 'title'\n | 'tr'\n | 'track'\n | 'u'\n | 'ul'\n | 'var'\n | 'video'\n | 'wbr'\n | 'webview';\n\nexport type AsAttributes = JSX.IntrinsicElements[AsTags];\n\nexport type AsTagAttribute<T extends AsTags> = JSX.IntrinsicElements[T];\n"],"mappings":""}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
2
|
+
import { AsTagAttribute, AsTags } from './AsTags';
|
|
3
|
+
export declare type PropsWithAsAttributes<Props, As extends AsTags> = Props & {
|
|
3
4
|
as?: As;
|
|
4
|
-
} & Omit<
|
|
5
|
-
export declare type ComponentWithAs<Props, DefaultTag extends
|
|
6
|
-
declare type ForwardRefWithAs<Props> = <As extends
|
|
7
|
-
export declare function forwardRefWithAs<Props, As extends
|
|
5
|
+
} & Omit<AsTagAttribute<As>, keyof Props>;
|
|
6
|
+
export declare type ComponentWithAs<Props, DefaultTag extends AsTags = 'div'> = <As extends AsTags = DefaultTag>(props: PropsWithAsAttributes<Props, As> & React.RefAttributes<Element>) => React.ReactElement | null;
|
|
7
|
+
declare type ForwardRefWithAs<Props> = <As extends AsTags>(props: PropsWithAsAttributes<Props, As>, ref: React.Ref<HTMLElement>) => React.ReactElement | null;
|
|
8
|
+
export declare function forwardRefWithAs<Props, As extends AsTags = 'div'>(render: ForwardRefWithAs<Props>): ComponentWithAs<Props, As>;
|
|
8
9
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropsWithAsAttributes.js","names":["React","forwardRefWithAs","render","forwardRef"],"sources":["../../../../../src/utils/types/PropsWithAsAttributes.ts"],"sourcesContent":["import React from 'react';\n\nexport type PropsWithAsAttributes
|
|
1
|
+
{"version":3,"file":"PropsWithAsAttributes.js","names":["React","forwardRefWithAs","render","forwardRef"],"sources":["../../../../../src/utils/types/PropsWithAsAttributes.ts"],"sourcesContent":["import React from 'react';\n\nimport { AsTagAttribute, AsTags } from './AsTags';\n\nexport type PropsWithAsAttributes<Props, As extends AsTags> = Props & {\n as?: As;\n} & Omit<AsTagAttribute<As>, keyof Props>;\n\nexport type ComponentWithAs<Props, DefaultTag extends AsTags = 'div'> = <\n As extends AsTags = DefaultTag,\n>(\n props: PropsWithAsAttributes<Props, As> & React.RefAttributes<Element>,\n) => React.ReactElement | null;\n\ntype ForwardRefWithAs<Props> = <As extends AsTags>(\n props: PropsWithAsAttributes<Props, As>,\n ref: React.Ref<HTMLElement>,\n) => React.ReactElement | null;\n\nexport function forwardRefWithAs<Props, As extends AsTags = 'div'>(\n render: ForwardRefWithAs<Props>,\n) {\n return React.forwardRef<HTMLElement, PropsWithAsAttributes<Props, As>>(\n render,\n ) as unknown as ComponentWithAs<Props, As>;\n}\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAmBA,MAAO,SAASC,iBAAT,CACLC,CADK,CAEL,CACA,MAAOF,MAAK,CAACG,UAAN,CACLD,CADK,CAGR"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { AsTagAttribute, AsTags } from './AsTags';
|
|
2
|
+
export declare type PropsWithJsxAttributes<Props, As extends AsTags = 'div'> = Omit<Props & Omit<AsTagAttribute<As>, keyof Props>, 'css'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropsWithJsxAttributes.js","names":[],"sources":["../../../../../src/utils/types/PropsWithJsxAttributes.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"PropsWithJsxAttributes.js","names":[],"sources":["../../../../../src/utils/types/PropsWithJsxAttributes.ts"],"sourcesContent":["import { AsTagAttribute, AsTags } from './AsTags';\n\nexport type PropsWithJsxAttributes<Props, As extends AsTags = 'div'> = Omit<\n Props & Omit<AsTagAttribute<As>, keyof Props>,\n 'css'\n>;\n"],"mappings":""}
|