goobs-frontend 0.122.0 → 0.122.2

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 (466) hide show
  1. package/README.md +23 -1
  2. package/package.json +4 -2
  3. package/src/components/Accordion/accordion.stories.tsx +1 -1
  4. package/src/components/Accordion/index.tsx +15 -14
  5. package/src/components/Alert/index.tsx +2 -1
  6. package/src/components/AppBar/index.tsx +4 -9
  7. package/src/components/Avatar/index.tsx +2 -1
  8. package/src/components/BigCalendar/CalendarFilters.tsx +350 -0
  9. package/src/components/BigCalendar/index.tsx +897 -0
  10. package/src/components/Breadcrumb/index.tsx +2 -5
  11. package/src/components/Button/index.tsx +3 -2
  12. package/src/components/Card/index.tsx +53 -20
  13. package/src/components/Checkbox/index.tsx +3 -2
  14. package/src/components/Chip/index.tsx +2 -1
  15. package/src/components/CodeCopy/index.tsx +5 -10
  16. package/src/components/ComplexTextEditor/MarkdownEditor/index.tsx +7 -7
  17. package/src/components/ComplexTextEditor/RichEditor/index.tsx +8 -9
  18. package/src/components/ComplexTextEditor/SimpleEditor/index.tsx +12 -10
  19. package/src/components/ComplexTextEditor/Toolbars/Complex/index.tsx +5 -7
  20. package/src/components/ComplexTextEditor/Toolbars/Editor/index.tsx +12 -7
  21. package/src/components/ComplexTextEditor/index.tsx +9 -8
  22. package/src/components/ComplexTextEditor/theme.ts +2 -1
  23. package/src/components/ComplexTextEditor/utils/conversion.ts +1 -1
  24. package/src/components/ComplexTextEditor/utils/useMarkdownEditor.tsx +3 -3
  25. package/src/components/ConfirmationCodeInput/index.tsx +12 -21
  26. package/src/components/Container/index.tsx +2 -1
  27. package/src/components/Content/Structure/CVV/useCVV.tsx +6 -6
  28. package/src/components/Content/Structure/CreditCardNumber/useCreditCardNumber.tsx +7 -7
  29. package/src/components/Content/Structure/DateRange/useDateRange.tsx +7 -7
  30. package/src/components/Content/Structure/Supernet/useSupernet.tsx +1 -1
  31. package/src/components/Content/Structure/USD/useUSD.tsx +8 -8
  32. package/src/components/Content/Structure/accordion/useAccordion.tsx +1 -1
  33. package/src/components/Content/Structure/accountnumber/useAccountNumber.tsx +1 -1
  34. package/src/components/Content/Structure/button/useButton.tsx +1 -1
  35. package/src/components/Content/Structure/checkbox/useCheckbox.tsx +1 -1
  36. package/src/components/Content/Structure/codecopy/useCodeCopy.tsx +1 -1
  37. package/src/components/Content/Structure/complexeditor/useComplexEditor.tsx +1 -1
  38. package/src/components/Content/Structure/confirmationinput/useConfirmationInput.tsx +1 -1
  39. package/src/components/Content/Structure/datefield/useDateField.tsx +6 -6
  40. package/src/components/Content/Structure/dropdown/useDropdown.tsx +1 -1
  41. package/src/components/Content/Structure/externalIncremementNumberField/useIncremementNumberField.tsx +1 -1
  42. package/src/components/Content/Structure/link/useLink.tsx +2 -2
  43. package/src/components/Content/Structure/macaddress/useMacAddress.tsx +1 -1
  44. package/src/components/Content/Structure/multiSelect/useMultiSelect.tsx +1 -1
  45. package/src/components/Content/Structure/numberField/useNumberField.tsx +1 -1
  46. package/src/components/Content/Structure/passwordField/usePasswordField.tsx +1 -1
  47. package/src/components/Content/Structure/phoneNumber/usePhoneNumber.tsx +1 -1
  48. package/src/components/Content/Structure/pricing/usePricing.tsx +1 -1
  49. package/src/components/Content/Structure/projectboard/useProjectBoard.tsx +1 -1
  50. package/src/components/Content/Structure/qrcode/useQRCode.tsx +3 -1
  51. package/src/components/Content/Structure/radiogroup/useRadioGroup.tsx +1 -1
  52. package/src/components/Content/Structure/routingnumber/useRoutingNumber.tsx +1 -1
  53. package/src/components/Content/Structure/searchableDropdown/useSearchableDropdown.tsx +1 -1
  54. package/src/components/Content/Structure/searchableHistory/useSearchableHistory.tsx +1 -1
  55. package/src/components/Content/Structure/searchbar/useSearchbar.tsx +1 -1
  56. package/src/components/Content/Structure/stepper/useStepper.tsx +1 -1
  57. package/src/components/Content/Structure/textfield/useTextField.tsx +1 -1
  58. package/src/components/Content/Structure/transferlist/useTransferList.tsx +1 -1
  59. package/src/components/Content/Structure/typography/useTypography.tsx +8 -2
  60. package/src/components/Content/index.tsx +144 -87
  61. package/src/components/DataGrid/FilterSection/index.tsx +25 -18
  62. package/src/components/DataGrid/Footer/index.tsx +3 -4
  63. package/src/components/DataGrid/ManageRow/index.tsx +13 -8
  64. package/src/components/DataGrid/MetricCard/index.tsx +31 -24
  65. package/src/components/DataGrid/MetricSection/index.tsx +7 -43
  66. package/src/components/DataGrid/Table/CreationRow/index.tsx +174 -68
  67. package/src/components/DataGrid/Table/Rows/index.tsx +10 -8
  68. package/src/components/DataGrid/Table/index.tsx +33 -28
  69. package/src/components/DataGrid/Toolbar/index.tsx +106 -0
  70. package/src/components/DataGrid/datagrid.stories.tsx +5 -5
  71. package/src/components/DataGrid/index.tsx +73 -49
  72. package/src/components/DataGrid/utils/useComputeTableResize.tsx +8 -2
  73. package/src/components/Divider/divider.stories.tsx +184 -0
  74. package/src/components/Divider/index.tsx +2 -1
  75. package/src/components/Drawer/index.tsx +14 -15
  76. package/src/components/Fade/index.tsx +2 -1
  77. package/src/components/Field/Date/DateField/DateField.stories.tsx +2 -5
  78. package/src/components/Field/Date/DateField/index.tsx +21 -14
  79. package/src/components/Field/Date/DateRange/index.tsx +280 -186
  80. package/src/components/Field/Dropdown/MultiSelect/index.tsx +69 -102
  81. package/src/components/Field/Dropdown/Regular/dropdown.stories.tsx +13 -10
  82. package/src/components/Field/Dropdown/SearchableHistory/index.tsx +79 -110
  83. package/src/components/Field/Dropdown/SearchableSimple/index.tsx +54 -75
  84. package/src/components/Field/IPAM/Address/index.tsx +58 -21
  85. package/src/components/Field/IPAM/CIDR/index.tsx +11 -18
  86. package/src/components/Field/IPAM/MACAddress/index.tsx +31 -15
  87. package/src/components/Field/IPAM/Subnet/index.tsx +66 -14
  88. package/src/components/Field/IPAM/Supernet/index.tsx +2 -2
  89. package/src/components/Field/IPAM/VLAN/index.tsx +43 -18
  90. package/src/components/Field/Number/CVV/index.tsx +4 -1
  91. package/src/components/Field/Number/CreditCardNumber/index.tsx +5 -2
  92. package/src/components/Field/Number/InternalIncrement/index.tsx +7 -0
  93. package/src/components/Field/Number/RoutingNumber/index.tsx +10 -5
  94. package/src/components/Field/Percentage/index.tsx +8 -9
  95. package/src/components/Field/PhoneNumber/index.tsx +6 -4
  96. package/src/components/Field/Search/index.tsx +7 -0
  97. package/src/components/Field/Slider/index.tsx +2 -1
  98. package/src/components/Field/Text/index.tsx +3 -1
  99. package/src/components/Field/Time/TimeRange/index.tsx +7 -6
  100. package/src/components/Field/USD/usd.stories.tsx +2 -2
  101. package/src/components/Form/DataGrid/index.tsx +19 -8
  102. package/src/components/Form/Dialog/index.tsx +27 -29
  103. package/src/components/Form/Popup/index.tsx +25 -40
  104. package/src/components/Form/ProjectBoard/index.tsx +10 -5
  105. package/src/components/FormControl/index.tsx +11 -11
  106. package/src/components/FormControlLabel/index.tsx +10 -4
  107. package/src/components/Icons/AccessTime.tsx +4 -3
  108. package/src/components/Icons/AccountBalance.tsx +4 -3
  109. package/src/components/Icons/AccountBalanceWallet.tsx +4 -3
  110. package/src/components/Icons/AccountTree.tsx +4 -3
  111. package/src/components/Icons/Add.tsx +4 -3
  112. package/src/components/Icons/AddCircle.tsx +4 -3
  113. package/src/components/Icons/AddCircleOutline.tsx +4 -3
  114. package/src/components/Icons/AddPhotoAlternate.tsx +4 -3
  115. package/src/components/Icons/AddShoppingCart.tsx +4 -3
  116. package/src/components/Icons/AddTask.tsx +4 -3
  117. package/src/components/Icons/AdminPanelSettings.tsx +4 -3
  118. package/src/components/Icons/Analytics.tsx +4 -3
  119. package/src/components/Icons/Animation.tsx +4 -3
  120. package/src/components/Icons/Apartment.tsx +4 -3
  121. package/src/components/Icons/Apple.tsx +4 -3
  122. package/src/components/Icons/ArrowBack.tsx +4 -3
  123. package/src/components/Icons/ArrowDropDown.tsx +4 -3
  124. package/src/components/Icons/ArrowDropDownCircle.tsx +4 -3
  125. package/src/components/Icons/ArrowDropUp.tsx +4 -3
  126. package/src/components/Icons/ArrowForward.tsx +4 -3
  127. package/src/components/Icons/Article.tsx +4 -3
  128. package/src/components/Icons/Assessment.tsx +4 -3
  129. package/src/components/Icons/Assignment.tsx +4 -3
  130. package/src/components/Icons/AttachFile.tsx +4 -3
  131. package/src/components/Icons/AttachMoney.tsx +4 -3
  132. package/src/components/Icons/Attachment.tsx +4 -3
  133. package/src/components/Icons/AutoAwesome.tsx +4 -3
  134. package/src/components/Icons/AutoGraph.tsx +4 -3
  135. package/src/components/Icons/Autorenew.tsx +4 -3
  136. package/src/components/Icons/Bank.tsx +4 -3
  137. package/src/components/Icons/BarChart.tsx +4 -3
  138. package/src/components/Icons/Block.tsx +4 -3
  139. package/src/components/Icons/BugReport.tsx +4 -3
  140. package/src/components/Icons/Build.tsx +4 -3
  141. package/src/components/Icons/Business.tsx +4 -3
  142. package/src/components/Icons/BusinessCenter.tsx +4 -3
  143. package/src/components/Icons/Calculate.tsx +4 -3
  144. package/src/components/Icons/Calendar.tsx +4 -3
  145. package/src/components/Icons/CalendarMonth.tsx +4 -3
  146. package/src/components/Icons/CalendarToday.tsx +4 -3
  147. package/src/components/Icons/Campaign.tsx +4 -3
  148. package/src/components/Icons/Cancel.tsx +4 -3
  149. package/src/components/Icons/CardGiftcard.tsx +4 -3
  150. package/src/components/Icons/CardMembership.tsx +4 -3
  151. package/src/components/Icons/Category.tsx +4 -3
  152. package/src/components/Icons/Chat.tsx +4 -3
  153. package/src/components/Icons/Check.tsx +4 -3
  154. package/src/components/Icons/CheckBoxIcon.tsx +4 -3
  155. package/src/components/Icons/CheckCircle.tsx +4 -3
  156. package/src/components/Icons/CheckCircleOutline.tsx +4 -3
  157. package/src/components/Icons/ChevronLeft.tsx +4 -3
  158. package/src/components/Icons/ChevronRight.tsx +4 -3
  159. package/src/components/Icons/CircleOutline.tsx +4 -3
  160. package/src/components/Icons/Clear.tsx +4 -3
  161. package/src/components/Icons/Close.tsx +4 -3
  162. package/src/components/Icons/CloudSync.tsx +4 -3
  163. package/src/components/Icons/CloudUpload.tsx +4 -3
  164. package/src/components/Icons/Code.tsx +4 -3
  165. package/src/components/Icons/CompareArrows.tsx +4 -3
  166. package/src/components/Icons/Construction.tsx +4 -3
  167. package/src/components/Icons/Contacts.tsx +4 -3
  168. package/src/components/Icons/ContentCopy.tsx +4 -3
  169. package/src/components/Icons/ContractIcon.tsx +4 -3
  170. package/src/components/Icons/Create.tsx +4 -3
  171. package/src/components/Icons/CreateNewFolder.tsx +4 -3
  172. package/src/components/Icons/CreditCard.tsx +4 -3
  173. package/src/components/Icons/CreditCardOff.tsx +4 -3
  174. package/src/components/Icons/CurrencyExchange.tsx +4 -3
  175. package/src/components/Icons/Dashboard.tsx +4 -3
  176. package/src/components/Icons/DateRange.tsx +4 -3
  177. package/src/components/Icons/Delete.tsx +4 -3
  178. package/src/components/Icons/Description.tsx +4 -3
  179. package/src/components/Icons/DesktopWindows.tsx +4 -3
  180. package/src/components/Icons/DeviceHub.tsx +4 -3
  181. package/src/components/Icons/Devices.tsx +4 -3
  182. package/src/components/Icons/Dns.tsx +4 -3
  183. package/src/components/Icons/Domain.tsx +4 -3
  184. package/src/components/Icons/Download.tsx +4 -3
  185. package/src/components/Icons/Drag.tsx +4 -3
  186. package/src/components/Icons/DragIndicator.tsx +4 -3
  187. package/src/components/Icons/DuplicateIcon.tsx +4 -3
  188. package/src/components/Icons/Edit.tsx +4 -3
  189. package/src/components/Icons/Email.tsx +4 -3
  190. package/src/components/Icons/EmojiEvents.tsx +4 -3
  191. package/src/components/Icons/Engineering.tsx +4 -3
  192. package/src/components/Icons/Error.tsx +4 -3
  193. package/src/components/Icons/ErrorOutline.tsx +4 -3
  194. package/src/components/Icons/Event.tsx +4 -3
  195. package/src/components/Icons/EventAvailable.tsx +4 -3
  196. package/src/components/Icons/EventBusy.tsx +4 -3
  197. package/src/components/Icons/ExpandLess.tsx +4 -3
  198. package/src/components/Icons/ExpandMore.tsx +4 -3
  199. package/src/components/Icons/Extension.tsx +4 -3
  200. package/src/components/Icons/Favorite.tsx +4 -3
  201. package/src/components/Icons/FavoriteBorder.tsx +4 -3
  202. package/src/components/Icons/FavoriteBorderIcon.tsx +4 -3
  203. package/src/components/Icons/FavoriteIcon.tsx +4 -3
  204. package/src/components/Icons/Feedback.tsx +4 -3
  205. package/src/components/Icons/FileCopy.tsx +4 -3
  206. package/src/components/Icons/Filing.tsx +4 -3
  207. package/src/components/Icons/FilterList.tsx +4 -3
  208. package/src/components/Icons/Fingerprint.tsx +4 -3
  209. package/src/components/Icons/FirstPage.tsx +4 -3
  210. package/src/components/Icons/FormatAlignCenter.tsx +4 -3
  211. package/src/components/Icons/FormatAlignLeft.tsx +4 -3
  212. package/src/components/Icons/FormatAlignRight.tsx +4 -3
  213. package/src/components/Icons/FormatBold.tsx +4 -3
  214. package/src/components/Icons/FormatItalic.tsx +4 -3
  215. package/src/components/Icons/FormatListBulleted.tsx +4 -3
  216. package/src/components/Icons/FormatListNumbered.tsx +4 -3
  217. package/src/components/Icons/FormatUnderlined.tsx +4 -3
  218. package/src/components/Icons/Gavel.tsx +4 -3
  219. package/src/components/Icons/Gesture.tsx +4 -3
  220. package/src/components/Icons/Google.tsx +4 -3
  221. package/src/components/Icons/GridView.tsx +4 -3
  222. package/src/components/Icons/GridViewIcon.tsx +4 -3
  223. package/src/components/Icons/Group.tsx +4 -3
  224. package/src/components/Icons/GroupWork.tsx +4 -3
  225. package/src/components/Icons/Groups.tsx +4 -3
  226. package/src/components/Icons/Handshake.tsx +4 -3
  227. package/src/components/Icons/Help.tsx +4 -3
  228. package/src/components/Icons/History.tsx +4 -3
  229. package/src/components/Icons/Home.tsx +4 -3
  230. package/src/components/Icons/HomeWork.tsx +4 -3
  231. package/src/components/Icons/HourglassEmpty.tsx +4 -3
  232. package/src/components/Icons/Hub.tsx +4 -3
  233. package/src/components/Icons/ImageIcon.tsx +4 -3
  234. package/src/components/Icons/IndeterminateCheckBox.tsx +6 -4
  235. package/src/components/Icons/Info.tsx +4 -3
  236. package/src/components/Icons/InfoOutline.tsx +4 -3
  237. package/src/components/Icons/Insights.tsx +4 -3
  238. package/src/components/Icons/IntegrationInstructions.tsx +4 -3
  239. package/src/components/Icons/Inventory.tsx +4 -3
  240. package/src/components/Icons/KeyboardArrowDown.tsx +4 -3
  241. package/src/components/Icons/KeyboardArrowLeft.tsx +4 -3
  242. package/src/components/Icons/KeyboardArrowRight.tsx +4 -3
  243. package/src/components/Icons/KeyboardReturn.tsx +4 -3
  244. package/src/components/Icons/Lan.tsx +4 -3
  245. package/src/components/Icons/LastPage.tsx +4 -3
  246. package/src/components/Icons/Launch.tsx +4 -3
  247. package/src/components/Icons/Layers.tsx +4 -3
  248. package/src/components/Icons/Link.tsx +4 -3
  249. package/src/components/Icons/ListAlt.tsx +4 -3
  250. package/src/components/Icons/LocalGasStation.tsx +4 -3
  251. package/src/components/Icons/LocalOffer.tsx +4 -3
  252. package/src/components/Icons/LocalShipping.tsx +4 -3
  253. package/src/components/Icons/LocationCity.tsx +4 -3
  254. package/src/components/Icons/LocationIcon.tsx +4 -3
  255. package/src/components/Icons/LocationOn.tsx +4 -3
  256. package/src/components/Icons/LocationSearching.tsx +4 -3
  257. package/src/components/Icons/Lock.tsx +4 -3
  258. package/src/components/Icons/Login.tsx +4 -3
  259. package/src/components/Icons/LogoutRounded.tsx +4 -3
  260. package/src/components/Icons/LooksFour.tsx +4 -3
  261. package/src/components/Icons/LooksOne.tsx +4 -3
  262. package/src/components/Icons/LooksThree.tsx +4 -3
  263. package/src/components/Icons/LooksTwo.tsx +4 -3
  264. package/src/components/Icons/Loop.tsx +4 -3
  265. package/src/components/Icons/LowPriority.tsx +4 -3
  266. package/src/components/Icons/Loyalty.tsx +4 -3
  267. package/src/components/Icons/Map.tsx +4 -3
  268. package/src/components/Icons/Menu.tsx +7 -3
  269. package/src/components/Icons/MenuBook.tsx +4 -3
  270. package/src/components/Icons/MonetizationOn.tsx +4 -3
  271. package/src/components/Icons/Money.tsx +4 -3
  272. package/src/components/Icons/MoreHoriz.tsx +4 -3
  273. package/src/components/Icons/MoreVert.tsx +4 -3
  274. package/src/components/Icons/Mouse.tsx +4 -3
  275. package/src/components/Icons/Navigation.tsx +7 -3
  276. package/src/components/Icons/NetworkCheck.tsx +4 -3
  277. package/src/components/Icons/NotificationActive.tsx +4 -3
  278. package/src/components/Icons/NotificationImportant.tsx +4 -3
  279. package/src/components/Icons/Notifications.tsx +4 -3
  280. package/src/components/Icons/Outlook.tsx +4 -3
  281. package/src/components/Icons/Pause.tsx +4 -3
  282. package/src/components/Icons/Payment.tsx +4 -3
  283. package/src/components/Icons/PdfIcon.tsx +4 -3
  284. package/src/components/Icons/PendingActions.tsx +4 -3
  285. package/src/components/Icons/People.tsx +4 -3
  286. package/src/components/Icons/Person.tsx +4 -3
  287. package/src/components/Icons/PersonAdd.tsx +4 -3
  288. package/src/components/Icons/PersonOutline.tsx +4 -3
  289. package/src/components/Icons/Phone.tsx +4 -3
  290. package/src/components/Icons/PlayArrow.tsx +4 -3
  291. package/src/components/Icons/PlaylistAddCheck.tsx +4 -3
  292. package/src/components/Icons/PointOfSale.tsx +4 -3
  293. package/src/components/Icons/Policy.tsx +4 -3
  294. package/src/components/Icons/PostAdd.tsx +4 -3
  295. package/src/components/Icons/PrecisionManufacturing.tsx +4 -3
  296. package/src/components/Icons/Preview.tsx +4 -3
  297. package/src/components/Icons/Print.tsx +4 -3
  298. package/src/components/Icons/PriorityHigh.tsx +4 -3
  299. package/src/components/Icons/Psychology.tsx +4 -3
  300. package/src/components/Icons/Public.tsx +4 -3
  301. package/src/components/Icons/QrCode.tsx +4 -3
  302. package/src/components/Icons/QrCodeScanner.tsx +4 -3
  303. package/src/components/Icons/RadioButtonChecked.tsx +4 -3
  304. package/src/components/Icons/RateReview.tsx +4 -3
  305. package/src/components/Icons/Receipt.tsx +4 -3
  306. package/src/components/Icons/Redo.tsx +4 -3
  307. package/src/components/Icons/Refresh.tsx +4 -3
  308. package/src/components/Icons/Remove.tsx +4 -3
  309. package/src/components/Icons/Repeat.tsx +4 -3
  310. package/src/components/Icons/ReportProblem.tsx +4 -3
  311. package/src/components/Icons/RequestQuote.tsx +4 -3
  312. package/src/components/Icons/Restore.tsx +4 -3
  313. package/src/components/Icons/Router.tsx +4 -3
  314. package/src/components/Icons/Save.tsx +4 -3
  315. package/src/components/Icons/Schedule.tsx +4 -3
  316. package/src/components/Icons/School.tsx +4 -3
  317. package/src/components/Icons/ScreenRotation.tsx +4 -3
  318. package/src/components/Icons/Search.tsx +4 -3
  319. package/src/components/Icons/Security.tsx +4 -3
  320. package/src/components/Icons/Send.tsx +4 -3
  321. package/src/components/Icons/Settings.tsx +5 -3
  322. package/src/components/Icons/Shield.tsx +4 -3
  323. package/src/components/Icons/ShoppingBasket.tsx +4 -3
  324. package/src/components/Icons/ShowChart.tsx +4 -3
  325. package/src/components/Icons/ShowHideEye.tsx +4 -3
  326. package/src/components/Icons/SkipNext.tsx +4 -3
  327. package/src/components/Icons/SmartButtonIcon.tsx +4 -3
  328. package/src/components/Icons/Smartphone.tsx +4 -3
  329. package/src/components/Icons/Sms.tsx +4 -3
  330. package/src/components/Icons/Sort.tsx +4 -3
  331. package/src/components/Icons/Spa.tsx +4 -3
  332. package/src/components/Icons/Speed.tsx +4 -3
  333. package/src/components/Icons/Star.tsx +4 -3
  334. package/src/components/Icons/StarBorder.tsx +4 -3
  335. package/src/components/Icons/StarIcon.tsx +4 -3
  336. package/src/components/Icons/Stop.tsx +4 -3
  337. package/src/components/Icons/Storage.tsx +4 -3
  338. package/src/components/Icons/Store.tsx +4 -3
  339. package/src/components/Icons/StoreMallDirectory.tsx +4 -3
  340. package/src/components/Icons/StrikethroughS.tsx +4 -3
  341. package/src/components/Icons/SupervisedUserCircle.tsx +4 -3
  342. package/src/components/Icons/Support.tsx +4 -3
  343. package/src/components/Icons/Sync.tsx +4 -3
  344. package/src/components/Icons/TableIcon.tsx +4 -3
  345. package/src/components/Icons/Tablet.tsx +4 -3
  346. package/src/components/Icons/TemplateIcon.tsx +4 -3
  347. package/src/components/Icons/TextFieldsIcon.tsx +4 -3
  348. package/src/components/Icons/ThumbUp.tsx +4 -3
  349. package/src/components/Icons/Timeline.tsx +4 -3
  350. package/src/components/Icons/Timer.tsx +4 -3
  351. package/src/components/Icons/Transfer.tsx +4 -3
  352. package/src/components/Icons/TrendingDown.tsx +4 -3
  353. package/src/components/Icons/TrendingUp.tsx +4 -3
  354. package/src/components/Icons/Undo.tsx +4 -3
  355. package/src/components/Icons/VerifiedUser.tsx +4 -3
  356. package/src/components/Icons/VideoLibraryIcon.tsx +4 -3
  357. package/src/components/Icons/Videocam.tsx +4 -3
  358. package/src/components/Icons/ViewCompact.tsx +4 -3
  359. package/src/components/Icons/ViewCompactIcon.tsx +4 -3
  360. package/src/components/Icons/ViewHeadlineIcon.tsx +4 -3
  361. package/src/components/Icons/ViewIcon.tsx +4 -3
  362. package/src/components/Icons/ViewList.tsx +4 -3
  363. package/src/components/Icons/ViewModule.tsx +4 -3
  364. package/src/components/Icons/ViewSidebar.tsx +4 -3
  365. package/src/components/Icons/Visibility.tsx +4 -3
  366. package/src/components/Icons/VisibilityOff.tsx +4 -3
  367. package/src/components/Icons/VpnKey.tsx +4 -3
  368. package/src/components/Icons/VpnLock.tsx +4 -3
  369. package/src/components/Icons/Warning.tsx +4 -3
  370. package/src/components/Icons/WarningAmber.tsx +4 -3
  371. package/src/components/Icons/WaterDrop.tsx +4 -3
  372. package/src/components/Icons/Web.tsx +4 -3
  373. package/src/components/Icons/Widgets.tsx +4 -3
  374. package/src/components/Icons/Wifi.tsx +4 -3
  375. package/src/components/Icons/WifiOff.tsx +4 -3
  376. package/src/components/Icons/Work.tsx +4 -3
  377. package/src/components/Icons/WorkspacePremium.tsx +4 -3
  378. package/src/components/InputLabel/index.tsx +10 -4
  379. package/src/components/List/index.tsx +2 -1
  380. package/src/components/MenuItem/index.tsx +10 -4
  381. package/src/components/Pagination/index.tsx +8 -9
  382. package/src/components/Paper/index.tsx +32 -9
  383. package/src/components/ProgressBar/index.tsx +2 -3
  384. package/src/components/ProgressBar/progressbar.stories.tsx +5 -1
  385. package/src/components/ProjectBoard/board/index.tsx +23 -13
  386. package/src/components/ProjectBoard/forms/AddTask/administrator/companyDropdown/index.tsx +25 -18
  387. package/src/components/ProjectBoard/forms/AddTask/administrator/companyProvided/index.tsx +19 -14
  388. package/src/components/ProjectBoard/forms/AddTask/company/customerDropdown/index.tsx +9 -9
  389. package/src/components/ProjectBoard/forms/AddTask/company/customerProvided/index.tsx +89 -68
  390. package/src/components/ProjectBoard/forms/AddTask/customer/index.tsx +16 -10
  391. package/src/components/ProjectBoard/forms/AddTask/noUser/index.tsx +2 -2
  392. package/src/components/ProjectBoard/forms/ShowTask/client.tsx +11 -8
  393. package/src/components/ProjectBoard/index.tsx +11 -8
  394. package/src/components/ProjectBoard/types/index.tsx +1 -1
  395. package/src/components/ProjectBoard/utils/useComputeBoard.tsx +7 -2
  396. package/src/components/ProjectBoard/utils/useDragandDrop/columns.tsx +8 -3
  397. package/src/components/ProjectBoard/utils/useDragandDrop/tasks.tsx +6 -3
  398. package/src/components/QRCode/index.tsx +3 -2
  399. package/src/components/Select/index.tsx +44 -11
  400. package/src/components/Slide/index.tsx +2 -1
  401. package/src/components/Slide/slide.stories.tsx +7 -5
  402. package/src/components/Snackbar/index.tsx +2 -2
  403. package/src/components/Stepper/index.tsx +18 -6
  404. package/src/components/Switch/index.tsx +12 -6
  405. package/src/components/Switch/switch.stories.tsx +30 -17
  406. package/src/components/Tabs/index.tsx +2 -1
  407. package/src/components/ToggleButton/index.tsx +39 -5
  408. package/src/components/Toolbar/index.tsx +31 -12
  409. package/src/components/Toolbar/left/index.tsx +6 -5
  410. package/src/components/Toolbar/leftCenter/index.tsx +29 -11
  411. package/src/components/Toolbar/right/index.tsx +1 -1
  412. package/src/components/Toolbar/rightCenter/index.tsx +8 -8
  413. package/src/components/Toolbar/toolbar.stories.tsx +13 -11
  414. package/src/components/Tooltip/index.tsx +10 -3
  415. package/src/components/TransferList/transferlist.stories.tsx +48 -26
  416. package/src/components/TreeView/index.tsx +16 -13
  417. package/src/components/Zoom/index.tsx +2 -1
  418. package/src/index.ts +28 -0
  419. package/src/theme/accordion.ts +129 -61
  420. package/src/theme/alert.ts +77 -25
  421. package/src/theme/appbar.ts +65 -28
  422. package/src/theme/avatar.ts +30 -21
  423. package/src/theme/bigcalendar.ts +692 -0
  424. package/src/theme/button.ts +48 -11
  425. package/src/theme/checkbox.ts +86 -20
  426. package/src/theme/chip.ts +45 -13
  427. package/src/theme/complextexteditor.ts +2 -1
  428. package/src/theme/confirmationcodeinput.ts +45 -18
  429. package/src/theme/container.ts +22 -9
  430. package/src/theme/datagrid.ts +29 -8
  431. package/src/theme/dialog.ts +12 -3
  432. package/src/theme/drawer.ts +44 -26
  433. package/src/theme/formField.ts +34 -1
  434. package/src/theme/nav.ts +5 -2
  435. package/src/theme/pagination.ts +0 -2
  436. package/src/theme/popover.ts +25 -14
  437. package/src/theme/pricingtable.ts +91 -28
  438. package/src/theme/progressbar.ts +40 -16
  439. package/src/theme/projectboard.ts +41 -19
  440. package/src/theme/toolbar.ts +27 -8
  441. package/src/theme/treeview.ts +1 -1
  442. package/src/stories/Button.stories.ts +0 -53
  443. package/src/stories/Button.tsx +0 -45
  444. package/src/stories/Header.stories.ts +0 -33
  445. package/src/stories/Header.tsx +0 -71
  446. package/src/stories/Page.stories.ts +0 -32
  447. package/src/stories/Page.tsx +0 -91
  448. package/src/stories/assets/accessibility.png +0 -0
  449. package/src/stories/assets/accessibility.svg +0 -1
  450. package/src/stories/assets/addon-library.png +0 -0
  451. package/src/stories/assets/assets.png +0 -0
  452. package/src/stories/assets/avif-test-image.avif +0 -0
  453. package/src/stories/assets/context.png +0 -0
  454. package/src/stories/assets/discord.svg +0 -1
  455. package/src/stories/assets/docs.png +0 -0
  456. package/src/stories/assets/figma-plugin.png +0 -0
  457. package/src/stories/assets/github.svg +0 -1
  458. package/src/stories/assets/share.png +0 -0
  459. package/src/stories/assets/styling.png +0 -0
  460. package/src/stories/assets/testing.png +0 -0
  461. package/src/stories/assets/theming.png +0 -0
  462. package/src/stories/assets/tutorials.svg +0 -1
  463. package/src/stories/assets/youtube.svg +0 -1
  464. package/src/stories/button.css +0 -30
  465. package/src/stories/header.css +0 -32
  466. package/src/stories/page.css +0 -68
