@consta/uikit 4.14.2 → 4.16.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 (125) hide show
  1. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js +1 -1
  2. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js.map +1 -1
  3. package/__internal__/src/components/Combobox/Combobox.js +1 -1
  4. package/__internal__/src/components/Combobox/Combobox.js.map +1 -1
  5. package/__internal__/src/components/Combobox/helpers.d.ts +18 -7
  6. package/__internal__/src/components/Combobox/helpers.js.map +1 -1
  7. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.d.ts +3 -2
  8. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.js +1 -1
  9. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.js.map +1 -1
  10. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.d.ts +2 -0
  11. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.js +1 -1
  12. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.js.map +1 -1
  13. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js +1 -1
  14. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js.map +1 -1
  15. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.d.ts +3 -2
  16. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.js +1 -1
  17. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.js.map +1 -1
  18. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.d.ts +2 -0
  19. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.js +1 -1
  20. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.js.map +1 -1
  21. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js +1 -1
  22. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js.map +1 -1
  23. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.d.ts +3 -2
  24. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.js +1 -1
  25. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.js.map +1 -1
  26. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.d.ts +2 -0
  27. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.js +1 -1
  28. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.js.map +1 -1
  29. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js +1 -1
  30. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js.map +1 -1
  31. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.d.ts +3 -2
  32. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.js +1 -1
  33. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.js.map +1 -1
  34. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.d.ts +2 -0
  35. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.js +1 -1
  36. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.js.map +1 -1
  37. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.d.ts +3 -2
  38. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.js +1 -1
  39. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.js.map +1 -1
  40. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/helpers.d.ts +2 -0
  41. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/helpers.js +1 -1
  42. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/helpers.js.map +1 -1
  43. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js +1 -1
  44. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js.map +1 -1
  45. package/__internal__/src/components/DatePicker/types.d.ts +1 -0
  46. package/__internal__/src/components/DatePicker/types.js.map +1 -1
  47. package/__internal__/src/components/DateTime/DateTimeTypeDate/DateTimeTypeDate.js +1 -1
  48. package/__internal__/src/components/DateTime/DateTimeTypeDate/DateTimeTypeDate.js.map +1 -1
  49. package/__internal__/src/components/DateTime/DateTimeTypeDateTime/DateTimeTypeDateTime.js +1 -1
  50. package/__internal__/src/components/DateTime/DateTimeTypeDateTime/DateTimeTypeDateTime.js.map +1 -1
  51. package/__internal__/src/components/DateTime/DateTimeTypeMonth/DateTimeTypeMonth.js +1 -1
  52. package/__internal__/src/components/DateTime/DateTimeTypeMonth/DateTimeTypeMonth.js.map +1 -1
  53. package/__internal__/src/components/DateTime/DateTimeTypeTime/DateTimeTypeTime.js +1 -1
  54. package/__internal__/src/components/DateTime/DateTimeTypeTime/DateTimeTypeTime.js.map +1 -1
  55. package/__internal__/src/components/DateTime/DateTimeTypeTime/helpers.d.ts +2 -1
  56. package/__internal__/src/components/DateTime/DateTimeTypeTime/helpers.js +1 -1
  57. package/__internal__/src/components/DateTime/DateTimeTypeTime/helpers.js.map +1 -1
  58. package/__internal__/src/components/DateTime/DateTimeTypeYear/DateTimeTypeYear.js +1 -1
  59. package/__internal__/src/components/DateTime/DateTimeTypeYear/DateTimeTypeYear.js.map +1 -1
  60. package/__internal__/src/components/DateTime/helpers/getDaysOfMonth.d.ts +2 -1
  61. package/__internal__/src/components/DateTime/helpers/getDaysOfMonth.js +1 -1
  62. package/__internal__/src/components/DateTime/helpers/getDaysOfMonth.js.map +1 -1
  63. package/__internal__/src/components/DateTime/helpers/getMonthsOfYear.d.ts +2 -1
  64. package/__internal__/src/components/DateTime/helpers/getMonthsOfYear.js +1 -1
  65. package/__internal__/src/components/DateTime/helpers/getMonthsOfYear.js.map +1 -1
  66. package/__internal__/src/components/DateTime/helpers/getYearsOfDecade.d.ts +2 -1
  67. package/__internal__/src/components/DateTime/helpers/getYearsOfDecade.js +1 -1
  68. package/__internal__/src/components/DateTime/helpers/getYearsOfDecade.js.map +1 -1
  69. package/__internal__/src/components/DateTime/helpers/types.d.ts +2 -0
  70. package/__internal__/src/components/DateTime/helpers/types.js.map +1 -1
  71. package/__internal__/src/components/EventInterceptor/propsHandlers/useTextFieldEventsHandler.d.ts +3 -2
  72. package/__internal__/src/components/FieldLabel/FieldLabel.css +1 -1
  73. package/__internal__/src/components/FieldLabel/FieldLabel.d.ts +2 -0
  74. package/__internal__/src/components/FieldLabel/FieldLabel.js +1 -1
  75. package/__internal__/src/components/FieldLabel/FieldLabel.js.map +1 -1
  76. package/__internal__/src/components/Select/helpers.d.ts +5 -2
  77. package/__internal__/src/components/Select/helpers.js.map +1 -1
  78. package/__internal__/src/components/SelectComponents/Select.css +1 -1
  79. package/__internal__/src/components/SelectComponents/SelectContainer/SelectContainer.d.ts +3 -1
  80. package/__internal__/src/components/SelectComponents/SelectContainer/SelectContainer.js +1 -1
  81. package/__internal__/src/components/SelectComponents/SelectContainer/SelectContainer.js.map +1 -1
  82. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.d.ts +7 -2
  83. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js +1 -1
  84. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js.map +1 -1
  85. package/__internal__/src/components/SelectComponents/SelectItem/SelectItem.d.ts +2 -0
  86. package/__internal__/src/components/SelectComponents/SelectItem/SelectItem.js +1 -1
  87. package/__internal__/src/components/SelectComponents/SelectItem/SelectItem.js.map +1 -1
  88. package/__internal__/src/components/SelectComponents/SelectItemAll/SelectItemAll.css +1 -0
  89. package/__internal__/src/components/SelectComponents/SelectItemAll/SelectSelectAll.d.ts +13 -0
  90. package/__internal__/src/components/SelectComponents/SelectItemAll/SelectSelectAll.js +2 -0
  91. package/__internal__/src/components/SelectComponents/SelectItemAll/SelectSelectAll.js.map +1 -0
  92. package/__internal__/src/components/SelectComponents/SelectValueTag/SelectValueTag.css +1 -1
  93. package/__internal__/src/components/SelectComponents/types.d.ts +1 -1
  94. package/__internal__/src/components/SelectComponents/types.js +1 -1
  95. package/__internal__/src/components/SelectComponents/types.js.map +1 -1
  96. package/__internal__/src/components/Slider/Slider.js +1 -1
  97. package/__internal__/src/components/Slider/Slider.js.map +1 -1
  98. package/__internal__/src/components/Slider/helper.d.ts +1 -0
  99. package/__internal__/src/components/Slider/helper.js.map +1 -1
  100. package/__internal__/src/components/TagBase/TagBase.d.ts +1 -1
  101. package/__internal__/src/components/TextField/TextField.css +1 -1
  102. package/__internal__/src/components/TextField/TextField.js +1 -1
  103. package/__internal__/src/components/TextField/TextField.js.map +1 -1
  104. package/__internal__/src/components/TextField/types.d.ts +1 -0
  105. package/__internal__/src/components/TextField/types.js.map +1 -1
  106. package/__internal__/src/components/User/User.js +1 -1
  107. package/__internal__/src/components/User/User.js.map +1 -1
  108. package/__internal__/src/components/UserSelect/helpers.d.ts +5 -2
  109. package/__internal__/src/components/UserSelect/helpers.js.map +1 -1
  110. package/__internal__/src/hooks/useSelect/useSelect.d.ts +5 -2
  111. package/__internal__/src/hooks/useSelect/useSelect.js +1 -1
  112. package/__internal__/src/hooks/useSelect/useSelect.js.map +1 -1
  113. package/__internal__/src/utils/date/index.d.ts +1 -0
  114. package/__internal__/src/utils/date/index.js +1 -1
  115. package/__internal__/src/utils/date/index.js.map +1 -1
  116. package/__internal__/src/utils/date/isDisableDate.d.ts +8 -0
  117. package/__internal__/src/utils/date/isDisableDate.js +2 -0
  118. package/__internal__/src/utils/date/isDisableDate.js.map +1 -0
  119. package/__internal__/src/utils/date/isInMinMaxDade.d.ts +1 -1
  120. package/__internal__/src/utils/date/isInMinMaxDade.js +1 -1
  121. package/__internal__/src/utils/date/isInMinMaxDade.js.map +1 -1
  122. package/__internal__/src/utils/getGroups.d.ts +12 -0
  123. package/__internal__/src/utils/getGroups.js +1 -1
  124. package/__internal__/src/utils/getGroups.js.map +1 -1
  125. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { IconComponent } from '@consta/icons/Icon';
1
2
  import React from 'react';
2
3
  import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
3
4
  import { PropForm, PropSize, PropStatus, PropView, RenderItemProps } from '../SelectComponents/types';
@@ -59,6 +60,7 @@ export declare type SelectProps<ITEM = DefaultItem, GROUP = DefaultGroup> = Prop
59
60
  getGroupLabel?: PropGetGroupLabel<GROUP>;
60
61
  getGroupKey?: PropGetGroupKey<GROUP>;
61
62
  label?: string;
63
+ labelIcon?: IconComponent;
62
64
  labelPosition?: 'top' | 'left';
63
65
  caption?: string;
