ion-icon-angular-standalone
Version:
Simplify IonIcon usage in standalone Ionic Angular applications.
1 lines • 2.65 kB
Source Map (JSON)
{"version":3,"file":"ion-icon-angular-standalone-branded.mjs","sources":["../../../projects/ion-icon-angular-standalone/branded/src/index.ts","../../../projects/ion-icon-angular-standalone/branded/src/ion-icon-angular-standalone-branded.ts"],"sourcesContent":["// Copyright (c) atama plus inc. All rights reserved. Licensed under the MIT license.\n\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { IonIcon } from '@ionic/angular/standalone';\nimport { addIcons } from 'ionicons';\n\nexport type IconName = string & { readonly __brand: unique symbol };\n\nfunction toKebabCase(name: string) {\n // https://github.com/ionic-team/ionicons/blob/4477c0251291dee6c2aeeebef8df928edf3e620f/src/components/icon/utils.ts#L34\n return name.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g, '$1-$2').toLowerCase();\n}\n\nexport function addIcon(icon: { readonly [name: string]: string }): IconName {\n const iconNames = Object.keys(icon);\n if (iconNames.length !== 1) {\n throw new Error('You may specify only single icon per call.');\n }\n addIcons(icon);\n return toKebabCase(iconNames[0]) as IconName;\n}\n\n@Component({\n selector: 'ion-icon',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content/>',\n inputs: ['color', 'flipRtl', 'icon', 'ios', 'lazy', 'md', 'mode', 'name', 'sanitize', 'size', 'src'],\n standalone: true,\n})\nexport class IonIconWithBrandedName extends IonIcon {\n name?: IconName;\n ios?: IconName;\n md?: IconName;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAAA;AAQA,SAAS,WAAW,CAAC,IAAY,EAAA;;IAE/B,OAAO,IAAI,CAAC,OAAO,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE;AAC/E;AAEM,SAAU,OAAO,CAAC,IAAyC,EAAA;IAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACnC,IAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1B,QAAA,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC;;IAE/D,QAAQ,CAAC,IAAI,CAAC;AACd,IAAA,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAa;AAC9C;AASM,MAAO,sBAAuB,SAAQ,OAAO,CAAA;+GAAtC,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,yQAJvB,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAId,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;oBACpB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE,eAAe;oBACzB,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC;AACpG,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;AC5BD;;AAEG;;;;"}