@dktunited-techoff/techoff-suite-ui 1.7.11 → 1.8.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 (327) hide show
  1. package/package.json +1 -1
  2. package/src/components/{TsDropdown → TsDropdowns/TsDropdown}/TsDropdown.tsx +5 -5
  3. package/{lib/components → src/components/TsDropdowns}/TsDropdown/__stories__/TsDropdown.stories.mdx +1 -1
  4. package/src/components/{TsDropdown/TsDropdown.css → TsDropdowns/TsDropdownFilter/TsDropdownFilter.css} +24 -55
  5. package/src/components/TsDropdowns/TsDropdownFilter/TsDropdownFilter.tsx +104 -0
  6. package/src/components/TsDropdowns/TsDropdownFilter/TsDropdownFilter.types.ts +8 -0
  7. package/{esm/components/TsDropdown → src/components/TsDropdowns/TsDropdownFilter}/__stories__/TsDropdown.stories.mdx +13 -29
  8. package/src/components/TsIcon/icons/header-techoff-suite.svg +32 -0
  9. package/src/components/TsIcon/icons/index.ts +1 -0
  10. package/src/index.ts +2 -1
  11. package/src/layouts/TsHeader/TsHeader.types.ts +1 -1
  12. package/src/layouts/TsHeader/__stories__/TsHeader.stories.mdx +1 -1
  13. package/esm/assets/fonts/Montserrat-Medium.ttf +0 -0
  14. package/esm/assets/fonts/Roboto-Light.ttf +0 -0
  15. package/esm/components/TsButton/TsButton.css +0 -121
  16. package/esm/components/TsButton/TsButton.d.ts +0 -5
  17. package/esm/components/TsButton/TsButton.js +0 -17
  18. package/esm/components/TsButton/TsButton.js.map +0 -1
  19. package/esm/components/TsButton/TsButton.types.d.ts +0 -9
  20. package/esm/components/TsButton/TsButton.types.js +0 -2
  21. package/esm/components/TsButton/TsButton.types.js.map +0 -1
  22. package/esm/components/TsButton/__stories__/TsButton.stories.mdx +0 -84
  23. package/esm/components/TsCheckbox/TsCheckbox.css +0 -64
  24. package/esm/components/TsCheckbox/TsCheckbox.d.ts +0 -4
  25. package/esm/components/TsCheckbox/TsCheckbox.js +0 -17
  26. package/esm/components/TsCheckbox/TsCheckbox.js.map +0 -1
  27. package/esm/components/TsCheckbox/TsCheckbox.types.d.ts +0 -7
  28. package/esm/components/TsCheckbox/TsCheckbox.types.js +0 -2
  29. package/esm/components/TsCheckbox/TsCheckbox.types.js.map +0 -1
  30. package/esm/components/TsCheckbox/__stories__/TsCheckbox.stories.mdx +0 -56
  31. package/esm/components/TsDropdown/TsDropdown.d.ts +0 -4
  32. package/esm/components/TsDropdown/TsDropdown.js +0 -100
  33. package/esm/components/TsDropdown/TsDropdown.js.map +0 -1
  34. package/esm/components/TsDropdown/TsDropdown.types.d.ts +0 -17
  35. package/esm/components/TsDropdown/TsDropdown.types.js +0 -2
  36. package/esm/components/TsDropdown/TsDropdown.types.js.map +0 -1
  37. package/esm/components/TsDropdown/__stories__/fruits.d.ts +0 -4
  38. package/esm/components/TsDropdown/__stories__/fruits.js +0 -48
  39. package/esm/components/TsDropdown/__stories__/fruits.js.map +0 -1
  40. package/esm/components/TsIcon/TsIcon.css +0 -26
  41. package/esm/components/TsIcon/TsIcon.d.ts +0 -4
  42. package/esm/components/TsIcon/TsIcon.js +0 -12
  43. package/esm/components/TsIcon/TsIcon.js.map +0 -1
  44. package/esm/components/TsIcon/TsIcon.types.d.ts +0 -4
  45. package/esm/components/TsIcon/TsIcon.types.js +0 -2
  46. package/esm/components/TsIcon/TsIcon.types.js.map +0 -1
  47. package/esm/components/TsIcon/__stories__/TsIcon.stories.mdx +0 -89
  48. package/esm/components/TsIcon/icons/add-circle.svg +0 -1
  49. package/esm/components/TsIcon/icons/add.svg +0 -1
  50. package/esm/components/TsIcon/icons/alert-circle-filled.svg +0 -1
  51. package/esm/components/TsIcon/icons/alert-circle.svg +0 -1
  52. package/esm/components/TsIcon/icons/alert-triangle-filled.svg +0 -1
  53. package/esm/components/TsIcon/icons/alert-triangle.svg +0 -1
  54. package/esm/components/TsIcon/icons/arrow-diagonal-collapse.svg +0 -1
  55. package/esm/components/TsIcon/icons/arrow-diagonal-expand.svg +0 -1
  56. package/esm/components/TsIcon/icons/arrow-down.svg +0 -1
  57. package/esm/components/TsIcon/icons/arrow-go-back.svg +0 -1
  58. package/esm/components/TsIcon/icons/arrow-left-right.svg +0 -1
  59. package/esm/components/TsIcon/icons/arrow-left.svg +0 -1
  60. package/esm/components/TsIcon/icons/arrow-right.svg +0 -1
  61. package/esm/components/TsIcon/icons/arrow-up-down.svg +0 -1
  62. package/esm/components/TsIcon/icons/arrow-up.svg +0 -1
  63. package/esm/components/TsIcon/icons/award.svg +0 -1
  64. package/esm/components/TsIcon/icons/check-circle-filled.svg +0 -1
  65. package/esm/components/TsIcon/icons/check-circle-timer.svg +0 -7
  66. package/esm/components/TsIcon/icons/check-circle.svg +0 -1
  67. package/esm/components/TsIcon/icons/check-square-filled.svg +0 -1
  68. package/esm/components/TsIcon/icons/check-square.svg +0 -1
  69. package/esm/components/TsIcon/icons/check.svg +0 -1
  70. package/esm/components/TsIcon/icons/chevron-down.svg +0 -1
  71. package/esm/components/TsIcon/icons/chevron-left.svg +0 -1
  72. package/esm/components/TsIcon/icons/chevron-right.svg +0 -1
  73. package/esm/components/TsIcon/icons/chevron-up.svg +0 -1
  74. package/esm/components/TsIcon/icons/circle.svg +0 -1
  75. package/esm/components/TsIcon/icons/close-circle.svg +0 -1
  76. package/esm/components/TsIcon/icons/close.svg +0 -1
  77. package/esm/components/TsIcon/icons/currency-euro.svg +0 -1
  78. package/esm/components/TsIcon/icons/download.svg +0 -1
  79. package/esm/components/TsIcon/icons/edit.svg +0 -1
  80. package/esm/components/TsIcon/icons/external-link.svg +0 -1
  81. package/esm/components/TsIcon/icons/filter-off.svg +0 -1
  82. package/esm/components/TsIcon/icons/filter.svg +0 -1
  83. package/esm/components/TsIcon/icons/flashlight-off.svg +0 -1
  84. package/esm/components/TsIcon/icons/flashlight.svg +0 -1
  85. package/esm/components/TsIcon/icons/header-bikestudio.svg +0 -32
  86. package/esm/components/TsIcon/icons/header-nsc-helmet.svg +0 -32
  87. package/esm/components/TsIcon/icons/header-opticost.svg +0 -32
  88. package/esm/components/TsIcon/icons/header-repairability.svg +0 -32
  89. package/esm/components/TsIcon/icons/heart-filled.svg +0 -1
  90. package/esm/components/TsIcon/icons/heart.svg +0 -1
  91. package/esm/components/TsIcon/icons/history.svg +0 -1
  92. package/esm/components/TsIcon/icons/home.svg +0 -1
  93. package/esm/components/TsIcon/icons/index.d.ts +0 -3
  94. package/esm/components/TsIcon/icons/index.js +0 -61
  95. package/esm/components/TsIcon/icons/index.js.map +0 -1
  96. package/esm/components/TsIcon/icons/index.ts +0 -60
  97. package/esm/components/TsIcon/icons/link.svg +0 -1
  98. package/esm/components/TsIcon/icons/list-settings.svg +0 -1
  99. package/esm/components/TsIcon/icons/lock.svg +0 -1
  100. package/esm/components/TsIcon/icons/loop-right.svg +0 -1
  101. package/esm/components/TsIcon/icons/percent.svg +0 -1
  102. package/esm/components/TsIcon/icons/question-circle.svg +0 -1
  103. package/esm/components/TsIcon/icons/save.svg +0 -1
  104. package/esm/components/TsIcon/icons/search.svg +0 -1
  105. package/esm/components/TsIcon/icons/seedling-circle.svg +0 -12
  106. package/esm/components/TsIcon/icons/square.svg +0 -1
  107. package/esm/components/TsIcon/icons/timer.svg +0 -1
  108. package/esm/components/TsIcon/icons/tools.svg +0 -1
  109. package/esm/components/TsIcon/icons/user.svg +0 -1
  110. package/esm/components/TsInput/TsInput/TsInput.css +0 -92
  111. package/esm/components/TsInput/TsInput/TsInput.d.ts +0 -4
  112. package/esm/components/TsInput/TsInput/TsInput.js +0 -21
  113. package/esm/components/TsInput/TsInput/TsInput.js.map +0 -1
  114. package/esm/components/TsInput/TsInput/TsInput.tsx +0 -34
  115. package/esm/components/TsInput/TsInput/TsInput.types.d.ts +0 -8
  116. package/esm/components/TsInput/TsInput/TsInput.types.js +0 -2
  117. package/esm/components/TsInput/TsInput/TsInput.types.js.map +0 -1
  118. package/esm/components/TsInput/TsInput/TsInput.types.tsx +0 -9
  119. package/esm/components/TsInput/TsInput/__stories__/TsInput.stories.mdx +0 -77
  120. package/esm/components/TsLoader/TsLoader.css +0 -42
  121. package/esm/components/TsLoader/TsLoader.d.ts +0 -4
  122. package/esm/components/TsLoader/TsLoader.js +0 -6
  123. package/esm/components/TsLoader/TsLoader.js.map +0 -1
  124. package/esm/components/TsLoader/TsLoader.types.d.ts +0 -3
  125. package/esm/components/TsLoader/TsLoader.types.js +0 -2
  126. package/esm/components/TsLoader/TsLoader.types.js.map +0 -1
  127. package/esm/components/TsLoader/__stories__/TsLoader.stories.mdx +0 -30
  128. package/esm/components/TsTabs/TsTabs.css +0 -69
  129. package/esm/components/TsTabs/TsTabs.d.ts +0 -4
  130. package/esm/components/TsTabs/TsTabs.js +0 -30
  131. package/esm/components/TsTabs/TsTabs.js.map +0 -1
  132. package/esm/components/TsTabs/TsTabs.types.d.ts +0 -14
  133. package/esm/components/TsTabs/TsTabs.types.js +0 -2
  134. package/esm/components/TsTabs/TsTabs.types.js.map +0 -1
  135. package/esm/components/TsTabs/__stories__/TsTabs.stories.mdx +0 -50
  136. package/esm/hooks/use-click-outside.d.ts +0 -2
  137. package/esm/hooks/use-click-outside.js +0 -14
  138. package/esm/hooks/use-click-outside.js.map +0 -1
  139. package/esm/index.d.ts +0 -10
  140. package/esm/index.js +0 -11
  141. package/esm/index.js.map +0 -1
  142. package/esm/layouts/TsHeader/TsHeader.css +0 -186
  143. package/esm/layouts/TsHeader/TsHeader.d.ts +0 -4
  144. package/esm/layouts/TsHeader/TsHeader.js +0 -13
  145. package/esm/layouts/TsHeader/TsHeader.js.map +0 -1
  146. package/esm/layouts/TsHeader/TsHeader.types.d.ts +0 -23
  147. package/esm/layouts/TsHeader/TsHeader.types.js +0 -2
  148. package/esm/layouts/TsHeader/TsHeader.types.js.map +0 -1
  149. package/esm/layouts/TsHeader/TsHeaderProfile.d.ts +0 -5
  150. package/esm/layouts/TsHeader/TsHeaderProfile.js +0 -38
  151. package/esm/layouts/TsHeader/TsHeaderProfile.js.map +0 -1
  152. package/esm/layouts/TsHeader/TsHeaderSearch.d.ts +0 -3
  153. package/esm/layouts/TsHeader/TsHeaderSearch.js +0 -58
  154. package/esm/layouts/TsHeader/TsHeaderSearch.js.map +0 -1
  155. package/esm/layouts/TsHeader/__stories__/TsHeader.stories.mdx +0 -71
  156. package/esm/layouts/TsNavigation/TsNavigation.css +0 -72
  157. package/esm/layouts/TsNavigation/TsNavigation.d.ts +0 -7
  158. package/esm/layouts/TsNavigation/TsNavigation.js +0 -29
  159. package/esm/layouts/TsNavigation/TsNavigation.js.map +0 -1
  160. package/esm/layouts/TsNavigation/TsNavigation.types.d.ts +0 -10
  161. package/esm/layouts/TsNavigation/TsNavigation.types.js +0 -2
  162. package/esm/layouts/TsNavigation/TsNavigation.types.js.map +0 -1
  163. package/esm/layouts/TsNavigation/__stories__/TsNavigation.stories.mdx +0 -51
  164. package/esm/utils/string.utils.d.ts +0 -1
  165. package/esm/utils/string.utils.js +0 -2
  166. package/esm/utils/string.utils.js.map +0 -1
  167. package/lib/assets/fonts/Montserrat-Medium.ttf +0 -0
  168. package/lib/assets/fonts/Roboto-Light.ttf +0 -0
  169. package/lib/components/TsButton/TsButton.css +0 -121
  170. package/lib/components/TsButton/TsButton.d.ts +0 -5
  171. package/lib/components/TsButton/TsButton.js +0 -21
  172. package/lib/components/TsButton/TsButton.js.map +0 -1
  173. package/lib/components/TsButton/TsButton.types.d.ts +0 -9
  174. package/lib/components/TsButton/TsButton.types.js +0 -3
  175. package/lib/components/TsButton/TsButton.types.js.map +0 -1
  176. package/lib/components/TsButton/__stories__/TsButton.stories.mdx +0 -84
  177. package/lib/components/TsCheckbox/TsCheckbox.css +0 -64
  178. package/lib/components/TsCheckbox/TsCheckbox.d.ts +0 -4
  179. package/lib/components/TsCheckbox/TsCheckbox.js +0 -21
  180. package/lib/components/TsCheckbox/TsCheckbox.js.map +0 -1
  181. package/lib/components/TsCheckbox/TsCheckbox.types.d.ts +0 -7
  182. package/lib/components/TsCheckbox/TsCheckbox.types.js +0 -3
  183. package/lib/components/TsCheckbox/TsCheckbox.types.js.map +0 -1
  184. package/lib/components/TsCheckbox/__stories__/TsCheckbox.stories.mdx +0 -56
  185. package/lib/components/TsDropdown/TsDropdown.css +0 -114
  186. package/lib/components/TsDropdown/TsDropdown.d.ts +0 -4
  187. package/lib/components/TsDropdown/TsDropdown.js +0 -104
  188. package/lib/components/TsDropdown/TsDropdown.js.map +0 -1
  189. package/lib/components/TsDropdown/TsDropdown.types.d.ts +0 -17
  190. package/lib/components/TsDropdown/TsDropdown.types.js +0 -3
  191. package/lib/components/TsDropdown/TsDropdown.types.js.map +0 -1
  192. package/lib/components/TsDropdown/__stories__/fruits.d.ts +0 -4
  193. package/lib/components/TsDropdown/__stories__/fruits.js +0 -51
  194. package/lib/components/TsDropdown/__stories__/fruits.js.map +0 -1
  195. package/lib/components/TsIcon/TsIcon.css +0 -26
  196. package/lib/components/TsIcon/TsIcon.d.ts +0 -4
  197. package/lib/components/TsIcon/TsIcon.js +0 -16
  198. package/lib/components/TsIcon/TsIcon.js.map +0 -1
  199. package/lib/components/TsIcon/TsIcon.types.d.ts +0 -4
  200. package/lib/components/TsIcon/TsIcon.types.js +0 -3
  201. package/lib/components/TsIcon/TsIcon.types.js.map +0 -1
  202. package/lib/components/TsIcon/__stories__/TsIcon.stories.mdx +0 -89
  203. package/lib/components/TsIcon/icons/add-circle.svg +0 -1
  204. package/lib/components/TsIcon/icons/add.svg +0 -1
  205. package/lib/components/TsIcon/icons/alert-circle-filled.svg +0 -1
  206. package/lib/components/TsIcon/icons/alert-circle.svg +0 -1
  207. package/lib/components/TsIcon/icons/alert-triangle-filled.svg +0 -1
  208. package/lib/components/TsIcon/icons/alert-triangle.svg +0 -1
  209. package/lib/components/TsIcon/icons/arrow-diagonal-collapse.svg +0 -1
  210. package/lib/components/TsIcon/icons/arrow-diagonal-expand.svg +0 -1
  211. package/lib/components/TsIcon/icons/arrow-down.svg +0 -1
  212. package/lib/components/TsIcon/icons/arrow-go-back.svg +0 -1
  213. package/lib/components/TsIcon/icons/arrow-left-right.svg +0 -1
  214. package/lib/components/TsIcon/icons/arrow-left.svg +0 -1
  215. package/lib/components/TsIcon/icons/arrow-right.svg +0 -1
  216. package/lib/components/TsIcon/icons/arrow-up-down.svg +0 -1
  217. package/lib/components/TsIcon/icons/arrow-up.svg +0 -1
  218. package/lib/components/TsIcon/icons/award.svg +0 -1
  219. package/lib/components/TsIcon/icons/check-circle-filled.svg +0 -1
  220. package/lib/components/TsIcon/icons/check-circle-timer.svg +0 -7
  221. package/lib/components/TsIcon/icons/check-circle.svg +0 -1
  222. package/lib/components/TsIcon/icons/check-square-filled.svg +0 -1
  223. package/lib/components/TsIcon/icons/check-square.svg +0 -1
  224. package/lib/components/TsIcon/icons/check.svg +0 -1
  225. package/lib/components/TsIcon/icons/chevron-down.svg +0 -1
  226. package/lib/components/TsIcon/icons/chevron-left.svg +0 -1
  227. package/lib/components/TsIcon/icons/chevron-right.svg +0 -1
  228. package/lib/components/TsIcon/icons/chevron-up.svg +0 -1
  229. package/lib/components/TsIcon/icons/circle.svg +0 -1
  230. package/lib/components/TsIcon/icons/close-circle.svg +0 -1
  231. package/lib/components/TsIcon/icons/close.svg +0 -1
  232. package/lib/components/TsIcon/icons/currency-euro.svg +0 -1
  233. package/lib/components/TsIcon/icons/download.svg +0 -1
  234. package/lib/components/TsIcon/icons/edit.svg +0 -1
  235. package/lib/components/TsIcon/icons/external-link.svg +0 -1
  236. package/lib/components/TsIcon/icons/filter-off.svg +0 -1
  237. package/lib/components/TsIcon/icons/filter.svg +0 -1
  238. package/lib/components/TsIcon/icons/flashlight-off.svg +0 -1
  239. package/lib/components/TsIcon/icons/flashlight.svg +0 -1
  240. package/lib/components/TsIcon/icons/header-bikestudio.svg +0 -32
  241. package/lib/components/TsIcon/icons/header-nsc-helmet.svg +0 -32
  242. package/lib/components/TsIcon/icons/header-opticost.svg +0 -32
  243. package/lib/components/TsIcon/icons/header-repairability.svg +0 -32
  244. package/lib/components/TsIcon/icons/heart-filled.svg +0 -1
  245. package/lib/components/TsIcon/icons/heart.svg +0 -1
  246. package/lib/components/TsIcon/icons/history.svg +0 -1
  247. package/lib/components/TsIcon/icons/home.svg +0 -1
  248. package/lib/components/TsIcon/icons/index.d.ts +0 -3
  249. package/lib/components/TsIcon/icons/index.js +0 -64
  250. package/lib/components/TsIcon/icons/index.js.map +0 -1
  251. package/lib/components/TsIcon/icons/index.ts +0 -60
  252. package/lib/components/TsIcon/icons/link.svg +0 -1
  253. package/lib/components/TsIcon/icons/list-settings.svg +0 -1
  254. package/lib/components/TsIcon/icons/lock.svg +0 -1
  255. package/lib/components/TsIcon/icons/loop-right.svg +0 -1
  256. package/lib/components/TsIcon/icons/percent.svg +0 -1
  257. package/lib/components/TsIcon/icons/question-circle.svg +0 -1
  258. package/lib/components/TsIcon/icons/save.svg +0 -1
  259. package/lib/components/TsIcon/icons/search.svg +0 -1
  260. package/lib/components/TsIcon/icons/seedling-circle.svg +0 -12
  261. package/lib/components/TsIcon/icons/square.svg +0 -1
  262. package/lib/components/TsIcon/icons/timer.svg +0 -1
  263. package/lib/components/TsIcon/icons/tools.svg +0 -1
  264. package/lib/components/TsIcon/icons/user.svg +0 -1
  265. package/lib/components/TsInput/TsInput/TsInput.css +0 -92
  266. package/lib/components/TsInput/TsInput/TsInput.d.ts +0 -4
  267. package/lib/components/TsInput/TsInput/TsInput.js +0 -25
  268. package/lib/components/TsInput/TsInput/TsInput.js.map +0 -1
  269. package/lib/components/TsInput/TsInput/TsInput.tsx +0 -34
  270. package/lib/components/TsInput/TsInput/TsInput.types.d.ts +0 -8
  271. package/lib/components/TsInput/TsInput/TsInput.types.js +0 -3
  272. package/lib/components/TsInput/TsInput/TsInput.types.js.map +0 -1
  273. package/lib/components/TsInput/TsInput/TsInput.types.tsx +0 -9
  274. package/lib/components/TsInput/TsInput/__stories__/TsInput.stories.mdx +0 -77
  275. package/lib/components/TsLoader/TsLoader.css +0 -42
  276. package/lib/components/TsLoader/TsLoader.d.ts +0 -4
  277. package/lib/components/TsLoader/TsLoader.js +0 -10
  278. package/lib/components/TsLoader/TsLoader.js.map +0 -1
  279. package/lib/components/TsLoader/TsLoader.types.d.ts +0 -3
  280. package/lib/components/TsLoader/TsLoader.types.js +0 -3
  281. package/lib/components/TsLoader/TsLoader.types.js.map +0 -1
  282. package/lib/components/TsLoader/__stories__/TsLoader.stories.mdx +0 -30
  283. package/lib/components/TsTabs/TsTabs.css +0 -69
  284. package/lib/components/TsTabs/TsTabs.d.ts +0 -4
  285. package/lib/components/TsTabs/TsTabs.js +0 -34
  286. package/lib/components/TsTabs/TsTabs.js.map +0 -1
  287. package/lib/components/TsTabs/TsTabs.types.d.ts +0 -14
  288. package/lib/components/TsTabs/TsTabs.types.js +0 -3
  289. package/lib/components/TsTabs/TsTabs.types.js.map +0 -1
  290. package/lib/components/TsTabs/__stories__/TsTabs.stories.mdx +0 -50
  291. package/lib/hooks/use-click-outside.d.ts +0 -2
  292. package/lib/hooks/use-click-outside.js +0 -18
  293. package/lib/hooks/use-click-outside.js.map +0 -1
  294. package/lib/index.d.ts +0 -10
  295. package/lib/index.js +0 -27
  296. package/lib/index.js.map +0 -1
  297. package/lib/layouts/TsHeader/TsHeader.css +0 -186
  298. package/lib/layouts/TsHeader/TsHeader.d.ts +0 -4
  299. package/lib/layouts/TsHeader/TsHeader.js +0 -17
  300. package/lib/layouts/TsHeader/TsHeader.js.map +0 -1
  301. package/lib/layouts/TsHeader/TsHeader.types.d.ts +0 -23
  302. package/lib/layouts/TsHeader/TsHeader.types.js +0 -3
  303. package/lib/layouts/TsHeader/TsHeader.types.js.map +0 -1
  304. package/lib/layouts/TsHeader/TsHeaderProfile.d.ts +0 -5
  305. package/lib/layouts/TsHeader/TsHeaderProfile.js +0 -43
  306. package/lib/layouts/TsHeader/TsHeaderProfile.js.map +0 -1
  307. package/lib/layouts/TsHeader/TsHeaderSearch.d.ts +0 -3
  308. package/lib/layouts/TsHeader/TsHeaderSearch.js +0 -62
  309. package/lib/layouts/TsHeader/TsHeaderSearch.js.map +0 -1
  310. package/lib/layouts/TsHeader/__stories__/TsHeader.stories.mdx +0 -71
  311. package/lib/layouts/TsNavigation/TsNavigation.css +0 -72
  312. package/lib/layouts/TsNavigation/TsNavigation.d.ts +0 -7
  313. package/lib/layouts/TsNavigation/TsNavigation.js +0 -35
  314. package/lib/layouts/TsNavigation/TsNavigation.js.map +0 -1
  315. package/lib/layouts/TsNavigation/TsNavigation.types.d.ts +0 -10
  316. package/lib/layouts/TsNavigation/TsNavigation.types.js +0 -3
  317. package/lib/layouts/TsNavigation/TsNavigation.types.js.map +0 -1
  318. package/lib/layouts/TsNavigation/__stories__/TsNavigation.stories.mdx +0 -51
  319. package/lib/utils/string.utils.d.ts +0 -1
  320. package/lib/utils/string.utils.js +0 -6
  321. package/lib/utils/string.utils.js.map +0 -1
  322. package/src/components/TsDropdown/__stories__/TsDropdown.stories.mdx +0 -85
  323. package/src/components/TsDropdown/__stories__/fruits.ts +0 -47
  324. /package/{esm/components → src/components/TsDropdowns}/TsDropdown/TsDropdown.css +0 -0
  325. /package/src/components/{TsDropdown → TsDropdowns/TsDropdown}/TsDropdown.types.ts +0 -0
  326. /package/{esm/components → src/components/TsDropdowns}/TsDropdown/__stories__/fruits.ts +0 -0
  327. /package/{lib/components/TsDropdown → src/components/TsDropdowns/TsDropdownFilter}/__stories__/fruits.ts +0 -0