package/README.md CHANGED
@@ -53,6 +53,7 @@ goobs-frontend provides 100+ fully-featured React components organized into logi
53
53
  ## Core Component Categories
54
54
 
55
55
  ### 🎨 Layout & Structure
56
+
56
57
  - **Grid** - Responsive grid system with flexible row/column configurations
57
58
  - **Container** - Responsive content containers with consistent spacing
58
59
  - **Stack** - One-dimensional layout component for arranging items
@@ -60,19 +61,23 @@ goobs-frontend provides 100+ fully-featured React components organized into logi
60
61
  - **Divider** - Visual separators for content organization
61
62
 
62
63
  ### 📝 Form Components
64
+
63
65
  **Text Inputs**
66
+
64
67
  - **TextField** - Versatile text input with advanced styling and label positioning
65
68
  - **PasswordField** - Secure password input with show/hide toggle functionality
66
69
  - **SearchField** - Search input with integrated search icons and styling
67
70
  - **ComplexTextEditor** - Multi-mode editor (simple, markdown, rich text) with integrated toolbar
68
71
 
69
72
  **Specialized Inputs**
73
+
70
74
  - **PhoneNumberField** - Auto-formatting phone number input (+1-xxx-xxx-xxxx)
71
75
  - **USDField** - Currency input with dollar formatting and validation
