Not really a full answer: I would rename defineProperties to resolveProperties which is a more commonly used name for this type of action.
Maybe I'd move the props to the top of the class, as first line. My JS isn't what it used to be, but in most languages it's good practice to place "configurable settings" at the top, so that when you make a ...
A couple of good points to start out:
You use for..of loops... great!
You use fetch... great!
Suggestions for improvement:
JS uses snakeCase, not snake_case. It's OK to use snake_case for response structures that use it as is the case here (you might consider renaming them), but not otherwise.
CSS generally uses kebab-case. I'm not sure how to parse ...