@itcase/ui 1.3.30 → 1.3.32

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 (427) hide show
  1. package/dist/Badge-BX4N91_C.js +250 -0
  2. package/dist/Badge-CGHosmYx.js +246 -0
  3. package/dist/Button-D1m2MxZA.js +291 -0
  4. package/dist/Button-DZ3z7f-A.js +287 -0
  5. package/dist/Divider-BQcBkzt1.js +30 -0
  6. package/dist/Divider-ImOOytuN.js +34 -0
  7. package/dist/{DropdownItem-FNOztnTT.js → DropdownItem-BiiEhR49.js} +12 -16
  8. package/dist/{DropdownItem-Bq-oPnWX.js → DropdownItem-g5jWbyJy.js} +12 -16
  9. package/dist/{Group-c3ZkPu8e.js → Group-BKJmVwPZ.js} +4 -4
  10. package/dist/{Group-BY8OkVsS.js → Group-Bkz3RO18.js} +4 -4
  11. package/dist/{Icon-pUvizy3W.js → Icon-GVGrUu_Z.js} +6 -6
  12. package/dist/{Icon-BdHr6E6M.js → Icon-htF_V35Y.js} +7 -7
  13. package/dist/{Image-BbBG_UGI.js → Image-BEGwuGBM.js} +4 -4
  14. package/dist/{Image-D-QHhsrC.js → Image-DWfyapuD.js} +4 -4
  15. package/dist/{Input-BrV5_NoV.js → Input-COFdaiTe.js} +3 -3
  16. package/dist/{Input-ffioh1sj.js → Input-Dwvk-poq.js} +3 -3
  17. package/dist/Label-Dpeq55TV.js +233 -0
  18. package/dist/Label-XTFwl1aq.js +237 -0
  19. package/dist/{Link-CxWmYMyL.js → Link-B38Hn4G2.js} +5 -5
  20. package/dist/{Link-DN2LhPjD.js → Link-BhJ5BdyS.js} +6 -6
  21. package/dist/Loader-CBEbIRnd.js +69 -0
  22. package/dist/Loader-CsPvc-9g.js +65 -0
  23. package/dist/{MenuItem-CLDNk2l8.js → MenuItem-Cjlnmfwh.js} +6 -6
  24. package/dist/{MenuItem-amqx61Y0.js → MenuItem-PJkuGghn.js} +6 -6
  25. package/dist/{Overlay-B9nOIfLe.js → Overlay-BKh07Vb2.js} +4 -4
  26. package/dist/{Overlay-Yf9EEclM.js → Overlay-DiCjwUv4.js} +4 -4
  27. package/dist/{Text-Beslj4Ns.js → Text-C49zj3jO.js} +7 -7
  28. package/dist/{Text-JayJa3hj.js → Text-C6NSmetx.js} +7 -7
  29. package/dist/{Title-BfKF5WvZ.js → Title-BWWyRwLY.js} +4 -4
  30. package/dist/{Title-C7Qv9WfS.js → Title-Dck3eHNM.js} +4 -4
  31. package/dist/{Tooltip-AodzD-7D.js → Tooltip-BYgzNVYI.js} +18 -14
  32. package/dist/{Tooltip-BDEyAnd-.js → Tooltip-DpBQQoNo.js} +18 -14
  33. package/dist/cjs/components/Accordion.js +15 -15
  34. package/dist/cjs/components/Avatar.js +22 -20
  35. package/dist/cjs/components/Badge.js +12 -7
  36. package/dist/cjs/components/Breadcrumbs.js +16 -21
  37. package/dist/cjs/components/Button.js +13 -13
  38. package/dist/cjs/components/Card.js +9 -9
  39. package/dist/cjs/components/Cell.js +32 -17
  40. package/dist/cjs/components/Checkbox.js +13 -13
  41. package/dist/cjs/components/Checkmark.js +25 -23
  42. package/dist/cjs/components/Chips.js +22 -17
  43. package/dist/cjs/components/Choice.js +13 -13
  44. package/dist/cjs/components/Code.js +9 -19
  45. package/dist/cjs/components/CookiesWarning.js +15 -15
  46. package/dist/cjs/components/DadataHintField.js +4 -3
  47. package/dist/cjs/components/DatePicker.js +43 -19
  48. package/dist/cjs/components/Divider.js +7 -7
  49. package/dist/cjs/components/Dot.js +7 -7
  50. package/dist/cjs/components/Dropdown.js +9 -9
  51. package/dist/cjs/components/Flex.js +12 -11
  52. package/dist/cjs/components/Grid.js +12 -12
  53. package/dist/cjs/components/Group.js +6 -6
  54. package/dist/cjs/components/HTMLContent.js +7 -7
  55. package/dist/cjs/components/HeroTitle.js +9 -9
  56. package/dist/cjs/components/Icon.js +10 -10
  57. package/dist/cjs/components/Image.js +6 -6
  58. package/dist/cjs/components/Input.js +4 -3
  59. package/dist/cjs/components/InputMask.js +16 -15
  60. package/dist/cjs/components/InputPassword.js +12 -16
  61. package/dist/cjs/components/Label.js +10 -10
  62. package/dist/cjs/components/Link.js +6 -6
  63. package/dist/cjs/components/List.js +13 -12
  64. package/dist/cjs/components/Loader.js +8 -8
  65. package/dist/cjs/components/Logo.js +17 -15
  66. package/dist/cjs/components/Menu.js +11 -15
  67. package/dist/cjs/components/MenuItem.js +8 -8
  68. package/dist/cjs/components/Modal.js +11 -16
  69. package/dist/cjs/components/ModalSheetBottom.js +3 -3
  70. package/dist/cjs/components/Notification.js +8 -8
  71. package/dist/cjs/components/Overlay.js +6 -6
  72. package/dist/cjs/components/Pagination.js +14 -14
  73. package/dist/cjs/components/Panel.js +9 -9
  74. package/dist/cjs/components/Radio.js +16 -19
  75. package/dist/cjs/components/RangeSlider.js +7 -7
  76. package/dist/cjs/components/Response.js +15 -15
  77. package/dist/cjs/components/SVGContent.js +7 -7
  78. package/dist/cjs/components/ScrollOnDrag.js +8 -11
  79. package/dist/cjs/components/ScrollToView.js +9 -9
  80. package/dist/cjs/components/Search.js +16 -19
  81. package/dist/cjs/components/Segmented.js +8 -8
  82. package/dist/cjs/components/Select.js +34 -34
  83. package/dist/cjs/components/Swiper.js +11 -14
  84. package/dist/cjs/components/Switch.js +1 -1
  85. package/dist/cjs/components/Tab.js +17 -13
  86. package/dist/cjs/components/Text.js +6 -6
  87. package/dist/cjs/components/Textarea.js +8 -11
  88. package/dist/cjs/components/Tile.js +24 -20
  89. package/dist/cjs/components/Title.js +8 -8
  90. package/dist/cjs/components/Tooltip.js +9 -9
  91. package/dist/cjs/components/Video.js +4 -3
  92. package/dist/cjs/context/UIContext.js +48 -17
  93. package/dist/cjs/hooks/useDevicePropsGenerator/useDevicePropsGenerator.js +120 -0
  94. package/dist/cjs/hooks/useDevicePropsGenerator.js +17 -0
  95. package/dist/cjs/hooks/useDeviceTargetClass.js +8 -3
  96. package/dist/cjs/hooks/useMediaQueries/useMediaQueries.js +129 -0
  97. package/dist/cjs/hooks/useMediaQueries.js +4 -122
  98. package/dist/cjs/hooks/{styleAttributes.js → useStyles/styleAttributes.js} +8 -1
  99. package/dist/cjs/hooks/useStyles/useStyles.js +190 -0
  100. package/dist/cjs/hooks/useStyles.js +10 -174
  101. package/dist/components/Accordion.js +16 -16
  102. package/dist/components/Avatar.js +22 -20
  103. package/dist/components/Badge.js +13 -8
  104. package/dist/components/Breadcrumbs.js +17 -22
  105. package/dist/components/Button.js +13 -13
  106. package/dist/components/Card.js +10 -10
  107. package/dist/components/Cell.js +33 -18
  108. package/dist/components/Checkbox.js +14 -14
  109. package/dist/components/Checkmark.js +25 -23
  110. package/dist/components/Chips.js +22 -17
  111. package/dist/components/Choice.js +14 -14
  112. package/dist/components/Code.js +10 -20
  113. package/dist/components/CookiesWarning.js +16 -16
  114. package/dist/components/DadataHintField.js +5 -4
  115. package/dist/components/DatePicker.js +44 -20
  116. package/dist/components/Divider.js +7 -7
  117. package/dist/components/Dot.js +8 -8
  118. package/dist/components/Dropdown.js +10 -10
  119. package/dist/components/Flex.js +13 -12
  120. package/dist/components/Grid.js +13 -13
  121. package/dist/components/Group.js +7 -7
  122. package/dist/components/HTMLContent.js +8 -8
  123. package/dist/components/HeroTitle.js +9 -9
  124. package/dist/components/Icon.js +11 -11
  125. package/dist/components/Image.js +7 -7
  126. package/dist/components/Input.js +5 -4
  127. package/dist/components/InputMask.js +17 -16
  128. package/dist/components/InputPassword.js +13 -17
  129. package/dist/components/Label.js +10 -10
  130. package/dist/components/Link.js +7 -7
  131. package/dist/components/List.js +14 -13
  132. package/dist/components/Loader.js +8 -8
  133. package/dist/components/Logo.js +17 -15
  134. package/dist/components/Menu.js +12 -16
  135. package/dist/components/MenuItem.js +9 -9
  136. package/dist/components/Modal.js +12 -17
  137. package/dist/components/ModalSheetBottom.js +4 -4
  138. package/dist/components/Notification.js +9 -9
  139. package/dist/components/Overlay.js +7 -7
  140. package/dist/components/Pagination.js +15 -15
  141. package/dist/components/Panel.js +10 -10
  142. package/dist/components/Radio.js +17 -20
  143. package/dist/components/RangeSlider.js +8 -8
  144. package/dist/components/Response.js +16 -16
  145. package/dist/components/SVGContent.js +8 -8
  146. package/dist/components/ScrollOnDrag.js +9 -12
  147. package/dist/components/ScrollToView.js +10 -10
  148. package/dist/components/Search.js +17 -20
  149. package/dist/components/Segmented.js +9 -9
  150. package/dist/components/Select.js +35 -35
  151. package/dist/components/Swiper.js +12 -15
  152. package/dist/components/Switch.js +1 -1
  153. package/dist/components/Tab.js +18 -14
  154. package/dist/components/Text.js +7 -7
  155. package/dist/components/Textarea.js +9 -12
  156. package/dist/components/Tile.js +24 -20
  157. package/dist/components/Title.js +8 -8
  158. package/dist/components/Tooltip.js +9 -9
  159. package/dist/components/Video.js +4 -3
  160. package/dist/context/Notifications.js +1 -1
  161. package/dist/context/UIContext.js +50 -18
  162. package/dist/css/components/Avatar/Avatar.css +8 -8
  163. package/dist/css/components/Badge/Badge.css +48 -26
  164. package/dist/css/components/Badge/Badge.tokens.css +48 -18
  165. package/dist/css/components/Button/Button.css +67 -303
  166. package/dist/css/components/Button/Button.tokens.css +37 -115
  167. package/dist/css/components/Cell/Cell.css +2 -2
  168. package/dist/css/components/Checkbox/Checkbox.css +6 -4
  169. package/dist/css/components/Checkmark/Checkmark.css +11 -10
  170. package/dist/css/components/Checkmark/Checkmark.tokens.css +20 -14
  171. package/dist/css/components/Chips/Chips.css +0 -10
  172. package/dist/css/components/DadataHintField/DadataHintField.css +0 -8
  173. package/dist/css/components/DadataHintField/DadataHintField.tokens.css +7 -2
  174. package/dist/css/components/DatePicker/DatePicker.css +102 -69
  175. package/dist/css/components/DatePicker/DatePicker.tokens.css +7 -2
  176. package/dist/css/components/Divider/Divider.css +0 -12
  177. package/dist/css/components/Divider/Divider.tokens.css +12 -0
  178. package/dist/css/components/Flex/Flex.css +0 -1
  179. package/dist/css/components/Grid/Grid.css +1 -5
  180. package/dist/css/components/Group/Group.css +2 -0
  181. package/dist/css/components/HeroTitle/HeroTitle.css +2 -2
  182. package/dist/css/components/Icon/Icon.css +13 -14
  183. package/dist/css/components/Icon/Icon.tokens.css +2 -1
  184. package/dist/css/components/Image/Image.css +3 -3
  185. package/dist/css/components/Label/Label.css +2 -2
  186. package/dist/css/components/Loader/Loader.css +12 -5
  187. package/dist/css/components/Logo/Logo.css +3 -19
  188. package/dist/css/components/Menu/Menu.css +9 -1
  189. package/dist/css/components/MenuItem/MenuItem.css +0 -10
  190. package/dist/css/components/MenuItem/MenuItem.tokens.css +9 -1
  191. package/dist/css/components/Radio/Radio.css +0 -3
  192. package/dist/css/components/Radio/Radio.tokens.css +2 -1
  193. package/dist/css/components/ScrollToView/ScrollToView.css +4 -4
  194. package/dist/css/components/Swiper/Swiper.css +2 -3
  195. package/dist/css/components/Switch/Switch.css +0 -7
  196. package/dist/css/components/Text/Text.css +2 -2
  197. package/dist/css/components/Title/Title.css +2 -2
  198. package/dist/css/components/Tooltip/Tooltip.css +15 -21
  199. package/dist/css/components/Tooltip/Tooltip.tokens.css +13 -0
  200. package/dist/css/styles/direction/direction.css +2 -0
  201. package/dist/css/styles/fill/fill.css +14 -9
  202. package/dist/css/styles/fill/fill_active.css +6 -3
  203. package/dist/css/styles/fill/fill_active_hover.css +8 -6
  204. package/dist/css/styles/fill/fill_disabled.css +6 -3
  205. package/dist/css/styles/fill/fill_hover.css +6 -3
  206. package/dist/css/styles/shape-strength/shape-strength.css +22 -0
  207. package/dist/css/styles/svg-color/svg_fill.css +27 -17
  208. package/dist/css/styles/svg-color/svg_fill_hover.css +12 -10
  209. package/dist/css/styles/svg-color/svg_path_fill.css +13 -9
  210. package/dist/hooks/useDevicePropsGenerator/useDevicePropsGenerator.js +118 -0
  211. package/dist/hooks/useDevicePropsGenerator.js +11 -0
  212. package/dist/hooks/useDeviceTargetClass.js +8 -3
  213. package/dist/hooks/useMediaQueries/useMediaQueries.js +127 -0
  214. package/dist/hooks/useMediaQueries.js +3 -125
  215. package/dist/hooks/{styleAttributes.js → useStyles/styleAttributes.js} +8 -1
  216. package/dist/hooks/useStyles/useStyles.js +188 -0
  217. package/dist/hooks/useStyles.js +9 -177
  218. package/dist/stories/AlignContent.mdx +1 -1
  219. package/dist/stories/AlignItems.mdx +1 -1
  220. package/dist/stories/AlignSelf.mdx +1 -1
  221. package/dist/stories/Appearance.mdx +1 -1
  222. package/dist/stories/Avatar.mdx +1 -1
  223. package/dist/stories/Checkbox.mdx +1 -1
  224. package/dist/stories/Checkmark.mdx +7 -3
  225. package/dist/stories/Chips.mdx +1 -1
  226. package/dist/stories/Choice.mdx +1 -1
  227. package/dist/stories/Code.mdx +1 -1
  228. package/dist/stories/Columns.mdx +1 -1
  229. package/dist/stories/Components.mdx +197 -0
  230. package/dist/stories/DatePicker.mdx +1 -1
  231. package/dist/stories/Dev.mdx +1 -1
  232. package/dist/stories/DevMode.mdx +1 -1
  233. package/dist/stories/Direction.mdx +1 -1
  234. package/dist/stories/Divider.mdx +1 -1
  235. package/dist/stories/Dot.mdx +1 -1
  236. package/dist/stories/Drawer.mdx +1 -1
  237. package/dist/stories/Dropdown.mdx +2 -2
  238. package/dist/stories/DropdownItem.mdx +1 -1
  239. package/dist/stories/Group.mdx +1 -1
  240. package/dist/stories/Grow.mdx +1 -1
  241. package/dist/stories/HeroTitle.mdx +1 -1
  242. package/dist/stories/Icon.mdx +1 -1
  243. package/dist/stories/Image.mdx +1 -1
  244. package/dist/stories/Input.mdx +1 -1
  245. package/dist/stories/InputPassword.mdx +1 -1
  246. package/dist/stories/JustifyContent.mdx +1 -1
  247. package/dist/stories/Label.mdx +1 -1
  248. package/dist/stories/Loader.mdx +1 -1
  249. package/dist/stories/Logo.mdx +1 -1
  250. package/dist/stories/MenuItem.mdx +1 -1
  251. package/dist/stories/Message.mdx +1 -1
  252. package/dist/stories/Notification.mdx +1 -1
  253. package/dist/stories/Order.mdx +1 -1
  254. package/dist/stories/Overview.mdx +1 -1
  255. package/dist/stories/Pagination.mdx +1 -1
  256. package/dist/stories/Playground.mdx +1 -1
  257. package/dist/stories/Radio.mdx +1 -1
  258. package/dist/stories/Response.mdx +1 -1
  259. package/dist/stories/SearchInput.mdx +1 -1
  260. package/dist/stories/Segmented.mdx +1 -1
  261. package/dist/stories/Size.mdx +1 -1
  262. package/dist/stories/Skeleton.mdx +1 -1
  263. package/dist/stories/State.mdx +1 -1
  264. package/dist/stories/Switch.mdx +1 -1
  265. package/dist/stories/Text.mdx +1 -1
  266. package/dist/stories/Textarea.mdx +1 -1
  267. package/dist/stories/Tile.mdx +1 -1
  268. package/dist/stories/Title.mdx +1 -1
  269. package/dist/stories/Tooltip.mdx +1 -1
  270. package/dist/stories/WithTooltip.mdx +1 -1
  271. package/dist/stories/Wrap.mdx +1 -1
  272. package/dist/{tslib.es6-Bwu1Cn-t.js → tslib.es6-5FtW-kfi.js} +1 -1
  273. package/dist/types/appearance/defaultAppearance.d.ts +33 -0
  274. package/dist/types/appearance/index.d.ts +3 -0
  275. package/dist/types/appearance/styleAppearance.d.ts +14 -0
  276. package/dist/types/components/Accordion/Accordion.interface.d.ts +1 -1
  277. package/dist/types/components/Avatar/Avatar.interface.d.ts +1 -1
  278. package/dist/types/components/Badge/Badge.d.ts +0 -6
  279. package/dist/types/components/Badge/Badge.interface.d.ts +1 -1
  280. package/dist/types/components/Badge/appearance/badgeAccent.d.ts +39 -0
  281. package/dist/types/components/Badge/appearance/badgeDanger.d.ts +11 -0
  282. package/dist/types/components/Badge/appearance/badgeDisabled.d.ts +10 -0
  283. package/dist/types/components/Badge/appearance/badgeError.d.ts +12 -0
  284. package/dist/types/components/Badge/appearance/badgeInfo.d.ts +18 -0
  285. package/dist/types/components/Badge/appearance/badgePrimary.d.ts +11 -0
  286. package/dist/types/components/Badge/appearance/badgeSecondary.d.ts +11 -0
  287. package/dist/types/components/Badge/appearance/badgeSize.d.ts +32 -0
  288. package/dist/types/components/Badge/appearance/badgeStyle.d.ts +16 -0
  289. package/dist/types/components/Badge/appearance/badgeSuccess.d.ts +11 -0
  290. package/dist/types/components/Badge/appearance/badgeSurface.d.ts +29 -0
  291. package/dist/types/components/Badge/appearance/badgeWarning.d.ts +11 -0
  292. package/dist/types/components/Breadcrumbs/Breadcrumbs.d.ts +0 -5
  293. package/dist/types/components/Breadcrumbs/Breadcrumbs.interface.d.ts +1 -1
  294. package/dist/types/components/Button/Button.interface.d.ts +1 -1
  295. package/dist/types/components/Button/appearance/buttonAccent.d.ts +50 -0
  296. package/dist/types/components/Button/appearance/buttonDanger.d.ts +11 -0
  297. package/dist/types/components/Button/appearance/buttonError.d.ts +11 -0
  298. package/dist/types/components/Button/appearance/buttonInfo.d.ts +21 -0
  299. package/dist/types/components/Button/appearance/buttonPrimary.d.ts +8 -0
  300. package/dist/types/components/Button/appearance/buttonSecondary.d.ts +8 -0
  301. package/dist/types/components/Button/appearance/buttonSize.d.ts +59 -0
  302. package/dist/types/components/Button/appearance/buttonStyle.d.ts +16 -0
  303. package/dist/types/components/Button/appearance/buttonSuccess.d.ts +11 -0
  304. package/dist/types/components/Button/appearance/buttonSurface.d.ts +25 -0
  305. package/dist/types/components/Button/appearance/buttonWarning.d.ts +11 -0
  306. package/dist/types/components/Button/stories/args.d.ts +49 -49
  307. package/dist/types/components/Card/Card.interface.d.ts +1 -1
  308. package/dist/types/components/Cell/Cell.interface.d.ts +1 -1
  309. package/dist/types/components/Checkbox/Checkbox.interface.d.ts +1 -1
  310. package/dist/types/components/Checkmark/Checkmark.interface.d.ts +1 -1
  311. package/dist/types/components/Chips/Chips.interface.d.ts +1 -1
  312. package/dist/types/components/Chips/stories/args.d.ts +2 -2
  313. package/dist/types/components/Choice/Choice.interface.d.ts +1 -1
  314. package/dist/types/components/Code/Code.d.ts +0 -15
  315. package/dist/types/components/Code/Code.interface.d.ts +1 -1
  316. package/dist/types/components/DadataHintField/DadataHintField.interface.d.ts +1 -1
  317. package/dist/types/components/Divider/Divider.d.ts +0 -5
  318. package/dist/types/components/Divider/Divider.interface.d.ts +1 -1
  319. package/dist/types/components/Dot/Dot.interface.d.ts +1 -1
  320. package/dist/types/components/Drawer/Drawer.interface.d.ts +1 -1
  321. package/dist/types/components/Dropdown/Dropdown.interface.d.ts +1 -1
  322. package/dist/types/components/Dropdown/DropdownItem.d.ts +0 -7
  323. package/dist/types/components/Flex/Flex.interface.d.ts +1 -1
  324. package/dist/types/components/Flex/stories/args.d.ts +1 -1
  325. package/dist/types/components/Grid/Grid.interface.d.ts +1 -1
  326. package/dist/types/components/Grid/stories/args.d.ts +2 -2
  327. package/dist/types/components/Group/Group.interface.d.ts +1 -1
  328. package/dist/types/components/Group/stories/args.d.ts +2 -2
  329. package/dist/types/components/HTMLContent/HTMLContent.interface.d.ts +1 -1
  330. package/dist/types/components/HeroTitle/HeroTitle.interface.d.ts +1 -1
  331. package/dist/types/components/Icon/Icon.interface.d.ts +1 -1
  332. package/dist/types/components/Image/Image.interface.d.ts +1 -1
  333. package/dist/types/components/Input/Input.interface.d.ts +1 -1
  334. package/dist/types/components/InputMask/Input.interface.d.ts +1 -1
  335. package/dist/types/components/InputPassword/InputPassword.d.ts +0 -6
  336. package/dist/types/components/InputPassword/InputPassword.interface.d.ts +1 -1
  337. package/dist/types/components/Label/Label.interface.d.ts +1 -1
  338. package/dist/types/components/Label/appearance/labelAccent.d.ts +13 -0
  339. package/dist/types/components/Label/appearance/labelDanger.d.ts +11 -0
  340. package/dist/types/components/Label/appearance/labelError.d.ts +11 -0
  341. package/dist/types/components/Label/appearance/labelGradient.d.ts +11 -0
  342. package/dist/types/components/Label/appearance/labelInfo.d.ts +21 -0
  343. package/dist/types/components/Label/appearance/labelPrimary.d.ts +8 -0
  344. package/dist/types/components/Label/appearance/labelSecondary.d.ts +8 -0
  345. package/dist/types/components/Label/appearance/labelSize.d.ts +59 -0
  346. package/dist/types/components/Label/appearance/labelStyle.d.ts +16 -0
  347. package/dist/types/components/Label/appearance/labelSuccess.d.ts +11 -0
  348. package/dist/types/components/Label/appearance/labelSurface.d.ts +24 -0
  349. package/dist/types/components/Label/appearance/labelWarning.d.ts +11 -0
  350. package/dist/types/components/Link/Link.interface.d.ts +1 -1
  351. package/dist/types/components/List/List.interface.d.ts +1 -1
  352. package/dist/types/components/Loader/Loader.interface.d.ts +1 -1
  353. package/dist/types/components/Loader/appearance/loaderAccent.d.ts +7 -0
  354. package/dist/types/components/Loader/appearance/loaderPrimary.d.ts +7 -0
  355. package/dist/types/components/Loader/appearance/loaderSecondary.d.ts +7 -0
  356. package/dist/types/components/Loader/appearance/loaderSurface.d.ts +15 -0
  357. package/dist/types/components/Logo/Logo.interface.d.ts +1 -1
  358. package/dist/types/components/Menu/Menu.d.ts +0 -5
  359. package/dist/types/components/Menu/Menu.interface.d.ts +1 -1
  360. package/dist/types/components/MenuItem/MenuItem.interface.d.ts +1 -1
  361. package/dist/types/components/Modal/Modal.interface.d.ts +1 -1
  362. package/dist/types/components/Notification/Notification.interface.d.ts +1 -1
  363. package/dist/types/components/Overlay/Overlay.interface.d.ts +1 -1
  364. package/dist/types/components/Pagination/Pagination.interface.d.ts +1 -1
  365. package/dist/types/components/Panel/Panel.interface.d.ts +1 -1
  366. package/dist/types/components/Radio/Radio.d.ts +0 -5
  367. package/dist/types/components/Radio/Radio.interface.d.ts +1 -1
  368. package/dist/types/components/RangeSlider/RangeSlider.interface.d.ts +1 -1
  369. package/dist/types/components/Response/Response.interface.d.ts +1 -1
  370. package/dist/types/components/Response/stories/args.d.ts +4 -4
  371. package/dist/types/components/SVGContent/SVGContent.interface.d.ts +1 -1
  372. package/dist/types/components/ScrollOnDrag/ScrollOnDrag.d.ts +0 -5
  373. package/dist/types/components/ScrollOnDrag/ScrollOnDrag.interface.d.ts +1 -1
  374. package/dist/types/components/Scrollbar/Scrollbar.interface.d.ts +1 -1
  375. package/dist/types/components/Search/Search.interface.d.ts +1 -1
  376. package/dist/types/components/Segmented/Segmented.interface.d.ts +1 -1
  377. package/dist/types/components/Swiper/Swiper.d.ts +0 -5
  378. package/dist/types/components/Swiper/Swiper.interface.d.ts +1 -1
  379. package/dist/types/components/Switch/Switch.interface.d.ts +1 -1
  380. package/dist/types/components/Tab/Tab.interface.d.ts +1 -1
  381. package/dist/types/components/Tab/stories/args.d.ts +3 -3
  382. package/dist/types/components/Text/Text.interface.d.ts +1 -1
  383. package/dist/types/components/Textarea/Textarea.d.ts +0 -5
  384. package/dist/types/components/Textarea/Textarea.interface.d.ts +1 -1
  385. package/dist/types/components/Tile/Tile.d.ts +0 -5
  386. package/dist/types/components/Tile/Tile.interface.d.ts +1 -1
  387. package/dist/types/components/Title/Title.interface.d.ts +1 -1
  388. package/dist/types/components/Tooltip/Tooltip.interface.d.ts +1 -1
  389. package/dist/types/components/Video/Video.interface.d.ts +1 -1
  390. package/dist/types/context/UIContext.d.ts +8 -12
  391. package/dist/types/hooks/useDevicePropsGenerator/index.d.ts +1 -0
  392. package/dist/types/hooks/useDevicePropsGenerator/useDevicePropsGenerator.d.ts +3 -0
  393. package/dist/types/hooks/{useDeviceTargetClassGenerator.interface.d.ts → useDevicePropsGenerator/useDevicePropsGenerator.interface.d.ts} +2 -2
  394. package/dist/types/hooks/useMediaQueries/index.d.ts +1 -0
  395. package/dist/types/hooks/useStyles/index.d.ts +1 -0
  396. package/dist/types/hooks/useStyles/styleAttributes.d.ts +4 -0
  397. package/dist/types/types/componentProps/appearanceKeys.d.ts +1 -1
  398. package/dist/types/types/componentProps/borderColor.d.ts +1 -1
  399. package/dist/types/types/componentProps/fill.d.ts +1 -1
  400. package/package.json +15 -12
  401. package/dist/Badge-5gtVywXB.js +0 -111
  402. package/dist/Badge-DhOJoJgc.js +0 -115
  403. package/dist/Button-BSnodY9v.js +0 -103
  404. package/dist/Button-Kcw2DdY0.js +0 -99
  405. package/dist/Divider-DBvDCUqP.js +0 -30
  406. package/dist/Divider-Goh6mpPK.js +0 -34
  407. package/dist/Label-CBwPiUuf.js +0 -97
  408. package/dist/Label-DgyUhGTQ.js +0 -93
  409. package/dist/Loader-Dn036JwE.js +0 -56
  410. package/dist/Loader-K_DJmah6.js +0 -52
  411. package/dist/cjs/hooks/useDeviceTargetClassGenerator.interface.js +0 -3
  412. package/dist/cjs/hooks/useDeviceTargetClassGenerator.js +0 -98
  413. package/dist/css/styles/gap/gap.css +0 -7
  414. package/dist/hooks/useDeviceTargetClassGenerator.interface.js +0 -1
  415. package/dist/hooks/useDeviceTargetClassGenerator.js +0 -96
  416. package/dist/stories/Badge.mdx +0 -20
  417. package/dist/stories/Button.mdx +0 -47
  418. package/dist/types/components/Badge/stories/args.d.ts +0 -69
  419. package/dist/types/hooks/styleAttributes.d.ts +0 -2
  420. package/dist/types/hooks/useDeviceTargetClassGenerator.d.ts +0 -3
  421. /package/dist/cjs/{hooks.js → hooks/useDevicePropsGenerator/useDevicePropsGenerator.interface.js} +0 -0
  422. /package/dist/cjs/hooks/{styleAttributes.interface.js → useStyles/styleAttributes.interface.js} +0 -0
  423. /package/dist/{hooks.js → hooks/useDevicePropsGenerator/useDevicePropsGenerator.interface.js} +0 -0
  424. /package/dist/hooks/{styleAttributes.interface.js → useStyles/styleAttributes.interface.js} +0 -0
  425. /package/dist/types/hooks/{useMediaQueries.d.ts → useMediaQueries/useMediaQueries.d.ts} +0 -0
  426. /package/dist/types/hooks/{styleAttributes.interface.d.ts → useStyles/styleAttributes.interface.d.ts} +0 -0
  427. /package/dist/types/hooks/{useStyles.d.ts → useStyles/useStyles.d.ts} +0 -0
