venice-ui 2.4.12 → 3.0.1

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 (396) hide show
  1. package/dist/cjs/components/ActionPanel/ActionPanel.js +33 -0
  2. package/dist/cjs/components/ActionPanel/ActionPanel.styles.js +76 -0
  3. package/dist/cjs/components/ActionPanel/index.js +17 -0
  4. package/dist/cjs/components/Button/Button.js +17 -7
  5. package/dist/cjs/components/Button/Button.styles.js +46 -66
  6. package/dist/cjs/components/Button/index.js +15 -3
  7. package/dist/cjs/components/ButtonsFooter/ButtonsFooter.js +32 -21
  8. package/dist/cjs/components/ButtonsFooter/ButtonsFooter.styles.js +21 -0
  9. package/dist/cjs/components/ButtonsFooter/index.js +15 -3
  10. package/dist/cjs/components/Card/Card.js +15 -9
  11. package/dist/cjs/components/Card/Card.styles.js +9 -10
  12. package/dist/cjs/components/Card/index.js +15 -3
  13. package/dist/cjs/components/Checkbox/Checkbox.js +30 -13
  14. package/dist/cjs/components/Checkbox/Checkbox.styles.js +35 -20
  15. package/dist/cjs/components/ComponentRoot/ComponentRoot.js +27 -0
  16. package/dist/cjs/components/ComponentRoot/ComponentRoot.styles.js +72 -0
  17. package/dist/cjs/components/{ElementHeader → ComponentRoot}/index.js +2 -1
  18. package/dist/cjs/components/DatePicker/Calendar.js +73 -33
  19. package/dist/cjs/components/DatePicker/CalendarContent.js +58 -39
  20. package/dist/cjs/components/DatePicker/CalendarHeader.js +23 -20
  21. package/dist/cjs/components/DatePicker/DatePicker.js +61 -35
  22. package/dist/cjs/components/DatePicker/DatePicker.styles.js +166 -0
  23. package/dist/cjs/components/DatePicker/index.js +5 -15
  24. package/dist/cjs/components/Dropdown/Dropdown.js +76 -52
  25. package/dist/cjs/components/Dropdown/Dropdown.styles.js +48 -7
  26. package/dist/cjs/components/Dropdown/index.js +0 -1
  27. package/dist/cjs/components/DropdownMenu/DropdownMenu.js +79 -50
  28. package/dist/cjs/components/DropdownMenu/DropdownMenu.styles.js +10 -44
  29. package/dist/cjs/components/File/File.js +60 -24
  30. package/dist/cjs/components/File/File.styles.js +44 -3
  31. package/dist/cjs/components/Filters/Filters.js +253 -92
  32. package/dist/cjs/components/Filters/Filters.styles.js +83 -15
  33. package/dist/cjs/components/Form/Form.js +24 -30
  34. package/dist/cjs/components/Form/{FormElements.js → Form.styles.js} +8 -10
  35. package/dist/cjs/components/Header/Header.js +49 -0
  36. package/dist/cjs/components/Header/Header.styles.js +33 -0
  37. package/dist/cjs/components/{Toogle → Header}/index.js +1 -1
  38. package/dist/cjs/components/HelperText/HelperText.js +18 -0
  39. package/dist/cjs/components/HelperText/HelperText.styles.js +20 -0
  40. package/dist/cjs/components/{FillSelect → HelperText}/index.js +1 -1
  41. package/dist/cjs/components/Icon/Icon.js +74 -0
  42. package/dist/cjs/components/Icon/Icon.styles.js +63 -0
  43. package/dist/cjs/components/{Icons → Icon}/IconsPath.js +3 -0
  44. package/dist/cjs/{Theme → components/Icon}/index.js +1 -1
  45. package/dist/cjs/components/Input/Input.js +58 -74
  46. package/dist/cjs/components/Input/Input.styles.js +38 -89
  47. package/dist/cjs/components/Input/index.js +0 -1
  48. package/dist/cjs/components/Label/Label.js +24 -0
  49. package/dist/cjs/components/Label/Label.styles.js +38 -0
  50. package/dist/cjs/components/Label/index.js +5 -0
  51. package/dist/cjs/components/List/List.js +104 -101
  52. package/dist/cjs/components/List/iLst.styles.js +68 -0
  53. package/dist/cjs/components/Loader/Loader.js +12 -9
  54. package/dist/cjs/components/Loader/Loader.styles.js +15 -75
  55. package/dist/cjs/components/Modal/Modal.js +32 -34
  56. package/dist/cjs/components/Modal/Modal.styles.js +82 -24
  57. package/dist/cjs/components/Modal/index.js +15 -3
  58. package/dist/cjs/components/Numerical/Numerical.js +138 -0
  59. package/dist/cjs/components/Numerical/index.js +5 -0
  60. package/dist/cjs/components/OptionsPanel/OptionsPanel.js +79 -0
  61. package/dist/cjs/components/OptionsPanel/OptionsPanel.styles.js +75 -0
  62. package/dist/cjs/components/OptionsPanel/index.js +17 -0
  63. package/dist/cjs/components/Pagination/Pagination.js +39 -29
  64. package/dist/cjs/components/Pagination/Pagination.styles.js +45 -19
  65. package/dist/cjs/components/SearchInput/SearchInput.js +83 -0
  66. package/dist/cjs/components/SearchInput/SearchInput.styles.js +50 -0
  67. package/dist/cjs/components/SearchInput/index.js +17 -0
  68. package/dist/cjs/components/Section/Section.js +15 -8
  69. package/dist/cjs/components/Section/Section.styles.js +13 -12
  70. package/dist/cjs/components/Section/index.js +1 -0
  71. package/dist/cjs/components/Selector/Selector.js +38 -25
  72. package/dist/cjs/components/Selector/Selector.styles.js +28 -56
  73. package/dist/cjs/components/Sidepanel/Sidepanel.js +47 -23
  74. package/dist/cjs/components/Sidepanel/Sidepanel.styles.js +85 -14
  75. package/dist/cjs/components/Sort/Sort.js +19 -16
  76. package/dist/cjs/components/Sort/Sort.styles.js +5 -19
  77. package/dist/cjs/components/Table/Cell.js +23 -13
  78. package/dist/cjs/components/Table/HeaderCell.js +14 -7
  79. package/dist/cjs/components/Table/Table.js +62 -43
  80. package/dist/cjs/components/Table/Table.styles.js +143 -43
  81. package/dist/cjs/components/Table/index.js +2 -0
  82. package/dist/cjs/components/Tag/Tag.js +24 -0
  83. package/dist/cjs/components/Tag/Tag.styles.js +23 -0
  84. package/dist/cjs/components/{Chips → Tag}/index.js +1 -1
  85. package/dist/cjs/components/Tile/Tile.js +15 -6
  86. package/dist/cjs/components/Tile/Tile.styles.js +15 -18
  87. package/dist/cjs/components/Toggle/Toggle.js +29 -0
  88. package/dist/cjs/components/Toggle/Toggle.styles.js +49 -0
  89. package/dist/cjs/components/{Tooltip → Toggle}/index.js +1 -1
  90. package/dist/cjs/components/Typography/Typography.js +115 -0
  91. package/dist/cjs/components/Typography/index.js +1 -1
  92. package/dist/cjs/config/componentTheme.js +29 -0
  93. package/dist/cjs/config/config.js +1453 -0
  94. package/dist/cjs/config/index.js +20 -0
  95. package/dist/cjs/config/themes.js +64 -0
  96. package/dist/cjs/config/wordbook.js +74 -0
  97. package/dist/cjs/example/Colors.js +57 -8
  98. package/dist/cjs/example/ExampleComponent.js +5 -6
  99. package/dist/cjs/example/Icons.js +63 -0
  100. package/dist/cjs/example/TypographyExample.js +26 -13
  101. package/dist/cjs/index.js +12 -8
  102. package/dist/esm/components/ActionPanel/ActionPanel.js +26 -0
  103. package/dist/esm/components/ActionPanel/ActionPanel.styles.js +70 -0
  104. package/dist/esm/components/ActionPanel/index.js +1 -0
  105. package/dist/esm/components/Button/Button.js +17 -7
  106. package/dist/esm/components/Button/Button.styles.js +45 -65
  107. package/dist/esm/components/Button/index.js +1 -1
  108. package/dist/esm/components/ButtonsFooter/ButtonsFooter.js +32 -21
  109. package/dist/esm/components/ButtonsFooter/ButtonsFooter.styles.js +15 -0
  110. package/dist/esm/components/ButtonsFooter/index.js +1 -1
  111. package/dist/esm/components/Card/Card.js +16 -10
  112. package/dist/esm/components/Card/Card.styles.js +8 -9
  113. package/dist/esm/components/Card/index.js +1 -1
  114. package/dist/esm/components/Checkbox/Checkbox.js +31 -14
  115. package/dist/esm/components/Checkbox/Checkbox.styles.js +34 -19
  116. package/dist/esm/components/ComponentRoot/ComponentRoot.js +20 -0
  117. package/dist/esm/components/ComponentRoot/ComponentRoot.styles.js +66 -0
  118. package/dist/esm/components/ComponentRoot/index.js +2 -0
  119. package/dist/esm/components/DatePicker/Calendar.js +57 -27
  120. package/dist/esm/components/DatePicker/CalendarContent.js +42 -33
  121. package/dist/esm/components/DatePicker/CalendarHeader.js +23 -20
  122. package/dist/esm/components/DatePicker/DatePicker.js +44 -28
  123. package/dist/esm/components/DatePicker/DatePicker.styles.js +130 -0
  124. package/dist/esm/components/DatePicker/index.js +2 -1
  125. package/dist/esm/components/Dropdown/Dropdown.js +61 -47
  126. package/dist/esm/components/Dropdown/Dropdown.styles.js +48 -7
  127. package/dist/esm/components/Dropdown/index.js +0 -1
  128. package/dist/esm/components/DropdownMenu/DropdownMenu.js +64 -45
  129. package/dist/esm/components/DropdownMenu/DropdownMenu.styles.js +9 -43
  130. package/dist/esm/components/File/File.js +44 -18
  131. package/dist/esm/components/File/File.styles.js +44 -3
  132. package/dist/esm/components/Filters/Filters.js +237 -86
  133. package/dist/esm/components/Filters/Filters.styles.js +83 -15
  134. package/dist/esm/components/Form/Form.js +24 -30
  135. package/dist/esm/components/Form/Form.styles.js +20 -0
  136. package/dist/esm/components/Header/Header.js +42 -0
  137. package/dist/esm/components/Header/Header.styles.js +27 -0
  138. package/dist/esm/components/Header/index.js +1 -0
  139. package/dist/esm/components/HelperText/HelperText.js +11 -0
  140. package/dist/esm/components/HelperText/HelperText.styles.js +14 -0
  141. package/dist/esm/components/HelperText/index.js +1 -0
  142. package/dist/esm/components/Icon/Icon.js +37 -0
  143. package/dist/esm/components/Icon/Icon.styles.js +57 -0
  144. package/dist/esm/components/{Icons → Icon}/IconsPath.js +3 -0
  145. package/dist/esm/components/Icon/index.js +1 -0
  146. package/dist/esm/components/Input/Input.js +44 -70
  147. package/dist/esm/components/Input/Input.styles.js +37 -88
  148. package/dist/esm/components/Input/index.js +1 -2
  149. package/dist/esm/components/Label/Label.js +17 -0
  150. package/dist/esm/components/Label/Label.styles.js +32 -0
  151. package/dist/esm/components/Label/index.js +1 -0
  152. package/dist/esm/components/List/List.js +104 -101
  153. package/dist/esm/components/List/iLst.styles.js +62 -0
  154. package/dist/esm/components/Loader/Loader.js +13 -10
  155. package/dist/esm/components/Loader/Loader.styles.js +12 -51
  156. package/dist/esm/components/Modal/Modal.js +30 -12
  157. package/dist/esm/components/Modal/Modal.styles.js +48 -20
  158. package/dist/esm/components/Modal/index.js +1 -1
  159. package/dist/esm/components/Numerical/Numerical.js +101 -0
  160. package/dist/esm/components/Numerical/index.js +1 -0
  161. package/dist/esm/components/OptionsPanel/OptionsPanel.js +42 -0
  162. package/dist/esm/components/OptionsPanel/OptionsPanel.styles.js +69 -0
  163. package/dist/esm/components/OptionsPanel/index.js +1 -0
  164. package/dist/esm/components/Pagination/Pagination.js +39 -29
  165. package/dist/esm/components/Pagination/Pagination.styles.js +44 -18
  166. package/dist/esm/components/SearchInput/SearchInput.js +46 -0
  167. package/dist/esm/components/SearchInput/SearchInput.styles.js +44 -0
  168. package/dist/esm/components/SearchInput/index.js +1 -0
  169. package/dist/esm/components/Section/Section.js +16 -9
  170. package/dist/esm/components/Section/Section.styles.js +12 -11
  171. package/dist/esm/components/Section/index.js +1 -0
  172. package/dist/esm/components/Selector/Selector.js +22 -19
  173. package/dist/esm/components/Selector/Selector.styles.js +27 -55
  174. package/dist/esm/components/Sidepanel/Sidepanel.js +31 -17
  175. package/dist/esm/components/Sidepanel/Sidepanel.styles.js +51 -10
  176. package/dist/esm/components/Sort/Sort.js +20 -17
  177. package/dist/esm/components/Sort/Sort.styles.js +4 -18
  178. package/dist/esm/components/Table/Cell.js +24 -14
  179. package/dist/esm/components/Table/HeaderCell.js +15 -8
  180. package/dist/esm/components/Table/Table.js +47 -38
  181. package/dist/esm/components/Table/Table.styles.js +142 -42
  182. package/dist/esm/components/Table/index.js +2 -0
  183. package/dist/esm/components/Tag/Tag.js +17 -0
  184. package/dist/esm/components/Tag/Tag.styles.js +17 -0
  185. package/dist/esm/components/Tag/index.js +1 -0
  186. package/dist/esm/components/Tile/Tile.js +16 -7
  187. package/dist/esm/components/Tile/Tile.styles.js +14 -17
  188. package/dist/esm/components/Toggle/Toggle.js +22 -0
  189. package/dist/esm/components/Toggle/Toggle.styles.js +43 -0
  190. package/dist/esm/components/Toggle/index.js +1 -0
  191. package/dist/esm/components/Typography/Typography.js +109 -0
  192. package/dist/esm/components/Typography/index.js +1 -1
  193. package/dist/esm/config/componentTheme.js +24 -0
  194. package/dist/esm/config/config.js +1446 -0
  195. package/dist/esm/config/index.js +4 -0
  196. package/dist/esm/config/themes.js +61 -0
  197. package/dist/esm/config/wordbook.js +71 -0
  198. package/dist/esm/example/Colors.js +57 -8
  199. package/dist/esm/example/ExampleComponent.js +5 -6
  200. package/dist/esm/example/Icons.js +56 -0
  201. package/dist/esm/example/TypographyExample.js +27 -14
  202. package/dist/esm/index.js +12 -8
  203. package/dist/types/components/ActionPanel/ActionPanel.d.ts +18 -0
  204. package/dist/types/components/ActionPanel/ActionPanel.styles.d.ts +37 -0
  205. package/dist/types/components/ActionPanel/index.d.ts +1 -0
  206. package/dist/types/components/Aligment/Aligment.styles.d.ts +1 -1
  207. package/dist/types/components/Button/Button.d.ts +11 -9
  208. package/dist/types/components/Button/Button.styles.d.ts +10 -13
  209. package/dist/types/components/Button/index.d.ts +1 -1
  210. package/dist/types/components/ButtonsFooter/ButtonsFooter.d.ts +13 -11
  211. package/dist/types/components/ButtonsFooter/ButtonsFooter.styles.d.ts +13 -0
  212. package/dist/types/components/ButtonsFooter/index.d.ts +1 -1
  213. package/dist/types/components/Card/Card.d.ts +8 -8
  214. package/dist/types/components/Card/Card.styles.d.ts +7 -4
  215. package/dist/types/components/Card/index.d.ts +1 -1
  216. package/dist/types/components/Checkbox/Checkbox.d.ts +17 -10
  217. package/dist/types/components/Checkbox/Checkbox.styles.d.ts +12 -8
  218. package/dist/types/components/ComponentRoot/ComponentRoot.d.ts +29 -0
  219. package/dist/types/components/ComponentRoot/ComponentRoot.styles.d.ts +15 -0
  220. package/dist/types/components/ComponentRoot/index.d.ts +2 -0
  221. package/dist/types/components/DatePicker/Calendar.d.ts +11 -15
  222. package/dist/types/components/DatePicker/CalendarContent.d.ts +7 -7
  223. package/dist/types/components/DatePicker/CalendarHeader.d.ts +7 -7
  224. package/dist/types/components/DatePicker/DatePicker.d.ts +25 -15
  225. package/dist/types/components/DatePicker/DatePicker.styles.d.ts +57 -0
  226. package/dist/types/components/DatePicker/index.d.ts +2 -1
  227. package/dist/types/components/Dropdown/Dropdown.d.ts +31 -12
  228. package/dist/types/components/Dropdown/Dropdown.styles.d.ts +21 -1
  229. package/dist/types/components/Dropdown/index.d.ts +0 -1
  230. package/dist/types/components/DropdownMenu/DropdownMenu.d.ts +7 -11
  231. package/dist/types/components/DropdownMenu/DropdownMenu.styles.d.ts +5 -15
  232. package/dist/types/components/File/File.d.ts +20 -3
  233. package/dist/types/components/File/File.styles.d.ts +18 -1
  234. package/dist/types/components/Filters/Filters.d.ts +8 -6
  235. package/dist/types/components/Filters/Filters.styles.d.ts +46 -5
  236. package/dist/types/components/Form/Form.d.ts +7 -5
  237. package/dist/types/components/Form/Form.styles.d.ts +14 -0
  238. package/dist/types/components/{ElementHeader/ElementHeader.d.ts → Header/Header.d.ts} +10 -11
  239. package/dist/types/components/Header/Header.styles.d.ts +13 -0
  240. package/dist/types/components/Header/index.d.ts +1 -0
  241. package/dist/types/components/HelperText/HelperText.d.ts +12 -0
  242. package/dist/types/components/HelperText/HelperText.styles.d.ts +10 -0
  243. package/dist/types/components/HelperText/index.d.ts +1 -0
  244. package/dist/types/components/Icon/Icon.d.ts +20 -0
  245. package/dist/types/components/Icon/Icon.styles.d.ts +18 -0
  246. package/dist/types/components/{Icons → Icon}/IconsPath.d.ts +3 -0
  247. package/dist/types/components/Icon/index.d.ts +1 -0
  248. package/dist/types/components/Input/Input.d.ts +28 -9
  249. package/dist/types/components/Input/Input.styles.d.ts +11 -31
  250. package/dist/types/components/Input/index.d.ts +1 -2
  251. package/dist/types/components/Label/Label.d.ts +16 -0
  252. package/dist/types/components/Label/Label.styles.d.ts +18 -0
  253. package/dist/types/components/Label/index.d.ts +1 -0
  254. package/dist/types/components/List/List.d.ts +17 -14
  255. package/dist/types/components/List/iLst.styles.d.ts +29 -0
  256. package/dist/types/components/Loader/Loader.d.ts +5 -3
  257. package/dist/types/components/Loader/Loader.styles.d.ts +6 -11
  258. package/dist/types/components/Modal/Modal.d.ts +11 -6
  259. package/dist/types/components/Modal/Modal.styles.d.ts +15 -5
  260. package/dist/types/components/Modal/index.d.ts +1 -1
  261. package/dist/types/components/Numerical/Numerical.d.ts +39 -0
  262. package/dist/types/components/Numerical/index.d.ts +1 -0
  263. package/dist/types/components/OptionsPanel/OptionsPanel.d.ts +22 -0
  264. package/dist/types/components/OptionsPanel/OptionsPanel.styles.d.ts +37 -0
  265. package/dist/types/components/OptionsPanel/index.d.ts +1 -0
  266. package/dist/types/components/Pagination/Pagination.d.ts +6 -2
  267. package/dist/types/components/Pagination/Pagination.styles.d.ts +20 -2
  268. package/dist/types/components/SearchInput/SearchInput.d.ts +11 -0
  269. package/dist/types/components/SearchInput/SearchInput.styles.d.ts +13 -0
  270. package/dist/types/components/SearchInput/index.d.ts +1 -0
  271. package/dist/types/components/Section/Section.d.ts +7 -5
  272. package/dist/types/components/Section/Section.styles.d.ts +13 -8
  273. package/dist/types/components/Section/index.d.ts +1 -0
  274. package/dist/types/components/Selector/Selector.d.ts +18 -9
  275. package/dist/types/components/Selector/Selector.styles.d.ts +10 -13
  276. package/dist/types/components/Sidepanel/Sidepanel.d.ts +6 -3
  277. package/dist/types/components/Sidepanel/Sidepanel.styles.d.ts +14 -1
  278. package/dist/types/components/Sort/Sort.d.ts +3 -1
  279. package/dist/types/components/Sort/Sort.styles.d.ts +1 -2
  280. package/dist/types/components/Table/Cell.d.ts +7 -5
  281. package/dist/types/components/Table/HeaderCell.d.ts +5 -1
  282. package/dist/types/components/Table/Table.d.ts +21 -17
  283. package/dist/types/components/Table/Table.styles.d.ts +58 -12
  284. package/dist/types/components/Table/index.d.ts +2 -0
  285. package/dist/types/components/Tag/Tag.d.ts +13 -0
  286. package/dist/types/components/Tag/Tag.styles.d.ts +10 -0
  287. package/dist/types/components/Tag/index.d.ts +1 -0
  288. package/dist/types/components/Tile/Tile.d.ts +11 -8
  289. package/dist/types/components/Tile/Tile.styles.d.ts +13 -7
  290. package/dist/types/components/Toggle/Toggle.d.ts +25 -0
  291. package/dist/types/components/Toggle/Toggle.styles.d.ts +24 -0
  292. package/dist/types/components/Toggle/index.d.ts +1 -0
  293. package/dist/types/components/Typography/Typography.d.ts +26 -0
  294. package/dist/types/components/Typography/index.d.ts +1 -1
  295. package/dist/types/config/componentTheme.d.ts +10 -0
  296. package/dist/types/config/config.d.ts +4268 -0
  297. package/dist/types/config/index.d.ts +4 -0
  298. package/dist/types/config/themes.d.ts +64 -0
  299. package/dist/types/config/wordbook.d.ts +55 -0
  300. package/dist/types/example/ExampleComponent.d.ts +17 -17
  301. package/dist/types/example/Icons.d.ts +2 -0
  302. package/dist/types/index.d.ts +12 -8
  303. package/dist/types/types/commonTypes.d.ts +68 -0
  304. package/dist/types/types/types.d.ts +8 -3
  305. package/package.json +11 -19
  306. package/dist/cjs/Theme/Theme.js +0 -130
  307. package/dist/cjs/components/ButtonsFooter/ButtonsFooter.style.js +0 -10
  308. package/dist/cjs/components/Chips/Chips.js +0 -20
  309. package/dist/cjs/components/Chips/Chips.styles.js +0 -24
  310. package/dist/cjs/components/DatePicker/DatePiocker.styles.js +0 -139
  311. package/dist/cjs/components/Dropdown/DropdownElements.js +0 -37
  312. package/dist/cjs/components/ElementHeader/ElementHeader.js +0 -42
  313. package/dist/cjs/components/ElementHeader/ElementHeader.styles.js +0 -23
  314. package/dist/cjs/components/FillSelect/FillSelect.js +0 -122
  315. package/dist/cjs/components/FillSelect/FillSelect.styles.js +0 -13
  316. package/dist/cjs/components/Form/formHelper.js +0 -7
  317. package/dist/cjs/components/Form/formTypes.js +0 -2
  318. package/dist/cjs/components/Icons/Icon.js +0 -64
  319. package/dist/cjs/components/Icons/Icon.styles.js +0 -36
  320. package/dist/cjs/components/Icons/IconsShows.js +0 -18
  321. package/dist/cjs/components/Icons/index.js +0 -7
  322. package/dist/cjs/components/List/list.styles.js +0 -53
  323. package/dist/cjs/components/Toogle/Toogle.js +0 -22
  324. package/dist/cjs/components/Toogle/Toogle.styles.js +0 -42
  325. package/dist/cjs/components/Tooltip/Tooltip.js +0 -15
  326. package/dist/cjs/components/Tooltip/Tooltip.styles.js +0 -63
  327. package/dist/cjs/components/Typography/Typography.styles.js +0 -67
  328. package/dist/cjs/components/common/commonComponents.js +0 -55
  329. package/dist/cjs/components/common/index.js +0 -18
  330. package/dist/cjs/components/common/inputStyles.js +0 -280
  331. package/dist/cjs/docs/Overview.js +0 -91
  332. package/dist/esm/Theme/Theme.js +0 -127
  333. package/dist/esm/Theme/index.js +0 -1
  334. package/dist/esm/components/ButtonsFooter/ButtonsFooter.style.js +0 -4
  335. package/dist/esm/components/Chips/Chips.js +0 -13
  336. package/dist/esm/components/Chips/Chips.styles.js +0 -18
  337. package/dist/esm/components/Chips/index.js +0 -1
  338. package/dist/esm/components/DatePicker/DatePiocker.styles.js +0 -133
  339. package/dist/esm/components/Dropdown/DropdownElements.js +0 -31
  340. package/dist/esm/components/ElementHeader/ElementHeader.js +0 -35
  341. package/dist/esm/components/ElementHeader/ElementHeader.styles.js +0 -17
  342. package/dist/esm/components/ElementHeader/index.js +0 -1
  343. package/dist/esm/components/FillSelect/FillSelect.js +0 -95
  344. package/dist/esm/components/FillSelect/FillSelect.styles.js +0 -7
  345. package/dist/esm/components/FillSelect/index.js +0 -1
  346. package/dist/esm/components/Form/FormElements.js +0 -22
  347. package/dist/esm/components/Form/formHelper.js +0 -3
  348. package/dist/esm/components/Form/formTypes.js +0 -1
  349. package/dist/esm/components/Icons/Icon.js +0 -37
  350. package/dist/esm/components/Icons/Icon.styles.js +0 -30
  351. package/dist/esm/components/Icons/IconsShows.js +0 -11
  352. package/dist/esm/components/Icons/index.js +0 -2
  353. package/dist/esm/components/List/list.styles.js +0 -47
  354. package/dist/esm/components/Toogle/Toogle.js +0 -15
  355. package/dist/esm/components/Toogle/Toogle.styles.js +0 -36
  356. package/dist/esm/components/Toogle/index.js +0 -1
  357. package/dist/esm/components/Tooltip/Tooltip.js +0 -8
  358. package/dist/esm/components/Tooltip/Tooltip.styles.js +0 -37
  359. package/dist/esm/components/Tooltip/index.js +0 -1
  360. package/dist/esm/components/Typography/Typography.styles.js +0 -61
  361. package/dist/esm/components/common/commonComponents.js +0 -49
  362. package/dist/esm/components/common/index.js +0 -2
  363. package/dist/esm/components/common/inputStyles.js +0 -261
  364. package/dist/esm/docs/Overview.js +0 -64
  365. package/dist/types/Theme/Theme.d.ts +0 -116
  366. package/dist/types/Theme/index.d.ts +0 -1
  367. package/dist/types/components/ButtonsFooter/ButtonsFooter.style.d.ts +0 -1
  368. package/dist/types/components/Chips/Chips.d.ts +0 -8
  369. package/dist/types/components/Chips/Chips.styles.d.ts +0 -6
  370. package/dist/types/components/Chips/index.d.ts +0 -1
  371. package/dist/types/components/DatePicker/DatePiocker.styles.d.ts +0 -32
  372. package/dist/types/components/Dropdown/DropdownElements.d.ts +0 -10
  373. package/dist/types/components/ElementHeader/ElementHeader.styles.d.ts +0 -7
  374. package/dist/types/components/ElementHeader/index.d.ts +0 -1
  375. package/dist/types/components/FillSelect/FillSelect.d.ts +0 -11
  376. package/dist/types/components/FillSelect/FillSelect.styles.d.ts +0 -1
  377. package/dist/types/components/FillSelect/index.d.ts +0 -1
  378. package/dist/types/components/Form/FormElements.d.ts +0 -8
  379. package/dist/types/components/Form/formHelper.d.ts +0 -1
  380. package/dist/types/components/Form/formTypes.d.ts +0 -34
  381. package/dist/types/components/Icons/Icon.d.ts +0 -17
  382. package/dist/types/components/Icons/Icon.styles.d.ts +0 -14
  383. package/dist/types/components/Icons/IconsShows.d.ts +0 -2
  384. package/dist/types/components/Icons/index.d.ts +0 -2
  385. package/dist/types/components/List/list.styles.d.ts +0 -19
  386. package/dist/types/components/Toogle/Toogle.d.ts +0 -15
  387. package/dist/types/components/Toogle/Toogle.styles.d.ts +0 -16
  388. package/dist/types/components/Toogle/index.d.ts +0 -1
  389. package/dist/types/components/Tooltip/Tooltip.d.ts +0 -11
  390. package/dist/types/components/Tooltip/Tooltip.styles.d.ts +0 -13
  391. package/dist/types/components/Tooltip/index.d.ts +0 -1
  392. package/dist/types/components/Typography/Typography.styles.d.ts +0 -19
  393. package/dist/types/components/common/commonComponents.d.ts +0 -19
  394. package/dist/types/components/common/index.d.ts +0 -2
  395. package/dist/types/components/common/inputStyles.d.ts +0 -146
  396. package/dist/types/docs/Overview.d.ts +0 -9
