@ftdata/ui 0.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 (265) hide show
  1. package/README.md +23 -0
  2. package/dist/assets/AddIcon.d.ts +3 -0
  3. package/dist/assets/AddIcon.js +35 -0
  4. package/dist/assets/ArrowLeftIcon.d.ts +2 -0
  5. package/dist/assets/ArrowLeftIcon.js +26 -0
  6. package/dist/assets/BackArrowIcon.d.ts +3 -0
  7. package/dist/assets/BackArrowIcon.js +35 -0
  8. package/dist/assets/BellIcon.d.ts +2 -0
  9. package/dist/assets/BellIcon.js +43 -0
  10. package/dist/assets/BuildingIcon.d.ts +2 -0
  11. package/dist/assets/BuildingIcon.js +15 -0
  12. package/dist/assets/BurgerMenu.d.ts +3 -0
  13. package/dist/assets/BurgerMenu.js +41 -0
  14. package/dist/assets/CancelSquareIcon.d.ts +3 -0
  15. package/dist/assets/CancelSquareIcon.js +36 -0
  16. package/dist/assets/CarretDownIcon.d.ts +3 -0
  17. package/dist/assets/CarretDownIcon.js +32 -0
  18. package/dist/assets/CavetDown.d.ts +2 -0
  19. package/dist/assets/CavetDown.js +18 -0
  20. package/dist/assets/CavetRight.d.ts +2 -0
  21. package/dist/assets/CavetRight.js +18 -0
  22. package/dist/assets/CavetUp.d.ts +2 -0
  23. package/dist/assets/CavetUp.js +18 -0
  24. package/dist/assets/CheckMarkIcon.d.ts +3 -0
  25. package/dist/assets/CheckMarkIcon.js +39 -0
  26. package/dist/assets/CheckmarkDone.d.ts +3 -0
  27. package/dist/assets/CheckmarkDone.js +27 -0
  28. package/dist/assets/CloseIcon.d.ts +2 -0
  29. package/dist/assets/CloseIcon.js +27 -0
  30. package/dist/assets/CommandIcon.d.ts +2 -0
  31. package/dist/assets/CommandIcon.js +77 -0
  32. package/dist/assets/DoneCircleIcon.d.ts +3 -0
  33. package/dist/assets/DoneCircleIcon.js +29 -0
  34. package/dist/assets/EmptyAlertDetail.d.ts +2 -0
  35. package/dist/assets/EmptyAlertDetail.js +451 -0
  36. package/dist/assets/EmptyPage.d.ts +3 -0
  37. package/dist/assets/EmptyPage.js +551 -0
  38. package/dist/assets/EyeIcon.d.ts +2 -0
  39. package/dist/assets/EyeIcon.js +35 -0
  40. package/dist/assets/FenceIcon.d.ts +2 -0
  41. package/dist/assets/FenceIcon.js +70 -0
  42. package/dist/assets/FolderCheckmark.d.ts +3 -0
  43. package/dist/assets/FolderCheckmark.js +44 -0
  44. package/dist/assets/FulltrackLogo.d.ts +3 -0
  45. package/dist/assets/FulltrackLogo.js +37 -0
  46. package/dist/assets/GlobeIcon.d.ts +2 -0
  47. package/dist/assets/GlobeIcon.js +61 -0
  48. package/dist/assets/GoogleIcon.d.ts +2 -0
  49. package/dist/assets/GoogleIcon.js +18 -0
  50. package/dist/assets/Group.js +2 -0
  51. package/dist/assets/MinusMarkIcon.d.ts +3 -0
  52. package/dist/assets/MinusMarkIcon.js +40 -0
  53. package/dist/assets/MosaicIcon.d.ts +3 -0
  54. package/dist/assets/MosaicIcon.js +41 -0
  55. package/dist/assets/NavLogo.d.ts +3 -0
  56. package/dist/assets/NavLogo.js +73 -0
  57. package/dist/assets/PinLocation.d.ts +2 -0
  58. package/dist/assets/PinLocation.js +31 -0
  59. package/dist/assets/PlusAddIcon.d.ts +2 -0
  60. package/dist/assets/PlusAddIcon.js +42 -0
  61. package/dist/assets/RefreshIcon.d.ts +2 -0
  62. package/dist/assets/RefreshIcon.js +16 -0
  63. package/dist/assets/SearchIcon.d.ts +3 -0
  64. package/dist/assets/SearchIcon.js +30 -0
  65. package/dist/assets/SendIcon.d.ts +3 -0
  66. package/dist/assets/SendIcon.js +20 -0
  67. package/dist/assets/StreetView.d.ts +2 -0
  68. package/dist/assets/StreetView.js +52 -0
  69. package/dist/assets/SwitchCheckMarkIcon.d.ts +3 -0
  70. package/dist/assets/SwitchCheckMarkIcon.js +40 -0
  71. package/dist/assets/WarningIcon.d.ts +2 -0
  72. package/dist/assets/WarningIcon.js +34 -0
  73. package/dist/assets/gif/how-to-use.js +2 -0
  74. package/dist/assets/iconMenu/SettingsIcon.d.ts +2 -0
  75. package/dist/assets/iconMenu/SettingsIcon.js +30 -0
  76. package/dist/assets/img/cover.js +2 -0
  77. package/dist/assets/img/map-sample.js +2 -0
  78. package/dist/assets/img/photo-goes-here.js +2 -0
  79. package/dist/assets/svg/chat.js +2 -0
  80. package/dist/assets/svg/colored-item.js +2 -0
  81. package/dist/assets/svg/mailbox-bro.js +2 -0
  82. package/dist/assets/svg/star-favorite.js +2 -0
  83. package/dist/assets/travolta.js +2 -0
  84. package/dist/components/Avatar/Avatar.stories.d.ts +33 -0
  85. package/dist/components/Avatar/Avatar.stories.js +177 -0
  86. package/dist/components/Avatar/index.d.ts +7 -0
  87. package/dist/components/Avatar/index.js +28 -0
  88. package/dist/components/Avatar/styles.d.ts +4 -0
  89. package/dist/components/Avatar/styles.js +37 -0
  90. package/dist/components/Avatar/utils/getAvatarColors.d.ts +6 -0
  91. package/dist/components/Avatar/utils/getAvatarColors.js +48 -0
  92. package/dist/components/Breadcrumb/Breadcrumb.stories.d.ts +17 -0
  93. package/dist/components/Breadcrumb/Breadcrumb.stories.js +51 -0
  94. package/dist/components/Breadcrumb/index.d.ts +10 -0
  95. package/dist/components/Breadcrumb/index.js +34 -0
  96. package/dist/components/Breadcrumb/styles.d.ts +9 -0
  97. package/dist/components/Breadcrumb/styles.js +43 -0
  98. package/dist/components/Button/Button.stories.d.ts +58 -0
  99. package/dist/components/Button/Button.stories.js +284 -0
  100. package/dist/components/Button/index.d.ts +26 -0
  101. package/dist/components/Button/index.js +69 -0
  102. package/dist/components/Button/modifiers.d.ts +8 -0
  103. package/dist/components/Button/modifiers.js +41 -0
  104. package/dist/components/Button/styles.d.ts +25 -0
  105. package/dist/components/Button/styles.js +111 -0
  106. package/dist/components/Checkbox/CheckMarkIcon.d.ts +3 -0
  107. package/dist/components/Checkbox/CheckMarkIcon.js +38 -0
  108. package/dist/components/Checkbox/Checkbox.stories.d.ts +35 -0
  109. package/dist/components/Checkbox/Checkbox.stories.js +101 -0
  110. package/dist/components/Checkbox/MinusMarkIcon.d.ts +3 -0
  111. package/dist/components/Checkbox/MinusMarkIcon.js +39 -0
  112. package/dist/components/Checkbox/index.d.ts +9 -0
  113. package/dist/components/Checkbox/index.js +40 -0
  114. package/dist/components/Checkbox/styles.d.ts +12 -0
  115. package/dist/components/Checkbox/styles.js +41 -0
  116. package/dist/components/Collapse/Colapse.stories.d.ts +10 -0
  117. package/dist/components/Collapse/Colapse.stories.js +108 -0
  118. package/dist/components/Collapse/index.d.ts +15 -0
  119. package/dist/components/Collapse/index.js +61 -0
  120. package/dist/components/Collapse/styles.d.ts +11 -0
  121. package/dist/components/Collapse/styles.js +23 -0
  122. package/dist/components/CustomSelect/CustomSelect.stories.d.ts +73 -0
  123. package/dist/components/CustomSelect/CustomSelect.stories.js +477 -0
  124. package/dist/components/CustomSelect/CustomSelectList/index.d.ts +10 -0
  125. package/dist/components/CustomSelect/CustomSelectList/index.js +66 -0
  126. package/dist/components/CustomSelect/CustomSelectList/style.d.ts +8 -0
  127. package/dist/components/CustomSelect/CustomSelectList/style.js +95 -0
  128. package/dist/components/CustomSelect/index.d.ts +30 -0
  129. package/dist/components/CustomSelect/index.js +193 -0
  130. package/dist/components/CustomSelect/styles.d.ts +22 -0
  131. package/dist/components/CustomSelect/styles.js +93 -0
  132. package/dist/components/DoubleList/DoubleList.stories.d.ts +13 -0
  133. package/dist/components/DoubleList/DoubleList.stories.js +82 -0
  134. package/dist/components/DoubleList/index.d.ts +9 -0
  135. package/dist/components/DoubleList/index.js +70 -0
  136. package/dist/components/DoubleList/style.d.ts +5 -0
  137. package/dist/components/DoubleList/style.js +92 -0
  138. package/dist/components/EmptyState/Empty.stories.d.ts +26 -0
  139. package/dist/components/EmptyState/Empty.stories.js +72 -0
  140. package/dist/components/EmptyState/index.d.ts +10 -0
  141. package/dist/components/EmptyState/index.js +48 -0
  142. package/dist/components/EmptyState/styles.d.ts +3 -0
  143. package/dist/components/EmptyState/styles.js +39 -0
  144. package/dist/components/Grid/Column/Column.stories.d.ts +26 -0
  145. package/dist/components/Grid/Column/Column.stories.js +335 -0
  146. package/dist/components/Grid/Column/index.d.ts +15 -0
  147. package/dist/components/Grid/Column/index.js +10 -0
  148. package/dist/components/Grid/Container/Container.stories.d.ts +11 -0
  149. package/dist/components/Grid/Container/Container.stories.js +114 -0
  150. package/dist/components/Grid/Container/index.d.ts +6 -0
  151. package/dist/components/Grid/Container/index.js +11 -0
  152. package/dist/components/Grid/Row/Row.stories.d.ts +22 -0
  153. package/dist/components/Grid/Row/Row.stories.js +248 -0
  154. package/dist/components/Grid/Row/index.d.ts +20 -0
  155. package/dist/components/Grid/Row/index.js +10 -0
  156. package/dist/components/Grid/index.d.ts +38 -0
  157. package/dist/components/Grid/index.js +121 -0
  158. package/dist/components/Grid/utils.d.ts +1 -0
  159. package/dist/components/Grid/utils.js +18 -0
  160. package/dist/components/Loading/Loading/index.d.ts +7 -0
  161. package/dist/components/Loading/Loading/index.js +9 -0
  162. package/dist/components/Loading/Loading.stories.d.ts +24 -0
  163. package/dist/components/Loading/Loading.stories.js +145 -0
  164. package/dist/components/Loading/index.d.ts +16 -0
  165. package/dist/components/Loading/index.js +98 -0
  166. package/dist/components/Menu/constants/icons.d.ts +17 -0
  167. package/dist/components/Menu/constants/icons.js +61 -0
  168. package/dist/components/Menu/helpers/createMenus.d.ts +2 -0
  169. package/dist/components/Menu/helpers/createMenus.js +20 -0
  170. package/dist/components/Menu/helpers/createSubMenus.d.ts +2 -0
  171. package/dist/components/Menu/helpers/createSubMenus.js +13 -0
  172. package/dist/components/Menu/helpers/generateColorScale.d.ts +1 -0
  173. package/dist/components/Menu/helpers/generateColorScale.js +62 -0
  174. package/dist/components/Menu/helpers/getLuminance.d.ts +1 -0
  175. package/dist/components/Menu/helpers/getLuminance.js +9 -0
  176. package/dist/components/Menu/index.d.ts +12 -0
  177. package/dist/components/Menu/index.js +108 -0
  178. package/dist/components/Menu/styles.d.ts +17 -0
  179. package/dist/components/Menu/styles.js +202 -0
  180. package/dist/components/Menu/types/IconKeysType.d.ts +2 -0
  181. package/dist/components/Menu/types/IconKeysType.js +0 -0
  182. package/dist/components/Menu/types/MenuItem.d.ts +26 -0
  183. package/dist/components/Menu/types/MenuItem.js +0 -0
  184. package/dist/components/MultiSelect/Badge/index.d.ts +6 -0
  185. package/dist/components/MultiSelect/Badge/index.js +31 -0
  186. package/dist/components/MultiSelect/Badge/styles.d.ts +1 -0
  187. package/dist/components/MultiSelect/Badge/styles.js +57 -0
  188. package/dist/components/MultiSelect/MultiSelect.stories.d.ts +61 -0
  189. package/dist/components/MultiSelect/MultiSelect.stories.js +336 -0
  190. package/dist/components/MultiSelect/MultiSelectList/index.d.ts +10 -0
  191. package/dist/components/MultiSelect/MultiSelectList/index.js +59 -0
  192. package/dist/components/MultiSelect/MultiSelectList/style.d.ts +3 -0
  193. package/dist/components/MultiSelect/MultiSelectList/style.js +82 -0
  194. package/dist/components/MultiSelect/calcTextSize.d.ts +1 -0
  195. package/dist/components/MultiSelect/calcTextSize.js +10 -0
  196. package/dist/components/MultiSelect/index.d.ts +24 -0
  197. package/dist/components/MultiSelect/index.js +284 -0
  198. package/dist/components/MultiSelect/styles.d.ts +24 -0
  199. package/dist/components/MultiSelect/styles.js +165 -0
  200. package/dist/components/Radio/Radio.stories.d.ts +18 -0
  201. package/dist/components/Radio/Radio.stories.js +30 -0
  202. package/dist/components/Radio/index.d.ts +7 -0
  203. package/dist/components/Radio/index.js +27 -0
  204. package/dist/components/Radio/story.d.ts +5 -0
  205. package/dist/components/Radio/story.js +47 -0
  206. package/dist/components/Radio/styles.d.ts +8 -0
  207. package/dist/components/Radio/styles.js +43 -0
  208. package/dist/components/StateAlert/StateAlert.stories.d.ts +46 -0
  209. package/dist/components/StateAlert/StateAlert.stories.js +189 -0
  210. package/dist/components/StateAlert/index.d.ts +22 -0
  211. package/dist/components/StateAlert/index.js +56 -0
  212. package/dist/components/StateAlert/styles.d.ts +7 -0
  213. package/dist/components/StateAlert/styles.js +124 -0
  214. package/dist/components/Switch/Switch.stories.d.ts +26 -0
  215. package/dist/components/Switch/Switch.stories.js +81 -0
  216. package/dist/components/Switch/index.d.ts +8 -0
  217. package/dist/components/Switch/index.js +26 -0
  218. package/dist/components/Switch/styles.d.ts +15 -0
  219. package/dist/components/Switch/styles.js +33 -0
  220. package/dist/components/Text/Paragraph/Paragraph.stories.d.ts +29 -0
  221. package/dist/components/Text/Paragraph/Paragraph.stories.js +124 -0
  222. package/dist/components/Text/Title/Title.stories.d.ts +41 -0
  223. package/dist/components/Text/Title/Title.stories.js +106 -0
  224. package/dist/components/Text/index.d.ts +3 -0
  225. package/dist/components/Text/index.js +17 -0
  226. package/dist/components/Text/styles.d.ts +23 -0
  227. package/dist/components/Text/styles.js +70 -0
  228. package/dist/components/TextArea/Textarea.stories.d.ts +33 -0
  229. package/dist/components/TextArea/Textarea.stories.js +65 -0
  230. package/dist/components/TextArea/index.d.ts +10 -0
  231. package/dist/components/TextArea/index.js +39 -0
  232. package/dist/components/TextArea/styles.d.ts +18 -0
  233. package/dist/components/TextArea/styles.js +88 -0
  234. package/dist/components/TooltipWrapper/Tooltip.stories.d.ts +21 -0
  235. package/dist/components/TooltipWrapper/Tooltip.stories.js +54 -0
  236. package/dist/components/TooltipWrapper/index.d.ts +20 -0
  237. package/dist/components/TooltipWrapper/index.js +56 -0
  238. package/dist/components/TooltipWrapper/styles.d.ts +6 -0
  239. package/dist/components/TooltipWrapper/styles.js +20 -0
  240. package/dist/components/Tooltips/Tooltips.stories.d.ts +25 -0
  241. package/dist/components/Tooltips/Tooltips.stories.js +139 -0
  242. package/dist/components/Tooltips/index.d.ts +8 -0
  243. package/dist/components/Tooltips/index.js +28 -0
  244. package/dist/components/Tooltips/styles.d.ts +5 -0
  245. package/dist/components/Tooltips/styles.js +37 -0
  246. package/dist/components/UserMenu/UserMenu.stories.d.ts +26 -0
  247. package/dist/components/UserMenu/UserMenu.stories.js +174 -0
  248. package/dist/components/UserMenu/index.d.ts +19 -0
  249. package/dist/components/UserMenu/index.js +64 -0
  250. package/dist/components/UserMenu/style.d.ts +2 -0
  251. package/dist/components/UserMenu/style.js +44 -0
  252. package/dist/index.d.ts +3 -0
  253. package/dist/index.js +3 -0
  254. package/dist/static/image/cover.png +0 -0
  255. package/dist/static/image/how-to-use.gif +0 -0
  256. package/dist/static/image/map-sample.png +0 -0
  257. package/dist/static/image/photo-goes-here.png +0 -0
  258. package/dist/static/image/travolta.jpg +0 -0
  259. package/dist/static/svg/Group.svg +5 -0
  260. package/dist/static/svg/chat.svg +10 -0
  261. package/dist/static/svg/colored-item.svg +9 -0
  262. package/dist/static/svg/mailbox-bro.svg +102 -0
  263. package/dist/static/svg/star-favorite.svg +3 -0
  264. package/dist/style/_reset.css +205 -0
  265. package/package.json +43 -0
