@itcase/ui 1.8.108 → 1.8.109

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 (208) hide show
  1. package/dist/{Avatar_cjs_bOSuIjlv.js → Avatar_cjs_joB9qjwk.js} +36 -60
  2. package/dist/{Avatar_es_CEiiRkAd.js → Avatar_es_C3HGSiHU.js} +36 -60
  3. package/dist/{Button_cjs_eGfgY2Dz.js → Button_cjs_mau_55Fl.js} +6 -6
  4. package/dist/{Button_es_CEXL2diU.js → Button_es_D_IlkeBp.js} +6 -6
  5. package/dist/{ChipsGroup_cjs_DKLEgUi2.js → ChipsGroup_cjs_D454M1-p.js} +2 -2
  6. package/dist/{ChipsGroup_es_vMh6YMRm.js → ChipsGroup_es_BKG5mK5N.js} +2 -2
  7. package/dist/{DatePicker_cjs_T63y9kcH.js → DatePicker_cjs_Bm8nwWKa.js} +4 -4
  8. package/dist/{DatePicker_es_B87jj8h6.js → DatePicker_es_DAV92A4A.js} +4 -4
  9. package/dist/{DropdownItem_cjs_BGp4XAme.js → DropdownItem_cjs_D2hHKA5E.js} +2 -2
  10. package/dist/{DropdownItem_es_BwdenrJx.js → DropdownItem_es_D9JBMV70.js} +2 -2
  11. package/dist/{Icon_cjs_LSfBwmrG.js → Icon_cjs_ZerVip3X.js} +32 -47
  12. package/dist/{Icon_es_BYO1LdXJ.js → Icon_es_C76te22j.js} +32 -47
  13. package/dist/{Label_cjs_Df_mrKBf.js → Label_cjs_CaTh_laL.js} +2 -2
  14. package/dist/{Label_es_Dl5zb0RD.js → Label_es_CoIII7Ty.js} +2 -2
  15. package/dist/{Loader_cjs_Db9diKuF.js → Loader_cjs_c6yF7akz.js} +1 -1
  16. package/dist/{Loader_es_AhHU-s7_.js → Loader_es_C8ETXkiZ.js} +1 -1
  17. package/dist/{Text_cjs_CeJHeRfI.js → Text_cjs_DpRclhwc.js} +2 -5
  18. package/dist/{Text_es_BXh9Y3hR.js → Text_es_CtCwsa3V.js} +2 -5
  19. package/dist/cjs/components/Accordion.js +4 -3
  20. package/dist/cjs/components/Avatar.js +5 -4
  21. package/dist/cjs/components/AvatarStack.js +5 -4
  22. package/dist/cjs/components/Badge.js +4 -3
  23. package/dist/cjs/components/Breadcrumbs.js +4 -3
  24. package/dist/cjs/components/Button.js +6 -5
  25. package/dist/cjs/components/Cell.js +5 -4
  26. package/dist/cjs/components/Checkbox.js +3 -2
  27. package/dist/cjs/components/Checkmark.js +2 -1
  28. package/dist/cjs/components/Chips.js +5 -4
  29. package/dist/cjs/components/Choice.js +5 -4
  30. package/dist/cjs/components/Code.js +2 -0
  31. package/dist/cjs/components/CookiesWarning.js +6 -5
  32. package/dist/cjs/components/Dadata.js +2 -0
  33. package/dist/cjs/components/DatePeriod.js +8 -7
  34. package/dist/cjs/components/DatePicker.js +8 -7
  35. package/dist/cjs/components/Divider.js +2 -1
  36. package/dist/cjs/components/Dot.js +2 -1
  37. package/dist/cjs/components/Drawer.js +3 -2
  38. package/dist/cjs/components/Dropdown.js +5 -4
  39. package/dist/cjs/components/Flex.js +2 -1
  40. package/dist/cjs/components/Grid.js +2 -1
  41. package/dist/cjs/components/Group.js +2 -1
  42. package/dist/cjs/components/HTMLContent.js +2 -1
  43. package/dist/cjs/components/HeroTitle.js +4 -3
  44. package/dist/cjs/components/Icon.js +4 -3
  45. package/dist/cjs/components/Image.js +2 -1
  46. package/dist/cjs/components/Input.js +2 -0
  47. package/dist/cjs/components/InputPassword.js +4 -3
  48. package/dist/cjs/components/Label.js +5 -4
  49. package/dist/cjs/components/Link.js +2 -1
  50. package/dist/cjs/components/List.js +2 -1
  51. package/dist/cjs/components/Loader.js +4 -3
  52. package/dist/cjs/components/Logo.js +2 -1
  53. package/dist/cjs/components/MenuItem.js +4 -3
  54. package/dist/cjs/components/Modal.js +5 -4
  55. package/dist/cjs/components/ModalSheetBottom.js +4 -3
  56. package/dist/cjs/components/Notification.js +4 -3
  57. package/dist/cjs/components/Overlay.js +2 -1
  58. package/dist/cjs/components/Pagination.js +5 -4
  59. package/dist/cjs/components/Radio.js +6 -2
  60. package/dist/cjs/components/RangeSlider.js +2 -1
  61. package/dist/cjs/components/Response.js +6 -5
  62. package/dist/cjs/components/SVGContent.js +2 -1
  63. package/dist/cjs/components/ScrollOnDrag.js +2 -1
  64. package/dist/cjs/components/ScrollToView.js +2 -1
  65. package/dist/cjs/components/Search.js +4 -3
  66. package/dist/cjs/components/Segmented.js +3 -2
  67. package/dist/cjs/components/Select.js +4 -3
  68. package/dist/cjs/components/Swiper.js +4 -3
  69. package/dist/cjs/components/Switch.js +3 -2
  70. package/dist/cjs/components/Tab.js +14 -16
  71. package/dist/cjs/components/Text.js +3 -2
  72. package/dist/cjs/components/Textarea.js +2 -0
  73. package/dist/cjs/components/Tile.js +4 -3
  74. package/dist/cjs/components/Title.js +4 -3
  75. package/dist/cjs/components/Tooltip.js +4 -3
  76. package/dist/cjs/components/Video.js +1 -0
  77. package/dist/cjs/components/Warning.js +4 -3
  78. package/dist/cjs/hooks/useActiveClasses/useActiveClasses.helpers.js +120 -0
  79. package/dist/cjs/hooks/useActiveClasses/useActiveClasses.interface.js +65 -0
  80. package/dist/cjs/hooks/useActiveClasses/useActiveClasses.js +64 -0
  81. package/dist/cjs/hooks/useActiveClasses.js +9 -0
  82. package/dist/cjs/hooks/useDevicePropsGenerator/useDevicePropsGenerator.js +11 -1
  83. package/dist/cjs/hooks/useDevicePropsGenerator.js +2 -0
  84. package/dist/cjs/hooks/useStyles/useStyles.js +5 -3
  85. package/dist/cjs/hooks/useStyles.js +1 -0
  86. package/dist/cjs/hooks.js +9 -0
  87. package/dist/components/Accordion.js +4 -3
  88. package/dist/components/Avatar.js +5 -4
  89. package/dist/components/AvatarStack.js +5 -4
  90. package/dist/components/Badge.js +4 -3
  91. package/dist/components/Breadcrumbs.js +4 -3
  92. package/dist/components/Button.js +6 -5
  93. package/dist/components/Cell.js +5 -4
  94. package/dist/components/Checkbox.js +3 -2
  95. package/dist/components/Checkmark.js +2 -1
  96. package/dist/components/Chips.js +5 -4
  97. package/dist/components/Choice.js +5 -4
  98. package/dist/components/Code.js +2 -0
  99. package/dist/components/CookiesWarning.js +6 -5
  100. package/dist/components/Dadata.js +2 -0
  101. package/dist/components/DatePeriod.js +8 -7
  102. package/dist/components/DatePicker.js +8 -7
  103. package/dist/components/Divider.js +2 -1
  104. package/dist/components/Dot.js +2 -1
  105. package/dist/components/Drawer.js +3 -2
  106. package/dist/components/Dropdown.js +5 -4
  107. package/dist/components/Flex.js +2 -1
  108. package/dist/components/Grid.js +2 -1
  109. package/dist/components/Group.js +2 -1
  110. package/dist/components/HTMLContent.js +2 -1
  111. package/dist/components/HeroTitle.js +4 -3
  112. package/dist/components/Icon.js +4 -3
  113. package/dist/components/Image.js +2 -1
  114. package/dist/components/Input.js +2 -0
  115. package/dist/components/InputPassword.js +4 -3
  116. package/dist/components/Label.js +5 -4
  117. package/dist/components/Link.js +2 -1
  118. package/dist/components/List.js +2 -1
  119. package/dist/components/Loader.js +4 -3
  120. package/dist/components/Logo.js +2 -1
  121. package/dist/components/MenuItem.js +4 -3
  122. package/dist/components/Modal.js +5 -4
  123. package/dist/components/ModalSheetBottom.js +4 -3
  124. package/dist/components/Notification.js +4 -3
  125. package/dist/components/Overlay.js +2 -1
  126. package/dist/components/Pagination.js +5 -4
  127. package/dist/components/Radio.js +6 -2
  128. package/dist/components/RangeSlider.js +2 -1
  129. package/dist/components/Response.js +6 -5
  130. package/dist/components/SVGContent.js +2 -1
  131. package/dist/components/ScrollOnDrag.js +2 -1
  132. package/dist/components/ScrollToView.js +2 -1
  133. package/dist/components/Search.js +4 -3
  134. package/dist/components/Segmented.js +3 -2
  135. package/dist/components/Select.js +4 -3
  136. package/dist/components/Swiper.js +4 -3
  137. package/dist/components/Switch.js +3 -2
  138. package/dist/components/Tab.js +14 -16
  139. package/dist/components/Text.js +3 -2
  140. package/dist/components/Textarea.js +2 -0
  141. package/dist/components/Tile.js +4 -3
  142. package/dist/components/Title.js +4 -3
  143. package/dist/components/Tooltip.js +4 -3
  144. package/dist/components/Video.js +1 -0
  145. package/dist/components/Warning.js +4 -3
  146. package/dist/css/components/Icon/Icon.css +12 -19
  147. package/dist/hooks/useActiveClasses/useActiveClasses.helpers.js +116 -0
  148. package/dist/hooks/useActiveClasses/useActiveClasses.interface.js +63 -0
  149. package/dist/hooks/useActiveClasses/useActiveClasses.js +62 -0
  150. package/dist/hooks/useActiveClasses.js +3 -0
  151. package/dist/hooks/useDevicePropsGenerator/useDevicePropsGenerator.js +11 -1
  152. package/dist/hooks/useDevicePropsGenerator.js +2 -0
  153. package/dist/hooks/useStyles/useStyles.js +5 -3
  154. package/dist/hooks/useStyles.js +1 -0
  155. package/dist/hooks.js +7 -0
  156. package/dist/stories/useActiveClasses.mdx +134 -0
  157. package/dist/types/components/Avatar/Avatar.appearance.d.ts +1878 -2
  158. package/dist/types/components/Avatar/Avatar.interface.d.ts +48 -37
  159. package/dist/types/components/Avatar/appearance/avatarDefault.d.ts +2 -19
  160. package/dist/types/components/Avatar/appearance/avatarShape.d.ts +2 -24
  161. package/dist/types/components/Avatar/appearance/avatarSize.d.ts +2 -83
  162. package/dist/types/components/Avatar/appearance/avatarStyle.d.ts +2 -15
  163. package/dist/types/components/Badge/Badge.appearance.d.ts +986 -228
  164. package/dist/types/components/Badge/Badge.interface.d.ts +6 -6
  165. package/dist/types/components/Badge/appearance/badgeAccent.d.ts +2 -37
  166. package/dist/types/components/Badge/appearance/badgeDanger.d.ts +2 -16
  167. package/dist/types/components/Badge/appearance/badgeDisabled.d.ts +2 -14
  168. package/dist/types/components/Badge/appearance/badgeError.d.ts +2 -16
  169. package/dist/types/components/Badge/appearance/badgeInfo.d.ts +2 -15
  170. package/dist/types/components/Badge/appearance/badgePrimary.d.ts +2 -16
  171. package/dist/types/components/Badge/appearance/badgeSecondary.d.ts +2 -16
  172. package/dist/types/components/Badge/appearance/badgeShape.d.ts +2 -24
  173. package/dist/types/components/Badge/appearance/badgeSize.d.ts +2 -31
  174. package/dist/types/components/Badge/appearance/badgeStyle.d.ts +2 -13
  175. package/dist/types/components/Badge/appearance/badgeSuccess.d.ts +2 -16
  176. package/dist/types/components/Badge/appearance/badgeSurface.d.ts +2 -24
  177. package/dist/types/components/Badge/appearance/badgeWarning.d.ts +2 -16
  178. package/dist/types/components/Icon/Icon.d.ts +30 -6
  179. package/dist/types/components/Icon/Icon.interface.d.ts +2 -0
  180. package/dist/types/components/Radio/Radio.appearance.d.ts +3 -0
  181. package/dist/types/components/Radio/appearance/radioDefault.d.ts +3 -0
  182. package/dist/types/components/Tab/appearance/tabSurface.d.ts +1 -0
  183. package/dist/types/components/Text/Text.appearance.d.ts +698 -2
  184. package/dist/types/components/Text/Text.interface.d.ts +32 -47
  185. package/dist/types/components/Text/appearance/textSize.d.ts +2 -23
  186. package/dist/types/components/Title/Title.appearance.d.ts +2225 -2
  187. package/dist/types/components/Title/Title.interface.d.ts +56 -38
  188. package/dist/types/components/Title/appearance/titleAccent.d.ts +2 -19
  189. package/dist/types/components/Title/appearance/titleDanger.d.ts +2 -6
  190. package/dist/types/components/Title/appearance/titleDisabled.d.ts +2 -19
  191. package/dist/types/components/Title/appearance/titleError.d.ts +2 -10
  192. package/dist/types/components/Title/appearance/titleInfo.d.ts +2 -20
  193. package/dist/types/components/Title/appearance/titlePrimary.d.ts +2 -7
  194. package/dist/types/components/Title/appearance/titleRequire.d.ts +2 -19
  195. package/dist/types/components/Title/appearance/titleSecondary.d.ts +2 -7
  196. package/dist/types/components/Title/appearance/titleSize.d.ts +2 -44
  197. package/dist/types/components/Title/appearance/titleStyle.d.ts +2 -15
  198. package/dist/types/components/Title/appearance/titleSuccess.d.ts +2 -10
  199. package/dist/types/components/Title/appearance/titleSurface.d.ts +2 -24
  200. package/dist/types/components/Title/appearance/titleWarning.d.ts +2 -10
  201. package/dist/types/hooks/index.helpers.d.ts +3 -0
  202. package/dist/types/hooks/useActiveClasses/index.d.ts +2 -0
  203. package/dist/types/hooks/useActiveClasses/useActiveClasses.d.ts +3 -0
  204. package/dist/types/hooks/useActiveClasses/useActiveClasses.helpers.d.ts +5 -0
  205. package/dist/types/hooks/useActiveClasses/useActiveClasses.interface.d.ts +26 -0
  206. package/dist/types/hooks/useDevicePropsGenerator/useDevicePropsGenerator.d.ts +1 -1
  207. package/dist/types/hooks/useStyles/styleAttributes.interface.d.ts +3 -0
  208. package/package.json +6 -6