@@ -0,0 +1,42 @@
1
+ import { resolveThemeWithComponentsConfig } from '../../config';
2
+ import React, { useEffect } from 'react';
3
+ import { PanelEmptyState, PanelFooterWrapper, PanelHeaderWrapper, PanelItem, PanelOptionsWrapper, PanelRoot, PanelSearchWrapper, } from './OptionsPanel.styles';
4
+ import { Icon } from '../Icon';
5
+ import { SearchInput } from '../SearchInput';
6
+ import { wordbook } from '../../config';
7
+ import { ThemeProvider } from 'styled-components';
8
+ export const OptionsPanel = ({ theme, themeVariant = 'default', options, size = 'md', handleSelect, value, header, footer, placeholder, searchable = false, handleAdd, emptyStateText = wordbook.searchInput.emptyState, maxRows = 6, }) => {
9
+ const { resolvedTheme, componentsConfig } = resolveThemeWithComponentsConfig({
10
+ theme,
11
+ themeVariant,
12
+ });
13
+ const panelConfig = componentsConfig.panel;
14
+ const [showedOpitions, setShowedOptions] = React.useState(options);
15
+ useEffect(() => {
16
+ setShowedOptions(options);
17
+ }, [options]);
18
+ const selectOption = (e, selectedValue, disabled) => {
19
+ e.stopPropagation();
20
+ if (disabled)
21
+ return;
22
+ handleSelect?.(selectedValue);
23
+ };
24
+ const handleSearch = (searchValue) => {
25
+ if (!searchValue.trim()) {
26
+ setShowedOptions(options);
27
+ return;
28
+ }
29
+ const filtered = options.filter((option) => option.label.toString().toLowerCase().includes(searchValue.toLowerCase()));
30
+ setShowedOptions(filtered);
31
+ };
32
+ return (React.createElement(ThemeProvider, { theme: resolvedTheme },
33
+ React.createElement(PanelRoot, { theme: resolvedTheme, config: panelConfig },
34
+ header && (React.createElement(PanelHeaderWrapper, { size: size, config: panelConfig }, header)),
35
+ searchable && (React.createElement(PanelSearchWrapper, { size: size, config: panelConfig },
36
+ React.createElement(SearchInput, { theme: theme, themeVariant: themeVariant, placeholder: placeholder, handleSearch: handleSearch, handleAdd: handleAdd }))),
37
+ showedOpitions.length > 0 ? (React.createElement(PanelOptionsWrapper, { size: size, config: panelConfig, maxRows: maxRows }, showedOpitions.map((option, index) => (React.createElement(PanelItem, { key: index, theme: resolvedTheme, config: panelConfig, size: size, isDisabled: option.disabled || false, onClick: (e) => selectOption(e, option.value, option.disabled) },
38
+ option.label,
39
+ option.value === value && (React.createElement(Icon, { name: 'check', size: panelConfig.item.size[size]
40
+ .iconSize, color: panelConfig.item.color.selected.iconColor }))))))) : (React.createElement(PanelEmptyState, { theme: resolvedTheme, config: panelConfig, size: size }, emptyStateText)),
41
+ footer && (React.createElement(PanelFooterWrapper, { size: size, config: panelConfig }, footer)))));
42
+ };
@@ -0,0 +1,69 @@
1
+ import styled from 'styled-components';
2
+ export const PanelRoot = styled.div `
3
+ display: flex;
4
+ flex-direction: column;
5
+ background-color: ${({ theme, config }) => config.panel.color.default};
6
+ `;
7
+ export const PanelItem = styled.div `
8
+ display: flex;
9
+ flex-direction: row;
10
+ align-items: center;
11
+ flex:1;
12
+ justify-content: space-between;
13
+ height: ${({ config, size }) => config.item.size[size].height}px;
14
+ font-size: ${({ config, size }) => config.item.size[size].fontSize}px;
15
+ line-height: ${({ config, size }) => config.item.size[size].lineHeight}px;
16
+ padding: 0 ${({ config, size }) => config.item.size[size].paddingX}px;
17
+ border-radius: ${({ config, size }) => config.item.size[size].radius}px;
18
+ color: ${({ theme, config, isDisabled }) => isDisabled
19
+ ? config.item.color.disabled.text
20
+ : config.item.color.default.text};
21
+ :hover {
22
+ background-color: ${({ theme, config, isDisabled }) => !isDisabled ? config.item.color.hover.background : 'transparent'};
23
+ color: ${({ theme, config, isDisabled }) => !isDisabled
24
+ ? config.item.color.hover.text
25
+ : config.item.color.disabled.text};
26
+ cursor: ${({ isDisabled }) => (!isDisabled ? 'pointer' : 'not-allowed')};
27
+ }
28
+ `;
29
+ export const PanelHeaderWrapper = styled.div `
30
+ display: flex;
31
+ align-items: center;
32
+ padding: 0 ${({ config, size }) => config.item.size[size].paddingX}px;
33
+ border-bottom: 1px solid ${({ config }) => config.panel.color.divider};
34
+ font-size: ${({ config, size }) => config.item.size[size].fontSize}px;
35
+ line-height: ${({ config, size }) => config.item.size[size].lineHeight}px;
36
+ height: ${({ config, size }) => config.item.size[size].height}px;
37
+ margin-bottom: 6px;
38
+ `;
39
+ export const PanelFooterWrapper = styled.div `
40
+ display: flex;
41
+ align-items: center;
42
+ padding: 0 ${({ config, size }) => config.item.size[size].paddingX}px;
43
+ border-top: 1px solid ${({ config }) => config.panel.color.divider};
44
+ font-size: ${({ config, size }) => config.item.size[size].fontSize}px;
45
+ line-height: ${({ config, size }) => config.item.size[size].lineHeight}px;
46
+ height: ${({ config, size }) => config.item.size[size].height}px;
47
+ margin-top: 6px;
48
+ `;
49
+ export const PanelSearchWrapper = styled.div `
50
+ padding: 0 ${({ config, size }) => config.item.size[size].paddingX}px;
51
+ margin-bottom: 6px;
52
+ `;
53
+ export const PanelEmptyState = styled.div `
54
+ height: calc(${({ config, size }) => config.item.size[size].height}px * 2);
55
+ font-size: ${({ config, size }) => config.item.size[size].fontSize}px;
56
+ line-height: ${({ config, size }) => config.item.size[size].lineHeight}px;
57
+ padding: 0 ${({ config, size }) => config.item.size[size].paddingX}px;
58
+ color: ${({ theme, config }) => config.panel.color.placeholder};
59
+ display: flex;
60
+ align-items: center;
61
+ justify-content: center;
62
+ `;
63
+ export const PanelOptionsWrapper = styled.div `
64
+ display: block;
65
+ max-height: calc(
66
+ ${({ config, size }) => config.item.size[size].height}px * ${({ maxRows }) => maxRows}
67
+ );
68
+ overflow-y: auto;
69
+ `;
@@ -0,0 +1 @@
1
+ export * from './OptionsPanel';
@@ -1,49 +1,59 @@
1
+ import { resolveThemeWithComponentsConfig } from '../../config';
2
+ import { PaginationItem, PaginationItemWrapper, PaginationRoot, } from './Pagination.styles';
3
+ import { Icon } from '../Icon';
1
4
  import React from 'react';