72
76
  - **PercentageField** - Percentage input with % symbol and range validation
73
77
  - **ConfirmationCodeInput** - OTP-style multi-digit input with auto-focus progression
74
78
 
75
79
  **Number Inputs**
80
+
76
81
  - **IncrementNumberField** - Number input with built-in increment/decrement controls
77
82
  - **AccountNumberField** - Bank account number input with validation
78
83
  - **RoutingNumberField** - Bank routing number input with format validation
@@ -80,11 +85,13 @@ goobs-frontend provides 100+ fully-featured React components organized into logi
80
85
  - **CVVField** - Secure CVV input for payment forms
81
86
 
82
87
  **Date & Time**
88
+
83
89
  - **DateField** - Date picker with calendar popup and keyboard navigation
84
90
  - **DateRangeField** - Start/end date selection with range validation
85
91
  - **TimeRangeField** - Time range selector with 12/24 hour support
86
92
 
87
93
  **Selection Components**
94
+
88
95
  - **Dropdown** - Customizable select component with advanced styling
89
96
  - **MultiSelectChip** - Multi-selection dropdown with chip display
90
97
  - **SearchableDropdown** - Real-time filtering dropdown with autocomplete
@@ -93,6 +100,7 @@ goobs-frontend provides 100+ fully-featured React components organized into logi
93
100
  - **Switch** - Toggle switch with smooth animations
