@consta/uikit 5.10.0 → 5.12.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.
Files changed (82) hide show
  1. package/__internal__/src/components/AutoCompleteCanary/AutoComplete.d.ts +3 -0
  2. package/__internal__/src/components/AutoCompleteCanary/AutoComplete.js +2 -0
  3. package/__internal__/src/components/AutoCompleteCanary/AutoComplete.js.map +1 -0
  4. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/AutoCompleteTypeText.d.ts +2 -0
  5. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/AutoCompleteTypeText.js +2 -0
  6. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/AutoCompleteTypeText.js.map +1 -0
  7. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/index.d.ts +1 -0
  8. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/index.js +2 -0
  9. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/index.js.map +1 -0
  10. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/AutoCompleteTypeTextArray.d.ts +2 -0
  11. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/AutoCompleteTypeTextArray.js +2 -0
  12. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/AutoCompleteTypeTextArray.js.map +1 -0
  13. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/index.d.ts +1 -0
  14. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/index.js +2 -0
  15. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/index.js.map +1 -0
  16. package/__internal__/src/components/AutoCompleteCanary/helpers.d.ts +47 -0
  17. package/__internal__/src/components/AutoCompleteCanary/helpers.js +2 -0
  18. package/__internal__/src/components/AutoCompleteCanary/helpers.js.map +1 -0
  19. package/__internal__/src/components/AutoCompleteCanary/index.d.ts +2 -0
  20. package/__internal__/src/components/AutoCompleteCanary/index.js +2 -0
  21. package/__internal__/src/components/AutoCompleteCanary/index.js.map +1 -0
  22. package/__internal__/src/components/AutoCompleteCanary/types.d.ts +58 -0
  23. package/__internal__/src/components/AutoCompleteCanary/types.js +2 -0
  24. package/__internal__/src/components/AutoCompleteCanary/types.js.map +1 -0
  25. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.d.ts +47 -0
  26. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js +2 -0
  27. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js.map +1 -0
  28. package/__internal__/src/components/AutoCompleteCanary/useRenderItemDefault.d.ts +4 -0
  29. package/__internal__/src/components/AutoCompleteCanary/useRenderItemDefault.js +2 -0
  30. package/__internal__/src/components/AutoCompleteCanary/useRenderItemDefault.js.map +1 -0
  31. package/__internal__/src/components/ComboboxDeprecated/helpers.d.ts +1 -1
  32. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.d.ts +2 -0
  33. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js.map +1 -1
  34. package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
  35. package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js.map +1 -1
  36. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
  37. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
  38. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
  39. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
  40. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
  41. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
  42. package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js +1 -1
  43. package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map +1 -1
  44. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
  45. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
  46. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js +1 -1
  47. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js.map +1 -1
  48. package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js +1 -1
  49. package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js.map +1 -1
  50. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
  51. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
  52. package/__internal__/src/components/DatePicker/types.d.ts +2 -1
  53. package/__internal__/src/components/DatePicker/types.js.map +1 -1
  54. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/FieldArrayValueInlineControl.js +1 -1
  55. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/FieldArrayValueInlineControl.js.map +1 -1
  56. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/types.d.ts +7 -7
  57. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/types.js.map +1 -1
  58. package/__internal__/src/components/Picture/Picture.js +1 -1
  59. package/__internal__/src/components/Picture/Picture.js.map +1 -1
  60. package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js +1 -1
  61. package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js.map +1 -1
  62. package/__internal__/src/components/ProgressStepBar/helpers.d.ts +1 -0
  63. package/__internal__/src/components/ProgressStepBar/helpers.js +1 -1
  64. package/__internal__/src/components/ProgressStepBar/helpers.js.map +1 -1
  65. package/__internal__/src/components/SelectComponents/types.d.ts +2 -2
  66. package/__internal__/src/components/SelectComponents/types.js.map +1 -1
  67. package/__internal__/src/components/SelectComponents/useSelect/helpers.js +1 -1
  68. package/__internal__/src/components/SelectComponents/useSelect/helpers.js.map +1 -1
  69. package/__internal__/src/components/SelectComponents/useSelect/useSelect.d.ts +2 -2
  70. package/__internal__/src/components/SelectComponents/useSelect/useSelect.js.map +1 -1
  71. package/__internal__/src/components/TextFieldCanary/TextField.js +1 -1
  72. package/__internal__/src/components/TextFieldCanary/TextField.js.map +1 -1
  73. package/__internal__/src/components/TextFieldCanary/TextFieldTypeText/TextFieldTypeText.d.ts +1 -1
  74. package/__internal__/src/components/TextFieldCanary/TextFieldTypeText/TextFieldTypeText.js +1 -1
  75. package/__internal__/src/components/TextFieldCanary/TextFieldTypeText/TextFieldTypeText.js.map +1 -1
  76. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.js +1 -1
  77. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.js.map +1 -1
  78. package/__internal__/src/components/TextFieldCanary/types.d.ts +0 -1
  79. package/__internal__/src/components/TextFieldCanary/types.js.map +1 -1
  80. package/__internal__/src/hooks/useScrollElements/useScrollElements.js +1 -1
  81. package/__internal__/src/hooks/useScrollElements/useScrollElements.js.map +1 -1
  82. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["cn","progressStepBarPropSize","progressStepBarPropSizeDefault","progressStepBarPropDirection","progressStepBarPropDirectionDefault","progressStepBarPropStatus","progressStepBarPropStatusDefault","progressStepBarPointNumbersMap","progressStepBarPropPosition","progressStepBarPropPositionDefault","cnProgressStepBar","defaultGetItemLabel","item","label","defaultGetItemTooltipContent","tooltipContent","defaultGetItemPoint","point","defaultGetItemLineStatus","lineStatus","defaultGetItemProgress","progress","defaultGetItemContent","content","defaultGetItemStatus","status","defaultGetItemOnClick","onClick","withDefaultGetters","props","getItemLabel","getItemTooltipContent","getItemPoint","getItemProgress","getItemContent","getItemStatus","getItemLineStatus","getItemOnClick","getItemPosition","index","lendth","position","getLineSize","container","activeElement","direction","size","current","containerPosition","getBoundingClientRect","activeElementPosition","y","height","x","getRefSize","ref","width","calculateLines","refs","sizes","i","length","firstSize","secondSize","push"],"sources":["../../../../../src/components/ProgressStepBar/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const progressStepBarPropSize = ['s', 'xs', 'm'] as const;\nexport type ProgressStepBarPropSize = typeof progressStepBarPropSize[number];\nexport const progressStepBarPropSizeDefault = progressStepBarPropSize[0];\n\nexport const progressStepBarPropDirection = ['horizontal', 'vertical'] as const;\nexport type ProgressStepBarPropDirection =\n typeof progressStepBarPropDirection[number];\nexport const progressStepBarPropDirectionDefault =\n progressStepBarPropDirection[0];\n\nexport const progressStepBarPropStatus = [\n 'normal',\n 'success',\n 'warning',\n 'alert',\n] as const;\nexport type ProgressStepBarPropStatus =\n typeof progressStepBarPropStatus[number];\nexport const progressStepBarPropStatusDefault = progressStepBarPropStatus[0];\n\nexport const progressStepBarPointNumbersMap = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,\n] as const;\nexport type ProgressStepBarPointNumbersMap =\n typeof progressStepBarPointNumbersMap[number];\n\nexport const progressStepBarPropPosition = ['center', 'start', 'end'] as const;\nexport type ProgressStepBarPropPosition =\n typeof progressStepBarPropPosition[number];\nexport const progressStepBarPropPositionDefault: ProgressStepBarPropPosition =\n progressStepBarPropPosition[0];\n\nexport type ProgressStepBarPropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number;\nexport type ProgressStepBarPropGetItemTooltipContent<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemLineStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemPoint<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPointNumbersMap | IconComponent | undefined;\nexport type ProgressStepBarPropGetItemProgress<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type ProgressStepBarPropGetItemContent<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\nexport type ProgressStepBarPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.EventHandler<React.MouseEvent> | undefined;\n\nexport type ProgressStepBarItemDefault = {\n label?: string;\n tooltipContent?: string;\n lineStatus?: ProgressStepBarPropStatus;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n status?: ProgressStepBarPropStatus;\n progress?: boolean;\n content?: React.ReactNode;\n onClick?: React.EventHandler<React.MouseEvent>;\n};\n\nexport type Line = {\n status: ProgressStepBarPropStatus;\n size: number;\n};\n\nexport type ProgressStepBarPropOnItemClick<ITEM> = (\n item: ITEM,\n props: {\n e: React.MouseEvent;\n index: number;\n },\n) => void;\n\nexport type ProgressStepBarProps<ITEM = ProgressStepBarItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n steps: ITEM[];\n direction?: ProgressStepBarPropDirection;\n size?: ProgressStepBarPropSize;\n activeStepIndex?: number;\n onItemClick?: ProgressStepBarPropOnItemClick<ITEM>;\n getItemLabel?: ProgressStepBarPropGetItemLabel<ITEM>;\n getItemLineStatus?: ProgressStepBarPropGetItemLineStatus<ITEM>;\n getItemTooltipContent?: ProgressStepBarPropGetItemTooltipContent<ITEM>;\n getItemPoint?: ProgressStepBarPropGetItemPoint<ITEM>;\n getItemProgress?: ProgressStepBarPropGetItemProgress<ITEM>;\n getItemContent?: ProgressStepBarPropGetItemContent<ITEM>;\n getItemStatus?: ProgressStepBarPropGetItemStatus<ITEM>;\n getItemOnClick?: ProgressStepBarPropGetItemOnClick<ITEM>;\n },\n HTMLDivElement\n > &\n (ITEM extends { label: ProgressStepBarItemDefault['label'] }\n ? {}\n : { getItemLabel: ProgressStepBarPropGetItemLabel<ITEM> });\n\nexport type ProgressStepBarItemProps = {\n content?: React.ReactNode;\n label?: string;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n progress?: boolean;\n status?: ProgressStepBarPropStatus | 'system';\n tooltipContent?: string;\n tooltipZIndex?: number;\n position?: ProgressStepBarPropPosition;\n direction: ProgressStepBarPropDirection;\n size: ProgressStepBarPropSize;\n onClick?: (e: React.MouseEvent) => void;\n pointRef?: React.RefObject<HTMLButtonElement>;\n className?: string;\n};\n\nexport const cnProgressStepBar = cn('ProgressStepBar');\n\nexport const defaultGetItemLabel: ProgressStepBarPropGetItemLabel<\n ProgressStepBarItemDefault\n> = (item) => item.label;\nexport const defaultGetItemTooltipContent: ProgressStepBarPropGetItemTooltipContent<\n ProgressStepBarItemDefault\n> = (item) => item.tooltipContent;\nexport const defaultGetItemPoint: ProgressStepBarPropGetItemPoint<\n ProgressStepBarItemDefault\n> = (item) => item.point;\nexport const defaultGetItemLineStatus: ProgressStepBarPropGetItemLineStatus<\n ProgressStepBarItemDefault\n> = (item) => item.lineStatus;\nexport const defaultGetItemProgress: ProgressStepBarPropGetItemProgress<\n ProgressStepBarItemDefault\n> = (item) => item.progress;\nexport const defaultGetItemContent: ProgressStepBarPropGetItemContent<\n ProgressStepBarItemDefault\n> = (item) => item.content;\nexport const defaultGetItemStatus: ProgressStepBarPropGetItemStatus<\n ProgressStepBarItemDefault\n> = (item) => item.status;\nexport const defaultGetItemOnClick: ProgressStepBarPropGetItemOnClick<\n ProgressStepBarItemDefault\n> = (item) => item.onClick;\n\nexport type ProgressStepBarComponent = <ITEM = ProgressStepBarItemDefault>(\n props: ProgressStepBarProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type ProgressStepBarItemComponent = (\n props: PropsWithHTMLAttributesAndRef<\n ProgressStepBarItemProps,\n HTMLDivElement\n >,\n) => React.ReactElement | null;\n\nexport function withDefaultGetters<ITEM>(props: ProgressStepBarProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemTooltipContent:\n props.getItemTooltipContent || defaultGetItemTooltipContent,\n getItemPoint: props.getItemPoint || defaultGetItemPoint,\n getItemProgress: props.getItemProgress || defaultGetItemProgress,\n getItemContent: props.getItemContent || defaultGetItemContent,\n getItemStatus: props.getItemStatus || defaultGetItemStatus,\n getItemLineStatus: props.getItemLineStatus || defaultGetItemLineStatus,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n };\n}\n\nexport const getItemPosition = (index: number, lendth: number) => {\n let position: ProgressStepBarPropPosition = 'center';\n if (index === lendth - 1) position = 'end';\n if (index === 0) position = 'start';\n\n return position;\n};\n\nexport const getLineSize: (\n container: React.RefObject<HTMLElement>,\n activeElement: React.RefObject<HTMLElement>,\n direction: ProgressStepBarPropDirection,\n) => number = (container, activeElement, direction) => {\n let size = 0;\n if (\n container &&\n container.current &&\n activeElement &&\n activeElement.current\n ) {\n const containerPosition = container.current.getBoundingClientRect();\n const activeElementPosition = activeElement.current.getBoundingClientRect();\n if (direction === 'vertical')\n size =\n activeElementPosition.y -\n containerPosition.y +\n activeElementPosition.height;\n else size = activeElementPosition.x - containerPosition.x;\n }\n return size;\n};\n\nconst getRefSize = (ref: React.RefObject<HTMLElement>) => {\n if (ref.current) {\n const { width, height } = ref.current.getBoundingClientRect();\n return [width, height];\n }\n return [0, 0];\n};\n\nexport const calculateLines = (\n refs: React.RefObject<HTMLElement>[],\n direction: ProgressStepBarPropDirection,\n) => {\n const sizes: number[] = [];\n for (let i = 0; i < refs.length - 1; i++) {\n const ref = refs[i];\n const firstSize = getRefSize(ref);\n const secondSize = getRefSize(refs[i + 1]);\n let size = 0;\n if (i === 0) {\n size =\n direction === 'horizontal'\n ? firstSize[0] + secondSize[0] / 2\n : firstSize[1];\n } else if (i === refs.length - 2) {\n size =\n direction === 'horizontal'\n ? firstSize[0] / 2 + secondSize[0]\n : firstSize[1] + 2;\n } else {\n size =\n direction === 'horizontal'\n ? firstSize[0] / 2 + secondSize[0] / 2\n : firstSize[1];\n }\n sizes.push(size);\n }\n\n return sizes;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","names":["cn","progressStepBarPropSize","progressStepBarPropSizeDefault","progressStepBarPropDirection","progressStepBarPropDirectionDefault","progressStepBarPropStatus","progressStepBarPropStatusDefault","progressStepBarPointNumbersMap","progressStepBarPropPosition","progressStepBarPropPositionDefault","cnProgressStepBar","defaultGetItemLabel","item","label","defaultGetItemTooltipContent","tooltipContent","defaultGetItemPoint","point","defaultGetItemLineStatus","lineStatus","defaultGetItemProgress","progress","defaultGetItemContent","content","defaultGetItemStatus","status","defaultGetItemOnClick","onClick","withDefaultGetters","props","getItemLabel","getItemTooltipContent","getItemPoint","getItemProgress","getItemContent","getItemStatus","getItemLineStatus","getItemOnClick","getItemPosition","index","lendth","position","getLineSize","container","activeElement","direction","size","current","containerPosition","getBoundingClientRect","activeElementPosition","y","height","x","getRefSize","ref","width","calculateLines","refs","sizes","i","length","firstSize","secondSize","push","validateVisibleIndex","lenght","Math","min"],"sources":["../../../../../src/components/ProgressStepBar/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const progressStepBarPropSize = ['s', 'xs', 'm'] as const;\nexport type ProgressStepBarPropSize = typeof progressStepBarPropSize[number];\nexport const progressStepBarPropSizeDefault = progressStepBarPropSize[0];\n\nexport const progressStepBarPropDirection = ['horizontal', 'vertical'] as const;\nexport type ProgressStepBarPropDirection =\n typeof progressStepBarPropDirection[number];\nexport const progressStepBarPropDirectionDefault =\n progressStepBarPropDirection[0];\n\nexport const progressStepBarPropStatus = [\n 'normal',\n 'success',\n 'warning',\n 'alert',\n] as const;\nexport type ProgressStepBarPropStatus =\n typeof progressStepBarPropStatus[number];\nexport const progressStepBarPropStatusDefault = progressStepBarPropStatus[0];\n\nexport const progressStepBarPointNumbersMap = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,\n] as const;\nexport type ProgressStepBarPointNumbersMap =\n typeof progressStepBarPointNumbersMap[number];\n\nexport const progressStepBarPropPosition = ['center', 'start', 'end'] as const;\nexport type ProgressStepBarPropPosition =\n typeof progressStepBarPropPosition[number];\nexport const progressStepBarPropPositionDefault: ProgressStepBarPropPosition =\n progressStepBarPropPosition[0];\n\nexport type ProgressStepBarPropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number;\nexport type ProgressStepBarPropGetItemTooltipContent<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemLineStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemPoint<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPointNumbersMap | IconComponent | undefined;\nexport type ProgressStepBarPropGetItemProgress<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type ProgressStepBarPropGetItemContent<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\nexport type ProgressStepBarPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.EventHandler<React.MouseEvent> | undefined;\n\nexport type ProgressStepBarItemDefault = {\n label?: string;\n tooltipContent?: string;\n lineStatus?: ProgressStepBarPropStatus;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n status?: ProgressStepBarPropStatus;\n progress?: boolean;\n content?: React.ReactNode;\n onClick?: React.EventHandler<React.MouseEvent>;\n};\n\nexport type Line = {\n status: ProgressStepBarPropStatus;\n size: number;\n};\n\nexport type ProgressStepBarPropOnItemClick<ITEM> = (\n item: ITEM,\n props: {\n e: React.MouseEvent;\n index: number;\n },\n) => void;\n\nexport type ProgressStepBarProps<ITEM = ProgressStepBarItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n steps: ITEM[];\n direction?: ProgressStepBarPropDirection;\n size?: ProgressStepBarPropSize;\n activeStepIndex?: number;\n onItemClick?: ProgressStepBarPropOnItemClick<ITEM>;\n getItemLabel?: ProgressStepBarPropGetItemLabel<ITEM>;\n getItemLineStatus?: ProgressStepBarPropGetItemLineStatus<ITEM>;\n getItemTooltipContent?: ProgressStepBarPropGetItemTooltipContent<ITEM>;\n getItemPoint?: ProgressStepBarPropGetItemPoint<ITEM>;\n getItemProgress?: ProgressStepBarPropGetItemProgress<ITEM>;\n getItemContent?: ProgressStepBarPropGetItemContent<ITEM>;\n getItemStatus?: ProgressStepBarPropGetItemStatus<ITEM>;\n getItemOnClick?: ProgressStepBarPropGetItemOnClick<ITEM>;\n },\n HTMLDivElement\n > &\n (ITEM extends { label: ProgressStepBarItemDefault['label'] }\n ? {}\n : { getItemLabel: ProgressStepBarPropGetItemLabel<ITEM> });\n\nexport type ProgressStepBarItemProps = {\n content?: React.ReactNode;\n label?: string;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n progress?: boolean;\n status?: ProgressStepBarPropStatus | 'system';\n tooltipContent?: string;\n tooltipZIndex?: number;\n position?: ProgressStepBarPropPosition;\n direction: ProgressStepBarPropDirection;\n size: ProgressStepBarPropSize;\n onClick?: (e: React.MouseEvent) => void;\n pointRef?: React.RefObject<HTMLButtonElement>;\n className?: string;\n};\n\nexport const cnProgressStepBar = cn('ProgressStepBar');\n\nexport const defaultGetItemLabel: ProgressStepBarPropGetItemLabel<\n ProgressStepBarItemDefault\n> = (item) => item.label;\nexport const defaultGetItemTooltipContent: ProgressStepBarPropGetItemTooltipContent<\n ProgressStepBarItemDefault\n> = (item) => item.tooltipContent;\nexport const defaultGetItemPoint: ProgressStepBarPropGetItemPoint<\n ProgressStepBarItemDefault\n> = (item) => item.point;\nexport const defaultGetItemLineStatus: ProgressStepBarPropGetItemLineStatus<\n ProgressStepBarItemDefault\n> = (item) => item.lineStatus;\nexport const defaultGetItemProgress: ProgressStepBarPropGetItemProgress<\n ProgressStepBarItemDefault\n> = (item) => item.progress;\nexport const defaultGetItemContent: ProgressStepBarPropGetItemContent<\n ProgressStepBarItemDefault\n> = (item) => item.content;\nexport const defaultGetItemStatus: ProgressStepBarPropGetItemStatus<\n ProgressStepBarItemDefault\n> = (item) => item.status;\nexport const defaultGetItemOnClick: ProgressStepBarPropGetItemOnClick<\n ProgressStepBarItemDefault\n> = (item) => item.onClick;\n\nexport type ProgressStepBarComponent = <ITEM = ProgressStepBarItemDefault>(\n props: ProgressStepBarProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type ProgressStepBarItemComponent = (\n props: PropsWithHTMLAttributesAndRef<\n ProgressStepBarItemProps,\n HTMLDivElement\n >,\n) => React.ReactElement | null;\n\nexport function withDefaultGetters<ITEM>(props: ProgressStepBarProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemTooltipContent:\n props.getItemTooltipContent || defaultGetItemTooltipContent,\n getItemPoint: props.getItemPoint || defaultGetItemPoint,\n getItemProgress: props.getItemProgress || defaultGetItemProgress,\n getItemContent: props.getItemContent || defaultGetItemContent,\n getItemStatus: props.getItemStatus || defaultGetItemStatus,\n getItemLineStatus: props.getItemLineStatus || defaultGetItemLineStatus,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n };\n}\n\nexport const getItemPosition = (index: number, lendth: number) => {\n let position: ProgressStepBarPropPosition = 'center';\n if (index === lendth - 1) position = 'end';\n if (index === 0) position = 'start';\n\n return position;\n};\n\nexport const getLineSize: (\n container: React.RefObject<HTMLElement>,\n activeElement: React.RefObject<HTMLElement>,\n direction: ProgressStepBarPropDirection,\n) => number = (container, activeElement, direction) => {\n let size = 0;\n if (\n container &&\n container.current &&\n activeElement &&\n activeElement.current\n ) {\n const containerPosition = container.current.getBoundingClientRect();\n const activeElementPosition = activeElement.current.getBoundingClientRect();\n if (direction === 'vertical')\n size =\n activeElementPosition.y -\n containerPosition.y +\n activeElementPosition.height;\n else size = activeElementPosition.x - containerPosition.x;\n }\n return size;\n};\n\nconst getRefSize = (ref: React.RefObject<HTMLElement>) => {\n if (ref.current) {\n const { width, height } = ref.current.getBoundingClientRect();\n return [width, height];\n }\n return [0, 0];\n};\n\nexport const calculateLines = (\n refs: React.RefObject<HTMLElement>[],\n direction: ProgressStepBarPropDirection,\n) => {\n const sizes: number[] = [];\n for (let i = 0; i < refs.length - 1; i++) {\n const ref = refs[i];\n const firstSize = getRefSize(ref);\n const secondSize = getRefSize(refs[i + 1]);\n let size = 0;\n if (i === 0) {\n size =\n direction === 'horizontal'\n ? firstSize[0] + secondSize[0] / 2\n : firstSize[1];\n } else if (i === refs.length - 2) {\n size =\n direction === 'horizontal'\n ? firstSize[0] / 2 + secondSize[0]\n : firstSize[1] + 2;\n } else {\n size =\n direction === 'horizontal'\n ? firstSize[0] / 2 + secondSize[0] / 2\n : firstSize[1];\n }\n sizes.push(size);\n }\n\n return sizes;\n};\n\nexport const validateVisibleIndex = (\n lenght: number,\n index: number | undefined,\n) => {\n if (!index) {\n return index;\n }\n\n if (index < 0) {\n return undefined;\n }\n\n return Math.min(index, lenght - 1);\n};\n"],"mappings":"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"}
