Output a native wrapper package for the ICDS components in Angular
Summary
Configure the Stencil configuration to output the components in a new @ukic/angular library for native Angular integration.
๐ฌ Description
Using the Stencil Output Target plugin, as per the existing configuration for React, this will create a new package with the ICDS components wrapped in native Angular components and provide them in both a standalone and bundled module formats.
๐ฐ User value
This will provide a richer developer experience for those using the ICDS with Angular. Primarily this will be due to no longer requiring the use of a special Schema in their app components and therefore won't be switching off core parts of Angular's template processing and validation; this will also provide better type support and intellisense when using the components with IDE environments configured around Angular.
๐ User Stories
As an Angular developer: I need to be able to use the ICDS components without enforcing schema exceptions within my app So that I can be sure that I haven't made breaking mistakes in my app structure.
๐ Acceptance Criteria
Given I am a developer working on the ICDS components
When I push or merge changes in GitHub
Then The CI pipeline will output my changes as a new version of the @ukic/angular package, in the same manner as the @ukic/react package is built.
Given I am an Angular developer looking to use the ICDS components When I visit the documentation site and navigate to the angular specific guidance Then I will see instructions for using the native versions before the existing instructions, which will be left as an alternative option.
โ Designs
N/A
###โฏ๐งพ Guidance N/A
๐จ Urgency (low, medium or high)
High (Though I will be working on the implementation myself)
Thanks for offering to contribute this yourself @GCHQDev01001010 - will you also be creating a package for the canary components in angular?
This work once completed will also require a change on the design system site to advise users how to implement the angular components, will you be happy to write that as well?
Hi @GCHQ-Developer-299 , For now, I probably won't be creating a package for the canary components, but if this process proves simple in general then it might be another issue I can raise later (partly it will be dictated by which components my main project will need to use). As for the docs/guidance site, I was expecting to include that work in this, yes :) though that side of things might take a little longer to get round to ๐
linked to https://github.com/mi6/ic-design-system/issues/850 as this had some discussion around Angular package