@lucca-front/ng 19.3.0-rc.4 → 19.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -40,7 +40,7 @@ class ButtonComponent {
|
|
|
40
40
|
[`palette-${this.palette}`]: !!this.palette,
|
|
41
41
|
[`is-${this.state}`]: !!this.state,
|
|
42
42
|
['mod-onlyIcon']: this.iconOnly,
|
|
43
|
-
['mod-withIcon']: this.#iconComponentRef !== undefined,
|
|
43
|
+
['mod-withIcon']: this.#iconComponentRef !== undefined && !this.disclosure && !this.iconOnly,
|
|
44
44
|
['mod-delete']: this.delete,
|
|
45
45
|
['mod-disclosure']: this.disclosure,
|
|
46
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-button.mjs","sources":["../../../packages/ng/button/button.component.ts","../../../packages/ng/button/lucca-front-ng-button.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ElementRef, inject, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { LuClass, Palette } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'button[luButton],a[luButton]',\n\tstandalone: true,\n\tproviders: [LuClass],\n\ttemplate: '<ng-content></ng-content>',\n\tstyleUrls: ['./button.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'button',\n\t},\n})\nexport class ButtonComponent implements OnChanges {\n\t#luClass = inject(LuClass);\n\t#elementRef = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n\n\t@Input()\n\tsize: 'M' | 'S' | 'XS';\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tblock = false;\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tdelete = false;\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tdisclosure = false;\n\n\t@Input()\n\tpalette: Palette = 'none';\n\n\t@Input()\n\tstate: 'default' | 'loading' | 'error' | 'success' = 'default';\n\n\t@Input()\n\t/**\n\t * '' is the default value when you just set the `luButton` directive without a value attached to it.\n\t * We just make this explicit here.\n\t */\n\tluButton: '' | 'outlined' | 'text' | 'text-invert' = '';\n\n\t#iconComponentRef?: ElementRef<HTMLElement>;\n\n\t@ContentChild(IconComponent, { read: ElementRef<HTMLElement> })\n\tset iconComponentRef(ref: ElementRef<HTMLElement>) {\n\t\tthis.#iconComponentRef = ref;\n\t\tthis.updateClasses();\n\t}\n\n\tprivate get iconOnly(): boolean {\n\t\tconst childNodes = Array.from(this.#elementRef?.nativeElement?.childNodes || []);\n\t\tconst noText = childNodes.every(({ nodeName }) => nodeName !== '#text');\n\t\t// ignore icon and comment\n\t\tconst noSpan =\n\t\t\tchildNodes.filter((node: HTMLElement) => {\n\t\t\t\treturn node.nodeName !== '#comment' && node.nodeName.toLowerCase() !== 'lu-icon' && !node?.className?.includes('u-mask');\n\t\t\t}).length == 0;\n\t\treturn !!this.#iconComponentRef && noSpan && noText;\n\t}\n\n\tngOnChanges(): void {\n\t\tthis.updateClasses();\n\t}\n\n\tupdateClasses(): void {\n\t\tconst ngClassConfig = {\n\t\t\t[`mod-${this.size}`]: !!this.size,\n\t\t\t[`mod-block`]: this.block,\n\t\t\t[`palette-${this.palette}`]: !!this.palette,\n\t\t\t[`is-${this.state}`]: !!this.state,\n\t\t\t['mod-onlyIcon']: this.iconOnly,\n\t\t\t['mod-withIcon']: this.#iconComponentRef !== undefined,\n\t\t\t['mod-delete']: this.delete,\n\t\t\t['mod-disclosure']: this.disclosure,\n\t\t};\n\n\t\tif (this.luButton !== '') {\n\t\t\tif (this.luButton === 'text-invert') {\n\t\t\t\tngClassConfig['mod-text'] = true;\n\t\t\t\tngClassConfig['mod-invert'] = true;\n\t\t\t} else {\n\t\t\t\tngClassConfig[`mod-${this.luButton}`] = true;\n\t\t\t}\n\t\t}\n\t\tthis.#luClass.setState(ngClassConfig);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAiBa,eAAe,CAAA;AAb5B,IAAA,WAAA,GAAA;AAcC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;AAC1B,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAgC,UAAU,CAAC;QAQ/D,IAAK,CAAA,KAAA,GAAG,KAAK;QAKb,IAAM,CAAA,MAAA,GAAG,KAAK;QAKd,IAAU,CAAA,UAAA,GAAG,KAAK;QAGlB,IAAO,CAAA,OAAA,GAAY,MAAM;QAGzB,IAAK,CAAA,KAAA,GAAgD,SAAS;QAO9D,IAAQ,CAAA,QAAA,GAA6C,EAAE;AA+CvD;AA/EA,IAAA,QAAQ;AACR,IAAA,WAAW;AAiCX,IAAA,iBAAiB;IAEjB,IACI,gBAAgB,CAAC,GAA4B,EAAA;AAChD,QAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG;QAC5B,IAAI,CAAC,aAAa,EAAE;;AAGrB,IAAA,IAAY,QAAQ,GAAA;AACnB,QAAA,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,UAAU,IAAI,EAAE,CAAC;AAChF,QAAA,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,QAAQ,KAAK,OAAO,CAAC;;QAEvE,MAAM,MAAM,GACX,UAAU,CAAC,MAAM,CAAC,CAAC,IAAiB,KAAI;YACvC,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,SAAS,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC;AACzH,SAAC,CAAC,CAAC,MAAM,IAAI,CAAC;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,MAAM,IAAI,MAAM;;IAGpD,WAAW,GAAA;QACV,IAAI,CAAC,aAAa,EAAE;;IAGrB,aAAa,GAAA;AACZ,QAAA,MAAM,aAAa,GAAG;YACrB,CAAC,CAAA,IAAA,EAAO,IAAI,CAAC,IAAI,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI;AACjC,YAAA,CAAC,CAAW,SAAA,CAAA,GAAG,IAAI,CAAC,KAAK;YACzB,CAAC,CAAA,QAAA,EAAW,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO;YAC3C,CAAC,CAAA,GAAA,EAAM,IAAI,CAAC,KAAK,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK;AAClC,YAAA,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ;AAC/B,YAAA,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,KAAK,SAAS;
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-button.mjs","sources":["../../../packages/ng/button/button.component.ts","../../../packages/ng/button/lucca-front-ng-button.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ElementRef, inject, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { LuClass, Palette } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'button[luButton],a[luButton]',\n\tstandalone: true,\n\tproviders: [LuClass],\n\ttemplate: '<ng-content></ng-content>',\n\tstyleUrls: ['./button.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'button',\n\t},\n})\nexport class ButtonComponent implements OnChanges {\n\t#luClass = inject(LuClass);\n\t#elementRef = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n\n\t@Input()\n\tsize: 'M' | 'S' | 'XS';\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tblock = false;\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tdelete = false;\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tdisclosure = false;\n\n\t@Input()\n\tpalette: Palette = 'none';\n\n\t@Input()\n\tstate: 'default' | 'loading' | 'error' | 'success' = 'default';\n\n\t@Input()\n\t/**\n\t * '' is the default value when you just set the `luButton` directive without a value attached to it.\n\t * We just make this explicit here.\n\t */\n\tluButton: '' | 'outlined' | 'text' | 'text-invert' = '';\n\n\t#iconComponentRef?: ElementRef<HTMLElement>;\n\n\t@ContentChild(IconComponent, { read: ElementRef<HTMLElement> })\n\tset iconComponentRef(ref: ElementRef<HTMLElement>) {\n\t\tthis.#iconComponentRef = ref;\n\t\tthis.updateClasses();\n\t}\n\n\tprivate get iconOnly(): boolean {\n\t\tconst childNodes = Array.from(this.#elementRef?.nativeElement?.childNodes || []);\n\t\tconst noText = childNodes.every(({ nodeName }) => nodeName !== '#text');\n\t\t// ignore icon and comment\n\t\tconst noSpan =\n\t\t\tchildNodes.filter((node: HTMLElement) => {\n\t\t\t\treturn node.nodeName !== '#comment' && node.nodeName.toLowerCase() !== 'lu-icon' && !node?.className?.includes('u-mask');\n\t\t\t}).length == 0;\n\t\treturn !!this.#iconComponentRef && noSpan && noText;\n\t}\n\n\tngOnChanges(): void {\n\t\tthis.updateClasses();\n\t}\n\n\tupdateClasses(): void {\n\t\tconst ngClassConfig = {\n\t\t\t[`mod-${this.size}`]: !!this.size,\n\t\t\t[`mod-block`]: this.block,\n\t\t\t[`palette-${this.palette}`]: !!this.palette,\n\t\t\t[`is-${this.state}`]: !!this.state,\n\t\t\t['mod-onlyIcon']: this.iconOnly,\n\t\t\t['mod-withIcon']: this.#iconComponentRef !== undefined && !this.disclosure && !this.iconOnly,\n\t\t\t['mod-delete']: this.delete,\n\t\t\t['mod-disclosure']: this.disclosure,\n\t\t};\n\n\t\tif (this.luButton !== '') {\n\t\t\tif (this.luButton === 'text-invert') {\n\t\t\t\tngClassConfig['mod-text'] = true;\n\t\t\t\tngClassConfig['mod-invert'] = true;\n\t\t\t} else {\n\t\t\t\tngClassConfig[`mod-${this.luButton}`] = true;\n\t\t\t}\n\t\t}\n\t\tthis.#luClass.setState(ngClassConfig);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lucca-front/ng",
|
|
3
|
-
"version": "19.3.0
|
|
3
|
+
"version": "19.3.0",
|
|
4
4
|
"description": "A library of icons made by the team @Lucca",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"@angular/common": "^19.0.0",
|
|
27
27
|
"@angular/core": "^19.0.0",
|
|
28
28
|
"@angular/cdk": "^19.0.0",
|
|
29
|
-
"@lucca-front/icons": "19.3.0
|
|
30
|
-
"@lucca-front/scss": "19.3.0
|
|
29
|
+
"@lucca-front/icons": "19.3.0",
|
|
30
|
+
"@lucca-front/scss": "19.3.0",
|
|
31
31
|
"isomorphic-dompurify": "^2.17.0",
|
|
32
32
|
"date-fns": "^3.6.0",
|
|
33
33
|
"rxjs": "^7.8.0"
|
|
@@ -62,29 +62,29 @@
|
|
|
62
62
|
"types": "./animations/index.d.ts",
|
|
63
63
|
"default": "./fesm2022/lucca-front-ng-animations.mjs"
|
|
64
64
|
},
|
|
65
|
-
"./api": {
|
|
66
|
-
"types": "./api/index.d.ts",
|
|
67
|
-
"default": "./fesm2022/lucca-front-ng-api.mjs"
|
|
68
|
-
},
|
|
69
65
|
"./breadcrumbs": {
|
|
70
66
|
"types": "./breadcrumbs/index.d.ts",
|
|
71
67
|
"default": "./fesm2022/lucca-front-ng-breadcrumbs.mjs"
|
|
72
68
|
},
|
|
73
|
-
"./
|
|
74
|
-
"types": "./
|
|
75
|
-
"default": "./fesm2022/lucca-front-ng-
|
|
69
|
+
"./button": {
|
|
70
|
+
"types": "./button/index.d.ts",
|
|
71
|
+
"default": "./fesm2022/lucca-front-ng-button.mjs"
|
|
76
72
|
},
|
|
77
73
|
"./callout": {
|
|
78
74
|
"types": "./callout/index.d.ts",
|
|
79
75
|
"default": "./fesm2022/lucca-front-ng-callout.mjs"
|
|
80
76
|
},
|
|
77
|
+
"./chip": {
|
|
78
|
+
"types": "./chip/index.d.ts",
|
|
79
|
+
"default": "./fesm2022/lucca-front-ng-chip.mjs"
|
|
80
|
+
},
|
|
81
81
|
"./comment": {
|
|
82
82
|
"types": "./comment/index.d.ts",
|
|
83
83
|
"default": "./fesm2022/lucca-front-ng-comment.mjs"
|
|
84
84
|
},
|
|
85
|
-
"./
|
|
86
|
-
"types": "./
|
|
87
|
-
"default": "./fesm2022/lucca-front-ng-
|
|
85
|
+
"./api": {
|
|
86
|
+
"types": "./api/index.d.ts",
|
|
87
|
+
"default": "./fesm2022/lucca-front-ng-api.mjs"
|
|
88
88
|
},
|
|
89
89
|
"./core": {
|
|
90
90
|
"types": "./core/index.d.ts",
|