goobs-frontend 0.9.35 → 0.122.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 (562) hide show
  1. package/README.md +136 -335
  2. package/package.json +36 -26
  3. package/src/components/Accordion/accordion.stories.tsx +1150 -239
  4. package/src/components/Accordion/index.tsx +350 -610
  5. package/src/components/Alert/alert.stories.tsx +238 -0
  6. package/src/components/Alert/index.tsx +143 -0
  7. package/src/components/AppBar/index.tsx +285 -0
  8. package/src/components/Avatar/index.tsx +48 -0
  9. package/src/components/Badge/badge.stories.tsx +1020 -0
  10. package/src/components/Badge/index.tsx +23 -0
  11. package/src/components/Breadcrumb/breadcrumb.stories.tsx +83 -0
  12. package/src/components/Breadcrumb/index.tsx +220 -0
  13. package/src/components/Button/button.stories.tsx +331 -108
  14. package/src/components/Button/index.tsx +290 -367
  15. package/src/components/Card/index.tsx +316 -322
  16. package/src/components/Checkbox/checkbox.stories.tsx +71 -93
  17. package/src/components/Checkbox/index.tsx +256 -237
  18. package/src/components/Chip/chip.stories.tsx +180 -0
  19. package/src/components/Chip/index.tsx +105 -0
  20. package/src/components/CodeCopy/codecopy.stories.tsx +217 -124
  21. package/src/components/CodeCopy/index.tsx +232 -345
  22. package/src/components/ComplexTextEditor/MarkdownEditor/index.tsx +113 -130
  23. package/src/components/ComplexTextEditor/RichEditor/index.tsx +134 -327
  24. package/src/components/ComplexTextEditor/SimpleEditor/index.tsx +152 -141
  25. package/src/components/ComplexTextEditor/Toolbars/Complex/index.tsx +56 -175
  26. package/src/components/ComplexTextEditor/Toolbars/Editor/index.tsx +385 -425
  27. package/src/components/ComplexTextEditor/editor.stories.tsx +692 -198
  28. package/src/components/ComplexTextEditor/index.tsx +184 -237
  29. package/src/components/ComplexTextEditor/theme.ts +410 -0
  30. package/src/components/ComplexTextEditor/utils/conversion.ts +83 -0
  31. package/src/components/ComplexTextEditor/utils/useMarkdownEditor.tsx +23 -8
  32. package/src/components/ConfirmationCodeInput/codeinput.stories.tsx +306 -562
  33. package/src/components/ConfirmationCodeInput/index.tsx +279 -531
  34. package/src/components/Container/index.tsx +48 -0
  35. package/src/components/Content/Structure/CVV/useCVV.tsx +13 -25
  36. package/src/components/Content/Structure/CreditCardNumber/useCreditCardNumber.tsx +13 -25
  37. package/src/components/Content/Structure/DateRange/useDateRange.tsx +5 -8
  38. package/src/components/Content/Structure/USD/useUSD.tsx +18 -30
  39. package/src/components/Content/Structure/animations.tsx +78 -57
  40. package/src/components/Content/Structure/button/useButton.tsx +3 -3
  41. package/src/components/Content/Structure/checkbox/useCheckbox.tsx +3 -9
  42. package/src/components/Content/Structure/datefield/useDateField.tsx +9 -19
  43. package/src/components/Content/Structure/externalIncremementNumberField/useIncremementNumberField.tsx +30 -0
  44. package/src/components/Content/Structure/link/useLink.tsx +9 -4
  45. package/src/components/Content/Structure/phoneNumber/usePhoneNumber.tsx +5 -4
  46. package/src/components/Content/Structure/searchableDropdown/useSearchableDropdown.tsx +6 -6
  47. package/src/components/Content/Structure/searchableHistory/useSearchableHistory.tsx +33 -0
  48. package/src/components/Content/Structure/stepper/useStepper.tsx +4 -4
  49. package/src/components/Content/Structure/typography/useTypography.tsx +3 -13
  50. package/src/components/Content/index.tsx +28 -31
  51. package/src/components/DataGrid/FilterSection/index.tsx +338 -180
  52. package/src/components/DataGrid/Footer/index.tsx +376 -216
  53. package/src/components/DataGrid/ManageColumnsSimple/index.tsx +152 -0
  54. package/src/components/DataGrid/ManageRow/index.tsx +301 -319
  55. package/src/components/DataGrid/MetricCard/index.tsx +384 -328
  56. package/src/components/DataGrid/MetricSection/index.tsx +104 -39
  57. package/src/components/DataGrid/Table/ColumnHeaderRow/index.tsx +349 -228
  58. package/src/components/DataGrid/Table/CreationRow/index.tsx +452 -0
  59. package/src/components/DataGrid/Table/Rows/index.tsx +516 -932
  60. package/src/components/DataGrid/Table/index.tsx +194 -182
  61. package/src/components/DataGrid/VerticalDivider/index.tsx +21 -13
  62. package/src/components/DataGrid/datagrid.stories.tsx +1511 -387
  63. package/src/components/DataGrid/index.tsx +571 -348
  64. package/src/components/DataGrid/types/index.ts +120 -9
  65. package/src/components/DataGrid/utils/useColumnResize.tsx +137 -0
  66. package/src/components/DataGrid/utils/useComputeTableResize.tsx +11 -5
  67. package/src/components/DataGrid/utils/useIsMobile.tsx +16 -0
  68. package/src/components/DataGrid/utils/useToolbarSearchbar.tsx +0 -5
  69. package/src/components/Dialog/dialog.stories.tsx +1196 -0
  70. package/src/components/Dialog/index.tsx +120 -0
  71. package/src/components/Divider/index.tsx +56 -0
  72. package/src/components/Drawer/index.tsx +350 -0
  73. package/src/components/Fade/index.tsx +48 -0
  74. package/src/components/Field/Date/DateField/DateField.stories.tsx +171 -0
  75. package/src/components/Field/Date/DateField/index.tsx +563 -714
  76. package/src/components/Field/Date/DateRange/DateRange.stories.tsx +606 -0
  77. package/src/components/Field/Date/DateRange/index.tsx +666 -812
  78. package/src/components/Field/Dropdown/MultiSelect/index.tsx +245 -512
  79. package/src/components/Field/Dropdown/MultiSelect/multiselect.stories.tsx +480 -96
  80. package/src/components/Field/Dropdown/Regular/dropdown.stories.tsx +614 -210
  81. package/src/components/Field/Dropdown/Regular/index.tsx +336 -489
  82. package/src/components/Field/Dropdown/SearchableHistory/index.tsx +443 -0
  83. package/src/components/Field/Dropdown/SearchableHistory/searchablehistory.stories.tsx +894 -0
  84. package/src/components/Field/Dropdown/SearchableSimple/index.tsx +212 -0
  85. package/src/components/Field/Dropdown/SearchableSimple/searchablesimple.stories.tsx +680 -0
  86. package/src/components/Field/IPAM/Address/Address.stories.tsx +265 -102
  87. package/src/components/Field/IPAM/Address/index.tsx +353 -846
  88. package/src/components/Field/IPAM/CIDR/CIDR.stories.tsx +254 -154
  89. package/src/components/Field/IPAM/CIDR/index.tsx +231 -144
  90. package/src/components/Field/IPAM/MACAddress/Address.stories.tsx +268 -33
  91. package/src/components/Field/IPAM/MACAddress/index.tsx +118 -44
  92. package/src/components/Field/IPAM/Subnet/Subnet.stories.tsx +259 -101
  93. package/src/components/Field/IPAM/Subnet/index.tsx +276 -312
  94. package/src/components/Field/IPAM/Supernet/Supernet.stories.tsx +273 -111
  95. package/src/components/Field/IPAM/Supernet/index.tsx +4 -0
  96. package/src/components/Field/IPAM/VLAN/VLAN.stories.tsx +283 -93
  97. package/src/components/Field/IPAM/VLAN/index.tsx +7 -1
  98. package/src/components/Field/Number/AccountNumber/AccountNumber.stories.tsx +313 -0
  99. package/src/components/Field/Number/AccountNumber/index.tsx +137 -151
  100. package/src/components/Field/Number/CVV/CVV.stories.tsx +320 -0
  101. package/src/components/Field/Number/CVV/index.tsx +147 -164
  102. package/src/components/Field/Number/CreditCardNumber/CreditCardNumber.stories.tsx +358 -0
  103. package/src/components/Field/Number/CreditCardNumber/index.tsx +157 -240
  104. package/src/components/Field/Number/ExternalIncrement/ExternalIncrement.stories.tsx +188 -0
  105. package/src/components/Field/Number/ExternalIncrement/index.tsx +143 -88
  106. package/src/components/Field/Number/InternalIncrement/InternalIncrement.stories.tsx +326 -0
  107. package/src/components/Field/Number/InternalIncrement/index.tsx +225 -240
  108. package/src/components/Field/Number/RoutingNumber/RoutingNumber.stories.tsx +349 -0
  109. package/src/components/Field/Number/RoutingNumber/index.tsx +155 -182
  110. package/src/components/Field/Password/index.tsx +149 -176
  111. package/src/components/Field/Password/passwordfield.stories.tsx +601 -88
  112. package/src/components/Field/Percentage/index.tsx +256 -237
  113. package/src/components/Field/Percentage/percentagefield.stories.tsx +579 -141
  114. package/src/components/Field/PhoneNumber/index.tsx +172 -140
  115. package/src/components/Field/PhoneNumber/phonenumberfield.stories.tsx +575 -103
  116. package/src/components/Field/Search/index.tsx +170 -248
  117. package/src/components/Field/Search/searchbar.stories.tsx +616 -114
  118. package/src/components/Field/Slider/index.tsx +76 -0
  119. package/src/components/Field/Text/index.tsx +201 -301
  120. package/src/components/Field/Text/textfield.stories.tsx +915 -176
  121. package/src/components/Field/Time/TimeRange/TimeRange.stories.tsx +369 -0
  122. package/src/components/Field/Time/TimeRange/index.tsx +609 -1269
  123. package/src/components/Field/USD/index.tsx +262 -290
  124. package/src/components/Field/USD/usd.stories.tsx +453 -144
  125. package/src/components/Form/DataGrid/index.tsx +187 -493
  126. package/src/components/Form/Dialog/index.tsx +140 -296
  127. package/src/components/Form/Popup/index.tsx +256 -476
  128. package/src/components/Form/ProjectBoard/index.tsx +260 -349
  129. package/src/components/FormControl/index.tsx +95 -0
  130. package/src/components/FormControlLabel/index.tsx +168 -0
  131. package/src/components/Grid/Grid.tsx +118 -0
  132. package/src/components/Grid/index.ts +2 -0
  133. package/src/components/IconButton/index.tsx +85 -0
  134. package/src/components/Icons/AccessTime.tsx +67 -0
  135. package/src/components/Icons/AccountBalance.tsx +67 -0
  136. package/src/components/Icons/AccountBalanceWallet.tsx +67 -0
  137. package/src/components/Icons/AccountTree.tsx +67 -0
  138. package/src/components/Icons/Add.tsx +63 -0
  139. package/src/components/Icons/AddCircle.tsx +67 -0
  140. package/src/components/Icons/AddCircleOutline.tsx +67 -0
  141. package/src/components/Icons/AddPhotoAlternate.tsx +72 -0
  142. package/src/components/Icons/AddShoppingCart.tsx +67 -0
  143. package/src/components/Icons/AddTask.tsx +67 -0
  144. package/src/components/Icons/AdminPanelSettings.tsx +67 -0
  145. package/src/components/Icons/AllIcons.stories.tsx +778 -0
  146. package/src/components/Icons/Analytics.tsx +67 -0
  147. package/src/components/Icons/Animation.tsx +60 -0
  148. package/src/components/Icons/Apartment.tsx +67 -0
  149. package/src/components/Icons/Apple.tsx +60 -0
  150. package/src/components/Icons/ArrowBack.tsx +67 -0
  151. package/src/components/Icons/ArrowDropDown.tsx +67 -0
  152. package/src/components/Icons/ArrowDropDownCircle.tsx +67 -0
  153. package/src/components/Icons/ArrowDropUp.tsx +67 -0
  154. package/src/components/Icons/ArrowForward.tsx +67 -0
  155. package/src/components/Icons/Article.tsx +67 -0
  156. package/src/components/Icons/Assessment.tsx +67 -0
  157. package/src/components/Icons/Assignment.tsx +67 -0
  158. package/src/components/Icons/AttachFile.tsx +60 -0
  159. package/src/components/Icons/AttachMoney.tsx +60 -0
  160. package/src/components/Icons/Attachment.tsx +60 -0
  161. package/src/components/Icons/AutoAwesome.tsx +60 -0
  162. package/src/components/Icons/AutoGraph.tsx +67 -0
  163. package/src/components/Icons/Autorenew.tsx +67 -0
  164. package/src/components/Icons/Bank.tsx +60 -0
  165. package/src/components/Icons/BarChart.tsx +60 -0
  166. package/src/components/Icons/Block.tsx +60 -0
  167. package/src/components/Icons/BugReport.tsx +60 -0
  168. package/src/components/Icons/Build.tsx +67 -0
  169. package/src/components/Icons/Business.tsx +67 -0
  170. package/src/components/Icons/BusinessCenter.tsx +67 -0
  171. package/src/components/Icons/Calculate.tsx +67 -0
  172. package/src/components/Icons/Calendar.tsx +56 -28
  173. package/src/components/Icons/CalendarMonth.tsx +67 -0
  174. package/src/components/Icons/CalendarToday.tsx +67 -0
  175. package/src/components/Icons/Campaign.tsx +67 -0
  176. package/src/components/Icons/Cancel.tsx +67 -0
  177. package/src/components/Icons/CardGiftcard.tsx +67 -0
  178. package/src/components/Icons/CardMembership.tsx +67 -0
  179. package/src/components/Icons/Category.tsx +70 -0
  180. package/src/components/Icons/Chat.tsx +67 -0
  181. package/src/components/Icons/Check.tsx +67 -0
  182. package/src/components/Icons/CheckBoxIcon.tsx +67 -0
  183. package/src/components/Icons/CheckCircle.tsx +67 -0
  184. package/src/components/Icons/CheckCircleOutline.tsx +67 -0
  185. package/src/components/Icons/ChevronLeft.tsx +67 -0
  186. package/src/components/Icons/ChevronRight.tsx +67 -0
  187. package/src/components/Icons/CircleOutline.tsx +67 -0
  188. package/src/components/Icons/Clear.tsx +67 -0
  189. package/src/components/Icons/Close.tsx +67 -0
  190. package/src/components/Icons/CloudSync.tsx +67 -0
  191. package/src/components/Icons/CloudUpload.tsx +67 -0
  192. package/src/components/Icons/Code.tsx +67 -0
  193. package/src/components/Icons/CompareArrows.tsx +67 -0
  194. package/src/components/Icons/Construction.tsx +67 -0
  195. package/src/components/Icons/Contacts.tsx +67 -0
  196. package/src/components/Icons/ContentCopy.tsx +67 -0
  197. package/src/components/Icons/ContractIcon.tsx +67 -0
  198. package/src/components/Icons/Create.tsx +67 -0
  199. package/src/components/Icons/CreateNewFolder.tsx +67 -0
  200. package/src/components/Icons/CreditCard.tsx +67 -0
  201. package/src/components/Icons/CreditCardOff.tsx +67 -0
  202. package/src/components/Icons/CurrencyExchange.tsx +67 -0
  203. package/src/components/Icons/Dashboard.tsx +67 -0
  204. package/src/components/Icons/DateRange.tsx +67 -0
  205. package/src/components/Icons/Delete.tsx +67 -0
  206. package/src/components/Icons/Description.tsx +67 -0
  207. package/src/components/Icons/DesktopWindows.tsx +67 -0
  208. package/src/components/Icons/DeviceHub.tsx +67 -0
  209. package/src/components/Icons/Devices.tsx +67 -0
  210. package/src/components/Icons/Dns.tsx +63 -0
  211. package/src/components/Icons/Domain.tsx +67 -0
  212. package/src/components/Icons/Download.tsx +67 -0
  213. package/src/components/Icons/Drag.tsx +60 -19
  214. package/src/components/Icons/DragIndicator.tsx +67 -0
  215. package/src/components/Icons/DuplicateIcon.tsx +67 -0
  216. package/src/components/Icons/Edit.tsx +67 -0
  217. package/src/components/Icons/Email.tsx +67 -0
  218. package/src/components/Icons/EmojiEvents.tsx +67 -0
  219. package/src/components/Icons/Engineering.tsx +75 -0
  220. package/src/components/Icons/Error.tsx +67 -0
  221. package/src/components/Icons/ErrorOutline.tsx +67 -0
  222. package/src/components/Icons/Event.tsx +67 -0
  223. package/src/components/Icons/EventAvailable.tsx +67 -0
  224. package/src/components/Icons/EventBusy.tsx +67 -0
  225. package/src/components/Icons/ExpandLess.tsx +67 -0
  226. package/src/components/Icons/ExpandMore.tsx +67 -0
  227. package/src/components/Icons/Extension.tsx +67 -0
  228. package/src/components/Icons/Favorite.tsx +67 -0
  229. package/src/components/Icons/FavoriteBorder.tsx +67 -0
  230. package/src/components/Icons/FavoriteBorderIcon.tsx +67 -0
  231. package/src/components/Icons/FavoriteIcon.tsx +50 -56
  232. package/src/components/Icons/Feedback.tsx +67 -0
  233. package/src/components/Icons/FileCopy.tsx +67 -0
  234. package/src/components/Icons/Filing.tsx +67 -0
  235. package/src/components/Icons/FilterList.tsx +67 -0
  236. package/src/components/Icons/Fingerprint.tsx +67 -0
  237. package/src/components/Icons/FirstPage.tsx +67 -0
  238. package/src/components/Icons/FormatAlignCenter.tsx +67 -0
  239. package/src/components/Icons/FormatAlignLeft.tsx +67 -0
  240. package/src/components/Icons/FormatAlignRight.tsx +67 -0
  241. package/src/components/Icons/FormatBold.tsx +67 -0
  242. package/src/components/Icons/FormatItalic.tsx +67 -0
  243. package/src/components/Icons/FormatListBulleted.tsx +72 -0
  244. package/src/components/Icons/FormatListNumbered.tsx +85 -0
  245. package/src/components/Icons/FormatUnderlined.tsx +67 -0
  246. package/src/components/Icons/Gavel.tsx +67 -0
  247. package/src/components/Icons/Gesture.tsx +67 -0
  248. package/src/components/Icons/Google.tsx +67 -0
  249. package/src/components/Icons/GridView.tsx +67 -0
  250. package/src/components/Icons/GridViewIcon.tsx +67 -0
  251. package/src/components/Icons/Group.tsx +67 -0
  252. package/src/components/Icons/GroupWork.tsx +67 -0
  253. package/src/components/Icons/Groups.tsx +67 -0
  254. package/src/components/Icons/Handshake.tsx +67 -0
  255. package/src/components/Icons/Help.tsx +67 -0
  256. package/src/components/Icons/History.tsx +67 -0
  257. package/src/components/Icons/Home.tsx +67 -0
  258. package/src/components/Icons/HomeWork.tsx +67 -0
  259. package/src/components/Icons/HourglassEmpty.tsx +67 -0
  260. package/src/components/Icons/Hub.tsx +65 -0
  261. package/src/components/Icons/ICON_THEME_MIGRATION.md +383 -0
  262. package/src/components/Icons/ImageIcon.tsx +67 -0
  263. package/src/components/Icons/IndeterminateCheckBox.tsx +67 -0
  264. package/src/components/Icons/Info.tsx +76 -22
  265. package/src/components/Icons/InfoOutline.tsx +67 -0
  266. package/src/components/Icons/Insights.tsx +67 -0
  267. package/src/components/Icons/IntegrationInstructions.tsx +66 -0
  268. package/src/components/Icons/Inventory.tsx +67 -0
  269. package/src/components/Icons/KeyboardArrowDown.tsx +67 -0
  270. package/src/components/Icons/KeyboardArrowLeft.tsx +67 -0
  271. package/src/components/Icons/KeyboardArrowRight.tsx +67 -0
  272. package/src/components/Icons/KeyboardReturn.tsx +67 -0
  273. package/src/components/Icons/Lan.tsx +66 -0
  274. package/src/components/Icons/LastPage.tsx +67 -0
  275. package/src/components/Icons/Launch.tsx +67 -0
  276. package/src/components/Icons/Layers.tsx +67 -0
  277. package/src/components/Icons/Link.tsx +67 -0
  278. package/src/components/Icons/ListAlt.tsx +67 -0
  279. package/src/components/Icons/LocalGasStation.tsx +67 -0
  280. package/src/components/Icons/LocalOffer.tsx +67 -0
  281. package/src/components/Icons/LocalShipping.tsx +67 -0
  282. package/src/components/Icons/LocationCity.tsx +67 -0
  283. package/src/components/Icons/LocationIcon.tsx +67 -0
  284. package/src/components/Icons/LocationOn.tsx +66 -0
  285. package/src/components/Icons/LocationSearching.tsx +67 -0
  286. package/src/components/Icons/Lock.tsx +67 -0
  287. package/src/components/Icons/Login.tsx +67 -0
  288. package/src/components/Icons/LogoutRounded.tsx +67 -0
  289. package/src/components/Icons/LooksFour.tsx +67 -0
  290. package/src/components/Icons/LooksOne.tsx +67 -0
  291. package/src/components/Icons/LooksThree.tsx +67 -0
  292. package/src/components/Icons/LooksTwo.tsx +67 -0
  293. package/src/components/Icons/Loop.tsx +67 -0
  294. package/src/components/Icons/LowPriority.tsx +70 -0
  295. package/src/components/Icons/Loyalty.tsx +67 -0
  296. package/src/components/Icons/Map.tsx +63 -0
  297. package/src/components/Icons/Menu.tsx +67 -0
  298. package/src/components/Icons/MenuBook.tsx +60 -0
  299. package/src/components/Icons/MonetizationOn.tsx +60 -0
  300. package/src/components/Icons/Money.tsx +60 -0
  301. package/src/components/Icons/MoreHoriz.tsx +67 -0
  302. package/src/components/Icons/MoreVert.tsx +60 -0
  303. package/src/components/Icons/Mouse.tsx +62 -0
  304. package/src/components/Icons/Navigation.tsx +60 -0
  305. package/src/components/Icons/NetworkCheck.tsx +64 -0
  306. package/src/components/Icons/NotificationActive.tsx +60 -0
  307. package/src/components/Icons/NotificationImportant.tsx +60 -0
  308. package/src/components/Icons/Notifications.tsx +60 -0
  309. package/src/components/Icons/Outlook.tsx +60 -0
  310. package/src/components/Icons/Pause.tsx +60 -0
  311. package/src/components/Icons/Payment.tsx +60 -0
  312. package/src/components/Icons/PdfIcon.tsx +56 -0
  313. package/src/components/Icons/PendingActions.tsx +60 -0
  314. package/src/components/Icons/People.tsx +65 -0
  315. package/src/components/Icons/Person.tsx +67 -0
  316. package/src/components/Icons/PersonAdd.tsx +67 -0
  317. package/src/components/Icons/PersonOutline.tsx +60 -0
  318. package/src/components/Icons/Phone.tsx +60 -0
  319. package/src/components/Icons/PlayArrow.tsx +60 -0
  320. package/src/components/Icons/PlaylistAddCheck.tsx +60 -0
  321. package/src/components/Icons/PointOfSale.tsx +60 -0
  322. package/src/components/Icons/Policy.tsx +60 -0
  323. package/src/components/Icons/PostAdd.tsx +61 -0
  324. package/src/components/Icons/PrecisionManufacturing.tsx +68 -0
  325. package/src/components/Icons/Preview.tsx +60 -0
  326. package/src/components/Icons/Print.tsx +60 -0
  327. package/src/components/Icons/PriorityHigh.tsx +62 -0
  328. package/src/components/Icons/Psychology.tsx +60 -0
  329. package/src/components/Icons/Public.tsx +60 -0
  330. package/src/components/Icons/QrCode.tsx +76 -0
  331. package/src/components/Icons/QrCodeScanner.tsx +67 -0
  332. package/src/components/Icons/RadioButtonChecked.tsx +60 -0
  333. package/src/components/Icons/RateReview.tsx +60 -0
  334. package/src/components/Icons/Receipt.tsx +60 -0
  335. package/src/components/Icons/Redo.tsx +60 -0
  336. package/src/components/Icons/Refresh.tsx +67 -0
  337. package/src/components/Icons/Remove.tsx +60 -0
  338. package/src/components/Icons/Repeat.tsx +60 -0
  339. package/src/components/Icons/ReportProblem.tsx +61 -0
  340. package/src/components/Icons/RequestQuote.tsx +62 -0
  341. package/src/components/Icons/Restore.tsx +59 -0
  342. package/src/components/Icons/Router.tsx +60 -0
  343. package/src/components/Icons/Save.tsx +67 -0
  344. package/src/components/Icons/Schedule.tsx +60 -0
  345. package/src/components/Icons/School.tsx +60 -0
  346. package/src/components/Icons/ScreenRotation.tsx +60 -0
  347. package/src/components/Icons/Search.tsx +59 -39
  348. package/src/components/Icons/Security.tsx +60 -0
  349. package/src/components/Icons/Send.tsx +60 -0
  350. package/src/components/Icons/Settings.tsx +67 -0
  351. package/src/components/Icons/Shield.tsx +60 -0
  352. package/src/components/Icons/ShoppingBasket.tsx +67 -0
  353. package/src/components/Icons/ShowChart.tsx +60 -0
  354. package/src/components/Icons/ShowHideEye.tsx +117 -22
  355. package/src/components/Icons/SkipNext.tsx +60 -0
  356. package/src/components/Icons/SmartButtonIcon.tsx +67 -0
  357. package/src/components/Icons/Smartphone.tsx +60 -0
  358. package/src/components/Icons/Sms.tsx +56 -0
  359. package/src/components/Icons/Sort.tsx +65 -0
  360. package/src/components/Icons/Spa.tsx +63 -0
  361. package/src/components/Icons/Speed.tsx +66 -0
  362. package/src/components/Icons/Star.tsx +65 -0
  363. package/src/components/Icons/StarBorder.tsx +65 -0
  364. package/src/components/Icons/StarIcon.tsx +65 -0
  365. package/src/components/Icons/Stop.tsx +67 -0
  366. package/src/components/Icons/Storage.tsx +65 -0
  367. package/src/components/Icons/Store.tsx +65 -0
  368. package/src/components/Icons/StoreMallDirectory.tsx +65 -0
  369. package/src/components/Icons/StrikethroughS.tsx +65 -0
  370. package/src/components/Icons/SupervisedUserCircle.tsx +65 -0
  371. package/src/components/Icons/Support.tsx +65 -0
  372. package/src/components/Icons/Sync.tsx +65 -0
  373. package/src/components/Icons/TableIcon.tsx +65 -0
  374. package/src/components/Icons/Tablet.tsx +65 -0
  375. package/src/components/Icons/TemplateIcon.tsx +65 -0
  376. package/src/components/Icons/TextFieldsIcon.tsx +67 -0
  377. package/src/components/Icons/ThumbUp.tsx +65 -0
  378. package/src/components/Icons/Timeline.tsx +65 -0
  379. package/src/components/Icons/Timer.tsx +65 -0
  380. package/src/components/Icons/Transfer.tsx +65 -0
  381. package/src/components/Icons/TrendingDown.tsx +65 -0
  382. package/src/components/Icons/TrendingUp.tsx +65 -0
  383. package/src/components/Icons/Undo.tsx +65 -0
  384. package/src/components/Icons/VerifiedUser.tsx +65 -0
  385. package/src/components/Icons/VideoLibraryIcon.tsx +67 -0
  386. package/src/components/Icons/Videocam.tsx +66 -0
  387. package/src/components/Icons/ViewCompact.tsx +67 -0
  388. package/src/components/Icons/ViewCompactIcon.tsx +65 -0
  389. package/src/components/Icons/ViewHeadlineIcon.tsx +67 -0
  390. package/src/components/Icons/ViewIcon.tsx +65 -0
  391. package/src/components/Icons/ViewList.tsx +65 -0
  392. package/src/components/Icons/ViewModule.tsx +65 -0
  393. package/src/components/Icons/ViewSidebar.tsx +65 -0
  394. package/src/components/Icons/Visibility.tsx +65 -0
  395. package/src/components/Icons/VisibilityOff.tsx +65 -0
  396. package/src/components/Icons/VpnKey.tsx +65 -0
  397. package/src/components/Icons/VpnLock.tsx +65 -0
  398. package/src/components/Icons/Warning.tsx +65 -0
  399. package/src/components/Icons/WarningAmber.tsx +69 -0
  400. package/src/components/Icons/WaterDrop.tsx +67 -0
  401. package/src/components/Icons/Web.tsx +61 -0
  402. package/src/components/Icons/Widgets.tsx +65 -0
  403. package/src/components/Icons/Wifi.tsx +67 -0
  404. package/src/components/Icons/WifiOff.tsx +67 -0
  405. package/src/components/Icons/Work.tsx +67 -0
  406. package/src/components/Icons/WorkspacePremium.tsx +67 -0
  407. package/src/components/Icons/index.ts +261 -0
  408. package/src/components/InputLabel/index.tsx +137 -0
  409. package/src/components/List/index.tsx +77 -0
  410. package/src/components/MenuItem/index.tsx +147 -0
  411. package/src/components/Pagination/index.tsx +455 -0
  412. package/src/components/Paper/index.tsx +93 -0
  413. package/src/components/Popover/index.tsx +65 -0
  414. package/src/components/Popover/popover.stories.tsx +455 -0
  415. package/src/components/PricingTable/index.tsx +488 -337
  416. package/src/components/PricingTable/pricingtable.stories.tsx +66 -130
  417. package/src/components/ProgressBar/index.tsx +104 -0
  418. package/src/components/ProgressBar/progressbar.stories.tsx +641 -0
  419. package/src/components/ProjectBoard/ShowTask.stories.tsx +218 -0
  420. package/src/components/ProjectBoard/administratorCompanyDropdown.stories.tsx +213 -0
  421. package/src/components/ProjectBoard/administratorCompanyProvided.stories.tsx +205 -0
  422. package/src/components/ProjectBoard/board/board.stories.tsx +516 -0
  423. package/src/components/ProjectBoard/board/index.tsx +836 -41
  424. package/src/components/ProjectBoard/companyCustomerDropdown.stories.tsx +228 -0
  425. package/src/components/ProjectBoard/companyCustomerProvided.stories.tsx +206 -0
  426. package/src/components/ProjectBoard/customer.stories.tsx +154 -0
  427. package/src/components/ProjectBoard/forms/AddTask/administrator/companyDropdown/index.tsx +346 -450
  428. package/src/components/ProjectBoard/forms/AddTask/administrator/companyProvided/index.tsx +337 -432
  429. package/src/components/ProjectBoard/forms/AddTask/company/customerDropdown/index.tsx +363 -471
  430. package/src/components/ProjectBoard/forms/AddTask/company/customerProvided/index.tsx +336 -436
  431. package/src/components/ProjectBoard/forms/AddTask/customer/index.tsx +238 -314
  432. package/src/components/ProjectBoard/forms/AddTask/noUser/index.tsx +71 -147
  433. package/src/components/ProjectBoard/forms/ShowTask/client.tsx +639 -974
  434. package/src/components/ProjectBoard/index.tsx +193 -365
  435. package/src/components/ProjectBoard/noUser.stories.tsx +141 -0
  436. package/src/components/ProjectBoard/types/index.tsx +5 -2
  437. package/src/components/ProjectBoard/utils/useDragandDrop/columns.tsx +115 -42
  438. package/src/components/ProjectBoard/utils/useDragandDrop/tasks.tsx +146 -56
  439. package/src/components/QRCode/index.tsx +97 -262
  440. package/src/components/QRCode/qrcode.stories.tsx +510 -79
  441. package/src/components/RadioGroup/index.tsx +74 -125
  442. package/src/components/RadioGroup/radiogroup.stories.tsx +456 -66
  443. package/src/components/Select/index.tsx +183 -0
  444. package/src/components/Slide/index.tsx +49 -0
  445. package/src/components/Slide/slide.stories.tsx +327 -0
  446. package/src/components/Snackbar/index.tsx +65 -0
  447. package/src/components/Snackbar/snackbar.stories.tsx +834 -0
  448. package/src/components/Stack/index.tsx +162 -0
  449. package/src/components/Stepper/index.tsx +371 -245
  450. package/src/components/Stepper/stepper.stories.tsx +792 -215
  451. package/src/components/Switch/index.tsx +138 -0
  452. package/src/components/Switch/switch.stories.tsx +1000 -0
  453. package/src/components/Table/Table.stories.tsx +123 -0
  454. package/src/components/Table/index.tsx +262 -0
  455. package/src/components/Tabs/index.tsx +112 -172
  456. package/src/components/Tabs/tabs.stories.tsx +131 -158
  457. package/src/components/ToggleButton/index.tsx +267 -0
  458. package/src/components/ToggleButton/togglebutton.stories.tsx +637 -0
  459. package/src/components/Toolbar/index.tsx +156 -156
  460. package/src/components/Toolbar/left/index.tsx +52 -47
  461. package/src/components/Toolbar/leftCenter/index.tsx +109 -71
  462. package/src/components/Toolbar/right/index.tsx +29 -29
  463. package/src/components/Toolbar/rightCenter/index.tsx +22 -17
  464. package/src/components/Toolbar/toolbar.stories.tsx +134 -71
  465. package/src/components/Tooltip/index.tsx +224 -76
  466. package/src/components/Tooltip/tooltip.stories.tsx +97 -137
  467. package/src/components/TransferList/index.tsx +313 -354
  468. package/src/components/TransferList/transferlist.stories.tsx +191 -157
  469. package/src/components/TreeView/index.tsx +1205 -0
  470. package/src/components/TreeView/treeview.stories.tsx +788 -0
  471. package/src/components/Typography/index.tsx +53 -390
  472. package/src/components/Typography/typography.stories.tsx +260 -101
  473. package/src/components/Zoom/index.tsx +48 -0
  474. package/src/index.ts +194 -40
  475. package/src/stories/Button.stories.ts +1 -1
  476. package/src/stories/Header.stories.ts +1 -1
  477. package/src/stories/Page.stories.ts +1 -1
  478. package/src/theme/accordion.ts +784 -0
  479. package/src/theme/alert.ts +619 -0
  480. package/src/theme/appbar.ts +297 -0
  481. package/src/theme/avatar.ts +188 -0
  482. package/src/theme/badge.ts +166 -0
  483. package/src/theme/breadcrumb.ts +315 -0
  484. package/src/theme/button.ts +403 -0
  485. package/src/theme/card.ts +382 -0
  486. package/src/theme/checkbox.ts +538 -0
  487. package/src/theme/chip.ts +656 -0
  488. package/src/theme/codecopy.ts +427 -0
  489. package/src/theme/complextexteditor.ts +508 -0
  490. package/src/theme/confirmationcodeinput.ts +687 -0
  491. package/src/theme/container.ts +175 -0
  492. package/src/theme/datagrid.ts +784 -0
  493. package/src/theme/dialog.ts +465 -0
  494. package/src/theme/divider.ts +205 -0
  495. package/src/theme/drawer.ts +358 -0
  496. package/src/theme/dropdown.ts +733 -0
  497. package/src/theme/fade.ts +132 -0
  498. package/src/theme/formField.ts +388 -0
  499. package/src/theme/icon.ts +308 -0
  500. package/src/theme/index.ts +558 -0
  501. package/src/theme/list.ts +160 -0
  502. package/src/theme/nav.ts +1111 -0
  503. package/src/theme/pagination.ts +368 -0
  504. package/src/theme/paper.ts +269 -0
  505. package/src/theme/popover.ts +178 -0
  506. package/src/theme/pricingtable.ts +693 -0
  507. package/src/theme/progressbar.ts +433 -0
  508. package/src/theme/projectboard.ts +291 -0
  509. package/src/theme/qrcode.ts +485 -0
  510. package/src/theme/radiogroup.ts +424 -0
  511. package/src/theme/shared.ts +222 -0
  512. package/src/theme/slide.ts +161 -0
  513. package/src/theme/stepper.ts +849 -0
  514. package/src/theme/switch.ts +567 -0
  515. package/src/theme/tabs.ts +552 -0
  516. package/src/theme/toolbar.ts +238 -0
  517. package/src/theme/tooltip.ts +232 -0
  518. package/src/theme/treeview.ts +1239 -0
  519. package/src/theme/typography.ts +812 -0
  520. package/src/theme/zoom.ts +166 -0
  521. package/src/utils/alpha.ts +34 -0
  522. package/src/utils/keyframes.ts +81 -0
  523. package/src/components/Card/card.stories.tsx +0 -337
  524. package/src/components/Card/variants/defaultconfig/index.tsx +0 -236
  525. package/src/components/Card/variants/detailedpricingsummary/index.tsx +0 -270
  526. package/src/components/Card/variants/inventory/index.tsx +0 -289
  527. package/src/components/Card/variants/product/index.tsx +0 -378
  528. package/src/components/Card/variants/productsummary/index.tsx +0 -274
  529. package/src/components/Card/variants/simplepricingsummary/index.tsx +0 -215
  530. package/src/components/Card/variants/task/index.tsx +0 -197
  531. package/src/components/ComplexTextEditor/utils/useRichtextEditor.tsx +0 -440
  532. package/src/components/Content/Structure/CreditCardExpiration/useCreditCardExpiration.tsx +0 -62
  533. package/src/components/Content/Structure/card/useCard.tsx +0 -24
  534. package/src/components/Content/Structure/incremementNumberField/useIncremementNumberField.tsx +0 -33
  535. package/src/components/DataGrid/ManageColumn/index.tsx +0 -331
  536. package/src/components/Field/Date/CreditCardExpiration/index.tsx +0 -1304
  537. package/src/components/Field/Dropdown/Searchable/index.tsx +0 -1711
  538. package/src/components/Field/Dropdown/Searchable/searchabledropdown.stories.tsx +0 -746
  539. package/src/components/Field/IPAM/NetworkAddress/index.tsx +0 -499
  540. package/src/components/Field/Number/ExternalIncrement/incrementnumberfield.stories.tsx +0 -152
  541. package/src/components/Field/Number/InternalIncrement/numberfield.stories.tsx +0 -228
  542. package/src/components/Nav/VerticalVariant/mainNav/expanding.tsx +0 -168
  543. package/src/components/Nav/VerticalVariant/mainNav/list.tsx +0 -160
  544. package/src/components/Nav/VerticalVariant/subNav/expanding.tsx +0 -159
  545. package/src/components/Nav/VerticalVariant/subNav/list.tsx +0 -120
  546. package/src/components/Nav/VerticalVariant/subSubViewNav/list.tsx +0 -133
  547. package/src/components/Nav/VerticalVariant/subViewNav/expanding.tsx +0 -175
  548. package/src/components/Nav/VerticalVariant/subViewNav/list.tsx +0 -133
  549. package/src/components/Nav/VerticalVariant/viewNav/expanding.tsx +0 -164
  550. package/src/components/Nav/VerticalVariant/viewNav/index.tsx +0 -124
  551. package/src/components/Nav/index.tsx +0 -1056
  552. package/src/components/Nav/nav.stories.tsx +0 -473
  553. package/src/components/ProjectBoard/board/desktop/index.tsx +0 -487
  554. package/src/components/ProjectBoard/board/mobile/index.tsx +0 -515
  555. package/src/components/ProjectBoard/board/tablet/index.tsx +0 -496
  556. package/src/components/ProjectBoard/projectboard.stories.tsx +0 -881
  557. package/src/components/Widget/index.tsx +0 -343
  558. package/src/stories/Configure.mdx +0 -451
  559. package/src/styles/Form/index.ts +0 -7
  560. package/src/styles/palette.ts +0 -143
  561. package/src/styles/typography.ts +0 -185
  562. package/src/types/react-datepicker.d.ts +0 -75
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # goobs-frontend
2
2
 
