ic-ui-kit icon indicating copy to clipboard operation
ic-ui-kit copied to clipboard

Output a native wrapper package for the ICDS components in Angular

Open GCHQDev01001010 opened this issue 4 months ago โ€ข 3 comments

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)

GCHQDev01001010 avatar Sep 10 '25 11:09 GCHQDev01001010

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?

GCHQ-Developer-299 avatar Sep 15 '25 08:09 GCHQ-Developer-299

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 ๐Ÿ˜…

GCHQDev01001010 avatar Sep 15 '25 10:09 GCHQDev01001010

linked to https://github.com/mi6/ic-design-system/issues/850 as this had some discussion around Angular package

ad9242 avatar Oct 01 '25 09:10 ad9242