@@ -28,7 +28,7 @@ export declare type RenderItemProps<ITEM> = {
28
28
  item: ITEM;
29
29
  active: boolean;
30
30
  hovered: boolean;
31
- onClick: (e: React.SyntheticEvent) => void;
32
- onMouseEnter: (e: React.SyntheticEvent) => void;
31
+ onClick: (e: React.MouseEvent) => void;
32
+ onMouseEnter: (e: React.MouseEvent) => void;
33
33
  ref: React.Ref<HTMLDivElement>;
34
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["propSize","defaultPropSize","propForm","defaultPropForm","propView","defaultPropView","propStatus"],"sources":["../../../../../src/components/SelectComponents/types.ts"],"sourcesContent":["import { RefObject } from 'react';\n\nexport const propSize = ['m', 'xs', 's', 'l'] as const;\nexport type PropSize = typeof propSize[number];\nexport const defaultPropSize = propSize[0];\n\nexport const propForm = [\n 'default',\n 'defaultClear',\n 'defaultBrick',\n 'brick',\n 'brickDefault',\n 'brickClear',\n 'brickRound',\n 'round',\n 'roundClear',\n 'roundBrick',\n 'clearRound',\n 'clearDefault',\n 'clearBrick',\n 'clearClear',\n] as const;\nexport type PropForm = typeof propForm[number];\nexport const defaultPropForm = propForm[0];\n\nexport const propView = ['default', 'clear'] as const;\nexport type PropView = typeof propView[number];\nexport const defaultPropView = propView[0];\n\nexport const propStatus = ['alert', 'warning', 'success'] as const;\nexport type PropStatus = typeof propStatus[number];\n\nexport type CommonSelectProps<ITEM> = {\n options: ITEM[];\n id: string;\n placeholder?: string;\n ariaLabel?: string;\n getOptionLabel(arg: ITEM): string;\n getOptionKey?(arg: ITEM): string | number;\n onBlur?: (event?: React.FocusEvent<HTMLInputElement>) => void;\n onFocus?: (event?: React.FocusEvent<HTMLInputElement>) => void;\n children?: never;\n dropdownClassName?: string;\n dropdownRef?: RefObject<HTMLDivElement>;\n name?: string;\n};\n\nexport type RenderItemProps<ITEM> = {\n item: ITEM;\n active: boolean;\n hovered: boolean;\n onClick: (e: React.SyntheticEvent) => void;\n onMouseEnter: (e: React.SyntheticEvent) => void;\n ref: React.Ref<HTMLDivElement>;\n};\n"],"mappings":"AAEA,MAAO,IAAMA,SAAQ,CAAG,CAAC,GAAD,CAAM,IAAN,CAAY,GAAZ,CAAiB,GAAjB,CAAjB,CAEP,MAAO,IAAMC,gBAAe,CAAGD,QAAQ,CAAC,CAAD,CAAhC,CAEP,MAAO,IAAME,SAAQ,CAAG,CACtB,SADsB,CAEtB,cAFsB,CAGtB,cAHsB,CAItB,OAJsB,CAKtB,cALsB,CAMtB,YANsB,CAOtB,YAPsB,CAQtB,OARsB,CAStB,YATsB,CAUtB,YAVsB,CAWtB,YAXsB,CAYtB,cAZsB,CAatB,YAbsB,CActB,YAdsB,CAAjB,CAiBP,MAAO,IAAMC,gBAAe,CAAGD,QAAQ,CAAC,CAAD,CAAhC,CAEP,MAAO,IAAME,SAAQ,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAjB,CAEP,MAAO,IAAMC,gBAAe,CAAGD,QAAQ,CAAC,CAAD,CAAhC,CAEP,MAAO,IAAME,WAAU,CAAG,CAAC,OAAD,CAAU,SAAV,CAAqB,SAArB,CAAnB"}
1
+ {"version":3,"file":"types.js","names":["propSize","defaultPropSize","propForm","defaultPropForm","propView","defaultPropView","propStatus"],"sources":["../../../../../src/components/SelectComponents/types.ts"],"sourcesContent":["import { RefObject } from 'react';\n\nexport const propSize = ['m', 'xs', 's', 'l'] as const;\nexport type PropSize = typeof propSize[number];\nexport const defaultPropSize = propSize[0];\n\nexport const propForm = [\n 'default',\n 'defaultClear',\n 'defaultBrick',\n 'brick',\n 'brickDefault',\n 'brickClear',\n 'brickRound',\n 'round',\n 'roundClear',\n 'roundBrick',\n 'clearRound',\n 'clearDefault',\n 'clearBrick',\n 'clearClear',\n] as const;\nexport type PropForm = typeof propForm[number];\nexport const defaultPropForm = propForm[0];\n\nexport const propView = ['default', 'clear'] as const;\nexport type PropView = typeof propView[number];\nexport const defaultPropView = propView[0];\n\nexport const propStatus = ['alert', 'warning', 'success'] as const;\nexport type PropStatus = typeof propStatus[number];\n\nexport type CommonSelectProps<ITEM> = {\n options: ITEM[];\n id: string;\n placeholder?: string;\n ariaLabel?: string;\n getOptionLabel(arg: ITEM): string;\n getOptionKey?(arg: ITEM): string | number;\n onBlur?: (event?: React.FocusEvent<HTMLInputElement>) => void;\n onFocus?: (event?: React.FocusEvent<HTMLInputElement>) => void;\n children?: never;\n dropdownClassName?: string;\n dropdownRef?: RefObject<HTMLDivElement>;\n name?: string;\n};\n\nexport type RenderItemProps<ITEM> = {\n item: ITEM;\n active: boolean;\n hovered: boolean;\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n ref: React.Ref<HTMLDivElement>;\n};\n"],"mappings":"AAEA,MAAO,IAAMA,SAAQ,CAAG,CAAC,GAAD,CAAM,IAAN,CAAY,GAAZ,CAAiB,GAAjB,CAAjB,CAEP,MAAO,IAAMC,gBAAe,CAAGD,QAAQ,CAAC,CAAD,CAAhC,CAEP,MAAO,IAAME,SAAQ,CAAG,CACtB,SADsB,CAEtB,cAFsB,CAGtB,cAHsB,CAItB,OAJsB,CAKtB,cALsB,CAMtB,YANsB,CAOtB,YAPsB,CAQtB,OARsB,CAStB,YATsB,CAUtB,YAVsB,CAWtB,YAXsB,CAYtB,cAZsB,CAatB,YAbsB,CActB,YAdsB,CAAjB,CAiBP,MAAO,IAAMC,gBAAe,CAAGD,QAAQ,CAAC,CAAD,CAAhC,CAEP,MAAO,IAAME,SAAQ,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAjB,CAEP,MAAO,IAAMC,gBAAe,CAAGD,QAAQ,CAAC,CAAD,CAAhC,CAEP,MAAO,IAAME,WAAU,CAAG,CAAC,OAAD,CAAU,SAAV,CAAqB,SAArB,CAAnB"}
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import React from"react";import{scrollIntoView}from"../../../utils/scrollIntoView";export function useHoistedState(a){var b=React.useRef(function(a,b){return b}),c=React.useState(a),d=_slicedToArray(c,2),e=d[0],f=d[1],g=React.useCallback(function(a,c){if(!c)throw new Error("An action type is required to update the state");return f(function(d){return b.current(d,a(d),c)})},[f]);return[e,g]}export var scrollToIndex=function(a,b,c,d){if(b.current){var e=c[a].current;e?scrollIntoView(e,b.current):d()}};
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import React from"react";import{scrollIntoView}from"../../../utils/scrollIntoView";export function useHoistedState(a){var b=React.useRef(function(a,b){return b}),c=React.useState(a),d=_slicedToArray(c,2),e=d[0],f=d[1],g=React.useCallback(function(a,c){if(!c)throw new Error("An action type is required to update the state");return f(function(d){return b.current(d,a(d),c)})},[f]);return[e,g]}export var scrollToIndex=function(a,b,c,d){var e;if(b.current&&!(0>a)){var f=null===(e=c[a])||void 0===e?void 0:e.current;f?scrollIntoView(f,b.current):d()}};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["React","scrollIntoView","useHoistedState","initialState","reducerRef","useRef","old","newState","useState","state","_setState","setState","useCallback","updater","action","Error","current","scrollToIndex","index","dropdownRef","optionsRefs","onFailure","element"],"sources":["../../../../../../src/components/SelectComponents/useSelect/helpers.ts"],"sourcesContent":["import React from 'react';\n\nimport { scrollIntoView } from '##/utils/scrollIntoView';\n\ntype State = {\n searchValue: string;\n resolvedSearchValue: string;\n isOpen: boolean;\n highlightedIndex: number;\n scrollToHighlighted: boolean;\n};\ntype Action = string;\ntype Reducer = (state: State, newState: State, action: Action) => State;\ntype Updater = (state: State) => State;\n\nexport function useHoistedState(\n initialState: State,\n): [State, (updater: Updater, action: Action) => void] {\n const reducerRef = React.useRef<Reducer>((old, newState) => newState);\n const [state, _setState] = React.useState<State>(initialState);\n const setState = React.useCallback(\n (updater: Updater, action: Action) => {\n if (!action) {\n throw new Error('An action type is required to update the state');\n }\n return _setState((old) => reducerRef.current(old, updater(old), action));\n },\n [_setState],\n );\n return [state, setState];\n}\n\ntype ScrollToIndexFunctionType = (\n optionIndex: number,\n dropdownRef: React.MutableRefObject<HTMLDivElement | null>,\n optionsRefs: React.RefObject<HTMLDivElement>[],\n onFailure: () => void,\n) => void;\n\nexport const scrollToIndex: ScrollToIndexFunctionType = (\n index,\n dropdownRef,\n optionsRefs,\n onFailure,\n): void => {\n if (!dropdownRef.current) {\n return;\n }\n\n const element = optionsRefs[index].current;\n\n if (element) {\n scrollIntoView(element, dropdownRef.current);\n } else {\n onFailure();\n }\n};\n"],"mappings":"iEAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,cAAT,qCAaA,MAAO,SAASC,gBAAT,CACLC,CADK,CAEgD,IAC/CC,EAAU,CAAGJ,KAAK,CAACK,MAAN,CAAsB,SAACC,CAAD,CAAMC,CAAN,QAAmBA,EAAnB,CAAtB,CADkC,GAE1BP,KAAK,CAACQ,QAAN,CAAsBL,CAAtB,CAF0B,uBAE9CM,CAF8C,MAEvCC,CAFuC,MAG/CC,CAAQ,CAAGX,KAAK,CAACY,WAAN,CACf,SAACC,CAAD,CAAmBC,CAAnB,CAAsC,CACpC,GAAI,CAACA,CAAL,CACE,KAAM,IAAIC,MAAJ,CAAU,gDAAV,CAAN,CAEF,MAAOL,EAAS,CAAC,SAACJ,CAAD,QAASF,EAAU,CAACY,OAAX,CAAmBV,CAAnB,CAAwBO,CAAO,CAACP,CAAD,CAA/B,CAAsCQ,CAAtC,CAAT,CAAD,CACjB,CANc,CAOf,CAACJ,CAAD,CAPe,CAHoC,CAYrD,MAAO,CAACD,CAAD,CAAQE,CAAR,CACR,CASD,MAAO,IAAMM,cAAwC,CAAG,SACtDC,CADsD,CAEtDC,CAFsD,CAGtDC,CAHsD,CAItDC,CAJsD,CAK7C,CACT,GAAKF,CAAW,CAACH,OAAjB,EAIA,GAAMM,EAAO,CAAGF,CAAW,CAACF,CAAD,CAAX,CAAmBF,OAAnC,CAEIM,CANJ,CAOErB,cAAc,CAACqB,CAAD,CAAUH,CAAW,CAACH,OAAtB,CAPhB,CASEK,CAAS,EATX,CAWD,CAjBM"}
1
+ {"version":3,"file":"helpers.js","names":["React","scrollIntoView","useHoistedState","initialState","reducerRef","useRef","old","newState","useState","state","_setState","setState","useCallback","updater","action","Error","current","scrollToIndex","index","dropdownRef","optionsRefs","onFailure","element"],"sources":["../../../../../../src/components/SelectComponents/useSelect/helpers.ts"],"sourcesContent":["import React from 'react';\n\nimport { scrollIntoView } from '##/utils/scrollIntoView';\n\ntype State = {\n searchValue: string;\n resolvedSearchValue: string;\n isOpen: boolean;\n highlightedIndex: number;\n scrollToHighlighted: boolean;\n};\ntype Action = string;\ntype Reducer = (state: State, newState: State, action: Action) => State;\ntype Updater = (state: State) => State;\n\nexport function useHoistedState(\n initialState: State,\n): [State, (updater: Updater, action: Action) => void] {\n const reducerRef = React.useRef<Reducer>((old, newState) => newState);\n const [state, _setState] = React.useState<State>(initialState);\n const setState = React.useCallback(\n (updater: Updater, action: Action) => {\n if (!action) {\n throw new Error('An action type is required to update the state');\n }\n return _setState((old) => reducerRef.current(old, updater(old), action));\n },\n [_setState],\n );\n return [state, setState];\n}\n\ntype ScrollToIndexFunctionType = (\n optionIndex: number,\n dropdownRef: React.MutableRefObject<HTMLDivElement | null>,\n optionsRefs: React.RefObject<HTMLDivElement>[],\n onFailure: () => void,\n) => void;\n\nexport const scrollToIndex: ScrollToIndexFunctionType = (\n index,\n dropdownRef,\n optionsRefs,\n onFailure,\n): void => {\n if (!dropdownRef.current || index < 0) {\n return;\n }\n\n const element = optionsRefs[index]?.current;\n\n if (element) {\n scrollIntoView(element, dropdownRef.current);\n } else {\n onFailure();\n }\n};\n"],"mappings":"iEAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,cAAT,qCAaA,MAAO,SAASC,gBAAT,CACLC,CADK,CAEgD,IAC/CC,EAAU,CAAGJ,KAAK,CAACK,MAAN,CAAsB,SAACC,CAAD,CAAMC,CAAN,QAAmBA,EAAnB,CAAtB,CADkC,GAE1BP,KAAK,CAACQ,QAAN,CAAsBL,CAAtB,CAF0B,uBAE9CM,CAF8C,MAEvCC,CAFuC,MAG/CC,CAAQ,CAAGX,KAAK,CAACY,WAAN,CACf,SAACC,CAAD,CAAmBC,CAAnB,CAAsC,CACpC,GAAI,CAACA,CAAL,CACE,KAAM,IAAIC,MAAJ,CAAU,gDAAV,CAAN,CAEF,MAAOL,EAAS,CAAC,SAACJ,CAAD,QAASF,EAAU,CAACY,OAAX,CAAmBV,CAAnB,CAAwBO,CAAO,CAACP,CAAD,CAA/B,CAAsCQ,CAAtC,CAAT,CAAD,CACjB,CANc,CAOf,CAACJ,CAAD,CAPe,CAHoC,CAYrD,MAAO,CAACD,CAAD,CAAQE,CAAR,CACR,CASD,MAAO,IAAMM,cAAwC,CAAG,SACtDC,CADsD,CAEtDC,CAFsD,CAGtDC,CAHsD,CAItDC,CAJsD,CAK7C,OACT,GAAKF,CAAW,CAACH,OAAb,IAAgC,CAAR,CAAAE,CAAxB,CAAJ,EAIA,GAAMI,EAAO,WAAGF,CAAW,CAACF,CAAD,CAAd,qBAAG,EAAoBF,OAApC,CAEIM,CANJ,CAOErB,cAAc,CAACqB,CAAD,CAAUH,CAAW,CAACH,OAAtB,CAPhB,CASEK,CAAS,EATX,CAWD,CAjBM"}
@@ -52,8 +52,8 @@ export declare type OptionProps<ITEM> = {
52
52
  keyPrefix: string | number;
53
53
  };
