This field will be used in conjunction with pack extensions
to be able to hide extensions that are only usable as part of a pack.
There is no need to make the field required, though.
* Make routes in ModuleConfig required
* Make Panel options nullable
* Clean up InterfaceConfig and LayoutConfig types
* Remove DisplayHandlerFunction and rename handler to component
* Use template interpolation when registering extensions
* move composables, types and utils to shared
* move composables, utils and types to shared
* expose utils and composables in extensionsSDK
* fix missing dependencies
* Sort index.ts exports
* Do the thing
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Disable attribute inheritance for all layout components
This prevents vue from polluting the DOM with unused state props.
* Disable attribute inheritance in layout templates
* Rework layout extension component management
* Move cards layout to new system
* Move calendar layout to new system
* Move map layout to new system
* Use new useLayout everywhere
* Remove useLayoutState composable
* Add support for scaffolding typescript extensions to extensions-sdk
* Add support for building typescript extensions to extensions-sdk
* Fix type issues in extension templates
* Expose types of extensions-sdk
* Add language option to create-directus-extension