@@ -0,0 +1,118 @@
1
+ import { b as __spreadArray } from '../../tslib.es6-5FtW-kfi.js';
2
+ import { useMemo } from 'react';
3
+ import camelCase from 'lodash/camelCase';
4
+ import castArray from 'lodash/castArray';
5
+ import upperFirst from 'lodash/upperFirst';
6
+ import { useUserDeviceContext } from '../../context/UIContext.js';
7
+ import 'react/jsx-runtime';
8
+ import '../useMediaQueries/useMediaQueries.js';
9
+ import 'react-responsive';
10
+ import '../../utils/setViewportProperty.js';
11
+
12
+ function useDevicePropsGenerator(componentProps, appearanceConfig) {
13
+ /** Get or generate(classname) a prop depending on the user's device.
14
+ * Props:
15
+ * - "componentProps" - original "props" from component
16
+ * - "appearanceConfig" - special appearance dictionary with styles presets
17
+ *
18
+ * Usage for create class value:
19
+ * const appearanceConfig = (
20
+ * appearance && componentConfig.appearance && componentConfig.appearance[appearance]
21
+ * )
22
+ * const propsGenerator = useDevicePropsGenerator(props, appearanceConfig)
23
+ * ---------
24
+ * const fillClass = propsGenerator.getClassName('fill')
25
+ * "fillClass" - is "surface-secondary"
26
+ * ---------
27
+ * const fillClass = propsGenerator.getClassName('fill', { prefix: 'fill_' })
28
+ * "fillClass" - is "fill_surface-secondary"
29
+ * ---------
30
+ * const fillClass = propsGenerator.fillClass
31
+ * "fillClass" - is "surface-secondary"
32
+ * ---------
33
+ * const { fillClass } = propsGenerator
34
+ * "fillClass" - is "surface-secondary"
35
+ *
36
+ * Usage for props value for device:
37
+ * const { titleTextSize } = propsGenerator / const titleTextSize = propsGenerator.titleTextSize *
38
+ * "titleTextSize" - contain some value from props:
39
+ * - titleTextSize
40
+ * - titleTextSizeMobile
41
+ * - titleTextSizeTablet
42
+ * - titleTextSizeDesktop
43
+ * ---------
44
+ **/
45
+ var deviceCurrentMainType = useUserDeviceContext().deviceCurrentMainType;
46
+ var devicePropsGenerator = useMemo(function () {
47
+ var propsGenerator = {
48
+ getProp: function (propsKey) {
49
+ var propsForDeviceKey = "".concat(propsKey).concat(upperFirst(deviceCurrentMainType));
50
+ var valueForDevice = componentProps[propsForDeviceKey];
51
+ var valueDefault = componentProps[propsKey];
52
+ var appearanceForDevice = appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig[propsForDeviceKey];
53
+ var appearanceDefault = appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig[propsKey];
54
+ // prettier-ignore
55
+ var targetPropsValue = (
56
+ // Value for device from props is first priority
57
+ valueForDevice ||
58
+ // Value without device from props is second priority
59
+ valueDefault ||
60
+ // Value for device from appearance config is third priority
61
+ appearanceForDevice ||
62
+ // Value without device from appearance config is last priority
63
+ appearanceDefault);
64
+ return targetPropsValue;
65
+ },
66
+ // eslint-disable-next-line perfectionist/sort-objects
67
+ getClassName: function (propsKey, params) {
68
+ if (params === void 0) { params = {}; }
69
+ var _a = params.prefix, prefix = _a === void 0 ? '' : _a, _b = params.replace, replace = _b === void 0 ? [/([A-Z])/g, '-$1'] : _b;
70
+ // prettier-ignore
71
+ var targetClassValue = this.getProp(propsKey);
72
+ if (targetClassValue) {
73
+ var cleanClassValue = String(targetClassValue);
74
+ if (!cleanClassValue.includes('.')) {
75
+ cleanClassValue = camelCase(cleanClassValue);
76
+ }
77
+ if (replace) {
78
+ var replaceList = castArray(replace);
79
+ cleanClassValue = cleanClassValue.replace(replaceList[0], replaceList[1] || '');
80
+ }
81
+ return "".concat(prefix).concat(cleanClassValue).toLowerCase();
82
+ }
83
+ // If target key not exists in props and appearance config - return empty class
84
+ return '';
85
+ },
86
+ };
87
+ var generatorProxyHandler = {
88
+ get: function (target, prop, receiver) {
89
+ var args = [];
90
+ for (var _i = 3; _i < arguments.length; _i++) {
91
+ args[_i - 3] = arguments[_i];
92
+ }
93
+ if (typeof prop === 'string') {
94
+ // If object does not have the property being retrieved
95
+ if (!Reflect.has(target, prop)) {
96
+ // And property ended on "Class" keyword
97
+ if (prop.endsWith('Class')) {
98
+ var shortProp = prop.substring(0, prop.lastIndexOf('Class'));
99
+ // Return prop from props for device as formatted class name
100
+ return target.getClassName(shortProp);
101
+ }
102
+ // Return prop from props for device
103
+ return target.getProp(prop);
104
+ }
105
+ // Return object property. Original "get".
106
+ return Reflect.get.apply(Reflect, __spreadArray([target, prop, receiver], args, false));
107
+ }
108
+ // In some cases, like in Chrome browser, sometime "prop" is not string.
109
+ // We return this object as is.
110
+ return prop;
111
+ },
112
+ };
113
+ return new Proxy(propsGenerator, generatorProxyHandler);
114
+ }, [componentProps, appearanceConfig, deviceCurrentMainType]);
115
+ return devicePropsGenerator;
116
+ }
117
+
118
+ export { useDevicePropsGenerator };
@@ -0,0 +1,11 @@
1
+ export { useDevicePropsGenerator } from './useDevicePropsGenerator/useDevicePropsGenerator.js';
2
+ import '../tslib.es6-5FtW-kfi.js';
3
+ import 'react';
4
+ import 'lodash/camelCase';
5
+ import 'lodash/castArray';
6
+ import 'lodash/upperFirst';
7
+ import '../context/UIContext.js';
8
+ import 'react/jsx-runtime';
9
+ import './useMediaQueries/useMediaQueries.js';
10
+ import 'react-responsive';
11
+ import '../utils/setViewportProperty.js';
@@ -2,11 +2,16 @@ import { useMemo } from 'react';
2
2
  import camelCase from 'lodash/camelCase';
