@lucca/prisme 22.0.0-rc.5 → 22.0.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.
@@ -0,0 +1,92 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, input, booleanAttribute, numberAttribute, HostAttributeToken, computed, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { PrClass, ɵeffectWithDeps as _effectWithDeps } from '@lucca/prisme/core';
4
+ import * as i1 from '@lucca/prisme/tooltip';
5
+ import { LuTooltipModule } from '@lucca/prisme/tooltip';
6
+
7
+ /**
8
+ * Available NumericBadgeComponent Types
9
+ */
10
+ const NUMERIC_BADGE_SIZE = ['XS', 'S', 'M'];
11
+
12
+ class NumericBadgeComponent {
13
+ #luClass;
14
+ #initialAriaHidden;
15
+ constructor() {
16
+ this.#luClass = inject(PrClass);
17
+ /**
18
+ * The value to display, number or string contains number only.
19
+ */
20
+ this.value = input.required(/* @ts-ignore */
21
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
22
+ /**
23
+ * The size of the badge
24
+ */
25
+ this.size = input(/* @ts-ignore */
26
+ ...(ngDevMode ? [undefined, { debugName: "size" }] : /* istanbul ignore next */ []));
27
+ /**
28
+ * The palette to use for this badge. Defaults to 'none' (inherits parent palette)
29
+ */
30
+ this.palette = input('none', /* @ts-ignore */
31
+ ...(ngDevMode ? [{ debugName: "palette" }] : /* istanbul ignore next */ []));
32
+ /**
33
+ * Applies the loading state
34
+ */
35
+ this.loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
36
+ /**
37
+ * Indicates the maximum value of number for the numeric badge
38
+ */
39
+ this.maxValue = input(999, { ...(ngDevMode ? { debugName: "maxValue" } : /* istanbul ignore next */ {}), transform: numberAttribute });
40
+ /**
41
+ * Disabled tooltip on numeric badge
42
+ */
43
+ this.disableTooltip = input(false, { ...(ngDevMode ? { debugName: "disableTooltip" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
44
+ this.#initialAriaHidden = inject(new HostAttributeToken('aria-hidden'), { optional: true });
45
+ this.ariaHidden = computed(() => (this.loading() ? 'true' : this.#initialAriaHidden), /* @ts-ignore */
46
+ ...(ngDevMode ? [{ debugName: "ariaHidden" }] : /* istanbul ignore next */ []));
47
+ this.numericBadgeClasses = computed(() => {
48
+ const palette = this.palette();
49
+ const size = this.size();
50
+ return { [`palette-${palette}`]: !!palette, [`mod-${size}`]: !!size };
51
+ }, /* @ts-ignore */
52
+ ...(ngDevMode ? [{ debugName: "numericBadgeClasses" }] : /* istanbul ignore next */ []));
53
+ this.displayValue = computed(() => {
54
+ const value = this.value();
55
+ const maxValue = this.maxValue();
56
+ if (typeof value === 'number') {
57
+ return +value > maxValue ? `${maxValue}+` : value;
58
+ }
59
+ else {
60
+ return value;
61
+ }
62
+ }, /* @ts-ignore */
63
+ ...(ngDevMode ? [{ debugName: "displayValue" }] : /* istanbul ignore next */ []));
64
+ this.isDisabled = computed(() => {
65
+ const value = this.value();
66
+ return this.disableTooltip() || typeof value !== 'number' || this.loading() || this.maxValue() >= +value;
67
+ }, /* @ts-ignore */
68
+ ...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
69
+ _effectWithDeps([this.numericBadgeClasses], (numericBadgeClasses) => {
70
+ if (numericBadgeClasses) {
71
+ this.#luClass.setState(numericBadgeClasses);
72
+ }
73
+ });
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: NumericBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.8", type: NumericBadgeComponent, isStandalone: true, selector: "lu-numeric-badge,pr-numeric-badge", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null }, disableTooltip: { classPropertyName: "disableTooltip", publicName: "disableTooltip", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-loading": "loading()", "attr.aria-hidden": "ariaHidden()" }, classAttribute: "numericBadge" }, providers: [PrClass], ngImport: i0, template: "<span class=\"numericBadge-value\" [luTooltip]=\"value()\" [luTooltipDisabled]=\"isDisabled()\">{{ displayValue() }}</span>\n", styles: ["@charset \"UTF-8\";@layer components{.numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-neutral-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-neutral-700));--components-numericBadge-loadingColor: var(--palettes-500, var(--palettes-neutral-500));--components-numericBadge-size: 1.5rem;--components-numericBadge-font: var(--pr-t-font-body-S);--components-numericBadge-borderRadius: var(--pr-t-border-radius-default);display:inline-flex;align-items:center;justify-content:center;block-size:var(--components-numericBadge-size);min-inline-size:var(--components-numericBadge-size);padding:var(--pr-t-spacings-50);font:var(--components-numericBadge-font);font-weight:var(--pr-t-font-fontWeight-semibold);background-color:var(--components-numericBadge-background);color:var(--components-numericBadge-color);border-radius:var(--components-numericBadge-borderRadius);transition-timing-function:ease;white-space:nowrap;position:relative;transition-duration:var(--commons-animations-durations-fast);transition-property:color}.numericBadge:empty:before{content:\"\\a0\"/\"\"}.numericBadge-value{outline:none}}@layer mods{.numericBadge.mod-S{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.numericBadge.mod-XS{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.numericBadge.is-loading{--commons-loading-frontground: var(--components-numericBadge-loadingColor);--commons-loading-borderWidth: 2px;--components-numericBadge-color: transparent}.numericBadge.is-loading:after{content:\"\";inline-size:calc(var(--components-numericBadge-size) - var(--pr-t-spacings-100));block-size:calc(var(--components-numericBadge-size) - var(--pr-t-spacings-100));border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.numericBadge.is-loading.mod-S{--commons-loading-borderWidth: 1.5px}.numericBadge.is-loading.mod-XS{--commons-loading-borderWidth: 1px}.numericBadge:focus-within{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}}@layer base{lu-numeric-badge{display:inline-flex}}\n"], dependencies: [{ kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: i1.LuTooltipTriggerDirective, selector: "[luTooltip],[prTooltip]", inputs: ["luTooltip", "prTooltip", "luTooltipEnterDelay", "prTooltipEnterDelay", "luTooltipLeaveDelay", "prTooltipLeaveDelay", "luTooltipDisabled", "prTooltipDisabled", "luTooltipOnlyForDisplay", "prTooltipOnlyForDisplay", "luTooltipPosition", "prTooltipPosition", "luTooltipWhenEllipsis", "prTooltipWhenEllipsis", "luTooltipAnchor", "prTooltipAnchor", "id"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: NumericBadgeComponent, decorators: [{
79
+ type: Component,
80
+ args: [{ selector: 'lu-numeric-badge,pr-numeric-badge', changeDetection: ChangeDetectionStrategy.OnPush, imports: [LuTooltipModule], providers: [PrClass], host: {
81
+ class: 'numericBadge',
82
+ '[class.is-loading]': 'loading()',
83
+ '[attr.aria-hidden]': 'ariaHidden()',
84
+ }, encapsulation: ViewEncapsulation.None, template: "<span class=\"numericBadge-value\" [luTooltip]=\"value()\" [luTooltipDisabled]=\"isDisabled()\">{{ displayValue() }}</span>\n", styles: ["@charset \"UTF-8\";@layer components{.numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-neutral-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-neutral-700));--components-numericBadge-loadingColor: var(--palettes-500, var(--palettes-neutral-500));--components-numericBadge-size: 1.5rem;--components-numericBadge-font: var(--pr-t-font-body-S);--components-numericBadge-borderRadius: var(--pr-t-border-radius-default);display:inline-flex;align-items:center;justify-content:center;block-size:var(--components-numericBadge-size);min-inline-size:var(--components-numericBadge-size);padding:var(--pr-t-spacings-50);font:var(--components-numericBadge-font);font-weight:var(--pr-t-font-fontWeight-semibold);background-color:var(--components-numericBadge-background);color:var(--components-numericBadge-color);border-radius:var(--components-numericBadge-borderRadius);transition-timing-function:ease;white-space:nowrap;position:relative;transition-duration:var(--commons-animations-durations-fast);transition-property:color}.numericBadge:empty:before{content:\"\\a0\"/\"\"}.numericBadge-value{outline:none}}@layer mods{.numericBadge.mod-S{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.numericBadge.mod-XS{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.numericBadge.is-loading{--commons-loading-frontground: var(--components-numericBadge-loadingColor);--commons-loading-borderWidth: 2px;--components-numericBadge-color: transparent}.numericBadge.is-loading:after{content:\"\";inline-size:calc(var(--components-numericBadge-size) - var(--pr-t-spacings-100));block-size:calc(var(--components-numericBadge-size) - var(--pr-t-spacings-100));border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.numericBadge.is-loading.mod-S{--commons-loading-borderWidth: 1.5px}.numericBadge.is-loading.mod-XS{--commons-loading-borderWidth: 1px}.numericBadge:focus-within{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}}@layer base{lu-numeric-badge{display:inline-flex}}\n"] }]
85
+ }], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], palette: [{ type: i0.Input, args: [{ isSignal: true, alias: "palette", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], maxValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxValue", required: false }] }], disableTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableTooltip", required: false }] }] } });
86
+
87
+ /**
88
+ * Generated bundle index. Do not edit.
89
+ */
90
+
91
+ export { NUMERIC_BADGE_SIZE, NumericBadgeComponent };
92
+ //# sourceMappingURL=lucca-prisme-numeric-badge.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lucca-prisme-numeric-badge.mjs","sources":["../../../packages/prisme/numeric-badge/numeric-badge.type.ts","../../../packages/prisme/numeric-badge/numeric-badge.component.ts","../../../packages/prisme/numeric-badge/numeric-badge.component.html","../../../packages/prisme/numeric-badge/lucca-prisme-numeric-badge.ts"],"sourcesContent":["/**\n * Available NumericBadgeComponent Types\n */\n\nexport const NUMERIC_BADGE_SIZE = ['XS', 'S', 'M'] as const;\nexport type NumericBadgeSize = (typeof NUMERIC_BADGE_SIZE)[number];\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, HostAttributeToken, inject, input, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { PrClass, Palette, ɵeffectWithDeps } from '@lucca/prisme/core';\nimport { LuTooltipModule } from '@lucca/prisme/tooltip';\nimport { NumericBadgeSize } from './numeric-badge.type';\n\n@Component({\n\tselector: 'lu-numeric-badge,pr-numeric-badge',\n\ttemplateUrl: './numeric-badge.component.html',\n\tstyleUrl: './numeric-badge.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [LuTooltipModule],\n\tproviders: [PrClass],\n\thost: {\n\t\tclass: 'numericBadge',\n\t\t'[class.is-loading]': 'loading()',\n\t\t'[attr.aria-hidden]': 'ariaHidden()',\n\t},\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class NumericBadgeComponent {\n\t#luClass = inject(PrClass);\n\n\t/**\n\t * The value to display, number or string contains number only.\n\t */\n\treadonly value = input.required<number | string>();\n\n\t/**\n\t * The size of the badge\n\t */\n\treadonly size = input<NumericBadgeSize>();\n\n\t/**\n\t * The palette to use for this badge. Defaults to 'none' (inherits parent palette)\n\t */\n\treadonly palette = input<Palette>('none');\n\n\t/**\n\t * Applies the loading state\n\t */\n\treadonly loading = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Indicates the maximum value of number for the numeric badge\n\t */\n\treadonly maxValue = input(999, { transform: numberAttribute });\n\n\t/**\n\t * Disabled tooltip on numeric badge\n\t */\n\treadonly disableTooltip = input(false, { transform: booleanAttribute });\n\n\treadonly #initialAriaHidden = inject(new HostAttributeToken('aria-hidden'), { optional: true });\n\n\treadonly ariaHidden = computed(() => (this.loading() ? 'true' : this.#initialAriaHidden));\n\n\treadonly numericBadgeClasses = computed(() => {\n\t\tconst palette = this.palette();\n\t\tconst size = this.size();\n\t\treturn { [`palette-${palette}`]: !!palette, [`mod-${size}`]: !!size };\n\t});\n\n\treadonly displayValue = computed(() => {\n\t\tconst value = this.value();\n\t\tconst maxValue = this.maxValue();\n\t\tif (typeof value === 'number') {\n\t\t\treturn +value > maxValue ? `${maxValue}+` : value;\n\t\t} else {\n\t\t\treturn value;\n\t\t}\n\t});\n\n\treadonly isDisabled = computed<boolean>(() => {\n\t\tconst value = this.value();\n\t\treturn this.disableTooltip() || typeof value !== 'number' || this.loading() || this.maxValue() >= +value;\n\t});\n\n\tconstructor() {\n\t\tɵeffectWithDeps([this.numericBadgeClasses], (numericBadgeClasses) => {\n\t\t\tif (numericBadgeClasses) {\n\t\t\t\tthis.#luClass.setState(numericBadgeClasses);\n\t\t\t}\n\t\t});\n\t}\n}\n","<span class=\"numericBadge-value\" [luTooltip]=\"value()\" [luTooltipDisabled]=\"isDisabled()\">{{ displayValue() }}</span>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵeffectWithDeps"],"mappings":"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"}