@dktunited-techoff/techoff-suite-ui 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/package.json +1 -1
  2. package/src/components/Loader/Loader.css +1 -1
  3. package/src/layouts/Header/Header.tsx +1 -1
  4. package/src/layouts/Header/HeaderSearch.tsx +3 -3
  5. package/src/layouts/Navigation/Navigation.css +4 -4
  6. package/esm/assets/fonts/Montserrat-Medium.ttf +0 -0
  7. package/esm/assets/fonts/Roboto-Light.ttf +0 -0
  8. package/esm/components/Button/Button.css +0 -91
  9. package/esm/components/Button/Button.d.ts +0 -5
  10. package/esm/components/Button/Button.js +0 -17
  11. package/esm/components/Button/Button.js.map +0 -1
  12. package/esm/components/Button/Button.types.d.ts +0 -9
  13. package/esm/components/Button/Button.types.js +0 -2
  14. package/esm/components/Button/Button.types.js.map +0 -1
  15. package/esm/components/Button/__stories__/Button.stories.mdx +0 -74
  16. package/esm/components/Checkbox/Checkbox.css +0 -72
  17. package/esm/components/Checkbox/Checkbox.d.ts +0 -4
  18. package/esm/components/Checkbox/Checkbox.js +0 -18
  19. package/esm/components/Checkbox/Checkbox.js.map +0 -1
  20. package/esm/components/Checkbox/Checkbox.types.d.ts +0 -7
  21. package/esm/components/Checkbox/Checkbox.types.js +0 -2
  22. package/esm/components/Checkbox/Checkbox.types.js.map +0 -1
  23. package/esm/components/Checkbox/__stories__/Checkbox.stories.mdx +0 -56
  24. package/esm/components/Icon/Icon.css +0 -26
  25. package/esm/components/Icon/Icon.d.ts +0 -4
  26. package/esm/components/Icon/Icon.js +0 -12
  27. package/esm/components/Icon/Icon.js.map +0 -1
  28. package/esm/components/Icon/Icon.types.d.ts +0 -4
  29. package/esm/components/Icon/Icon.types.js +0 -2
  30. package/esm/components/Icon/Icon.types.js.map +0 -1
  31. package/esm/components/Icon/__stories__/Icon.stories.mdx +0 -89
  32. package/esm/components/Icon/icons/add-circle.svg +0 -1
  33. package/esm/components/Icon/icons/add.svg +0 -1
  34. package/esm/components/Icon/icons/alert-circle-filled.svg +0 -1
  35. package/esm/components/Icon/icons/alert-circle.svg +0 -1
  36. package/esm/components/Icon/icons/alert-triangle-filled.svg +0 -1
  37. package/esm/components/Icon/icons/alert-triangle.svg +0 -1
  38. package/esm/components/Icon/icons/arrow-diagonal-collapse.svg +0 -1
  39. package/esm/components/Icon/icons/arrow-diagonal-expand.svg +0 -1
  40. package/esm/components/Icon/icons/arrow-down.svg +0 -1
  41. package/esm/components/Icon/icons/arrow-go-back.svg +0 -1
  42. package/esm/components/Icon/icons/arrow-left-right.svg +0 -1
  43. package/esm/components/Icon/icons/arrow-left.svg +0 -1
  44. package/esm/components/Icon/icons/arrow-right.svg +0 -1
  45. package/esm/components/Icon/icons/arrow-up-down.svg +0 -1
  46. package/esm/components/Icon/icons/arrow-up.svg +0 -1
  47. package/esm/components/Icon/icons/award.svg +0 -1
  48. package/esm/components/Icon/icons/check-circle-filled.svg +0 -1
  49. package/esm/components/Icon/icons/check-circle-timer.svg +0 -7
  50. package/esm/components/Icon/icons/check-circle.svg +0 -1
  51. package/esm/components/Icon/icons/check-square-filled.svg +0 -1
  52. package/esm/components/Icon/icons/check-square.svg +0 -1
  53. package/esm/components/Icon/icons/check.svg +0 -1
  54. package/esm/components/Icon/icons/chevron-down.svg +0 -1
  55. package/esm/components/Icon/icons/chevron-left.svg +0 -1
  56. package/esm/components/Icon/icons/chevron-right.svg +0 -1
  57. package/esm/components/Icon/icons/chevron-up.svg +0 -1
  58. package/esm/components/Icon/icons/circle.svg +0 -1
  59. package/esm/components/Icon/icons/close-circle.svg +0 -1
  60. package/esm/components/Icon/icons/close.svg +0 -1
  61. package/esm/components/Icon/icons/currency-euro.svg +0 -1
  62. package/esm/components/Icon/icons/download.svg +0 -1
  63. package/esm/components/Icon/icons/edit.svg +0 -1
  64. package/esm/components/Icon/icons/external-link.svg +0 -1
  65. package/esm/components/Icon/icons/filter-off.svg +0 -1
  66. package/esm/components/Icon/icons/filter.svg +0 -1
  67. package/esm/components/Icon/icons/flashlight-off.svg +0 -1
  68. package/esm/components/Icon/icons/flashlight.svg +0 -1
  69. package/esm/components/Icon/icons/header-bikestudio.svg +0 -32
  70. package/esm/components/Icon/icons/header-nsc-helmet.svg +0 -32
  71. package/esm/components/Icon/icons/header-opticost.svg +0 -32
  72. package/esm/components/Icon/icons/header-repairability.svg +0 -32
  73. package/esm/components/Icon/icons/heart-filled.svg +0 -1
  74. package/esm/components/Icon/icons/heart.svg +0 -1
  75. package/esm/components/Icon/icons/history.svg +0 -1
  76. package/esm/components/Icon/icons/home.svg +0 -1
  77. package/esm/components/Icon/icons/index.d.ts +0 -3
  78. package/esm/components/Icon/icons/index.js +0 -59
  79. package/esm/components/Icon/icons/index.js.map +0 -1
  80. package/esm/components/Icon/icons/index.ts +0 -58
  81. package/esm/components/Icon/icons/link.svg +0 -1
  82. package/esm/components/Icon/icons/list-settings.svg +0 -1
  83. package/esm/components/Icon/icons/lock.svg +0 -1
  84. package/esm/components/Icon/icons/loop-right.svg +0 -1
  85. package/esm/components/Icon/icons/question-circle.svg +0 -1
  86. package/esm/components/Icon/icons/save.svg +0 -1
  87. package/esm/components/Icon/icons/search.svg +0 -1
  88. package/esm/components/Icon/icons/seedling-circle.svg +0 -12
  89. package/esm/components/Icon/icons/square.svg +0 -1
  90. package/esm/components/Icon/icons/tools.svg +0 -1
  91. package/esm/components/Icon/icons/user.svg +0 -1
  92. package/esm/components/Inputs/BooleanInput/BooleanInput.css +0 -58
  93. package/esm/components/Inputs/BooleanInput/BooleanInput.d.ts +0 -4
  94. package/esm/components/Inputs/BooleanInput/BooleanInput.js +0 -13
  95. package/esm/components/Inputs/BooleanInput/BooleanInput.js.map +0 -1
  96. package/esm/components/Inputs/BooleanInput/BooleanInput.tsx +0 -24
  97. package/esm/components/Inputs/BooleanInput/BooleanInput.types.d.ts +0 -8
  98. package/esm/components/Inputs/BooleanInput/BooleanInput.types.js +0 -2
  99. package/esm/components/Inputs/BooleanInput/BooleanInput.types.js.map +0 -1
  100. package/esm/components/Inputs/BooleanInput/BooleanInput.types.ts +0 -8
  101. package/esm/components/Inputs/BooleanInput/__stories__/BooleanInput.stories.mdx +0 -53
  102. package/esm/components/Inputs/Input/Input.css +0 -97
  103. package/esm/components/Inputs/Input/Input.d.ts +0 -4
  104. package/esm/components/Inputs/Input/Input.js +0 -26
  105. package/esm/components/Inputs/Input/Input.js.map +0 -1
  106. package/esm/components/Inputs/Input/Input.tsx +0 -67
  107. package/esm/components/Inputs/Input/Input.types.d.ts +0 -14
  108. package/esm/components/Inputs/Input/Input.types.js +0 -2
  109. package/esm/components/Inputs/Input/Input.types.js.map +0 -1
  110. package/esm/components/Inputs/Input/Input.types.ts +0 -15
  111. package/esm/components/Inputs/Input/__stories__/Input.stories.mdx +0 -95
  112. package/esm/components/Loader/Loader.css +0 -42
  113. package/esm/components/Loader/Loader.d.ts +0 -4
  114. package/esm/components/Loader/Loader.js +0 -6
  115. package/esm/components/Loader/Loader.js.map +0 -1
  116. package/esm/components/Loader/Loader.types.d.ts +0 -3
  117. package/esm/components/Loader/Loader.types.js +0 -2
  118. package/esm/components/Loader/Loader.types.js.map +0 -1
  119. package/esm/components/Loader/__stories__/Loader.stories.mdx +0 -30
  120. package/esm/components/Select/Select.css +0 -30
  121. package/esm/components/Select/Select.d.ts +0 -4
  122. package/esm/components/Select/Select.js +0 -14
  123. package/esm/components/Select/Select.js.map +0 -1
  124. package/esm/components/Select/Select.types.d.ts +0 -7
  125. package/esm/components/Select/Select.types.js +0 -2
  126. package/esm/components/Select/Select.types.js.map +0 -1
  127. package/esm/components/Select/__stories__/Select.stories.mdx +0 -44
  128. package/esm/hooks/use-click-outside.d.ts +0 -2
  129. package/esm/hooks/use-click-outside.js +0 -14
  130. package/esm/hooks/use-click-outside.js.map +0 -1
  131. package/esm/index.d.ts +0 -11
  132. package/esm/index.js +0 -12
  133. package/esm/index.js.map +0 -1
  134. package/esm/layouts/Header/Header.css +0 -186
  135. package/esm/layouts/Header/Header.d.ts +0 -4
  136. package/esm/layouts/Header/Header.js +0 -14
  137. package/esm/layouts/Header/Header.js.map +0 -1
  138. package/esm/layouts/Header/Header.types.d.ts +0 -23
  139. package/esm/layouts/Header/Header.types.js +0 -2
  140. package/esm/layouts/Header/Header.types.js.map +0 -1
  141. package/esm/layouts/Header/HeaderProfile.d.ts +0 -5
  142. package/esm/layouts/Header/HeaderProfile.js +0 -38
  143. package/esm/layouts/Header/HeaderProfile.js.map +0 -1
  144. package/esm/layouts/Header/HeaderSearch.d.ts +0 -3
  145. package/esm/layouts/Header/HeaderSearch.js +0 -60
  146. package/esm/layouts/Header/HeaderSearch.js.map +0 -1
  147. package/esm/layouts/Header/__stories__/Header.stories.mdx +0 -71
  148. package/esm/layouts/Navigation/Navigation.css +0 -74
  149. package/esm/layouts/Navigation/Navigation.d.ts +0 -7
  150. package/esm/layouts/Navigation/Navigation.js +0 -29
  151. package/esm/layouts/Navigation/Navigation.js.map +0 -1
  152. package/esm/layouts/Navigation/Navigation.types.d.ts +0 -10
  153. package/esm/layouts/Navigation/Navigation.types.js +0 -2
  154. package/esm/layouts/Navigation/Navigation.types.js.map +0 -1
  155. package/esm/layouts/Navigation/__stories__/Navigation.stories.mdx +0 -51
  156. package/esm/utils/string.utils.d.ts +0 -1
  157. package/esm/utils/string.utils.js +0 -2
  158. package/esm/utils/string.utils.js.map +0 -1
  159. package/lib/assets/fonts/Montserrat-Medium.ttf +0 -0
  160. package/lib/assets/fonts/Roboto-Light.ttf +0 -0
  161. package/lib/components/Button/Button.css +0 -91
  162. package/lib/components/Button/Button.d.ts +0 -5
  163. package/lib/components/Button/Button.js +0 -21
  164. package/lib/components/Button/Button.js.map +0 -1
  165. package/lib/components/Button/Button.types.d.ts +0 -9
  166. package/lib/components/Button/Button.types.js +0 -3
  167. package/lib/components/Button/Button.types.js.map +0 -1
  168. package/lib/components/Button/__stories__/Button.stories.mdx +0 -74
  169. package/lib/components/Checkbox/Checkbox.css +0 -72
  170. package/lib/components/Checkbox/Checkbox.d.ts +0 -4
  171. package/lib/components/Checkbox/Checkbox.js +0 -22
  172. package/lib/components/Checkbox/Checkbox.js.map +0 -1
  173. package/lib/components/Checkbox/Checkbox.types.d.ts +0 -7
  174. package/lib/components/Checkbox/Checkbox.types.js +0 -3
  175. package/lib/components/Checkbox/Checkbox.types.js.map +0 -1
  176. package/lib/components/Checkbox/__stories__/Checkbox.stories.mdx +0 -56
  177. package/lib/components/Icon/Icon.css +0 -26
  178. package/lib/components/Icon/Icon.d.ts +0 -4
  179. package/lib/components/Icon/Icon.js +0 -16
  180. package/lib/components/Icon/Icon.js.map +0 -1
  181. package/lib/components/Icon/Icon.types.d.ts +0 -4
  182. package/lib/components/Icon/Icon.types.js +0 -3
  183. package/lib/components/Icon/Icon.types.js.map +0 -1
  184. package/lib/components/Icon/__stories__/Icon.stories.mdx +0 -89
  185. package/lib/components/Icon/icons/add-circle.svg +0 -1
  186. package/lib/components/Icon/icons/add.svg +0 -1
  187. package/lib/components/Icon/icons/alert-circle-filled.svg +0 -1
  188. package/lib/components/Icon/icons/alert-circle.svg +0 -1
  189. package/lib/components/Icon/icons/alert-triangle-filled.svg +0 -1
  190. package/lib/components/Icon/icons/alert-triangle.svg +0 -1
  191. package/lib/components/Icon/icons/arrow-diagonal-collapse.svg +0 -1
  192. package/lib/components/Icon/icons/arrow-diagonal-expand.svg +0 -1
  193. package/lib/components/Icon/icons/arrow-down.svg +0 -1
  194. package/lib/components/Icon/icons/arrow-go-back.svg +0 -1
  195. package/lib/components/Icon/icons/arrow-left-right.svg +0 -1
  196. package/lib/components/Icon/icons/arrow-left.svg +0 -1
  197. package/lib/components/Icon/icons/arrow-right.svg +0 -1
  198. package/lib/components/Icon/icons/arrow-up-down.svg +0 -1
  199. package/lib/components/Icon/icons/arrow-up.svg +0 -1
  200. package/lib/components/Icon/icons/award.svg +0 -1
  201. package/lib/components/Icon/icons/check-circle-filled.svg +0 -1
  202. package/lib/components/Icon/icons/check-circle-timer.svg +0 -7
  203. package/lib/components/Icon/icons/check-circle.svg +0 -1
  204. package/lib/components/Icon/icons/check-square-filled.svg +0 -1
  205. package/lib/components/Icon/icons/check-square.svg +0 -1
  206. package/lib/components/Icon/icons/check.svg +0 -1
  207. package/lib/components/Icon/icons/chevron-down.svg +0 -1
  208. package/lib/components/Icon/icons/chevron-left.svg +0 -1
  209. package/lib/components/Icon/icons/chevron-right.svg +0 -1
  210. package/lib/components/Icon/icons/chevron-up.svg +0 -1
  211. package/lib/components/Icon/icons/circle.svg +0 -1
  212. package/lib/components/Icon/icons/close-circle.svg +0 -1
  213. package/lib/components/Icon/icons/close.svg +0 -1
  214. package/lib/components/Icon/icons/currency-euro.svg +0 -1
  215. package/lib/components/Icon/icons/download.svg +0 -1
  216. package/lib/components/Icon/icons/edit.svg +0 -1
  217. package/lib/components/Icon/icons/external-link.svg +0 -1
  218. package/lib/components/Icon/icons/filter-off.svg +0 -1
  219. package/lib/components/Icon/icons/filter.svg +0 -1
  220. package/lib/components/Icon/icons/flashlight-off.svg +0 -1
  221. package/lib/components/Icon/icons/flashlight.svg +0 -1
  222. package/lib/components/Icon/icons/header-bikestudio.svg +0 -32
  223. package/lib/components/Icon/icons/header-nsc-helmet.svg +0 -32
  224. package/lib/components/Icon/icons/header-opticost.svg +0 -32
  225. package/lib/components/Icon/icons/header-repairability.svg +0 -32
  226. package/lib/components/Icon/icons/heart-filled.svg +0 -1
  227. package/lib/components/Icon/icons/heart.svg +0 -1
  228. package/lib/components/Icon/icons/history.svg +0 -1
  229. package/lib/components/Icon/icons/home.svg +0 -1
  230. package/lib/components/Icon/icons/index.d.ts +0 -3
  231. package/lib/components/Icon/icons/index.js +0 -62
  232. package/lib/components/Icon/icons/index.js.map +0 -1
  233. package/lib/components/Icon/icons/index.ts +0 -58
  234. package/lib/components/Icon/icons/link.svg +0 -1
  235. package/lib/components/Icon/icons/list-settings.svg +0 -1
  236. package/lib/components/Icon/icons/lock.svg +0 -1
  237. package/lib/components/Icon/icons/loop-right.svg +0 -1
  238. package/lib/components/Icon/icons/question-circle.svg +0 -1
  239. package/lib/components/Icon/icons/save.svg +0 -1
  240. package/lib/components/Icon/icons/search.svg +0 -1
  241. package/lib/components/Icon/icons/seedling-circle.svg +0 -12
  242. package/lib/components/Icon/icons/square.svg +0 -1
  243. package/lib/components/Icon/icons/tools.svg +0 -1
  244. package/lib/components/Icon/icons/user.svg +0 -1
  245. package/lib/components/Inputs/BooleanInput/BooleanInput.css +0 -58
  246. package/lib/components/Inputs/BooleanInput/BooleanInput.d.ts +0 -4
  247. package/lib/components/Inputs/BooleanInput/BooleanInput.js +0 -17
  248. package/lib/components/Inputs/BooleanInput/BooleanInput.js.map +0 -1
  249. package/lib/components/Inputs/BooleanInput/BooleanInput.tsx +0 -24
  250. package/lib/components/Inputs/BooleanInput/BooleanInput.types.d.ts +0 -8
  251. package/lib/components/Inputs/BooleanInput/BooleanInput.types.js +0 -3
  252. package/lib/components/Inputs/BooleanInput/BooleanInput.types.js.map +0 -1
  253. package/lib/components/Inputs/BooleanInput/BooleanInput.types.ts +0 -8
  254. package/lib/components/Inputs/BooleanInput/__stories__/BooleanInput.stories.mdx +0 -53
  255. package/lib/components/Inputs/Input/Input.css +0 -97
  256. package/lib/components/Inputs/Input/Input.d.ts +0 -4
  257. package/lib/components/Inputs/Input/Input.js +0 -30
  258. package/lib/components/Inputs/Input/Input.js.map +0 -1
  259. package/lib/components/Inputs/Input/Input.tsx +0 -67
  260. package/lib/components/Inputs/Input/Input.types.d.ts +0 -14
  261. package/lib/components/Inputs/Input/Input.types.js +0 -3
  262. package/lib/components/Inputs/Input/Input.types.js.map +0 -1
  263. package/lib/components/Inputs/Input/Input.types.ts +0 -15
  264. package/lib/components/Inputs/Input/__stories__/Input.stories.mdx +0 -95
  265. package/lib/components/Loader/Loader.css +0 -42
  266. package/lib/components/Loader/Loader.d.ts +0 -4
  267. package/lib/components/Loader/Loader.js +0 -10
  268. package/lib/components/Loader/Loader.js.map +0 -1
  269. package/lib/components/Loader/Loader.types.d.ts +0 -3
  270. package/lib/components/Loader/Loader.types.js +0 -3
  271. package/lib/components/Loader/Loader.types.js.map +0 -1
  272. package/lib/components/Loader/__stories__/Loader.stories.mdx +0 -30
  273. package/lib/components/Select/Select.css +0 -30
  274. package/lib/components/Select/Select.d.ts +0 -4
  275. package/lib/components/Select/Select.js +0 -18
  276. package/lib/components/Select/Select.js.map +0 -1
  277. package/lib/components/Select/Select.types.d.ts +0 -7
  278. package/lib/components/Select/Select.types.js +0 -3
  279. package/lib/components/Select/Select.types.js.map +0 -1
  280. package/lib/components/Select/__stories__/Select.stories.mdx +0 -44
  281. package/lib/hooks/use-click-outside.d.ts +0 -2
  282. package/lib/hooks/use-click-outside.js +0 -18
  283. package/lib/hooks/use-click-outside.js.map +0 -1
  284. package/lib/index.d.ts +0 -11
  285. package/lib/index.js +0 -28
  286. package/lib/index.js.map +0 -1
  287. package/lib/layouts/Header/Header.css +0 -186
  288. package/lib/layouts/Header/Header.d.ts +0 -4
  289. package/lib/layouts/Header/Header.js +0 -18
  290. package/lib/layouts/Header/Header.js.map +0 -1
  291. package/lib/layouts/Header/Header.types.d.ts +0 -23
  292. package/lib/layouts/Header/Header.types.js +0 -3
  293. package/lib/layouts/Header/Header.types.js.map +0 -1
  294. package/lib/layouts/Header/HeaderProfile.d.ts +0 -5
  295. package/lib/layouts/Header/HeaderProfile.js +0 -43
  296. package/lib/layouts/Header/HeaderProfile.js.map +0 -1
  297. package/lib/layouts/Header/HeaderSearch.d.ts +0 -3
  298. package/lib/layouts/Header/HeaderSearch.js +0 -64
  299. package/lib/layouts/Header/HeaderSearch.js.map +0 -1
  300. package/lib/layouts/Header/__stories__/Header.stories.mdx +0 -71
  301. package/lib/layouts/Navigation/Navigation.css +0 -74
  302. package/lib/layouts/Navigation/Navigation.d.ts +0 -7
  303. package/lib/layouts/Navigation/Navigation.js +0 -35
  304. package/lib/layouts/Navigation/Navigation.js.map +0 -1
  305. package/lib/layouts/Navigation/Navigation.types.d.ts +0 -10
  306. package/lib/layouts/Navigation/Navigation.types.js +0 -3
  307. package/lib/layouts/Navigation/Navigation.types.js.map +0 -1
  308. package/lib/layouts/Navigation/__stories__/Navigation.stories.mdx +0 -51
  309. package/lib/utils/string.utils.d.ts +0 -1
  310. package/lib/utils/string.utils.js +0 -6
  311. package/lib/utils/string.utils.js.map +0 -1
  312. package/src/components/Checkbox/Checkbox.css +0 -72
  313. package/src/components/Checkbox/Checkbox.tsx +0 -26
  314. package/src/components/Checkbox/Checkbox.types.ts +0 -7
  315. package/src/components/Checkbox/__stories__/Checkbox.stories.mdx +0 -56
  316. package/src/components/Inputs/BooleanInput/BooleanInput.css +0 -58
  317. package/src/components/Inputs/BooleanInput/BooleanInput.tsx +0 -24
  318. package/src/components/Inputs/BooleanInput/BooleanInput.types.ts +0 -8
  319. package/src/components/Inputs/BooleanInput/__stories__/BooleanInput.stories.mdx +0 -53
  320. package/src/components/Inputs/Input/Input.css +0 -97
  321. package/src/components/Inputs/Input/Input.tsx +0 -67
  322. package/src/components/Inputs/Input/Input.types.ts +0 -15
  323. package/src/components/Inputs/Input/__stories__/Input.stories.mdx +0 -95
  324. package/src/components/Select/Select.css +0 -30
  325. package/src/components/Select/Select.tsx +0 -21
  326. package/src/components/Select/Select.types.ts +0 -3
  327. package/src/components/Select/__stories__/Select.stories.mdx +0 -44