3
3
  import castArray from 'lodash/castArray';
4
4
  import { useUserDeviceContext } from '../context/UIContext.js';
5
+ import '../tslib.es6-5FtW-kfi.js';
5
6
  import 'react/jsx-runtime';
6
- import './useMediaQueries.js';
7
+ import './useMediaQueries/useMediaQueries.js';
7
8
  import 'react-responsive';
8
9
  import '../utils/setViewportProperty.js';
9
10
 
11
+ /** TODO:
12
+ * Hook is still used in "itcase-forms".
13
+ * Need replace with "useDevicePropsGenerator" and delete this.
14
+ */
10
15
  function useDeviceTargetClass(componentProps, hookProps) {
11
16
  /** Generate a class depending on the user's device.
12
17
  *
@@ -33,8 +38,8 @@ function useDeviceTargetClass(componentProps, hookProps) {
33
38
  } = useUserDeviceContext();
34
39
  const targetClassValue = useMemo(() => {
35
40
  // prettier-ignore
36
- const deviceBasePart = isMobile && 'Mobile' || isTablet && 'Tablet' || isDesktop && 'Desktop' || '';
37
- const valueForDevice = componentProps[`${propsKey}${deviceBasePart}`];
41
+ const deviceCurrentMainType = isMobile && 'Mobile' || isTablet && 'Tablet' || isDesktop && 'Desktop' || '';
42
+ const valueForDevice = componentProps[`${propsKey}${deviceCurrentMainType}`];
38
43
  const valueDefault = componentProps[propsKey];
39
44
  return valueForDevice || valueDefault;
40
45
  }, [isMobile, isTablet, isDesktop, componentProps[propsKey], componentProps[`${propsKey}Mobile`], componentProps[`${propsKey}Tablet`], componentProps[`${propsKey}Desktop`]]);
@@ -0,0 +1,127 @@
1
+ import { useMemo } from 'react';
2
+ import { useMediaQuery } from 'react-responsive';
3
+
4
+ var tablet = "48em";
5
+ var mediaQueries = {
6
+ "mobile-tiny": "15em",
7
+ "mobile-super-extra-large": "40em",
8
+ tablet: tablet,
9
+ "desktop-small": "60em",
10
+ "desktop-huge": "160em"
11
+ };
12
+
13
+ const isSSR = typeof window === 'undefined';
14
+ function useMediaQueries(userDevice = {}) {
15
+ // const isWarning = useMediaQuery({ maxWidth: mediaQueries['mobile-tiny'] })
16
+
17
+ // prettier-ignore
18
+ const isMobile = useMediaQuery({
19
+ minWidth: mediaQueries['mobile-tiny'],
20
+ maxWidth: mediaQueries['tablet']
21
+ }) || isSSR && Boolean(userDevice.isMobile);
22
+
23
+ // const isMobileTiny = useMediaQuery({
24
+ // minWidth: mediaQueries['mobile-tiny'],
25
+ // maxWidth: mediaQueries['mobile-small'],
26
+ // })
27
+ // const isMobileSmall = useMediaQuery({
28
+ // minWidth: mediaQueries['mobile-small'],
29
+ // maxWidth: mediaQueries['mobile-medium'],
30
+ // })
31
+ // const isMobileMedium = useMediaQuery({
32
+ // minWidth: mediaQueries['mobile-medium'],
33
+ // maxWidth: mediaQueries['mobile-normal'],
34
+ // })
35
+ // const isMobileNormal = useMediaQuery({
36
+ // minWidth: mediaQueries['mobile-normal'],
37
+ // maxWidth: mediaQueries['mobile-large'],
38
+ // })
39
+ // const isMobileStandart = useMediaQuery({
40
+ // minWidth: mediaQueries['mobile-large'],
41
+ // maxWidth: mediaQueries['mobile-extra-large'],
42
+ // })
43
+ // const isMobileLarge = useMediaQuery({
44
+ // minWidth: mediaQueries['mobile-extra-large'],
45
+ // maxWidth: mediaQueries['mobile-super-extra-large'],
46
+ // })
47
+
48
+ useMediaQuery({
49
+ minWidth: mediaQueries['mobile-super-extra-large'],
50
+ maxWidth: mediaQueries['tablet']
51
+ });
52
+
53
+ // prettier-ignore
54
+ const isTablet = useMediaQuery({
55
+ minWidth: mediaQueries['tablet'],
56
+ maxWidth: mediaQueries['desktop-small']
57
+ }) || isSSR && Boolean(userDevice.isTablet);
58
+
59
+ // const isTabletSmall = useMediaQuery({
60
+ // minWidth: mediaQueries['tablet-small'],
61
+ // maxWidth: mediaQueries['tablet'],
62
+ // })
63
+ // const isTabletLarge = useMediaQuery({
64
+ // minWidth: mediaQueries['tablet'],
65
+ // maxWidth: mediaQueries['tablet-large'],
66
+ // })
67
+
68
+ // prettier-ignore
69
+ const isDesktop = useMediaQuery({
70
+ minWidth: mediaQueries['desktop-small'],
71
+ maxWidth: mediaQueries['desktop-super-huge']
72
+ }) || isSSR && Boolean(userDevice.isDesktop);
73
+
74
+ // const isDesktopSmall = useMediaQuery({
75
+ // minWidth: mediaQueries['desktop-small'],
76
+ // maxWidth: mediaQueries['desktop-medium'],
77
+ // })
78
+ // const isDesktopMedium = useMediaQuery({
79
+ // minWidth: mediaQueries['desktop-medium'],
80
+ // maxWidth: mediaQueries['desktop-normal'],
81
+ // })
82
+ // const isDesktopNormal = useMediaQuery({
83
+ // minWidth: mediaQueries['desktop-normal'],
84
+ // maxWidth: mediaQueries['desktop-large'],
85
+ // })
86
+ // const isDesktopStandart = useMediaQuery({
87
+ // minWidth: mediaQueries['desktop-large'],
88
+ // maxWidth: mediaQueries['desktop-extra-large'],
89
+ // })
90
+ // const isDesktopLarge = useMediaQuery({
91
+ // minWidth: mediaQueries['desktop-extra-large'],
92
+ // maxWidth: mediaQueries['desktop-super-extra-large'],
93
+ // })
94
+ // const isDesktopHuge = useMediaQuery({
95
+ // minWidth: mediaQueries['desktop-super-extra-large'],
96
+ // maxWidth: mediaQueries['desktop-huge'],
97
+ // })
98
+
99
+ const isDesktopMega = useMediaQuery({
100
+ minWidth: mediaQueries['desktop-huge']
101
+ });
102
+ const deviceTypes = useMemo(() => ({
103
+ // isWarning,
104
+ isMobile: isMobile,
105
+ // isMobileTiny,
106
+ // isMobileSmall,
107
+ // isMobileMedium,
108
+ // isMobileNormal,
109
+ // isMobileStandart,
110
+ // isMobileLarge,
111
+ isMobileHuge: isMobile,
112
+ isTablet: isTablet,
113
+ // isTabletSmall,
114
+ // isTabletLarge,
115
+ isDesktop: isDesktop,
116
+ // isDesktopSmall,
117
+ // isDesktopMedium,
118
+ // isDesktopNormal,
119
+ // isDesktopStandart,
120
+ // isDesktopLarge,
121
+ // isDesktopHuge,
122
+ isDesktopMega: isDesktopMega
123
+ }), [isMobile, isTablet, isDesktop, isDesktopMega]);
124
+ return deviceTypes;
125
+ }
126
+
127
+ export { useMediaQueries };
@@ -1,125 +1,3 @@
1
- import { useMediaQuery } from 'react-responsive';
2
-
3
- var tablet = "48em";
4
- var mediaQueries = {
5
- "mobile-tiny": "15em",
6
- "mobile-super-extra-large": "40em",
7
- tablet: tablet,
8
- "desktop-small": "60em",
9
- "desktop-huge": "160em"
10
- };
11
-
12
- const isSSR = typeof window === 'undefined';
13
- function useMediaQueries(userDevice = {}) {
14
- // const isWarning = useMediaQuery({ maxWidth: mediaQueries['mobile-tiny'] })
15
-
16
- // prettier-ignore
17
- const isMobile = useMediaQuery({
18
- minWidth: mediaQueries['mobile-tiny'],
19
- maxWidth: mediaQueries['tablet']
20
- }) || isSSR && Boolean(userDevice.isMobile);
21
-
22
- // const isMobileTiny = useMediaQuery({
23
- // minWidth: mediaQueries['mobile-tiny'],
24
- // maxWidth: mediaQueries['mobile-small'],
25
- // })
26
- // const isMobileSmall = useMediaQuery({
27
- // minWidth: mediaQueries['mobile-small'],
28
- // maxWidth: mediaQueries['mobile-medium'],
29
- // })
30
- // const isMobileMedium = useMediaQuery({
31
- // minWidth: mediaQueries['mobile-medium'],
32
- // maxWidth: mediaQueries['mobile-normal'],
33
- // })
34
- // const isMobileNormal = useMediaQuery({
35
- // minWidth: mediaQueries['mobile-normal'],
36
- // maxWidth: mediaQueries['mobile-large'],
37
- // })
38
- // const isMobileStandart = useMediaQuery({
39
- // minWidth: mediaQueries['mobile-large'],
40
- // maxWidth: mediaQueries['mobile-extra-large'],
41
- // })
42
- // const isMobileLarge = useMediaQuery({
43
- // minWidth: mediaQueries['mobile-extra-large'],
44
- // maxWidth: mediaQueries['mobile-super-extra-large'],
45
- // })
46
-
47
- useMediaQuery({
48
- minWidth: mediaQueries['mobile-super-extra-large'],
49
- maxWidth: mediaQueries['tablet']
50
- });
51
-
52
- // prettier-ignore
53
- const isTablet = useMediaQuery({
54
- minWidth: mediaQueries['tablet'],
55
- maxWidth: mediaQueries['desktop-small']
56
- }) || isSSR && Boolean(userDevice.isTablet);
57
-
58
- // const isTabletSmall = useMediaQuery({
59
- // minWidth: mediaQueries['tablet-small'],
60
- // maxWidth: mediaQueries['tablet'],
61
- // })
62
- // const isTabletLarge = useMediaQuery({
63
- // minWidth: mediaQueries['tablet'],
64
- // maxWidth: mediaQueries['tablet-large'],
65
- // })
66
-
67
- // prettier-ignore
68
- const isDesktop = useMediaQuery({
69
- minWidth: mediaQueries['desktop-small'],
70
- maxWidth: mediaQueries['desktop-super-huge']
71
- }) || isSSR && Boolean(userDevice.isDesktop);
72
-
73
- // const isDesktopSmall = useMediaQuery({
74
- // minWidth: mediaQueries['desktop-small'],
75
- // maxWidth: mediaQueries['desktop-medium'],
76
- // })
77
- // const isDesktopMedium = useMediaQuery({
78
- // minWidth: mediaQueries['desktop-medium'],
79
- // maxWidth: mediaQueries['desktop-normal'],
80
- // })
81
- // const isDesktopNormal = useMediaQuery({
82
- // minWidth: mediaQueries['desktop-normal'],
83
- // maxWidth: mediaQueries['desktop-large'],
84
- // })
85
- // const isDesktopStandart = useMediaQuery({
86
- // minWidth: mediaQueries['desktop-large'],
87
- // maxWidth: mediaQueries['desktop-extra-large'],
88
- // })
89
- // const isDesktopLarge = useMediaQuery({
90
- // minWidth: mediaQueries['desktop-extra-large'],
91
- // maxWidth: mediaQueries['desktop-super-extra-large'],
92
- // })
93
- // const isDesktopHuge = useMediaQuery({
94
- // minWidth: mediaQueries['desktop-super-extra-large'],
95
- // maxWidth: mediaQueries['desktop-huge'],
96
- // })
97
-
98
- const isDesktopMega = useMediaQuery({
99
- minWidth: mediaQueries['desktop-huge']
100
- });
101
- return {
102
- // isWarning,
103
- isMobile: isMobile,
104
- // isMobileTiny,
105
- // isMobileSmall,
106
- // isMobileMedium,
107
- // isMobileNormal,
108
- // isMobileStandart,
109
- // isMobileLarge,
110
- isMobileHuge: isMobile,
111
- isTablet: isTablet,
112
- // isTabletSmall,
113
- // isTabletLarge,
114
- isDesktop: isDesktop,
115
- // isDesktopSmall,
116
- // isDesktopMedium,
117
- // isDesktopNormal,
118
- // isDesktopStandart,
119
- // isDesktopLarge,
120
- // isDesktopHuge,
121
- isDesktopMega: isDesktopMega
122
- };
123
- }
124
-
125
- export { useMediaQueries };
1
+ export { useMediaQueries } from './useMediaQueries/useMediaQueries.js';
2
+ import 'react';
3
+ import 'react-responsive';
@@ -2,7 +2,14 @@ var styleAttributes = [
2
2
  /**
3
3
  * Layout
4
4
  */
5
- 'alignContent', 'alignItems', 'alignSelf', 'aspectRatio', 'border', 'borderBottomWidth', 'borderEndWidth', 'borderLeftWidth', 'borderRightWidth', 'borderStartWidth', 'borderTopWidth', 'borderWidth', 'bottom', 'display', 'flex', 'flexBasis', 'flexDirection', 'flexGrow', 'flexShrink', 'flexWrap', 'gap', 'rowGap', 'columnGap', 'columnWidth', 'height', 'justifyContent', 'left', 'margin', 'marginBottom', 'marginEnd', 'marginHorizontal', 'marginLeft', 'marginRight', 'marginStart', 'marginTop', 'marginVertical', 'maxHeight', 'maxWidth', 'minHeight', 'minWidth', 'overflow', 'padding', 'paddingBottom', 'paddingEnd', 'paddingHorizontal', 'paddingLeft', 'paddingRight', 'paddingStart', 'paddingTop', 'paddingVertical', 'position', 'right', 'top', 'width', 'zIndex', 'order',
5
+ 'alignContent', 'alignItems', 'alignSelf', 'aspectRatio', 'border', 'borderBottomWidth', 'borderEndWidth', 'borderLeftWidth', 'borderRightWidth', 'borderStartWidth', 'borderTopWidth', 'borderWidth', 'bottom', 'display', 'flex', 'flexBasis', 'flexDirection', 'flexGrow', 'flexShrink', 'flexWrap', 'gap', 'rowGap', 'columnGap', 'columnWidth', 'height', 'justifyContent', 'left', 'margin', 'marginBottom', 'marginEnd', 'marginHorizontal', 'marginLeft', 'marginRight', 'marginStart', 'marginTop', 'marginVertical', 'maxHeight', 'maxWidth', 'minHeight', 'minWidth', 'overflow', 'padding', 'paddingBottom', 'paddingEnd', 'paddingHorizontal', 'paddingLeft', 'paddingRight', 'paddingStart', 'paddingTop', 'paddingVertical', 'position', 'right', 'top', ['width', {
6
+ validate: value => {
7
+ // Pass only number value for "width" style.
8
+ // If width have custom value, like "fill", we must set class by this value.
9
+ // "\d" - digit; "+" - 1 or more
10
+ return /\d+/.test(value);
11
+ }
12
+ }], 'zIndex', 'order',
6
13
  /**
7
14
  * Shadow
8
15
  */
@@ -0,0 +1,188 @@
1
+ import { useMemo } from 'react';
2
+ import camelCase from 'lodash/camelCase';
3
+ import maxBy from 'lodash/maxBy';
4
+ import upperFirst from 'lodash/upperFirst';
5
+ import { useUserDeviceContext } from '../../context/UIContext.js';
6
+ import styleAttributes from './styleAttributes.js';
7
+ import '../../tslib.es6-5FtW-kfi.js';
8
+ import 'react/jsx-runtime';
9
+ import '../useMediaQueries/useMediaQueries.js';
10
+ import 'react-responsive';
11
+ import '../../utils/setViewportProperty.js';
12
+
13
+ /*
14
+ * rule of prop key:
15
+ *
16
+ * first is style second is div target third is device
17
+ * paddingHorizontal GridInnerWrapper MobileNormal
18
+ *
19
+ * paddingHorizontalGridInnerWrapperMobileNormal: "10px"
20
+ */
21
+ function useStyles(props) {
22
+ const {
23
+ deviceCurrentMainType,
24
+ deviceCurrentType,
25
+ deviceTypesList
26
+ } = useUserDeviceContext();
27
+ const propsStyleAttributes = useMemo(() => {
28
+ const styles = Object.entries(props).reduce((result, [propKey, propValue]) => {
29
+ const styleAttributeKey = getTargetStyleAttributeKey(propKey, propValue);
30
+ if (styleAttributeKey) {
31
+ result[propKey] = propValue;
32
+ }
33
+ return result;
34
+ }, {});
35
+ return styles;
36
+ // "props" object maybe big and frequently changing
37
+ }, [props]);
38
+ const collectedStyles = useMemo(() => {
39
+ const resultStylesGroups = {};
40
+ for (const [propKey, propValue] of Object.entries(propsStyleAttributes)) {
41
+ let value = null;
42
+ const styleAttributeKey = getTargetStyleAttributeKey(propKey, propValue);
43
+ const isStyleForCurrentDevice = propKey.toLowerCase().endsWith(deviceCurrentType.toLowerCase());
44
+
45
+ // e.g. "GridWrapperInner"
46
+ const targetElementKey = removeDeviceType(propKey.replace(styleAttributeKey, ''), deviceTypesList);
47
+ const targetElementGroupKey = camelCase(targetElementKey) || 'styles';
48
+ if (!resultStylesGroups[targetElementGroupKey]) {
49
+ resultStylesGroups[targetElementGroupKey] = {};
50
+ }
51
+ if (isStyleForCurrentDevice) {
52
+ value = propValue;
53
+ } else {
54
+ const propKeyWithOutDeviceType = `${styleAttributeKey}${targetElementKey}`;
55
+ const propKeyWithBaseDeviceType = `${propKeyWithOutDeviceType}${upperFirst(deviceCurrentMainType)}`;
56
+ const defaultValue = props[propKeyWithBaseDeviceType] || props[propKeyWithOutDeviceType];
57
+ let currentValue = resultStylesGroups[targetElementGroupKey][styleAttributeKey];
58
+ if (propKeyWithOutDeviceType.includes('Horizontal')) {
59
+ const keyLeft = styleAttributeKey.replace('Horizontal', 'Left');
60
+ currentValue = resultStylesGroups[targetElementGroupKey][keyLeft];
61
+ } else if (propKeyWithOutDeviceType.includes('Vertical')) {
62
+ const keyTop = styleAttributeKey.replace('Vertical', 'Top');
63
+ currentValue = resultStylesGroups[targetElementGroupKey][keyTop];
64
+ }
65
+ if (!currentValue) {
66
+ value = defaultValue;
67
+ }
68
+ }
69
+ if (value) {
70
+ // Check not digit symbols. Chars means some unit ("px", "em", "rem" or custom "m")
71
+ const isValueHasUnit = /\D/.test(value);
72
+ // If value has some unit
73
+ if (isValueHasUnit) {
74
+ // Check value on our custom "m"(module) unit
75
+ /** Pattern for:
76
+ * 1m
77
+ * 1.5m
78
+ * 1m 1m 1.5m
79
+ * 0 0 1m 1m
80
+ */
81
+ const isValueHasModuleUnit = /\d+\.?\d*m\s?(?![a-zA-Z]+)/.test(value);
82
+ // If value has module unit
83
+ if (isValueHasModuleUnit) {
84
+ /** Order for shorthand properties:
85
+ * top
86
+ * right
87
+ * bottom
88
+ * left
89
+ * or:
90
+ * top
91
+ * right and left
92
+ * bottom
93
+ * or:
94
+ * top and bottom
95
+ * right and left
96
+ */
97
+
98
+ const valuePxPartsList = value.split(' ').map(valuePart => {
99
+ const valueModule = valuePart.replace(/[a-z]/gi, '');
100
+ const valuePx = parseFloat(valueModule) * 8;
101
+ return `${valuePx}px`;
102
+ }, []);
103
+ value = valuePxPartsList.join(' ');
104
+ }
105
+ } else {
106
+ // Some properties doesn't have any units
107
+ const ignorePX = ['zIndex', 'order', 'flexGrow'].includes(styleAttributeKey);
108
+ if (!ignorePX) {
109
+ // Add px to non-unit value
110
+ value = `${value}px`;
111
+ }
112
+ }
113
+ if (styleAttributeKey.includes('Horizontal')) {
114
+ const keyRight = styleAttributeKey.replace('Horizontal', 'Right');
115
+ const keyLeft = styleAttributeKey.replace('Horizontal', 'Left');
116
+ const valuePartsList = value.split(' ');
117
+ const valueRight = valuePartsList[0];
118
+ const valueLeft = valuePartsList[1] || valuePartsList[0];
119
+ resultStylesGroups[targetElementGroupKey][keyRight] = valueRight;
120
+ resultStylesGroups[targetElementGroupKey][keyLeft] = valueLeft;
121
+ } else if (styleAttributeKey.includes('Vertical')) {
122
+ const keyTop = styleAttributeKey.replace('Vertical', 'Top');
123
+ const keyBottom = styleAttributeKey.replace('Vertical', 'Bottom');
124
+ const valuePartsList = value.split(' ');
125
+ const valueTop = valuePartsList[0];
126
+ const valueBottom = valuePartsList[1] || valuePartsList[0];
127
+ resultStylesGroups[targetElementGroupKey][keyTop] = valueTop;
128
+ resultStylesGroups[targetElementGroupKey][keyBottom] = valueBottom;
129
+ } else {
130
+ resultStylesGroups[targetElementGroupKey][styleAttributeKey] = value;
131
+ }
132
+ }
133
+ }
134
+ return resultStylesGroups;
135
+ // eslint-disable-next-line react-hooks/exhaustive-deps
136
+ }, [deviceCurrentMainType, deviceCurrentType, ...Object.values(propsStyleAttributes)]);
137
+ return collectedStyles;
138
+ }
139
+ const removeDeviceType = (originalKey, deviceTypesList) => {
140
+ // Remove "mobile"/"tablet"/"desktop"
141
+ const withOutDeviceType = deviceTypesList.reduce((cleanKey, deviceType) => {
142
+ if (cleanKey.endsWith(upperFirst(deviceType))) {
143
+ return cleanKey.replace(upperFirst(deviceType), '');
144
+ }
145
+ return cleanKey;
146
+ }, originalKey);
147
+ return withOutDeviceType;
148
+ };
149
+ const getTargetStyleAttributeKey = (styleKey, styleValue = '') => {
150
+ // Collect list of possible styles for propKey. e.g:
151
+ // "borderLeftWidthWrapperInnerMobileNormal" to ["border", "borderLeftWidth"]
152
+ const possibleStyleAttributesList = styleAttributes.filter(styleAttribute => {
153
+ // Attribute can be array with key on first position and params on second
154
+ if (Array.isArray(styleAttribute)) {
155
+ // First item always attribute key (e.g. border, width, etc)
156
+ const styleAttributeKey = styleAttribute[0];
157
+ // Second item always params with some settings or methods
158
+ const styleAttributeParams = styleAttribute[1] || {};
159
+ // If is target attribute key
160
+ if (styleKey.startsWith(styleAttributeKey)) {
161
+ // If target attribute params has validate method
162
+ if (styleAttributeParams.validate) {
163
+ // Return validation result for target attribute
164
+ return styleAttributeParams.validate(styleValue);
165
+ } else {
166
+ // Or always add to list
167
+ return true;
168
+ }
169
+ } else {
170
+ // Else ignore
171
+ return false;
172
+ }
173
+ } else {
174
+ // If is target attribute
175
+ return styleKey.startsWith(styleAttribute);
176
+ }
177
+ });
178
+
179
+ // Get longest style key (e.g. "borderLeftWidth")
180
+ const targetStyleAttribute = maxBy(possibleStyleAttributesList, styleAttribute => {
181
+ const styleAttributeKey = Array.isArray(styleAttribute) ? styleAttribute[0] : styleAttribute;
182
+ return styleAttributeKey.length;
183
+ });
184
+ const styleAttributeKey = Array.isArray(targetStyleAttribute) ? targetStyleAttribute[0] : targetStyleAttribute;
185
+ return styleAttributeKey;
186
+ };
187
+
188
+ export { useStyles };