3
- goobs-frontend, is a React-based UI library built on Material-UI.
3
+ goobs-frontend is a comprehensive React-based UI component library featuring a custom design system with 100+ components, built with TypeScript and modern React patterns.
4
4
 
5
5
  The NPM repo is available here - https://www.npmjs.com/package/goobs-frontend
6
6
 
@@ -46,343 +46,144 @@ export default nextConfig
46
46
 
47
47
  After this is done, you can import components from goobs-frontend into your project.
48
48
 
49
- ## Components
50
-
51
- Below is a high-level overview of all components now available in goobs-frontend. For full usage instructions, code snippets, and best practices, see our Storybook.
52
-
53
- ### Accordion
54
-
55
- Description: A collapsible container for toggling expanded/collapsed content.
56
-
57
- Features: Built on Material-UI’s Accordion.
58
-
59
- Combines Accordion, AccordionSummary, and AccordionDetails for a complete layout.
60
-
61
- ### Button
62
-
63
- Description: A Material-UI Button wrapper with advanced customization—supporting icons, text alignment, and coloring.
64
-
65
- Features: Flexible icon positioning (left, right, above).
66
-
67
- Configurable background color, text color, dimensions, etc.
68
-
69
- ### Card
70
-
71
- Description: A versatile container with multiple variants (inventory, pricing, product, tasks, etc.).
72
-
73
- Features: Displays images, stepper integration, and optional breadcrumbs.
74
-
75
- Ideal for product listings, tasks, or advanced pricing scenarios.
76
-
77
- ### CodeCopy
78
-
79
- Description: Renders syntax-highlighted code blocks and offers a single-click “Copy to clipboard” button.
80
-
81
- Features: Uses highlight.js for syntax highlighting.
82
-
83
- Great for docs, tutorials, or developer portals.
84
-
85
- ### ConfirmationCodeInputs
86
-
87
- Description: An OTP-style multi-digit input.
88
-
89
- Features: Automatically moves focus between fields, numeric-only.
90
-
91
- Visual valid/invalid status indicator.
92
-
93
- ### ComplexTextEditor
94
-
95
- Description: A text editor capable of switching between modes (simple, markdown, or rich text) via a single toolbar.
96
-
97
- Features: Uses sub-editors (SimpleEditor, RichTextEditor, MarkdownEditor).
98
-
99
- Accepts label, min-rows, error text, etc.
100
-
101
- ### Content
102
-
103
- Description: A catch-all container that can render multiple typed sub-components (typography, images, forms, etc.).
104
-
105
- Features: Allows dynamic rendering of sub-components in a structured layout.
106
-
107
- ### CustomToolbar
108
-
109
- Description: A flexible toolbar with optional buttons, search bar, dropdowns, and management actions.
110
-
111
- Features:
112
-
113
- - Left: Renders an optional vertical divider and an array of buttons.
114
- - LeftCenter: Typically a search bar.
115
- - Right: Renders one or more Dropdown components.
116
- - RightCenter: Manages selected rows or data actions (duplicate, delete, etc.).
117
-
118
- ### DataGrid
119
-
120
- Description: A table/grid with row selection, search, pagination, and advanced row management (duplicate, delete, etc.).
121
-
122
- Features:
123
-
124
- - Built-in search integration.
125
- - Custom toolbars, footers, and row selection.
126
- - Single or multiple row selection with checkboxes.
127
-
128
- ### DataGridCheckbox
129
-
130
- Description: A specialized Checkbox for data grid usage, logging click/change events.
131
-
132
- Features:
133
-
134
- - Styled for grid contexts.
135
- - Allows debug logging or analytics.
136
-
137
- ### DateField
138
-
139
- Description: A date picker that supports both manual text entry and a pop-up calendar (via react-datepicker).
140
-
141
- Features:
142
-
143
- - Arrow-key increments for day/month/year.
144
- - Partial manual editing (e.g., only day or month).
145
-
146
- ### Dialog and Popup
147
-
148
- Description: Modal components for various form-based interactions.
149
-
150
- Features:
151
-
152
- - Popup for simpler modals; Dialog for more complex or multi-step forms.
153
- - Both can integrate with form controls or custom actions.
154
-
155
- ### Dropdown
156
-
157
- Description: A select input with advanced styling (label above or on the outline) and typed options.
158
-
159
- Features:
160
-
161
- - Allows custom color overrides for background, outline, and font.
162
- - Works well in forms or toolbars.
163
-
164
- ### FormDataGrid
165
-
166
- Description: A specialized DataGrid for form-based usage.
167
-
168
- Features:
169
-
170
- - Possibly merges form validation with row-based data editing.
171
- - Accepts typed definitions for columns, validation, or data transformations.
172
-
173
- ### Grid
174
-
175
- Description: A flexible grid system for laying out UI components, wrapping Material-UI’s Grid.
176
-
177
- Features:
178
-
179
- - Row/column/cell configurations with advanced spacing and alignment.
180
- - Perfect for building complex multi-column forms or pages.
181
-
182
- ### IncrementNumberField
183
-
184
- Description: A numeric input with dedicated increment/decrement buttons.
185
-
186
- Features:
187
-
188
- - Restricts input to digits.
189
- - Configurable label, background, outline, and text color.
190
-
191
- ### MultiSelectChip
192
-
193
- Description: A multiple-selection dropdown that displays selected items as chips.
194
-
195
- Features:
196
-
197
- - Easy to handle multiple values.
198
- - Optional background, font, and label styling.
199
-
200
- ### Nav (Vertical)
201
-
202
- Description: A vertical navigation component with expandable main/sub nav items, optional search, etc.
203
-
204
- Features:
205
-
206
- - Supports multiple levels: mainNav, subNav, and viewNav.
207
- - Collapsible sections and optional route-based or onClick triggers.
208
-
209
- ### NumberField
210
-
211
- Description: A numeric text field with optional min/max constraints.
212
-
213
- Features:
214
-
215
- - Restricts non-numeric input.
216
- - Auto-corrects values outside allowable ranges.
217
-
218
- ### PasswordField
219
-
220
- Description: A text field for secure passwords, featuring a show/hide toggle icon.
221
-
222
- Features:
223
-
224
- - Color overrides for background, outline, text.
225
- - Eye icon toggles between hidden and visible text.
226
-
227
- ### PhoneNumberField
228
-
229
- Description: A phone number input that auto-formats values (e.g., +1-xxx-xxx-xxxx).
230
-
231
- Features:
232
-
233
- - Removes non-digit characters, ensures +1.
234
- - Great for US-based phone inputs, can be adapted for international usage.
235
-
236
- ### PricingTable
237
-
238
- Description: A tabular display of multi-tier pricing data, toggling monthly/annual costs, etc.
239
-
240
- Features:
241
-
242
- - Compare multiple packages.
243
- - Checkmark-based feature lists.
244
- - Integrated CTA buttons, easily link to a router or checkout flow.
245
-
246
- ### ProjectBoard
247
-
248
- Description: A kanban-like board for tasks, with drag-and-drop columns, search, and sub-forms (AddTask, ShowTask).
249
-
250
- Features:
251
-
252
- - Handles status/sub-status or severity-based columns.
253
- - Built-in search, comment, revision history, assigned user, etc.
254
-
255
- ### QRCodeComponent
256
-
257
- Description: Dynamically generates a QR code from TOTP secrets (or any string).
258
-
259
- Features:
260
-
261
- - Integrates with otplib for generating or verifying TOTP secrets.
262
- - Accepts size, optional title, and callback for the generated secret.
263
-
264
- ### RadioGroup
265
-
266
- Description: A group of radio buttons for single-option selection, built on Material-UI’s RadioGroup.
267
-
268
- Features:
269
-
270
- - Accepts typed RadioOption for label customizations.
271
- - Includes an optional overall label with custom font variants/colors.
272
-
273
- ### RichTextEditor
274
-
275
- Description: A full WYSIWYG editor with optional Markdown toggles, link insertion, bold/italic, etc.
276
-
277
- Features:
278
-
279
- - Built on Slate or similar.
280
- - Separate toolbars for Rich Text vs. Markdown modes.
281
-
282
- ### SearchableDropdown
283
-
284
- Description: A dropdown with real-time filtering, based on Material-UI’s Autocomplete.
285
-
286
- Features:
287
-
288
- - Additional attributes for each option (attribute1, attribute2).
289
- - Flexible color/label styling.
290
-
291
- ### Searchbar
292
-
293
- Description: A stylized search input field, typically placed in a toolbar or nav.
294
-
295
- Features:
296
-
297
- - Icon, label positioning, and color customization.
298
- - Easy onChange event to handle filtering or searching.
299
-
300
- ### ShowTask
301
-
302
- Description: A modal-based component that displays a single task, its fields, and a comment section with revision history.
303
-
304
- Features:
305
-
306
- - Edits or adds comments, optionally restricted to the original commenter.
307
- - Adjust sub-status, assigned user, next-action date, etc.
308
-
309
- ### Stepper (CustomStepper)
310
-
311
- Description: A multi-step progress indicator for processes or wizards.
312
-
313
- Features:
314
-
315
- - Supports “completed”, “active”, “error”, or “inactive” steps.
316
- - Displays optional step descriptions or links.
317
- - Step icons can be customized (check, lock, error, etc.).
318
-
319
- ### StyledTooltip
320
-
321
- Description: A Material-UI Tooltip extended with custom color, offsets, and arrow placement.
322
-
323
- Features:
324
-
325
- - Override background color, text color, arrow color.
326
- - Precisely position via offset props.
327
-
328
- ### Tabs (Horizontal)
329
-
330
- Description: A horizontal tab navigation bar built with Material-UI’s Tabs.
331
-
332
- Features:
333
-
334
- - Route-based (trigger='route') or custom callback (trigger='onClick') tab switches.
335
- - Supports alignment (left, center, right, justify) and optional borders.
336
-
337
- ### TextField
338
-
339
- Description: A Material-UI TextField wrapper with advanced color and label position overrides, plus optional end adornments.
340
-
341
- Features:
342
-
343
- - Label can shrink onto or above the outline for a unique UI.
344
- - Extended color styling for background, outline, font, placeholder, etc.
345
-
346
- ### Toolbar
347
-
348
- Description: A flexible container for actions, often used atop tables or pages for filtering, button actions, and more.
349
-
350
- Features:
351
-
352
- - Extensible subcomponents (Left, LeftCenter, Right, RightCenter).
353
- - Adapts layout based on screen size (desktop, tablet, mobile).
354
-
355
- ### Tooltip
356
-
357
- Description: A styled tooltip (see StyledTooltip).
358
-
359
- Features:
360
-
361
- - Enhanced theming, offsets, arrow customization.
362
- - Works with icons, text, or anything that needs a hover tooltip.
363
-
364
- ### TransferList
365
-
366
- Description: A dual-list component for transferring items between left and right.
367
-
368
- Features:
369
-
370
- - “Move selected” or “Move all” controls.
371
- - Single or multiple selection variants.
372
- - Can pair with dropdowns for multi-collection contexts.
373
-
374
- ### Typography
375
-
376
- Description: A text component supporting multiple font families (Arapey, Inter, Merriweather) and variant styles.
377
-
378
- Features:
379
-
380
- - Additional variants like paragraph, helperheader, helperfooter.
381
- - Flexible coloring and consistent text sizing across your app.
49
+ ## Component Library Overview
50
+
51
+ goobs-frontend provides 100+ fully-featured React components organized into logical categories. All components are built with TypeScript, custom theming, and responsive design principles. For detailed documentation, examples, and interactive demos, visit our [Storybook](https://storybook.technologiesunlimited.net/).
52
+
53
+ ## Core Component Categories
54
+
55
+ ### 🎨 Layout & Structure
56
+ - **Grid** - Responsive grid system with flexible row/column configurations
57
+ - **Container** - Responsive content containers with consistent spacing
58
+ - **Stack** - One-dimensional layout component for arranging items
59
+ - **Paper** - Elevated surface container for content sections
60
+ - **Divider** - Visual separators for content organization
61
+
62
+ ### 📝 Form Components
63
+ **Text Inputs**
64
+ - **TextField** - Versatile text input with advanced styling and label positioning
65
+ - **PasswordField** - Secure password input with show/hide toggle functionality
66
+ - **SearchField** - Search input with integrated search icons and styling
67
+ - **ComplexTextEditor** - Multi-mode editor (simple, markdown, rich text) with integrated toolbar
68
+
69
+ **Specialized Inputs**
70
+ - **PhoneNumberField** - Auto-formatting phone number input (+1-xxx-xxx-xxxx)
71
+ - **USDField** - Currency input with dollar formatting and validation
72
+ - **PercentageField** - Percentage input with % symbol and range validation
73
+ - **ConfirmationCodeInput** - OTP-style multi-digit input with auto-focus progression
74
+
75
+ **Number Inputs**
76
+ - **IncrementNumberField** - Number input with built-in increment/decrement controls
77
+ - **AccountNumberField** - Bank account number input with validation
78
+ - **RoutingNumberField** - Bank routing number input with format validation
79
+ - **CreditCardField** - Credit card input with real-time formatting
80
+ - **CVVField** - Secure CVV input for payment forms
81
+
82
+ **Date & Time**
83
+ - **DateField** - Date picker with calendar popup and keyboard navigation
84
+ - **DateRangeField** - Start/end date selection with range validation
85
+ - **TimeRangeField** - Time range selector with 12/24 hour support
86
+
87
+ **Selection Components**
88
+ - **Dropdown** - Customizable select component with advanced styling
89
+ - **MultiSelectChip** - Multi-selection dropdown with chip display
90
+ - **SearchableDropdown** - Real-time filtering dropdown with autocomplete
91
+ - **RadioGroup** - Radio button groups with custom styling and TypeScript support
92
+ - **Checkbox** - Enhanced checkbox with indeterminate state support
93
+ - **Switch** - Toggle switch with smooth animations
94
+
95
+ **IPAM & Network Fields**
96
+ - **IPAddressField** - IP address input with validation
97
+ - **CIDRField** - CIDR notation input with subnet validation
98
+ - **SubnetField** - Subnet configuration input
99
+ - **VLANField** - VLAN ID input with range validation
100
+ - **MACAddressField** - MAC address input with auto-formatting
101
+
102
+ ### 🗂️ Data Display
103
+ - **DataGrid** - Advanced data table with sorting, filtering, pagination, and row management
104
+ - **Table** - Lightweight table component for simple data display
105
+ - **Card** - Versatile card container with multiple variants (product, pricing, task, inventory)
106
+ - **List** - Flexible list component with custom item rendering
107
+ - **PricingTable** - Specialized pricing comparison table with feature highlights
108
+ - **ProjectBoard** - Kanban-style board with drag-and-drop task management
109
+
110
+ ### 🧭 Navigation
111
+ - **Tabs** - Horizontal tab navigation with route integration
112
+ - **Breadcrumb** - Breadcrumb navigation with custom separators
113
+ - **Stepper** - Step-by-step process indicator with customizable states
114
+ - **TreeView** - Hierarchical tree navigation with expand/collapse
115
+ - **Pagination** - Page navigation with customizable page size options
116
+
117
+ ### 🎯 Action Components
118
+ - **Button** - Highly customizable button with icon support and flexible positioning
119
+ - **IconButton** - Icon-only buttons with hover states and accessibility
120
+ - **ToggleButton** - Toggle button with active/inactive states
121
+
122
+ ### 💬 Feedback & Overlays
123
+ - **Alert** - Contextual alerts with multiple severity levels
124
+ - **Dialog** - Modal dialogs for complex interactions
125
+ - **Snackbar** - Toast notifications with action buttons
126
+ - **Tooltip** - Enhanced tooltips with custom positioning and styling
127
+ - **Popover** - Positioned popup containers
128
+
129
+ ### 🔧 Utility Components
130
+ - **Accordion** - Collapsible content sections with smooth animations
131
+ - **Badge** - Notification badges with custom positioning
132
+ - **Chip** - Compact information chips with delete functionality
133
+ - **Avatar** - User avatars with fallback text and image support
134
+ - **ProgressBar** - Progress indicators with customizable styling
135
+ - **CodeCopy** - Syntax-highlighted code blocks with one-click copying
136
+ - **QRCode** - Dynamic QR code generator with TOTP integration
137
+ - **TransferList** - Dual-list component for moving items between collections
138
+
139
+ ### 🎨 Design & Animation
140
+ - **Typography** - Text component with multiple font families (Arapey, Inter, Merriweather)
141
+ - **Fade**, **Slide**, **Zoom** - Smooth transition components for enhanced UX
142
+
143
+ ### 🏗️ Advanced Components
144
+ - **Toolbar** - Flexible toolbar with multiple sections and responsive behavior
145
+ - **Content** - Dynamic content renderer supporting multiple content types
146
+ - **FormDataGrid** - Data grid with integrated form validation
147
+
148
+ ### 📱 Mobile-First Design
149
+ All components are built with mobile-first responsive design principles, ensuring optimal performance across desktop, tablet, and mobile devices.
150
+
151
+ ### 🎨 Comprehensive Icon Library
152
+ 200+ carefully crafted icons covering:
153
+ - Navigation (arrows, chevrons, menu controls)
154
+ - Actions (add, delete, edit, save, settings)
155
+ - Communication (email, phone, notifications)
156
+ - Business (payment, store, analytics)
157
+ - Technology (code, devices, security, networking)
158
+ - Status indicators (success, error, warning, info)
159
+
160
+ ## Key Features
161
+
162
+ ### 🔧 Customization
163
+ - **Advanced Theming** - Override colors, fonts, spacing, and component behavior
164
+ - **Flexible Styling** - Custom CSS-in-JS with theme-aware styling system
165
+ - **Component Variants** - Multiple pre-built variants for common use cases
166
+
167
+ ### 📋 Developer Experience
168
+ - **Full TypeScript Support** - Complete type definitions with IntelliSense
169
+ - **Comprehensive Documentation** - Interactive Storybook with live examples
170
+ - **Consistent API** - Predictable prop patterns across all components
171
+
172
+ ### ♿ Accessibility & Performance
173
+ - **ARIA Compliance** - Full accessibility support with proper ARIA labels
174
+ - **Keyboard Navigation** - Complete keyboard support for all interactive components
175
+ - **Performance Optimized** - Lazy loading, code splitting, and optimized bundle sizes
176
+
177
+ ### 🚀 Modern React Patterns
178
+ - **Hooks-Based** - Built with modern React hooks and functional components
179
+ - **State Management** - Integrated Jotai support for complex state scenarios
180
+ - **Form Integration** - Seamless integration with popular form libraries
181
+
182
+ *For complete component documentation, interactive examples, and implementation guides, visit the [Storybook documentation](https://storybook.technologiesunlimited.net/).*
382
183
 
383
184
  ### Feedback and Contributions
384
185
 
385
- We welcome contributions of all kinds:
186
+ I welcome feedback and contributions of all kinds:
386
187
 
387
188
  - Issues: Report bugs or request features via GitHub Issues.
388
189
  - Pull Requests: Fork, create a branch, and open a PR for review.
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "goobs-frontend",
3
- "version": "0.9.35",
3
+ "version": "0.122.0",
4
4
  "type": "module",
5
- "description": "A comprehensive React-based libary that extends the functionality of Material-UI",
5
+ "description": "A comprehensive React-based libary for building modern web applications",
6
6
  "license": "MIT",
7
7
  "main": "./src/index.ts",
8
8
  "types": "./src/index.ts",
@@ -18,17 +18,17 @@
18
18
  "serve": "next start",
19
19
  "start": "storybook dev -p 6006",
20
20
  "lint": "next lint",
21
+ "lint:fix": "next lint --fix --quiet --progress",
22
+ "lint:verbose": "eslint \"src/**/*.{js,mjs,cjs,jsx,ts,tsx}\" --fix --format=pretty --max-warnings=0 --debug",
23
+ "lint:progress": "eslint \"src/**/*.{js,mjs,cjs,jsx,ts,tsx}\" --fix --format=unix --max-warnings=0",
24
+ "lint:test": "eslint \"src/components/Button/Button.tsx\" --fix --format=stylish --debug",
25
+ "clean-unused": "bun run lint:progress && echo \"✅ Linting complete, now formatting...\" && bun run format",
26
+ "format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,css,md}\"",
21
27
  "storybook": "storybook dev -p 6006",
22
28
  "build-storybook": "storybook build"
23
29
  },
24
30
  "dependencies": {
25
- "@emotion/cache": "^11",
26
- "@emotion/react": "^11",
27
- "@emotion/styled": "^11",
28
- "@mui/icons-material": "^7",
29
- "@mui/material": "^7",
30
31
  "@storybook/addon-links": "^9",
31
- "@storybook/test": "^8.6.14",
32
32
  "@types/lodash": "^4",
33
33
  "formik": "^2",
34
34
  "highlight.js": "^11",
@@ -37,34 +37,44 @@
37
37
  "next": "15",
38
38
  "otplib": "^12",
39
39
  "react-qr-code": "^2",
40
- "slate": "^0.117",
41
- "slate-dom": "^0.116",
40
+ "slate": "^0.118",
41
+ "slate-dom": "^0.117",
42
42
  "slate-history": "^0.113",
43
43
  "slate-react": "^0.117",
44
44
  "storybook": "^9",
45
- "zod": "^3",
45
+ "zod": "^4",
46
46
  "zod-formik-adapter": "^1"
47
47
  },
48
48
  "devDependencies": {
49
- "@chromatic-com/storybook": "^4",
49
+ "@babel/core": "^7.28.0",
50
+ "@babel/generator": "^7.28.0",
51
+ "@babel/parser": "^7.28.0",
52
+ "@babel/traverse": "^7.28.0",
53
+ "@babel/types": "^7.28.0",
54
+ "@chromatic-com/storybook": "^4.0.1",
50
55
  "@next/eslint-plugin-next": "^15",
51
56
  "@storybook/addon-onboarding": "^9",
52
57
  "@storybook/nextjs": "^9",
53
58
  "@storybook/react": "^9",
54
- "@types/react": "^19",
55
- "@types/react-dom": "^19",
56
- "@typescript-eslint/eslint-plugin": "^8",
57
- "@typescript-eslint/parser": "^8",
58
- "chromatic": "^13",
59
- "eslint": "^9",
60
- "eslint-config-next": "^15",
61
- "eslint-config-prettier": "^10",
62
- "eslint-plugin-prettier": "^5",
63
- "eslint-plugin-storybook": "^9",
64
- "prettier": "^3",
65
- "react": "^19",
66
- "react-dom": "^19",
67
- "typescript": "^5"
59
+ "@storybook/test": "^8",
60
+ "@types/babel__generator": "^7.27.0",
61
+ "@types/babel__traverse": "^7.20.7",
62
+ "@types/react": "^19.1.8",
63
+ "@types/react-dom": "^19.1.6",
64
+ "@typescript-eslint/eslint-plugin": "^8.37",
65
+ "@typescript-eslint/parser": "^8.37",
66
+ "autoprefixer": "^10.4.21",
67
+ "chromatic": "^13.1.2",
68
+ "eslint": "^9.30.1",
69
+ "eslint-config-next": "^15.3.5",
70
+ "eslint-config-prettier": "^10.1.5",
71
+ "eslint-plugin-prettier": "^5.5.1",
72
+ "eslint-plugin-storybook": "^9.0.15",
73
+ "eslint-plugin-unused-imports": "^4.1.4",
74
+ "prettier": "^3.6.2",
75
+ "react": "^19.1.0",
76
+ "react-dom": "^19.1.0",
77
+ "typescript": "^5.8.3"
68
78
  },
69
79
  "files": [
70
80
  "src"