@@ -1,10 +1,10 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import React, { useRef, useMemo, createRef, useCallback, useEffect } from 'react';
3
3
  import clsx from 'clsx';
4
- import { I as Icon } from '../Icon_es_BYO1LdXJ.js';
4
+ import { I as Icon } from '../Icon_es_C76te22j.js';
5
5
  import { useAppearanceConfig } from '../hooks/useAppearanceConfig/useAppearanceConfig.js';
6
6
  import { useDevicePropsGenerator } from '../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js';
7
- import { T as Text } from '../Text_es_BXh9Y3hR.js';
7
+ import { T as Text } from '../Text_es_CtCwsa3V.js';
8
8
  import { _ as __assign } from '../tslib.es6_es_Bwu1Cn-t.js';
9
9
  import 'react-inlinesvg';
10
10
  import '../hoc/urlWithAssetPrefix.js';
@@ -20,6 +20,7 @@ import '../context/UIContext.js';
20
20
  import '../hooks/useMediaQueries/useMediaQueries.js';
21
21
  import 'react-responsive';
22
22
  import '../utils/setViewportProperty.js';
23
+ import '../hooks.js';
23
24
  import '../hooks/useStyles/styleAttributes.js';
24
25
  import '../Link_es_BnUIX0QT.js';
25
26
  import 'lodash/castArray';