@@ -0,0 +1,202 @@
1
+ import styled_components, { keyframes } from "styled-components";
2
+ import { generateColorScale } from "./helpers/generateColorScale.js";
3
+ import { getLuminance } from "./helpers/getLuminance.js";
4
+ const shrinkToRight = keyframes`
5
+ from {
6
+ transform: scaleX(1);
7
+ opacity: 1;
8
+ }
9
+ to {
10
+ transform: scaleX(0);
11
+ opacity: 0;
12
+ }
13
+ `;
14
+ const growFromRight = keyframes`
15
+ from {
16
+ transform: scaleX(0);
17
+ opacity: 0;
18
+ }
19
+ to {
20
+ transform: scaleX(1);
21
+ opacity: 1;
22
+ }
23
+ `;
24
+ const fadeOutAndHide = keyframes`
25
+ 0% {
26
+ opacity: 1;
27
+ visibility: visible;
28
+ }
29
+ 99% {
30
+ opacity: 0;
31
+ visibility: visible;
32
+ }
33
+ 100% {
34
+ opacity: 0;
35
+ visibility: hidden;
36
+ display: none;
37
+ }
38
+ `;
39
+ const fadeInAndShow = keyframes`
40
+ 0% {
41
+ opacity: 0;
42
+ visibility: hidden;
43
+ display: none;
44
+ }
45
+ 1% {
46
+ opacity: 0;
47
+ visibility: visible;
48
+ display: flex;
49
+ }
50
+ 100% {
51
+ opacity: 1;
52
+ visibility: visible;
53
+ display: flex;
54
+ }
55
+ `;
56
+ const MenuAside = styled_components.aside`
57
+ background-color: ${({ background })=>background || "#000"};
58
+ box-sizing: border-box;
59
+ cursor: pointer;
60
+ display: flex;
61
+ flex-direction: column;
62
+ gap: 1.5rem;
63
+ height: 100vh;
64
+ padding: 1rem 0.5rem;
65
+ position: relative;
66
+ transition: width 0.3s ease-in-out;
67
+ width: ${({ expand })=>expand ? "18.75rem" : "3.5rem"};
68
+
69
+ * {
70
+ font-family: "Inter", sans-serif;
71
+ font-weight: 500;
72
+ }
73
+ `;
74
+ const MenuHeader = styled_components.div`
75
+ display: flex;
76
+ flex-direction: column;
77
+ gap: 1.5rem;
78
+ `;
79
+ const ContainerLogo = styled_components.div`
80
+ padding: 0 0.5rem;
81
+ animation: ${({ expand })=>expand ? fadeInAndShow : fadeOutAndHide} 0.25s
82
+ forwards;
83
+
84
+ svg,
85
+ img {
86
+ align-items: center;
87
+ display: flex;
88
+ justify-content: center;
89
+ max-height: 6.25rem;
90
+ max-width: 100%;
91
+ }
92
+ `;
93
+ const ItemsContainer = styled_components.div`
94
+ display: flex;
95
+ flex-direction: column;
96
+ width: 100%;
97
+ `;
98
+ const ItemMenu = styled_components.div`
99
+ align-items: center;
100
+ border-radius: 6px;
101
+ cursor: pointer;
102
+ display: flex;
103
+ gap: 0.75rem;
104
+ opacity: ${({ active })=>active ? "1" : "0.68"};
105
+ transition: all 0.18s ease-in-out;
106
+ width: 100%;
107
+
108
+ &:hover {
109
+ opacity: 1;
110
+ }
111
+
112
+ div {
113
+ align-items: center;
114
+ display: flex;
115
+ justify-content: center;
116
+ padding: 0.5rem;
117
+ color: ${({ fontColor })=>fontColor || "#FFFFFF"};
118
+ }
119
+
120
+ span {
121
+ color: ${({ fontColor })=>fontColor || "#FFFFFF"};
122
+ opacity: ${({ expand })=>expand ? 1 : 0};
123
+ transform: translateX(${({ expand })=>expand ? "0" : "-8px"});
124
+ transition:
125
+ opacity 0.4s ease,
126
+ transform 0.4s ease;
127
+ white-space: ${({ expand })=>expand ? "wrap" : "nowrap"};
128
+ overflow: hidden;
129
+
130
+ &:hover {
131
+ opacity: 1;
132
+ }
133
+ }
134
+ `;
135
+ const SubItemsContainer = styled_components.div`
136
+ animation: ${({ isClosing })=>isClosing ? shrinkToRight : growFromRight}
137
+ 0.4s ease forwards;
138
+ background-color: ${({ background })=>generateColorScale(background || "#000000")[500]};
139
+ box-sizing: border-box;
140
+ display: flex;
141
+ flex-direction: column;
142
+ gap: 0.5rem;
143
+ height: 100%;
144
+ padding: 1rem 0 0 1rem;
145
+ position: absolute;
146
+ right: 0;
147
+ top: 0;
148
+ transform-origin: right;
149
+ width: 15.25rem;
150
+ z-index: 1;
151
+ `;
152
+ const SubItemsHeader = styled_components.div`
153
+ padding: 0.5rem 0 1.5rem 0;
154
+
155
+ button {
156
+ align-items: center;
157
+ background: transparent;
158
+ border: none;
159
+ color: ${({ fontColor })=>fontColor || "#FFFFFF"};
160
+ cursor: pointer;
161
+ display: flex;
162
+ font-size: 1rem;
163
+ font-weight: 500;
164
+ gap: 0.5rem;
165
+ line-height: 1rem;
166
+ margin: 0;
167
+ padding: 0;
168
+ transition: opacity 0.2s ease;
169
+ }
170
+ `;
171
+ const SubItemsWrapper = styled_components.div`
172
+ display: flex;
173
+ flex-direction: column;
174
+ gap: 0.5rem;
175
+ max-height: calc(100vh - 5rem);
176
+ overflow-y: auto;
177
+
178
+ &::-webkit-scrollbar {
179
+ width: 6px;
180
+ }
181
+
182
+ &::-webkit-scrollbar-thumb {
183
+ background-color: ${({ background })=>generateColorScale(background || "#00000")["dark" === getLuminance(background || "#00000") ? 400 : 600]};
184
+ border-radius: 4px;
185
+ }
186
+ `;
187
+ const SubMenuItem = styled_components.span`
188
+ border-radius: 6px;
189
+ color: ${({ fontColor })=>fontColor || "#FFFFFF"};
190
+ cursor: pointer;
191
+ font-size: 0.875rem;
192
+ font-weight: 500;
193
+ line-height: 1.5rem;
194
+ opacity: ${({ active })=>active ? "1" : "0.68"};
195
+ padding: 0.5rem 0.75rem;
196
+ transition: background-color 0.2s ease;
197
+
198
+ &:hover {
199
+ opacity: 1;
200
+ }
201
+ `;
202
+ export { ContainerLogo, ItemMenu, ItemsContainer, MenuAside, MenuHeader, SubItemsContainer, SubItemsHeader, SubItemsWrapper, SubMenuItem };
@@ -0,0 +1,2 @@
1
+ import { ICONS } from "../constants/icons";
2
+ export type IconsKeysType = keyof typeof ICONS;
File without changes
@@ -0,0 +1,26 @@
1
+ import { JSX } from "react";
2
+ import { IconsKeysType } from "./IconKeysType";
3
+ export type SubMenuData = {
4
+ callback: () => void;
5
+ label: string;
6
+ };
7
+ export type SubMenu = {
8
+ callback: () => void;
9
+ Icon?: JSX.Element;
10
+ label: string;
11
+ };
12
+ export type MenuItemData = {
13
+ id: number;
14
+ description: string;
15
+ endpoint: string;
16
+ itens: MenuItemData[];
17
+ menu_icon: string;
18
+ translate_key: IconsKeysType;
19
+ ordenation: number;
20
+ };
21
+ export type MenuItem = {
22
+ callback: () => void;
23
+ submenus: SubMenu[];
24
+ icon: JSX.Element;
25
+ label: string;
26
+ };
File without changes
@@ -0,0 +1,6 @@
1
+ interface BadgeProps {
2
+ text: string;
3
+ remove: () => void;
4
+ }
5
+ export default function Badge({ text, remove }: BadgeProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,31 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { BadgeContainer } from "./styles.js";
4
+ import { Icon } from "@ftdata/f-icons";
5
+ function Badge({ text, remove }) {
6
+ const [isVisible, setIsVisible] = useState(true);
7
+ const handleRemove = ()=>{
8
+ setIsVisible(false);
9
+ setTimeout(()=>{
10
+ remove();
11
+ }, 150);
12
+ };
13
+ return /*#__PURE__*/ jsxs(BadgeContainer, {
14
+ className: isVisible ? "" : "remove",
15
+ children: [
16
+ /*#__PURE__*/ jsx("span", {
17
+ children: text
18
+ }),
19
+ /*#__PURE__*/ jsx("button", {
20
+ onClick: handleRemove,
21
+ children: /*#__PURE__*/ jsx(Icon, {
22
+ name: "ui delete-disabled",
23
+ size: "1rem",
24
+ color: "currentColor",
25
+ weight: "2"
26
+ })
27
+ })
28
+ ]
29
+ });
30
+ }
31
+ export { Badge as default };
@@ -0,0 +1 @@
1
+ export declare const BadgeContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
@@ -0,0 +1,57 @@
1
+ import styled_components, { keyframes } from "styled-components";
2
+ import { COLOR_NEUTRAL_DARKER, COLOR_NEUTRAL_DUSK, COLOR_NEUTRAL_LIGHTER } from "@ftdata/f-tokens";
3
+ const popIn = keyframes`
4
+ 0% {
5
+ opacity: 0.8;
6
+ transform: scale(0.97);
7
+ }
8
+ 100% {
9
+ opacity: 1;
10
+ transform: scale(1);
11
+ }
12
+ `;
13
+ const popOut = keyframes`
14
+ 0% {
15
+ opacity: 1;
16
+ transform: scale(1);
17
+ }
18
+ 100% {
19
+ opacity: 0;
20
+ transform: scale(0.98);
21
+ }
22
+ `;
23
+ const BadgeContainer = styled_components.div`
24
+ background-color: ${COLOR_NEUTRAL_LIGHTER};
25
+ border-radius: 0.25rem;
26
+ display: flex;
27
+ padding: 0.25rem 0.5rem;
28
+ gap: 0.25rem;
29
+ opacity: 0;
30
+ transform: scale(0.8);
31
+ animation: ${popIn} 0.15s forwards;
32
+
33
+ &.remove {
34
+ animation: ${popOut} 0.15s forwards;
35
+ }
36
+
37
+ span {
38
+ color: ${COLOR_NEUTRAL_DUSK};
39
+ font-size: 0.875rem;
40
+ line-height: 1rem;
41
+ max-width: 7.75rem;
42
+ white-space: nowrap;
43
+ overflow: hidden;
44
+ font-weight: 500;
45
+ text-overflow: ellipsis;
46
+ }
47
+
48
+ button {
49
+ cursor: pointer;
50
+ color: ${COLOR_NEUTRAL_DARKER};
51
+
52
+ &:hover {
53
+ color: ${COLOR_NEUTRAL_DUSK};
54
+ }
55
+ }
56
+ `;
57
+ export { BadgeContainer };
@@ -0,0 +1,61 @@
1
+ import { Meta, StoryObj } from "@storybook/react";
2
+ import MultiSelect from ".";
3
+ /**
4
+ * O componente MultiSelect é usado para selecionar múltiplas opções de uma lista.
5
+ * Ele herda todos atributos de um HTML input.
6
+ */
7
+ declare const meta: Meta<typeof MultiSelect>;
8
+ export default meta;
9
+ type Story = StoryObj<typeof meta>;
10
+ /**
11
+ * Variação padrão do MultiSelect quando apenas as propriedades obrigatórias são fornecidas.
12
+ */
13
+ export declare const Default: Story;
14
+ /**
15
+ * Variação do MultiSelect com label.
16
+ */
17
+ export declare const Label: Story;
18
+ /**
19
+ * Variação do MultiSelect com com a opção de selecionar todos.
20
+ */
21
+ export declare const SelectAll: Story;
22
+ /**
23
+ * Variação do MultiSelect com valor de seleção máxima.
24
+ */
25
+ export declare const MaxItems: Story;
26
+ /**
27
+ * Variação do MultiSelect com quantidade grande e opções.
28
+ */
29
+ export declare const ManyOptions: Story;
30
+ /**
31
+ * Variação do MultiSelect quando é opcional.
32
+ */
33
+ export declare const Optional: Story;
34
+ /**
35
+ * Variação do MultiSelect quando é obrigatório.
36
+ */
37
+ export declare const Required: Story;
38
+ /**
39
+ * Variação do MultiSelect com texto de ajuda para auxiliar o usuário.
40
+ */
41
+ export declare const HelpText: Story;
42
+ /**
43
+ * Variação do MultiSelect quando está carreagando seus dados.
44
+ */
45
+ export declare const Loading: Story;
46
+ /**
47
+ * Variação do MultiSelect com feedback de sucesso.
48
+ */
49
+ export declare const Success: Story;
50
+ /**
51
+ * Variação do MultiSelect com feedback de erro.
52
+ */
53
+ export declare const Error: Story;
54
+ /**
55
+ * Variação do MultiSelect usando um valor definido
56
+ */
57
+ export declare const Value: Story;
58
+ /**
59
+ * Variação do MultiSelect com o change Items controlando os selecionados.
60
+ */
61
+ export declare const onChangeItems: Story;