@@ -1,121 +0,0 @@
1
- .ts-button {
2
- display: flex;
3
- align-items: center;
4
- justify-content: center;
5
- border: none;
6
- font-size: 14px;
7
- font-weight: 600;
8
- line-height: 16px;
9
- cursor: pointer;
10
- transition: all ease 0.3s;
11
- }
12
- .ts-button > div {
13
- margin-right: 8px;
14
- }
15
- .ts-button > div:last-child {
16
- margin-right: 0px;
17
- }
18
- button:disabled {
19
- cursor: not-allowed;
20
- }
21
- /* ####### */
22
- /* BLOCK */
23
- .ts-button--block {
24
- width: 100%;
25
- }
26
- /* ####### */
27
- /* SIZES */
28
- .ts-button--md {
29
- height: 32px;
30
- padding: 0 14px;
31
- }
32
- .ts-button--md.ts-button--icon-only {
33
- width: 32px;
34
- padding: 0;
35
- }
36
- .ts-button--lg {
37
- height: 40px;
38
- padding: 0 16px;
39
- }
40
- .ts-button--lg.ts-button--icon-only {
41
- width: 40px;
42
- padding: 0;
43
- }
44
- /* ########## */
45
- /* VARIANTS */
46
- .ts-button--primary:not(:disabled) {
47
- background: #3643ba;
48
- color: #ffffff;
49
- }
50
- .ts-button--primary:not(:disabled):hover {
51
- background: #2e3998;
52
- }
53
- .ts-button--primary:not(:disabled):active {
54
- background: #272f76;
55
- }
56
- .ts-button--primary:disabled {
57
- background: #3643ba61;
58
- color: #ffffff;
59
- }
60
- .ts-button--secondary:not(:disabled) {
61
- background: #ebecf7;
62
- color: #3643ba;
63
- }
64
- .ts-button--secondary:not(:disabled):hover {
65
- background: #e3e3f4;
66
- }
67
- .ts-button--secondary:not(:disabled):active {
68
- background: #d7daf1;
69
- }
70
- .ts-button--secondary:disabled {
71
- background: #3643ba0d;
72
- color: #3643ba80;
73
- }
74
- .ts-button--success:not(:disabled) {
75
- background: #02be8a;
76
- color: #ffffff;
77
- }
78
- .ts-button--success:not(:disabled):hover {
79
- background: #029e73;
80
- }
81
- .ts-button--success:not(:disabled):active {
82
- background: #017f5c;
83
- }
84
- .ts-button--success:disabled {
85
- background: #02be8a61;
86
- color: #ffffff;
87
- }
88
- .ts-button--ghost:not(:disabled) {
89
- background: #ffffff;
90
- color: #3643ba;
91
- }
92
- .ts-button--ghost:not(:disabled):hover {
93
- background: #ebecf7;
94
- }
95
- .ts-button--ghost:not(:disabled):active {
96
- background: #e3e3f4;
97
- }
98
- .ts-button--ghost:disabled {
99
- background: #ffffff61;
100
- color: #1d1d1b61;
101
- }
102
- .ts-button--shadow {
103
- box-shadow: 0px 12px 12px 0px #00537d1a;
104
- background: #ffffff;
105
- color: #4e5d6b;
106
- }
107
- /* ######### */
108
- /* ROUNDED */
109
- .ts-button--rounded {
110
- border-radius: 9999px;
111
- }
112
-
113
- /* ######### */
114
- /* GLOBALS */
115
- * {
116
- font-size: 14px;
117
- outline: none;
118
- box-sizing: border-box;
119
- font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans',
120
- 'Helvetica Neue', sans-serif;
121
- }
@@ -1,5 +0,0 @@
1
- import * as React from 'react';
2
- import { PropsWithChildren } from 'react';
3
- import { TsButtonProps } from './TsButton.types';
4
- import './TsButton.css';
5
- export declare const TsButton: ({ children, icon, iconDirection, size, variant, block, rounded, ...props }: PropsWithChildren<TsButtonProps>) => React.JSX.Element;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TsButton = void 0;
4
- const React = require("react");
5
- const TsIcon_1 = require("../TsIcon/TsIcon");
6
- require("./TsButton.css");
7
- const TsButton = ({ children, icon, iconDirection = 'left', size = 'md', variant = 'primary', block, rounded, ...props }) => {
8
- // #########
9
- // Rendering
10
- return (React.createElement("button", { className: `
11
- ts-button ts-button--${size} ts-button--${variant}
12
- ${block ? 'ts-button--block' : ''}
13
- ${rounded ? 'ts-button--rounded' : ''}
14
- ${icon && !children ? 'ts-button--icon-only' : ''}
15
- `, ...props },
16
- icon && iconDirection === 'left' && React.createElement(TsIcon_1.TsIcon, { name: icon, size: "16" }),
17
- children && React.createElement("div", null, children),
18
- icon && iconDirection === 'right' && React.createElement(TsIcon_1.TsIcon, { name: icon, size: "16" })));
19
- };
20
- exports.TsButton = TsButton;
21
- //# sourceMappingURL=TsButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TsButton.js","sourceRoot":"","sources":["../../../src/components/TsButton/TsButton.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAE/B,6CAA0C;AAE1C,0BAAwB;AAEjB,MAAM,QAAQ,GAAG,CAAC,EACvB,QAAQ,EACR,IAAI,EACJ,aAAa,GAAG,MAAM,EACtB,IAAI,GAAG,IAAI,EACX,OAAO,GAAG,SAAS,EACnB,KAAK,EACL,OAAO,EACP,GAAG,KAAK,EACyB,EAAE,EAAE;IACrC,YAAY;IACZ,YAAY;IACZ,OAAO,CACL,gCACE,SAAS,EAAE;+BACc,IAAI,eAAe,OAAO;UAC/C,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;UAC/B,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;UACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;OAClD,KACG,KAAK;QAER,IAAI,IAAI,aAAa,KAAK,MAAM,IAAI,oBAAC,eAAM,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,IAAI,GAAG;QACpE,QAAQ,IAAI,iCAAM,QAAQ,CAAO;QACjC,IAAI,IAAI,aAAa,KAAK,OAAO,IAAI,oBAAC,eAAM,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,IAAI,GAAG,CAC/D,CACV,CAAC;AACJ,CAAC,CAAC;AA3BW,QAAA,QAAQ,YA2BnB"}
@@ -1,9 +0,0 @@
1
- import { ButtonHTMLAttributes } from 'react';
2
- export type TsButtonProps = {
3
- icon?: string;
4
- iconDirection?: 'left' | 'right';
5
- size?: 'md' | 'lg';
6
- variant?: 'primary' | 'secondary' | 'success' | 'ghost' | 'shadow';
7
- block?: boolean;
8
- rounded?: boolean;
9
- } & ButtonHTMLAttributes<HTMLButtonElement>;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=TsButton.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TsButton.types.js","sourceRoot":"","sources":["../../../src/components/TsButton/TsButton.types.ts"],"names":[],"mappings":""}
@@ -1,84 +0,0 @@
1
- import React from 'react';
2
- import { ArgsTable, Canvas, Meta, Story } from '@storybook/blocks';
3
- import { TsButton } from '../TsButton';
4
- import { icons } from '../../TsIcon/icons';
5
-
6
- <Meta title="Components/Button" />
7
-
8
- export const buttonArgTypes = {
9
- children: {
10
- control: 'text',
11
- description: 'Child of the button.',
12
- },
13
- icon: {
14
- control: 'select',
15
- options: Object.keys(icons),
16
- description: 'Icon of the button.',
17
- },
18
- iconDirection: {
19
- control: 'inline-radio',
20
- options: ['left', 'right'],
21
- description: 'Define the direction of the icon.',
22
- table: { defaultValue: { summary: 'left' } },
23
- },
24
- size: {
25
- control: 'inline-radio',
26
- options: ['md', 'lg'],
27
- description: 'Define the size of the button.',
28
- table: { defaultValue: { summary: 'md' } },
29
- },
30
- variant: {
31
- control: 'inline-radio',
32
- options: ['primary', 'secondary', 'success', 'ghost', 'shadow'],
33
- description: "Variant of the button defining it's color and outline.",
34
- table: { defaultValue: { summary: 'primary' } },
35
- },
36
- block: {
37
- control: 'boolean',
38
- description: 'Define if the button is full width',
39
- table: { defaultValue: { summary: 'false' } },
40
- },
41
- disabled: {
42
- control: 'boolean',
43
- description: 'Define if the button is disabled',
44
- table: { defaultValue: { summary: 'false' } },
45
- },
46
- rounded: {
47
- control: 'boolean',
48
- description: 'Define if the button has its corner full rounded',
49
- table: { defaultValue: { summary: 'false' } },
50
- },
51
- onClick: {
52
- control: 'function',
53
- description: 'The handler called when clicking on the button (not available on playground).',
54
- },
55
- };
56
-
57
- # Button
58
-
59
- Buttons express what action will occur when the users clicks. Buttons are used to initialize an action, either in the background or foreground of an experience.
60
-
61
- ## Overview
62
-
63
- <Canvas>
64
- <Story
65
- name="Overview"
66
- args={{
67
- children: 'Button',
68
- iconDirection: 'left',
69
- size: 'md',
70
- variant: 'primary',
71
- block: false,
72
- disabled: false,
73
- rounded: false,
74
- onClick: () => {},
75
- }}
76
- argTypes={buttonArgTypes}
77
- >
78
- {args => <TsButton {...args}>{args.children}</TsButton>}
79
- </Story>
80
- </Canvas>
81
-
82
- ## Props
83
-
84
- <ArgsTable story="Overview" of={TsButton} />
@@ -1,64 +0,0 @@
1
- .ts-checkbox {
2
- display: flex;
3
- align-items: center;
4
- cursor: pointer;
5
- margin-left: -3px;
6
- }
7
- /* ########## */
8
- /* DISABLED */
9
- .ts-checkbox--disabled {
10
- cursor: not-allowed;
11
- }
12
- .ts-checkbox--disabled .ts-checkbox-box {
13
- color: #d7daf1;
14
- }
15
- .ts-checkbox--disabled:hover .ts-checkbox-box {
16
- background: transparent;
17
- }
18
- /* ##### */
19
- /* BOX */
20
- .ts-checkbox-box {
21
- display: flex;
22
- align-items: center;
23
- justify-content: center;
24
- width: 24px;
25
- min-width: 24px;
26
- height: 24px;
27
- min-height: 24px;
28
- border-radius: 6px;
29
- color: #949494;
30
- }
31
- .ts-checkbox-box--checked,
32
- .ts-checkbox:hover .ts-checkbox-box:not(.ts-checkbox-box--checked) {
33
- color: #3643ba;
34
- }
35
-
36
- /* ################# */
37
- /* LABEL / CAPTION */
38
- .ts-checkbox-container {
39
- width: 100%;
40
- padding: 4px 0 4px 8px;
41
- border-radius: 6px;
42
- }
43
- .ts-checkbox-label {
44
- white-space: nowrap;
45
- }
46
- .ts-checkbox-container--with-caption .ts-checkbox-label {
47
- color: #3643ba;
48
- font-weight: 700;
49
- }
50
- .ts-checkbox-caption {
51
- color: #404040;
52
- font-size: 12px;
53
- font-style: italic;
54
- }
55
-
56
- /* ######### */
57
- /* GLOBALS */
58
- * {
59
- font-size: 14px;
60
- outline: none;
61
- box-sizing: border-box;
62
- font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans',
63
- 'Helvetica Neue', sans-serif;
64
- }
@@ -1,4 +0,0 @@
1
- import * as React from 'react';
2
- import { TsCheckboxProps } from './TsCheckbox.types';
3
- import './TsCheckbox.css';
4
- export declare const TsCheckbox: ({ caption, label, checked, disabled, onChange }: TsCheckboxProps) => React.JSX.Element;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TsCheckbox = void 0;
4
- const React = require("react");
5
- const TsIcon_1 = require("../TsIcon/TsIcon");
6
- require("./TsCheckbox.css");
7
- const TsCheckbox = ({ caption, label, checked, disabled, onChange }) => {
8
- // ########
9
- // Handlers
10
- const handleChange = () => !disabled && onChange(!checked);
11
- // #########
12
- // Rendering
13
- return (React.createElement("div", { className: `ts-checkbox ${disabled ? 'ts-checkbox--disabled' : ''}`, onClick: handleChange },
14
- React.createElement("div", { className: `ts-checkbox-box ${checked ? 'ts-checkbox-box--checked' : ''}` },
15
- React.createElement(TsIcon_1.TsIcon, { name: checked ? 'check-square-filled' : 'square', size: "24" })),
16
- React.createElement("div", { className: `ts-checkbox-container ${caption ? 'ts-checkbox-container--with-caption' : ''}` },
17
- React.createElement("div", { className: "ts-checkbox-label" }, label),
18
- caption && React.createElement("div", { className: "ts-checkbox-caption" }, caption))));
19
- };
20
- exports.TsCheckbox = TsCheckbox;
21
- //# sourceMappingURL=TsCheckbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TsCheckbox.js","sourceRoot":"","sources":["../../../src/components/TsCheckbox/TsCheckbox.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,6CAA0C;AAE1C,4BAA0B;AAEnB,MAAM,UAAU,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAmB,EAAE,EAAE;IAC7F,WAAW;IACX,WAAW;IACX,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;IAE3D,YAAY;IACZ,YAAY;IACZ,OAAO,CACL,6BAAK,SAAS,EAAE,eAAe,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY;QAC7F,6BAAK,SAAS,EAAE,mBAAmB,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5E,oBAAC,eAAM,IAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAC,IAAI,GAAG,CAClE;QAEN,6BAAK,SAAS,EAAE,yBAAyB,OAAO,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7F,6BAAK,SAAS,EAAC,mBAAmB,IAAE,KAAK,CAAO;YAC/C,OAAO,IAAI,6BAAK,SAAS,EAAC,qBAAqB,IAAE,OAAO,CAAO,CAC5D,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,UAAU,cAmBrB"}
@@ -1,7 +0,0 @@
1
- export type TsCheckboxProps = {
2
- caption?: string;
3
- label: string;
4
- checked?: boolean;
5
- disabled?: boolean;
6
- onChange: (value: boolean) => void;
7
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=TsCheckbox.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TsCheckbox.types.js","sourceRoot":"","sources":["../../../src/components/TsCheckbox/TsCheckbox.types.ts"],"names":[],"mappings":""}
@@ -1,56 +0,0 @@
1
- import React from 'react';
2
- import { ArgsTable, Canvas, Meta, Story } from '@storybook/blocks';
3
- import { TsCheckbox } from '../TsCheckbox';
4
-
5
- <Meta title="Components/Checkbox" />
6
-
7
- export const checkboxArgTypes = {
8
- caption: {
9
- control: 'text',
10
- description: 'Caption of the checkbox.',
11
- },
12
- label: {
13
- control: 'text',
14
- description: 'Label of the checkbox.',
15
- },
16
- checked: {
17
- control: 'boolean',
18
- description: 'State of the checkbox.',
19
- table: { defaultValue: { summary: 'false' } },
20
- },
21
- disabled: {
22
- control: 'boolean',
23
- description: 'Enable state of the checkbox.',
24
- table: { defaultValue: { summary: 'false' } },
25
- },
26
- onChange: {
27
- control: 'function',
28
- description: 'The handler called when clicking on the checkbox.',
29
- },
30
- };
31
-
32
- # Checkbox
33
-
34
- Checkboxes are applied when users can select all, several, or none of the options from a given list.
35
-
36
- ## Overview
37
-
38
- <Canvas>
39
- <Story
40
- name="Overview"
41
- args={{
42
- label: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit',
43
- caption:
44
- 'Auctor nisl justo, sed posuere est dignissim nec. Integer ultricies, metus ac imperdiet ullamcorper, est justo viverra nisl, in posuere dui urna eget quam.',
45
- checked: false,
46
- disabled: false,
47
- }}
48
- argTypes={checkboxArgTypes}
49
- >
50
- {args => <TsCheckbox {...args}>{args.children}</TsCheckbox>}
51
- </Story>
52
- </Canvas>
53
-
54
- ## Props
55
-
56
- <ArgsTable story="Overview" of={TsCheckbox} />
@@ -1,114 +0,0 @@
1
- .ts-dropdown-container {
2
- position: relative;
3
- width: 100%;
4
- }
5
- .ts-dropdown-input {
6
- display: flex;
7
- align-items: center;
8
- width: 100%;
9
- height: 32px;
10
- padding-left: 10px;
11
- border: 1px solid #949494;
12
- cursor: pointer;
13
- }
14
- .ts-dropdown-input--disabled {
15
- background: #fafafa;
16
- cursor: not-allowed;
17
- }
18
- .ts-dropdown-input--placeholder {
19
- flex: 1;
20
- color: #7a7a7a;
21
- font-weight: 400;
22
- overflow: hidden;
23
- text-overflow: ellipsis;
24
- white-space: nowrap;
25
- }
26
- .ts-dropdown-input--value {
27
- flex: 1;
28
- font-weight: 600;
29
- overflow: hidden;
30
- text-overflow: ellipsis;
31
- white-space: nowrap;
32
- }
33
- .ts-dropdown-input--chevron {
34
- display: flex;
35
- align-items: center;
36
- justify-content: center;
37
- width: 32px;
38
- height: 32px;
39
- }
40
- .ts-dropdown-input.ts-dropdown-container--error {
41
- border: 1px solid #e3262f;
42
- }
43
- .ts-dropdown-error {
44
- display: flex;
45
- margin-top: 4px;
46
- color: #e3262f;
47
- }
48
- .ts-dropdown-error--icon {
49
- margin-right: 4px;
50
- }
51
- .ts-dropdown-error--label {
52
- font-size: 12px;
53
- font-weight: 500;
54
- }
55
- /* ####### */
56
- /* LABEL */
57
- .ts-dropdown-label {
58
- padding-bottom: 6px;
59
- }
60
- /* ###### */
61
- /* MENU */
62
- .ts-dropdown-menu-container {
63
- position: absolute;
64
- top: 60px;
65
- display: flex;
66
- flex-direction: column;
67
- width: 100%;
68
- min-width: 220px;
69
- max-height: 250px;
70
- padding: 12px;
71
- box-shadow: 0px 8px 9px 0px #1010101a;
72
- background: #ffffff;
73
- overflow: hidden;
74
- z-index: 10;
75
- }
76
- .ts-dropdown-search {
77
- padding-bottom: 12px;
78
- margin-bottom: 12px;
79
- border-bottom: 1px solid #d9dde1;
80
- }
81
- .ts-dropdown-menu {
82
- overflow: auto;
83
- }
84
- .ts-dropdown-menu-loader {
85
- display: flex;
86
- justify-content: center;
87
- }
88
- .ts-dropdown-menu-error-text {
89
- display: flex;
90
- justify-content: center;
91
- color: #7a7a7a;
92
- font-style: italic;
93
- }
94
- .ts-dropdown-menu-item {
95
- display: flex;
96
- align-items: center;
97
- height: 36px;
98
- padding: 0 12px;
99
- cursor: pointer;
100
- }
101
- .ts-dropdown-menu-item:hover {
102
- background: #e1e3f5;
103
- color: #3643ba;
104
- }
105
-
106
- /* ######### */
107
- /* GLOBALS */
108
- * {
109
- font-size: 14px;
110
- outline: none;
111
- box-sizing: border-box;
112
- font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans',
113
- 'Helvetica Neue', sans-serif;
114
- }
@@ -1,4 +0,0 @@
1
- import * as React from 'react';
2
- import { TsDropdownProps } from './TsDropdown.types';
3
- import './TsDropdown.css';
4
- export declare const TsDropdown: <T extends unknown>({ containerRef, error, label, options, placeholder, reloadOptionsOn, searchPlaceholder, value, disabled, searchable, getOptionLabel, getOptionValue, loadOptions, onChange, }: TsDropdownProps<T>) => React.JSX.Element;
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TsDropdown = void 0;
4
- const React = require("react");
5
- const react_1 = require("react");
6
- const TsIcon_1 = require("../TsIcon/TsIcon");
7
- const TsInput_1 = require("../TsInput/TsInput/TsInput");
8
- const use_click_outside_1 = require("../../hooks/use-click-outside");
9
- const TsLoader_1 = require("../TsLoader/TsLoader");
10
- require("./TsDropdown.css");
11
- const TsDropdown = ({ containerRef, error, label, options, placeholder, reloadOptionsOn = [], searchPlaceholder, value, disabled, searchable, getOptionLabel, getOptionValue, loadOptions, onChange, }) => {
12
- const [showDropdownMenu, setShowDropdownMenu] = (0, react_1.useState)(false);
13
- const [searchValue, setSearchValue] = (0, react_1.useState)('');
14
- const [items, setItems] = (0, react_1.useState)(options ?? []);
15
- const [loading, setLoading] = (0, react_1.useState)(false);
16
- const [isFetchError, setIsFetchError] = (0, react_1.useState)(false);
17
- const dropdownRef = (0, use_click_outside_1.useClickOutside)(() => setShowDropdownMenu(false));
18
- const dropdownMenuRef = (0, react_1.useRef)(null);
19
- // ########
20
- // Fetchers
21
- const fetchOptions = () => {
22
- if (!options && loadOptions) {
23
- setLoading(true);
24
- setIsFetchError(false);
25
- loadOptions(searchValue)
26
- .then(setItems)
27
- .catch(() => setIsFetchError(true))
28
- .finally(() => setLoading(false));
29
- }
30
- };
31
- // ########
32
- // Handlers
33
- const handleSelectItem = (item) => {
34
- setShowDropdownMenu(false);
35
- onChange(item);
36
- };
37
- const handleShowDropdownMenu = () => !disabled && setShowDropdownMenu(true);
38
- // ########
39
- // Watchers
40
- (0, react_1.useEffect)(() => {
41
- if (!disabled)
42
- fetchOptions();
43
- }, [...reloadOptionsOn, disabled]);
44
- (0, react_1.useEffect)(() => {
45
- if (searchable && options) {
46
- setItems(options.filter(option => getOptionLabel(option).toLowerCase().includes(searchValue.toLowerCase())));
47
- }
48
- if (searchable && !options && loadOptions) {
49
- setLoading(true);
50
- setIsFetchError(false);
51
- const timeOutId = setTimeout(fetchOptions, 500);
52
- return () => clearTimeout(timeOutId);
53
- }
54
- return () => { };
55
- }, [searchValue]);
56
- (0, react_1.useEffect)(() => {
57
- if (searchable && !showDropdownMenu)
58
- setSearchValue('');
59
- if (showDropdownMenu && containerRef?.current && dropdownMenuRef.current) {
60
- const dropdownMenuRect = dropdownMenuRef.current.getBoundingClientRect();
61
- const containerRect = containerRef.current.getBoundingClientRect();
62
- if (dropdownMenuRect.bottom > containerRect.bottom) {
63
- dropdownMenuRef.current.style.bottom = '40px';
64
- dropdownMenuRef.current.style.top = 'auto';
65
- }
66
- else {
67
- dropdownMenuRef.current.style.top = '60px';
68
- dropdownMenuRef.current.style.bottom = 'auto';
69
- }
70
- }
71
- }, [showDropdownMenu]);
72
- // #########
73
- // Rendering
74
- return (React.createElement("div", { className: "ts-dropdown-container", ref: dropdownRef },
75
- React.createElement("div", { className: "ts-dropdown-input-container" },
76
- label && React.createElement("div", { className: "ts-dropdown-label" }, label),
77
- React.createElement("div", { className: `
78
- ts-dropdown-input
79
- ${disabled ? 'ts-dropdown-input--disabled' : ''}
80
- ${error && error !== '' ? 'ts-dropdown-container--error' : ''}
81
- `, onClick: handleShowDropdownMenu },
82
- !value && placeholder && React.createElement("div", { className: "ts-dropdown-input--placeholder" }, placeholder),
83
- value && React.createElement("div", { className: "ts-dropdown-input--value" }, getOptionLabel(value)),
84
- React.createElement("div", { className: "ts-dropdown-input--chevron" },
85
- React.createElement(TsIcon_1.TsIcon, { name: showDropdownMenu ? 'chevron-up' : 'chevron-down' })))),
86
- error && error !== '' && (React.createElement("div", { className: "ts-dropdown-error" },
87
- React.createElement("div", { className: "ts-dropdown-error--icon" },
88
- React.createElement(TsIcon_1.TsIcon, { name: "alert-circle", size: "16" })),
89
- React.createElement("div", { className: "ts-dropdown-error--label" }, error))),
90
- !disabled && showDropdownMenu && (React.createElement("div", { className: "ts-dropdown-menu-container", ref: dropdownMenuRef },
91
- searchable && (React.createElement("div", { className: "ts-dropdown-search" },
92
- React.createElement(TsInput_1.TsInput, { icon: "search", placeholder: searchPlaceholder, value: searchValue, autoFocus: true, onChange: setSearchValue }))),
93
- React.createElement("div", { className: "ts-dropdown-menu" },
94
- loading && (React.createElement("div", { className: "ts-dropdown-menu-loader" },
95
- React.createElement(TsLoader_1.TsLoader, { size: "sm" }))),
96
- !loading && isFetchError && (React.createElement("div", { className: "ts-dropdown-menu-error-text" }, "An error occured, try again later.")),
97
- !loading && !isFetchError && items.length === 0 && (React.createElement("div", { className: "ts-dropdown-menu-error-text" }, "No options found.")),
98
- !loading &&
99
- !isFetchError &&
100
- items.length > 0 &&
101
- items.map(item => (React.createElement("div", { key: getOptionValue(item), className: "ts-dropdown-menu-item", onClick: () => handleSelectItem(item) }, getOptionLabel(item)))))))));
102
- };
103
- exports.TsDropdown = TsDropdown;
104
- //# sourceMappingURL=TsDropdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TsDropdown.js","sourceRoot":"","sources":["../../../src/components/TsDropdown/TsDropdown.tsx"],"names":[],"mappings":"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"}