94
101
 
95
102
  **IPAM & Network Fields**
103
+
96
104
  - **IPAddressField** - IP address input with validation
97
105
  - **CIDRField** - CIDR notation input with subnet validation
98
106
  - **SubnetField** - Subnet configuration input
@@ -100,6 +108,7 @@ goobs-frontend provides 100+ fully-featured React components organized into logi
100
108
  - **MACAddressField** - MAC address input with auto-formatting
101
109
 
102
110
  ### 🗂️ Data Display
111
+
103
112
  - **DataGrid** - Advanced data table with sorting, filtering, pagination, and row management
104
113
  - **Table** - Lightweight table component for simple data display
105
114
  - **Card** - Versatile card container with multiple variants (product, pricing, task, inventory)
@@ -108,6 +117,7 @@ goobs-frontend provides 100+ fully-featured React components organized into logi
108
117
  - **ProjectBoard** - Kanban-style board with drag-and-drop task management
109
118
 
110
119
  ### 🧭 Navigation
120
+
111
121
  - **Tabs** - Horizontal tab navigation with route integration
112
122
  - **Breadcrumb** - Breadcrumb navigation with custom separators
113
123
  - **Stepper** - Step-by-step process indicator with customizable states
@@ -115,11 +125,13 @@ goobs-frontend provides 100+ fully-featured React components organized into logi
115
125
  - **Pagination** - Page navigation with customizable page size options