@@ -1,16 +1,16 @@
1
1
  import { _ as __assign } from '../tslib.es6_es_Bwu1Cn-t.js';
2
2
  import { jsx, jsxs } from 'react/jsx-runtime';
3
3
  import Select, { components } from 'react-select';
4
- import { I as Icon, B as Badge } from '../Icon_es_BYO1LdXJ.js';
4
+ import { I as Icon, B as Badge } from '../Icon_es_C76te22j.js';
5
5
  import React, { useRef, useEffect, useMemo } from 'react';
6
6
  import clsx from 'clsx';
7
7
  import CreatableSelect from 'react-select/creatable';
8
8
  import { G as Group } from '../Group_es_DIfmrMSM.js';
9
- import { T as Text } from '../Text_es_BXh9Y3hR.js';
9
+ import { T as Text } from '../Text_es_CtCwsa3V.js';
10
10
  import { useAppearanceConfig } from '../hooks/useAppearanceConfig/useAppearanceConfig.js';
11
11
  import { useDevicePropsGenerator } from '../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js';
12
12
  import { icons12, icons16, icons14, icons24 } from '@itcase/icons/default';
13
- import { L as Loader } from '../Loader_es_AhHU-s7_.js';
13
+ import { L as Loader } from '../Loader_es_C8ETXkiZ.js';
14
14
  import { D as Divider } from '../Divider_es_CCLBFIx6.js';
15
15
  import 'react-inlinesvg';
16
16
  import '../hoc/urlWithAssetPrefix.js';
@@ -26,6 +26,7 @@ import '../context/UIContext.js';
26
26
  import '../hooks/useMediaQueries/useMediaQueries.js';
27
27
  import 'react-responsive';
28
28
  import '../utils/setViewportProperty.js';
29
+ import '../hooks.js';
29
30
  import '../hooks/useStyles/styleAttributes.js';
30
31
  import '../Link_es_BnUIX0QT.js';
31
32
  import 'lodash/castArray';
@@ -4,7 +4,7 @@ import clsx from 'clsx';
4
4
  import { Swiper as Swiper$1, SwiperSlide } from 'swiper/react';
5
5
  import { useDevicePropsGenerator } from '../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js';
6
6
  import { useStyles } from '../hooks/useStyles/useStyles.js';
7
- import { b as Title } from '../Icon_es_BYO1LdXJ.js';
7
+ import { b as Title } from '../Icon_es_C76te22j.js';
8
8
  import '../tslib.es6_es_Bwu1Cn-t.js';
9
9
  import 'lodash/camelCase';
10
10
  import 'lodash/castArray';
@@ -16,14 +16,15 @@ import '../context/UIContext.js';
16
16
  import '../hooks/useMediaQueries/useMediaQueries.js';
17
17
  import 'react-responsive';
18
18
  import '../utils/setViewportProperty.js';
19
- import 'lodash/maxBy';
19
+ import '../hooks.js';
20
20
  import '../hooks/useStyles/styleAttributes.js';
21
+ import 'lodash/maxBy';
21
22
  import 'react-inlinesvg';
22
23
  import '../hoc/urlWithAssetPrefix.js';
23
24
  import '../context/UrlAssetPrefix.js';
24
25
  import '../hooks/useAppearanceConfig/useAppearanceConfig.js';
25
26
  import '../Link_es_BnUIX0QT.js';
26
- import '../Text_es_BXh9Y3hR.js';
27
+ import '../Text_es_CtCwsa3V.js';
27
28
 
