@xui/entity-title 2.0.0-alpha.20 → 2.0.0-alpha.21
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.
|
@@ -23,8 +23,10 @@ class XuiEntityTitle {
|
|
|
23
23
|
/** The user-defined classes. Merged last so they win over the base classes. */
|
|
24
24
|
class = input('', /* @ts-ignore */
|
|
25
25
|
...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
|
|
26
|
+
/** The entity's name — the primary line. */
|
|
26
27
|
title = input.required(/* @ts-ignore */
|
|
27
28
|
...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
|
|
29
|
+
/** A secondary line under the title, e.g. an identifier or a status. */
|
|
28
30
|
subtitle = input(null, /* @ts-ignore */
|
|
29
31
|
...(ngDevMode ? [{ debugName: "subtitle" }] : /* istanbul ignore next */ []));
|
|
30
32
|
/** Truncate the title and subtitle rather than wrapping. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xui-entity-title.mjs","sources":["../../../../../../libs/ui/entity-title/xui/src/lib/entity-title.ts","../../../../../../libs/ui/entity-title/xui/src/index.ts","../../../../../../libs/ui/entity-title/xui/src/xui-entity-title.ts"],"sourcesContent":["import type { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n ViewEncapsulation\n} from '@angular/core';\nimport { xui } from '@xui/core';\nimport { XuiSkeletonMask } from '@xui/skeleton';\nimport { XuiTextImports } from '@xui/text';\nimport type { ClassValue } from 'clsx';\n\n/**\n * The name of a thing, with its supporting detail.\n *\n * ```html\n * <xui-entity-title title=\"Quarterly report\" subtitle=\"Updated 2 hours ago\">\n * <ng-icon xui visual name=\"matDescriptionRound\" />\n * <span tags><xui-tag>Draft</xui-tag></span>\n * </xui-entity-title>\n * ```\n *\n * Used as the heading of a section, a card or a list row. `loading` masks the\n * text in place through `xuiSkeleton`, so the row keeps its height and nothing\n * jumps when the real values arrive.\n */\n@Component({\n selector: 'xui-entity-title',\n imports: [XuiTextImports, XuiSkeletonMask],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n <div class=\"text-foreground-muted shrink-0 empty:hidden\">\n <ng-content select=\"[visual]\" />\n </div>\n\n <div class=\"flex min-w-0 flex-col gap-0.5\">\n <div class=\"flex min-w-0 items-center gap-2\">\n <span xuiText weight=\"medium\" [ellipsize]=\"ellipsize()\" [xuiSkeleton]=\"loading()\">{{ title() }}</span>\n <span class=\"flex shrink-0 gap-1 empty:hidden\">\n <ng-content select=\"[tags]\" />\n </span>\n </div>\n\n @if (subtitle()) {\n <span xuiText color=\"muted\" size=\"sm\" [ellipsize]=\"ellipsize()\" [xuiSkeleton]=\"loading()\">\n {{ subtitle() }}\n </span>\n }\n\n <ng-content />\n </div>\n `,\n host: {\n '[class]': 'computedClass()'\n }\n})\nexport class XuiEntityTitle {\n /** The user-defined classes. Merged last so they win over the base classes. */\n readonly class = input<ClassValue>('');\n\n readonly title = input.required<string>();\n readonly subtitle = input<string | null>(null);\n\n /** Truncate the title and subtitle rather than wrapping. */\n readonly ellipsize = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** Expand to fill the container, so a right-aligned sibling is pushed out. */\n readonly fill = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** Mask the text in place while the entity is loading. */\n readonly loading = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n protected readonly computedClass = computed(() =>\n xui('flex items-center gap-3', this.fill() && 'w-full', this.class())\n );\n}\n","import { XuiEntityTitle } from './lib/entity-title';\n\nexport * from './lib/entity-title';\n\nexport const XuiEntityTitleImports = [XuiEntityTitle] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAcA;;;;;;;;;;;;;AAaG;MAgCU,cAAc,CAAA;;IAEhB,KAAK,GAAG,KAAK,CAAa,EAAE;8EAAC
|
|
1
|
+
{"version":3,"file":"xui-entity-title.mjs","sources":["../../../../../../libs/ui/entity-title/xui/src/lib/entity-title.ts","../../../../../../libs/ui/entity-title/xui/src/index.ts","../../../../../../libs/ui/entity-title/xui/src/xui-entity-title.ts"],"sourcesContent":["import type { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n ViewEncapsulation\n} from '@angular/core';\nimport { xui } from '@xui/core';\nimport { XuiSkeletonMask } from '@xui/skeleton';\nimport { XuiTextImports } from '@xui/text';\nimport type { ClassValue } from 'clsx';\n\n/**\n * The name of a thing, with its supporting detail.\n *\n * ```html\n * <xui-entity-title title=\"Quarterly report\" subtitle=\"Updated 2 hours ago\">\n * <ng-icon xui visual name=\"matDescriptionRound\" />\n * <span tags><xui-tag>Draft</xui-tag></span>\n * </xui-entity-title>\n * ```\n *\n * Used as the heading of a section, a card or a list row. `loading` masks the\n * text in place through `xuiSkeleton`, so the row keeps its height and nothing\n * jumps when the real values arrive.\n */\n@Component({\n selector: 'xui-entity-title',\n imports: [XuiTextImports, XuiSkeletonMask],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n <div class=\"text-foreground-muted shrink-0 empty:hidden\">\n <ng-content select=\"[visual]\" />\n </div>\n\n <div class=\"flex min-w-0 flex-col gap-0.5\">\n <div class=\"flex min-w-0 items-center gap-2\">\n <span xuiText weight=\"medium\" [ellipsize]=\"ellipsize()\" [xuiSkeleton]=\"loading()\">{{ title() }}</span>\n <span class=\"flex shrink-0 gap-1 empty:hidden\">\n <ng-content select=\"[tags]\" />\n </span>\n </div>\n\n @if (subtitle()) {\n <span xuiText color=\"muted\" size=\"sm\" [ellipsize]=\"ellipsize()\" [xuiSkeleton]=\"loading()\">\n {{ subtitle() }}\n </span>\n }\n\n <ng-content />\n </div>\n `,\n host: {\n '[class]': 'computedClass()'\n }\n})\nexport class XuiEntityTitle {\n /** The user-defined classes. Merged last so they win over the base classes. */\n readonly class = input<ClassValue>('');\n\n /** The entity's name — the primary line. */\n readonly title = input.required<string>();\n /** A secondary line under the title, e.g. an identifier or a status. */\n readonly subtitle = input<string | null>(null);\n\n /** Truncate the title and subtitle rather than wrapping. */\n readonly ellipsize = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** Expand to fill the container, so a right-aligned sibling is pushed out. */\n readonly fill = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** Mask the text in place while the entity is loading. */\n readonly loading = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n protected readonly computedClass = computed(() =>\n xui('flex items-center gap-3', this.fill() && 'w-full', this.class())\n );\n}\n","import { XuiEntityTitle } from './lib/entity-title';\n\nexport * from './lib/entity-title';\n\nexport const XuiEntityTitleImports = [XuiEntityTitle] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xui/entity-title",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.21",
|
|
4
4
|
"description": "Modern Angular 22 UI Library based on TailwindCSS",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"@angular/cdk": "22",
|
|
40
40
|
"@angular/core": "22",
|
|
41
|
-
"@xui/core": "2.0.0-alpha.
|
|
42
|
-
"@xui/skeleton": "2.0.0-alpha.
|
|
43
|
-
"@xui/text": "2.0.0-alpha.
|
|
41
|
+
"@xui/core": "2.0.0-alpha.21",
|
|
42
|
+
"@xui/skeleton": "2.0.0-alpha.21",
|
|
43
|
+
"@xui/text": "2.0.0-alpha.21",
|
|
44
44
|
"clsx": "^2.1.1"
|
|
45
45
|
},
|
|
46
46
|
"publishConfig": {
|
|
@@ -19,7 +19,9 @@ import { ClassValue } from 'clsx';
|
|
|
19
19
|
declare class XuiEntityTitle {
|
|
20
20
|
/** The user-defined classes. Merged last so they win over the base classes. */
|
|
21
21
|
readonly class: _angular_core.InputSignal<ClassValue>;
|
|
22
|
+
/** The entity's name — the primary line. */
|
|
22
23
|
readonly title: _angular_core.InputSignal<string>;
|
|
24
|
+
/** A secondary line under the title, e.g. an identifier or a status. */
|
|
23
25
|
readonly subtitle: _angular_core.InputSignal<string | null>;
|
|
24
26
|
/** Truncate the title and subtitle rather than wrapping. */
|
|
25
27
|
readonly ellipsize: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
|