2
- import { Icon } from '../Icons';
3
- import { Theme } from '../../Theme/Theme';
4
5
  import { Dropdown } from '../Dropdown';
5
- import { PaginationElement, PaginationButton } from './Pagination.styles';
6
- const getPageNumbers = (current, total) => {
7
- const pages = [];
8
- if (total <= 5) {
9
- for (let i = 1; i <= total; i++)
10
- pages.push(i);
11
- }
12
- else {
13
- if (current <= 3) {
14
- pages.push(1, 2, 3, '...', total);
15
- }
16
- else if (current >= total - 2) {
17
- pages.push(1, '...', total - 2, total - 1, total);
6
+ import { wordbook } from '../../config';
7
+ import { ThemeProvider } from 'styled-components';
8
+ export const Pagination = ({ theme, themeVariant = 'default', currentPage, totalPages, pageSize, onPageChange, onPageSizeChange, availableValues = [10, 20, 50], dropdownLabel = wordbook.pagination.dropdownLabel, }) => {
9
+ const resolvedThemeData = resolveThemeWithComponentsConfig({
10
+ theme,
11
+ themeVariant,
12
+ });
13
+ const resolvedTheme = resolvedThemeData.resolvedTheme;
14
+ const { componentsConfig } = resolvedThemeData;
15
+ const paginationConfig = componentsConfig.pagination;
16
+ const getPageNumbers = (current, total) => {
17
+ const pages = [];
18
+ if (total <= 5) {
19
+ for (let i = 1; i <= total; i++)
20
+ pages.push(i);
18
21
  }
19
22
  else {
20
- pages.push(1, '...', current - 1, current, current + 1, '...', total);
23
+ if (current <= 3) {
24
+ pages.push(1, 2, 3, '...', total);
25
+ }
26
+ else if (current >= total - 2) {
27
+ pages.push(1, '...', total - 2, total - 1, total);
28
+ }
29
+ else {
30
+ pages.push(1, '...', current - 1, current, current + 1, '...', total);
31
+ }
21
32
  }
22
- }
23
- return pages;
24
- };
25
- export const Pagination = ({ currentPage, totalPages, pageSize, onPageChange, onPageSizeChange, availableValues = [10, 20, 50], }) => {
33
+ return pages;
34
+ };
26
35
  const pageNumbers = getPageNumbers(currentPage, totalPages);
27
36
  const pageSizeStr = !isNaN(pageSize) ? String(pageSize) : '10';
28
- let dropdownOptions = availableValues.map(size => ({
37
+ let dropdownOptions = availableValues.map((size) => ({
29
38
  value: size.toString(),
30
39
  label: size.toString(),
31
40
  }));
32
- if (!dropdownOptions.some(opt => opt.value === pageSizeStr)) {
41
+ if (!dropdownOptions.some((opt) => opt.value === pageSizeStr)) {
33
42
  dropdownOptions = [
34
43
  { value: pageSizeStr, label: pageSizeStr },
35
44
  ...dropdownOptions,
36
45
  ];
37
46
  }
38
- return (React.createElement(PaginationElement, null,
39
- React.createElement(Icon, { name: 'back', size: 16, iconColor: Theme.colors.text, onClick: () => onPageChange(Math.max(1, currentPage - 1)), isDisabled: currentPage === 1 }),
40
- pageNumbers.map((num, idx) => num === '...' ? (React.createElement("span", { key: `ellipsis-${idx}` }, "...")) : (React.createElement(PaginationButton, { key: num, onClick: () => onPageChange(Number(num)), disabled: num === currentPage }, num))),
41
- React.createElement(Icon, { name: 'forward', size: 16, iconColor: Theme.colors.text, onClick: () => onPageChange(Math.min(totalPages, currentPage + 1)), isDisabled: currentPage === totalPages }),
42
- React.createElement("div", null,
43
- React.createElement(Dropdown, { size: "small", label: "Ilo\u015B\u0107 na stron\u0119:", labelPosition: "left", handleSelect: (name, value) => {
47
+ return (React.createElement(ThemeProvider, { theme: resolvedTheme },
48
+ React.createElement(PaginationRoot, { theme: resolvedTheme, config: paginationConfig },
49
+ React.createElement(PaginationItemWrapper, { theme: resolvedTheme, config: paginationConfig },
50
+ React.createElement(Icon, { name: 'back', size: "md", onClick: () => onPageChange(Math.max(1, currentPage - 1)), isDisabled: currentPage === 1 }),
51
+ pageNumbers.map((num, idx) => num === '...' ? (React.createElement("span", { key: `ellipsis-${idx}` }, "...")) : (React.createElement(PaginationItem, { key: num, onClick: () => onPageChange(Number(num)), isActive: num === currentPage, theme: resolvedTheme, config: paginationConfig }, num))),
52
+ React.createElement(Icon, { name: 'forward', size: "md", onClick: () => onPageChange(Math.min(totalPages, currentPage + 1)), isDisabled: currentPage === totalPages })),
53
+ React.createElement(Dropdown, { size: "sm", label: dropdownLabel, labelPosition: "left", handleChange: (name, value) => {
44
54
  const num = Number(value);
45
55
  if (!isNaN(num) && num > 0) {
46
56
  onPageSizeChange(num);
47
57
  }
48
- }, name: "pageSize", value: String(pageSize), options: dropdownOptions }))));
58
+ }, name: "pageSize", value: String(pageSize), options: dropdownOptions, width: 'auto', componentWidth: '70px' }))));
49
59
  };
@@ -1,24 +1,50 @@
1
1
  import styled from 'styled-components';
2
- import { Theme } from '../../Theme/Theme';
3
- export const PaginationElement = styled.div `
4
- margin-top: 16px;
2
+ export const PaginationRoot = styled.div `
5
3
  display: flex;
6
- justify-content: right;
4
+ justify-content: space-between;
7
5
  align-items: center;
6
+ width: 100%;
7
+ box-sizing: border-box;
8
+ height: ${({ theme, config }) => config.size.paginationHeight}px;
9
+ gap: ${({ theme, config }) => config.size.elementGap}px;
8
10
  `;
9
- export const PaginationButton = styled.button `
10
- font-weight: normal;
11
- background: transparent;
11
+ export const PaginationItemWrapper = styled.div `
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: flex-start;
15
+ width:100%;
16
+ gap: ${({ theme, config }) => config.size.itemGap}px;
17
+ `;
18
+ export const PaginationItem = styled.button `Ś
19
+ display: flex;
20
+ align-items: center;
21
+ justify-content: center;
22
+ height: ${({ theme, config }) => config.size.height}px;
23
+ width: ${({ theme, config }) => config.size.width}px;
24
+ background-color: ${({ theme, config, disabled, isActive }) => disabled
25
+ ? config.color.disabled.background
26
+ : isActive
27
+ ? config.color.active.background
28
+ : config.color.default.background};
29
+ color: ${({ theme, config, disabled, isActive }) => disabled
30
+ ? config.color.disabled.text
31
+ : isActive
32
+ ? config.color.active.text
33
+ : config.color.default.text};
12
34
  border: none;
13
- cursor: pointer;
14
- padding: ${Theme.padding.s}
15
- border-radius: 4px;
16
- color: ${Theme.colors.text};
17
- margin: 0 6px;
18
- &:disabled {
19
- background: ${Theme.colors.primary};
20
- color: ${Theme.colors.white};
21
- cursor: not-allowed;
22
- border-radius: 4px;
23
- }
35
+ border-radius: ${({ theme, config }) => config.size.borderRadius}px;
36
+ cursor: ${({ disabled }) => (disabled ? 'not-allowed' : 'pointer')};
37
+ &:hover {
38
+ color: ${({ theme, config, disabled, isActive }) => disabled
39
+ ? config.color.disabled.text
40
+ : isActive
41
+ ? config.color.hover.activeTest
42
+ : config.color.hover.text};
43
+
44
+ `;
45
+ export const PaginationDropdownWrapper = styled.div `
46
+ display: flex;
47
+ align-items: center;
48
+ justify-content: center;
49
+ gap: ${({ theme, config }) => config.size.elementGap}px;
24
50
  `;
@@ -0,0 +1,46 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { SearchInputElement, SearchWrapperRoot } from './SearchInput.styles';
3
+ import { resolveThemeWithComponentsConfig } from '../../config';
4
+ import { wordbook } from '../../config';
5
+ import { Icon } from '../Icon';
6
+ const SEARCH_DEBOUNCE_MS = 300;
7
+ export const SearchInput = ({ theme, themeVariant = 'default', placeholder = wordbook.searchInput.placeholder, handleSearch, handleAdd, }) => {
8
+ const resolvedThemeData = resolveThemeWithComponentsConfig({
9
+ theme,
10
+ themeVariant,
11
+ });
12
+ const resolvedTheme = resolvedThemeData.resolvedTheme;
13
+ const { componentsConfig } = resolvedThemeData;
14
+ const config = componentsConfig.searchInput;
15
+ const [inputValue, setInputValue] = useState('');
16
+ const handleInputChange = (e) => {
17
+ setInputValue(e.target.value);
18
+ };
19
+ useEffect(() => {
20
+ if (!handleSearch) {
21
+ return;
22
+ }
23
+ const debounceTimeout = setTimeout(() => {
24
+ handleSearch(inputValue);
25
+ }, SEARCH_DEBOUNCE_MS);
26
+ return () => clearTimeout(debounceTimeout);
27
+ }, [inputValue, handleSearch]);
28
+ const clickAdd = () => {
29
+ const trimmedValue = inputValue.trim();
30
+ if (handleAdd && trimmedValue.length > 0) {
31
+ handleAdd(trimmedValue);
32
+ setInputValue('');
33
+ }
34
+ };
35
+ const clear = () => {
36
+ setInputValue('');
37
+ if (handleSearch) {
38
+ handleSearch('');
39
+ }
40
+ };
41
+ return (React.createElement(SearchWrapperRoot, { theme: resolvedTheme, config: config },
42
+ React.createElement(Icon, { name: "search", size: "md", background: "transparent", hoverBackground: "transparent" }),
43
+ React.createElement(SearchInputElement, { config: config, theme: resolvedTheme, placeholder: placeholder, value: inputValue, onChange: handleInputChange }),
44
+ inputValue.length > 0 && (React.createElement(Icon, { name: "close", size: "md", background: "transparent", hoverBackground: "transparent", onClick: clear })),
45
+ handleAdd && (React.createElement(Icon, { name: "add_circle", size: "md", background: "transparent", hoverBackground: "transparent", onClick: clickAdd }))));
46
+ };
@@ -0,0 +1,44 @@
1
+ import styled from 'styled-components';
2
+ export const SearchWrapperRoot = styled.div `
3
+ display: flex;
4
+ flex-direction: row;
5
+ gap: 4px;
6
+ align-items: center;
7
+ overflow: hidden;
8
+ width: 100%;
9
+ height: ${({ config }) => config.size.height}px;
10
+ border-bottom: 1px solid ${({ theme, config }) => config.color.default.border};
11
+ background: ${({ theme, config }) => config.color.default.background};
12
+ ${({ config, isActive }) => `
13
+ &:hover {
14
+ border-color: ${isActive ? config.color.focus.border : config.color.hover.border};
15
+ background: ${config.color.hover.background};
16
+ }
17
+ `}
18
+ &:focus-within {
19
+ border-color: ${(p) => p.config.color.focus.border};
20
+ background: ${(p) => p.config.color.focus.background};
21
+ }
22
+ `;
23
+ export const SearchInputElement = styled.input `
24
+ width: 100%;
25
+ border: none;
26
+ &::placeholder {
27
+ color: ${({ theme, config }) => config.color.default.placeholder};
28
+ opacity: 1;
29
+ }
30
+ ::-webkit-outer-spin-button,
31
+ ::-webkit-inner-spin-button {
32
+ -webkit-appearance: none;
33
+ margin: 0;
34
+ }
35
+ -moz-appearance: textfield;
36
+ appearance: textfield;
37
+ outline: none;
38
+ height: ${({ config }) => config.size.height}px;
39
+ font-size: ${({ config }) => config.size.fontSize}px;
40
+ line-height: ${({ config }) => config.size.lineHeight}px;
41
+ padding: 0 ${({ config }) => config.size.paddingX}px};
42
+ color: ${({ theme, config }) => config.color.default.text};
43
+
44
+ `;
@@ -0,0 +1 @@
1
+ export * from './SearchInput';
@@ -1,12 +1,19 @@
1
- import { TextSubHeader } from '../Typography';
1
+ import { resolveThemeWithComponentsConfig } from '../../config';
2
2
  import React from 'react';
3
- import { SectionElement, SectionTitle, SectionContent } from './Section.styles';
4
- import { mainTheme } from '../../Theme';
3
+ import { wordbook } from '../../config';
4
+ import { SectionContent, SectionRoot, SectionTitle } from './Section.styles';
5
5
  import { Button } from '../Button';
6
- export const Section = ({ title, children, titlePosition = 'left', noHorizontalPadding = false, noTopPadding = false, theme = mainTheme, backgroundColor = theme.contentBackground, action, actionLabel = 'action', }) => {
7
- return (React.createElement(SectionElement, { backgroundColor: backgroundColor, noTopPadding: noTopPadding },
8
- title && (React.createElement(SectionTitle, { titlePosition: titlePosition, noPadding: noHorizontalPadding, withAction: titlePosition === 'left' && !!action },
9
- React.createElement(TextSubHeader, null, title),
10
- titlePosition === 'left' && !!action && (React.createElement(Button, { text: actionLabel, onClick: action, size: "small", mode: "secondary" })))),
11
- React.createElement(SectionContent, { noPadding: noHorizontalPadding }, children)));
6
+ export const Section = ({ theme, themeVariant = 'default', title, titlePosition = 'left', withoutPadding = false, backgroundColor, children, action, actionLabel = wordbook.section.action, }) => {
7
+ const resolvedThemeData = resolveThemeWithComponentsConfig({
8
+ theme,
9
+ themeVariant,
10
+ });
11
+ const resolvedTheme = resolvedThemeData.resolvedTheme;
12
+ const { componentsConfig } = resolvedThemeData;
13
+ const sectionConfig = componentsConfig.section;
14
+ return (React.createElement(SectionRoot, { backgroundColor: backgroundColor, withoutPadding: withoutPadding, theme: resolvedTheme, config: sectionConfig },
15
+ title && (React.createElement(SectionTitle, { titlePosition: titlePosition, theme: resolvedTheme, config: sectionConfig, withAction: titlePosition === 'left' && !!action },
16
+ title,
17
+ titlePosition === 'left' && !!action && (React.createElement(Button, { text: actionLabel, onClick: action, size: "md", mode: "ghost" })))),
18
+ React.createElement(SectionContent, { theme: resolvedTheme, config: sectionConfig }, children)));
12
19
  };
@@ -1,28 +1,29 @@
1
1
  import styled from 'styled-components';
2
- import { Theme } from '../../Theme';
3
- export const SectionElement = styled.div `
2
+ export const SectionRoot = styled.div `
4
3
  width: 100%;
5
4
  box-sizing: border-box;
6
5
  overflow: auto;
7
- padding: ${Theme.padding.l} 0;
8
- background-color: ${(p) => p.backgroundColor};
9
- ${(p) => p.noTopPadding && `padding-top: 0;`}
6
+ background-color: ${({ config, backgroundColor }) => backgroundColor || config.color.background};
7
+ padding: ${({ config, withoutPadding }) => withoutPadding ? 0 : `${config.size.paddingY}px ${config.size.paddingX}px`};
10
8
  `;
11
9
  export const SectionTitle = styled.div `
12
10
  width: 100%;
13
- padding: 0 ${(p) => (p.noPadding ? 0 : Theme.padding.l)} ${Theme.padding.l}
14
- ${(p) => (p.noPadding ? 0 : Theme.padding.l)};
15
- text-align: ${(p) => p.titlePosition};
11
+ text-align: ${({ titlePosition }) => titlePosition};
16
12
  box-sizing: border-box;
17
- ${(p) => p.withAction &&
13
+ margin-bottom: ${({ titlePosition, config }) => config.size.header.bottomMargin}px;
14
+ color: ${({ config }) => config.color.header.color};
15
+ font-size: ${({ config }) => config.size.header.fontSize}px;
16
+ line-height: ${({ config }) => config.size.header.lineHeight}px;
17
+
18
+ ${({ withAction, config }) => withAction &&
18
19
  `display:flex;
19
20
  align-items: center;
20
21
  justify-content: space-between;
21
- `};
22
+
23
+ `};
22
24
  `;
23
25
  export const SectionContent = styled.div `
24
26
  box-sizing: border-box;
25
27
  width: 100%;
26
28
  display: flex;
27
- padding: 0 ${(p) => (p.noPadding ? 0 : Theme.padding.l)};
28
29
  `;
@@ -1 +1,2 @@
1
1
  export * from './Section';
2
+ export * from './Section.styles';
@@ -1,14 +1,20 @@
1
+ import { ComponentRoot } from '../ComponentRoot';
2
+ import { resolveThemeWithComponentsConfig } from '../../config';
1
3
  import React, { useState } from 'react';
2
- import { Aligment } from '../Aligment';
3
- import { mainTheme } from '../../Theme/Theme';
4
- import { InputErrorMsg, InputLabelElement } from '../Input';
5
- import { Icon } from '../Icons';
6
- import { SelectorAction, SelectorElement, SelectorValue, SelectorValueWrapper, } from './Selector.styles';
4
+ import { wordbook } from '../../config';
5
+ import { SelectorPill, SelectorTriger } from './Selector.styles';
7
6
  import { Modal } from '../Modal';
8
- import { PanelOption, setIconShiftSize } from '../common';
9
- import { ThemeProvider } from 'styled-components';
10
- import { Text } from '../Typography';
11
- export const Selector = ({ theme = mainTheme, label, labelPosition = 'top', size = 'medium', width, options, value, name, error, handleSelect, handleClear, optionsPanelTitle = 'Please select', optionsPanelEmptyMsg = 'There are no options to choose from', disabled = false, }) => {
7
+ import { OptionsPanel } from '../OptionsPanel';
8
+ import { createPortal } from 'react-dom';
9
+ import { Icon } from '../Icon';
10
+ export const Selector = ({ theme, themeVariant = 'default', label, labelPosition = 'top', value, name, disabled = false, size = 'md', handleSelect, handleClear, width, error = false, helperText, readOnly = false, required = false, optional = false, optionalLabel, options, placeholder = wordbook.selector.placeholder, emptyStateText = wordbook.selector.emptyPanelMsg, searchable = false, }) => {
11
+ const resolvedThemeData = resolveThemeWithComponentsConfig({
12
+ theme,
13
+ themeVariant,
14
+ });
15
+ const resolvedTheme = resolvedThemeData.resolvedTheme;
16
+ const { componentsConfig } = resolvedThemeData;
17
+ const selectorConfig = componentsConfig.selector;
12
18
  const [open, toogleOpen] = useState(false);
13
19
  const selectOption = (selectedValue) => {
14
20
  handleSelect(name, selectedValue);
@@ -22,14 +28,11 @@ export const Selector = ({ theme = mainTheme, label, labelPosition = 'top', size
22
28
  toogleOpen(true);
23
29
  }
24
30
  };
25
- return (React.createElement(ThemeProvider, { theme: theme },
26
- React.createElement(Aligment, { align: labelPosition === 'top' ? 'flex-start' : 'center', justify: labelPosition === 'top' ? 'center' : 'flex-start', direction: labelPosition === 'top' ? 'column' : 'row', wrap: 'nowrap', width: width },
27
- label && (React.createElement(InputLabelElement, { size: size, labelPosition: labelPosition }, label)),
28
- React.createElement(SelectorElement, null,
29
- value ? (React.createElement(SelectorValueWrapper, { size: size, isDisabled: disabled },
30
- React.createElement(SelectorValue, { onClick: handleOpen, size: size, isDisabled: disabled }, getLabelForValue(value)),
31
- React.createElement(Icon, { name: 'close', onClick: () => handleClear(), size: setIconShiftSize(size), isDisabled: disabled }))) : (React.createElement(React.Fragment, null,
32
- React.createElement(SelectorAction, { size: size, isDisabled: disabled, onClick: handleOpen }, optionsPanelTitle))),
33
- open && (React.createElement(Modal, { title: optionsPanelTitle, labelClose: "Close", handleClose: () => toogleOpen(false), isOpen: open, exitOnEsc: true }, options?.length > 0 ? (options.map((option) => (React.createElement(PanelOption, { key: option.value, active: option.value === value, onClick: () => selectOption(option.value) }, option.label)))) : (React.createElement(Text, null, optionsPanelEmptyMsg)))),
34
- error && React.createElement(InputErrorMsg, null, error)))));
31
+ return (React.createElement(ComponentRoot, { labelPosition: labelPosition, size: size, width: width, disabled: disabled, error: error, readOnly: readOnly, required: required, optional: optional, optionalLabel: optionalLabel, helperText: helperText, themeVariant: themeVariant, theme: resolvedTheme, componentConfig: selectorConfig, label: label, noBorder: true },
32
+ value ? (React.createElement(SelectorPill, { theme: resolvedTheme, config: selectorConfig, size: size },
33
+ getLabelForValue(value),
34
+ React.createElement(Icon, { name: 'close', onClick: () => handleClear(), size: selectorConfig.size[size].iconSize, color: "currentColor", hoverBackground: "transparent" }))) : (React.createElement(SelectorTriger, { theme: resolvedTheme, config: selectorConfig, size: size, onClick: handleOpen, isDisabled: disabled }, placeholder)),
35
+ open &&
36
+ createPortal(React.createElement(Modal, { title: placeholder, labelClose: "Close", handleClose: () => toogleOpen(false), isOpen: open, exitOnEsc: true },
37
+ React.createElement(OptionsPanel, { options: options, emptyStateText: emptyStateText, handleSelect: selectOption, searchable: searchable })), document.body)));
35
38
  };
@@ -1,58 +1,30 @@
1
1
  import styled from 'styled-components';
2
- import { setSelecAreaSize, setSelectorSize } from '../common';
3
- import { Theme } from '../../Theme/Theme';
4
- export const SelectorElement = styled.div `
5
- position: relative;
6
- cursor: pointer;
7
- display: flex;
8
- box-sizing: border-box;
9
- align-items: center;
2
+ export const SelectorTriger = styled.div `
3
+ display: flex;
4
+ align-items: center;
5
+ justify-content: space-between;
6
+ width: auto;
7
+ height: ${({ config, size }) => config.size[size].height}px;
8
+ color: ${({ theme, config, isDisabled }) => isDisabled ? config.color.disabled.text : config.color.default.text};
9
+ font-size: ${({ config, size }) => config.size[size].fontSize}px;
10
+ line-height: ${({ config, size }) => config.size[size].lineHeight}px;
11
+ text-decoration: underline;
12
+ cursor: ${({ isDisabled }) => (isDisabled ? 'not-allowed' : 'pointer')};
13
+ pointer-events: ${({ isDisabled }) => (isDisabled ? 'none' : 'auto')};
14
+ border-radius: ${({ config, size }) => config.size[size].radius}px;
15
+ :hover{
16
+ color: ${({ theme, config, isDisabled }) => isDisabled ? config.color.disabled.text : config.color.hover.text};
10
17
  `;
11
- export const SelectorValue = styled.div `
12
- box-sizing: border-box;
13
-
14
- width: 100%;
15
- font-family: 'Lato', sans-serif;
16
- outline: 0;
17
- white-space: nowrap;
18
- overflow: hidden;
19
- text-overflow: ellipsis;
20
- color: ${(p) => p.theme.textColor};
21
- &:hover {
22
- color: ${(p) => p.theme.action};
23
- }
24
- ${(p) => p.isDisabled &&
25
- `
26
- cursor:not-allowed;
27
- background-color: ${p.theme.inputDisabledBackground};
28
- color: ${p.theme.inputDisabledTextColor};
29
- `}
30
- `;
31
- export const SelectorAction = styled.div `
32
- ${(p) => setSelectorSize(p.size)}
33
- color:${(p) => p.theme.optionActiveColor};
34
- cursor: pointer;
35
- text-decoration: underline;
36
-
37
- ${(p) => p.isDisabled &&
38
- `
39
- cursor:not-allowed;
40
- color: ${p.theme.inputDisabledTextColor};
41
-
42
- `}
43
- `;
44
- export const SelectorValueWrapper = styled.div `
45
- cursor: pointer;
46
- display: flex;
47
- align-items: center;
48
- background-color: ${(p) => p.theme.selector};
49
- border-radius: ${Theme.borderRadius.m};
50
- gap: 4px;
51
- ${(p) => setSelecAreaSize(p.size)}
52
- ${(p) => p.isDisabled &&
53
- `
54
- cursor:not-allowed;
55
- background-color: ${p.theme.inputDisabledBackground};
56
-
57
- `}
18
+ export const SelectorPill = styled.div `
19
+ display: inline-flex;
20
+ align-items: center;
21
+ justify-content: center;
22
+ padding: 4px 8px;
23
+ background: ${({ theme, config }) => config.color.default.pillBackground};
24
+ color: ${({ theme, config }) => config.color.default.pillText};
25
+ font-size: ${({ config, size }) => config.size[size].fontSize}px;
26
+ line-height: ${({ config, size }) => config.size[size].lineHeight}px;
27
+ border-radius: ${({ config, size }) => config.size[size].radius}px;
28
+ padding: 0 ${({ config, size }) => config.size[size].paddingX}px;
29
+ height: ${({ config, size }) => config.size[size].height}px;
58
30
  `;