@@ -1,30 +0,0 @@
1
- .select-container {
2
- display: flex;
3
- flex-direction: column;
4
- }
5
- .select-container > label {
6
- display: block;
7
- margin-bottom: 4px;
8
- color: #012b49;
9
- font-weight: 700;
10
- }
11
- .select-container > select {
12
- width: 100%;
13
- height: 32px;
14
- padding: 0 40px 0 12px;
15
- border: 1px solid #d4d4d4;
16
- border-radius: 6px;
17
- color: #007dbc;
18
- font-weight: 700;
19
- cursor: pointer;
20
- }
21
-
22
- /* ######### */
23
- /* GLOBALS */
24
- * {
25
- font-size: 14px;
26
- outline: none;
27
- box-sizing: border-box;
28
- font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans',
29
- 'Helvetica Neue', sans-serif;
30
- }
@@ -1,4 +0,0 @@
1
- import * as React from 'react';
2
- import { SelectProps } from './Select.types';
3
- import './Select.css';
4
- export declare const Select: ({ label, value, options, onChange }: SelectProps) => React.JSX.Element;
@@ -1,14 +0,0 @@
1
- import * as React from 'react';
2
- import { cloneElement } from 'react';
3
- import './Select.css';
4
- export const Select = ({ label, value, options, onChange }) => {
5
- // ########
6
- // Handlers
7
- const handleChange = (e) => onChange(e.target.value);
8
- // #########
9
- // Rendering
10
- return (React.createElement("div", { className: "select-container" },
11
- label && React.createElement("label", null, label),
12
- React.createElement("select", { value: value, onChange: handleChange }, options.map((option, index) => cloneElement(option, { key: index, ...option.props })))));
13
- };
14
- //# sourceMappingURL=Select.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAe,YAAY,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,cAAc,CAAC;AAEtB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAe,EAAE,EAAE;IACzE,WAAW;IACX,WAAW;IACX,MAAM,YAAY,GAAG,CAAC,CAAiC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAErF,YAAY;IACZ,YAAY;IACZ,OAAO,CACL,6BAAK,SAAS,EAAC,kBAAkB;QAC9B,KAAK,IAAI,mCAAQ,KAAK,CAAS;QAChC,gCAAQ,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,IACzC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAC/E,CACL,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { ReactElement } from 'react';
2
- export type SelectProps = {
3
- label?: string;
4
- value: string;
5
- options: ReactElement[];
6
- onChange: (val: string) => void;
7
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Select.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Select.types.js","sourceRoot":"","sources":["../../../src/components/Select/Select.types.ts"],"names":[],"mappings":""}
@@ -1,44 +0,0 @@
1
- import React from 'react';
2
- import { ArgsTable, Canvas, Meta, Story } from '@storybook/blocks';
3
- import { Select } from '../Select';
4
-
5
- <Meta title="Components/Select" />
6
-
7
- export const selectArgTypes = {
8
- label: {
9
- control: 'text',
10
- description: 'Label of the select.',
11
- },
12
- value: {
13
- control: 'text',
14
- description: 'Value of the select.',
15
- },
16
- onChange: {
17
- control: 'function',
18
- description: 'The handler called when the value of the select changes.',
19
- },
20
- };
21
-
22
- # Loader
23
-
24
- Loader express to user that an action is occuring.
25
-
26
- ## Overview
27
-
28
- <Canvas>
29
- <Story
30
- name="Overview"
31
- args={{
32
- label: 'Label',
33
- options: [<option value="orange">Orange</option>, <option value="apple">Apple</option>],
34
- onChange: () => {},
35
- }}
36
- argTypes={selectArgTypes}
37
- >
38
- {args => <Select {...args} />}
39
- </Story>
40
- </Canvas>
41
-
42
- ## Props
43
-
44
- <ArgsTable story="Overview" of={Select} />
@@ -1,2 +0,0 @@
1
- /// <reference types="react" />
2
- export declare const useClickOutside: (callback: () => void) => import("react").RefObject<HTMLDivElement>;
@@ -1,14 +0,0 @@
1
- import { useEffect, useRef } from 'react';
2
- export const useClickOutside = (callback) => {
3
- const ref = useRef(null);
4
- const handleClickOutside = (event) => {
5
- if (ref.current && !ref.current.contains(event.target))
6
- callback();
7
- };
8
- useEffect(() => {
9
- document.addEventListener('click', handleClickOutside);
10
- return () => document.removeEventListener('click', handleClickOutside);
11
- }, []);
12
- return ref;
13
- };
14
- //# sourceMappingURL=use-click-outside.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-click-outside.js","sourceRoot":"","sources":["../../src/hooks/use-click-outside.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAoB,EAAE,EAAE;IACtD,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEzC,MAAM,kBAAkB,GAAG,CAAC,KAAiB,EAAE,EAAE;QAC/C,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC;YAAE,QAAQ,EAAE,CAAC;IAC7E,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACvD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IACzE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
package/esm/index.d.ts DELETED
@@ -1,11 +0,0 @@
1
- export * from './components/Button/Button';
2
- export * from './components/Checkbox/Checkbox';
3
- export * from './components/Icon/Icon';
4
- export * from './components/Inputs/BooleanInput/BooleanInput';
5
- export * from './components/Inputs/Input/Input';
6
- export * from './components/Loader/Loader';
7
- export * from './components/Select/Select';
8
- export * from './layouts/Header/Header';
9
- export * from './layouts/Header/HeaderProfile';
10
- export * from './layouts/Header/HeaderSearch';
11
- export * from './layouts/Navigation/Navigation';
package/esm/index.js DELETED
@@ -1,12 +0,0 @@
1
- export * from './components/Button/Button';
2
- export * from './components/Checkbox/Checkbox';
3
- export * from './components/Icon/Icon';
4
- export * from './components/Inputs/BooleanInput/BooleanInput';
5
- export * from './components/Inputs/Input/Input';
6
- export * from './components/Loader/Loader';
7
- export * from './components/Select/Select';
8
- export * from './layouts/Header/Header';
9
- export * from './layouts/Header/HeaderProfile';
10
- export * from './layouts/Header/HeaderSearch';
11
- export * from './layouts/Navigation/Navigation';
12
- //# sourceMappingURL=index.js.map
package/esm/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC"}
@@ -1,186 +0,0 @@
1
- @font-face {
2
- font-family: 'Montserrat-Medium';
3
- src: url('../../assets/fonts/Montserrat-Medium.ttf');
4
- }
5
- @font-face {
6
- font-family: 'Roboto-Light';
7
- src: url('../../assets/fonts/Roboto-Light.ttf');
8
- }
9
-
10
- /* ######## */
11
- /* HEADER */
12
- header {
13
- display: flex;
14
- align-items: center;
15
- justify-content: space-between;
16
- width: 100%;
17
- height: 64px;
18
- padding: 0 24px;
19
- }
20
- .header-aside {
21
- display: flex;
22
- align-items: center;
23
- flex: 1;
24
- height: 100%;
25
- }
26
- .header-right-side {
27
- justify-content: flex-end;
28
- }
29
- .header-search-bar {
30
- display: flex;
31
- align-items: center;
32
- width: 400px;
33
- height: 100%;
34
- }
35
- .header-actions {
36
- display: flex;
37
- }
38
- .header-actions > * {
39
- margin-left: 12px;
40
- }
41
-
42
- /* ################ */
43
- /* HEADER TECHOFF */
44
- .header-techoff {
45
- display: flex;
46
- height: 18px;
47
- margin-left: 4px;
48
- }
49
-
50
- /* ################ */
51
- /* HEADER PROFILE */
52
- .header-profile-container {
53
- position: relative;
54
- }
55
- .header-profile-dropdown {
56
- display: flex;
57
- height: 40px;
58
- border-radius: 9999px;
59
- box-shadow: 0px 12px 12px 0px #00537d1a;
60
- color: #4e5d6b;
61
- background-color: #ffffff;
62
- cursor: pointer;
63
- }
64
- .header-profile-img-container {
65
- width: 40px;
66
- height: 40px;
67
- padding: 4px;
68
- border-radius: 9999px;
69
- }
70
- .header-profile-img-icon {
71
- display: flex;
72
- align-items: center;
73
- justify-content: center;
74
- width: 32px;
75
- height: 32px;
76
- border-radius: 9999px;
77
- background-color: rgb(229, 229, 229);
78
- }
79
- .header-profile-name {
80
- display: flex;
81
- flex: 1;
82
- align-items: center;
83
- padding-left: 4px;
84
- padding-right: 16px;
85
- }
86
- .header-profile-chevron {
87
- display: flex;
88
- align-items: center;
89
- justify-content: center;
90
- height: 40px;
91
- padding-right: 14px;
92
- border-radius: 9999px;
93
- }
94
- .header-profile-menu {
95
- position: absolute;
96
- right: 0;
97
- top: 48px;
98
- width: 288px;
99
- padding: 4px;
100
- border-radius: 8px;
101
- box-shadow: 0px 12px 12px 0px #00537d1a;
102
- background-color: #ffffff;
103
- z-index: 10;
104
- }
105
- .header-profile-menu-item {
106
- display: flex;
107
- align-items: center;
108
- height: 36px;
109
- border-radius: 6px;
110
- cursor: pointer;
111
- }
112
- .header-profile-menu-item:hover {
113
- background-color: #e7f3f9;
114
- }
115
- .header-profile-menu-item-icon {
116
- display: flex;
117
- align-items: center;
118
- justify-content: center;
119
- width: 36px;
120
- height: 36px;
121
- }
122
- .header-profile-menu-item-label {
123
- flex: 1;
124
- padding: 0 2px;
125
- }
126
-
127
- /* ############### */
128
- /* HEADER SEARCH */
129
- .header-search {
130
- position: relative;
131
- width: 100%;
132
- }
133
- .header-search-items-container {
134
- position: absolute;
135
- top: calc(100% + 4px);
136
- width: 100%;
137
- max-height: 200px;
138
- border-radius: 8px;
139
- box-shadow: 0px 12px 12px 0px #00537d1a;
140
- background-color: white;
141
- overflow-y: auto;
142
- z-index: 100;
143
- }
144
- .header-search-loading {
145
- display: flex;
146
- align-items: center;
147
- justify-content: center;
148
- height: 40px;
149
- }
150
- .header-search-no-items {
151
- display: flex;
152
- align-items: center;
153
- justify-content: center;
154
- height: 40px;
155
- color: #8c96a2;
156
- font-style: italic;
157
- }
158
- .header-search-items {
159
- padding: 8px;
160
- }
161
- .header-search-item {
162
- display: flex;
163
- align-items: center;
164
- height: 32px;
165
- padding: 0 10px;
166
- border-radius: 4px;
167
- cursor: pointer;
168
- }
169
- .header-search-item:hover {
170
- background: #e7f3f9;
171
- }
172
- .header-search-item--match {
173
- background: #cce5f2;
174
- color: #007dbc;
175
- font-weight: 700;
176
- }
177
-
178
- /* ######### */
179
- /* GLOBALS */
180
- * {
181
- font-size: 14px;
182
- outline: none;
183
- box-sizing: border-box;
184
- font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans',
185
- 'Helvetica Neue', sans-serif;
186
- }
@@ -1,4 +0,0 @@
1
- import * as React from 'react';
2
- import { HeaderProps } from './Header.types';
3
- import './Header.css';
4
- export declare const Header: ({ actions, appName, search }: HeaderProps) => React.JSX.Element;
@@ -1,14 +0,0 @@
1
- import * as React from 'react';
2
- import { icons } from '../../components/Icon/icons';
3
- import './Header.css';
4
- export const Header = ({ actions, appName, search }) => {
5
- // #########
6
- // Rendering
7
- return (React.createElement("header", null,
8
- React.createElement("div", { className: "header-aside" },
9
- React.createElement("div", { className: "header-techoff", dangerouslySetInnerHTML: { __html: icons[`header-${appName}`] } })),
10
- search && React.createElement("div", { className: "header-search-bar" }, search),
11
- React.createElement("div", { className: "header-aside header-right-side" },
12
- React.createElement("div", { className: "header-actions" }, actions))));
13
- };
14
- //# sourceMappingURL=Header.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/layouts/Header/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEpD,OAAO,cAAc,CAAC;AAEtB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAe,EAAE,EAAE;IAClE,YAAY;IACZ,YAAY;IACZ,OAAO,CACL;QACE,6BAAK,SAAS,EAAC,cAAc;YAC3B,6BAAK,SAAS,EAAC,gBAAgB,EAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,OAAO,EAAE,CAAC,EAAE,GAAI,CAC/F;QACL,MAAM,IAAI,6BAAK,SAAS,EAAC,mBAAmB,IAAE,MAAM,CAAO;QAC5D,6BAAK,SAAS,EAAC,gCAAgC;YAC7C,6BAAK,SAAS,EAAC,gBAAgB,IAAE,OAAO,CAAO,CAC3C,CACC,CACV,CAAC;AACJ,CAAC,CAAC"}
@@ -1,23 +0,0 @@
1
- import { ReactElement } from 'react';
2
- export type HeaderProps = {
3
- actions: ReactElement;
4
- appName: 'bikestudio' | 'nsc-helmet' | 'opticost' | 'repairability';
5
- search?: ReactElement;
6
- };
7
- export type HeaderProfileItemProps = {
8
- icon: string;
9
- label: string;
10
- link: string;
11
- };
12
- export type HeaderProfileProps = {
13
- firstname: string;
14
- lastname: string;
15
- };
16
- export type HeaderSearchProps = {
17
- getItemLabel: (e: any) => string;
18
- getItemValue: (e: any) => string;
19
- loadItems: (search?: string) => Promise<any[]>;
20
- noDataLabel?: string;
21
- placeholder?: string;
22
- onChange: (value: string) => void;
23
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=Header.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Header.types.js","sourceRoot":"","sources":["../../../src/layouts/Header/Header.types.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
1
- import * as React from 'react';
2
- import { PropsWithChildren } from 'react';
3
- import { HeaderProfileItemProps, HeaderProfileProps } from './Header.types';
4
- export declare const HeaderProfileItem: ({ icon, label, link }: HeaderProfileItemProps) => React.JSX.Element;
5
- export declare const HeaderProfile: ({ children, firstname, lastname }: HeaderProfileProps & PropsWithChildren) => React.JSX.Element;
@@ -1,38 +0,0 @@
1
- import * as React from 'react';
2
- import { useState } from 'react';
3
- import { Icon } from '../../components/Icon/Icon';
4
- import { useClickOutside } from '../../hooks/use-click-outside';
5
- import { capitalize } from '../../utils/string.utils';
6
- export const HeaderProfileItem = ({ icon, label, link }) => {
7
- // ########
8
- // Handlers
9
- const handleNavigate = () => window.open(link, '_blank', 'noreferrer');
10
- // #########
11
- // Rendering
12
- return (React.createElement("div", { className: "header-profile-menu-item", onClick: handleNavigate },
13
- React.createElement("div", { className: "header-profile-menu-item-icon" },
14
- React.createElement(Icon, { name: icon, size: "16" })),
15
- React.createElement("div", { className: "header-profile-menu-item-label" }, label),
16
- React.createElement("div", { className: "header-profile-menu-item-icon" },
17
- React.createElement(Icon, { name: "external-link", size: "16" }))));
18
- };
19
- export const HeaderProfile = ({ children, firstname, lastname }) => {
20
- const [isOpen, setIsOpen] = useState(false);
21
- const ref = useClickOutside(() => setIsOpen(false));
22
- // #########
23
- // Rendering
24
- return (React.createElement("div", { className: "header-profile-container", ref: ref },
25
- React.createElement("div", { className: "header-profile-dropdown", onClick: () => children && setIsOpen(prev => !prev) },
26
- React.createElement("div", { className: "header-profile-img-container" },
27
- React.createElement("div", { className: "header-profile-img-icon" },
28
- React.createElement(Icon, { name: "user", size: "16" }))),
29
- React.createElement("div", { className: "header-profile-name" },
30
- capitalize(firstname),
31
- " ",
32
- lastname.charAt(0).toUpperCase(),
33
- "."),
34
- children && (React.createElement("div", { className: "header-profile-chevron" },
35
- React.createElement(Icon, { name: isOpen ? 'chevron-up' : 'chevron-down', size: "16" })))),
36
- isOpen && React.createElement("div", { className: "header-profile-menu" }, children)));
37
- };
38
- //# sourceMappingURL=HeaderProfile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HeaderProfile.js","sourceRoot":"","sources":["../../../src/layouts/Header/HeaderProfile.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAqB,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAA0B,EAAE,EAAE;IACjF,WAAW;IACX,WAAW;IACX,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEvE,YAAY;IACZ,YAAY;IACZ,OAAO,CACL,6BAAK,SAAS,EAAC,0BAA0B,EAAC,OAAO,EAAE,cAAc;QAC/D,6BAAK,SAAS,EAAC,+BAA+B;YAC5C,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,IAAI,GAAG,CAC1B;QACN,6BAAK,SAAS,EAAC,gCAAgC,IAAE,KAAK,CAAO;QAC7D,6BAAK,SAAS,EAAC,+BAA+B;YAC5C,oBAAC,IAAI,IAAC,IAAI,EAAC,eAAe,EAAC,IAAI,EAAC,IAAI,GAAG,CACnC,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAA0C,EAAE,EAAE;IACzG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAEpD,YAAY;IACZ,YAAY;IACZ,OAAO,CACL,6BAAK,SAAS,EAAC,0BAA0B,EAAC,GAAG,EAAE,GAAG;QAChD,6BAAK,SAAS,EAAC,yBAAyB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;YAC1F,6BAAK,SAAS,EAAC,8BAA8B;gBAC3C,6BAAK,SAAS,EAAC,yBAAyB;oBACtC,oBAAC,IAAI,IAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,GAAG,CAC1B,CACF;YACN,6BAAK,SAAS,EAAC,qBAAqB;gBACjC,UAAU,CAAC,SAAS,CAAC;;gBAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;oBACrD;YAEL,QAAQ,IAAI,CACX,6BAAK,SAAS,EAAC,wBAAwB;gBACrC,oBAAC,IAAI,IAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,EAAC,IAAI,GAAG,CAC5D,CACP,CACG;QAEL,MAAM,IAAI,6BAAK,SAAS,EAAC,qBAAqB,IAAE,QAAQ,CAAO,CAC5D,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import * as React from 'react';
2
- import { HeaderSearchProps } from './Header.types';
3
- export declare const HeaderSearch: ({ getItemLabel, getItemValue, loadItems, noDataLabel, placeholder, onChange, }: HeaderSearchProps) => React.JSX.Element;
@@ -1,60 +0,0 @@
1
- import * as React from 'react';
2
- import { useEffect, useState } from 'react';
3
- import { Input } from '../../components/Inputs/Input/Input';
4
- import { Loader } from '../../components/Loader/Loader';
5
- import { useClickOutside } from '../../hooks/use-click-outside';
6
- export const HeaderSearch = ({ getItemLabel, getItemValue, loadItems, noDataLabel, placeholder, onChange, }) => {
7
- const [searchValue, setSearchValue] = useState('');
8
- const [items, setItems] = useState([]);
9
- const [isLoading, setIsLoading] = useState(false);
10
- const [showItems, setShowItems] = useState(false);
11
- const ref = useClickOutside(() => setShowItems(false));
12
- // #######
13
- // Helpers
14
- const getBeforeMatch = (item) => {
15
- const label = getItemLabel(item);
16
- const matchStartIndex = label.toLowerCase().indexOf(searchValue.toLowerCase());
17
- return label.substring(0, matchStartIndex);
18
- };
19
- const getMatch = (item) => {
20
- const label = getItemLabel(item);
21
- const matchStartIndex = label.toLowerCase().indexOf(searchValue.toLowerCase());
22
- const matchEndIndex = matchStartIndex + searchValue.length;
23
- return label.substring(matchStartIndex, matchEndIndex);
24
- };
25
- const getAfterMatch = (item) => {
26
- const label = getItemLabel(item);
27
- const matchStartIndex = label.toLowerCase().indexOf(searchValue.toLowerCase());
28
- const matchEndIndex = matchStartIndex + searchValue.length;
29
- return label.substring(matchEndIndex);
30
- };
31
- // ########
32
- // Watchers
33
- useEffect(() => {
34
- if (searchValue === '') {
35
- setShowItems(false);
36
- setItems([]);
37
- setIsLoading(false);
38
- }
39
- else {
40
- setShowItems(true);
41
- setIsLoading(true);
42
- loadItems(searchValue)
43
- .then(setItems)
44
- .finally(() => setIsLoading(false));
45
- }
46
- }, [searchValue]);
47
- // #########
48
- // Rendering
49
- return (React.createElement("div", { className: "header-search", ref: ref },
50
- React.createElement(Input, { placeholder: placeholder, icon: "search", size: "lg", value: searchValue, variant: "shadow", resetable: true, rounded: true, onChange: setSearchValue, onFocus: () => setShowItems(true) }),
51
- showItems && searchValue !== '' && (React.createElement("div", { className: "header-search-items-container" },
52
- isLoading && (React.createElement("div", { className: "header-search-loading" },
53
- React.createElement(Loader, { size: "sm" }))),
54
- !isLoading && items.length === 0 && React.createElement("div", { className: "header-search-no-items" }, noDataLabel),
55
- !isLoading && items.length > 0 && (React.createElement("div", { className: "header-search-items" }, items.map(item => (React.createElement("div", { className: "header-search-item", onClick: () => onChange(getItemValue(item)) },
56
- getBeforeMatch(item),
57
- React.createElement("span", { className: "header-search-item--match" }, getMatch(item)),
58
- getAfterMatch(item))))))))));
59
- };
60
- //# sourceMappingURL=HeaderSearch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HeaderSearch.js","sourceRoot":"","sources":["../../../src/layouts/Header/HeaderSearch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,WAAW,EACX,QAAQ,GACU,EAAE,EAAE;IACtB,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC3D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAEvD,UAAU;IACV,UAAU;IACV,MAAM,cAAc,GAAG,CAAC,IAAS,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/E,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IAC7C,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,IAAS,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/E,MAAM,aAAa,GAAG,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC;QAC3D,OAAO,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,IAAS,EAAE,EAAE;QAClC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/E,MAAM,aAAa,GAAG,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC;QAC3D,OAAO,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,WAAW;IACX,WAAW;IACX,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,KAAK,EAAE,EAAE;YACtB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,QAAQ,CAAC,EAAE,CAAC,CAAC;YACb,YAAY,CAAC,KAAK,CAAC,CAAC;SACrB;aAAM;YACL,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,SAAS,CAAC,WAAW,CAAC;iBACnB,IAAI,CAAC,QAAQ,CAAC;iBACd,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;SACvC;IACH,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,YAAY;IACZ,YAAY;IACZ,OAAO,CACL,6BAAK,SAAS,EAAC,eAAe,EAAC,GAAG,EAAE,GAAG;QACrC,oBAAC,KAAK,IACJ,WAAW,EAAE,WAAW,EACxB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,WAAW,EAClB,OAAO,EAAC,QAAQ,EAChB,SAAS,QACT,OAAO,QACP,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GACjC;QAED,SAAS,IAAI,WAAW,KAAK,EAAE,IAAI,CAClC,6BAAK,SAAS,EAAC,+BAA+B;YAC3C,SAAS,IAAI,CACZ,6BAAK,SAAS,EAAC,uBAAuB;gBACpC,oBAAC,MAAM,IAAC,IAAI,EAAC,IAAI,GAAG,CAChB,CACP;YACA,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,6BAAK,SAAS,EAAC,wBAAwB,IAAE,WAAW,CAAO;YAC/F,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CACjC,6BAAK,SAAS,EAAC,qBAAqB,IACjC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACjB,6BAAK,SAAS,EAAC,oBAAoB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC5E,cAAc,CAAC,IAAI,CAAC;gBACrB,8BAAM,SAAS,EAAC,2BAA2B,IAAE,QAAQ,CAAC,IAAI,CAAC,CAAQ;gBAClE,aAAa,CAAC,IAAI,CAAC,CAChB,CACP,CAAC,CACE,CACP,CACG,CACP,CACG,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,71 +0,0 @@
1
- import React from 'react';
2
- import { ArgsTable, Canvas, Meta, Story } from '@storybook/blocks';
3
- import { Header } from '../Header';
4
- import { HeaderProfile, HeaderProfileItem } from '../HeaderProfile';
5
- import { HeaderSearch } from '../HeaderSearch';
6
- import { Button } from '../../../components/Button/Button';
7
-
8
- <Meta title="Layouts/Header" />
9
-
10
- export const headerArgTypes = {
11
- appName: {
12
- control: 'select',
13
- options: ['bikestudio', 'nsc-helmet', 'opticost', 'repairability'],
14
- description: 'Icon of the button.',
15
- },
16
- };
17
-
18
- export const loadItems = () => {
19
- return Promise.resolve([
20
- { id: 1, label: 'Item 1' },
21
- { id: 2, label: 'Item 2' },
22
- { id: 3, label: 'Item 3' },
23
- { id: 4, label: 'Item 4' },
24
- { id: 5, label: 'Item 5' },
25
- { id: 6, label: 'Item 6' },
26
- { id: 7, label: 'Item 7' },
27
- { id: 8, label: 'Item 8' },
28
- { id: 9, label: 'Item 9' },
29
- ]);
30
- };
31
-
32
- # Header
33
-
34
- The header will allow users to quickly find the information they need at a glance but also make some actions. The header is therefore central in the design of each application: it contains all the essential information, obvious shortcuts, which will help boost Deacthlon Techoff brand image.
35
-
36
- ## Overview
37
-
38
- <Canvas>
39
- <Story
40
- name="Overview"
41
- args={{
42
- actions: (
43
- <>
44
- <Button icon="add" size="lg" variant="shadow" rounded />
45
- <HeaderProfile firstname="John" lastname="Doe">
46
- <HeaderProfileItem icon="alert-triangle" label="Contact support" link="" />
47
- <HeaderProfileItem icon="award" label="Trainings" link="" />
48
- </HeaderProfile>
49
- </>
50
- ),
51
- appName: 'repairability',
52
- search: (
53
- <HeaderSearch
54
- getItemLabel={item => item.label}
55
- getItemValue={item => item.id}
56
- loadItems={loadItems}
57
- noDataLabel="No item found."
58
- placeholder="Search something in the application"
59
- onChange={() => {}}
60
- />
61
- ),
62
- }}
63
- argTypes={headerArgTypes}
64
- >
65
- {args => <Header {...args} />}
66
- </Story>
67
- </Canvas>
68
-
69
- ## Props
70
-
71
- <ArgsTable story="Overview" of={Header} />