54
54
  export declare type GetOptionPropsResult = {
55
- onClick: (e: React.SyntheticEvent) => void;
56
- onMouseEnter: (e: React.SyntheticEvent) => void;
55
+ onClick: (e: React.MouseEvent) => void;
56
+ onMouseEnter: (e: React.MouseEvent) => void;
57
57
  active: boolean;
58
58
  hovered: boolean;
59
59
  key: string | number;
@@ -1 +1 @@
1
- {"version":3,"file":"useSelect.js","names":["useCallback","useEffect","useLayoutEffect","useMemo","useRef","useState","useClickOutside","useDebounce","useKeys","useMutableRef","usePrevious","useRefs","getCountedGroups","getGroups","scrollToIndex","useHoistedState","isMultipleParams","params","multiple","isNotMultipleParams","actions","setOpen","setSearch","highlightIndex","initialState","searchValue","resolvedSearchValue","isOpen","highlightedIndex","scrollToHighlighted","isOptionForCreate","Object","prototype","hasOwnProperty","call","isNotOptionForCreate","isOptionForSelectAll","useSelect","items","dropdownRef","controlRef","disabled","getItemLabel","getItemKey","searchFunction","getItemGroupKey","groups","selectAll","getGroupKey","sortGroups","getItemDisabled","onFocus","onBlur","searchValueProp","onDropdownOpen","onSearchValueChange","dropdownOpen","ignoreOutsideClicksRefs","inputRef","isFocused","setIsFocused","value","Array","isArray","setState","onSearchValueChangeRef","searchFunctionDefault","item","toLocaleLowerCase","indexOf","fiteredOptions","filter","onCreate","length","label","__optionForCreate","filteredOptions","optionForCreate","visibleItems","resultGroups","maxHighlightIndex","optionsRefs","notFound","flag","group","hasItems","allItemsSelected","el","find","getSelectedOptionIndex","index","newIsOpen","old","setResolvedSearch","prevIsOpen","indexForHighlight","newIndex","Math","min","max","currentHighlightIndex","removeValue","e","valueItem","stopPropagation","newValue","val","onChange","some","onChangeAll","parametrs","nonDisabledItems","currentGroupValues","withoutGroupValues","forEach","push","clearValue","results","ArrowUp","_","preventDefault","ArrowDown","getKeyProps","PageUp","PageDown","Home","End","Enter","getData","couter","Escape","Tab","Backspace","isActive","ignoreClicksInsideRefs","handler","current","scrollTo","top","getOptionProps","keyPrefix","onClick","onMouseEnter","active","hovered","key","getItems","groupKey","handleInputFocus","handleInputBlur","focus","handleToggleDropdown","handleInputClick","handleInputChange","target","getHandleRemoveValue"],"sources":["../../../../../../src/components/SelectComponents/useSelect/useSelect.ts"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useDebounce } from '##/hooks/useDebounce';\nimport { KeyHandler, useKeys } from '##/hooks/useKeysDepricated';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { usePrevious } from '##/hooks/usePrevious';\nimport { useRefs } from '##/hooks/useRefs';\nimport {\n CountedGroup,\n getCountedGroups,\n getGroups,\n SelectAllItem,\n} from '##/utils/getGroups';\n\nimport { scrollToIndex, useHoistedState } from './helpers';\n\ntype IndexForHighlight = number | ((oldIndex: number) => number);\n\ntype Group<ITEM, GROUP> = {\n items: ITEM[];\n key: string | number;\n group?: GROUP;\n};\ntype GetItemGroupKey<ITEM> = (item: ITEM) => string | number | undefined;\ntype GetGroupKey<GROUP> = (item: GROUP) => string | number | undefined;\ntype SortGroups<ITEM, GROUP> = (\n a: Group<ITEM, GROUP>,\n b: Group<ITEM, GROUP>,\n) => number;\n\ntype OnChangeProp<ITEM, MULTIPLE extends boolean> = (\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null,\n props: {\n e: React.SyntheticEvent;\n },\n) => void;\n\ntype ValueProp<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type OptionForCreate = {\n label: string;\n __optionForCreate: boolean;\n};\n\nexport type SelectProps<ITEM, GROUP, MULTIPLE extends boolean> = {\n getItemGroupKey?: GetItemGroupKey<ITEM> | undefined;\n getGroupKey?: GetGroupKey<GROUP>;\n sortGroups?: SortGroups<ITEM, GROUP>;\n groups?: GROUP[];\n items: ITEM[];\n dropdownRef: React.MutableRefObject<HTMLDivElement | null>;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n disabled?: boolean;\n selectAll?: boolean;\n getItemLabel: (item: ITEM) => string;\n getItemKey: (item: ITEM) => string | number;\n getItemDisabled?: (item: ITEM) => boolean | undefined;\n searchFunction?: (item: ITEM, searchValue: string) => boolean;\n onCreate?: (\n label: string,\n props: { e: React.SyntheticEvent; label: string },\n ) => void;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n multiple: boolean;\n searchValue?: string;\n onChange: OnChangeProp<ITEM, MULTIPLE>;\n value: ValueProp<ITEM, MULTIPLE>;\n dropdownOpen?: boolean;\n onDropdownOpen?: (isOpen: boolean) => void;\n onSearchValueChange?: (value: string) => void;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n};\n\nexport type OptionProps<ITEM> = {\n index: number;\n item: ITEM | OptionForCreate | SelectAllItem;\n keyPrefix: string | number;\n};\n\nexport type GetOptionPropsResult = {\n onClick: (e: React.SyntheticEvent) => void;\n onMouseEnter: (e: React.SyntheticEvent) => void;\n active: boolean;\n hovered: boolean;\n key: string | number;\n};\n\nconst isMultipleParams = <ITEM, GROUP>(\n params: SelectProps<ITEM, GROUP, boolean>,\n): params is SelectProps<ITEM, GROUP, true> => {\n return params.multiple;\n};\n\nconst isNotMultipleParams = <ITEM, GROUP>(\n params: SelectProps<ITEM, GROUP, boolean>,\n): params is SelectProps<ITEM, GROUP, false> => {\n return !params.multiple;\n};\n\nconst actions = {\n setOpen: 'setOpen',\n setSearch: 'setSearch',\n highlightIndex: 'highlightIndex',\n};\n\nconst initialState = {\n searchValue: '',\n resolvedSearchValue: '',\n isOpen: false,\n highlightedIndex: 0,\n scrollToHighlighted: false,\n};\n\nexport const isOptionForCreate = <ITEM, GROUP>(\n params: OptionForCreate | Group<ITEM, GROUP> | ITEM,\n): params is OptionForCreate => {\n return (\n params && Object.prototype.hasOwnProperty.call(params, '__optionForCreate')\n );\n};\n\nexport const isNotOptionForCreate = <ITEM, GROUP>(\n params: OptionForCreate | Group<ITEM, GROUP>,\n): params is Group<ITEM, GROUP> => {\n return (\n params && !Object.prototype.hasOwnProperty.call(params, '__optionForCreate')\n );\n};\n\nexport const isOptionForSelectAll = <ITEM>(\n params: SelectAllItem | ITEM,\n): params is SelectAllItem => {\n return (\n params && Object.prototype.hasOwnProperty.call(params, '__optionSelctAll')\n );\n};\n\nexport function useSelect<ITEM, GROUP, MULTIPLE extends boolean>(\n params: SelectProps<ITEM, GROUP, MULTIPLE>,\n) {\n const {\n items,\n dropdownRef,\n controlRef,\n disabled = false,\n multiple = false,\n getItemLabel,\n getItemKey,\n searchFunction,\n getItemGroupKey,\n groups,\n selectAll = false,\n getGroupKey,\n sortGroups,\n getItemDisabled,\n onFocus,\n onBlur,\n searchValue: searchValueProp,\n onDropdownOpen,\n onSearchValueChange,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n } = params;\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [isFocused, setIsFocused] = useState(false);\n\n const value = useMemo(\n () =>\n (params.value &&\n (Array.isArray(params.value) ? params.value : [params.value])) ||\n [],\n [params.value],\n );\n\n const [\n {\n searchValue,\n isOpen,\n highlightedIndex,\n resolvedSearchValue,\n scrollToHighlighted,\n },\n setState,\n ] = useHoistedState(initialState);\n\n const onSearchValueChangeRef = useMutableRef(onSearchValueChange);\n\n const searchFunctionDefault = (item: ITEM, searchValue: string) =>\n getItemLabel(item)\n .toLocaleLowerCase()\n .indexOf(searchValue.toLocaleLowerCase()) !== -1;\n\n const [filteredOptions, optionForCreate] = useMemo(() => {\n if (resolvedSearchValue && resolvedSearchValue !== '') {\n const fiteredOptions = items.filter((item) =>\n searchFunction\n ? searchFunction(item, resolvedSearchValue)\n : searchFunctionDefault(item, resolvedSearchValue),\n );\n\n const optionForCreate: OptionForCreate = {\n label: searchValue,\n __optionForCreate: true,\n };\n\n return [\n fiteredOptions,\n params.onCreate && !fiteredOptions.length ? optionForCreate : undefined,\n ] as const;\n }\n return [items, undefined] as const;\n }, [items, resolvedSearchValue, params.onCreate]);\n\n const visibleItems = useMemo(() => {\n const resultGroups = getCountedGroups(\n getGroups(\n filteredOptions,\n groups?.length ? getItemGroupKey : undefined,\n groups,\n getGroupKey,\n sortGroups,\n ),\n isMultipleParams(params) ? params.value : [],\n selectAll,\n getItemKey,\n getItemDisabled,\n );\n\n return optionForCreate ? [optionForCreate, ...resultGroups] : resultGroups;\n }, [\n value,\n selectAll,\n filteredOptions,\n groups,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n sortGroups,\n optionForCreate,\n ]);\n\n const maxHighlightIndex =\n // колличество опций\n filteredOptions.length +\n // кнопка для создания\n (optionForCreate ? 1 : 0) +\n // кнопки выбрать все\n (selectAll ? visibleItems.length : 0);\n\n const optionsRefs = useRefs<HTMLDivElement>(maxHighlightIndex, [isOpen]);\n\n const notFound = useMemo(() => {\n let flag = false;\n if (searchValue.length > 0) {\n flag =\n visibleItems.filter(\n (group) =>\n isOptionForCreate(group) || group.items.length > 0 || group.group,\n ).length === 0 && !params.onCreate;\n }\n return flag;\n }, [visibleItems]);\n\n const hasItems = items.length !== 0;\n\n const allItemsSelected = useMemo(() => {\n if (isNotMultipleParams(params)) {\n return false;\n }\n if (selectAll) {\n return (\n items.filter((el) =>\n value.find((item) => getItemKey(item) === getItemKey(el)),\n ).length === items.length\n );\n }\n\n return false;\n }, [selectAll, multiple, value, items]);\n\n const getSelectedOptionIndex = (): number => {\n let index = 0;\n if (value.length > 0) {\n for (const group of visibleItems) {\n if (isOptionForCreate(group)) {\n index++;\n // eslint-disable-next-line no-continue\n continue;\n }\n for (const item of group.items) {\n if (isOptionForSelectAll(item)) {\n return index;\n }\n if (getItemKey(item) === getItemKey(value[0])) {\n return index;\n }\n index++;\n }\n }\n }\n\n return 0;\n };\n\n // Actions\n\n const setOpen = useCallback(\n (newIsOpen: boolean) => {\n setState(\n (old) => ({\n ...old,\n isOpen: newIsOpen,\n }),\n actions.setOpen,\n );\n },\n [setState],\n );\n\n const setResolvedSearch = useDebounce((value: string) => {\n setState((old) => {\n if (old.resolvedSearchValue === value) {\n return old;\n }\n return {\n ...old,\n resolvedSearchValue: value,\n };\n }, actions.setSearch);\n }, 300);\n\n const setSearch = useCallback(\n (value: string | undefined) => {\n setState((old) => {\n if (old.searchValue === value) {\n return old;\n }\n return {\n ...old,\n searchValue: value || '',\n };\n }, actions.setSearch);\n setResolvedSearch(value || '');\n },\n [setState, setResolvedSearch],\n );\n\n const prevIsOpen = usePrevious(isOpen);\n\n const highlightIndex = useCallback(\n (indexForHighlight: IndexForHighlight, scrollToHighlighted: boolean) => {\n setState((old) => {\n const newIndex = Math.min(\n Math.max(\n 0,\n typeof indexForHighlight === 'function'\n ? indexForHighlight(old.highlightedIndex)\n : indexForHighlight,\n ),\n maxHighlightIndex - 1,\n );\n\n if (old.highlightedIndex === newIndex) {\n return old;\n }\n\n return {\n ...old,\n highlightedIndex: newIndex,\n scrollToHighlighted,\n };\n }, actions.highlightIndex);\n },\n [filteredOptions, setState, optionForCreate],\n );\n\n useLayoutEffect(() => {\n if (value !== null && !prevIsOpen && isOpen) {\n const currentHighlightIndex = getSelectedOptionIndex();\n if (filteredOptions.length > 0) {\n scrollToIndex(currentHighlightIndex, dropdownRef, optionsRefs, () =>\n highlightIndex(0, false),\n );\n }\n }\n });\n\n const removeValue = (e: React.SyntheticEvent, valueItem: ITEM) => {\n e.stopPropagation();\n if (isMultipleParams(params)) {\n const newValue = params.value?.filter(\n (item) => getItemKey(item) !== getItemKey(valueItem),\n );\n const val = newValue?.length ? newValue : null;\n params.onChange(val, {\n e,\n });\n }\n };\n\n const onChange = (e: React.SyntheticEvent, item: ITEM) => {\n if (getItemDisabled && getItemDisabled(item)) {\n return;\n }\n if (isMultipleParams(params)) {\n const newValue = value.some(\n (value) => getItemKey(value) === getItemKey(item),\n )\n ? value.filter((value) => getItemKey(value) !== getItemKey(item))\n : [...value, item];\n const val = newValue?.length ? newValue : null;\n params.onChange(val, { e });\n }\n if (isNotMultipleParams(params)) {\n params.onChange(item, { e });\n setOpen(false);\n setSearch('');\n }\n };\n\n const onChangeAll = (parametrs: {\n e: React.SyntheticEvent;\n items: ITEM[];\n }) => {\n const { e, items } = parametrs;\n if (isMultipleParams(params)) {\n const nonDisabledItems = getItemDisabled\n ? items.filter((item) => !getItemDisabled(item))\n : items;\n\n const currentGroupValues: ITEM[] = [];\n const withoutGroupValues: ITEM[] = [];\n value.forEach((el) => {\n if (\n nonDisabledItems.find((item) => getItemKey(el) === getItemKey(item))\n ) {\n currentGroupValues.push(el);\n } else {\n withoutGroupValues.push(el);\n }\n });\n if (currentGroupValues.length === nonDisabledItems.length) {\n params.onChange(withoutGroupValues, { e });\n } else {\n const val = [...withoutGroupValues, ...nonDisabledItems];\n params.onChange(val, {\n e,\n });\n }\n }\n };\n\n const onCreate = (e: React.SyntheticEvent, label: string) => {\n params.onCreate && params.onCreate(label, { e, label });\n setOpen(false);\n setSearch('');\n };\n\n // Handlers\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>): void => {\n if (!disabled && !(!multiple && value.length > 0)) {\n setSearch(e.target.value);\n setOpen(true);\n }\n };\n\n const handleInputClick = (): void => {\n !disabled && setOpen(!isOpen);\n\n if (multiple) {\n inputRef.current?.focus();\n }\n };\n\n const clearValue = (e: React.SyntheticEvent) => {\n if (isMultipleParams(params)) {\n const results = value?.filter((item) => getItemDisabled?.(item));\n const val = results && results.length > 0 ? results : null;\n params.onChange(val, {\n e,\n });\n }\n if (isNotMultipleParams(params)) {\n params.onChange(null, { e });\n }\n setSearch('');\n };\n\n const getHandleRemoveValue = (item: ITEM) => (e: React.SyntheticEvent) =>\n removeValue(e, item);\n\n // Prop Getters\n\n const ArrowUp: KeyHandler = (_, e): void => {\n e.preventDefault();\n !disabled && setOpen(true);\n highlightIndex((old) => old - 1, true);\n };\n\n const ArrowDown: KeyHandler = (_, e): void => {\n e.preventDefault();\n !disabled && setOpen(true);\n highlightIndex((old) => old + 1, true);\n };\n\n const Enter: KeyHandler = (_, e): void => {\n if (isOpen) {\n if (searchValue || filteredOptions[highlightedIndex]) {\n e.preventDefault();\n }\n\n const getData = (\n index: number,\n ): [\n CountedGroup<ITEM, GROUP> | undefined,\n SelectAllItem | OptionForCreate | ITEM | undefined,\n ] => {\n let couter = 0;\n for (const group of visibleItems) {\n if (isOptionForCreate(group)) {\n couter++;\n return [undefined, group];\n }\n if (group.items.length + couter > index) {\n return [group, group.items[index - couter]];\n }\n couter += group.items.length;\n }\n return [undefined, undefined];\n };\n\n const [group, item] = getData(highlightedIndex);\n\n if (isOptionForCreate(item)) {\n onCreate(e, item.label);\n return;\n }\n\n if (isOptionForSelectAll(item)) {\n onChangeAll({\n e,\n items:\n (group?.items.filter(\n (el) => !isOptionForSelectAll(el),\n ) as ITEM[]) ?? [],\n });\n return;\n }\n\n if (item) {\n onChange(e, item);\n }\n } else {\n setOpen(true);\n }\n };\n\n const Escape: KeyHandler = (): void => {\n setOpen(false);\n };\n\n const Tab: KeyHandler = (_, e): void => {\n if (isOpen) {\n e.preventDefault();\n setOpen(false);\n }\n };\n\n const Backspace: KeyHandler = (_, e): void => {\n if (searchValue) {\n return;\n }\n if (multiple) {\n removeValue(e, value[value.length - 1]);\n } else {\n clearValue(e);\n }\n };\n\n const getKeyProps = useKeys({\n ArrowUp,\n ArrowDown,\n PageUp: ArrowUp,\n PageDown: ArrowDown,\n Home: ArrowUp,\n End: ArrowDown,\n Enter,\n Escape,\n Tab,\n Backspace,\n });\n\n const getOptionProps = ({\n index,\n item,\n keyPrefix,\n }: OptionProps<ITEM>): GetOptionPropsResult => {\n if (isOptionForCreate(item)) {\n return {\n onClick: (e: React.SyntheticEvent) => {\n onCreate(e, item.label);\n },\n onMouseEnter: () => {\n highlightIndex(index, false);\n },\n active: false,\n hovered: index === highlightedIndex,\n key: `${keyPrefix}__optionForCreate`,\n };\n }\n if (isOptionForSelectAll(item)) {\n const getItems = (): ITEM[] => {\n for (const group of visibleItems) {\n if (isOptionForCreate(group)) {\n break;\n }\n if (group.key === item.groupKey) {\n return (\n (group?.items.filter(\n (el) => !isOptionForSelectAll(el),\n ) as ITEM[]) ?? []\n );\n }\n }\n return [];\n };\n return {\n onClick: (e: React.SyntheticEvent) => {\n onChangeAll({ e, items: getItems() });\n },\n onMouseEnter: () => {\n highlightIndex(index, false);\n },\n active: false,\n hovered: index === highlightedIndex,\n key: `${keyPrefix}__optionForSelectAll`,\n };\n }\n const key = getItemKey(item);\n return {\n onClick: (e: React.SyntheticEvent) => {\n onChange(e, item);\n },\n onMouseEnter: () => {\n highlightIndex(index, false);\n },\n active: Boolean(value.find((item) => getItemKey(item) === key)),\n hovered: index === highlightedIndex,\n key: `${keyPrefix}${key}`,\n };\n };\n\n useClickOutside({\n isActive: isOpen,\n ignoreClicksInsideRefs: [\n dropdownRef,\n controlRef,\n ...(ignoreOutsideClicksRefs || []),\n ],\n handler: () => {\n setOpen(false);\n },\n });\n\n useEffect(() => {\n if (disabled) {\n setOpen(false);\n }\n }, [disabled]);\n\n useEffect(() => {\n const currentHighlightIndex = getSelectedOptionIndex();\n highlightIndex(currentHighlightIndex, true);\n }, [highlightIndex]);\n\n useEffect(() => {\n if (filteredOptions.length > 0 && scrollToHighlighted) {\n scrollToIndex(highlightedIndex, dropdownRef, optionsRefs, () =>\n highlightIndex(0, false),\n );\n }\n }, [highlightedIndex]);\n\n const handleInputFocus = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (!disabled) {\n if (!isFocused) {\n setIsFocused(true);\n }\n if (typeof onFocus === 'function') {\n onFocus(e);\n }\n }\n };\n\n const handleInputBlur = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (isOpen) {\n inputRef.current?.focus();\n return;\n }\n\n if (isFocused) {\n setIsFocused(false);\n }\n\n if (typeof onBlur === 'function') {\n onBlur(e);\n }\n };\n\n const handleToggleDropdown = (): void => {\n if (isOpen) {\n setOpen(false);\n setIsFocused(false);\n } else {\n setOpen(true);\n setIsFocused(true);\n inputRef.current?.focus();\n }\n };\n\n useEffect(() => {\n setSearch(searchValueProp);\n }, [searchValueProp]);\n\n useEffect(() => {\n dropdownRef.current?.scrollTo({ top: 0 });\n }, [resolvedSearchValue]);\n\n useEffect(() => {\n onDropdownOpen?.(isOpen);\n }, [isOpen]);\n\n useEffect(() => {\n onSearchValueChangeRef.current?.(searchValue);\n }, [searchValue]);\n\n useEffect(() => {\n setOpen(dropdownOpen || false);\n }, [dropdownOpen]);\n\n return {\n isOpen,\n isFocused,\n highlightedIndex,\n visibleItems,\n highlightIndex,\n getOptionProps,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n handleInputClick,\n inputRef,\n getKeyProps,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n allItemsSelected,\n optionsRefs,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useSelect.js","names":["useCallback","useEffect","useLayoutEffect","useMemo","useRef","useState","useClickOutside","useDebounce","useKeys","useMutableRef","usePrevious","useRefs","getCountedGroups","getGroups","scrollToIndex","useHoistedState","isMultipleParams","params","multiple","isNotMultipleParams","actions","setOpen","setSearch","highlightIndex","initialState","searchValue","resolvedSearchValue","isOpen","highlightedIndex","scrollToHighlighted","isOptionForCreate","Object","prototype","hasOwnProperty","call","isNotOptionForCreate","isOptionForSelectAll","useSelect","items","dropdownRef","controlRef","disabled","getItemLabel","getItemKey","searchFunction","getItemGroupKey","groups","selectAll","getGroupKey","sortGroups","getItemDisabled","onFocus","onBlur","searchValueProp","onDropdownOpen","onSearchValueChange","dropdownOpen","ignoreOutsideClicksRefs","inputRef","isFocused","setIsFocused","value","Array","isArray","setState","onSearchValueChangeRef","searchFunctionDefault","item","toLocaleLowerCase","indexOf","fiteredOptions","filter","onCreate","length","label","__optionForCreate","filteredOptions","optionForCreate","visibleItems","resultGroups","maxHighlightIndex","optionsRefs","notFound","flag","group","hasItems","allItemsSelected","el","find","getSelectedOptionIndex","index","newIsOpen","old","setResolvedSearch","prevIsOpen","indexForHighlight","newIndex","Math","min","max","currentHighlightIndex","removeValue","e","valueItem","stopPropagation","newValue","val","onChange","some","onChangeAll","parametrs","nonDisabledItems","currentGroupValues","withoutGroupValues","forEach","push","clearValue","results","ArrowUp","_","preventDefault","ArrowDown","getKeyProps","PageUp","PageDown","Home","End","Enter","getData","couter","Escape","Tab","Backspace","isActive","ignoreClicksInsideRefs","handler","current","scrollTo","top","getOptionProps","keyPrefix","onClick","onMouseEnter","active","hovered","key","getItems","groupKey","handleInputFocus","handleInputBlur","focus","handleToggleDropdown","handleInputClick","handleInputChange","target","getHandleRemoveValue"],"sources":["../../../../../../src/components/SelectComponents/useSelect/useSelect.ts"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useDebounce } from '##/hooks/useDebounce';\nimport { KeyHandler, useKeys } from '##/hooks/useKeysDepricated';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { usePrevious } from '##/hooks/usePrevious';\nimport { useRefs } from '##/hooks/useRefs';\nimport {\n CountedGroup,\n getCountedGroups,\n getGroups,\n SelectAllItem,\n} from '##/utils/getGroups';\n\nimport { scrollToIndex, useHoistedState } from './helpers';\n\ntype IndexForHighlight = number | ((oldIndex: number) => number);\n\ntype Group<ITEM, GROUP> = {\n items: ITEM[];\n key: string | number;\n group?: GROUP;\n};\ntype GetItemGroupKey<ITEM> = (item: ITEM) => string | number | undefined;\ntype GetGroupKey<GROUP> = (item: GROUP) => string | number | undefined;\ntype SortGroups<ITEM, GROUP> = (\n a: Group<ITEM, GROUP>,\n b: Group<ITEM, GROUP>,\n) => number;\n\ntype OnChangeProp<ITEM, MULTIPLE extends boolean> = (\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null,\n props: {\n e: React.SyntheticEvent;\n },\n) => void;\n\ntype ValueProp<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type OptionForCreate = {\n label: string;\n __optionForCreate: boolean;\n};\n\nexport type SelectProps<ITEM, GROUP, MULTIPLE extends boolean> = {\n getItemGroupKey?: GetItemGroupKey<ITEM> | undefined;\n getGroupKey?: GetGroupKey<GROUP>;\n sortGroups?: SortGroups<ITEM, GROUP>;\n groups?: GROUP[];\n items: ITEM[];\n dropdownRef: React.MutableRefObject<HTMLDivElement | null>;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n disabled?: boolean;\n selectAll?: boolean;\n getItemLabel: (item: ITEM) => string;\n getItemKey: (item: ITEM) => string | number;\n getItemDisabled?: (item: ITEM) => boolean | undefined;\n searchFunction?: (item: ITEM, searchValue: string) => boolean;\n onCreate?: (\n label: string,\n props: { e: React.SyntheticEvent; label: string },\n ) => void;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n multiple: boolean;\n searchValue?: string;\n onChange: OnChangeProp<ITEM, MULTIPLE>;\n value: ValueProp<ITEM, MULTIPLE>;\n dropdownOpen?: boolean;\n onDropdownOpen?: (isOpen: boolean) => void;\n onSearchValueChange?: (value: string) => void;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n};\n\nexport type OptionProps<ITEM> = {\n index: number;\n item: ITEM | OptionForCreate | SelectAllItem;\n keyPrefix: string | number;\n};\n\nexport type GetOptionPropsResult = {\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n active: boolean;\n hovered: boolean;\n key: string | number;\n};\n\nconst isMultipleParams = <ITEM, GROUP>(\n params: SelectProps<ITEM, GROUP, boolean>,\n): params is SelectProps<ITEM, GROUP, true> => {\n return params.multiple;\n};\n\nconst isNotMultipleParams = <ITEM, GROUP>(\n params: SelectProps<ITEM, GROUP, boolean>,\n): params is SelectProps<ITEM, GROUP, false> => {\n return !params.multiple;\n};\n\nconst actions = {\n setOpen: 'setOpen',\n setSearch: 'setSearch',\n highlightIndex: 'highlightIndex',\n};\n\nconst initialState = {\n searchValue: '',\n resolvedSearchValue: '',\n isOpen: false,\n highlightedIndex: 0,\n scrollToHighlighted: false,\n};\n\nexport const isOptionForCreate = <ITEM, GROUP>(\n params: OptionForCreate | Group<ITEM, GROUP> | ITEM,\n): params is OptionForCreate => {\n return (\n params && Object.prototype.hasOwnProperty.call(params, '__optionForCreate')\n );\n};\n\nexport const isNotOptionForCreate = <ITEM, GROUP>(\n params: OptionForCreate | Group<ITEM, GROUP>,\n): params is Group<ITEM, GROUP> => {\n return (\n params && !Object.prototype.hasOwnProperty.call(params, '__optionForCreate')\n );\n};\n\nexport const isOptionForSelectAll = <ITEM>(\n params: SelectAllItem | ITEM,\n): params is SelectAllItem => {\n return (\n params && Object.prototype.hasOwnProperty.call(params, '__optionSelctAll')\n );\n};\n\nexport function useSelect<ITEM, GROUP, MULTIPLE extends boolean>(\n params: SelectProps<ITEM, GROUP, MULTIPLE>,\n) {\n const {\n items,\n dropdownRef,\n controlRef,\n disabled = false,\n multiple = false,\n getItemLabel,\n getItemKey,\n searchFunction,\n getItemGroupKey,\n groups,\n selectAll = false,\n getGroupKey,\n sortGroups,\n getItemDisabled,\n onFocus,\n onBlur,\n searchValue: searchValueProp,\n onDropdownOpen,\n onSearchValueChange,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n } = params;\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [isFocused, setIsFocused] = useState(false);\n\n const value = useMemo(\n () =>\n (params.value &&\n (Array.isArray(params.value) ? params.value : [params.value])) ||\n [],\n [params.value],\n );\n\n const [\n {\n searchValue,\n isOpen,\n highlightedIndex,\n resolvedSearchValue,\n scrollToHighlighted,\n },\n setState,\n ] = useHoistedState(initialState);\n\n const onSearchValueChangeRef = useMutableRef(onSearchValueChange);\n\n const searchFunctionDefault = (item: ITEM, searchValue: string) =>\n getItemLabel(item)\n .toLocaleLowerCase()\n .indexOf(searchValue.toLocaleLowerCase()) !== -1;\n\n const [filteredOptions, optionForCreate] = useMemo(() => {\n if (resolvedSearchValue && resolvedSearchValue !== '') {\n const fiteredOptions = items.filter((item) =>\n searchFunction\n ? searchFunction(item, resolvedSearchValue)\n : searchFunctionDefault(item, resolvedSearchValue),\n );\n\n const optionForCreate: OptionForCreate = {\n label: searchValue,\n __optionForCreate: true,\n };\n\n return [\n fiteredOptions,\n params.onCreate && !fiteredOptions.length ? optionForCreate : undefined,\n ] as const;\n }\n return [items, undefined] as const;\n }, [items, resolvedSearchValue, params.onCreate]);\n\n const visibleItems = useMemo(() => {\n const resultGroups = getCountedGroups(\n getGroups(\n filteredOptions,\n groups?.length ? getItemGroupKey : undefined,\n groups,\n getGroupKey,\n sortGroups,\n ),\n isMultipleParams(params) ? params.value : [],\n selectAll,\n getItemKey,\n getItemDisabled,\n );\n\n return optionForCreate ? [optionForCreate, ...resultGroups] : resultGroups;\n }, [\n value,\n selectAll,\n filteredOptions,\n groups,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n sortGroups,\n optionForCreate,\n ]);\n\n const maxHighlightIndex =\n // колличество опций\n filteredOptions.length +\n // кнопка для создания\n (optionForCreate ? 1 : 0) +\n // кнопки выбрать все\n (selectAll ? visibleItems.length : 0);\n\n const optionsRefs = useRefs<HTMLDivElement>(maxHighlightIndex, [isOpen]);\n\n const notFound = useMemo(() => {\n let flag = false;\n if (searchValue.length > 0) {\n flag =\n visibleItems.filter(\n (group) =>\n isOptionForCreate(group) || group.items.length > 0 || group.group,\n ).length === 0 && !params.onCreate;\n }\n return flag;\n }, [visibleItems]);\n\n const hasItems = items.length !== 0;\n\n const allItemsSelected = useMemo(() => {\n if (isNotMultipleParams(params)) {\n return false;\n }\n if (selectAll) {\n return (\n items.filter((el) =>\n value.find((item) => getItemKey(item) === getItemKey(el)),\n ).length === items.length\n );\n }\n\n return false;\n }, [selectAll, multiple, value, items]);\n\n const getSelectedOptionIndex = (): number => {\n let index = 0;\n if (value.length > 0) {\n for (const group of visibleItems) {\n if (isOptionForCreate(group)) {\n index++;\n // eslint-disable-next-line no-continue\n continue;\n }\n for (const item of group.items) {\n if (isOptionForSelectAll(item)) {\n return index;\n }\n if (getItemKey(item) === getItemKey(value[0])) {\n return index;\n }\n index++;\n }\n }\n }\n\n return 0;\n };\n\n // Actions\n\n const setOpen = useCallback(\n (newIsOpen: boolean) => {\n setState(\n (old) => ({\n ...old,\n isOpen: newIsOpen,\n }),\n actions.setOpen,\n );\n },\n [setState],\n );\n\n const setResolvedSearch = useDebounce((value: string) => {\n setState((old) => {\n if (old.resolvedSearchValue === value) {\n return old;\n }\n return {\n ...old,\n resolvedSearchValue: value,\n };\n }, actions.setSearch);\n }, 300);\n\n const setSearch = useCallback(\n (value: string | undefined) => {\n setState((old) => {\n if (old.searchValue === value) {\n return old;\n }\n return {\n ...old,\n searchValue: value || '',\n };\n }, actions.setSearch);\n setResolvedSearch(value || '');\n },\n [setState, setResolvedSearch],\n );\n\n const prevIsOpen = usePrevious(isOpen);\n\n const highlightIndex = useCallback(\n (indexForHighlight: IndexForHighlight, scrollToHighlighted: boolean) => {\n setState((old) => {\n const newIndex = Math.min(\n Math.max(\n 0,\n typeof indexForHighlight === 'function'\n ? indexForHighlight(old.highlightedIndex)\n : indexForHighlight,\n ),\n maxHighlightIndex - 1,\n );\n\n if (old.highlightedIndex === newIndex) {\n return old;\n }\n\n return {\n ...old,\n highlightedIndex: newIndex,\n scrollToHighlighted,\n };\n }, actions.highlightIndex);\n },\n [filteredOptions, setState, optionForCreate],\n );\n\n useLayoutEffect(() => {\n if (value !== null && !prevIsOpen && isOpen) {\n const currentHighlightIndex = getSelectedOptionIndex();\n if (filteredOptions.length > 0) {\n scrollToIndex(currentHighlightIndex, dropdownRef, optionsRefs, () =>\n highlightIndex(0, false),\n );\n }\n }\n });\n\n const removeValue = (e: React.SyntheticEvent, valueItem: ITEM) => {\n e.stopPropagation();\n if (isMultipleParams(params)) {\n const newValue = params.value?.filter(\n (item) => getItemKey(item) !== getItemKey(valueItem),\n );\n const val = newValue?.length ? newValue : null;\n params.onChange(val, {\n e,\n });\n }\n };\n\n const onChange = (e: React.SyntheticEvent, item: ITEM) => {\n if (getItemDisabled && getItemDisabled(item)) {\n return;\n }\n if (isMultipleParams(params)) {\n const newValue = value.some(\n (value) => getItemKey(value) === getItemKey(item),\n )\n ? value.filter((value) => getItemKey(value) !== getItemKey(item))\n : [...value, item];\n const val = newValue?.length ? newValue : null;\n params.onChange(val, { e });\n }\n if (isNotMultipleParams(params)) {\n params.onChange(item, { e });\n setOpen(false);\n setSearch('');\n }\n };\n\n const onChangeAll = (parametrs: {\n e: React.SyntheticEvent;\n items: ITEM[];\n }) => {\n const { e, items } = parametrs;\n if (isMultipleParams(params)) {\n const nonDisabledItems = getItemDisabled\n ? items.filter((item) => !getItemDisabled(item))\n : items;\n\n const currentGroupValues: ITEM[] = [];\n const withoutGroupValues: ITEM[] = [];\n value.forEach((el) => {\n if (\n nonDisabledItems.find((item) => getItemKey(el) === getItemKey(item))\n ) {\n currentGroupValues.push(el);\n } else {\n withoutGroupValues.push(el);\n }\n });\n if (currentGroupValues.length === nonDisabledItems.length) {\n params.onChange(withoutGroupValues, { e });\n } else {\n const val = [...withoutGroupValues, ...nonDisabledItems];\n params.onChange(val, {\n e,\n });\n }\n }\n };\n\n const onCreate = (e: React.SyntheticEvent, label: string) => {\n params.onCreate && params.onCreate(label, { e, label });\n setOpen(false);\n setSearch('');\n };\n\n // Handlers\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>): void => {\n if (!disabled && !(!multiple && value.length > 0)) {\n setSearch(e.target.value);\n setOpen(true);\n }\n };\n\n const handleInputClick = (): void => {\n !disabled && setOpen(!isOpen);\n\n if (multiple) {\n inputRef.current?.focus();\n }\n };\n\n const clearValue = (e: React.SyntheticEvent) => {\n if (isMultipleParams(params)) {\n const results = value?.filter((item) => getItemDisabled?.(item));\n const val = results && results.length > 0 ? results : null;\n params.onChange(val, {\n e,\n });\n }\n if (isNotMultipleParams(params)) {\n params.onChange(null, { e });\n }\n setSearch('');\n };\n\n const getHandleRemoveValue = (item: ITEM) => (e: React.SyntheticEvent) =>\n removeValue(e, item);\n\n // Prop Getters\n\n const ArrowUp: KeyHandler = (_, e): void => {\n e.preventDefault();\n !disabled && setOpen(true);\n highlightIndex((old) => old - 1, true);\n };\n\n const ArrowDown: KeyHandler = (_, e): void => {\n e.preventDefault();\n !disabled && setOpen(true);\n highlightIndex((old) => old + 1, true);\n };\n\n const Enter: KeyHandler = (_, e): void => {\n if (isOpen) {\n if (searchValue || filteredOptions[highlightedIndex]) {\n e.preventDefault();\n }\n\n const getData = (\n index: number,\n ): [\n CountedGroup<ITEM, GROUP> | undefined,\n SelectAllItem | OptionForCreate | ITEM | undefined,\n ] => {\n let couter = 0;\n for (const group of visibleItems) {\n if (isOptionForCreate(group)) {\n couter++;\n return [undefined, group];\n }\n if (group.items.length + couter > index) {\n return [group, group.items[index - couter]];\n }\n couter += group.items.length;\n }\n return [undefined, undefined];\n };\n\n const [group, item] = getData(highlightedIndex);\n\n if (isOptionForCreate(item)) {\n onCreate(e, item.label);\n return;\n }\n\n if (isOptionForSelectAll(item)) {\n onChangeAll({\n e,\n items:\n (group?.items.filter(\n (el) => !isOptionForSelectAll(el),\n ) as ITEM[]) ?? [],\n });\n return;\n }\n\n if (item) {\n onChange(e, item);\n }\n } else {\n setOpen(true);\n }\n };\n\n const Escape: KeyHandler = (): void => {\n setOpen(false);\n };\n\n const Tab: KeyHandler = (_, e): void => {\n if (isOpen) {\n e.preventDefault();\n setOpen(false);\n }\n };\n\n const Backspace: KeyHandler = (_, e): void => {\n if (searchValue) {\n return;\n }\n if (multiple) {\n removeValue(e, value[value.length - 1]);\n } else {\n clearValue(e);\n }\n };\n\n const getKeyProps = useKeys({\n ArrowUp,\n ArrowDown,\n PageUp: ArrowUp,\n PageDown: ArrowDown,\n Home: ArrowUp,\n End: ArrowDown,\n Enter,\n Escape,\n Tab,\n Backspace,\n });\n\n const getOptionProps = ({\n index,\n item,\n keyPrefix,\n }: OptionProps<ITEM>): GetOptionPropsResult => {\n if (isOptionForCreate(item)) {\n return {\n onClick: (e: React.SyntheticEvent) => {\n onCreate(e, item.label);\n },\n onMouseEnter: () => {\n highlightIndex(index, false);\n },\n active: false,\n hovered: index === highlightedIndex,\n key: `${keyPrefix}__optionForCreate`,\n };\n }\n if (isOptionForSelectAll(item)) {\n const getItems = (): ITEM[] => {\n for (const group of visibleItems) {\n if (isOptionForCreate(group)) {\n break;\n }\n if (group.key === item.groupKey) {\n return (\n (group?.items.filter(\n (el) => !isOptionForSelectAll(el),\n ) as ITEM[]) ?? []\n );\n }\n }\n return [];\n };\n return {\n onClick: (e: React.SyntheticEvent) => {\n onChangeAll({ e, items: getItems() });\n },\n onMouseEnter: () => {\n highlightIndex(index, false);\n },\n active: false,\n hovered: index === highlightedIndex,\n key: `${keyPrefix}__optionForSelectAll`,\n };\n }\n const key = getItemKey(item);\n return {\n onClick: (e: React.SyntheticEvent) => {\n onChange(e, item);\n },\n onMouseEnter: () => {\n highlightIndex(index, false);\n },\n active: Boolean(value.find((item) => getItemKey(item) === key)),\n hovered: index === highlightedIndex,\n key: `${keyPrefix}${key}`,\n };\n };\n\n useClickOutside({\n isActive: isOpen,\n ignoreClicksInsideRefs: [\n dropdownRef,\n controlRef,\n ...(ignoreOutsideClicksRefs || []),\n ],\n handler: () => {\n setOpen(false);\n },\n });\n\n useEffect(() => {\n if (disabled) {\n setOpen(false);\n }\n }, [disabled]);\n\n useEffect(() => {\n const currentHighlightIndex = getSelectedOptionIndex();\n highlightIndex(currentHighlightIndex, true);\n }, [highlightIndex]);\n\n useEffect(() => {\n if (filteredOptions.length > 0 && scrollToHighlighted) {\n scrollToIndex(highlightedIndex, dropdownRef, optionsRefs, () =>\n highlightIndex(0, false),\n );\n }\n }, [highlightedIndex]);\n\n const handleInputFocus = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (!disabled) {\n if (!isFocused) {\n setIsFocused(true);\n }\n if (typeof onFocus === 'function') {\n onFocus(e);\n }\n }\n };\n\n const handleInputBlur = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (isOpen) {\n inputRef.current?.focus();\n return;\n }\n\n if (isFocused) {\n setIsFocused(false);\n }\n\n if (typeof onBlur === 'function') {\n onBlur(e);\n }\n };\n\n const handleToggleDropdown = (): void => {\n if (isOpen) {\n setOpen(false);\n setIsFocused(false);\n } else {\n setOpen(true);\n setIsFocused(true);\n inputRef.current?.focus();\n }\n };\n\n useEffect(() => {\n setSearch(searchValueProp);\n }, [searchValueProp]);\n\n useEffect(() => {\n dropdownRef.current?.scrollTo({ top: 0 });\n }, [resolvedSearchValue]);\n\n useEffect(() => {\n onDropdownOpen?.(isOpen);\n }, [isOpen]);\n\n useEffect(() => {\n onSearchValueChangeRef.current?.(searchValue);\n }, [searchValue]);\n\n useEffect(() => {\n setOpen(dropdownOpen || false);\n }, [dropdownOpen]);\n\n return {\n isOpen,\n isFocused,\n highlightedIndex,\n visibleItems,\n highlightIndex,\n getOptionProps,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n handleInputClick,\n inputRef,\n getKeyProps,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n allItemsSelected,\n optionsRefs,\n };\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import React,{forwardRef}from"react";import{TextFieldTypeNumber}from"./TextFieldTypeNumber";import{TextFieldTypePassword}from"./TextFieldTypePassword";import{TextFieldTypeText}from"./TextFieldTypeText";import{TextFieldTypeTextArea}from"./TextFieldTypeTextArea";import{TextFieldTypeTextArray}from"./TextFieldTypeTextArray";var typeMap={text:TextFieldTypeText,textarea:TextFieldTypeTextArea,password:TextFieldTypePassword,number:TextFieldTypeNumber,textarray:TextFieldTypeTextArray},TextFieldRender=function(a,b){var c=typeMap[a.type||"text"];return React.createElement(c,Object.assign({ref:b},a))};export var TextField=forwardRef(TextFieldRender);
1
+ import React,{forwardRef}from"react";import{TextFieldTypeNumber}from"./TextFieldTypeNumber";import{TextFieldTypePassword}from"./TextFieldTypePassword";import{TextFieldTypeText}from"./TextFieldTypeText";import{TextFieldTypeTextArea}from"./TextFieldTypeTextArea";import{TextFieldTypeTextArray}from"./TextFieldTypeTextArray";var typeMap={text:TextFieldTypeText,textarea:TextFieldTypeTextArea,password:TextFieldTypePassword,number:TextFieldTypeNumber,textarray:TextFieldTypeTextArray},TextFieldRender=function(a,b){var c=typeMap[a.type||"text"]||typeMap.text;return React.createElement(c,Object.assign({ref:b},a))};export var TextField=forwardRef(TextFieldRender);
2
2
  //# sourceMappingURL=TextField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.js","names":["React","forwardRef","TextFieldTypeNumber","TextFieldTypePassword","TextFieldTypeText","TextFieldTypeTextArea","TextFieldTypeTextArray","typeMap","text","textarea","password","number","textarray","TextFieldRender","props","ref","Component","type","TextField"],"sources":["../../../../../src/components/TextFieldCanary/TextField.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { TextFieldTypeNumber } from './TextFieldTypeNumber';\nimport { TextFieldTypePassword } from './TextFieldTypePassword';\nimport { TextFieldTypeText } from './TextFieldTypeText';\nimport { TextFieldTypeTextArea } from './TextFieldTypeTextArea';\nimport { TextFieldTypeTextArray } from './TextFieldTypeTextArray';\nimport {\n TextFieldComponent,\n TextFieldProps,\n TextFieldTypeComponent,\n} from './types';\n\nconst typeMap: Record<\n string,\n | TextFieldTypeComponent<'text'>\n | TextFieldTypeComponent<'textarea'>\n | TextFieldTypeComponent<'password'>\n | TextFieldTypeComponent<'number'>\n | TextFieldTypeComponent<'textarray'>\n> = {\n text: TextFieldTypeText,\n textarea: TextFieldTypeTextArea,\n password: TextFieldTypePassword,\n number: TextFieldTypeNumber,\n textarray: TextFieldTypeTextArray,\n};\n\nconst TextFieldRender = <TYPE extends string>(\n props: TextFieldProps<TYPE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const Component = typeMap[props.type || 'text'];\n\n return <Component ref={ref} {...(props as TextFieldTypeComponent<TYPE>)} />;\n};\n\nexport const TextField = forwardRef(TextFieldRender) as TextFieldComponent;\n"],"mappings":"AAAA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,mBAAT,6BACA,OAASC,qBAAT,+BACA,OAASC,iBAAT,2BACA,OAASC,qBAAT,+BACA,OAASC,sBAAT,gC,GAOMC,QAOL,CAAG,CACFC,IAAI,CAAEJ,iBADJ,CAEFK,QAAQ,CAAEJ,qBAFR,CAGFK,QAAQ,CAAEP,qBAHR,CAIFQ,MAAM,CAAET,mBAJN,CAKFU,SAAS,CAAEN,sBALT,C,CAQEO,eAAe,CAAG,SACtBC,CADsB,CAEtBC,CAFsB,CAGnB,CACH,GAAMC,EAAS,CAAGT,OAAO,CAACO,CAAK,CAACG,IAAN,EAAc,MAAf,CAAzB,CAEA,MAAO,qBAAC,CAAD,gBAAW,GAAG,CAAEF,CAAhB,EAA0BD,CAA1B,EACR,C,CAED,MAAO,IAAMI,UAAS,CAAGjB,UAAU,CAACY,eAAD,CAA5B"}
1
+ {"version":3,"file":"TextField.js","names":["React","forwardRef","TextFieldTypeNumber","TextFieldTypePassword","TextFieldTypeText","TextFieldTypeTextArea","TextFieldTypeTextArray","typeMap","text","textarea","password","number","textarray","TextFieldRender","props","ref","Component","type","TextField"],"sources":["../../../../../src/components/TextFieldCanary/TextField.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { TextFieldTypeNumber } from './TextFieldTypeNumber';\nimport { TextFieldTypePassword } from './TextFieldTypePassword';\nimport { TextFieldTypeText } from './TextFieldTypeText';\nimport { TextFieldTypeTextArea } from './TextFieldTypeTextArea';\nimport { TextFieldTypeTextArray } from './TextFieldTypeTextArray';\nimport {\n TextFieldComponent,\n TextFieldProps,\n TextFieldTypeComponent,\n} from './types';\n\nconst typeMap: Record<\n string,\n | TextFieldTypeComponent<'text'>\n | TextFieldTypeComponent<'textarea'>\n | TextFieldTypeComponent<'password'>\n | TextFieldTypeComponent<'number'>\n | TextFieldTypeComponent<'textarray'>\n> = {\n text: TextFieldTypeText,\n textarea: TextFieldTypeTextArea,\n password: TextFieldTypePassword,\n number: TextFieldTypeNumber,\n textarray: TextFieldTypeTextArray,\n};\n\nconst TextFieldRender = <TYPE extends string>(\n props: TextFieldProps<TYPE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const Component = typeMap[props.type || 'text'] || typeMap.text;\n\n return <Component ref={ref} {...props} />;\n};\n\nexport const TextField = forwardRef(TextFieldRender) as TextFieldComponent;\n"],"mappings":"AAAA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,mBAAT,6BACA,OAASC,qBAAT,+BACA,OAASC,iBAAT,2BACA,OAASC,qBAAT,+BACA,OAASC,sBAAT,gC,GAOMC,QAOL,CAAG,CACFC,IAAI,CAAEJ,iBADJ,CAEFK,QAAQ,CAAEJ,qBAFR,CAGFK,QAAQ,CAAEP,qBAHR,CAIFQ,MAAM,CAAET,mBAJN,CAKFU,SAAS,CAAEN,sBALT,C,CAQEO,eAAe,CAAG,SACtBC,CADsB,CAEtBC,CAFsB,CAGnB,CACH,GAAMC,EAAS,CAAGT,OAAO,CAACO,CAAK,CAACG,IAAN,EAAc,MAAf,CAAP,EAAiCV,OAAO,CAACC,IAA3D,CAEA,MAAO,qBAAC,CAAD,gBAAW,GAAG,CAAEO,CAAhB,EAAyBD,CAAzB,EACR,C,CAED,MAAO,IAAMI,UAAS,CAAGjB,UAAU,CAACY,eAAD,CAA5B"}
@@ -1,2 +1,2 @@
1
1
  import { TextFieldTypeComponent } from '..';
2
- export declare const TextFieldTypeText: TextFieldTypeComponent<'text'>;
2
+ export declare const TextFieldTypeText: TextFieldTypeComponent<string>;
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","value","defaultValue","onChange","id","name","inputRef","maxLength","disabled","size","view","form","status","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","readOnly","type","tabIndex","ariaLabel","iconSize","onClick","onKeyDown","onKeyDownCapture","onKeyUp","onKeyUpCapture","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onClear"];import React,{forwardRef}from"react";import{FieldClearButton,FieldControlLayout,FieldInput,renderSide}from"../../FieldComponents";import{useForkRef}from"../../../hooks/useForkRef";import{useTextField}from"../useTextField";export var TextFieldTypeText=forwardRef(function(a,b){var c=a.className,d=a.value,e=a.defaultValue,f=a.onChange,g=a.id,h=a.name,i=a.inputRef,j=a.maxLength,k=a.disabled,l=a.size,m=void 0===l?"m":l,n=a.view,o=void 0===n?"default":n,p=a.form,q=a.status,r=a.onBlur,s=a.onFocus,t=a.autoFocus,u=a.placeholder,v=a.leftSide,w=a.rightSide,x=a.autoComplete,y=a.withClearButton,z=a.readOnly,A=a.type,B=a.tabIndex,C=a.ariaLabel,D=a.iconSize,E=a.onClick,F=a.onKeyDown,G=a.onKeyDownCapture,H=a.onKeyUp,I=a.onKeyUpCapture,J=a.onCopy,K=a.onCopyCapture,L=a.onCut,M=a.onCutCapture,N=a.onPaste,O=a.onPasteCapture,P=a.onClear,Q=_objectWithoutProperties(a,_excluded),R=useTextField({onClick:E,onChange:f,onBlur:r,onFocus:s,disabled:k,onClear:P}),S=R.handleBlur,T=R.handleChange,U=R.handleClear,V=R.handleFocus,W=R.focused,X=R.withValue,Y=R.ref,Z=R.inputRef,$=R.handleClick;return React.createElement(FieldControlLayout,Object.assign({},Q,{className:c,form:p,status:q,size:m,leftSide:renderSide(v,m,D),rightSide:[y&&!k&&X&&React.createElement(FieldClearButton,{size:m,onClick:U}),renderSide(w,m,D)],focused:W,view:o,ref:useForkRef([b,Y]),disabled:k,onClick:$}),React.createElement(FieldInput,{placeholder:u,autoFocus:t,autoComplete:x,onBlur:S,onChange:T,onFocus:V,defaultValue:e||void 0,value:null===d?"":d,ref:useForkRef([i,Z]),readOnly:z,tabIndex:B,"aria-label":C,onKeyDown:F,onKeyDownCapture:G,onKeyUp:H,onKeyUpCapture:I,maxLength:j,disabled:k,type:A,id:g,name:h,onCopy:J,onCopyCapture:K,onCut:L,onCutCapture:M,onPaste:N,onPasteCapture:O}))});
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","value","defaultValue","onChange","id","name","inputRef","maxLength","disabled","size","view","form","status","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","readOnly","type","tabIndex","ariaLabel","iconSize","onClick","onKeyDown","onKeyDownCapture","onKeyUp","onKeyUpCapture","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onClear"];import React,{forwardRef}from"react";import{FieldClearButton,FieldControlLayout,FieldInput,renderSide}from"../../FieldComponents";import{useForkRef}from"../../../hooks/useForkRef";import{useTextField}from"../useTextField";export var TextFieldTypeText=forwardRef(function(a,b){var c=a.className,d=a.value,e=a.defaultValue,f=a.onChange,g=a.id,h=a.name,i=a.inputRef,j=a.maxLength,k=a.disabled,l=a.size,m=void 0===l?"m":l,n=a.view,o=void 0===n?"default":n,p=a.form,q=a.status,r=a.onBlur,s=a.onFocus,t=a.autoFocus,u=a.placeholder,v=a.leftSide,w=a.rightSide,x=a.autoComplete,y=a.withClearButton,z=a.readOnly,A=a.type,B=void 0===A?"text":A,C=a.tabIndex,D=a.ariaLabel,E=a.iconSize,F=a.onClick,G=a.onKeyDown,H=a.onKeyDownCapture,I=a.onKeyUp,J=a.onKeyUpCapture,K=a.onCopy,L=a.onCopyCapture,M=a.onCut,N=a.onCutCapture,O=a.onPaste,P=a.onPasteCapture,Q=a.onClear,R=_objectWithoutProperties(a,_excluded),S=useTextField({onClick:F,onChange:f,onBlur:r,onFocus:s,disabled:k,onClear:Q}),T=S.handleBlur,U=S.handleChange,V=S.handleClear,W=S.handleFocus,X=S.focused,Y=S.withValue,Z=S.ref,$=S.inputRef,_=S.handleClick;return React.createElement(FieldControlLayout,Object.assign({},R,{className:c,form:p,status:q,size:m,leftSide:renderSide(v,m,E),rightSide:[y&&!k&&Y&&React.createElement(FieldClearButton,{size:m,onClick:V}),renderSide(w,m,E)],focused:X,view:o,ref:useForkRef([b,Z]),disabled:k,onClick:_}),React.createElement(FieldInput,{placeholder:u,autoFocus:t,autoComplete:x,onBlur:T,onChange:U,onFocus:W,defaultValue:e||void 0,value:null===d?"":d,ref:useForkRef([i,$]),readOnly:z,tabIndex:C,"aria-label":D,onKeyDown:G,onKeyDownCapture:H,onKeyUp:I,onKeyUpCapture:J,maxLength:j,disabled:k,type:B,id:g,name:h,onCopy:K,onCopyCapture:L,onCut:M,onCutCapture:N,onPaste:O,onPasteCapture:P}))});
2
2
  //# sourceMappingURL=TextFieldTypeText.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextFieldTypeText.js","names":["React","forwardRef","FieldClearButton","FieldControlLayout","FieldInput","renderSide","useForkRef","useTextField","TextFieldTypeText","props","componentRef","className","value","defaultValue","onChange","id","name","inputRefProp","inputRef","maxLength","disabled","size","view","form","status","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","readOnly","type","tabIndex","ariaLabel","iconSize","onClick","onKeyDown","onKeyDownCapture","onKeyUp","onKeyUpCapture","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onClear","otherProps","handleBlur","handleChange","handleClear","handleFocus","focused","withValue","ref","handleClick"],"sources":["../../../../../../src/components/TextFieldCanary/TextFieldTypeText/TextFieldTypeText.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport {\n FieldClearButton,\n FieldControlLayout,\n FieldInput,\n renderSide,\n} from '##/components/FieldComponents';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport { TextFieldTypeComponent } from '..';\nimport { useTextField } from '../useTextField';\n\nexport const TextFieldTypeText: TextFieldTypeComponent<'text'> = forwardRef(\n (props, componentRef) => {\n const {\n className,\n value,\n defaultValue,\n onChange,\n id,\n name,\n inputRef: inputRefProp,\n maxLength,\n disabled,\n size = 'm',\n view = 'default',\n form,\n status,\n onBlur,\n onFocus,\n autoFocus,\n placeholder,\n leftSide,\n rightSide,\n autoComplete,\n withClearButton,\n readOnly,\n type,\n tabIndex,\n ariaLabel,\n iconSize,\n onClick,\n // onkey props\n onKeyDown,\n onKeyDownCapture,\n onKeyUp,\n onKeyUpCapture,\n onCopy,\n onCopyCapture,\n onCut,\n onCutCapture,\n onPaste,\n onPasteCapture,\n onClear,\n ...otherProps\n } = props;\n\n const {\n handleBlur,\n handleChange,\n handleClear,\n handleFocus,\n focused,\n withValue,\n ref,\n inputRef,\n handleClick,\n } = useTextField({\n onClick,\n onChange,\n onBlur,\n onFocus,\n disabled,\n onClear,\n });\n\n return (\n <FieldControlLayout\n {...otherProps}\n className={className}\n form={form}\n status={status}\n size={size}\n leftSide={renderSide(leftSide, size, iconSize)}\n rightSide={[\n withClearButton && !disabled && withValue && (\n <FieldClearButton size={size} onClick={handleClear} />\n ),\n renderSide(rightSide, size, iconSize),\n ]}\n focused={focused}\n view={view}\n ref={useForkRef([componentRef, ref])}\n disabled={disabled}\n onClick={handleClick}\n >\n <FieldInput\n placeholder={placeholder}\n autoFocus={autoFocus}\n autoComplete={autoComplete}\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={handleFocus}\n defaultValue={defaultValue || undefined}\n value={value === null ? '' : value}\n ref={useForkRef([inputRefProp, inputRef])}\n readOnly={readOnly}\n tabIndex={tabIndex}\n aria-label={ariaLabel}\n onKeyDown={onKeyDown}\n onKeyDownCapture={onKeyDownCapture}\n onKeyUp={onKeyUp}\n onKeyUpCapture={onKeyUpCapture}\n maxLength={maxLength}\n disabled={disabled}\n type={type}\n id={id}\n name={name}\n onCopy={onCopy}\n onCopyCapture={onCopyCapture}\n onCut={onCut}\n onCutCapture={onCutCapture}\n onPaste={onPaste}\n onPasteCapture={onPasteCapture}\n />\n </FieldControlLayout>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"TextFieldTypeText.js","names":["React","forwardRef","FieldClearButton","FieldControlLayout","FieldInput","renderSide","useForkRef","useTextField","TextFieldTypeText","props","componentRef","className","value","defaultValue","onChange","id","name","inputRefProp","inputRef","maxLength","disabled","size","view","form","status","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","readOnly","type","tabIndex","ariaLabel","iconSize","onClick","onKeyDown","onKeyDownCapture","onKeyUp","onKeyUpCapture","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onClear","otherProps","handleBlur","handleChange","handleClear","handleFocus","focused","withValue","ref","handleClick"],"sources":["../../../../../../src/components/TextFieldCanary/TextFieldTypeText/TextFieldTypeText.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport {\n FieldClearButton,\n FieldControlLayout,\n FieldInput,\n renderSide,\n} from '##/components/FieldComponents';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport { TextFieldTypeComponent } from '..';\nimport { useTextField } from '../useTextField';\n\nexport const TextFieldTypeText: TextFieldTypeComponent<string> = forwardRef(\n (props, componentRef) => {\n const {\n className,\n value,\n defaultValue,\n onChange,\n id,\n name,\n inputRef: inputRefProp,\n maxLength,\n disabled,\n size = 'm',\n view = 'default',\n form,\n status,\n onBlur,\n onFocus,\n autoFocus,\n placeholder,\n leftSide,\n rightSide,\n autoComplete,\n withClearButton,\n readOnly,\n type = 'text',\n tabIndex,\n ariaLabel,\n iconSize,\n onClick,\n // onkey props\n onKeyDown,\n onKeyDownCapture,\n onKeyUp,\n onKeyUpCapture,\n onCopy,\n onCopyCapture,\n onCut,\n onCutCapture,\n onPaste,\n onPasteCapture,\n onClear,\n ...otherProps\n } = props;\n\n const {\n handleBlur,\n handleChange,\n handleClear,\n handleFocus,\n focused,\n withValue,\n ref,\n inputRef,\n handleClick,\n } = useTextField({\n onClick,\n onChange,\n onBlur,\n onFocus,\n disabled,\n onClear,\n });\n\n return (\n <FieldControlLayout\n {...otherProps}\n className={className}\n form={form}\n status={status}\n size={size}\n leftSide={renderSide(leftSide, size, iconSize)}\n rightSide={[\n withClearButton && !disabled && withValue && (\n <FieldClearButton size={size} onClick={handleClear} />\n ),\n renderSide(rightSide, size, iconSize),\n ]}\n focused={focused}\n view={view}\n ref={useForkRef([componentRef, ref])}\n disabled={disabled}\n onClick={handleClick}\n >\n <FieldInput\n placeholder={placeholder}\n autoFocus={autoFocus}\n autoComplete={autoComplete}\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={handleFocus}\n defaultValue={defaultValue || undefined}\n value={value === null ? '' : value}\n ref={useForkRef([inputRefProp, inputRef])}\n readOnly={readOnly}\n tabIndex={tabIndex}\n aria-label={ariaLabel}\n onKeyDown={onKeyDown}\n onKeyDownCapture={onKeyDownCapture}\n onKeyUp={onKeyUp}\n onKeyUpCapture={onKeyUpCapture}\n maxLength={maxLength}\n disabled={disabled}\n type={type}\n id={id}\n name={name}\n onCopy={onCopy}\n onCopyCapture={onCopyCapture}\n onCut={onCut}\n onCutCapture={onCutCapture}\n onPaste={onPaste}\n onPasteCapture={onPasteCapture}\n />\n </FieldControlLayout>\n );\n },\n);\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","value","defaultValue","onChange","id","name","inputRef","maxLength","disabled","size","view","form","status","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","readOnly","type","tabIndex","ariaLabel","iconSize","onClick","style","inputValue","renderValueItem","onInputChange","onKeyDown","onKeyDownCapture","onKeyUp","onKeyUpCapture","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onClear"];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,{forwardRef,useCallback,useEffect,useMemo,useRef}from"react";import{FieldArrayValueInlineControl,FieldArrayValueItem,FieldClearButton,FieldControlLayout,renderSide}from"../../FieldComponents";import{useComponentSize}from"../../../hooks/useComponentSize";import{useForkRef}from"../../../hooks/useForkRef";import{useKeys}from"../../../hooks/useKeys";import{useMutableRef}from"../../../hooks/useMutableRef";import{useRefs}from"../../../hooks/useRefs";import{getElementWidth,useResizeObserved}from"../../../hooks/useResizeObserved";import{getStyleProps}from"../../../hooks/useStyleProps";import{cnMixScrollBar}from"../../../mixs/MixScrollBar";import{useTextField}from"../useTextField";import{cnTextFieldTypeTextArray}from"./cnTextFieldTypeTextArray";var defaultRenderValueItem=function(a){var b=a.item,c=a.index,d=a.size,e=a.disabled,f=a.onRemove;return React.createElement(FieldArrayValueItem,{key:c,size:d,label:b,disabled:e,onRemove:f})};export var TextFieldTypeTextArray=forwardRef(function(a,b){var c,d=a.className,f=a.value,g=a.defaultValue,h=a.onChange,i=a.id,e=a.name,j=a.inputRef,k=a.maxLength,l=a.disabled,m=a.size,n=void 0===m?"m":m,o=a.view,p=void 0===o?"default":o,q=a.form,r=a.status,s=a.onBlur,t=a.onFocus,u=a.autoFocus,v=a.placeholder,w=a.leftSide,x=a.rightSide,y=a.autoComplete,z=a.withClearButton,A=a.readOnly,B=a.type,C=a.tabIndex,D=a.ariaLabel,E=a.iconSize,F=a.onClick,G=a.style,H=a.inputValue,I=a.renderValueItem,J=void 0===I?defaultRenderValueItem:I,K=a.onInputChange,L=a.onKeyDown,M=a.onKeyDownCapture,N=a.onKeyUp,O=a.onKeyUpCapture,P=a.onCopy,Q=a.onCopyCapture,R=a.onCut,S=a.onCutCapture,T=a.onPaste,U=a.onPasteCapture,V=a.onClear,W=_objectWithoutProperties(a,_excluded),X=useTextField({onClick:F,onChange:K,onBlur:s,onFocus:t,disabled:l,onClear:void 0}),Y=X.handleBlur,Z=X.handleChange,$=X.handleClear,_=X.handleFocus,aa=X.focused,ba=X.withValue,ca=X.ref,da=X.inputRef,ea=X.handleClick,fa=ba||!!(null!==f&&void 0!==f&&f.length),ga=useRef(null),ha=useRef(null),ia=useMutableRef([h,$,f]),ja=function(a){return function(b){if(null!==f&&void 0!==f&&f.length){var c=_toConsumableArray(f);c.splice(a,1),null===h||void 0===h?void 0:h(c.length?c:null,{e:b})}}},ka=useCallback(function(a){var b;if(ia.current[1](a),null!==(b=ia.current[2])&&void 0!==b&&b.length){var c,d;null===(c=(d=ia.current)[0])||void 0===c?void 0:c.call(d,null,{e:a})}},[]),la=useMemo(function(){return{Enter:function Enter(a){var b=a.target.value;if(b){var c,d;null===(c=(d=ia.current)[0])||void 0===c?void 0:c.call(d,[].concat(_toConsumableArray(ia.current[2]||[]),[b]),{e:a}),ga.current&&ga.current.scrollTo({top:ga.current.scrollHeight})}},Backspace:function Backspace(a){var b=a.target.value,c=ia.current[2];if(!b&&null!==c&&void 0!==c&&c.length){var d,e;a.preventDefault();var f=_toConsumableArray(c);f.pop(),null===(d=(e=ia.current)[0])||void 0===d?void 0:d.call(e,f,{e:a})}}}},[]),ma=useKeys({isActive:!!h,keys:la,onEvent:L}),na=useRefs(2,[!!x,z&&!l&&fa]),oa=useComponentSize(ga),pa=useResizeObserved(na,getElementWidth),qa=ca.current?getStyleProps(ca.current,["max-height","height"]):void 0;return useEffect(function(){ga.current&&ha.current&&aa&&ha.current.scrollTo({top:oa.height})},[oa.height]),useEffect(function(){da.current&&da.current.value!==H&&(da.current.value=H||"")},[H,da.current]),React.createElement(FieldControlLayout,Object.assign({},W,{className:cnTextFieldTypeTextArray(null,[d]),form:q,status:r,size:n,leftSide:renderSide(w,n,E),rightSide:[z&&!l&&fa&&React.createElement(FieldClearButton,{size:n,onClick:V||ka}),renderSide(x,n,E)],focused:aa,view:p,ref:useForkRef([b,ca]),disabled:l,onClick:ea,rightSlotsRefs:na,style:_objectSpread(_objectSpread({},G),{},(c={},_defineProperty(c,"--text-tield-textarray-max-height",(null===qa||void 0===qa?void 0:qa["max-height"])||(null===qa||void 0===qa?void 0:qa.height)||"auto"),_defineProperty(c,"--text-field-textarray-slot-sizes-width","".concat(pa.reduce(function(c,a){return c+a}),"px")),_defineProperty(c,"--text-field-textarray-slot-sizes-lenght",pa.filter(function(a){return!!a}).length),c))}),React.createElement("div",{ref:ha,className:cnTextFieldTypeTextArray("ScrollWrapper",[cnMixScrollBar({size:"xs"})])},React.createElement(FieldArrayValueInlineControl,{size:n,inputRef:useForkRef([da,j]),value:null!==f&&void 0!==f?f:void 0,onInputFocus:_,onInputBlur:Y,onInputChange:Z,inputAutoFocus:u,onInputKeyDown:ma,ref:ga,placeholder:v,renderValue:function renderValue(a,b){return J({item:a,index:b,size:n,disabled:l,onRemove:ja(b)})},onCopy:P,onCopyCapture:Q,onCut:R,onCutCapture:S,onPaste:T,onPasteCapture:U,inputTabIndex:C})))});
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","value","defaultValue","onChange","id","name","inputRef","maxLength","disabled","size","view","form","status","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","readOnly","type","tabIndex","ariaLabel","iconSize","onClick","style","inputValue","renderValueItem","onInputChange","onKeyDown","onKeyDownCapture","onKeyUp","onKeyUpCapture","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onClear"];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,{forwardRef,useCallback,useEffect,useMemo,useRef}from"react";import{FieldArrayValueInlineControl,FieldArrayValueItem,FieldClearButton,FieldControlLayout,renderSide}from"../../FieldComponents";import{useComponentSize}from"../../../hooks/useComponentSize";import{useForkRef}from"../../../hooks/useForkRef";import{useKeys}from"../../../hooks/useKeys";import{useMutableRef}from"../../../hooks/useMutableRef";import{useRefs}from"../../../hooks/useRefs";import{getElementWidth,useResizeObserved}from"../../../hooks/useResizeObserved";import{getStyleProps}from"../../../hooks/useStyleProps";import{cnMixScrollBar}from"../../../mixs/MixScrollBar";import{useTextField}from"../useTextField";import{cnTextFieldTypeTextArray}from"./cnTextFieldTypeTextArray";var defaultRenderValueItem=function(a){var b=a.item,c=a.index,d=a.size,e=a.disabled,f=a.onRemove;return React.createElement(FieldArrayValueItem,{key:c,size:d,label:b,disabled:e,onRemove:f})};export var TextFieldTypeTextArray=forwardRef(function(a,b){var c,d=a.className,f=a.value,g=a.defaultValue,h=a.onChange,i=a.id,e=a.name,j=a.inputRef,k=a.maxLength,l=a.disabled,m=a.size,n=void 0===m?"m":m,o=a.view,p=void 0===o?"default":o,q=a.form,r=a.status,s=a.onBlur,t=a.onFocus,u=a.autoFocus,v=a.placeholder,w=a.leftSide,x=a.rightSide,y=a.autoComplete,z=a.withClearButton,A=a.readOnly,B=a.type,C=a.tabIndex,D=a.ariaLabel,E=a.iconSize,F=a.onClick,G=a.style,H=a.inputValue,I=a.renderValueItem,J=void 0===I?defaultRenderValueItem:I,K=a.onInputChange,L=a.onKeyDown,M=a.onKeyDownCapture,N=a.onKeyUp,O=a.onKeyUpCapture,P=a.onCopy,Q=a.onCopyCapture,R=a.onCut,S=a.onCutCapture,T=a.onPaste,U=a.onPasteCapture,V=a.onClear,W=_objectWithoutProperties(a,_excluded),X=useTextField({onClick:F,onChange:K,onBlur:s,onFocus:t,disabled:l,onClear:void 0}),Y=X.handleBlur,Z=X.handleChange,$=X.handleClear,_=X.handleFocus,aa=X.focused,ba=X.withValue,ca=X.ref,da=X.inputRef,ea=X.handleClick,fa=ba||!!(null!==f&&void 0!==f&&f.length),ga=useRef(null),ha=useRef(null),ia=useMutableRef([h,$,f]),ja=function(a){return function(b){if(null!==f&&void 0!==f&&f.length){var c=_toConsumableArray(f);c.splice(a,1),null===h||void 0===h?void 0:h(c.length?c:null,{e:b})}}},ka=useCallback(function(a){var b;if(ia.current[1](a),null!==(b=ia.current[2])&&void 0!==b&&b.length){var c,d;null===(c=(d=ia.current)[0])||void 0===c?void 0:c.call(d,null,{e:a})}},[]),la=useMemo(function(){return{Enter:function Enter(a){var b=a.target.value;if(b){var c,d;null===(c=(d=ia.current)[0])||void 0===c?void 0:c.call(d,[].concat(_toConsumableArray(ia.current[2]||[]),[b]),{e:a}),ga.current&&ga.current.scrollTo({top:ga.current.scrollHeight})}},Backspace:function Backspace(a){var b=a.target.value,c=ia.current[2];if(!b&&null!==c&&void 0!==c&&c.length){var d,e;a.preventDefault();var f=_toConsumableArray(c);f.pop(),null===(d=(e=ia.current)[0])||void 0===d?void 0:d.call(e,f,{e:a})}}}},[]),ma=useKeys({isActive:!!h,keys:la,onEvent:L}),na=useRefs(2,[!!x,z&&!l&&fa]),oa=useComponentSize(ga),pa=useResizeObserved(na,getElementWidth),qa=ca.current?getStyleProps(ca.current,["max-height","height"]):void 0;return useEffect(function(){ga.current&&ha.current&&aa&&ha.current.scrollTo({top:oa.height})},[oa.height]),useEffect(function(){da.current&&da.current.value!==H&&(da.current.value=H||"")},[H,da.current]),React.createElement(FieldControlLayout,Object.assign({},W,{className:cnTextFieldTypeTextArray(null,[d]),form:q,status:r,size:n,leftSide:renderSide(w,n,E),rightSide:[z&&!l&&fa&&React.createElement(FieldClearButton,{size:n,onClick:V||ka}),renderSide(x,n,E)],focused:aa,view:p,ref:useForkRef([b,ca]),disabled:l,onClick:ea,rightSlotsRefs:na,style:_objectSpread(_objectSpread({},G),{},(c={},_defineProperty(c,"--text-tield-textarray-max-height",(null===qa||void 0===qa?void 0:qa["max-height"])||(null===qa||void 0===qa?void 0:qa.height)||"auto"),_defineProperty(c,"--text-field-textarray-slot-sizes-width","".concat(pa.reduce(function(c,a){return c+a}),"px")),_defineProperty(c,"--text-field-textarray-slot-sizes-lenght",pa.filter(function(a){return!!a}).length),c))}),React.createElement("div",{ref:ha,className:cnTextFieldTypeTextArray("ScrollWrapper",[cnMixScrollBar({size:"xs"})])},React.createElement(FieldArrayValueInlineControl,{size:n,inputRef:useForkRef([da,j]),value:null!==f&&void 0!==f?f:void 0,onFocus:_,onBlur:Y,onChange:Z,autoFocus:u,onKeyDown:ma,ref:ga,placeholder:v,renderValue:function renderValue(a,b){return J({item:a,index:b,size:n,disabled:l,onRemove:ja(b)})},onCopy:P,onCopyCapture:Q,onCut:R,onCutCapture:S,onPaste:T,onPasteCapture:U,inputTabIndex:C,onKeyDownCapture:M,onKeyUp:N,onKeyUpCapture:O})))});
2
2
  //# sourceMappingURL=TextFieldTypeTextArray.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextFieldTypeTextArray.js","names":["React","forwardRef","useCallback","useEffect","useMemo","useRef","FieldArrayValueInlineControl","FieldArrayValueItem","FieldClearButton","FieldControlLayout","renderSide","useComponentSize","useForkRef","useKeys","useMutableRef","useRefs","getElementWidth","useResizeObserved","getStyleProps","cnMixScrollBar","useTextField","cnTextFieldTypeTextArray","defaultRenderValueItem","item","index","size","disabled","onRemove","TextFieldTypeTextArray","props","componentRef","className","value","defaultValue","onChange","id","name","inputRefProp","inputRef","maxLength","view","form","status","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","readOnly","type","tabIndex","ariaLabel","iconSize","onClick","style","inputValue","renderValueItem","onInputChange","onKeyDown","onKeyDownCapture","onKeyUp","onKeyUpCapture","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onClear","otherProps","handleBlur","handleChange","inputHandleClear","handleClear","handleFocus","focused","withInputValue","withValue","ref","handleClick","length","controllRef","scrollWrapperRef","mutableRefs","getRemoveItem","e","newValue","splice","current","keys","Enter","stringValue","target","scrollTo","top","scrollHeight","Backspace","currnetValue","preventDefault","pop","handleInputKeyDown","isActive","onEvent","rightSlotsRefs","controlSize","slotSizes","stylesRoot","height","reduce","a","b","filter","width"],"sources":["../../../../../../src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\n\nimport {\n FieldArrayValueInlineControl,\n FieldArrayValueItem,\n FieldClearButton,\n FieldControlLayout,\n renderSide,\n} from '##/components/FieldComponents';\nimport { useComponentSize } from '##/hooks/useComponentSize';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { useKeys, UseKeysPropKeys } from '##/hooks/useKeys';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { useRefs } from '##/hooks/useRefs';\nimport { getElementWidth, useResizeObserved } from '##/hooks/useResizeObserved';\nimport { getStyleProps } from '##/hooks/useStyleProps';\nimport { cnMixScrollBar } from '##/mixs/MixScrollBar';\n\nimport { TextFieldPropRenderValueItem, TextFieldTypeComponent } from '../types';\nimport { useTextField } from '../useTextField';\nimport { cnTextFieldTypeTextArray } from './cnTextFieldTypeTextArray';\n\nconst defaultRenderValueItem: TextFieldPropRenderValueItem = ({\n item,\n index,\n size,\n disabled,\n onRemove,\n}) => (\n <FieldArrayValueItem\n key={index}\n size={size}\n label={item}\n disabled={disabled}\n onRemove={onRemove}\n />\n);\n\nexport const TextFieldTypeTextArray: TextFieldTypeComponent<'textarray'> =\n forwardRef((props, componentRef) => {\n const {\n className,\n value,\n defaultValue,\n onChange,\n id,\n name,\n inputRef: inputRefProp,\n maxLength,\n disabled,\n size = 'm',\n view = 'default',\n form,\n status,\n onBlur,\n onFocus,\n autoFocus,\n placeholder,\n leftSide,\n rightSide,\n autoComplete,\n withClearButton,\n readOnly,\n type,\n tabIndex,\n ariaLabel,\n iconSize,\n onClick,\n style,\n inputValue,\n renderValueItem = defaultRenderValueItem,\n onInputChange,\n // onkey props\n onKeyDown,\n onKeyDownCapture,\n onKeyUp,\n onKeyUpCapture,\n onCopy,\n onCopyCapture,\n onCut,\n onCutCapture,\n onPaste,\n onPasteCapture,\n onClear,\n\n ...otherProps\n } = props;\n\n const {\n handleBlur,\n handleChange,\n handleClear: inputHandleClear,\n handleFocus,\n focused,\n withValue: withInputValue,\n ref,\n inputRef,\n handleClick,\n } = useTextField({\n onClick,\n onChange: onInputChange,\n onBlur,\n onFocus,\n disabled,\n onClear: undefined,\n });\n\n const withValue = withInputValue || !!value?.length;\n\n const controllRef = useRef<HTMLDivElement>(null);\n const scrollWrapperRef = useRef<HTMLDivElement>(null);\n\n const mutableRefs = useMutableRef([\n onChange,\n inputHandleClear,\n value,\n ] as const);\n\n const getRemoveItem = (index: number) => (e: React.MouseEvent) => {\n if (value?.length) {\n const newValue = [...value];\n newValue.splice(index, 1);\n onChange?.(newValue.length ? newValue : null, { e });\n }\n };\n\n const handleClear = useCallback(\n (e: React.MouseEvent<HTMLButtonElement>) => {\n mutableRefs.current[1](e);\n if (mutableRefs.current[2]?.length) {\n mutableRefs.current[0]?.(null, { e });\n }\n },\n [],\n );\n\n const keys: UseKeysPropKeys<HTMLInputElement> = useMemo(\n () => ({\n Enter: (e) => {\n const stringValue = e.target.value;\n if (stringValue) {\n mutableRefs.current[0]?.(\n [...(mutableRefs.current[2] || []), stringValue],\n {\n e,\n },\n );\n\n if (controllRef.current) {\n controllRef.current.scrollTo({\n top: controllRef.current.scrollHeight,\n });\n }\n }\n },\n Backspace: (e) => {\n const stringValue = e.target.value;\n const currnetValue = mutableRefs.current[2];\n\n if (!stringValue && currnetValue?.length) {\n e.preventDefault();\n const newValue = [...currnetValue];\n newValue.pop();\n mutableRefs.current[0]?.(newValue, {\n e,\n });\n }\n },\n }),\n [],\n );\n\n const handleInputKeyDown = useKeys<HTMLInputElement>({\n isActive: !!onChange,\n keys,\n onEvent: onKeyDown,\n });\n\n const rightSlotsRefs = useRefs<HTMLDivElement>(2, [\n !!rightSide,\n withClearButton && !disabled && withValue,\n ]);\n\n const controlSize = useComponentSize(controllRef);\n\n const slotSizes = useResizeObserved(rightSlotsRefs, getElementWidth);\n\n const stylesRoot: Record<'max-height' | 'height', string> | undefined =\n ref.current\n ? getStyleProps(ref.current, ['max-height', 'height'])\n : undefined;\n\n useEffect(() => {\n if (controllRef.current && scrollWrapperRef.current && focused) {\n scrollWrapperRef.current.scrollTo({\n top: controlSize.height,\n });\n }\n }, [controlSize.height]);\n\n useEffect(() => {\n if (inputRef.current && inputRef.current.value !== inputValue) {\n inputRef.current.value = inputValue || '';\n }\n }, [inputValue, inputRef.current]);\n\n return (\n <FieldControlLayout\n {...otherProps}\n className={cnTextFieldTypeTextArray(null, [className])}\n form={form}\n status={status}\n size={size}\n leftSide={renderSide(leftSide, size, iconSize)}\n rightSide={[\n withClearButton && !disabled && withValue && (\n <FieldClearButton size={size} onClick={onClear || handleClear} />\n ),\n renderSide(rightSide, size, iconSize),\n ]}\n focused={focused}\n view={view}\n ref={useForkRef([componentRef, ref])}\n disabled={disabled}\n onClick={handleClick}\n rightSlotsRefs={rightSlotsRefs}\n style={{\n ...style,\n ['--text-tield-textarray-max-height' as string]:\n stylesRoot?.['max-height'] || stylesRoot?.height || 'auto',\n ['--text-field-textarray-slot-sizes-width' as string]: `${slotSizes.reduce(\n (a, b) => a + b,\n )}px`,\n ['--text-field-textarray-slot-sizes-lenght' as string]:\n slotSizes.filter((width) => !!width).length,\n }}\n >\n <div\n ref={scrollWrapperRef}\n className={cnTextFieldTypeTextArray('ScrollWrapper', [\n cnMixScrollBar({ size: 'xs' }),\n ])}\n >\n <FieldArrayValueInlineControl\n size={size}\n inputRef={useForkRef([inputRef, inputRefProp])}\n value={value ?? undefined}\n onInputFocus={handleFocus}\n onInputBlur={handleBlur}\n onInputChange={handleChange}\n inputAutoFocus={autoFocus}\n onInputKeyDown={handleInputKeyDown}\n ref={controllRef}\n placeholder={placeholder}\n renderValue={(item, index) =>\n renderValueItem({\n item,\n index,\n size,\n disabled,\n onRemove: getRemoveItem(index),\n })\n }\n onCopy={onCopy}\n onCopyCapture={onCopyCapture}\n onCut={onCut}\n onCutCapture={onCutCapture}\n onPaste={onPaste}\n onPasteCapture={onPasteCapture}\n inputTabIndex={tabIndex}\n />\n </div>\n </FieldControlLayout>\n );\n });\n"],"mappings":"szCAAA,MAAOA,MAAP,EACEC,UADF,CAEEC,WAFF,CAGEC,SAHF,CAIEC,OAJF,CAKEC,MALF,KAMO,OANP,CAQA,OACEC,4BADF,CAEEC,mBAFF,CAGEC,gBAHF,CAIEC,kBAJF,CAKEC,UALF,6BAOA,OAASC,gBAAT,uCACA,OAASC,UAAT,iCACA,OAASC,OAAT,8BACA,OAASC,aAAT,oCACA,OAASC,OAAT,8BACA,OAASC,eAAT,CAA0BC,iBAA1B,wCACA,OAASC,aAAT,oCACA,OAASC,cAAT,kCAGA,OAASC,YAAT,uBACA,OAASC,wBAAT,kCAEA,GAAMC,uBAAoD,CAAG,eAC3DC,EAD2D,GAC3DA,IAD2D,CAE3DC,CAF2D,GAE3DA,KAF2D,CAG3DC,CAH2D,GAG3DA,IAH2D,CAI3DC,CAJ2D,GAI3DA,QAJ2D,CAK3DC,CAL2D,GAK3DA,QAL2D,OAO3D,qBAAC,mBAAD,EACE,GAAG,CAAEH,CADP,CAEE,IAAI,CAAEC,CAFR,CAGE,KAAK,CAAEF,CAHT,CAIE,QAAQ,CAAEG,CAJZ,CAKE,QAAQ,CAAEC,CALZ,EAP2D,CAA7D,CAgBA,MAAO,IAAMC,uBAA2D,CACtE3B,UAAU,CAAC,SAAC4B,CAAD,CAAQC,CAAR,CAAyB,OAEhCC,CAFgC,CA+C9BF,CA/C8B,CAEhCE,SAFgC,CAGhCC,CAHgC,CA+C9BH,CA/C8B,CAGhCG,KAHgC,CAIhCC,CAJgC,CA+C9BJ,CA/C8B,CAIhCI,YAJgC,CAKhCC,CALgC,CA+C9BL,CA/C8B,CAKhCK,QALgC,CAMhCC,CANgC,CA+C9BN,CA/C8B,CAMhCM,EANgC,CAOhCC,CAPgC,CA+C9BP,CA/C8B,CAOhCO,IAPgC,CAQtBC,CARsB,CA+C9BR,CA/C8B,CAQhCS,QARgC,CAShCC,CATgC,CA+C9BV,CA/C8B,CAShCU,SATgC,CAUhCb,CAVgC,CA+C9BG,CA/C8B,CAUhCH,QAVgC,GA+C9BG,CA/C8B,CAWhCJ,IAXgC,CAWhCA,CAXgC,YAWzB,GAXyB,KA+C9BI,CA/C8B,CAYhCW,IAZgC,CAYhCA,CAZgC,YAYzB,SAZyB,GAahCC,CAbgC,CA+C9BZ,CA/C8B,CAahCY,IAbgC,CAchCC,CAdgC,CA+C9Bb,CA/C8B,CAchCa,MAdgC,CAehCC,CAfgC,CA+C9Bd,CA/C8B,CAehCc,MAfgC,CAgBhCC,CAhBgC,CA+C9Bf,CA/C8B,CAgBhCe,OAhBgC,CAiBhCC,CAjBgC,CA+C9BhB,CA/C8B,CAiBhCgB,SAjBgC,CAkBhCC,CAlBgC,CA+C9BjB,CA/C8B,CAkBhCiB,WAlBgC,CAmBhCC,CAnBgC,CA+C9BlB,CA/C8B,CAmBhCkB,QAnBgC,CAoBhCC,CApBgC,CA+C9BnB,CA/C8B,CAoBhCmB,SApBgC,CAqBhCC,CArBgC,CA+C9BpB,CA/C8B,CAqBhCoB,YArBgC,CAsBhCC,CAtBgC,CA+C9BrB,CA/C8B,CAsBhCqB,eAtBgC,CAuBhCC,CAvBgC,CA+C9BtB,CA/C8B,CAuBhCsB,QAvBgC,CAwBhCC,CAxBgC,CA+C9BvB,CA/C8B,CAwBhCuB,IAxBgC,CAyBhCC,CAzBgC,CA+C9BxB,CA/C8B,CAyBhCwB,QAzBgC,CA0BhCC,CA1BgC,CA+C9BzB,CA/C8B,CA0BhCyB,SA1BgC,CA2BhCC,CA3BgC,CA+C9B1B,CA/C8B,CA2BhC0B,QA3BgC,CA4BhCC,CA5BgC,CA+C9B3B,CA/C8B,CA4BhC2B,OA5BgC,CA6BhCC,CA7BgC,CA+C9B5B,CA/C8B,CA6BhC4B,KA7BgC,CA8BhCC,CA9BgC,CA+C9B7B,CA/C8B,CA8BhC6B,UA9BgC,GA+C9B7B,CA/C8B,CA+BhC8B,eA/BgC,CA+BhCA,CA/BgC,YA+BdrC,sBA/Bc,GAgChCsC,CAhCgC,CA+C9B/B,CA/C8B,CAgChC+B,aAhCgC,CAkChCC,CAlCgC,CA+C9BhC,CA/C8B,CAkChCgC,SAlCgC,CAmChCC,CAnCgC,CA+C9BjC,CA/C8B,CAmChCiC,gBAnCgC,CAoChCC,CApCgC,CA+C9BlC,CA/C8B,CAoChCkC,OApCgC,CAqChCC,CArCgC,CA+C9BnC,CA/C8B,CAqChCmC,cArCgC,CAsChCC,CAtCgC,CA+C9BpC,CA/C8B,CAsChCoC,MAtCgC,CAuChCC,CAvCgC,CA+C9BrC,CA/C8B,CAuChCqC,aAvCgC,CAwChCC,CAxCgC,CA+C9BtC,CA/C8B,CAwChCsC,KAxCgC,CAyChCC,CAzCgC,CA+C9BvC,CA/C8B,CAyChCuC,YAzCgC,CA0ChCC,CA1CgC,CA+C9BxC,CA/C8B,CA0ChCwC,OA1CgC,CA2ChCC,CA3CgC,CA+C9BzC,CA/C8B,CA2ChCyC,cA3CgC,CA4ChCC,CA5CgC,CA+C9B1C,CA/C8B,CA4ChC0C,OA5CgC,CA8C7BC,CA9C6B,0BA+C9B3C,CA/C8B,cA2D9BT,YAAY,CAAC,CACfoC,OAAO,CAAPA,CADe,CAEftB,QAAQ,CAAE0B,CAFK,CAGfjB,MAAM,CAANA,CAHe,CAIfC,OAAO,CAAPA,CAJe,CAKflB,QAAQ,CAARA,CALe,CAMf6C,OAAO,OANQ,CAAD,CA3DkB,CAkDhCE,CAlDgC,GAkDhCA,UAlDgC,CAmDhCC,CAnDgC,GAmDhCA,YAnDgC,CAoDnBC,CApDmB,GAoDhCC,WApDgC,CAqDhCC,CArDgC,GAqDhCA,WArDgC,CAsDhCC,EAtDgC,GAsDhCA,OAtDgC,CAuDrBC,EAvDqB,GAuDhCC,SAvDgC,CAwDhCC,EAxDgC,GAwDhCA,GAxDgC,CAyDhC3C,EAzDgC,GAyDhCA,QAzDgC,CA0DhC4C,EA1DgC,GA0DhCA,WA1DgC,CAoE5BF,EAAS,CAAGD,EAAc,EAAI,CAAC,SAAC/C,CAAD,WAACA,CAAD,EAACA,CAAK,CAAEmD,MAAR,CApEH,CAsE5BC,EAAW,CAAG/E,MAAM,CAAiB,IAAjB,CAtEQ,CAuE5BgF,EAAgB,CAAGhF,MAAM,CAAiB,IAAjB,CAvEG,CAyE5BiF,EAAW,CAAGxE,aAAa,CAAC,CAChCoB,CADgC,CAEhCyC,CAFgC,CAGhC3C,CAHgC,CAAD,CAzEC,CA+E5BuD,EAAa,CAAG,SAAC/D,CAAD,QAAmB,UAACgE,CAAD,CAAyB,CAChE,UAAIxD,CAAJ,WAAIA,CAAJ,EAAIA,CAAK,CAAEmD,MAAX,CAAmB,CACjB,GAAMM,EAAQ,oBAAOzD,CAAP,CAAd,CACAyD,CAAQ,CAACC,MAAT,CAAgBlE,CAAhB,CAAuB,CAAvB,CAFiB,QAGjBU,CAHiB,WAGjBA,CAHiB,QAGjBA,CAAQ,CAAGuD,CAAQ,CAACN,MAAT,CAAkBM,CAAlB,CAA6B,IAAhC,CAAsC,CAAED,CAAC,CAADA,CAAF,CAAtC,CACT,CACF,CANqB,CA/EY,CAuF5BZ,EAAW,CAAG1E,WAAW,CAC7B,SAACsF,CAAD,CAA4C,OAE1C,GADAF,EAAW,CAACK,OAAZ,CAAoB,CAApB,EAAuBH,CAAvB,CACA,WAAIF,EAAW,CAACK,OAAZ,CAAoB,CAApB,CAAJ,eAAI,EAAwBR,MAA5B,CAAoC,mBAClC,GAAAG,EAAW,CAACK,OAAZ,EAAoB,CAApB,CADkC,qBAClC,SAAyB,IAAzB,CAA+B,CAAEH,CAAC,CAADA,CAAF,CAA/B,CACD,CACF,CAN4B,CAO7B,EAP6B,CAvFG,CAiG5BI,EAAuC,CAAGxF,OAAO,CACrD,iBAAO,CACLyF,KAAK,CAAE,eAACL,CAAD,CAAO,CACZ,GAAMM,EAAW,CAAGN,CAAC,CAACO,MAAF,CAAS/D,KAA7B,CACA,GAAI8D,CAAJ,CAAiB,mBACf,GAAAR,EAAW,CAACK,OAAZ,EAAoB,CAApB,CADe,qBACf,sCACOL,EAAW,CAACK,OAAZ,CAAoB,CAApB,GAA0B,EADjC,GACsCG,CADtC,GAEE,CACEN,CAAC,CAADA,CADF,CAFF,CADe,CAQXJ,EAAW,CAACO,OARD,EASbP,EAAW,CAACO,OAAZ,CAAoBK,QAApB,CAA6B,CAC3BC,GAAG,CAAEb,EAAW,CAACO,OAAZ,CAAoBO,YADE,CAA7B,CAIH,CACF,CAjBI,CAkBLC,SAAS,CAAE,mBAACX,CAAD,CAAO,IACVM,EAAW,CAAGN,CAAC,CAACO,MAAF,CAAS/D,KADb,CAEVoE,CAAY,CAAGd,EAAW,CAACK,OAAZ,CAAoB,CAApB,CAFL,CAIhB,GAAI,CAACG,CAAD,SAAgBM,CAAhB,WAAgBA,CAAhB,EAAgBA,CAAY,CAAEjB,MAAlC,CAA0C,SACxCK,CAAC,CAACa,cAAF,EADwC,CAExC,GAAMZ,EAAQ,oBAAOW,CAAP,CAAd,CACAX,CAAQ,CAACa,GAAT,EAHwC,WAIxC,GAAAhB,EAAW,CAACK,OAAZ,EAAoB,CAApB,CAJwC,qBAIxC,SAAyBF,CAAzB,CAAmC,CACjCD,CAAC,CAADA,CADiC,CAAnC,CAGD,CACF,CA9BI,CAAP,CADqD,CAiCrD,EAjCqD,CAjGrB,CAqI5Be,EAAkB,CAAG1F,OAAO,CAAmB,CACnD2F,QAAQ,CAAE,CAAC,CAACtE,CADuC,CAEnD0D,IAAI,CAAJA,EAFmD,CAGnDa,OAAO,CAAE5C,CAH0C,CAAnB,CArIA,CA2I5B6C,EAAc,CAAG3F,OAAO,CAAiB,CAAjB,CAAoB,CAChD,CAAC,CAACiC,CAD8C,CAEhDE,CAAe,EAAI,CAACxB,CAApB,EAAgCsD,EAFgB,CAApB,CA3II,CAgJ5B2B,EAAW,CAAGhG,gBAAgB,CAACyE,EAAD,CAhJF,CAkJ5BwB,EAAS,CAAG3F,iBAAiB,CAACyF,EAAD,CAAiB1F,eAAjB,CAlJD,CAoJ5B6F,EAA+D,CACnE5B,EAAG,CAACU,OAAJ,CACIzE,aAAa,CAAC+D,EAAG,CAACU,OAAL,CAAc,CAAC,YAAD,CAAe,QAAf,CAAd,CADjB,OArJgC,CAuKlC,MAdAxF,UAAS,CAAC,UAAM,CACViF,EAAW,CAACO,OAAZ,EAAuBN,EAAgB,CAACM,OAAxC,EAAmDb,EADzC,EAEZO,EAAgB,CAACM,OAAjB,CAAyBK,QAAzB,CAAkC,CAChCC,GAAG,CAAEU,EAAW,CAACG,MADe,CAAlC,CAIH,CANQ,CAMN,CAACH,EAAW,CAACG,MAAb,CANM,CAcT,CANA3G,SAAS,CAAC,UAAM,CACVmC,EAAQ,CAACqD,OAAT,EAAoBrD,EAAQ,CAACqD,OAAT,CAAiB3D,KAAjB,GAA2B0B,CADrC,GAEZpB,EAAQ,CAACqD,OAAT,CAAiB3D,KAAjB,CAAyB0B,CAAU,EAAI,EAF3B,CAIf,CAJQ,CAIN,CAACA,CAAD,CAAapB,EAAQ,CAACqD,OAAtB,CAJM,CAMT,CACE,oBAAC,kBAAD,kBACMnB,CADN,EAEE,SAAS,CAAEnD,wBAAwB,CAAC,IAAD,CAAO,CAACU,CAAD,CAAP,CAFrC,CAGE,IAAI,CAAEU,CAHR,CAIE,MAAM,CAAEC,CAJV,CAKE,IAAI,CAAEjB,CALR,CAME,QAAQ,CAAEf,UAAU,CAACqC,CAAD,CAAWtB,CAAX,CAAiB8B,CAAjB,CANtB,CAOE,SAAS,CAAE,CACTL,CAAe,EAAI,CAACxB,CAApB,EAAgCsD,EAAhC,EACE,oBAAC,gBAAD,EAAkB,IAAI,CAAEvD,CAAxB,CAA8B,OAAO,CAAE8C,CAAO,EAAIK,EAAlD,EAFO,CAITlE,UAAU,CAACsC,CAAD,CAAYvB,CAAZ,CAAkB8B,CAAlB,CAJD,CAPb,CAaE,OAAO,CAAEuB,EAbX,CAcE,IAAI,CAAEtC,CAdR,CAeE,GAAG,CAAE5B,UAAU,CAAC,CAACkB,CAAD,CAAemD,EAAf,CAAD,CAfjB,CAgBE,QAAQ,CAAEvD,CAhBZ,CAiBE,OAAO,CAAEwD,EAjBX,CAkBE,cAAc,CAAEwB,EAlBlB,CAmBE,KAAK,gCACAjD,CADA,6BAEF,mCAFE,CAGD,QAAAoD,EAAU,WAAVA,EAAA,QAAAA,EAAU,CAAG,YAAH,CAAV,WAA8BA,EAA9B,WAA8BA,EAA9B,QAA8BA,EAAU,CAAEC,MAA1C,GAAoD,MAHnD,oBAIF,yCAJE,WAIuDF,EAAS,CAACG,MAAV,CACxD,SAACC,CAAD,CAAIC,CAAJ,QAAUD,EAAC,CAAGC,CAAd,CADwD,CAJvD,0BAOF,0CAPE,CAQDL,EAAS,CAACM,MAAV,CAAiB,SAACC,CAAD,QAAW,CAAC,CAACA,CAAb,CAAjB,EAAqChC,MARpC,KAnBP,GA8BE,2BACE,GAAG,CAAEE,EADP,CAEE,SAAS,CAAEhE,wBAAwB,CAAC,eAAD,CAAkB,CACnDF,cAAc,CAAC,CAAEM,IAAI,CAAE,IAAR,CAAD,CADqC,CAAlB,CAFrC,EAME,oBAAC,4BAAD,EACE,IAAI,CAAEA,CADR,CAEE,QAAQ,CAAEb,UAAU,CAAC,CAAC0B,EAAD,CAAWD,CAAX,CAAD,CAFtB,CAGE,KAAK,QAAEL,CAAF,WAAEA,CAAF,CAAEA,CAAF,OAHP,CAIE,YAAY,CAAE6C,CAJhB,CAKE,WAAW,CAAEJ,CALf,CAME,aAAa,CAAEC,CANjB,CAOE,cAAc,CAAE7B,CAPlB,CAQE,cAAc,CAAE0D,EARlB,CASE,GAAG,CAAEnB,EATP,CAUE,WAAW,CAAEtC,CAVf,CAWE,WAAW,CAAE,qBAACvB,CAAD,CAAOC,CAAP,QACXmC,EAAe,CAAC,CACdpC,IAAI,CAAJA,CADc,CAEdC,KAAK,CAALA,CAFc,CAGdC,IAAI,CAAJA,CAHc,CAIdC,QAAQ,CAARA,CAJc,CAKdC,QAAQ,CAAE4D,EAAa,CAAC/D,CAAD,CALT,CAAD,CADJ,CAXf,CAoBE,MAAM,CAAEyC,CApBV,CAqBE,aAAa,CAAEC,CArBjB,CAsBE,KAAK,CAAEC,CAtBT,CAuBE,YAAY,CAAEC,CAvBhB,CAwBE,OAAO,CAAEC,CAxBX,CAyBE,cAAc,CAAEC,CAzBlB,CA0BE,aAAa,CAAEjB,CA1BjB,EANF,CA9BF,CAmEH,CA3OS,CADL"}
1
+ {"version":3,"file":"TextFieldTypeTextArray.js","names":["React","forwardRef","useCallback","useEffect","useMemo","useRef","FieldArrayValueInlineControl","FieldArrayValueItem","FieldClearButton","FieldControlLayout","renderSide","useComponentSize","useForkRef","useKeys","useMutableRef","useRefs","getElementWidth","useResizeObserved","getStyleProps","cnMixScrollBar","useTextField","cnTextFieldTypeTextArray","defaultRenderValueItem","item","index","size","disabled","onRemove","TextFieldTypeTextArray","props","componentRef","className","value","defaultValue","onChange","id","name","inputRefProp","inputRef","maxLength","view","form","status","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","readOnly","type","tabIndex","ariaLabel","iconSize","onClick","style","inputValue","renderValueItem","onInputChange","onKeyDown","onKeyDownCapture","onKeyUp","onKeyUpCapture","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onClear","otherProps","handleBlur","handleChange","inputHandleClear","handleClear","handleFocus","focused","withInputValue","withValue","ref","handleClick","length","controllRef","scrollWrapperRef","mutableRefs","getRemoveItem","e","newValue","splice","current","keys","Enter","stringValue","target","scrollTo","top","scrollHeight","Backspace","currnetValue","preventDefault","pop","handleInputKeyDown","isActive","onEvent","rightSlotsRefs","controlSize","slotSizes","stylesRoot","height","reduce","a","b","filter","width"],"sources":["../../../../../../src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\n\nimport {\n FieldArrayValueInlineControl,\n FieldArrayValueItem,\n FieldClearButton,\n FieldControlLayout,\n renderSide,\n} from '##/components/FieldComponents';\nimport { useComponentSize } from '##/hooks/useComponentSize';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { useKeys, UseKeysPropKeys } from '##/hooks/useKeys';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { useRefs } from '##/hooks/useRefs';\nimport { getElementWidth, useResizeObserved } from '##/hooks/useResizeObserved';\nimport { getStyleProps } from '##/hooks/useStyleProps';\nimport { cnMixScrollBar } from '##/mixs/MixScrollBar';\n\nimport { TextFieldPropRenderValueItem, TextFieldTypeComponent } from '../types';\nimport { useTextField } from '../useTextField';\nimport { cnTextFieldTypeTextArray } from './cnTextFieldTypeTextArray';\n\nconst defaultRenderValueItem: TextFieldPropRenderValueItem = ({\n item,\n index,\n size,\n disabled,\n onRemove,\n}) => (\n <FieldArrayValueItem\n key={index}\n size={size}\n label={item}\n disabled={disabled}\n onRemove={onRemove}\n />\n);\n\nexport const TextFieldTypeTextArray: TextFieldTypeComponent<'textarray'> =\n forwardRef((props, componentRef) => {\n const {\n className,\n value,\n defaultValue,\n onChange,\n id,\n name,\n inputRef: inputRefProp,\n maxLength,\n disabled,\n size = 'm',\n view = 'default',\n form,\n status,\n onBlur,\n onFocus,\n autoFocus,\n placeholder,\n leftSide,\n rightSide,\n autoComplete,\n withClearButton,\n readOnly,\n type,\n tabIndex,\n ariaLabel,\n iconSize,\n onClick,\n style,\n inputValue,\n renderValueItem = defaultRenderValueItem,\n onInputChange,\n // onkey props\n onKeyDown,\n onKeyDownCapture,\n onKeyUp,\n onKeyUpCapture,\n onCopy,\n onCopyCapture,\n onCut,\n onCutCapture,\n onPaste,\n onPasteCapture,\n onClear,\n\n ...otherProps\n } = props;\n\n const {\n handleBlur,\n handleChange,\n handleClear: inputHandleClear,\n handleFocus,\n focused,\n withValue: withInputValue,\n ref,\n inputRef,\n handleClick,\n } = useTextField({\n onClick,\n onChange: onInputChange,\n onBlur,\n onFocus,\n disabled,\n onClear: undefined,\n });\n\n const withValue = withInputValue || !!value?.length;\n\n const controllRef = useRef<HTMLDivElement>(null);\n const scrollWrapperRef = useRef<HTMLDivElement>(null);\n\n const mutableRefs = useMutableRef([\n onChange,\n inputHandleClear,\n value,\n ] as const);\n\n const getRemoveItem = (index: number) => (e: React.MouseEvent) => {\n if (value?.length) {\n const newValue = [...value];\n newValue.splice(index, 1);\n onChange?.(newValue.length ? newValue : null, { e });\n }\n };\n\n const handleClear = useCallback(\n (e: React.MouseEvent<HTMLButtonElement>) => {\n mutableRefs.current[1](e);\n if (mutableRefs.current[2]?.length) {\n mutableRefs.current[0]?.(null, { e });\n }\n },\n [],\n );\n\n const keys: UseKeysPropKeys<HTMLInputElement> = useMemo(\n () => ({\n Enter: (e) => {\n const stringValue = e.target.value;\n if (stringValue) {\n mutableRefs.current[0]?.(\n [...(mutableRefs.current[2] || []), stringValue],\n {\n e,\n },\n );\n\n if (controllRef.current) {\n controllRef.current.scrollTo({\n top: controllRef.current.scrollHeight,\n });\n }\n }\n },\n Backspace: (e) => {\n const stringValue = e.target.value;\n const currnetValue = mutableRefs.current[2];\n\n if (!stringValue && currnetValue?.length) {\n e.preventDefault();\n const newValue = [...currnetValue];\n newValue.pop();\n mutableRefs.current[0]?.(newValue, {\n e,\n });\n }\n },\n }),\n [],\n );\n\n const handleInputKeyDown = useKeys<HTMLInputElement>({\n isActive: !!onChange,\n keys,\n onEvent: onKeyDown,\n });\n\n const rightSlotsRefs = useRefs<HTMLDivElement>(2, [\n !!rightSide,\n withClearButton && !disabled && withValue,\n ]);\n\n const controlSize = useComponentSize(controllRef);\n\n const slotSizes = useResizeObserved(rightSlotsRefs, getElementWidth);\n\n const stylesRoot: Record<'max-height' | 'height', string> | undefined =\n ref.current\n ? getStyleProps(ref.current, ['max-height', 'height'])\n : undefined;\n\n useEffect(() => {\n if (controllRef.current && scrollWrapperRef.current && focused) {\n scrollWrapperRef.current.scrollTo({\n top: controlSize.height,\n });\n }\n }, [controlSize.height]);\n\n useEffect(() => {\n if (inputRef.current && inputRef.current.value !== inputValue) {\n inputRef.current.value = inputValue || '';\n }\n }, [inputValue, inputRef.current]);\n\n return (\n <FieldControlLayout\n {...otherProps}\n className={cnTextFieldTypeTextArray(null, [className])}\n form={form}\n status={status}\n size={size}\n leftSide={renderSide(leftSide, size, iconSize)}\n rightSide={[\n withClearButton && !disabled && withValue && (\n <FieldClearButton size={size} onClick={onClear || handleClear} />\n ),\n renderSide(rightSide, size, iconSize),\n ]}\n focused={focused}\n view={view}\n ref={useForkRef([componentRef, ref])}\n disabled={disabled}\n onClick={handleClick}\n rightSlotsRefs={rightSlotsRefs}\n style={{\n ...style,\n ['--text-tield-textarray-max-height' as string]:\n stylesRoot?.['max-height'] || stylesRoot?.height || 'auto',\n ['--text-field-textarray-slot-sizes-width' as string]: `${slotSizes.reduce(\n (a, b) => a + b,\n )}px`,\n ['--text-field-textarray-slot-sizes-lenght' as string]:\n slotSizes.filter((width) => !!width).length,\n }}\n >\n <div\n ref={scrollWrapperRef}\n className={cnTextFieldTypeTextArray('ScrollWrapper', [\n cnMixScrollBar({ size: 'xs' }),\n ])}\n >\n <FieldArrayValueInlineControl\n size={size}\n inputRef={useForkRef([inputRef, inputRefProp])}\n value={value ?? undefined}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChange={handleChange}\n autoFocus={autoFocus}\n onKeyDown={handleInputKeyDown}\n ref={controllRef}\n placeholder={placeholder}\n renderValue={(item, index) =>\n renderValueItem({\n item,\n index,\n size,\n disabled,\n onRemove: getRemoveItem(index),\n })\n }\n onCopy={onCopy}\n onCopyCapture={onCopyCapture}\n onCut={onCut}\n onCutCapture={onCutCapture}\n onPaste={onPaste}\n onPasteCapture={onPasteCapture}\n inputTabIndex={tabIndex}\n onKeyDownCapture={onKeyDownCapture}\n onKeyUp={onKeyUp}\n onKeyUpCapture={onKeyUpCapture}\n />\n </div>\n </FieldControlLayout>\n );\n });\n"],"mappings":"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"}
@@ -63,7 +63,6 @@ export declare type TextFieldProps<TYPE extends string> = PropsWithHTMLAttribute
63
63
  withClearButton?: boolean;
64
64
  autoComplete?: AutoCompete;
65
65
  readOnly?: boolean;
66
- required?: boolean;
67
66
  tabIndex?: number;
68
67
  ariaLabel?: string;
69
68
  iconSize?: IconPropSize;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/TextFieldCanary/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport {\n FieldPropForm,\n FieldPropSize,\n FieldPropStatus,\n FieldPropView,\n} from '##/components/FieldComponents';\nimport { AutoCompete } from '##/utils/types/AutoComplete';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport type TextFieldPropValue<TYPE> = TYPE extends 'textarray'\n ? string[] | null\n : string | null;\n\nexport type TextFieldPropDefaultValue<TYPE> = TYPE extends 'textarray'\n ? never\n : string | null;\n\nexport type TextFieldPropSize = FieldPropSize;\n\nexport type TextFieldPropOnChange<TYPE> = (\n value: TextFieldPropValue<TYPE>,\n params: {\n e: React.ChangeEvent | React.MouseEvent | React.KeyboardEvent;\n },\n) => void;\n\ntype InputType<TYPE extends string> = TYPE extends 'textarea'\n ? HTMLTextAreaElement\n : HTMLInputElement;\n\ntype TextFieldPropsTypeTextArea<TYPE> = TYPE extends 'textarea'\n ? {\n resize?: boolean | 'auto';\n } & (\n | {\n minRows?: never;\n maxRows?: never;\n rows?: number;\n }\n | {\n rows?: never;\n minRows?: number;\n maxRows?: number;\n }\n )\n : {};\n\nexport type TextFieldPropRenderValueItem = (props: {\n item: string;\n index: number;\n onRemove: (e: React.MouseEvent) => void;\n size: FieldPropSize;\n disabled: boolean | undefined;\n}) => React.ReactNode;\n\ntype TextFieldPropsTypeTextArray<TYPE> = TYPE extends 'textarray'\n ? {\n renderValueItem?: TextFieldPropRenderValueItem;\n inputValue?: string | null;\n onInputChange?: TextFieldPropOnChange<string>;\n }\n : {};\n\ntype TextFieldPropsTypeNumber<TYPE> = TYPE extends 'number'\n ? {\n max?: number | string;\n min?: number | string;\n step?: number | string | number[];\n incrementButtons?: boolean;\n }\n : {};\n\nexport type TextFieldProps<TYPE extends string> = PropsWithHTMLAttributesAndRef<\n {\n className?: string;\n value?: TextFieldPropValue<TYPE>;\n defaultValue?: TextFieldPropDefaultValue<TYPE>;\n onChange?: TextFieldPropOnChange<TYPE>;\n id?: string;\n name?: string;\n type?: TYPE;\n disabled?: boolean;\n mixLength?: number;\n maxLength?: number;\n size?: TextFieldPropSize;\n view?: FieldPropView;\n form?: FieldPropForm;\n status?: FieldPropStatus;\n onFocus?: React.FocusEventHandler<InputType<TYPE>>;\n onBlur?: React.FocusEventHandler<InputType<TYPE>>;\n autoFocus?: boolean;\n placeholder?: string;\n leftSide?: string | IconComponent;\n rightSide?: string | IconComponent;\n withClearButton?: boolean;\n autoComplete?: AutoCompete;\n readOnly?: boolean;\n required?: boolean;\n tabIndex?: number;\n ariaLabel?: string;\n iconSize?: IconPropSize;\n children?: never;\n onClear?: React.MouseEventHandler<HTMLButtonElement>;\n inputRef?: React.Ref<InputType<TYPE>>;\n onKeyUp?: React.KeyboardEventHandler<InputType<TYPE>>;\n onKeyUpCapture?: React.KeyboardEventHandler<InputType<TYPE>>;\n onKeyDown?: React.KeyboardEventHandler<InputType<TYPE>>;\n onKeyDownCapture?: React.KeyboardEventHandler<InputType<TYPE>>;\n onCopy?: React.ClipboardEventHandler<InputType<TYPE>>;\n onCopyCapture?: React.ClipboardEventHandler<InputType<TYPE>>;\n onCut?: React.ClipboardEventHandler<InputType<TYPE>>;\n onCutCapture?: React.ClipboardEventHandler<InputType<TYPE>>;\n onPaste?: React.ClipboardEventHandler<InputType<TYPE>>;\n onPasteCapture?: React.ClipboardEventHandler<InputType<TYPE>>;\n },\n HTMLDivElement\n> &\n TextFieldPropsTypeTextArea<TYPE> &\n TextFieldPropsTypeTextArray<TYPE> &\n TextFieldPropsTypeNumber<TYPE>;\n\nexport type TextFieldComponent = <TYPE extends string>(\n props: TextFieldProps<TYPE>,\n) => React.ReactElement | null;\n\nexport type TextFieldTypeComponent<TYPE extends string> = (\n props: TextFieldProps<TYPE>,\n) => React.ReactElement | null;\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/TextFieldCanary/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport {\n FieldPropForm,\n FieldPropSize,\n FieldPropStatus,\n FieldPropView,\n} from '##/components/FieldComponents';\nimport { AutoCompete } from '##/utils/types/AutoComplete';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport type TextFieldPropValue<TYPE> = TYPE extends 'textarray'\n ? string[] | null\n : string | null;\n\nexport type TextFieldPropDefaultValue<TYPE> = TYPE extends 'textarray'\n ? never\n : string | null;\n\nexport type TextFieldPropSize = FieldPropSize;\n\nexport type TextFieldPropOnChange<TYPE> = (\n value: TextFieldPropValue<TYPE>,\n params: {\n e: React.ChangeEvent | React.MouseEvent | React.KeyboardEvent;\n },\n) => void;\n\ntype InputType<TYPE extends string> = TYPE extends 'textarea'\n ? HTMLTextAreaElement\n : HTMLInputElement;\n\ntype TextFieldPropsTypeTextArea<TYPE> = TYPE extends 'textarea'\n ? {\n resize?: boolean | 'auto';\n } & (\n | {\n minRows?: never;\n maxRows?: never;\n rows?: number;\n }\n | {\n rows?: never;\n minRows?: number;\n maxRows?: number;\n }\n )\n : {};\n\nexport type TextFieldPropRenderValueItem = (props: {\n item: string;\n index: number;\n onRemove: (e: React.MouseEvent) => void;\n size: FieldPropSize;\n disabled: boolean | undefined;\n}) => React.ReactNode;\n\ntype TextFieldPropsTypeTextArray<TYPE> = TYPE extends 'textarray'\n ? {\n renderValueItem?: TextFieldPropRenderValueItem;\n inputValue?: string | null;\n onInputChange?: TextFieldPropOnChange<string>;\n }\n : {};\n\ntype TextFieldPropsTypeNumber<TYPE> = TYPE extends 'number'\n ? {\n max?: number | string;\n min?: number | string;\n step?: number | string | number[];\n incrementButtons?: boolean;\n }\n : {};\n\nexport type TextFieldProps<TYPE extends string> = PropsWithHTMLAttributesAndRef<\n {\n className?: string;\n value?: TextFieldPropValue<TYPE>;\n defaultValue?: TextFieldPropDefaultValue<TYPE>;\n onChange?: TextFieldPropOnChange<TYPE>;\n id?: string;\n name?: string;\n type?: TYPE;\n disabled?: boolean;\n mixLength?: number;\n maxLength?: number;\n size?: TextFieldPropSize;\n view?: FieldPropView;\n form?: FieldPropForm;\n status?: FieldPropStatus;\n onFocus?: React.FocusEventHandler<InputType<TYPE>>;\n onBlur?: React.FocusEventHandler<InputType<TYPE>>;\n autoFocus?: boolean;\n placeholder?: string;\n leftSide?: string | IconComponent;\n rightSide?: string | IconComponent;\n withClearButton?: boolean;\n autoComplete?: AutoCompete;\n readOnly?: boolean;\n tabIndex?: number;\n ariaLabel?: string;\n iconSize?: IconPropSize;\n children?: never;\n onClear?: React.MouseEventHandler<HTMLButtonElement>;\n inputRef?: React.Ref<InputType<TYPE>>;\n onKeyUp?: React.KeyboardEventHandler<InputType<TYPE>>;\n onKeyUpCapture?: React.KeyboardEventHandler<InputType<TYPE>>;\n onKeyDown?: React.KeyboardEventHandler<InputType<TYPE>>;\n onKeyDownCapture?: React.KeyboardEventHandler<InputType<TYPE>>;\n onCopy?: React.ClipboardEventHandler<InputType<TYPE>>;\n onCopyCapture?: React.ClipboardEventHandler<InputType<TYPE>>;\n onCut?: React.ClipboardEventHandler<InputType<TYPE>>;\n onCutCapture?: React.ClipboardEventHandler<InputType<TYPE>>;\n onPaste?: React.ClipboardEventHandler<InputType<TYPE>>;\n onPasteCapture?: React.ClipboardEventHandler<InputType<TYPE>>;\n },\n HTMLDivElement\n> &\n TextFieldPropsTypeTextArea<TYPE> &\n TextFieldPropsTypeTextArray<TYPE> &\n TextFieldPropsTypeNumber<TYPE>;\n\nexport type TextFieldComponent = <TYPE extends string>(\n props: TextFieldProps<TYPE>,\n) => React.ReactElement | null;\n\nexport type TextFieldTypeComponent<TYPE extends string> = (\n props: TextFieldProps<TYPE>,\n) => React.ReactElement | null;\n"],"mappings":""}