116
126
 
117
127
  ### 🎯 Action Components
128
+
118
129
  - **Button** - Highly customizable button with icon support and flexible positioning
119
130
  - **IconButton** - Icon-only buttons with hover states and accessibility
120
131
  - **ToggleButton** - Toggle button with active/inactive states
121
132
 
122
133
  ### 💬 Feedback & Overlays
134
+
123
135
  - **Alert** - Contextual alerts with multiple severity levels
124
136
  - **Dialog** - Modal dialogs for complex interactions
125
137
  - **Snackbar** - Toast notifications with action buttons
@@ -127,6 +139,7 @@ goobs-frontend provides 100+ fully-featured React components organized into logi
127
139
  - **Popover** - Positioned popup containers
128
140
 
129
141
  ### 🔧 Utility Components
142
+
130
143
  - **Accordion** - Collapsible content sections with smooth animations
131
144
  - **Badge** - Notification badges with custom positioning
132
145
  - **Chip** - Compact information chips with delete functionality
@@ -137,19 +150,24 @@ goobs-frontend provides 100+ fully-featured React components organized into logi
137
150
  - **TransferList** - Dual-list component for moving items between collections
138
151
 
139
152
  ### 🎨 Design & Animation
153
+
140
154
  - **Typography** - Text component with multiple font families (Arapey, Inter, Merriweather)