64
66
  }, HTMLDivElement> & (ITEM extends {
@@ -92,7 +94,7 @@ export declare function withDefaultGetters<ITEM, GROUP>(props: SelectProps<ITEM,
92
94
  e: React.SyntheticEvent<Element, Event>;
93
95
  }) => void;
94
96
  disabled?: boolean | undefined;
95
- form?: "default" | "round" | "brick" | "clearRound" | "roundClear" | "clearDefault" | "defaultClear" | "defaultBrick" | "brickDefault" | "brickClear" | "clearBrick" | "clearClear" | undefined;
97
+ form?: "default" | "round" | "defaultClear" | "defaultBrick" | "brick" | "brickDefault" | "brickClear" | "brickRound" | "roundClear" | "roundBrick" | "clearRound" | "clearDefault" | "clearBrick" | "clearClear" | undefined;
96
98
  dropdownForm?: "default" | "round" | "brick" | undefined;
97
99
  size?: "m" | "s" | "xs" | "l" | undefined;
98
100
  view?: "default" | "clear" | undefined;
@@ -121,9 +123,10 @@ export declare function withDefaultGetters<ITEM, GROUP>(props: SelectProps<ITEM,
121
123
  getGroupLabel?: PropGetGroupLabel<GROUP> | undefined;
122
124
  getGroupKey?: PropGetGroupKey<GROUP> | undefined;
123
125
  label?: string | undefined;
126
+ labelIcon?: IconComponent | undefined;
124
127
  labelPosition?: "left" | "top" | undefined;
125
128
  caption?: string | undefined;
126
- } & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "placeholder" | "onFocus" | "onBlur" | "onChange" | "size" | "caption" | "form" | "label" | "view" | "status" | "name" | "disabled" | "value" | "multiple" | "required" | "inputRef" | "items" | "dropdownForm" | "focused" | "ariaLabel" | "dropdownClassName" | "dropdownRef" | "isLoading" | "labelForEmptyItems" | "renderItem" | "renderValue" | "groups" | "getItemLabel" | "getItemKey" | "getItemGroupKey" | "getItemDisabled" | "getGroupLabel" | "getGroupKey" | "labelPosition"> & React.RefAttributes<HTMLDivElement> & (ITEM extends {
129
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "placeholder" | "onFocus" | "onBlur" | "onChange" | "size" | "caption" | "form" | "label" | "view" | "status" | "name" | "disabled" | "value" | "multiple" | "required" | "inputRef" | "items" | "dropdownForm" | "focused" | "ariaLabel" | "dropdownClassName" | "dropdownRef" | "isLoading" | "labelForEmptyItems" | "renderItem" | "renderValue" | "groups" | "getItemLabel" | "getItemKey" | "getItemGroupKey" | "getItemDisabled" | "getGroupLabel" | "getGroupKey" | "labelIcon" | "labelPosition"> & React.RefAttributes<HTMLDivElement> & (ITEM extends {
127
130
  label: string;
128
131
  } ? {} : {
129
132
  getItemLabel: PropGetItemLabel<ITEM>;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey"],"sources":["../../../../../src/components/Select/helpers.ts"],"sourcesContent":["import React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '../SelectComponents/types';\n\nexport type DefaultItem = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type DefaultGroup = {\n label: string;\n id: string | number;\n};\n\ntype PropValue<ITEM> = ITEM | null | undefined;\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n};\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type PropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type PropGetGroupLabel<GROUP> = (group: GROUP) => string;\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type SelectProps<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: (props: { value: ITEM | null; e: React.SyntheticEvent }) => void;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?: PropSize;\n view?: PropView;\n status?: PropStatus;\n focused?: boolean;\n multiple?: boolean;\n placeholder?: string;\n ariaLabel?: string;\n dropdownClassName?: string;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n required?: boolean;\n name?: string;\n isLoading?: boolean;\n labelForEmptyItems?: string;\n value?: PropValue<ITEM>;\n renderItem?: PropRenderItem<ITEM>;\n renderValue?: PropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n inputRef?: React.RefObject<HTMLInputElement>;\n groups?: GROUP[];\n getItemLabel?: PropGetItemLabel<ITEM>;\n getItemKey?: PropGetItemKey<ITEM>;\n getItemGroupKey?: PropGetItemGroupKey<ITEM>;\n getItemDisabled?: PropGetItemDisabled<ITEM>;\n getGroupLabel?: PropGetGroupLabel<GROUP>;\n getGroupKey?: PropGetGroupKey<GROUP>;\n label?: string;\n labelPosition?: 'top' | 'left';\n caption?: string;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: PropGetItemLabel<ITEM> }) &\n (ITEM extends { id: DefaultItem['id'] }\n ? {}\n : { getItemKey: PropGetItemKey<ITEM> }) &\n (GROUP extends { label: DefaultGroup['label'] }\n ? {}\n : { getGroupLabel: PropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: DefaultGroup['id'] }\n ? {}\n : { getGroupKey: PropGetGroupKey<GROUP> });\n\nexport type SelectComponent = <ITEM = DefaultItem, GROUP = DefaultGroup>(\n props: SelectProps<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nexport const defaultGetItemKey: PropGetItemKey<DefaultItem> = (item) => item.id;\nexport const defaultGetItemLabel: PropGetItemLabel<DefaultItem> = (item) =>\n item.label;\nexport const defaultGetItemGroupKey: PropGetItemGroupKey<DefaultItem> = (\n item,\n) => item.groupId;\nexport const defaultGetItemDisabled: PropGetItemDisabled<DefaultItem> = (\n item,\n) => item.disabled;\n\nexport const defaultGetGroupKey: PropGetGroupKey<DefaultGroup> = (group) =>\n group.id;\nexport const defaultGetGroupLabel: PropGetGroupLabel<DefaultGroup> = (group) =>\n group.label;\n\nexport function withDefaultGetters<ITEM, GROUP>(\n props: SelectProps<ITEM, GROUP>,\n) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n"],"mappings":"qqBAuGA,MAAO,IAAMA,kBAA8C,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,EAAf,CAAvD,CACP,MAAO,IAAMC,oBAAkD,CAAG,SAACF,CAAD,QAChEA,EAAI,CAACG,KAD2D,CAA3D,CAEP,MAAO,IAAMC,uBAAwD,CAAG,SACtEJ,CADsE,QAEnEA,EAAI,CAACK,OAF8D,CAAjE,CAGP,MAAO,IAAMC,uBAAwD,CAAG,SACtEN,CADsE,QAEnEA,EAAI,CAACO,QAF8D,CAAjE,CAIP,MAAO,IAAMC,mBAAiD,CAAG,SAACC,CAAD,QAC/DA,EAAK,CAACR,EADyD,CAA1D,CAEP,MAAO,IAAMS,qBAAqD,CAAG,SAACD,CAAD,QACnEA,EAAK,CAACN,KAD6D,CAA9D,CAGP,MAAO,SAASQ,mBAAT,CACLC,CADK,CAEL,CACA,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBX,mBAFtC,CAGEY,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBf,iBAHlC,CAIEgB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBX,sBAJ5C,CAKEY,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBV,sBAL5C,CAMEW,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBP,oBANxC,CAOEQ,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBV,kBAPpC,EASD"}
1
+ {"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey"],"sources":["../../../../../src/components/Select/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '../SelectComponents/types';\n\nexport type DefaultItem = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type DefaultGroup = {\n label: string;\n id: string | number;\n};\n\ntype PropValue<ITEM> = ITEM | null | undefined;\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n};\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type PropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type PropGetGroupLabel<GROUP> = (group: GROUP) => string;\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type SelectProps<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: (props: { value: ITEM | null; e: React.SyntheticEvent }) => void;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?: PropSize;\n view?: PropView;\n status?: PropStatus;\n focused?: boolean;\n multiple?: boolean;\n placeholder?: string;\n ariaLabel?: string;\n dropdownClassName?: string;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n required?: boolean;\n name?: string;\n isLoading?: boolean;\n labelForEmptyItems?: string;\n value?: PropValue<ITEM>;\n renderItem?: PropRenderItem<ITEM>;\n renderValue?: PropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n inputRef?: React.RefObject<HTMLInputElement>;\n groups?: GROUP[];\n getItemLabel?: PropGetItemLabel<ITEM>;\n getItemKey?: PropGetItemKey<ITEM>;\n getItemGroupKey?: PropGetItemGroupKey<ITEM>;\n getItemDisabled?: PropGetItemDisabled<ITEM>;\n getGroupLabel?: PropGetGroupLabel<GROUP>;\n getGroupKey?: PropGetGroupKey<GROUP>;\n label?: string;\n labelIcon?: IconComponent;\n labelPosition?: 'top' | 'left';\n caption?: string;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: PropGetItemLabel<ITEM> }) &\n (ITEM extends { id: DefaultItem['id'] }\n ? {}\n : { getItemKey: PropGetItemKey<ITEM> }) &\n (GROUP extends { label: DefaultGroup['label'] }\n ? {}\n : { getGroupLabel: PropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: DefaultGroup['id'] }\n ? {}\n : { getGroupKey: PropGetGroupKey<GROUP> });\n\nexport type SelectComponent = <ITEM = DefaultItem, GROUP = DefaultGroup>(\n props: SelectProps<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nexport const defaultGetItemKey: PropGetItemKey<DefaultItem> = (item) => item.id;\nexport const defaultGetItemLabel: PropGetItemLabel<DefaultItem> = (item) =>\n item.label;\nexport const defaultGetItemGroupKey: PropGetItemGroupKey<DefaultItem> = (\n item,\n) => item.groupId;\nexport const defaultGetItemDisabled: PropGetItemDisabled<DefaultItem> = (\n item,\n) => item.disabled;\n\nexport const defaultGetGroupKey: PropGetGroupKey<DefaultGroup> = (group) =>\n group.id;\nexport const defaultGetGroupLabel: PropGetGroupLabel<DefaultGroup> = (group) =>\n group.label;\n\nexport function withDefaultGetters<ITEM, GROUP>(\n props: SelectProps<ITEM, GROUP>,\n) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n"],"mappings":"qqBAyGA,MAAO,IAAMA,kBAA8C,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,EAAf,CAAvD,CACP,MAAO,IAAMC,oBAAkD,CAAG,SAACF,CAAD,QAChEA,EAAI,CAACG,KAD2D,CAA3D,CAEP,MAAO,IAAMC,uBAAwD,CAAG,SACtEJ,CADsE,QAEnEA,EAAI,CAACK,OAF8D,CAAjE,CAGP,MAAO,IAAMC,uBAAwD,CAAG,SACtEN,CADsE,QAEnEA,EAAI,CAACO,QAF8D,CAAjE,CAIP,MAAO,IAAMC,mBAAiD,CAAG,SAACC,CAAD,QAC/DA,EAAK,CAACR,EADyD,CAA1D,CAEP,MAAO,IAAMS,qBAAqD,CAAG,SAACD,CAAD,QACnEA,EAAK,CAACN,KAD6D,CAA9D,CAGP,MAAO,SAASQ,mBAAT,CACLC,CADK,CAEL,CACA,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBX,mBAFtC,CAGEY,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBf,iBAHlC,CAIEgB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBX,sBAJ5C,CAKEY,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBV,sBAL5C,CAMEW,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBP,oBANxC,CAOEQ,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBV,kBAPpC,EASD"}
@@ -1 +1 @@
1
- .Select{--caption-margin-left:calc(var(--input-space) + var(--control-border-width));align-items:flex-start;display:flex;justify-content:flex-start;position:relative;width:100%}.Select_type_userselect.Select_size_s{--select-element-height:var(--space-xl)}.Select_type_userselect.Select_size_m{--select-element-height:calc(var(--space-2xl) - var(--space-3xs))}.Select_type_userselect.Select_size_l{--select-element-height:calc(var(--space-3xl) - var(--space-2xs))}.Select_type_combobox.Select_size_xs{--select-element-height:calc(var(--space-m) + var(--space-3xs))}.Select_type_combobox.Select_size_s{--select-element-height:var(--space-xl)}.Select_type_combobox.Select_size_m{--select-element-height:calc(var(--space-2xl) - var(--space-2xs))}.Select_type_combobox.Select_size_l{--select-element-height:var(--space-2xl)}.Select_type_select.Select_size_xs{--select-element-height:calc(var(--space-m) + var(--space-3xs))}.Select_type_select.Select_size_s{--select-element-height:var(--space-xl)}.Select_type_select.Select_size_m{--select-element-height:calc(var(--space-2xl) - var(--space-2xs))}.Select_type_select.Select_size_l{--select-element-height:var(--space-2xl)}.Select_size_xs{--input-height:var(--control-height-xs);--input-space:calc(var(--control-space-xs)*0.5);--input-font-size:var(--control-text-size-xs);--tag-space:calc((var(--space-xs) - 1px)/2 - var(--control-border-width));--input-max-height:calc(var(--tag-space)*4 + var(--select-element-height)*4.5)}.Select_size_s{--input-height:var(--control-height-s);--input-space:calc(var(--control-space-s)*0.5);--input-font-size:var(--control-text-size-s);--tag-space:calc(var(--space-xs)/2 - var(--control-border-width));--input-max-height:calc(var(--tag-space)*4 + var(--select-element-height)*4.5)}.Select_size_m{--input-height:var(--control-height-m);--input-space:calc(var(--control-space-m)*0.5);--input-font-size:var(--control-text-size-m);--tag-space:calc(var(--space-s)/2 - var(--control-border-width));--input-max-height:calc(var(--tag-space)*4 + var(--space-2xl)*4.5 - var(--space-2xs)*4.5)}.Select_size_l{--input-height:var(--control-height-l);--input-space:calc(var(--control-space-l)*0.5);--input-font-size:var(--control-text-size-l);--tag-space:calc(var(--space-m)/2 - var(--control-border-width));--input-max-height:calc(var(--tag-space)*4 + var(--space-2xl)*4.5)}.Select_labelPosition_top{flex-direction:column}.Select_labelPosition_top>:not(:last-child){margin-bottom:var(--space-xs)}.Select_labelPosition_left{flex-direction:row}.Select_labelPosition_left .Select-Label{align-items:center;display:inline-flex;height:var(--input-height)}.Select_labelPosition_left>:not(:last-child){margin-right:var(--space-s)}.Select-Body{display:inline-flex;flex-direction:column;width:100%}.Select-Body .Select-Caption{margin-left:var(--caption-margin-left);margin-top:var(--space-2xs)}.Select-SelectContainer{--container-border-color:var(--color-control-bg-border-default);display:flex;position:relative;width:100%}.Select-SelectContainer_status_alert{--container-border-color:var(--color-bg-alert)}.Select-SelectContainer_status_success{--container-border-color:var(--color-bg-success)}.Select-SelectContainer_status_warning{--container-border-color:var(--color-bg-warning)}.Select-SelectContainer_view_default .Select-Control{background:var(--color-control-bg-default);border:var(--control-border-width) solid var(--container-border-color);border-radius:var(--control-radius);color:var(--color-control-typo-default);padding:0}.Select-SelectContainer_view_default .Select-Control:hover{border-color:var(--color-control-bg-border-default-hover)}.Select-SelectContainer_view_default.Select-SelectContainer_focused .Select-Control{border-color:var(--color-control-bg-border-focus);outline:none;z-index:1}.Select-SelectContainer_multiple .Select-Control{height:auto;min-height:var(--input-height)}.Select-SelectContainer_form_round .Select-Control{border-radius:calc(var(--input-height)/2);padding-left:calc(var(--input-space)*1.6)}.Select-SelectContainer_form_brick .Select-Control{border-radius:0}.Select-SelectContainer_form_clear .Select-Control{border-width:0;border-bottom-width:var(--control-border-width);border-radius:0}.Select-SelectContainer_form_defaultClear .Select-Control{border-radius:var(--control-radius) 0 0 var(--control-radius);border-right-width:0}.Select-SelectContainer_form_clearDefault .Select-Control{border-left-width:0;border-radius:0 var(--control-radius) var(--control-radius) 0}.Select-SelectContainer_form_defaultBrick .Select-Control{border-radius:var(--control-radius) 0 0 var(--control-radius)}.Select-SelectContainer_form_brickDefault .Select-Control{border-radius:0 var(--control-radius) var(--control-radius) 0}.Select-SelectContainer_form_roundBrick .Select-Control{border-radius:calc(var(--input-height)/2) 0 0 calc(var(--input-height)/2);padding-left:calc(var(--input-space)*1.6)}.Select-SelectContainer_form_brickRound .Select-Control{border-radius:0 calc(var(--input-height)/2) 99rem calc(var(--input-height)/2);padding-right:calc(var(--input-space)*1.6)}.Select-SelectContainer_form_brickClear .Select-Control{border-radius:0;border-right-width:0}.Select-SelectContainer_form_clearBrick .Select-Control{border-left-width:0;border-radius:0}.Select-SelectContainer_form_clearRound .Select-Control{border-left-width:0;border-radius:0 calc(var(--input-height)/2) calc(var(--input-height)/2) 0;padding-right:calc(var(--input-space)*1.6)}.Select-SelectContainer_form_roundClear .Select-Control{border-radius:calc(var(--input-height)/2) 0 0 calc(var(--input-height)/2);border-right-width:0;padding-left:calc(var(--input-space)*1.6)}.Select-SelectContainer_form_clearClear .Select-Control{border-width:0;border-bottom-width:var(--control-border-width);border-radius:0;border-top-width:var(--control-border-width)}.Select-SelectContainer_view_default.Select-SelectContainer_form_clear.Select-SelectContainer_focused .Select-Control,.Select-SelectContainer_view_default.Select-SelectContainer_form_clearClear.Select-SelectContainer_focused .Select-Control{box-shadow:var(--control-border-width) 0 var(--color-control-bg-border-focus),calc(var(--control-border-width)*-1) 0 var(--color-control-bg-border-focus)}.Select-SelectContainer_view_default.Select-SelectContainer_form_brickClear.Select-SelectContainer_focused .Select-Control,.Select-SelectContainer_view_default.Select-SelectContainer_form_defaultClear.Select-SelectContainer_focused .Select-Control,.Select-SelectContainer_view_default.Select-SelectContainer_form_roundClear.Select-SelectContainer_focused .Select-Control{box-shadow:var(--control-border-width) 0 var(--color-control-bg-border-focus)}.Select-SelectContainer_view_default.Select-SelectContainer_form_clearBrick.Select-SelectContainer_focused .Select-Control,.Select-SelectContainer_view_default.Select-SelectContainer_form_clearDefault.Select-SelectContainer_focused .Select-Control,.Select-SelectContainer_view_default.Select-SelectContainer_form_clearRound.Select-SelectContainer_focused .Select-Control{box-shadow:calc(var(--control-border-width)*-1) 0 var(--color-control-bg-border-focus)}.Select-SelectContainer_view_default.Select-SelectContainer_disabled .Select-Control{background:var(--color-control-bg-disable);border-color:var(--color-control-bg-border-disable);color:var(--color-control-typo-disable);pointer-events:none}.Select-SelectContainer_view_clear .Select-Control,.Select-SelectContainer_view_clear .Select-Control:focus,.Select-SelectContainer_view_clear .Select-Control:hover{color:var(--color-control-typo-default);padding:0}.Select-SelectContainer_view_clear .Select-Control.Select-SelectContainer_disabled,.Select-SelectContainer_view_clear .Select-Control:focus.Select-SelectContainer_disabled,.Select-SelectContainer_view_clear .Select-Control:hover.Select-SelectContainer_disabled{pointer-events:none}.Select-SelectContainer_view_clear .Select-Control.Select-SelectContainer_disabled .Select-Control,.Select-SelectContainer_view_clear .Select-Control:focus.Select-SelectContainer_disabled .Select-Control,.Select-SelectContainer_view_clear .Select-Control:hover.Select-SelectContainer_disabled .Select-Control{color:var(--color-control-typo-disable)}.Select-SelectContainer_view_clear.Select-SelectContainer_disabled .Select-Control{pointer-events:none}.Select-SelectContainer_view_default .Select-ControlValueContainer{padding:0 0 0 var(--input-space)}.Select-SelectContainer_form_round .Select-SelectContainer-IndicatorsDropdown{border-radius:0 calc(var(--input-height)/2) calc(var(--input-height)/2) 0}.Select-SelectContainer_multiple .Select-ControlValueContainer{box-sizing:border-box;display:flex;line-height:1;padding-bottom:0;padding-top:0;position:relative}.Select-SelectContainer_multiple .Select-ControlValue{-ms-overflow-style:none;max-height:calc(var(--tag-space)*4 + var(--select-element-height)*4.5);overflow-x:visible;overflow-y:auto;padding-top:calc(var(--tag-space) - var(--control-border-width));scrollbar-width:none;white-space:normal}.Select-SelectContainer_multiple .Select-ControlValue::-webkit-scrollbar{display:none}.Select-SelectContainer_multiple .Select-ControlValue_isUserSelect{display:flex;flex-wrap:wrap;padding-top:calc(var(--space-s)/4)}.Select_view_clear{--caption-margin-left:0}.Select-Delimiter{background-color:var(--color-control-bg-border-default);width:1px}.Select-Control{background:transparent;border:none;box-sizing:border-box;color:currentColor;cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-weight:var(--font-weight-text-regular);height:var(--input-height);line-height:calc(var(--input-height) - var(--control-border-width));outline:none;padding:0;transition:border-color .15s,box-shadow .15s,background-color .15s;width:100%}.Select-Control:focus{outline:none}.Select-Indicators{display:flex;height:100%}.Select-IndicatorsDropdown{background-color:transparent;border:none;color:var(--color-control-typo-disable);cursor:pointer;display:block;margin:0;padding:0;text-align:center;width:var(--input-height)}.Select-IndicatorsDropdown:focus{outline:none}.Select-ControlInner{position:relative;width:100%}.Select-ControlValueContainer{background-color:transparent;border:none;bottom:0;color:inherit;font-size:var(--input-font-size);left:0;line-height:calc(var(--input-height) - 2px);margin:0;min-height:calc(var(--input-height) - 2px);padding:0;position:absolute;right:0;text-align:left;top:0}.Select-ControlValueContainer:focus{outline:none}.Select-Control[aria-expanded=true] .Select-IndicatorsDropdown{transform:rotate(180deg)}.Select-ControlValue,.Select-Placeholder{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Select-Placeholder{color:var(--color-control-typo-placeholder);font-size:var(--input-font-size);padding-right:var(--input-space);pointer-events:none;text-align:left}.Select-Placeholder_isHidden{opacity:0;visibility:hidden}.Select-Control_hasInput .Select-Placeholder{background-color:transparent;line-height:calc(var(--input-height) - 2px);position:absolute;top:0;width:calc(100% - var(--input-space))}.Select-DropdownIndicatorIcon{position:relative;top:1px}.Select-ClearIndicator{background-color:transparent;border:none;color:var(--color-control-typo-clear);cursor:pointer;margin:0;padding:0 var(--space-xs)}.Select-ClearIndicatorIcon{position:relative;top:1px}.Select-Input{background-color:transparent;border:none;color:inherit;font-family:inherit;font-size:inherit;line-height:calc(var(--input-height) - 2px);margin:0;outline:none;padding:0;position:relative;width:100%}.Select-Input_hide{bottom:0;left:0;opacity:0;position:absolute;top:0;width:100%}.Select-Input_multiple{display:inline-flex;height:calc(var(--input-height) - var(--control-border-width)*2);line-height:1;line-height:calc(var(--input-height) - var(--control-border-width)*2);margin-top:calc(var(--tag-space)*-1);min-width:10px}.Select-Input_multiple.Select-Input_isUserSelect{margin-top:calc(var(--space-s)/4*-1)}.Select-FakeField{bottom:0;left:0;opacity:0;position:absolute;top:0;width:100%}.Select-HelperInputFakeElement{display:inline-block;font-size:var(--input-font-size);height:0;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:nowrap}
1
+ .Select{--caption-margin-left:calc(var(--input-space) + var(--control-border-width));align-items:flex-start;display:flex;justify-content:flex-start;position:relative;width:100%}.Select_type_userselect.Select_size_s{--select-element-height:var(--space-xl)}.Select_type_userselect.Select_size_m{--select-element-height:calc(var(--space-2xl) - var(--space-3xs))}.Select_type_userselect.Select_size_l{--select-element-height:calc(var(--space-3xl) - var(--space-2xs))}.Select_type_combobox.Select_size_xs{--select-element-height:calc(var(--space-m) + var(--space-3xs))}.Select_type_combobox.Select_size_s{--select-element-height:var(--space-xl)}.Select_type_combobox.Select_size_m{--select-element-height:calc(var(--space-2xl) - var(--space-2xs))}.Select_type_combobox.Select_size_l{--select-element-height:var(--space-2xl)}.Select_type_select.Select_size_xs{--select-element-height:calc(var(--space-m) + var(--space-3xs))}.Select_type_select.Select_size_s{--select-element-height:var(--space-xl)}.Select_type_select.Select_size_m{--select-element-height:calc(var(--space-2xl) - var(--space-2xs))}.Select_type_select.Select_size_l{--select-element-height:var(--space-2xl)}.Select_size_xs{--label-offset:var(--space-2xs);--caption-offset:var(--space-2xs);--round-offset:calc(var(--space-3xs) + var(--space-2xs));--input-height:var(--control-height-xs);--input-space:calc(var(--control-space-xs)*0.5);--input-font-size:var(--control-text-size-xs);--tag-space:calc((var(--space-xs) - 1px)/2 - var(--control-border-width));--input-max-height:calc(var(--tag-space)*4 + var(--select-element-height)*4.5)}.Select_size_s{--label-offset:var(--space-2xs);--caption-offset:var(--space-2xs);--round-offset:calc(var(--space-2xs));--input-height:var(--control-height-s);--input-space:calc(var(--control-space-s)*0.5);--input-font-size:var(--control-text-size-s);--tag-space:calc(var(--space-xs)/2 - var(--control-border-width));--input-max-height:calc(var(--tag-space)*4 + var(--select-element-height)*4.5)}.Select_size_m{--label-offset:var(--space-xs);--caption-offset:var(--space-xs);--round-offset:calc(var(--space-3xs) + var(--space-2xs));--input-height:var(--control-height-m);--input-space:calc(var(--control-space-m)*0.5);--input-font-size:var(--control-text-size-m);--tag-space:calc(var(--space-s)/2 - var(--control-border-width));--input-max-height:calc(var(--tag-space)*4 + var(--space-2xl)*4.5 - var(--space-2xs)*4.5)}.Select_size_l{--label-offset:var(--space-xs);--caption-offset:var(--space-xs);--round-offset:calc(var(--space-xs));--input-height:var(--control-height-l);--input-space:calc(var(--control-space-l)*0.5);--input-font-size:var(--control-text-size-l);--tag-space:calc(var(--space-m)/2 - var(--control-border-width));--input-max-height:calc(var(--tag-space)*4 + var(--space-2xl)*4.5)}.Select_labelPosition_top{flex-direction:column}.Select_labelPosition_top>:not(:last-child){margin-bottom:var(--label-offset)}.Select_labelPosition_left{flex-direction:row}.Select_labelPosition_left .Select-Label{align-items:center;display:inline-flex;height:var(--input-height)}.Select_labelPosition_left>:not(:last-child){margin-right:var(--space-s)}.Select-Body{display:inline-flex;flex-direction:column;width:100%}.Select-Body .Select-Caption{margin-left:var(--caption-margin-left);margin-top:var(--caption-offset)}.Select-SelectContainer{--container-border-color:var(--color-control-bg-border-default);display:flex;position:relative;width:100%}.Select-SelectContainer_status_alert{--container-border-color:var(--color-bg-alert)}.Select-SelectContainer_status_success{--container-border-color:var(--color-bg-success)}.Select-SelectContainer_status_warning{--container-border-color:var(--color-bg-warning)}.Select-SelectContainer_view_default .Select-Control{background:var(--color-control-bg-default);border:var(--control-border-width) solid var(--container-border-color);border-radius:var(--control-radius);color:var(--color-control-typo-default);padding:0}.Select-SelectContainer_view_default .Select-Control:hover{border-color:var(--color-control-bg-border-default-hover)}.Select-SelectContainer_view_default.Select-SelectContainer_focused .Select-Control{border-color:var(--color-control-bg-border-focus);outline:none;z-index:1}.Select-SelectContainer_multiple .Select-Control{height:auto;min-height:var(--input-height)}.Select-SelectContainer_form_round .Select-Control{border-radius:calc(var(--input-height)/2);padding-left:var(--round-offset)}.Select-SelectContainer_form_brick .Select-Control{border-radius:0}.Select-SelectContainer_form_clear .Select-Control{border-width:0;border-bottom-width:var(--control-border-width);border-radius:0}.Select-SelectContainer_form_defaultClear .Select-Control{border-radius:var(--control-radius) 0 0 var(--control-radius);border-right-width:0}.Select-SelectContainer_form_clearDefault .Select-Control{border-left-width:0;border-radius:0 var(--control-radius) var(--control-radius) 0}.Select-SelectContainer_form_defaultBrick .Select-Control{border-radius:var(--control-radius) 0 0 var(--control-radius)}.Select-SelectContainer_form_brickDefault .Select-Control{border-radius:0 var(--control-radius) var(--control-radius) 0}.Select-SelectContainer_form_roundBrick .Select-Control{border-radius:calc(var(--input-height)/2) 0 0 calc(var(--input-height)/2);padding-left:var(--round-offset)}.Select-SelectContainer_form_brickRound .Select-Control{border-radius:0 calc(var(--input-height)/2) calc(var(--input-height)/2) 0}.Select-SelectContainer_form_brickClear .Select-Control{border-radius:0;border-right-width:0}.Select-SelectContainer_form_clearBrick .Select-Control{border-left-width:0;border-radius:0}.Select-SelectContainer_form_clearRound .Select-Control{border-left-width:0;border-radius:0 calc(var(--input-height)/2) calc(var(--input-height)/2) 0}.Select-SelectContainer_form_roundClear .Select-Control{border-radius:calc(var(--input-height)/2) 0 0 calc(var(--input-height)/2);border-right-width:0;padding-left:var(--round-offset)}.Select-SelectContainer_form_clearClear .Select-Control{border-width:0;border-bottom-width:var(--control-border-width);border-radius:0;border-top-width:var(--control-border-width)}.Select-SelectContainer_view_default.Select-SelectContainer_form_clear.Select-SelectContainer_focused .Select-Control,.Select-SelectContainer_view_default.Select-SelectContainer_form_clearClear.Select-SelectContainer_focused .Select-Control{box-shadow:var(--control-border-width) 0 var(--color-control-bg-border-focus),calc(var(--control-border-width)*-1) 0 var(--color-control-bg-border-focus)}.Select-SelectContainer_view_default.Select-SelectContainer_form_brickClear.Select-SelectContainer_focused .Select-Control,.Select-SelectContainer_view_default.Select-SelectContainer_form_defaultClear.Select-SelectContainer_focused .Select-Control,.Select-SelectContainer_view_default.Select-SelectContainer_form_roundClear.Select-SelectContainer_focused .Select-Control{box-shadow:var(--control-border-width) 0 var(--color-control-bg-border-focus)}.Select-SelectContainer_view_default.Select-SelectContainer_form_clearBrick.Select-SelectContainer_focused .Select-Control,.Select-SelectContainer_view_default.Select-SelectContainer_form_clearDefault.Select-SelectContainer_focused .Select-Control,.Select-SelectContainer_view_default.Select-SelectContainer_form_clearRound.Select-SelectContainer_focused .Select-Control{box-shadow:calc(var(--control-border-width)*-1) 0 var(--color-control-bg-border-focus)}.Select-SelectContainer_view_default.Select-SelectContainer_disabled .Select-Control{background:var(--color-control-bg-disable);border-color:var(--color-control-bg-border-disable);color:var(--color-control-typo-disable);pointer-events:none}.Select-SelectContainer_view_clear .Select-Control,.Select-SelectContainer_view_clear .Select-Control:focus,.Select-SelectContainer_view_clear .Select-Control:hover{color:var(--color-control-typo-default);padding:0}.Select-SelectContainer_view_clear .Select-Control.Select-SelectContainer_disabled,.Select-SelectContainer_view_clear .Select-Control:focus.Select-SelectContainer_disabled,.Select-SelectContainer_view_clear .Select-Control:hover.Select-SelectContainer_disabled{pointer-events:none}.Select-SelectContainer_view_clear .Select-Control.Select-SelectContainer_disabled .Select-Control,.Select-SelectContainer_view_clear .Select-Control:focus.Select-SelectContainer_disabled .Select-Control,.Select-SelectContainer_view_clear .Select-Control:hover.Select-SelectContainer_disabled .Select-Control{color:var(--color-control-typo-disable)}.Select-SelectContainer_view_clear.Select-SelectContainer_disabled .Select-Control{pointer-events:none}.Select-SelectContainer_view_default .Select-ControlValueContainer{padding:0 0 0 var(--input-space)}.Select-SelectContainer_form_round .Select-SelectContainer-IndicatorsDropdown{border-radius:0 calc(var(--input-height)/2) calc(var(--input-height)/2) 0}.Select-SelectContainer_multiple .Select-ControlValueContainer{box-sizing:border-box;display:flex;line-height:1;padding-bottom:0;padding-top:0;position:relative}.Select-SelectContainer_multiple .Select-ControlValue{-ms-overflow-style:none;max-height:calc(var(--tag-space)*4 + var(--select-element-height)*4.5);overflow-x:visible;overflow-y:auto;padding-top:calc(var(--tag-space) - var(--control-border-width));scrollbar-width:none;white-space:normal}.Select-SelectContainer_multiple .Select-ControlValue::-webkit-scrollbar{display:none}.Select-SelectContainer_multiple .Select-ControlValue_isUserSelect{display:flex;flex-wrap:wrap;padding-top:calc(var(--space-s)/4)}.Select_view_clear{--caption-margin-left:0}.Select-Delimiter{background-color:var(--color-control-bg-border-default);width:1px}.Select-Control{background:transparent;border:none;box-sizing:border-box;color:currentColor;cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-weight:var(--font-weight-text-regular);height:var(--input-height);line-height:calc(var(--input-height) - var(--control-border-width));outline:none;padding:0;transition:border-color .15s,box-shadow .15s,background-color .15s;width:100%}.Select-Control:focus{outline:none}.Select-Indicators{display:flex;height:100%}.Select-IndicatorsDropdown{background-color:transparent;border:none;color:var(--color-control-typo-placeholder);cursor:pointer;display:block;margin:0;padding:0;text-align:center;width:var(--input-height)}.Select-IndicatorsDropdown:focus{outline:none}.Select-ControlInner{position:relative;width:100%}.Select-ControlValueContainer{background-color:transparent;border:none;bottom:0;color:inherit;font-size:var(--input-font-size);left:0;line-height:calc(var(--input-height) - 2px);margin:0;min-height:calc(var(--input-height) - 2px);padding:0;position:absolute;right:0;text-align:left;top:0}.Select-ControlValueContainer:focus{outline:none}.Select-Control[aria-expanded=true] .Select-IndicatorsDropdown{transform:rotate(180deg)}.Select-ControlValue,.Select-Placeholder{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Select-Placeholder{color:var(--color-control-typo-placeholder);font-size:var(--input-font-size);padding-right:var(--input-space);pointer-events:none;text-align:left}.Select-Placeholder_isHidden{opacity:0;visibility:hidden}.Select-Control_hasInput .Select-Placeholder{background-color:transparent;line-height:calc(var(--input-height) - 2px);position:absolute;top:0;width:calc(100% - var(--input-space))}.Select-DropdownIndicatorIcon{position:relative;top:1px}.Select-ClearIndicator{background-color:transparent;border:none;color:var(--color-control-typo-clear);cursor:pointer;margin:0;padding:0 var(--space-xs)}.Select-ClearIndicatorIcon{position:relative;top:1px}.Select-Input{background-color:transparent;border:none;color:inherit;font-family:inherit;font-size:inherit;line-height:calc(var(--input-height) - 2px);margin:0;outline:none;padding:0;position:relative;width:100%}.Select-Input_hide{bottom:0;left:0;opacity:0;position:absolute;top:0;width:100%}.Select-Input_multiple{display:inline-flex;height:calc(var(--input-height) - var(--control-border-width)*2);line-height:1;line-height:calc(var(--input-height) - var(--control-border-width)*2);margin-top:calc(var(--tag-space)*-1);min-width:10px}.Select-Input_multiple.Select-Input_isUserSelect{margin-top:calc(var(--space-s)/4*-1)}.Select-FakeField{bottom:0;left:0;opacity:0;position:absolute;top:0;width:100%}.Select-HelperInputFakeElement{display:inline-block;font-size:var(--input-font-size);height:0;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:nowrap}
@@ -1,3 +1,4 @@
1
+ import { IconComponent } from '@consta/icons/Icon';
1
2
  import React from 'react';
2
3
  import { PropsWithHTMLAttributesAndRef } from '../../../utils/types/PropsWithHTMLAttributes';
3
4
  import { PropForm, PropSize, PropStatus, PropView } from '../types';
@@ -11,8 +12,9 @@ export declare type SelectContainerProps = PropsWithHTMLAttributesAndRef<{
11
12
  required?: boolean;
12
13
  status?: PropStatus;
13
14
  label?: string;
15
+ labelIcon?: IconComponent;
14
16
  type?: 'select' | 'combobox' | 'userselect';
15
17
  labelPosition?: 'top' | 'left';
16
18
  caption?: string;
17
19
  }, HTMLDivElement>;
18
- export declare const SelectContainer: React.ForwardRefExoticComponent<Pick<SelectContainerProps, "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "size" | "caption" | "form" | "label" | "view" | "status" | "key" | "type" | "disabled" | "multiple" | "required" | "focused" | "labelPosition"> & React.RefAttributes<HTMLDivElement>>;
20
+ export declare const SelectContainer: React.ForwardRefExoticComponent<Pick<SelectContainerProps, "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "size" | "caption" | "form" | "label" | "view" | "status" | "key" | "type" | "disabled" | "multiple" | "required" | "focused" | "labelIcon" | "labelPosition"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","form","view","className","disabled","required","children","status","focused","multiple","type","labelPosition","label","caption"];import React,{forwardRef}from"react";import{FieldCaption}from"../../FieldCaption/FieldCaption";import{FieldLabel}from"../../FieldLabel/FieldLabel";import{cnSelect}from"../cnSelect";import{defaultPropForm,defaultPropSize,defaultPropView}from"../types";export var SelectContainer=forwardRef(function(a,b){var c=a.size,d=void 0===c?defaultPropSize:c,e=a.form,f=void 0===e?defaultPropForm:e,g=a.view,h=void 0===g?defaultPropView:g,i=a.className,j=a.disabled,k=a.required,l=a.children,m=a.status,n=a.focused,o=a.multiple,p=a.type,q=void 0===p?"select":p,r=a.labelPosition,s=void 0===r?"top":r,t=a.label,u=a.caption,v=_objectWithoutProperties(a,_excluded);return React.createElement("div",Object.assign({className:cnSelect({labelPosition:s,size:d,view:h,type:q},[i])},v),t&&React.createElement(FieldLabel,{required:k,className:cnSelect("Label",{labelPosition:s}),size:d},t),React.createElement("div",{className:cnSelect("Body")},React.createElement("div",{className:cnSelect("SelectContainer",{view:h,form:f,disabled:j,focused:n,multiple:o,status:m}),ref:b},l),u&&React.createElement(FieldCaption,{className:cnSelect("Caption"),status:m},u)))});
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","form","view","className","disabled","required","children","status","focused","multiple","type","labelPosition","label","labelIcon","caption"];import React,{forwardRef}from"react";import{FieldCaption}from"../../FieldCaption/FieldCaption";import{FieldLabel}from"../../FieldLabel/FieldLabel";import{cnSelect}from"../cnSelect";import{defaultPropForm,defaultPropSize,defaultPropView}from"../types";export var SelectContainer=forwardRef(function(a,b){var c=a.size,d=void 0===c?defaultPropSize:c,e=a.form,f=void 0===e?defaultPropForm:e,g=a.view,h=void 0===g?defaultPropView:g,i=a.className,j=a.disabled,k=a.required,l=a.children,m=a.status,n=a.focused,o=a.multiple,p=a.type,q=void 0===p?"select":p,r=a.labelPosition,s=void 0===r?"top":r,t=a.label,u=a.labelIcon,v=a.caption,w=_objectWithoutProperties(a,_excluded);return React.createElement("div",Object.assign({className:cnSelect({labelPosition:s,size:d,view:h,type:q},[i])},w),t&&React.createElement(FieldLabel,{icon:u,required:k,className:cnSelect("Label",{labelPosition:s}),size:d},t),React.createElement("div",{className:cnSelect("Body")},React.createElement("div",{className:cnSelect("SelectContainer",{view:h,form:f,disabled:j,focused:n,multiple:o,status:m}),ref:b},l),v&&React.createElement(FieldCaption,{className:cnSelect("Caption"),status:m},v)))});
2
2
  //# sourceMappingURL=SelectContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectContainer.js","names":["React","forwardRef","FieldCaption","FieldLabel","cnSelect","defaultPropForm","defaultPropSize","defaultPropView","SelectContainer","props","ref","size","form","view","className","disabled","required","children","status","focused","multiple","type","labelPosition","label","caption","otherProps"],"sources":["../../../../../../src/components/SelectComponents/SelectContainer/SelectContainer.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../../utils/types/PropsWithHTMLAttributes';\nimport { FieldCaption } from '../../FieldCaption/FieldCaption';\nimport { FieldLabel } from '../../FieldLabel/FieldLabel';\nimport { cnSelect } from '../cnSelect';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n} from '../types';\n\nexport type SelectContainerProps = PropsWithHTMLAttributesAndRef<\n {\n disabled?: boolean;\n form?: PropForm;\n size?: PropSize;\n view?: PropView;\n focused?: boolean;\n multiple?: boolean;\n required?: boolean;\n status?: PropStatus;\n label?: string;\n type?: 'select' | 'combobox' | 'userselect';\n labelPosition?: 'top' | 'left';\n caption?: string;\n },\n HTMLDivElement\n>;\n\nexport const SelectContainer = forwardRef<HTMLDivElement, SelectContainerProps>(\n (props, ref) => {\n const {\n size = defaultPropSize,\n form = defaultPropForm,\n view = defaultPropView,\n className,\n disabled,\n required,\n children,\n status,\n focused,\n multiple,\n type = 'select',\n labelPosition = 'top',\n label,\n caption,\n ...otherProps\n } = props;\n\n return (\n <div\n className={cnSelect({ labelPosition, size, view, type }, [className])}\n {...otherProps}\n >\n {label && (\n <FieldLabel\n required={required}\n className={cnSelect('Label', { labelPosition })}\n size={size}\n >\n {label}\n </FieldLabel>\n )}\n <div className={cnSelect('Body')}>\n <div\n className={cnSelect('SelectContainer', {\n view,\n form,\n disabled,\n focused,\n multiple,\n status,\n })}\n ref={ref}\n >\n {children}\n </div>\n {caption && (\n <FieldCaption className={cnSelect('Caption')} status={status}>\n {caption}\n </FieldCaption>\n )}\n </div>\n </div>\n );\n },\n);\n"],"mappings":"8OAAA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAGA,OAASC,YAAT,uCACA,OAASC,UAAT,mCACA,OAASC,QAAT,mBACA,OACEC,eADF,CAEEC,eAFF,CAGEC,eAHF,gBA4BA,MAAO,IAAMC,gBAAe,CAAGP,UAAU,CACvC,SAACQ,CAAD,CAAQC,CAAR,CAAgB,CACd,MAgBID,CAhBJ,CACEE,IADF,CACEA,CADF,YACSL,eADT,KAgBIG,CAhBJ,CAEEG,IAFF,CAEEA,CAFF,YAESP,eAFT,KAgBII,CAhBJ,CAGEI,IAHF,CAGEA,CAHF,YAGSN,eAHT,GAIEO,CAJF,CAgBIL,CAhBJ,CAIEK,SAJF,CAKEC,CALF,CAgBIN,CAhBJ,CAKEM,QALF,CAMEC,CANF,CAgBIP,CAhBJ,CAMEO,QANF,CAOEC,CAPF,CAgBIR,CAhBJ,CAOEQ,QAPF,CAQEC,CARF,CAgBIT,CAhBJ,CAQES,MARF,CASEC,CATF,CAgBIV,CAhBJ,CASEU,OATF,CAUEC,CAVF,CAgBIX,CAhBJ,CAUEW,QAVF,GAgBIX,CAhBJ,CAWEY,IAXF,CAWEA,CAXF,YAWS,QAXT,KAgBIZ,CAhBJ,CAYEa,aAZF,CAYEA,CAZF,YAYkB,KAZlB,GAaEC,CAbF,CAgBId,CAhBJ,CAaEc,KAbF,CAcEC,CAdF,CAgBIf,CAhBJ,CAcEe,OAdF,CAeKC,CAfL,0BAgBIhB,CAhBJ,YAkBA,MACE,0CACE,SAAS,CAAEL,QAAQ,CAAC,CAAEkB,aAAa,CAAbA,CAAF,CAAiBX,IAAI,CAAJA,CAAjB,CAAuBE,IAAI,CAAJA,CAAvB,CAA6BQ,IAAI,CAAJA,CAA7B,CAAD,CAAsC,CAACP,CAAD,CAAtC,CADrB,EAEMW,CAFN,EAIGF,CAAK,EACJ,oBAAC,UAAD,EACE,QAAQ,CAAEP,CADZ,CAEE,SAAS,CAAEZ,QAAQ,CAAC,OAAD,CAAU,CAAEkB,aAAa,CAAbA,CAAF,CAAV,CAFrB,CAGE,IAAI,CAAEX,CAHR,EAKGY,CALH,CALJ,CAaE,2BAAK,SAAS,CAAEnB,QAAQ,CAAC,MAAD,CAAxB,EACE,2BACE,SAAS,CAAEA,QAAQ,CAAC,iBAAD,CAAoB,CACrCS,IAAI,CAAJA,CADqC,CAErCD,IAAI,CAAJA,CAFqC,CAGrCG,QAAQ,CAARA,CAHqC,CAIrCI,OAAO,CAAPA,CAJqC,CAKrCC,QAAQ,CAARA,CALqC,CAMrCF,MAAM,CAANA,CANqC,CAApB,CADrB,CASE,GAAG,CAAER,CATP,EAWGO,CAXH,CADF,CAcGO,CAAO,EACN,oBAAC,YAAD,EAAc,SAAS,CAAEpB,QAAQ,CAAC,SAAD,CAAjC,CAA8C,MAAM,CAAEc,CAAtD,EACGM,CADH,CAfJ,CAbF,CAmCH,CAxDsC,CAAlC"}
1
+ {"version":3,"file":"SelectContainer.js","names":["React","forwardRef","FieldCaption","FieldLabel","cnSelect","defaultPropForm","defaultPropSize","defaultPropView","SelectContainer","props","ref","size","form","view","className","disabled","required","children","status","focused","multiple","type","labelPosition","label","labelIcon","caption","otherProps"],"sources":["../../../../../../src/components/SelectComponents/SelectContainer/SelectContainer.tsx"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React, { forwardRef } from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../../utils/types/PropsWithHTMLAttributes';\nimport { FieldCaption } from '../../FieldCaption/FieldCaption';\nimport { FieldLabel } from '../../FieldLabel/FieldLabel';\nimport { cnSelect } from '../cnSelect';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n} from '../types';\n\nexport type SelectContainerProps = PropsWithHTMLAttributesAndRef<\n {\n disabled?: boolean;\n form?: PropForm;\n size?: PropSize;\n view?: PropView;\n focused?: boolean;\n multiple?: boolean;\n required?: boolean;\n status?: PropStatus;\n label?: string;\n labelIcon?: IconComponent;\n type?: 'select' | 'combobox' | 'userselect';\n labelPosition?: 'top' | 'left';\n caption?: string;\n },\n HTMLDivElement\n>;\n\nexport const SelectContainer = forwardRef<HTMLDivElement, SelectContainerProps>(\n (props, ref) => {\n const {\n size = defaultPropSize,\n form = defaultPropForm,\n view = defaultPropView,\n className,\n disabled,\n required,\n children,\n status,\n focused,\n multiple,\n type = 'select',\n labelPosition = 'top',\n label,\n labelIcon,\n caption,\n ...otherProps\n } = props;\n\n return (\n <div\n className={cnSelect({ labelPosition, size, view, type }, [className])}\n {...otherProps}\n >\n {label && (\n <FieldLabel\n icon={labelIcon}\n required={required}\n className={cnSelect('Label', { labelPosition })}\n size={size}\n >\n {label}\n </FieldLabel>\n )}\n <div className={cnSelect('Body')}>\n <div\n className={cnSelect('SelectContainer', {\n view,\n form,\n disabled,\n focused,\n multiple,\n status,\n })}\n ref={ref}\n >\n {children}\n </div>\n {caption && (\n <FieldCaption className={cnSelect('Caption')} status={status}>\n {caption}\n </FieldCaption>\n )}\n </div>\n </div>\n );\n },\n);\n"],"mappings":"0PACA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAGA,OAASC,YAAT,uCACA,OAASC,UAAT,mCACA,OAASC,QAAT,mBACA,OACEC,eADF,CAEEC,eAFF,CAGEC,eAHF,gBA6BA,MAAO,IAAMC,gBAAe,CAAGP,UAAU,CACvC,SAACQ,CAAD,CAAQC,CAAR,CAAgB,CACd,MAiBID,CAjBJ,CACEE,IADF,CACEA,CADF,YACSL,eADT,KAiBIG,CAjBJ,CAEEG,IAFF,CAEEA,CAFF,YAESP,eAFT,KAiBII,CAjBJ,CAGEI,IAHF,CAGEA,CAHF,YAGSN,eAHT,GAIEO,CAJF,CAiBIL,CAjBJ,CAIEK,SAJF,CAKEC,CALF,CAiBIN,CAjBJ,CAKEM,QALF,CAMEC,CANF,CAiBIP,CAjBJ,CAMEO,QANF,CAOEC,CAPF,CAiBIR,CAjBJ,CAOEQ,QAPF,CAQEC,CARF,CAiBIT,CAjBJ,CAQES,MARF,CASEC,CATF,CAiBIV,CAjBJ,CASEU,OATF,CAUEC,CAVF,CAiBIX,CAjBJ,CAUEW,QAVF,GAiBIX,CAjBJ,CAWEY,IAXF,CAWEA,CAXF,YAWS,QAXT,KAiBIZ,CAjBJ,CAYEa,aAZF,CAYEA,CAZF,YAYkB,KAZlB,GAaEC,CAbF,CAiBId,CAjBJ,CAaEc,KAbF,CAcEC,CAdF,CAiBIf,CAjBJ,CAcEe,SAdF,CAeEC,CAfF,CAiBIhB,CAjBJ,CAeEgB,OAfF,CAgBKC,CAhBL,0BAiBIjB,CAjBJ,YAmBA,MACE,0CACE,SAAS,CAAEL,QAAQ,CAAC,CAAEkB,aAAa,CAAbA,CAAF,CAAiBX,IAAI,CAAJA,CAAjB,CAAuBE,IAAI,CAAJA,CAAvB,CAA6BQ,IAAI,CAAJA,CAA7B,CAAD,CAAsC,CAACP,CAAD,CAAtC,CADrB,EAEMY,CAFN,EAIGH,CAAK,EACJ,oBAAC,UAAD,EACE,IAAI,CAAEC,CADR,CAEE,QAAQ,CAAER,CAFZ,CAGE,SAAS,CAAEZ,QAAQ,CAAC,OAAD,CAAU,CAAEkB,aAAa,CAAbA,CAAF,CAAV,CAHrB,CAIE,IAAI,CAAEX,CAJR,EAMGY,CANH,CALJ,CAcE,2BAAK,SAAS,CAAEnB,QAAQ,CAAC,MAAD,CAAxB,EACE,2BACE,SAAS,CAAEA,QAAQ,CAAC,iBAAD,CAAoB,CACrCS,IAAI,CAAJA,CADqC,CAErCD,IAAI,CAAJA,CAFqC,CAGrCG,QAAQ,CAARA,CAHqC,CAIrCI,OAAO,CAAPA,CAJqC,CAKrCC,QAAQ,CAARA,CALqC,CAMrCF,MAAM,CAANA,CANqC,CAApB,CADrB,CASE,GAAG,CAAER,CATP,EAWGO,CAXH,CADF,CAcGQ,CAAO,EACN,oBAAC,YAAD,EAAc,SAAS,CAAErB,QAAQ,CAAC,SAAD,CAAjC,CAA8C,MAAM,CAAEc,CAAtD,EACGO,CADH,CAfJ,CAdF,CAoCH,CA1DsC,CAAlC"}
@@ -1,7 +1,9 @@
1
1
  import './SelectDropdown.css';
2
2
  import React from 'react';
3
+ import { SelectAllItem } from "../../../utils/getGroups";
3
4
  import { GetOptionPropsResult, OptionForCreate, OptionProps } from '../../../hooks/useSelect/useSelect';
4
5
  import { PropsWithJsxAttributes } from '../../../utils/types/PropsWithJsxAttributes';
6
+ import { PopoverPropOffset } from '../../Popover/Popover';
5
7
  import { PropSize, RenderItemProps } from '../types';
6
8
  export declare const selectDropdownform: readonly ["default", "brick", "round"];
7
9
  export declare type SelectDropdownPropForm = typeof selectDropdownform[number];
@@ -9,17 +11,20 @@ export declare const defaultSelectDropdownPropForm: "default";
9
11
  declare type Props<ITEM, GROUP> = PropsWithJsxAttributes<{
10
12
  size: PropSize;
11
13
  controlRef: React.MutableRefObject<HTMLDivElement | null>;
12
- dropdownRef: React.MutableRefObject<HTMLDivElement | null>;
14
+ dropdownRef: React.Ref<HTMLDivElement>;
13
15
  getOptionProps(props: OptionProps<ITEM>): GetOptionPropsResult;
14
16
  form: SelectDropdownPropForm;
15
17
  isOpen: boolean;
18
+ offset?: PopoverPropOffset | 'none';
16
19
  isLoading?: boolean;
17
20
  renderItem: (props: RenderItemProps<ITEM>) => JSX.Element | null;
18
21
  visibleItems: (OptionForCreate | {
19
- items: ITEM[];
22
+ items: Array<SelectAllItem | ITEM>;
20
23
  key: string | number;
21
24
  group?: GROUP;
22
25
  groupIndex: number;
26
+ checkedCount?: number;
27
+ totalCount?: number;
23
28
  })[];
24
29
  getGroupLabel?: (group: GROUP) => string;
25
30
  labelForCreate?: string;
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["controlRef","size","getOptionProps","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","renderItem","visibleItems","isLoading","getGroupLabel","notFound"];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"./SelectDropdown.css";import React,{Fragment,useMemo,useRef}from"react";import{Transition}from"react-transition-group";import{cnListBox,ListItem,mapVerticalSpase}from"../../ListCanary";import{cnMixSpace}from"../../../mixs/MixSpace";import{isOptionForCreate}from"../../../hooks/useSelect/useSelect";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";import{cn}from"../../../utils/bem";import{fabricIndex}from"../../../utils/fabricIndex";import{Popover}from"../../Popover/Popover";import{SelectCreateButton}from"../SelectCreateButton/SelectCreateButton";import{SelectGroupLabel}from"../SelectGroupLabel/SelectGroupLabel";import{SelectLoader}from"../SelectLoader/SelectLoader";export var selectDropdownform=["default","brick","round"];export var defaultSelectDropdownPropForm=selectDropdownform[0];var cnSelectDropdown=cn("SelectDropdown");export var SelectDropdown=function(a){var b=a.controlRef,c=a.size,d=a.getOptionProps,e=a.dropdownRef,f=a.labelForCreate,g=a.className,h=a.labelForNotFound,i=a.labelForEmptyItems,j=a.hasItems,k=!(void 0!==j)||j,l=a.form,m=a.isOpen,n=a.renderItem,o=a.visibleItems,p=a.isLoading,q=a.getGroupLabel,r=a.notFound,s=_objectWithoutProperties(a,_excluded),t="round"===l?"increased":"normal",u=useRef(null),v=useMemo(function(){return 0<o.filter(function(a){return isOptionForCreate(a)||Array.isArray(a.items)&&0<a.items.length}).length},[o]);return React.createElement(Transition,{in:m,unmountOnExit:!0,nodeRef:u,timeout:animateTimeout},function(a){var j=fabricIndex(-1);return React.createElement(Popover,Object.assign({},s,{anchorRef:b,direction:"downStartLeft",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],offset:"2xs",ref:u,role:"listbox",className:cnSelectDropdown(null,[cnListBox({size:c,form:l,border:!0,shadow:!0}),cnMixPopoverAnimate({animate:a}),g]),equalAnchorWidth:!0}),React.createElement("div",{className:cnSelectDropdown("List",[cnMixSpace({pV:mapVerticalSpase[c]})]),ref:e},p&&React.createElement(SelectLoader,{mode:v?"blur":"empty"}),o.map(function(a){return isOptionForCreate(a)?React.createElement(SelectCreateButton,Object.assign({size:c,labelForCreate:f,inputValue:a.label,indent:t},d({index:j(),item:a}))):React.createElement(Fragment,{key:a.key},a.group&&q&&React.createElement(SelectGroupLabel,{label:q(a.group),size:c,indent:t}),a.items.map(function(b,c){return React.createElement(Fragment,{key:"".concat(a.key,"-").concat(c)},n(_objectSpread({item:b},d({index:j(),item:b}))))}))}),!p&&k&&r&&h&&React.createElement(ListItem,{size:c,label:h,innerOffset:t},h),!p&&!k&&i&&React.createElement(ListItem,{size:c,label:h,innerOffset:t},i)))})};
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["controlRef","size","getOptionProps","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","renderItem","visibleItems","isLoading","getGroupLabel","notFound"];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"./SelectDropdown.css";import React,{Fragment,useMemo,useRef}from"react";import{Transition}from"react-transition-group";import{cnListBox,ListItem,mapVerticalSpase}from"../../ListCanary";import{cnMixSpace}from"../../../mixs/MixSpace";import{isOptionForCreate,isOptionForSelectAll}from"../../../hooks/useSelect/useSelect";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";import{cn}from"../../../utils/bem";import{fabricIndex}from"../../../utils/fabricIndex";import{Popover}from"../../Popover/Popover";import{SelectCreateButton}from"../SelectCreateButton/SelectCreateButton";import{SelectGroupLabel}from"../SelectGroupLabel/SelectGroupLabel";import{SelectItemAll}from"../SelectItemAll/SelectSelectAll";import{SelectLoader}from"../SelectLoader/SelectLoader";export var selectDropdownform=["default","brick","round"];export var defaultSelectDropdownPropForm=selectDropdownform[0];var cnSelectDropdown=cn("SelectDropdown");export var SelectDropdown=function(a){var b=a.controlRef,c=a.size,d=a.getOptionProps,e=a.dropdownRef,f=a.labelForCreate,g=a.className,h=a.labelForNotFound,i=a.labelForEmptyItems,j=a.hasItems,k=!(void 0!==j)||j,l=a.form,m=a.isOpen,n=a.offset,o=void 0===n?"none":n,p=a.renderItem,q=a.visibleItems,r=a.isLoading,s=a.getGroupLabel,t=a.notFound,u=_objectWithoutProperties(a,_excluded),v="round"===l?"increased":"normal",w=useRef(null),x=useMemo(function(){return 0<q.filter(function(a){return isOptionForCreate(a)||Array.isArray(a.items)&&0<a.items.length}).length},[q]),y="none"===o?void 0:o;return React.createElement(Transition,{in:m,unmountOnExit:!0,nodeRef:w,timeout:animateTimeout},function(a){var j=fabricIndex(-1);return React.createElement(Popover,Object.assign({},u,{anchorRef:b,direction:"downStartLeft",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],offset:y,ref:w,role:"listbox",className:cnSelectDropdown(null,[cnListBox({size:c,form:l,border:!0,shadow:!0}),cnMixPopoverAnimate({animate:a}),g]),equalAnchorWidth:!0}),React.createElement("div",{className:cnSelectDropdown("List",[cnMixSpace({pV:mapVerticalSpase[c]})]),ref:e},r&&React.createElement(SelectLoader,{mode:x?"blur":"empty"}),q.map(function(a){return isOptionForCreate(a)?React.createElement(SelectCreateButton,Object.assign({size:c,labelForCreate:f,inputValue:a.label,indent:v},d({index:j(),item:a}))):React.createElement(Fragment,{key:a.key},a.group&&s&&React.createElement(SelectGroupLabel,{label:s(a.group),size:c,indent:v}),a.items.map(function(b,e){return isOptionForSelectAll(b)?React.createElement(SelectItemAll,Object.assign({indent:v,size:c},d({index:j(),item:b}),{intermediate:!!(b.checkedCount&&b.totalCount)&&b.checkedCount!==b.totalCount,checked:b.checkedCount===b.totalCount,countItems:b.checkedCount,total:b.totalCount})):React.createElement(Fragment,{key:"".concat(a.key,"-").concat(e)},p(_objectSpread({item:b},d({index:j(),item:b}))))}))}),!r&&k&&t&&h&&React.createElement(ListItem,{size:c,label:h,innerOffset:v},h),!r&&!k&&i&&React.createElement(ListItem,{size:c,label:h,innerOffset:v},i)))})};
2
2
  //# sourceMappingURL=SelectDropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectDropdown.js","names":["React","Fragment","useMemo","useRef","Transition","cnListBox","ListItem","mapVerticalSpase","cnMixSpace","isOptionForCreate","animateTimeout","cnMixPopoverAnimate","cn","fabricIndex","Popover","SelectCreateButton","SelectGroupLabel","SelectLoader","selectDropdownform","defaultSelectDropdownPropForm","cnSelectDropdown","SelectDropdown","props","controlRef","size","getOptionProps","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","renderItem","visibleItems","isLoading","getGroupLabel","notFound","otherProps","indent","popoverRef","isListShowed","filter","group","Array","isArray","items","length","animate","getIndex","border","shadow","pV","map","label","index","item","key","i"],"sources":["../../../../../../src/components/SelectComponents/SelectDropdown/SelectDropdown.tsx"],"sourcesContent":["import './SelectDropdown.css';\n\nimport React, { Fragment, useMemo, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n cnListBox,\n ListItem,\n mapVerticalSpase,\n} from '##/components/ListCanary';\nimport { cnMixSpace } from '##/mixs/MixSpace';\n\nimport {\n GetOptionPropsResult,\n isOptionForCreate,\n OptionForCreate,\n OptionProps,\n} from '../../../hooks/useSelect/useSelect';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '../../../mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { cn } from '../../../utils/bem';\nimport { fabricIndex } from '../../../utils/fabricIndex';\nimport { PropsWithJsxAttributes } from '../../../utils/types/PropsWithJsxAttributes';\nimport { Popover } from '../../Popover/Popover';\nimport { SelectCreateButton } from '../SelectCreateButton/SelectCreateButton';\nimport { SelectGroupLabel } from '../SelectGroupLabel/SelectGroupLabel';\nimport { SelectLoader } from '../SelectLoader/SelectLoader';\nimport { PropSize, RenderItemProps } from '../types';\n\nexport const selectDropdownform = ['default', 'brick', 'round'] as const;\nexport type SelectDropdownPropForm = typeof selectDropdownform[number];\nexport const defaultSelectDropdownPropForm = selectDropdownform[0];\n\ntype Props<ITEM, GROUP> = PropsWithJsxAttributes<{\n size: PropSize;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n dropdownRef: React.MutableRefObject<HTMLDivElement | null>;\n getOptionProps(props: OptionProps<ITEM>): GetOptionPropsResult;\n form: SelectDropdownPropForm;\n isOpen: boolean;\n isLoading?: boolean;\n renderItem: (props: RenderItemProps<ITEM>) => JSX.Element | null;\n visibleItems: (\n | OptionForCreate\n | {\n items: ITEM[];\n key: string | number;\n group?: GROUP;\n groupIndex: number;\n }\n )[];\n getGroupLabel?: (group: GROUP) => string;\n labelForCreate?: string;\n labelForNotFound?: string;\n labelForEmptyItems?: string;\n notFound?: boolean;\n hasItems?: boolean;\n}>;\n\ntype SelectDropdown = <ITEM, GROUP>(\n props: Props<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nconst cnSelectDropdown = cn('SelectDropdown');\n\nexport const SelectDropdown: SelectDropdown = (props) => {\n const {\n controlRef,\n size,\n getOptionProps,\n dropdownRef,\n labelForCreate,\n className,\n labelForNotFound,\n labelForEmptyItems,\n hasItems = true,\n form,\n isOpen,\n renderItem,\n visibleItems,\n isLoading,\n getGroupLabel,\n notFound,\n ...otherProps\n } = props;\n\n const indent = form === 'round' ? 'increased' : 'normal';\n\n const popoverRef = useRef<HTMLDivElement>(null);\n\n const isListShowed = useMemo(() => {\n return (\n visibleItems.filter(\n (group) =>\n isOptionForCreate(group) ||\n (Array.isArray(group.items) && group.items.length > 0),\n ).length > 0\n );\n }, [visibleItems]);\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n nodeRef={popoverRef}\n timeout={animateTimeout}\n >\n {(animate) => {\n const getIndex = fabricIndex(-1);\n return (\n <Popover\n {...otherProps}\n anchorRef={controlRef}\n direction=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n offset=\"2xs\"\n ref={popoverRef}\n role=\"listbox\"\n className={cnSelectDropdown(null, [\n cnListBox({ size, form, border: true, shadow: true }),\n cnMixPopoverAnimate({ animate }),\n className,\n ])}\n equalAnchorWidth\n >\n <div\n className={cnSelectDropdown('List', [\n cnMixSpace({\n pV: mapVerticalSpase[size],\n }),\n ])}\n ref={dropdownRef}\n >\n {isLoading && (\n <SelectLoader mode={isListShowed ? 'blur' : 'empty'} />\n )}\n {visibleItems.map((group) => {\n if (isOptionForCreate(group)) {\n return (\n <SelectCreateButton\n size={size}\n labelForCreate={labelForCreate}\n inputValue={group.label}\n indent={indent}\n {...getOptionProps({ index: getIndex(), item: group })}\n />\n );\n }\n return (\n <Fragment key={group.key}>\n {group.group && getGroupLabel && (\n <SelectGroupLabel\n label={getGroupLabel(group.group)}\n size={size}\n indent={indent}\n />\n )}\n {group.items.map((item, i) => {\n return (\n <Fragment key={`${group.key}-${i}`}>\n {renderItem({\n item,\n ...getOptionProps({ index: getIndex(), item }),\n })}\n </Fragment>\n );\n })}\n </Fragment>\n );\n })}\n {!isLoading && hasItems && notFound && labelForNotFound && (\n <ListItem\n size={size}\n label={labelForNotFound}\n innerOffset={indent}\n >\n {labelForNotFound}\n </ListItem>\n )}\n {!isLoading && !hasItems && labelForEmptyItems && (\n <ListItem\n size={size}\n label={labelForNotFound}\n innerOffset={indent}\n >\n {labelForEmptyItems}\n </ListItem>\n )}\n </div>\n </Popover>\n );\n }}\n </Transition>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectDropdown.js","names":["React","Fragment","useMemo","useRef","Transition","cnListBox","ListItem","mapVerticalSpase","cnMixSpace","isOptionForCreate","isOptionForSelectAll","animateTimeout","cnMixPopoverAnimate","cn","fabricIndex","Popover","SelectCreateButton","SelectGroupLabel","SelectItemAll","SelectLoader","selectDropdownform","defaultSelectDropdownPropForm","cnSelectDropdown","SelectDropdown","props","controlRef","size","getOptionProps","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","offsetProp","renderItem","visibleItems","isLoading","getGroupLabel","notFound","otherProps","indent","popoverRef","isListShowed","filter","group","Array","isArray","items","length","animate","getIndex","border","shadow","pV","map","label","index","item","key","i","checkedCount","totalCount"],"sources":["../../../../../../src/components/SelectComponents/SelectDropdown/SelectDropdown.tsx"],"sourcesContent":["import './SelectDropdown.css';\n\nimport React, { Fragment, useMemo, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n cnListBox,\n ListItem,\n mapVerticalSpase,\n} from '##/components/ListCanary';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { SelectAllItem } from '##/utils/getGroups';\n\nimport {\n GetOptionPropsResult,\n isOptionForCreate,\n isOptionForSelectAll,\n OptionForCreate,\n OptionProps,\n} from '../../../hooks/useSelect/useSelect';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '../../../mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { cn } from '../../../utils/bem';\nimport { fabricIndex } from '../../../utils/fabricIndex';\nimport { PropsWithJsxAttributes } from '../../../utils/types/PropsWithJsxAttributes';\nimport { Popover, PopoverPropOffset } from '../../Popover/Popover';\nimport { SelectCreateButton } from '../SelectCreateButton/SelectCreateButton';\nimport { SelectGroupLabel } from '../SelectGroupLabel/SelectGroupLabel';\nimport { SelectItemAll } from '../SelectItemAll/SelectSelectAll';\nimport { SelectLoader } from '../SelectLoader/SelectLoader';\nimport { PropSize, RenderItemProps } from '../types';\n\nexport const selectDropdownform = ['default', 'brick', 'round'] as const;\nexport type SelectDropdownPropForm = typeof selectDropdownform[number];\nexport const defaultSelectDropdownPropForm = selectDropdownform[0];\n\ntype Props<ITEM, GROUP> = PropsWithJsxAttributes<{\n size: PropSize;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n dropdownRef: React.Ref<HTMLDivElement>;\n getOptionProps(props: OptionProps<ITEM>): GetOptionPropsResult;\n form: SelectDropdownPropForm;\n isOpen: boolean;\n offset?: PopoverPropOffset | 'none';\n isLoading?: boolean;\n renderItem: (props: RenderItemProps<ITEM>) => JSX.Element | null;\n visibleItems: (\n | OptionForCreate\n | {\n items: Array<SelectAllItem | ITEM>;\n key: string | number;\n group?: GROUP;\n groupIndex: number;\n checkedCount?: number;\n totalCount?: number;\n }\n )[];\n getGroupLabel?: (group: GROUP) => string;\n labelForCreate?: string;\n labelForNotFound?: string;\n labelForEmptyItems?: string;\n notFound?: boolean;\n hasItems?: boolean;\n}>;\n\ntype SelectDropdown = <ITEM, GROUP>(\n props: Props<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nconst cnSelectDropdown = cn('SelectDropdown');\n\nexport const SelectDropdown: SelectDropdown = (props) => {\n const {\n controlRef,\n size,\n getOptionProps,\n dropdownRef,\n labelForCreate,\n className,\n labelForNotFound,\n labelForEmptyItems,\n hasItems = true,\n form,\n isOpen,\n offset: offsetProp = 'none',\n renderItem,\n visibleItems,\n isLoading,\n getGroupLabel,\n notFound,\n ...otherProps\n } = props;\n\n const indent = form === 'round' ? 'increased' : 'normal';\n\n const popoverRef = useRef<HTMLDivElement>(null);\n\n const isListShowed = useMemo(() => {\n return (\n visibleItems.filter(\n (group) =>\n isOptionForCreate(group) ||\n (Array.isArray(group.items) && group.items.length > 0),\n ).length > 0\n );\n }, [visibleItems]);\n\n const offset = offsetProp === 'none' ? undefined : offsetProp;\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n nodeRef={popoverRef}\n timeout={animateTimeout}\n >\n {(animate) => {\n const getIndex = fabricIndex(-1);\n return (\n <Popover\n {...otherProps}\n anchorRef={controlRef}\n direction=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n offset={offset}\n ref={popoverRef}\n role=\"listbox\"\n className={cnSelectDropdown(null, [\n cnListBox({ size, form, border: true, shadow: true }),\n cnMixPopoverAnimate({ animate }),\n className,\n ])}\n equalAnchorWidth\n >\n <div\n className={cnSelectDropdown('List', [\n cnMixSpace({\n pV: mapVerticalSpase[size],\n }),\n ])}\n ref={dropdownRef}\n >\n {isLoading && (\n <SelectLoader mode={isListShowed ? 'blur' : 'empty'} />\n )}\n {visibleItems.map((group) => {\n if (isOptionForCreate(group)) {\n return (\n <SelectCreateButton\n size={size}\n labelForCreate={labelForCreate}\n inputValue={group.label}\n indent={indent}\n {...getOptionProps({ index: getIndex(), item: group })}\n />\n );\n }\n return (\n <Fragment key={group.key}>\n {group.group && getGroupLabel && (\n <SelectGroupLabel\n label={getGroupLabel(group.group)}\n size={size}\n indent={indent}\n />\n )}\n {group.items.map((item, i) => {\n if (isOptionForSelectAll(item)) {\n return (\n <SelectItemAll\n indent={indent}\n size={size}\n {...getOptionProps({ index: getIndex(), item })}\n intermediate={\n item.checkedCount && item.totalCount\n ? item.checkedCount !== item.totalCount\n : false\n }\n checked={item.checkedCount === item.totalCount}\n countItems={item.checkedCount}\n total={item.totalCount}\n />\n );\n }\n return (\n <Fragment key={`${group.key}-${i}`}>\n {renderItem({\n item,\n ...getOptionProps({ index: getIndex(), item }),\n })}\n </Fragment>\n );\n })}\n </Fragment>\n );\n })}\n {!isLoading && hasItems && notFound && labelForNotFound && (\n <ListItem\n size={size}\n label={labelForNotFound}\n innerOffset={indent}\n >\n {labelForNotFound}\n </ListItem>\n )}\n {!isLoading && !hasItems && labelForEmptyItems && (\n <ListItem\n size={size}\n label={labelForNotFound}\n innerOffset={indent}\n >\n {labelForEmptyItems}\n </ListItem>\n )}\n </div>\n </Popover>\n );\n }}\n </Transition>\n );\n};\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import './SelectItem.css';
2
2
  import React from 'react';
3
3
  import { PropsWithHTMLAttributes } from '../../../utils/types/PropsWithHTMLAttributes';
4
+ import { CheckboxPropSize } from '../../Checkbox/Checkbox';
4
5
  import { PropSize } from '../types';
5
6
  export declare type SelectItemProps = PropsWithHTMLAttributes<{
6
7
  label: string;
@@ -11,5 +12,6 @@ export declare type SelectItemProps = PropsWithHTMLAttributes<{
11
12
  indent: 'normal' | 'increased';
12
13
  disabled: boolean | undefined;
13
14
  }, HTMLDivElement>;
15
+ export declare const sizeCheckboxMap: Record<PropSize, CheckboxPropSize>;
14
16
  export declare const cnSelectItem: import("@bem-react/classname").ClassNameFormatter;
15
17
  export declare const SelectItem: React.FC<SelectItemProps>;
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","label","active","hovered","multiple","size","indent","disabled"];import"./SelectItem.css";import React from"react";import{ListItem}from"../../ListCanary";import{cn}from"../../../utils/bem";import{Checkbox}from"../../Checkbox/Checkbox";var sizeCheckboxMap={xs:"m",s:"m",m:"l",l:"l"};export var cnSelectItem=cn("SelectItem");export var SelectItem=function(a){var b=a.className,c=a.label,d=a.active,e=a.hovered,f=a.multiple,g=a.size,h=a.indent,i=a.disabled,j=_objectWithoutProperties(a,_excluded);return React.createElement(ListItem,Object.assign({},j,{className:cnSelectItem(null,[b]),"aria-selected":d,"aria-disabled":i,role:"option",label:c,innerOffset:h,size:g,active:e,checked:!f&&d,disabled:i,leftSide:f&&React.createElement(Checkbox,{checked:d,disabled:i,size:sizeCheckboxMap[g]})}),c)};
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","label","active","hovered","multiple","size","indent","disabled"];import"./SelectItem.css";import React from"react";import{ListItem}from"../../ListCanary";import{cn}from"../../../utils/bem";import{Checkbox}from"../../Checkbox/Checkbox";export var sizeCheckboxMap={xs:"m",s:"m",m:"l",l:"l"};export var cnSelectItem=cn("SelectItem");export var SelectItem=function(a){var b=a.className,c=a.label,d=a.active,e=a.hovered,f=a.multiple,g=a.size,h=a.indent,i=a.disabled,j=_objectWithoutProperties(a,_excluded);return React.createElement(ListItem,Object.assign({},j,{className:cnSelectItem(null,[b]),"aria-selected":d,"aria-disabled":i,role:"option",label:c,innerOffset:h,size:g,active:e,checked:!f&&d,disabled:i,leftSide:f&&React.createElement(Checkbox,{checked:d,disabled:i,size:sizeCheckboxMap[g]})}),c)};
2
2
  //# sourceMappingURL=SelectItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectItem.js","names":["React","ListItem","cn","Checkbox","sizeCheckboxMap","xs","s","m","l","cnSelectItem","SelectItem","props","className","label","active","hovered","multiple","size","indent","disabled","otherProps"],"sources":["../../../../../../src/components/SelectComponents/SelectItem/SelectItem.tsx"],"sourcesContent":["import './SelectItem.css';\n\nimport React from 'react';\n\nimport { ListItem } from '##/components/ListCanary';\nimport { cn } from '##/utils/bem';\n\nimport { PropsWithHTMLAttributes } from '../../../utils/types/PropsWithHTMLAttributes';\nimport { Checkbox, CheckboxPropSize } from '../../Checkbox/Checkbox';\nimport { PropSize } from '../types';\n\nexport type SelectItemProps = PropsWithHTMLAttributes<\n {\n label: string;\n active: boolean;\n hovered: boolean;\n multiple: boolean;\n size: PropSize;\n indent: 'normal' | 'increased';\n disabled: boolean | undefined;\n },\n HTMLDivElement\n>;\n\nconst sizeCheckboxMap: Record<PropSize, CheckboxPropSize> = {\n xs: 'm',\n s: 'm',\n m: 'l',\n l: 'l',\n};\n\nexport const cnSelectItem = cn('SelectItem');\n\nexport const SelectItem: React.FC<SelectItemProps> = (props) => {\n const {\n className,\n label,\n active,\n hovered,\n multiple,\n size,\n indent,\n disabled,\n ...otherProps\n } = props;\n\n return (\n <ListItem\n {...otherProps}\n className={cnSelectItem(null, [className])}\n aria-selected={active}\n aria-disabled={disabled}\n role=\"option\"\n label={label}\n innerOffset={indent}\n size={size}\n active={hovered}\n checked={!multiple && active}\n disabled={disabled}\n leftSide={\n multiple && (\n <Checkbox\n checked={active}\n disabled={disabled}\n size={sizeCheckboxMap[size]}\n />\n )\n }\n >\n {label}\n </ListItem>\n );\n};\n"],"mappings":"kLAAA,yBAEA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,QAAT,wBACA,OAASC,EAAT,0BAGA,OAASC,QAAT,+BAgBA,GAAMC,gBAAmD,CAAG,CAC1DC,EAAE,CAAE,GADsD,CAE1DC,CAAC,CAAE,GAFuD,CAG1DC,CAAC,CAAE,GAHuD,CAI1DC,CAAC,CAAE,GAJuD,CAA5D,CAOA,MAAO,IAAMC,aAAY,CAAGP,EAAE,CAAC,YAAD,CAAvB,CAEP,MAAO,IAAMQ,WAAqC,CAAG,SAACC,CAAD,CAAW,CAC9D,GACEC,EADF,CAUID,CAVJ,CACEC,SADF,CAEEC,CAFF,CAUIF,CAVJ,CAEEE,KAFF,CAGEC,CAHF,CAUIH,CAVJ,CAGEG,MAHF,CAIEC,CAJF,CAUIJ,CAVJ,CAIEI,OAJF,CAKEC,CALF,CAUIL,CAVJ,CAKEK,QALF,CAMEC,CANF,CAUIN,CAVJ,CAMEM,IANF,CAOEC,CAPF,CAUIP,CAVJ,CAOEO,MAPF,CAQEC,CARF,CAUIR,CAVJ,CAQEQ,QARF,CASKC,CATL,0BAUIT,CAVJ,YAYA,MACE,qBAAC,QAAD,kBACMS,CADN,EAEE,SAAS,CAAEX,YAAY,CAAC,IAAD,CAAO,CAACG,CAAD,CAAP,CAFzB,CAGE,gBAAeE,CAHjB,CAIE,gBAAeK,CAJjB,CAKE,IAAI,CAAC,QALP,CAME,KAAK,CAAEN,CANT,CAOE,WAAW,CAAEK,CAPf,CAQE,IAAI,CAAED,CARR,CASE,MAAM,CAAEF,CATV,CAUE,OAAO,CAAE,CAACC,CAAD,EAAaF,CAVxB,CAWE,QAAQ,CAAEK,CAXZ,CAYE,QAAQ,CACNH,CAAQ,EACN,oBAAC,QAAD,EACE,OAAO,CAAEF,CADX,CAEE,QAAQ,CAAEK,CAFZ,CAGE,IAAI,CAAEf,eAAe,CAACa,CAAD,CAHvB,EAdN,GAsBGJ,CAtBH,CAyBH,CAvCM"}
1
+ {"version":3,"file":"SelectItem.js","names":["React","ListItem","cn","Checkbox","sizeCheckboxMap","xs","s","m","l","cnSelectItem","SelectItem","props","className","label","active","hovered","multiple","size","indent","disabled","otherProps"],"sources":["../../../../../../src/components/SelectComponents/SelectItem/SelectItem.tsx"],"sourcesContent":["import './SelectItem.css';\n\nimport React from 'react';\n\nimport { ListItem } from '##/components/ListCanary';\nimport { cn } from '##/utils/bem';\n\nimport { PropsWithHTMLAttributes } from '../../../utils/types/PropsWithHTMLAttributes';\nimport { Checkbox, CheckboxPropSize } from '../../Checkbox/Checkbox';\nimport { PropSize } from '../types';\n\nexport type SelectItemProps = PropsWithHTMLAttributes<\n {\n label: string;\n active: boolean;\n hovered: boolean;\n multiple: boolean;\n size: PropSize;\n indent: 'normal' | 'increased';\n disabled: boolean | undefined;\n },\n HTMLDivElement\n>;\n\nexport const sizeCheckboxMap: Record<PropSize, CheckboxPropSize> = {\n xs: 'm',\n s: 'm',\n m: 'l',\n l: 'l',\n};\n\nexport const cnSelectItem = cn('SelectItem');\n\nexport const SelectItem: React.FC<SelectItemProps> = (props) => {\n const {\n className,\n label,\n active,\n hovered,\n multiple,\n size,\n indent,\n disabled,\n ...otherProps\n } = props;\n\n return (\n <ListItem\n {...otherProps}\n className={cnSelectItem(null, [className])}\n aria-selected={active}\n aria-disabled={disabled}\n role=\"option\"\n label={label}\n innerOffset={indent}\n size={size}\n active={hovered}\n checked={!multiple && active}\n disabled={disabled}\n leftSide={\n multiple && (\n <Checkbox\n checked={active}\n disabled={disabled}\n size={sizeCheckboxMap[size]}\n />\n )\n }\n >\n {label}\n </ListItem>\n );\n};\n"],"mappings":"kLAAA,yBAEA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,QAAT,wBACA,OAASC,EAAT,0BAGA,OAASC,QAAT,+BAgBA,MAAO,IAAMC,gBAAmD,CAAG,CACjEC,EAAE,CAAE,GAD6D,CAEjEC,CAAC,CAAE,GAF8D,CAGjEC,CAAC,CAAE,GAH8D,CAIjEC,CAAC,CAAE,GAJ8D,CAA5D,CAOP,MAAO,IAAMC,aAAY,CAAGP,EAAE,CAAC,YAAD,CAAvB,CAEP,MAAO,IAAMQ,WAAqC,CAAG,SAACC,CAAD,CAAW,CAC9D,GACEC,EADF,CAUID,CAVJ,CACEC,SADF,CAEEC,CAFF,CAUIF,CAVJ,CAEEE,KAFF,CAGEC,CAHF,CAUIH,CAVJ,CAGEG,MAHF,CAIEC,CAJF,CAUIJ,CAVJ,CAIEI,OAJF,CAKEC,CALF,CAUIL,CAVJ,CAKEK,QALF,CAMEC,CANF,CAUIN,CAVJ,CAMEM,IANF,CAOEC,CAPF,CAUIP,CAVJ,CAOEO,MAPF,CAQEC,CARF,CAUIR,CAVJ,CAQEQ,QARF,CASKC,CATL,0BAUIT,CAVJ,YAYA,MACE,qBAAC,QAAD,kBACMS,CADN,EAEE,SAAS,CAAEX,YAAY,CAAC,IAAD,CAAO,CAACG,CAAD,CAAP,CAFzB,CAGE,gBAAeE,CAHjB,CAIE,gBAAeK,CAJjB,CAKE,IAAI,CAAC,QALP,CAME,KAAK,CAAEN,CANT,CAOE,WAAW,CAAEK,CAPf,CAQE,IAAI,CAAED,CARR,CASE,MAAM,CAAEF,CATV,CAUE,OAAO,CAAE,CAACC,CAAD,EAAaF,CAVxB,CAWE,QAAQ,CAAEK,CAXZ,CAYE,QAAQ,CACNH,CAAQ,EACN,oBAAC,QAAD,EACE,OAAO,CAAEF,CADX,CAEE,QAAQ,CAAEK,CAFZ,CAGE,IAAI,CAAEf,eAAe,CAACa,CAAD,CAHvB,EAdN,GAsBGJ,CAtBH,CAyBH,CAvCM"}
@@ -0,0 +1 @@
1
+ .ListItem.SelectItemAll:hover:not(.ListItem_active){background:transparent}
@@ -0,0 +1,13 @@
1
+ import { PropsWithHTMLAttributes } from '../../../utils/types/PropsWithHTMLAttributes';
2
+ import { PropSize } from '../types';
3
+ export declare type SelectItemAllProps = PropsWithHTMLAttributes<{
4
+ checked: boolean;
5
+ intermediate?: boolean;
6
+ size: PropSize;
7
+ hovered?: boolean;
8
+ indent?: 'normal' | 'increased';
9
+ countItems?: number;
10
+ total?: number;
11
+ }, HTMLDivElement>;
12
+ export declare const cnSelectItemAll: import("@bem-react/classname").ClassNameFormatter;
13
+ export declare const SelectItemAll: (props: SelectItemAllProps) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["checked","intermediate","size","indent","hovered","countItems","className","total"];import React from"react";import{ListItem}from"../../ListCanary";import{Text}from"../../Text";import{cn}from"../../../utils/bem";import{Checkbox}from"../../Checkbox/Checkbox";import{sizeCheckboxMap}from"../SelectItem/SelectItem";export var cnSelectItemAll=cn("SelectItemAll");var textSizeMap={xs:"s",s:"s",m:"m",l:"l"};export var SelectItemAll=function(a){var b=a.checked,c=a.intermediate,d=a.size,e=a.indent,f=a.hovered,g=a.countItems,h=void 0===g?0:g,i=a.className,j=a.total,k=void 0===j?0:j,l=_objectWithoutProperties(a,_excluded);return React.createElement(ListItem,Object.assign({},l,{className:cnSelectItemAll(null,[i]),"aria-selected":b,role:"option",label:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435",innerOffset:e,size:d,active:f,rightSide:React.createElement(Text,{size:textSizeMap[d],lineHeight:"xs",view:"ghost"},"".concat(h," \u0438\u0437 ").concat(k)),leftSide:React.createElement(Checkbox,{checked:b,intermediate:c,size:sizeCheckboxMap[d]})}),"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435")};
2
+ //# sourceMappingURL=SelectSelectAll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectSelectAll.js","names":["React","ListItem","Text","cn","Checkbox","sizeCheckboxMap","cnSelectItemAll","textSizeMap","xs","s","m","l","SelectItemAll","props","checked","intermediate","size","indent","hovered","countItems","className","total","otherProps"],"sources":["../../../../../../src/components/SelectComponents/SelectItemAll/SelectSelectAll.tsx"],"sourcesContent":["import React from 'react';\n\nimport { ListItem } from '##/components/ListCanary';\nimport { Text, TextPropSize } from '##/components/Text';\nimport { cn } from '##/utils/bem';\n\nimport { PropsWithHTMLAttributes } from '../../../utils/types/PropsWithHTMLAttributes';\nimport { Checkbox } from '../../Checkbox/Checkbox';\nimport { sizeCheckboxMap } from '../SelectItem/SelectItem';\nimport { PropSize } from '../types';\n\nexport type SelectItemAllProps = PropsWithHTMLAttributes<\n {\n checked: boolean;\n intermediate?: boolean;\n size: PropSize;\n hovered?: boolean;\n indent?: 'normal' | 'increased';\n countItems?: number;\n total?: number;\n },\n HTMLDivElement\n>;\n\nexport const cnSelectItemAll = cn('SelectItemAll');\n\nconst textSizeMap: Record<PropSize, TextPropSize> = {\n xs: 's',\n s: 's',\n m: 'm',\n l: 'l',\n};\n\nexport const SelectItemAll = (props: SelectItemAllProps) => {\n const {\n checked,\n intermediate,\n size,\n indent,\n hovered,\n countItems = 0,\n className,\n total = 0,\n ...otherProps\n } = props;\n\n return (\n <ListItem\n {...otherProps}\n className={cnSelectItemAll(null, [className])}\n aria-selected={checked}\n role=\"option\"\n label=\"Выбрать все\"\n innerOffset={indent}\n size={size}\n active={hovered}\n rightSide={\n <Text\n size={textSizeMap[size]}\n lineHeight=\"xs\"\n view=\"ghost\"\n >{`${countItems} из ${total}`}</Text>\n }\n leftSide={\n <Checkbox\n checked={checked}\n intermediate={intermediate}\n size={sizeCheckboxMap[size]}\n />\n }\n >\n Выбрать все\n </ListItem>\n );\n};\n"],"mappings":"yLAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,QAAT,wBACA,OAASC,IAAT,kBACA,OAASC,EAAT,0BAGA,OAASC,QAAT,+BACA,OAASC,eAAT,gCAgBA,MAAO,IAAMC,gBAAe,CAAGH,EAAE,CAAC,eAAD,CAA1B,CAEP,GAAMI,YAA2C,CAAG,CAClDC,EAAE,CAAE,GAD8C,CAElDC,CAAC,CAAE,GAF+C,CAGlDC,CAAC,CAAE,GAH+C,CAIlDC,CAAC,CAAE,GAJ+C,CAApD,CAOA,MAAO,IAAMC,cAAa,CAAG,SAACC,CAAD,CAA+B,CAC1D,GACEC,EADF,CAUID,CAVJ,CACEC,OADF,CAEEC,CAFF,CAUIF,CAVJ,CAEEE,YAFF,CAGEC,CAHF,CAUIH,CAVJ,CAGEG,IAHF,CAIEC,CAJF,CAUIJ,CAVJ,CAIEI,MAJF,CAKEC,CALF,CAUIL,CAVJ,CAKEK,OALF,GAUIL,CAVJ,CAMEM,UANF,CAMEA,CANF,YAMe,CANf,GAOEC,CAPF,CAUIP,CAVJ,CAOEO,SAPF,GAUIP,CAVJ,CAQEQ,KARF,CAQEA,CARF,YAQU,CARV,GASKC,CATL,0BAUIT,CAVJ,YAYA,MACE,qBAAC,QAAD,kBACMS,CADN,EAEE,SAAS,CAAEhB,eAAe,CAAC,IAAD,CAAO,CAACc,CAAD,CAAP,CAF5B,CAGE,gBAAeN,CAHjB,CAIE,IAAI,CAAC,QAJP,CAKE,KAAK,CAAC,+DALR,CAME,WAAW,CAAEG,CANf,CAOE,IAAI,CAAED,CAPR,CAQE,MAAM,CAAEE,CARV,CASE,SAAS,CACP,oBAAC,IAAD,EACE,IAAI,CAAEX,WAAW,CAACS,CAAD,CADnB,CAEE,UAAU,CAAC,IAFb,CAGE,IAAI,CAAC,OAHP,YAIKG,CAJL,0BAIsBE,CAJtB,EAVJ,CAgBE,QAAQ,CACN,oBAAC,QAAD,EACE,OAAO,CAAEP,CADX,CAEE,YAAY,CAAEC,CAFhB,CAGE,IAAI,CAAEV,eAAe,CAACW,CAAD,CAHvB,EAjBJ,mEA2BH,CAzCM"}
@@ -1 +1 @@
1
- .TagBase.SelectValueTag{margin:0 var(--tag-space) var(--tag-space) 0}.TagBase.SelectValueTag .TagBase-Label{word-break:break-word}.TagBase.SelectValueTag_disabled{background-color:var(--color-control-bg-disable);pointer-events:none}.TagBase.SelectValueTag_disabled>*{color:var(--color-control-typo-disable)}
1
+ .TagBase.SelectValueTag{margin:0 var(--tag-space) var(--tag-space) 0}.TagBase.SelectValueTag.TagBase_size_l,.TagBase.SelectValueTag.TagBase_size_m,.TagBase.SelectValueTag.TagBase_size_s{height:calc(var(--tag-base-height) - var(--space-3xs));line-height:calc(var(--tag-base-height) - var(--space-3xs))}.TagBase.SelectValueTag .TagBase-Label{word-break:break-word}.TagBase.SelectValueTag_disabled{background-color:var(--color-control-bg-disable);pointer-events:none}.TagBase.SelectValueTag_disabled>*{color:var(--color-control-typo-disable)}
@@ -2,7 +2,7 @@ import { RefObject } from 'react';
2
2
  export declare const propSize: readonly ["m", "xs", "s", "l"];
3
3
  export declare type PropSize = typeof propSize[number];
4
4
  export declare const defaultPropSize: "m";
5
- export declare const propForm: readonly ["default", "brick", "round", "clearRound", "roundClear", "clearDefault", "defaultClear", "defaultBrick", "brickDefault", "brickClear", "clearBrick", "clearClear"];
5
+ export declare const propForm: readonly ["default", "defaultClear", "defaultBrick", "brick", "brickDefault", "brickClear", "brickRound", "round", "roundClear", "roundBrick", "clearRound", "clearDefault", "clearBrick", "clearClear"];
6
6
  export declare type PropForm = typeof propForm[number];
7
7
  export declare const defaultPropForm: "default";
8
8
  export declare const propView: readonly ["default", "clear"];
@@ -1,2 +1,2 @@
1
- export var propSize=["m","xs","s","l"];export var defaultPropSize=propSize[0];export var propForm=["default","brick","round","clearRound","roundClear","clearDefault","defaultClear","defaultBrick","brickDefault","brickClear","clearBrick","clearClear"];export var defaultPropForm=propForm[0];export var propView=["default","clear"];export var defaultPropView=propView[0];export var propStatus=["alert","warning","success"];
1
+ export var propSize=["m","xs","s","l"];export var defaultPropSize=propSize[0];export var propForm=["default","defaultClear","defaultBrick","brick","brickDefault","brickClear","brickRound","round","roundClear","roundBrick","clearRound","clearDefault","clearBrick","clearClear"];export var defaultPropForm=propForm[0];export var propView=["default","clear"];export var defaultPropView=propView[0];export var propStatus=["alert","warning","success"];
2
2
  //# sourceMappingURL=types.js.map
@@ -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 'brick',\n 'round',\n 'clearRound',\n 'roundClear',\n 'clearDefault',\n 'defaultClear',\n 'defaultBrick',\n 'brickDefault',\n 'brickClear',\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};\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,OAFsB,CAGtB,OAHsB,CAItB,YAJsB,CAKtB,YALsB,CAMtB,cANsB,CAOtB,cAPsB,CAQtB,cARsB,CAStB,cATsB,CAUtB,YAVsB,CAWtB,YAXsB,CAYtB,YAZsB,CAAjB,CAeP,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.SyntheticEvent) => void;\n onMouseEnter: (e: React.SyntheticEvent) => void;\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 _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["min","max","onChange","onAfterChange","value","step","disabled","size","view","leftSide","rightSide","withTooltip","range","label","status","caption","tooltipFormatter","className","style"];import"./Slider.css";import React,{forwardRef,useRef}from"react";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{FieldCaption}from"../FieldCaption";import{FieldLabel}from"../FieldLabel";import{useFlag}from"../../hooks/useFlag";import{useSortSteps}from"../../hooks/useSortSteps";import{cn}from"../../utils/bem";import{defaultPropSize,defaultTooltipFormatter,getIcon,getMaxForStartField,getMinForEndField,getOnChandgeForInput,getValueForInput}from"./helper";import{SliderInput}from"./SliderInput/SliderInput";import{SliderLine}from"./SliderLine/SliderLine";import{SliderPoint}from"./SliderPoint/SliderPoint";import{useSlider}from"./useSlider/useSlider";import{useSliderStationing}from"./useSliderStationing";var cnSlider=cn("Slider"),sizeMap={xs:"xs",s:"s",m:"m",l:"m"};export var COMPONENT_NAME="Slider";var SliderRender=function(a,b){var c=useRef(null),d=usePropsHandler(COMPONENT_NAME,a,c),e=d.min,f=void 0===e?0:e,g=d.max,h=void 0===g?100:g,i=d.onChange,j=d.onAfterChange,k=d.value,l=d.step,m=d.disabled,n=void 0!==m&&m,o=d.size,p=void 0===o?defaultPropSize:o,q=d.view,r=void 0===q?"default":q,s=d.leftSide,t=d.rightSide,u=d.withTooltip,v=d.range,w=void 0!==v&&v,x=d.label,y=d.status,z=d.caption,A=d.tooltipFormatter,B=void 0===A?defaultTooltipFormatter:A,C=d.className,D=d.style,E=_objectWithoutProperties(d,_excluded),F=useFlag(!1),G=_slicedToArray(F,2),H=G[0],I=G[1],J=I.on,K=I.off,L=useRef(null),M=useRef(null),N=useSortSteps({step:l,min:f,max:h}),O=l?N:Math.abs((h-f)/100),P=getIcon(t),Q=getIcon(s),R=sizeMap[p],S=useSlider({disabled:n,range:w,value:k,min:f,max:h,step:O,onChange:i,onAfterChange:j,sliderRef:c,buttonRefs:[L,M]}),T=S.onKeyPress,U=S.onFocus,V=S.handlePress,W=S.onSliderClick,X=S.popoverPosition,Y=S.activeButton,Z=S.currentValue,$=useSliderStationing(1===Z.length?Z[0]:Z,f,h,r,w,O,[L,M],c),_=$.lineSizes,aa=$.buttonPositions,ba={role:"button",tabIndex:0,className:cnSlider("Control"),ref:c,onClick:W},ca=function(a){a?J():K()};return React.createElement("div",Object.assign({ref:b,className:cnSlider({size:p},[C]),style:D},E),x&&React.createElement(FieldLabel,{className:cnSlider("Label"),size:p},x),React.createElement("div",{className:cnSlider("Container")},("input"===s||Q)&&React.createElement("div",{className:cnSlider("Side",{position:"left"})},"input"===s&&React.createElement(SliderInput,{value:getValueForInput(a,0),onChange:getOnChandgeForInput(a,0),size:p,min:f,max:getMaxForStartField(a),status:y,step:O,disabled:n}),Q&&React.createElement(Q,{size:null!==R&&void 0!==R?R:void 0,view:"secondary"})),React.createElement("div",ba,React.createElement(SliderLine,{hovered:H||"number"==typeof Y,onHover:ca,lines:_,disabled:n,view:r}),Z.map(function(a,b){return React.createElement(SliderPoint,{hovered:H||"number"==typeof Y,buttonRef:L,popoverPosition:X[b],onKeyPress:T,onFocus:U,handlePress:V,disabled:n,position:aa[b],focused:Y===b,buttonLabel:b,withTooltip:u,onHover:ca,tooltipFormatter:B,value:a,role:"slider","aria-valuemin":f,"aria-valuemax":h,"aria-valuenow":a,tooltipZIndex:"number"==typeof(null===D||void 0===D?void 0:D.zIndex)?D.zIndex+1:void 0,key:cnSlider("Point",{index:b})})})),("input"===t||P)&&React.createElement("div",{className:cnSlider("Side",{position:"right"})},"input"===t&&React.createElement(SliderInput,{value:getValueForInput(a,1),onChange:getOnChandgeForInput(a,1),size:p,min:getMinForEndField(a),max:h,status:y,step:O,disabled:n}),P&&React.createElement(P,{size:R,view:"secondary"}))),z&&React.createElement(FieldCaption,{className:cnSlider("Caption"),status:y},z))};export var Slider=forwardRef(SliderRender);
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["min","max","onChange","onAfterChange","value","step","disabled","size","view","leftSide","rightSide","withTooltip","range","label","labelIcon","status","caption","tooltipFormatter","className","style"];import"./Slider.css";import React,{forwardRef,useRef}from"react";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{FieldCaption}from"../FieldCaption";import{FieldLabel}from"../FieldLabel";import{useFlag}from"../../hooks/useFlag";import{useSortSteps}from"../../hooks/useSortSteps";import{cn}from"../../utils/bem";import{defaultPropSize,defaultTooltipFormatter,getIcon,getMaxForStartField,getMinForEndField,getOnChandgeForInput,getValueForInput}from"./helper";import{SliderInput}from"./SliderInput/SliderInput";import{SliderLine}from"./SliderLine/SliderLine";import{SliderPoint}from"./SliderPoint/SliderPoint";import{useSlider}from"./useSlider/useSlider";import{useSliderStationing}from"./useSliderStationing";var cnSlider=cn("Slider"),sizeMap={xs:"xs",s:"s",m:"m",l:"m"};export var COMPONENT_NAME="Slider";var SliderRender=function(a,b){var c=useRef(null),d=usePropsHandler(COMPONENT_NAME,a,c),e=d.min,f=void 0===e?0:e,g=d.max,h=void 0===g?100:g,i=d.onChange,j=d.onAfterChange,k=d.value,l=d.step,m=d.disabled,n=void 0!==m&&m,o=d.size,p=void 0===o?defaultPropSize:o,q=d.view,r=void 0===q?"default":q,s=d.leftSide,t=d.rightSide,u=d.withTooltip,v=d.range,w=void 0!==v&&v,x=d.label,y=d.labelIcon,z=d.status,A=d.caption,B=d.tooltipFormatter,C=void 0===B?defaultTooltipFormatter:B,D=d.className,E=d.style,F=_objectWithoutProperties(d,_excluded),G=useFlag(!1),H=_slicedToArray(G,2),I=H[0],J=H[1],K=J.on,L=J.off,M=useRef(null),N=useRef(null),O=useSortSteps({step:l,min:f,max:h}),P=l?O:Math.abs((h-f)/100),Q=getIcon(t),R=getIcon(s),S=sizeMap[p],T=useSlider({disabled:n,range:w,value:k,min:f,max:h,step:P,onChange:i,onAfterChange:j,sliderRef:c,buttonRefs:[M,N]}),U=T.onKeyPress,V=T.onFocus,W=T.handlePress,X=T.onSliderClick,Y=T.popoverPosition,Z=T.activeButton,$=T.currentValue,_=useSliderStationing(1===$.length?$[0]:$,f,h,r,w,P,[M,N],c),aa=_.lineSizes,ba=_.buttonPositions,ca={role:"button",tabIndex:0,className:cnSlider("Control"),ref:c,onClick:X},da=function(a){a?K():L()};return React.createElement("div",Object.assign({ref:b,className:cnSlider({size:p},[D]),style:E},F),x&&React.createElement(FieldLabel,{icon:y,className:cnSlider("Label"),size:p},x),React.createElement("div",{className:cnSlider("Container")},("input"===s||R)&&React.createElement("div",{className:cnSlider("Side",{position:"left"})},"input"===s&&React.createElement(SliderInput,{value:getValueForInput(a,0),onChange:getOnChandgeForInput(a,0),size:p,min:f,max:getMaxForStartField(a),status:z,step:P,disabled:n}),R&&React.createElement(R,{size:null!==S&&void 0!==S?S:void 0,view:"secondary"})),React.createElement("div",ca,React.createElement(SliderLine,{hovered:I||"number"==typeof Z,onHover:da,lines:aa,disabled:n,view:r}),$.map(function(a,b){return React.createElement(SliderPoint,{hovered:I||"number"==typeof Z,buttonRef:M,popoverPosition:Y[b],onKeyPress:U,onFocus:V,handlePress:W,disabled:n,position:ba[b],focused:Z===b,buttonLabel:b,withTooltip:u,onHover:da,tooltipFormatter:C,value:a,role:"slider","aria-valuemin":f,"aria-valuemax":h,"aria-valuenow":a,tooltipZIndex:"number"==typeof(null===E||void 0===E?void 0:E.zIndex)?E.zIndex+1:void 0,key:cnSlider("Point",{index:b})})})),("input"===t||Q)&&React.createElement("div",{className:cnSlider("Side",{position:"right"})},"input"===t&&React.createElement(SliderInput,{value:getValueForInput(a,1),onChange:getOnChandgeForInput(a,1),size:p,min:getMinForEndField(a),max:h,status:z,step:P,disabled:n}),Q&&React.createElement(Q,{size:S,view:"secondary"}))),A&&React.createElement(FieldCaption,{className:cnSlider("Caption"),status:z},A))};export var Slider=forwardRef(SliderRender);
2
2
  //# sourceMappingURL=Slider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","names":["React","forwardRef","useRef","usePropsHandler","FieldCaption","FieldLabel","useFlag","useSortSteps","cn","defaultPropSize","defaultTooltipFormatter","getIcon","getMaxForStartField","getMinForEndField","getOnChandgeForInput","getValueForInput","SliderInput","SliderLine","SliderPoint","useSlider","useSliderStationing","cnSlider","sizeMap","xs","s","m","l","COMPONENT_NAME","SliderRender","props","ref","sliderRef","min","max","onChange","onAfterChange","value","stepProp","step","disabled","size","view","leftSide","rightSide","withTooltip","range","label","status","caption","tooltipFormatter","className","style","otherProps","isHovered","on","off","leftButtonRef","rightButtonRef","sortedSteps","Math","abs","IconRight","IconLeft","iconSize","buttonRefs","onKeyPress","onFocus","handlePress","onSliderClick","popoverPosition","activeButton","currentValue","length","lineSizes","buttonPositions","containerProps","role","tabIndex","onClick","changeHovered","position","map","val","index","zIndex","Slider"],"sources":["../../../../../src/components/Slider/Slider.tsx"],"sourcesContent":["import './Slider.css';\n\nimport { IconPropSize } from '@consta/icons/Icon';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { usePropsHandler } from '##/components/EventInterceptor/usePropsHandler';\nimport { FieldCaption } from '##/components/FieldCaption';\nimport { FieldLabel } from '##/components/FieldLabel';\nimport { useFlag } from '##/hooks/useFlag';\nimport { useSortSteps } from '##/hooks/useSortSteps';\nimport { cn } from '##/utils/bem';\n\nimport {\n defaultPropSize,\n defaultTooltipFormatter,\n getIcon,\n getMaxForStartField,\n getMinForEndField,\n getOnChandgeForInput,\n getValueForInput,\n PropSize,\n SliderComponent,\n SliderProps,\n} from './helper';\nimport { SliderInput } from './SliderInput/SliderInput';\nimport { SliderLine } from './SliderLine/SliderLine';\nimport { SliderPoint } from './SliderPoint/SliderPoint';\nimport { ActiveButton } from './useSlider/helper';\nimport { useSlider } from './useSlider/useSlider';\nimport { useSliderStationing } from './useSliderStationing';\n\nconst cnSlider = cn('Slider');\n\nconst sizeMap: Record<PropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 'm',\n l: 'm',\n};\n\nexport const COMPONENT_NAME = 'Slider' as const;\n\nconst SliderRender = <RANGE extends boolean = false>(\n props: SliderProps<RANGE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const sliderRef = useRef<HTMLDivElement>(null);\n\n const {\n min = 0,\n max = 100,\n onChange,\n onAfterChange,\n value,\n step: stepProp,\n disabled = false,\n size = defaultPropSize,\n view = 'default',\n leftSide,\n rightSide,\n withTooltip,\n range = false,\n label,\n status,\n caption,\n tooltipFormatter = defaultTooltipFormatter,\n className,\n style,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, sliderRef);\n\n const [isHovered, { on, off }] = useFlag(false);\n const leftButtonRef = useRef<HTMLButtonElement>(null);\n const rightButtonRef = useRef<HTMLButtonElement>(null);\n const sortedSteps = useSortSteps({ step: stepProp, min, max });\n const step = stepProp ? sortedSteps : Math.abs((max - min) / 100);\n const IconRight = getIcon(rightSide);\n const IconLeft = getIcon(leftSide);\n const iconSize = sizeMap[size];\n\n const {\n onKeyPress,\n onFocus,\n handlePress,\n onSliderClick,\n popoverPosition,\n activeButton,\n currentValue,\n } = useSlider({\n disabled,\n range,\n value,\n min,\n max,\n step,\n onChange,\n onAfterChange,\n sliderRef,\n buttonRefs: [leftButtonRef, rightButtonRef],\n });\n\n const { lineSizes, buttonPositions } = useSliderStationing(\n currentValue.length === 1 ? currentValue[0] : currentValue,\n min,\n max,\n view,\n range,\n step,\n [leftButtonRef, rightButtonRef],\n sliderRef,\n );\n\n const containerProps = {\n role: 'button',\n tabIndex: 0,\n className: cnSlider('Control'),\n ref: sliderRef,\n onClick: onSliderClick,\n };\n\n const changeHovered = (status: boolean) => {\n if (status) on();\n else off();\n };\n\n return (\n <div\n ref={ref}\n className={cnSlider({ size }, [className])}\n style={style}\n {...otherProps}\n >\n {label && (\n <FieldLabel className={cnSlider('Label')} size={size}>\n {label}\n </FieldLabel>\n )}\n <div className={cnSlider('Container')}>\n {(leftSide === 'input' || IconLeft) && (\n <div className={cnSlider('Side', { position: 'left' })}>\n {leftSide === 'input' && (\n <SliderInput\n value={getValueForInput(props, 0)}\n onChange={getOnChandgeForInput(props, 0)}\n size={size}\n min={min}\n max={getMaxForStartField(props)}\n status={status}\n step={step}\n disabled={disabled}\n />\n )}\n {IconLeft && (\n <IconLeft size={iconSize ?? undefined} view=\"secondary\" />\n )}\n </div>\n )}\n <div {...containerProps}>\n <SliderLine\n hovered={isHovered || typeof activeButton === 'number'}\n onHover={changeHovered}\n lines={lineSizes}\n disabled={disabled}\n view={view}\n />\n {currentValue.map((val, index) => (\n <SliderPoint\n hovered={isHovered || typeof activeButton === 'number'}\n buttonRef={leftButtonRef}\n popoverPosition={popoverPosition[index]}\n onKeyPress={onKeyPress}\n onFocus={onFocus}\n handlePress={handlePress}\n disabled={disabled}\n position={buttonPositions[index]}\n focused={activeButton === index}\n buttonLabel={index as ActiveButton}\n withTooltip={withTooltip}\n onHover={changeHovered}\n tooltipFormatter={tooltipFormatter}\n value={val}\n role=\"slider\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={val}\n tooltipZIndex={\n typeof style?.zIndex === 'number' ? style.zIndex + 1 : undefined\n }\n key={cnSlider('Point', { index })}\n />\n ))}\n </div>\n {(rightSide === 'input' || IconRight) && (\n <div className={cnSlider('Side', { position: 'right' })}>\n {rightSide === 'input' && (\n <SliderInput\n value={getValueForInput(props, 1)}\n onChange={getOnChandgeForInput(props, 1)}\n size={size}\n min={getMinForEndField(props)}\n max={max}\n status={status}\n step={step}\n disabled={disabled}\n />\n )}\n {IconRight && <IconRight size={iconSize} view=\"secondary\" />}\n </div>\n )}\n </div>\n {caption && (\n <FieldCaption className={cnSlider('Caption')} status={status}>\n {caption}\n </FieldCaption>\n )}\n </div>\n );\n};\n\nexport const Slider = forwardRef(SliderRender) as SliderComponent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Slider.js","names":["React","forwardRef","useRef","usePropsHandler","FieldCaption","FieldLabel","useFlag","useSortSteps","cn","defaultPropSize","defaultTooltipFormatter","getIcon","getMaxForStartField","getMinForEndField","getOnChandgeForInput","getValueForInput","SliderInput","SliderLine","SliderPoint","useSlider","useSliderStationing","cnSlider","sizeMap","xs","s","m","l","COMPONENT_NAME","SliderRender","props","ref","sliderRef","min","max","onChange","onAfterChange","value","stepProp","step","disabled","size","view","leftSide","rightSide","withTooltip","range","label","labelIcon","status","caption","tooltipFormatter","className","style","otherProps","isHovered","on","off","leftButtonRef","rightButtonRef","sortedSteps","Math","abs","IconRight","IconLeft","iconSize","buttonRefs","onKeyPress","onFocus","handlePress","onSliderClick","popoverPosition","activeButton","currentValue","length","lineSizes","buttonPositions","containerProps","role","tabIndex","onClick","changeHovered","position","map","val","index","zIndex","Slider"],"sources":["../../../../../src/components/Slider/Slider.tsx"],"sourcesContent":["import './Slider.css';\n\nimport { IconPropSize } from '@consta/icons/Icon';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { usePropsHandler } from '##/components/EventInterceptor/usePropsHandler';\nimport { FieldCaption } from '##/components/FieldCaption';\nimport { FieldLabel } from '##/components/FieldLabel';\nimport { useFlag } from '##/hooks/useFlag';\nimport { useSortSteps } from '##/hooks/useSortSteps';\nimport { cn } from '##/utils/bem';\n\nimport {\n defaultPropSize,\n defaultTooltipFormatter,\n getIcon,\n getMaxForStartField,\n getMinForEndField,\n getOnChandgeForInput,\n getValueForInput,\n PropSize,\n SliderComponent,\n SliderProps,\n} from './helper';\nimport { SliderInput } from './SliderInput/SliderInput';\nimport { SliderLine } from './SliderLine/SliderLine';\nimport { SliderPoint } from './SliderPoint/SliderPoint';\nimport { ActiveButton } from './useSlider/helper';\nimport { useSlider } from './useSlider/useSlider';\nimport { useSliderStationing } from './useSliderStationing';\n\nconst cnSlider = cn('Slider');\n\nconst sizeMap: Record<PropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 'm',\n l: 'm',\n};\n\nexport const COMPONENT_NAME = 'Slider' as const;\n\nconst SliderRender = <RANGE extends boolean = false>(\n props: SliderProps<RANGE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const sliderRef = useRef<HTMLDivElement>(null);\n\n const {\n min = 0,\n max = 100,\n onChange,\n onAfterChange,\n value,\n step: stepProp,\n disabled = false,\n size = defaultPropSize,\n view = 'default',\n leftSide,\n rightSide,\n withTooltip,\n range = false,\n label,\n labelIcon,\n status,\n caption,\n tooltipFormatter = defaultTooltipFormatter,\n className,\n style,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, sliderRef);\n\n const [isHovered, { on, off }] = useFlag(false);\n const leftButtonRef = useRef<HTMLButtonElement>(null);\n const rightButtonRef = useRef<HTMLButtonElement>(null);\n const sortedSteps = useSortSteps({ step: stepProp, min, max });\n const step = stepProp ? sortedSteps : Math.abs((max - min) / 100);\n const IconRight = getIcon(rightSide);\n const IconLeft = getIcon(leftSide);\n const iconSize = sizeMap[size];\n\n const {\n onKeyPress,\n onFocus,\n handlePress,\n onSliderClick,\n popoverPosition,\n activeButton,\n currentValue,\n } = useSlider({\n disabled,\n range,\n value,\n min,\n max,\n step,\n onChange,\n onAfterChange,\n sliderRef,\n buttonRefs: [leftButtonRef, rightButtonRef],\n });\n\n const { lineSizes, buttonPositions } = useSliderStationing(\n currentValue.length === 1 ? currentValue[0] : currentValue,\n min,\n max,\n view,\n range,\n step,\n [leftButtonRef, rightButtonRef],\n sliderRef,\n );\n\n const containerProps = {\n role: 'button',\n tabIndex: 0,\n className: cnSlider('Control'),\n ref: sliderRef,\n onClick: onSliderClick,\n };\n\n const changeHovered = (status: boolean) => {\n if (status) on();\n else off();\n };\n\n return (\n <div\n ref={ref}\n className={cnSlider({ size }, [className])}\n style={style}\n {...otherProps}\n >\n {label && (\n <FieldLabel icon={labelIcon} className={cnSlider('Label')} size={size}>\n {label}\n </FieldLabel>\n )}\n <div className={cnSlider('Container')}>\n {(leftSide === 'input' || IconLeft) && (\n <div className={cnSlider('Side', { position: 'left' })}>\n {leftSide === 'input' && (\n <SliderInput\n value={getValueForInput(props, 0)}\n onChange={getOnChandgeForInput(props, 0)}\n size={size}\n min={min}\n max={getMaxForStartField(props)}\n status={status}\n step={step}\n disabled={disabled}\n />\n )}\n {IconLeft && (\n <IconLeft size={iconSize ?? undefined} view=\"secondary\" />\n )}\n </div>\n )}\n <div {...containerProps}>\n <SliderLine\n hovered={isHovered || typeof activeButton === 'number'}\n onHover={changeHovered}\n lines={lineSizes}\n disabled={disabled}\n view={view}\n />\n {currentValue.map((val, index) => (\n <SliderPoint\n hovered={isHovered || typeof activeButton === 'number'}\n buttonRef={leftButtonRef}\n popoverPosition={popoverPosition[index]}\n onKeyPress={onKeyPress}\n onFocus={onFocus}\n handlePress={handlePress}\n disabled={disabled}\n position={buttonPositions[index]}\n focused={activeButton === index}\n buttonLabel={index as ActiveButton}\n withTooltip={withTooltip}\n onHover={changeHovered}\n tooltipFormatter={tooltipFormatter}\n value={val}\n role=\"slider\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={val}\n tooltipZIndex={\n typeof style?.zIndex === 'number' ? style.zIndex + 1 : undefined\n }\n key={cnSlider('Point', { index })}\n />\n ))}\n </div>\n {(rightSide === 'input' || IconRight) && (\n <div className={cnSlider('Side', { position: 'right' })}>\n {rightSide === 'input' && (\n <SliderInput\n value={getValueForInput(props, 1)}\n onChange={getOnChandgeForInput(props, 1)}\n size={size}\n min={getMinForEndField(props)}\n max={max}\n status={status}\n step={step}\n disabled={disabled}\n />\n )}\n {IconRight && <IconRight size={iconSize} view=\"secondary\" />}\n </div>\n )}\n </div>\n {caption && (\n <FieldCaption className={cnSlider('Caption')} status={status}>\n {caption}\n </FieldCaption>\n )}\n </div>\n );\n};\n\nexport const Slider = forwardRef(SliderRender) as SliderComponent;\n"],"mappings":"gXAAA,qBAGA,MAAOA,MAAP,EAAgBC,UAAhB,CAA4BC,MAA5B,KAA0C,OAA1C,CAEA,OAASC,eAAT,2CACA,OAASC,YAAT,uBACA,OAASC,UAAT,qBACA,OAASC,OAAT,2BACA,OAASC,YAAT,gCACA,OAASC,EAAT,uBAEA,OACEC,eADF,CAEEC,uBAFF,CAGEC,OAHF,CAIEC,mBAJF,CAKEC,iBALF,CAMEC,oBANF,CAOEC,gBAPF,gBAYA,OAASC,WAAT,iCACA,OAASC,UAAT,+BACA,OAASC,WAAT,iCAEA,OAASC,SAAT,6BACA,OAASC,mBAAT,6B,GAEMC,SAAQ,CAAGb,EAAE,CAAC,QAAD,C,CAEbc,OAAuC,CAAG,CAC9CC,EAAE,CAAE,IAD0C,CAE9CC,CAAC,CAAE,GAF2C,CAG9CC,CAAC,CAAE,GAH2C,CAI9CC,CAAC,CAAE,GAJ2C,C,CAOhD,MAAO,IAAMC,eAAc,CAAG,QAAvB,CAEP,GAAMC,aAAY,CAAG,SACnBC,CADmB,CAEnBC,CAFmB,CAGhB,IACGC,EAAS,CAAG7B,MAAM,CAAiB,IAAjB,CADrB,GAyBCC,eAAe,CAACwB,cAAD,CAAiBE,CAAjB,CAAwBE,CAAxB,CAzBhB,KAIDC,GAJC,CAIDA,CAJC,YAIK,CAJL,OAKDC,GALC,CAKDA,CALC,YAKK,GALL,GAMDC,CANC,GAMDA,QANC,CAODC,CAPC,GAODA,aAPC,CAQDC,CARC,GAQDA,KARC,CASKC,CATL,GASDC,IATC,KAUDC,QAVC,CAUDA,CAVC,mBAWDC,IAXC,CAWDA,CAXC,YAWM/B,eAXN,OAYDgC,IAZC,CAYDA,CAZC,YAYM,SAZN,GAaDC,CAbC,GAaDA,QAbC,CAcDC,CAdC,GAcDA,SAdC,CAeDC,CAfC,GAeDA,WAfC,KAgBDC,KAhBC,CAgBDA,CAhBC,eAiBDC,CAjBC,GAiBDA,KAjBC,CAkBDC,CAlBC,GAkBDA,SAlBC,CAmBDC,CAnBC,GAmBDA,MAnBC,CAoBDC,CApBC,GAoBDA,OApBC,KAqBDC,gBArBC,CAqBDA,CArBC,YAqBkBxC,uBArBlB,GAsBDyC,CAtBC,GAsBDA,SAtBC,CAuBDC,CAvBC,GAuBDA,KAvBC,CAwBEC,CAxBF,yCA2B8B/C,OAAO,IA3BrC,uBA2BIgD,CA3BJ,aA2BiBC,CA3BjB,GA2BiBA,EA3BjB,CA2BqBC,CA3BrB,GA2BqBA,GA3BrB,CA4BGC,CAAa,CAAGvD,MAAM,CAAoB,IAApB,CA5BzB,CA6BGwD,CAAc,CAAGxD,MAAM,CAAoB,IAApB,CA7B1B,CA8BGyD,CAAW,CAAGpD,YAAY,CAAC,CAAE+B,IAAI,CAAED,CAAR,CAAkBL,GAAG,CAAHA,CAAlB,CAAuBC,GAAG,CAAHA,CAAvB,CAAD,CA9B7B,CA+BGK,CAAI,CAAGD,CAAQ,CAAGsB,CAAH,CAAiBC,IAAI,CAACC,GAAL,CAAS,CAAC5B,CAAG,CAAGD,CAAP,EAAc,GAAvB,CA/BnC,CAgCG8B,CAAS,CAAGnD,OAAO,CAACgC,CAAD,CAhCtB,CAiCGoB,CAAQ,CAAGpD,OAAO,CAAC+B,CAAD,CAjCrB,CAkCGsB,CAAQ,CAAG1C,OAAO,CAACkB,CAAD,CAlCrB,GA4CCrB,SAAS,CAAC,CACZoB,QAAQ,CAARA,CADY,CAEZM,KAAK,CAALA,CAFY,CAGZT,KAAK,CAALA,CAHY,CAIZJ,GAAG,CAAHA,CAJY,CAKZC,GAAG,CAAHA,CALY,CAMZK,IAAI,CAAJA,CANY,CAOZJ,QAAQ,CAARA,CAPY,CAQZC,aAAa,CAAbA,CARY,CASZJ,SAAS,CAATA,CATY,CAUZkC,UAAU,CAAE,CAACR,CAAD,CAAgBC,CAAhB,CAVA,CAAD,CA5CV,CAqCDQ,CArCC,GAqCDA,UArCC,CAsCDC,CAtCC,GAsCDA,OAtCC,CAuCDC,CAvCC,GAuCDA,WAvCC,CAwCDC,CAxCC,GAwCDA,aAxCC,CAyCDC,CAzCC,GAyCDA,eAzCC,CA0CDC,CA1CC,GA0CDA,YA1CC,CA2CDC,CA3CC,GA2CDA,YA3CC,GAyDoCpD,mBAAmB,CAChC,CAAxB,GAAAoD,CAAY,CAACC,MAAb,CAA4BD,CAAY,CAAC,CAAD,CAAxC,CAA8CA,CADU,CAExDxC,CAFwD,CAGxDC,CAHwD,CAIxDQ,CAJwD,CAKxDI,CALwD,CAMxDP,CANwD,CAOxD,CAACmB,CAAD,CAAgBC,CAAhB,CAPwD,CAQxD3B,CARwD,CAzDvD,CAyDK2C,EAzDL,GAyDKA,SAzDL,CAyDgBC,EAzDhB,GAyDgBA,eAzDhB,CAoEGC,EAAc,CAAG,CACrBC,IAAI,CAAE,QADe,CAErBC,QAAQ,CAAE,CAFW,CAGrB3B,SAAS,CAAE9B,QAAQ,CAAC,SAAD,CAHE,CAIrBS,GAAG,CAAEC,CAJgB,CAKrBgD,OAAO,CAAEV,CALY,CApEpB,CA4EGW,EAAa,CAAG,SAAChC,CAAD,CAAqB,CACrCA,CADqC,CAC7BO,CAAE,EAD2B,CAEpCC,CAAG,EACT,CA/EE,CAiFH,MACE,0CACE,GAAG,CAAE1B,CADP,CAEE,SAAS,CAAET,QAAQ,CAAC,CAAEmB,IAAI,CAAJA,CAAF,CAAD,CAAW,CAACW,CAAD,CAAX,CAFrB,CAGE,KAAK,CAAEC,CAHT,EAIMC,CAJN,EAMGP,CAAK,EACJ,oBAAC,UAAD,EAAY,IAAI,CAAEC,CAAlB,CAA6B,SAAS,CAAE1B,QAAQ,CAAC,OAAD,CAAhD,CAA2D,IAAI,CAAEmB,CAAjE,EACGM,CADH,CAPJ,CAWE,2BAAK,SAAS,CAAEzB,QAAQ,CAAC,WAAD,CAAxB,EACG,CAAc,OAAb,GAAAqB,CAAQ,EAAgBqB,CAAzB,GACC,2BAAK,SAAS,CAAE1C,QAAQ,CAAC,MAAD,CAAS,CAAE4D,QAAQ,CAAE,MAAZ,CAAT,CAAxB,EACgB,OAAb,GAAAvC,CAAQ,EACP,oBAAC,WAAD,EACE,KAAK,CAAE3B,gBAAgB,CAACc,CAAD,CAAQ,CAAR,CADzB,CAEE,QAAQ,CAAEf,oBAAoB,CAACe,CAAD,CAAQ,CAAR,CAFhC,CAGE,IAAI,CAAEW,CAHR,CAIE,GAAG,CAAER,CAJP,CAKE,GAAG,CAAEpB,mBAAmB,CAACiB,CAAD,CAL1B,CAME,MAAM,CAAEmB,CANV,CAOE,IAAI,CAAEV,CAPR,CAQE,QAAQ,CAAEC,CARZ,EAFJ,CAaGwB,CAAQ,EACP,oBAAC,CAAD,EAAU,IAAI,QAAEC,CAAF,WAAEA,CAAF,CAAEA,CAAF,OAAd,CAAuC,IAAI,CAAC,WAA5C,EAdJ,CAFJ,CAoBE,0BAASY,EAAT,CACE,oBAAC,UAAD,EACE,OAAO,CAAEtB,CAAS,EAA4B,QAAxB,QAAOiB,EAD/B,CAEE,OAAO,CAAES,EAFX,CAGE,KAAK,CAAEN,EAHT,CAIE,QAAQ,CAAEnC,CAJZ,CAKE,IAAI,CAAEE,CALR,EADF,CAQG+B,CAAY,CAACU,GAAb,CAAiB,SAACC,CAAD,CAAMC,CAAN,QAChB,qBAAC,WAAD,EACE,OAAO,CAAE9B,CAAS,EAA4B,QAAxB,QAAOiB,EAD/B,CAEE,SAAS,CAAEd,CAFb,CAGE,eAAe,CAAEa,CAAe,CAACc,CAAD,CAHlC,CAIE,UAAU,CAAElB,CAJd,CAKE,OAAO,CAAEC,CALX,CAME,WAAW,CAAEC,CANf,CAOE,QAAQ,CAAE7B,CAPZ,CAQE,QAAQ,CAAEoC,EAAe,CAACS,CAAD,CAR3B,CASE,OAAO,CAAEb,CAAY,GAAKa,CAT5B,CAUE,WAAW,CAAEA,CAVf,CAWE,WAAW,CAAExC,CAXf,CAYE,OAAO,CAAEoC,EAZX,CAaE,gBAAgB,CAAE9B,CAbpB,CAcE,KAAK,CAAEiC,CAdT,CAeE,IAAI,CAAC,QAfP,CAgBE,gBAAenD,CAhBjB,CAiBE,gBAAeC,CAjBjB,CAkBE,gBAAekD,CAlBjB,CAmBE,aAAa,CACc,QAAzB,gBAAO/B,CAAP,WAAOA,CAAP,QAAOA,CAAK,CAAEiC,MAAd,EAAoCjC,CAAK,CAACiC,MAAN,CAAe,CAAnD,OApBJ,CAsBE,GAAG,CAAEhE,QAAQ,CAAC,OAAD,CAAU,CAAE+D,KAAK,CAALA,CAAF,CAAV,CAtBf,EADgB,CAAjB,CARH,CApBF,CAuDG,CAAe,OAAd,GAAAzC,CAAS,EAAgBmB,CAA1B,GACC,2BAAK,SAAS,CAAEzC,QAAQ,CAAC,MAAD,CAAS,CAAE4D,QAAQ,CAAE,OAAZ,CAAT,CAAxB,EACiB,OAAd,GAAAtC,CAAS,EACR,oBAAC,WAAD,EACE,KAAK,CAAE5B,gBAAgB,CAACc,CAAD,CAAQ,CAAR,CADzB,CAEE,QAAQ,CAAEf,oBAAoB,CAACe,CAAD,CAAQ,CAAR,CAFhC,CAGE,IAAI,CAAEW,CAHR,CAIE,GAAG,CAAE3B,iBAAiB,CAACgB,CAAD,CAJxB,CAKE,GAAG,CAAEI,CALP,CAME,MAAM,CAAEe,CANV,CAOE,IAAI,CAAEV,CAPR,CAQE,QAAQ,CAAEC,CARZ,EAFJ,CAaGuB,CAAS,EAAI,oBAAC,CAAD,EAAW,IAAI,CAAEE,CAAjB,CAA2B,IAAI,CAAC,WAAhC,EAbhB,CAxDJ,CAXF,CAoFGf,CAAO,EACN,oBAAC,YAAD,EAAc,SAAS,CAAE5B,QAAQ,CAAC,SAAD,CAAjC,CAA8C,MAAM,CAAE2B,CAAtD,EACGC,CADH,CArFJ,CA2FH,CAhLD,CAkLA,MAAO,IAAMqC,OAAM,CAAGrF,UAAU,CAAC2B,YAAD,CAAzB"}
@@ -25,6 +25,7 @@ declare type Props<RANGE extends boolean = false> = {
25
25
  withTooltip?: boolean;
26
26
  value: SliderValue<RANGE>;
27
27
  label?: string;
28
+ labelIcon?: IconComponent;
28
29
  caption?: string;
29
30
  status?: PropStatus;
30
31
  min?: number;