Everything is still typed as string and continuously parsed to temporal types (that get immediately thrown away). The useGroupRoomBooking should convert the stringly typed JSON object from the API to well-typed data for use in the rest of the system.
One minor issue that would have been good to address is the need to run npm install in bff/ before you can run any Maven command. Running npm install (and maybe even installing Node and npm) via Maven before attempting to run Prettier would have been nice.
This needs some documentation what it is. Inline and modal are to me opposing concepts. What actually is it? When would I use it compared to a modal dialog and how is it different from just a <div>?
Everything else is a SVG icon, why not this too? Using a CSS border trick feels like a relic from the past.
Use the new Temporal API with one of the available polyfills (temporal-polifyll being the most popular). Having everything as a string and using regular expressions or string splitting is not good.
I think this component would have been better split into two, a single select and a multiple select version. If I use it with multiple={false} I would not want my onChange callback to be called with an array of choices.
This is limiting. Often times you want to select some more complex object as you do in your examples in ComponentLibrary. Forcing all users of the component to do their own lookup when it should be handled by the Combobox/this component.
Shouldn't icons inherit their size from their context? Like if I add an icon to a small button or a large heading I would assume it would scale to that context rather than having its own independent size.
Without having seen an example of a full form with validation it's hard to tell if this is the path forward. We can probably leave it for now.