141
155
  - **Fade**, **Slide**, **Zoom** - Smooth transition components for enhanced UX
142
156
 
143
157
  ### 🏗️ Advanced Components
158
+
144
159
  - **Toolbar** - Flexible toolbar with multiple sections and responsive behavior
145
160
  - **Content** - Dynamic content renderer supporting multiple content types
146
161
  - **FormDataGrid** - Data grid with integrated form validation
147
162
 
148
163
  ### 📱 Mobile-First Design
164
+
149
165
  All components are built with mobile-first responsive design principles, ensuring optimal performance across desktop, tablet, and mobile devices.
150
166
 
151
167
  ### 🎨 Comprehensive Icon Library
168
+
152
169
  200+ carefully crafted icons covering:
170
+
153
171
  - Navigation (arrows, chevrons, menu controls)
154
172
  - Actions (add, delete, edit, save, settings)
155
173
  - Communication (email, phone, notifications)
@@ -160,26 +178,30 @@ All components are built with mobile-first responsive design principles, ensurin
160
178
  ## Key Features
161
179
 
162
180
  ### 🔧 Customization
181
+
163
182
  - **Advanced Theming** - Override colors, fonts, spacing, and component behavior
164
183
  - **Flexible Styling** - Custom CSS-in-JS with theme-aware styling system
165
184
  - **Component Variants** - Multiple pre-built variants for common use cases
166
185
 
167
186
  ### 📋 Developer Experience
187
+
168
188
  - **Full TypeScript Support** - Complete type definitions with IntelliSense
169
189
  - **Comprehensive Documentation** - Interactive Storybook with live examples
170
190
  - **Consistent API** - Predictable prop patterns across all components
171
191
 
172
192
  ### ♿ Accessibility & Performance
193
+
173
194
  - **ARIA Compliance** - Full accessibility support with proper ARIA labels
174
195
  - **Keyboard Navigation** - Complete keyboard support for all interactive components
175
196
  - **Performance Optimized** - Lazy loading, code splitting, and optimized bundle sizes
176
197
 
177
198
  ### 🚀 Modern React Patterns
199
+
178
200
  - **Hooks-Based** - Built with modern React hooks and functional components
179
201
  - **State Management** - Integrated Jotai support for complex state scenarios
180
202
  - **Form Integration** - Seamless integration with popular form libraries
181
203
 