28
29
  function Swiper(props) {
29
30
  var id = props.id, className = props.className, direction = props.direction, title = props.title, titleAfter = props.titleAfter, titleSize = props.titleSize, titleTextColor = props.titleTextColor, titleWeight = props.titleWeight, setNextBtnDisabled = props.setNextBtnDisabled, setPrevBtnDisabled = props.setPrevBtnDisabled, _a = props.activeSlideIndex, activeSlideIndex = _a === void 0 ? 0 : _a, allowTouchMove = props.allowTouchMove, autoHeight = props.autoHeight, breakpoints = props.breakpoints, forwardedRef = props.forwardedRef, // https://github.com/vercel/next.js/issues/4957
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import clsx from 'clsx';
4
4
  import { useAppearanceConfig } from '../hooks/useAppearanceConfig/useAppearanceConfig.js';
5
5
  import { useDevicePropsGenerator } from '../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js';
6
- import { T as Text } from '../Text_es_BXh9Y3hR.js';
6
+ import { T as Text } from '../Text_es_CtCwsa3V.js';
7
7
  import { _ as __assign } from '../tslib.es6_es_Bwu1Cn-t.js';
8
8
  import 'lodash/camelCase';
9
9
  import 'lodash/castArray';
@@ -15,9 +15,10 @@ import '../context/UIContext.js';
15
15
  import '../hooks/useMediaQueries/useMediaQueries.js';
16
16
  import 'react-responsive';
17
17
  import '../utils/setViewportProperty.js';
18
+ import '../hooks.js';
19
+ import '../hooks/useStyles/styleAttributes.js';
18
20
  import '../hooks/useStyles/useStyles.js';
19
21
  import 'lodash/maxBy';
20
- import '../hooks/useStyles/styleAttributes.js';
21
22
 
22
23
  var switchAppearanceDefault = {
23
24
  defaultPrimary: {
@@ -1,14 +1,16 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import React from 'react';
3
3
  import clsx from 'clsx';
4
+ import { useActiveClasses } from '../hooks/useActiveClasses/useActiveClasses.js';
4
5
  import { useAppearanceConfig } from '../hooks/useAppearanceConfig/useAppearanceConfig.js';
5
6
  import { useDevicePropsGenerator } from '../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js';
6
7
  import { useStyles } from '../hooks/useStyles/useStyles.js';
7
- import { B as Badge, I as Icon } from '../Icon_es_BYO1LdXJ.js';
8
+ import { B as Badge, I as Icon } from '../Icon_es_C76te22j.js';
8
9
  import { D as Divider } from '../Divider_es_CCLBFIx6.js';
9
10
  import { L as Link } from '../Link_es_BnUIX0QT.js';
10
- import { T as Text } from '../Text_es_BXh9Y3hR.js';
11
+ import { T as Text } from '../Text_es_CtCwsa3V.js';
11
12
  import { _ as __assign } from '../tslib.es6_es_Bwu1Cn-t.js';
13
+ import '../hooks/useActiveClasses/useActiveClasses.helpers.js';
12
14
  import 'lodash/camelCase';
13
15
  import 'lodash/castArray';
14
16
  import 'lodash/upperFirst';
@@ -19,8 +21,9 @@ import '../context/UIContext.js';
19
21
  import '../hooks/useMediaQueries/useMediaQueries.js';
20
22
  import 'react-responsive';
21
23
  import '../utils/setViewportProperty.js';
22
- import 'lodash/maxBy';
24
+ import '../hooks.js';
23
25
  import '../hooks/useStyles/styleAttributes.js';
26
+ import 'lodash/maxBy';
24
27
  import 'react-inlinesvg';
25
28
  import '../hoc/urlWithAssetPrefix.js';
26
29
  import '../context/UrlAssetPrefix.js';
@@ -131,6 +134,7 @@ var tabAppearanceSurface = {
131
134
  fillActive: 'surfacePrimary',
132
135
  fillActiveHover: 'surfaceSecondary',
133
136
  fillDisabled: 'surfaceDisabled',
137
+ fillDivider: 'accentPrimary',
134
138
  fillHover: 'surfaceSecondary',
135
139
  labelTextColor: 'surfaceTextPrimary',
136
140
  labelTextColorActive: 'surfaceTextAccent',
@@ -217,21 +221,15 @@ function Tab(props) {
217
221
  var dataTour = props.dataTour, className = props.className, appearance = props.appearance, label = props.label, _a = props.isDisabled, isDisabled = _a === void 0 ? false : _a, badgeValue = props.badgeValue, href = props.href, link = props.link, rel = props.rel, target = props.target, before = props.before, after = props.after, _b = props.isActive, isActive = _b === void 0 ? false : _b, isSkeleton = props.isSkeleton, onClick = props.onClick, onMouseEnter = props.onMouseEnter, children = props.children;
218
222
  var appearanceConfig = useAppearanceConfig(appearance, tabConfig);
219
223
  var propsGenerator = useDevicePropsGenerator(props, appearanceConfig);
220
- var justifyContentClass = propsGenerator.justifyContentClass, alignClass = propsGenerator.alignClass, alignDirectionClass = propsGenerator.alignDirectionClass, fillActiveClass = propsGenerator.fillActiveClass, fillActiveHoverClass = propsGenerator.fillActiveHoverClass, fillClass = propsGenerator.fillClass, fillHoverClass = propsGenerator.fillHoverClass, labelTextAlign = propsGenerator.labelTextAlign, labelTextColor = propsGenerator.labelTextColor, labelTextColorActive = propsGenerator.labelTextColorActive, labelTextColorActiveHover = propsGenerator.labelTextColorActiveHover, labelTextColorHover = propsGenerator.labelTextColorHover, labelTextSize = propsGenerator.labelTextSize, labelTextStyle = propsGenerator.labelTextStyle, labelTextWeight = propsGenerator.labelTextWeight, labelTextWrap = propsGenerator.labelTextWrap, dividerFillDisabled = propsGenerator.dividerFillDisabled, borderColorActiveClass = propsGenerator.borderColorActiveClass, borderColorActiveHoverClass = propsGenerator.borderColorActiveHoverClass, borderColorClass = propsGenerator.borderColorClass, borderColorHoverClass = propsGenerator.borderColorHoverClass, badgeAppearance = propsGenerator.badgeAppearance, badgeAppearanceSize = propsGenerator.badgeAppearanceSize, badgeShape = propsGenerator.badgeShape, badgeSize = propsGenerator.badgeSize, badgeTextColor = propsGenerator.badgeTextColor, badgeTextSize = propsGenerator.badgeTextSize, dividerFill = propsGenerator.dividerFill, dividerFillActive = propsGenerator.dividerFillActive, dividerFillActiveHover = propsGenerator.dividerFillActiveHover, dividerFillHover = propsGenerator.dividerFillHover, dividerSize = propsGenerator.dividerSize, icon = propsGenerator.icon, iconFill = propsGenerator.iconFill, iconFillIcon = propsGenerator.iconFillIcon, iconFillSize = propsGenerator.iconFillSize, iconShape = propsGenerator.iconShape, iconSize = propsGenerator.iconSize, iconSrc = propsGenerator.iconSrc, linkFill = propsGenerator.linkFill, shapeClass = propsGenerator.shapeClass, shapeStrengthClass = propsGenerator.shapeStrengthClass, sizeClass = propsGenerator.sizeClass, widthClass = propsGenerator.widthClass;
224
+ var rootClasses = useActiveClasses({
225
+ isDisabled: isDisabled,
226
+ propsGenerator: propsGenerator,
227
+ isActive: isActive,
228
+ }).rootClasses;
229
+ var justifyContentClass = propsGenerator.justifyContentClass, alignClass = propsGenerator.alignClass, alignDirectionClass = propsGenerator.alignDirectionClass, labelTextAlign = propsGenerator.labelTextAlign, labelTextColor = propsGenerator.labelTextColor, labelTextColorActive = propsGenerator.labelTextColorActive, labelTextColorActiveHover = propsGenerator.labelTextColorActiveHover, labelTextColorHover = propsGenerator.labelTextColorHover, labelTextSize = propsGenerator.labelTextSize, labelTextStyle = propsGenerator.labelTextStyle, labelTextWeight = propsGenerator.labelTextWeight, labelTextWrap = propsGenerator.labelTextWrap, dividerFillDisabled = propsGenerator.dividerFillDisabled, badgeAppearance = propsGenerator.badgeAppearance, badgeAppearanceSize = propsGenerator.badgeAppearanceSize, badgeShape = propsGenerator.badgeShape, badgeSize = propsGenerator.badgeSize, badgeTextColor = propsGenerator.badgeTextColor, badgeTextSize = propsGenerator.badgeTextSize, dividerFill = propsGenerator.dividerFill, dividerFillActive = propsGenerator.dividerFillActive, dividerFillActiveHover = propsGenerator.dividerFillActiveHover, dividerFillHover = propsGenerator.dividerFillHover, dividerSize = propsGenerator.dividerSize, icon = propsGenerator.icon, iconFill = propsGenerator.iconFill, iconFillIcon = propsGenerator.iconFillIcon, iconFillSize = propsGenerator.iconFillSize, iconShape = propsGenerator.iconShape, iconSize = propsGenerator.iconSize, iconSrc = propsGenerator.iconSrc, linkFill = propsGenerator.linkFill, shapeClass = propsGenerator.shapeClass, shapeStrengthClass = propsGenerator.shapeStrengthClass, sizeClass = propsGenerator.sizeClass, widthClass = propsGenerator.widthClass;
221
230
  // @ts-expect-error
222
231
  var tab = useStyles(props).styles;
223
- return (jsx("div", { dataTour: dataTour, className: clsx('tab', className, isActive && 'tab_state_active', isDisabled && 'tab_state_disabled', !isActive
224
- ? fillClass && "fill_".concat(fillClass)
225
- : fillActiveClass && "fill_active_".concat(fillActiveClass), !isActive
226
- ? fillHoverClass && "fill_hover_".concat(fillHoverClass)
227
- : fillActiveHoverClass && "fill_active_hover_".concat(fillActiveHoverClass), !isActive
228
- ? borderColorClass && "border-color_".concat(borderColorClass)
229
- : borderColorActiveClass &&
230
- "border-color_active_".concat(borderColorActiveClass), !isActive
231
- ? borderColorHoverClass &&
232
- "border-color_hover_".concat(borderColorHoverClass)
233
- : borderColorActiveHoverClass &&
234
- "border-color_active_hover_".concat(borderColorActiveHoverClass), sizeClass && "tab_size_".concat(sizeClass), shapeClass && "shape_".concat(shapeClass), shapeStrengthClass && "shape-strength_".concat(shapeStrengthClass), widthClass && "width_".concat(widthClass), justifyContentClass && "tab_justify-content_".concat(justifyContentClass), isSkeleton && "tab_skeleton", onClick && 'cursor_type_pointer'), style: tab, onClick: onClick, onMouseEnter: onMouseEnter, children: jsxs(Link, { className: clsx('tab__link', alignDirectionClass && "align_".concat(alignDirectionClass), alignClass && "align_".concat(alignClass), !isDisabled && 'cursor_type_pointer'), fill: linkFill, href: link || href, rel: rel, target: target, children: [before, children || (jsxs(React.Fragment, { children: [jsxs("div", { className: "tab__wrapper", children: [label && (jsx(Text, { className: "tab__label", size: labelTextSize, isDisabled: isDisabled, textAlign: labelTextAlign, textColor: labelTextColor, textColorActive: labelTextColorActive, textColorHover: labelTextColorHover, textColorHoverActive: labelTextColorActiveHover, textStyle: labelTextStyle, textWeight: labelTextWeight, textWrap: labelTextWrap, isActive: isActive, children: label })), Boolean(badgeValue) && (jsx(Badge, { appearance: "".concat(badgeAppearance, " ").concat(badgeAppearanceSize), size: badgeSize, textColor: badgeTextColor, textSize: badgeTextSize, shape: badgeShape, value: badgeValue })), (icon || iconSrc) && (jsx(Icon, { className: clsx('tab__icon_after'), fill: iconFill, fillSize: iconFillSize, iconFill: iconFillIcon, iconSize: iconSize, imageSrc: iconSrc, shape: iconShape, SvgImage: icon }))] }), jsx(Divider, { className: clsx('tab__divider'), width: "fill", direction: "horizontal", size: dividerSize, fill: dividerFill, fillActive: dividerFillActive, fillActiveHover: dividerFillActiveHover, fillDisabled: dividerFillDisabled, fillHover: dividerFillHover, zIndex: "1", isDisabled: isDisabled, isActive: isActive })] })), after] }) }));
232
+ return (jsx("div", { dataTour: dataTour, className: clsx('tab', className, rootClasses, isActive && 'tab_state_active', isDisabled && 'tab_state_disabled', sizeClass && "tab_size_".concat(sizeClass), shapeClass && "shape_".concat(shapeClass), shapeStrengthClass && "shape-strength_".concat(shapeStrengthClass), widthClass && "width_".concat(widthClass), justifyContentClass && "tab_justify-content_".concat(justifyContentClass), isSkeleton && "tab_skeleton", onClick && 'cursor_type_pointer'), style: tab, onClick: onClick, onMouseEnter: onMouseEnter, children: jsxs(Link, { className: clsx('tab__link', alignDirectionClass && "align_".concat(alignDirectionClass), alignClass && "align_".concat(alignClass), !isDisabled && 'cursor_type_pointer'), fill: linkFill, href: link || href, rel: rel, target: target, children: [before, children || (jsxs(React.Fragment, { children: [jsxs("div", { className: "tab__wrapper", children: [label && (jsx(Text, { className: "tab__label", size: labelTextSize, isDisabled: isDisabled, textAlign: labelTextAlign, textColor: labelTextColor, textColorActive: labelTextColorActive, textColorHover: labelTextColorHover, textColorHoverActive: labelTextColorActiveHover, textStyle: labelTextStyle, textWeight: labelTextWeight, textWrap: labelTextWrap, isActive: isActive, children: label })), Boolean(badgeValue) && (jsx(Badge, { appearance: "".concat(badgeAppearance, " ").concat(badgeAppearanceSize), size: badgeSize, textColor: badgeTextColor, textSize: badgeTextSize, shape: badgeShape, value: badgeValue })), (icon || iconSrc) && (jsx(Icon, { className: clsx('tab__icon_after'), fill: iconFill, fillSize: iconFillSize, iconFill: iconFillIcon, iconSize: iconSize, imageSrc: iconSrc, shape: iconShape, SvgImage: icon }))] }), jsx(Divider, { className: clsx('tab__divider'), width: "fill", direction: "horizontal", size: dividerSize, fill: dividerFill, fillActive: dividerFillActive, fillActiveHover: dividerFillActiveHover, fillDisabled: dividerFillDisabled, fillHover: dividerFillHover, zIndex: "1", isDisabled: isDisabled, isActive: isActive })] })), after] }) }));
235
233
  }
236
234
 
237
235
  function TabGroup(props) {
@@ -1,4 +1,4 @@
1
- export { T as Text, a as textAppearance, t as textConfig } from '../Text_es_BXh9Y3hR.js';
1
+ export { T as Text, a as textAppearance, t as textConfig } from '../Text_es_CtCwsa3V.js';
2
2
  import 'react/jsx-runtime';
3
3
  import 'clsx';
4
4
  import '../hooks/useAppearanceConfig/useAppearanceConfig.js';
@@ -15,6 +15,7 @@ import '../context/UIContext.js';
15
15
  import '../hooks/useMediaQueries/useMediaQueries.js';
16
16
  import 'react-responsive';
17
17
  import '../utils/setViewportProperty.js';
18
+ import '../hooks.js';
19
+ import '../hooks/useStyles/styleAttributes.js';
18
20
  import '../hooks/useStyles/useStyles.js';
19
21
  import 'lodash/maxBy';
20
- import '../hooks/useStyles/styleAttributes.js';
@@ -14,6 +14,8 @@ import '../context/UIContext.js';
14
14
  import '../hooks/useMediaQueries/useMediaQueries.js';
15
15
  import 'react-responsive';
16
16
  import '../utils/setViewportProperty.js';
17
+ import '../hooks.js';
18
+ import '../hooks/useStyles/styleAttributes.js';
17
19
 
18
20
  var textareaAppearanceDefault = {
19
21
  defaultPrimary: {
@@ -3,8 +3,8 @@ import clsx from 'clsx';
3
3
  import { useAppearanceConfig } from '../hooks/useAppearanceConfig/useAppearanceConfig.js';
4
4
  import { useDevicePropsGenerator } from '../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js';
5
5
  import { useStyles } from '../hooks/useStyles/useStyles.js';
6
- import { b as Title, B as Badge, I as Icon } from '../Icon_es_BYO1LdXJ.js';
7
- import { T as Text } from '../Text_es_BXh9Y3hR.js';
6
+ import { b as Title, B as Badge, I as Icon } from '../Icon_es_C76te22j.js';
7
+ import { T as Text } from '../Text_es_CtCwsa3V.js';
8
8
  import { _ as __assign } from '../tslib.es6_es_Bwu1Cn-t.js';
9
9
  import 'react';
10
10
  import 'lodash/camelCase';
@@ -17,8 +17,9 @@ import '../context/UIContext.js';
17
17
  import '../hooks/useMediaQueries/useMediaQueries.js';
18
18
  import 'react-responsive';
19
19
  import '../utils/setViewportProperty.js';
20
- import 'lodash/maxBy';
20
+ import '../hooks.js';
21
21
  import '../hooks/useStyles/styleAttributes.js';
22
+ import 'lodash/maxBy';
22
23
  import 'react-inlinesvg';
23
24
  import '../hoc/urlWithAssetPrefix.js';
24
25
  import '../context/UrlAssetPrefix.js';
@@ -1,4 +1,4 @@
1
- export { b as Title, d as titleAppearance, c as titleConfig } from '../Icon_es_BYO1LdXJ.js';
1
+ export { b as Title, d as titleAppearance, c as titleConfig } from '../Icon_es_C76te22j.js';
2
2
  import '../tslib.es6_es_Bwu1Cn-t.js';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react';
@@ -18,8 +18,9 @@ import '../context/UIContext.js';
18
18
  import '../hooks/useMediaQueries/useMediaQueries.js';
19
19
  import 'react-responsive';
20
20
  import '../utils/setViewportProperty.js';
21
+ import '../hooks.js';
22
+ import '../hooks/useStyles/styleAttributes.js';
21
23
  import '../hooks/useStyles/useStyles.js';
22
24
  import 'lodash/maxBy';
23
- import '../hooks/useStyles/styleAttributes.js';
24
25
  import '../Link_es_BnUIX0QT.js';
25
- import '../Text_es_BXh9Y3hR.js';
26
+ import '../Text_es_CtCwsa3V.js';
@@ -1,4 +1,4 @@
1
- export { T as Tooltip, a as tooltipAppearance, t as tooltipConfig } from '../Icon_es_BYO1LdXJ.js';
1
+ export { T as Tooltip, a as tooltipAppearance, t as tooltipConfig } from '../Icon_es_C76te22j.js';
2
2
  import '../tslib.es6_es_Bwu1Cn-t.js';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react';
@@ -18,8 +18,9 @@ import '../context/UIContext.js';
18
18
  import '../hooks/useMediaQueries/useMediaQueries.js';
19
19
  import 'react-responsive';
20
20
  import '../utils/setViewportProperty.js';
21
+ import '../hooks.js';
22
+ import '../hooks/useStyles/styleAttributes.js';
21
23
  import '../hooks/useStyles/useStyles.js';
22
24
  import 'lodash/maxBy';
23
- import '../hooks/useStyles/styleAttributes.js';
24
25
  import '../Link_es_BnUIX0QT.js';
25
- import '../Text_es_BXh9Y3hR.js';
26
+ import '../Text_es_CtCwsa3V.js';
@@ -13,6 +13,7 @@ import '../context/UIContext.js';
13
13
  import '../hooks/useMediaQueries/useMediaQueries.js';
14
14
  import 'react-responsive';
15
15
  import '../utils/setViewportProperty.js';
16
+ import '../hooks.js';
16
17
  import '../hooks/useStyles/styleAttributes.js';
17
18
 
18
19
  function Video(props) {
@@ -1,8 +1,8 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { useState, Fragment } from 'react';
3
3
  import clsx from 'clsx';
4
- import { I as Icon } from '../Icon_es_BYO1LdXJ.js';
5
- import { T as Text } from '../Text_es_BXh9Y3hR.js';
4
+ import { I as Icon } from '../Icon_es_C76te22j.js';
5
+ import { T as Text } from '../Text_es_CtCwsa3V.js';
6
6
  import { useAppearanceConfig } from '../hooks/useAppearanceConfig/useAppearanceConfig.js';
7
7
  import { useDevicePropsGenerator } from '../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js';
8
8
  import { useStyles } from '../hooks/useStyles/useStyles.js';
@@ -22,8 +22,9 @@ import '../context/UIContext.js';
22
22
  import '../hooks/useMediaQueries/useMediaQueries.js';
23
23
  import 'react-responsive';
24
24
  import '../utils/setViewportProperty.js';
25
- import 'lodash/maxBy';
25
+ import '../hooks.js';
26
26
  import '../hooks/useStyles/styleAttributes.js';
27
+ import 'lodash/maxBy';
27
28
 
28
29
  var warningAppearanceAccent = {
29
30
  accentMutedPrimary: {
@@ -33,11 +33,10 @@
33
33
  }
34
34
  .icon_fill {
35
35
  @each $type in accent, primary, secondary, tertiary, quaternary, surface,
36
- error, success, warning, info, danger, gradient, disabled, hover, inverse {
36
+ error, success, warning, info, danger {
37
37
  &_$(type) {
38
38
  &-item {
39
- @each $color in primary, secondary, tertiary, quaternary, quinary,
40
- senary, accent, disabled, hover, inverse {
39
+ @each $color in primary, secondary, tertiary, quaternary {
41
40
  &-$(color) {
42
41
  & svg {
43
42
  stroke: none;
@@ -46,8 +45,7 @@
46
45
  }
47
46
  }
48
47
  }
49
- @each $color in primary, secondary, tertiary, quaternary, quinary, senary,
50
- accent, disabled, hover, inverse {
48
+ @each $color in primary, secondary, tertiary, quaternary {
51
49
  &-$(color) {
52
50
  & svg {
53
51
  stroke: none;
@@ -85,12 +83,11 @@
85
83
  }
86
84
  }
87
85
  .icon_fill_hover {
88
- @each $type in accent, primary, secondary, tertiary, quaternary, quinary,
89
- senary, surface, error, success, warning, info, danger, gradient {
86
+ @each $type in accent, primary, secondary, tertiary, quaternary, surface,
87
+ error, success, warning, info, danger {
90
88
  &_$(type) {
91
89
  &-item {
92
- @each $color in primary, secondary, tertiary, quaternary, quinary,
93
- senary, accent, disabled, hover, inverse {
90
+ @each $color in primary, secondary, tertiary, quaternary {
94
91
  &-$(color) {
95
92
  &:hover {
96
93
  & svg {
@@ -137,11 +134,10 @@
137
134
  .icon_fill {
138
135
  &_active {
139
136
  @each $type in accent, primary, secondary, tertiary, quaternary, surface,
140
- error, success, warning, info, danger, gradient, disabled, hover, inverse {
137
+ error, success, warning, info, danger {
141
138
  &_$(type) {
142
139
  &-item {
143
- @each $color in primary, secondary, tertiary, quaternary, quinary,
144
- senary, accent, disabled, hover, inverse {
140
+ @each $color in primary, secondary, tertiary, quaternary {
145
141
  &-$(color) {
146
142
  & svg {
147
143
  stroke: none;
@@ -150,8 +146,7 @@
150
146
  }
151
147
  }
152
148
  }
153
- @each $color in primary, secondary, tertiary, quaternary, quinary,
154
- senary, accent, disabled, hover, inverse {
149
+ @each $color in primary, secondary, tertiary, quaternary {
155
150
  &-$(color) {
156
151
  & svg {
157
152
  stroke: none;
@@ -193,11 +188,10 @@
193
188
  &_active {
194
189
  &_hover {
195
190
  @each $type in accent, primary, secondary, tertiary, quaternary, surface,
196
- error, success, warning, info, danger, gradient, disabled, hover, inverse {
191
+ error, success, warning, info, danger {
197
192
  &_$(type) {
198
193
  &-item {
199
- @each $color in primary, secondary, tertiary, quaternary, quinary,
200
- senary, accent, disabled, hover, inverse {
194
+ @each $color in primary, secondary, tertiary, quaternary {
201
195
  &-$(color) {
202
196
  &:hover {
203
197
  & svg {
@@ -208,8 +202,7 @@
208
202
  }
209
203
  }
210
204
  }
211
- @each $color in primary, secondary, tertiary, quaternary, quinary,
212
- senary, accent, disabled, hover, inverse {
205
+ @each $color in primary, secondary, tertiary, quaternary {
213
206
  &-$(color) {
214
207
  &:hover {
215
208
  & svg {
@@ -0,0 +1,116 @@
1
+ var CLASS_RULES = {
2
+ fill: [
3
+ {
4
+ key: 'fillClass',
5
+ stateFn: function (_a) {
6
+ var isDisabled = _a.isDisabled, isActive = _a.isActive;
7
+ return !isActive && !isDisabled;
8
+ },
9
+ },
10
+ {
11
+ key: 'fillHoverClass',
12
+ stateFn: function (_a) {
13
+ var isDisabled = _a.isDisabled, isActive = _a.isActive;
14
+ return !isActive && !isDisabled;
15
+ },
16
+ },
17
+ {
18
+ key: 'fillActiveClass',
19
+ stateFn: function (_a) {
20
+ var isDisabled = _a.isDisabled, isActive = _a.isActive;
21
+ return Boolean(isActive) && !isDisabled;
22
+ },
23
+ },
24
+ {
25
+ key: 'fillActiveHoverClass',
26
+ stateFn: function (_a) {
27
+ var isDisabled = _a.isDisabled, isActive = _a.isActive;
28
+ return Boolean(isActive) && !isDisabled;
29
+ },
30
+ },
31
+ {
32
+ key: 'fillDisabledClass',
33
+ stateFn: function (_a) {
34
+ var isDisabled = _a.isDisabled, isActive = _a.isActive;
35
+ return !isActive && Boolean(isDisabled);
36
+ },
37
+ },
38
+ ],
39
+ borderColor: [
40
+ {
41
+ key: 'borderColorClass',
42
+ stateFn: function (_a) {
43
+ var isDisabled = _a.isDisabled, isActive = _a.isActive;
44
+ return !isActive && !isDisabled;
45
+ },
46
+ },
47
+ {
48
+ key: 'borderColorHoverClass',
49
+ stateFn: function (_a) {
50
+ var isDisabled = _a.isDisabled, isActive = _a.isActive;
51
+ return !isActive && !isDisabled;
52
+ },
53
+ },
54
+ {
55
+ key: 'borderColorActiveClass',
56
+ stateFn: function (_a) {
57
+ var isDisabled = _a.isDisabled, isActive = _a.isActive;
58
+ return Boolean(isActive) && !isDisabled;
59
+ },
60
+ },
61
+ ],
62
+ textColor: [
63
+ {
64
+ key: 'textColorClass',
65
+ stateFn: function (_a) {
66
+ var isDisabled = _a.isDisabled, isActive = _a.isActive;
67
+ return !isActive && !isDisabled;
68
+ },
69
+ },
70
+ ],
71
+ };
72
+ var formatState = function (key) {
73
+ // Try to find one of the state tokens in the input key:
74
+ // - matches "ActiveHover", "Active", "Hover" or "Disabled"
75
+ // - case-insensitive because of the /i flag
76
+ // Examples of matches:
77
+ // "fillActiveHoverColor" -> match[0] === "ActiveHover"
78
+ // "borderDisabled" -> match[0] === "Disabled"
79
+ var stateMatch = key.match(/(ActiveHover|Active|Hover|Disabled)/i);
80
+ if (!stateMatch) {
81
+ return '';
82
+ }
83
+ // Replace the matched token with a normalized snake-like form and
84
+ // prepend an underscore. The chained replace calls map:
85
+ // ActiveHover -> active_hover
86
+ // Active -> active
87
+ // Hover -> hover
88
+ // Disabled -> disabled
89
+ // The final .toLowerCase() ensures output is lowercased regardless of input casing.
90
+ // Examples:
91
+ // "fillActiveHoverColor" -> "_active_hover"
92
+ // "borderDisabled" -> "disabled"
93
+ return ('_' +
94
+ stateMatch[0]
95
+ .replace(/ActiveHover/i, 'active_hover')
96
+ .replace(/Active/i, 'active')
97
+ .replace(/Hover/i, 'hover')
98
+ .replace(/Disabled/i, 'disabled')
99
+ .toLowerCase());
100
+ };
101
+ // Insert a hyphen between a lowercase letter followed by an uppercase letter:
102
+ // - regex: /([a-z])([A-Z])/g
103
+ // ([a-z]) -> capture group 1: a lowercase letter
104
+ // ([A-Z]) -> capture group 2: an uppercase letter
105
+ // g -> global: replace all occurrences
106
+ // - replacement: '$1-$2' puts a hyphen between the two captured groups
107
+ // - finally .toLowerCase() to produce a full kebab-case string
108
+ //
109
+ // Examples:
110
+ // "myTestString" -> "my-test-string"
111
+ // "borderColorActiveHover" -> "border-color-active-hover"
112
+ var toKebabCase = function (str) {
113
+ return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
114
+ };
115
+
116
+ export { CLASS_RULES, formatState, toKebabCase };
@@ -0,0 +1,63 @@
1
+ var suffix = [
2
+ 'Button',
3
+ 'Checkbox',
4
+ 'Radio',
5
+ 'Checkmark',
6
+ 'Avatar',
7
+ 'AvatarStack',
8
+ 'Badge',
9
+ 'Breadcrumbs',
10
+ 'Cell',
11
+ 'Chips',
12
+ 'Choice',
13
+ 'Code',
14
+ 'CookiesWarning',
15
+ 'Dadata',
16
+ 'DatePeriod',
17
+ 'Divider',
18
+ 'Dot',
19
+ 'Drawer',
20
+ 'Dropdown',
21
+ 'DropdownItem',
22
+ 'Flex',
23
+ 'Grid',
24
+ 'Group',
25
+ 'HeroTitle',
26
+ 'HTMLContent',
27
+ 'Icon',
28
+ 'Image',
29
+ 'Input',
30
+ 'InputPassword',
31
+ 'Label',
32
+ 'Link',
33
+ 'List',
34
+ 'Loader',
35
+ 'Logo',
36
+ 'MenuItem',
37
+ 'Modal',
38
+ 'ModalSheetBottom',
39
+ 'Notification',
40
+ 'Overlay',
41
+ 'Pagination',
42
+ 'RangeSlider',
43
+ 'Response',
44
+ 'ScrollBar',
45
+ 'ScrollOnDrag',
46
+ 'ScrollToView',
47
+ 'Search',
48
+ 'Segmented',
49
+ 'Select',
50
+ 'SvgContent',
51
+ 'Swiper',
52
+ 'Switch',
53
+ 'Tab',
54
+ 'Text',
55
+ 'Textarea',
56
+ 'Tile',
57
+ 'Title',
58
+ 'Tooltip',
59
+ 'Video',
60
+ 'Warning',
61
+ ];
62
+
63
+ export { suffix };
@@ -0,0 +1,62 @@
1
+ import clsx from 'clsx';
2
+ import { CLASS_RULES, toKebabCase, formatState } from './useActiveClasses.helpers.js';
3
+
4
+ var useActiveClasses = function (params) {
5
+ var isDisabled = params.isDisabled, propsGenerator = params.propsGenerator, _a = params.suffixes, suffixes = _a === void 0 ? [] : _a, isActive = params.isActive;
6
+ var rootClassesArray = [];
7
+ Object.entries(CLASS_RULES).forEach(function (_a) {
8
+ var rulesName = _a[0], rules = _a[1];
9
+ var kebabRuleName = toKebabCase(rulesName);
10
+ rules.forEach(function (_a) {
11
+ var key = _a.key, stateFn = _a.stateFn;
12
+ var value = propsGenerator[key];
13
+ if (!value) {
14
+ return;
15
+ }
16
+ if (stateFn) {
17
+ var active = stateFn({ isDisabled: isDisabled, isActive: isActive });
18
+ if (!active) {
19
+ return;
20
+ }
21
+ }
22
+ var stateName = formatState(key);
23
+ rootClassesArray.push("".concat(kebabRuleName).concat(stateName, "_").concat(value));
24
+ });
25
+ });
26
+ var rootClasses = clsx(rootClassesArray);
27
+ var suffixClasses = suffixes.reduce(function (acc, suffix) {
28
+ var classes = [];
29
+ Object.entries(CLASS_RULES).forEach(function (_a) {
30
+ var rulesName = _a[0], rules = _a[1];
31
+ rules.forEach(function (_a) {
32
+ var key = _a.key, stateFn = _a.stateFn;
33
+ var withoutPrefixRulesName = key.replace(rulesName, '');
34
+ var propKey = rulesName + suffix + withoutPrefixRulesName;
35
+ var value = propsGenerator[propKey];
36
+ if (!value) {
37
+ return;
38
+ }
39
+ if (stateFn) {
40
+ var active = stateFn({ isDisabled: isDisabled, isActive: isActive });
41
+ if (!active) {
42
+ return;
43
+ }
44
+ }
45
+ var state = formatState(propKey);
46
+ var kebabName = toKebabCase(rulesName);
47
+ classes.push("".concat(kebabName).concat(state, "_").concat(value));
48
+ });
49
+ });
50
+ var suffixKey = suffix === 'HTMLContent'
51
+ ? 'htmlContent'
52
+ : (suffix[0].toLowerCase() + suffix.slice(1));
53
+ acc[suffixKey] = clsx(classes);
54
+ return acc;
55
+ }, {});
56
+ return {
57
+ rootClasses: rootClasses,
58
+ suffixClasses: suffixClasses,
59
+ };
60
+ };
61
+
62
+ export { useActiveClasses };
@@ -0,0 +1,3 @@
1
+ export { useActiveClasses } from './useActiveClasses/useActiveClasses.js';
2
+ import 'clsx';
3
+ import './useActiveClasses/useActiveClasses.helpers.js';