182
- *For complete component documentation, interactive examples, and implementation guides, visit the [Storybook documentation](https://storybook.technologiesunlimited.net/).*
204
+ _For complete component documentation, interactive examples, and implementation guides, visit the [Storybook documentation](https://storybook.technologiesunlimited.net/)._
183
205
 
184
206
  ### Feedback and Contributions
185
207
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "goobs-frontend",
3
- "version": "0.122.0",
3
+ "version": "0.122.2",
4
4
  "type": "module",
5
5
  "description": "A comprehensive React-based libary for building modern web applications",
6
6
  "license": "MIT",
@@ -30,6 +30,7 @@
30
30
  "dependencies": {
31
31
  "@storybook/addon-links": "^9",
32
32
  "@types/lodash": "^4",
33
+ "date-fns": "^4.1.0",
33
34
  "formik": "^2",
34
35
  "highlight.js": "^11",
35
36
  "jotai": "^2",
@@ -70,11 +71,12 @@
70
71
  "eslint-config-prettier": "^10.1.5",
71
72
  "eslint-plugin-prettier": "^5.5.1",
72
73
  "eslint-plugin-storybook": "^9.0.15",
74
+ "eslint-plugin-tsc": "^2.0.0",
73
75
  "eslint-plugin-unused-imports": "^4.1.4",
74
76
  "prettier": "^3.6.2",
75
77
  "react": "^19.1.0",
76
78
  "react-dom": "^19.1.0",
77
- "typescript": "^5.8.3"
79
+ "typescript": "^5"
78
80
  },
79
81
  "files": [
80
82
  "src"
@@ -220,7 +220,7 @@ export const Nested: Story = {
220
220
  // --------------------------------------------------------------------------
221
221
 
222
222
  const ControlledAccordionExample = () => {
223
- const [expanded, setExpanded] = React.useState<boolean | undefined>(undefined)
223
+ const [expanded, setExpanded] = React.useState<boolean>(false)
224
224
  return (
225
225
  <div style={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}>
226
226
  <button
@@ -4,17 +4,12 @@
4
4
  * Also supports menu items for navigation.
5
5
  */
6
6
  'use client'
7
- import React, {
8
- useState,
9
- useEffect,
10
- FC,
11
- ReactNode,
12
- useMemo,
13
- useCallback,
14
- } from 'react'
7
+ import React, { useState, useEffect, useMemo, useCallback } from 'react'
8
+ import type { FC, ReactNode } from 'react'
15
9
  import Link from 'next/link'
16
10
  import ExpandMoreIcon from '../Icons/ExpandMore'
17
- import { AccordionStyles, getAccordionStyles, SACRED_GLYPHS } from '../../theme'
11
+ import { getAccordionStyles, SACRED_GLYPHS } from '../../theme'
12
+ import type { AccordionStyles } from '../../theme'
18
13
 
19
14
  // --------------------------------------------------------------------------
20
15
  // PROPS INTERFACE
@@ -49,15 +44,21 @@ export interface AccordionProps {
49
44
  // HELPER HOOK for state management
50
45
  // --------------------------------------------------------------------------
51
46
 
47
+ type UseAccordionStateArgs = {
48
+ expanded?: boolean | undefined
49
+ defaultExpanded?: boolean | undefined
50
+ onChange?:
51
+ | ((event: React.SyntheticEvent, expanded: boolean) => void)
52
+ | undefined
53
+ styles?: AccordionStyles | undefined
54
+ }
55
+
52
56
  const useAccordionState = ({
53
57
  expanded: controlledExpanded,
54
58
  defaultExpanded = false,
55
59
  onChange,
56
60
  styles,
57
- }: Pick<
58
- AccordionProps,
59
- 'expanded' | 'defaultExpanded' | 'onChange' | 'styles'
60
- >) => {
61
+ }: UseAccordionStateArgs) => {
61
62
  const { current: isControlled } = React.useRef(
62
63
  controlledExpanded !== undefined
63
64
  )
@@ -334,7 +335,7 @@ const Accordion: FC<AccordionProps> = props => {
334
335
  position: 'absolute',
335
336
  left: '8px',
336
337
  top: '50%',
337
- transform: 'translateY(-50%)',
338
+ transform: `translateY(-50%) ${computedStyles.icon.transform || ''}`,
338
339
  zIndex: 1,
339
340
  }}
340
341
  />
@@ -9,7 +9,8 @@ import InfoIcon from '../Icons/Info'
9
9
  import CheckCircleIcon from '../Icons/CheckCircle'
10
10
  import ErrorIcon from '../Icons/Error'
11
11
  import WarningIcon from '../Icons/Warning'
12
- import { AlertStyles, getAlertStyles, SACRED_GLYPHS } from '../../theme'
12
+ import { getAlertStyles, SACRED_GLYPHS } from '../../theme'
13
+ import type { AlertStyles } from '../../theme'
13
14
 
14
15
  // --------------------------------------------------------------------------
15
16
  // PROPS INTERFACE
@@ -4,15 +4,10 @@
4
4
  */
5
5
  'use client'
6
6
 
7
- import React, {
8
- useState,
9
- useEffect,
10
- FC,
11
- ReactNode,
12
- useMemo,
13
- useCallback,
14
- } from 'react'
15
- import { AppBarStyles, getAppBarStyles, SACRED_GLYPHS } from '../../theme'
7
+ import React, { useState, useEffect, useMemo, useCallback } from 'react'
8
+ import type { FC, ReactNode } from 'react'
9
+ import { getAppBarStyles, SACRED_GLYPHS } from '../../theme'
10
+ import type { AppBarStyles } from '../../theme'
16
11
 
17
12
  // --------------------------------------------------------------------------
18
13
  // PROPS INTERFACE
@@ -5,7 +5,8 @@
5
5
  'use client'
6
6
 
7
7
  import React, { useMemo, forwardRef } from 'react'
8
- import { AvatarStyles, getAvatarStyles } from '../../theme'
8
+ import { getAvatarStyles } from '../../theme'
9
+ import type { AvatarStyles } from '../../theme'
9
10
 
10
11
  // --------------------------------------------------------------------------
11
12
  // PROPS INTERFACE
@@ -0,0 +1,350 @@
1
+ 'use client'
2
+
3
+ import React, { useState, useCallback, useMemo } from 'react'
4
+ import Accordion from '../Accordion'
5
+ import SearchableSimple, {
6
+ type DropdownOption,
7
+ } from '../Field/Dropdown/SearchableSimple'
8
+ import Chip from '../Chip'
9
+ import Typography from '../Typography'
10
+ import DateRange from '../Field/Date/DateRange'
11
+ import * as Icons from '../Icons'
12
+ import { FormFieldStyles } from '../../theme'
13
+
14
+ const { FilterListIcon, ClearIcon } = Icons
15
+
16
+ export interface CalendarFilterOptions {
17
+ searchText?: string
18
+ eventTypes?: string[]
19
+ dateRange?: {
20
+ start?: Date | null
21
+ end?: Date | null
22
+ }
23
+ resources?: string[]
24
+ tags?: string[]
25
+ status?: string[]
26
+ customFilters?: Record<string, any>
27
+ }
28
+
29
+ interface CalendarFiltersProps {
30
+ filters: CalendarFilterOptions
31
+ onFiltersChange: (filters: CalendarFilterOptions) => void
32
+ availableResources?: { id: string; title: string }[]
33
+ cities?: string[]
34
+ propertyTypes?: string[]
35
+ bedroomOptions?: Array<string | number>
36
+ priceRanges?: string[]
37
+ // Remove external custom components; inline standardized dropdowns instead
38
+ expanded?: boolean
39
+ styles?: FormFieldStyles
40
+ }
41
+
42
+ export const CalendarFilters: React.FC<CalendarFiltersProps> = ({
43
+ filters,
44
+ onFiltersChange,
45
+ availableResources = [],
46
+ cities = [],
47
+ propertyTypes = [],
48
+ bedroomOptions = [],
49
+ priceRanges = [],
50
+ expanded = true,
51
+ styles,
52
+ }) => {
53
+ const [isExpanded, setIsExpanded] = useState(expanded)
54
+ const theme = styles?.theme ?? 'sacred'
55
+
56
+ // search removed
57
+
58
+ const handleDateRangeChange = useCallback(
59
+ (range: { start: Date | null; end: Date | null }) => {
60
+ onFiltersChange({
61
+ ...filters,
62
+ dateRange: {
63
+ start: range.start ?? null,
64
+ end: range.end ?? null,
65
+ },
66
+ })
67
+ },
68
+ [filters, onFiltersChange]
69
+ )
70
+
71
+ // tag toggle replaced by dropdown
72
+
73
+ const clearAllFilters = useCallback(() => {
74
+ onFiltersChange({})
75
+ }, [onFiltersChange])
76
+
77
+ const activeFilterCount = useMemo(() => {
78
+ let count = 0
79
+ if (filters.searchText) count++
80
+ // Removed event types filter
81
+ if (filters.dateRange?.start || filters.dateRange?.end) count++
82
+ if (filters.resources?.length) count++
83
+ if (filters.tags?.length) count++
84
+ if (filters.customFilters && Object.keys(filters.customFilters).length)
85
+ count++
86
+ return count
87
+ }, [filters])
88
+
89
+ const accordionSummary = useMemo(
90
+ () => (
91
+ <div
92
+ style={{
93
+ display: 'flex',
94
+ alignItems: 'center',
95
+ gap: '12px',
96
+ width: '100%',
97
+ }}
98
+ >
99
+ <FilterListIcon styles={{ theme: styles?.theme ?? 'sacred' }} />
100
+ <Typography
101
+ styles={{
102
+ theme,
103
+ fontSize: '1rem',
104
+ fontWeight: 600,
105
+ ...(theme === 'sacred'
106
+ ? {
107
+ variant: 'cinzelh5',
108
+ color: '#FFD700',
109
+ textShadow: '0 0 6px rgba(255, 215, 0, 0.5)',
110
+ }
111
+ : {}),
112
+ }}
113
+ >
114
+ Filters
115
+ </Typography>
116
+ {activeFilterCount > 0 && (
117
+ <Chip
118
+ label={`${activeFilterCount} active`}
119
+ styles={{
120
+ theme: styles?.theme || 'sacred',
121
+ color: styles?.theme === 'sacred' ? '#FFD700' : '#3b82f6',
122
+ }}
123
+ />
124
+ )}
125
+ <div style={{ flexGrow: 1 }} />
126
+ {activeFilterCount > 0 && (
127
+ <div
128
+ onClick={e => {
129
+ e.stopPropagation()
130
+ clearAllFilters()
131
+ }}
132
+ style={{
133
+ cursor: 'pointer',
134
+ padding: '4px',
135
+ borderRadius: '4px',
136
+ display: 'flex',
137
+ alignItems: 'center',
138
+ justifyContent: 'center',
139
+ transition: 'background-color 0.2s',
140
+ }}
141
+ onMouseEnter={e => {
142
+ e.currentTarget.style.backgroundColor =
143
+ styles?.theme === 'sacred'
144
+ ? 'rgba(255, 215, 0, 0.1)'
145
+ : 'rgba(0, 0, 0, 0.04)'
146
+ }}
147
+ onMouseLeave={e => {
148
+ e.currentTarget.style.backgroundColor = 'transparent'
149
+ }}
150
+ >
151
+ <ClearIcon
152
+ styles={{ theme: styles?.theme ?? 'sacred', size: 16 }}
153
+ />
154
+ </div>
155
+ )}
156
+ </div>
157
+ ),
158
+ [activeFilterCount, styles, theme, clearAllFilters]
159
+ )
160
+
161
+ const containerStyle: React.CSSProperties = {
162
+ display: 'flex',
163
+ flexDirection: 'column',
164
+ gap: '16px',
165
+ padding: '16px',
166
+ }
167
+
168
+ const sectionStyle: React.CSSProperties = {
169
+ display: 'flex',
170
+ flexDirection: 'column',
171
+ gap: '8px',
172
+ }
173
+
174
+ // removed chip container
175
+
176
+ return (
177
+ <Accordion
178
+ summary={accordionSummary}
179
+ expanded={isExpanded}
180
+ onChange={(_, expanded) => {
181
+ console.log('Accordion onChange called, expanded:', expanded)
182
+ setIsExpanded(expanded)
183
+ }}
184
+ styles={{
185
+ theme,
186
+ marginBottom: '16px',
187
+ ...(theme === 'sacred'
188
+ ? {
189
+ summaryColor: '#FFD700',
190
+ summaryTextShadow: '0 0 8px rgba(255, 215, 0, 0.6)',
191
+ }
192
+ : {}),
193
+ }}
194
+ details={
195
+ <div style={containerStyle}>
196
+ {/* Removed global search */}
197
+
198
+ {/* Date Range */}
199
+ <DateRange
200
+ value={{
201
+ start: filters.dateRange?.start || null,
202
+ end: filters.dateRange?.end || null,
203
+ }}
204
+ onChange={handleDateRangeChange}
205
+ startLabel="Start Date"
206
+ endLabel="End Date"
207
+ disableFutureDateValidation
208
+ {...(styles ? { styles } : {})}
209
+ />
210
+
211
+ {/* Two-row grid of dropdowns */}
212
+ <div
213
+ style={{
214
+ display: 'grid',
215
+ gridTemplateColumns: '1fr 1fr',
216
+ gap: '16px',
217
+ }}
218
+ >
219
+ {(cities.length > 0 || availableResources.length > 0) && (
220
+ <div style={sectionStyle}>
221
+ <SearchableSimple
222
+ label="City"
223
+ options={
224
+ cities.length > 0
225
+ ? cities.map<DropdownOption>(c => ({ value: c }))
226
+ : availableResources.map<DropdownOption>(r => ({
227
+ value: r.title,
228
+ _id: r.id,
229
+ }))
230
+ }
231
+ {...(() => {
232
+ const defCity = filters.customFilters?.city as
233
+ | string
234
+ | undefined
235
+ if (defCity) return { defaultValue: defCity }
236
+ const resId = (filters.resources || [])[0]
237
+ const found = availableResources.find(r => r.id === resId)
238
+ return found?.title ? { defaultValue: found.title } : {}
239
+ })()}
240
+ onChange={opt => {
241
+ if (cities.length > 0) {
242
+ onFiltersChange({
243
+ ...filters,
244
+ customFilters: {
245
+ ...filters.customFilters,
246
+ city: opt?.value || '',
247
+ },
248
+ })
249
+ } else {
250
+ onFiltersChange({
251
+ ...filters,
252
+ resources: opt?.value ? [opt._id || opt.value] : [],
253
+ })
254
+ }
255
+ }}
256
+ styles={{ theme: styles?.theme ?? 'sacred' }}
257
+ />
258
+ </div>
259
+ )}
260
+ {/* Status removed */}
261
+ {propertyTypes.length > 0 && (
262
+ <div style={sectionStyle}>
263
+ <SearchableSimple
264
+ label="Property Type"
265
+ options={propertyTypes.map<DropdownOption>(t => ({
266
+ value: t,
267
+ }))}
268
+ {...(() => {
269
+ const def = filters.customFilters?.propertyType as
270
+ | string
271
+ | undefined
272
+ return def ? { defaultValue: def } : {}
273
+ })()}
274
+ onChange={opt =>
275
+ onFiltersChange({
276
+ ...filters,
277
+ customFilters: {
278
+ ...filters.customFilters,
279
+ propertyType: opt?.value || '',
280
+ },
281
+ })
282
+ }
283
+ styles={{ theme: styles?.theme ?? 'sacred' }}
284
+ />
285
+ </div>
286
+ )}
287
+ {bedroomOptions.length > 0 && (
288
+ <div style={sectionStyle}>
289
+ <SearchableSimple
290
+ label="Bedrooms"
291
+ options={bedroomOptions.map<DropdownOption>(b => ({
292
+ value: String(b),
293
+ }))}
294
+ {...(() => {
295
+ const def = filters.customFilters?.bedrooms as
296
+ | string
297
+ | undefined
298
+ return def ? { defaultValue: def } : {}
299
+ })()}
300
+ onChange={opt =>
301
+ onFiltersChange({
302
+ ...filters,
303
+ customFilters: {
304
+ ...filters.customFilters,
305
+ bedrooms: opt?.value || '',
306
+ },
307
+ })
308
+ }
309
+ styles={{ theme: styles?.theme ?? 'sacred' }}
310
+ />
311
+ </div>
312
+ )}
313
+ {priceRanges.length > 0 && (
314
+ <div style={sectionStyle}>
315
+ <SearchableSimple
316
+ label="Price Range"
317
+ options={priceRanges.map<DropdownOption>(p => ({ value: p }))}
318
+ {...(() => {
319
+ const def = filters.customFilters?.priceRange as
320
+ | string
321
+ | undefined
322
+ return def ? { defaultValue: def } : {}
323
+ })()}
324
+ onChange={opt =>
325
+ onFiltersChange({
326
+ ...filters,
327
+ customFilters: {
328
+ ...filters.customFilters,
329
+ priceRange: opt?.value || '',
330
+ },
331
+ })
332
+ }
333
+ styles={{ theme: styles?.theme ?? 'sacred' }}
334
+ />
335
+ </div>
336
+ )}
337
+ {/* Fourth slot reserved for future standardized dropdown */}
338
+ <div />
339
+ </div>
340
+
341
+ {/* Tags handled above */}
342
+
343
+ {/* Status handled above */}
344
+
345
+ {/* External custom components removed in favor of standardized inline dropdowns */}
346
+ </div>
347
+ }
348
+ />
349
+ )
350
+ }