@ni/spright-components 6.24.0 → 7.1.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.
- package/dist/all-components-bundle.js +69 -15
- package/dist/all-components-bundle.js.map +1 -1
- package/dist/all-components-bundle.min.js +95 -86
- package/dist/all-components-bundle.min.js.map +1 -1
- package/dist/custom-elements.json +165 -30
- package/dist/custom-elements.md +50 -20
- package/dist/esm/all-components.d.ts +1 -0
- package/dist/esm/all-components.js +1 -0
- package/dist/esm/all-components.js.map +1 -1
- package/dist/esm/chat/input/index.d.ts +0 -2
- package/dist/esm/chat/input/index.js +0 -6
- package/dist/esm/chat/input/index.js.map +1 -1
- package/dist/esm/chat/input/template.js +3 -2
- package/dist/esm/chat/input/template.js.map +1 -1
- package/dist/esm/chat/message/welcome/index.d.ts +5 -0
- package/dist/esm/chat/message/welcome/index.js +15 -1
- package/dist/esm/chat/message/welcome/index.js.map +1 -1
- package/dist/esm/chat/message/welcome/styles.js +6 -1
- package/dist/esm/chat/message/welcome/styles.js.map +1 -1
- package/dist/esm/chat/message/welcome/template.js +4 -4
- package/dist/esm/chat/message/welcome/template.js.map +1 -1
- package/dist/esm/chat/message/welcome/testing/chat-message-welcome.pageobject.d.ts +3 -0
- package/dist/esm/chat/message/welcome/testing/chat-message-welcome.pageobject.js +15 -1
- package/dist/esm/chat/message/welcome/testing/chat-message-welcome.pageobject.js.map +1 -1
- package/dist/esm/label-provider/chat/index.d.ts +23 -0
- package/dist/esm/label-provider/chat/index.js +34 -0
- package/dist/esm/label-provider/chat/index.js.map +1 -0
- package/dist/esm/label-provider/chat/label-token-defaults.d.ts +6 -0
- package/dist/esm/label-provider/chat/label-token-defaults.js +5 -0
- package/dist/esm/label-provider/chat/label-token-defaults.js.map +1 -0
- package/dist/esm/label-provider/chat/label-tokens.d.ts +3 -0
- package/dist/esm/label-provider/chat/label-tokens.js +11 -0
- package/dist/esm/label-provider/chat/label-tokens.js.map +1 -0
- package/package.json +1 -1
|
@@ -21,11 +21,22 @@ export class ChatMessageWelcomePageObject {
|
|
|
21
21
|
}
|
|
22
22
|
return subtitleDiv.textContent?.trim() ?? '';
|
|
23
23
|
}
|
|
24
|
+
getSlottedSubtitleText() {
|
|
25
|
+
const assignedNodes = this.getSubtitleSlot()?.assignedNodes() ?? [];
|
|
26
|
+
return assignedNodes.map(node => node.textContent ?? '').join('').trim();
|
|
27
|
+
}
|
|
28
|
+
getSlottedSubtitleLinkHref() {
|
|
29
|
+
const assignedElement = this.getSubtitleSlot()?.assignedElements()[0];
|
|
30
|
+
return assignedElement?.querySelector('a')?.getAttribute('href') ?? null;
|
|
31
|
+
}
|
|
24
32
|
isTitleRendered() {
|
|
25
33
|
return this.element.shadowRoot?.querySelector('.title') !== null;
|
|
26
34
|
}
|
|
27
35
|
isSubtitleRendered() {
|
|
28
|
-
|
|
36
|
+
const subtitleDiv = this.element.shadowRoot?.querySelector('.subtitle');
|
|
37
|
+
return subtitleDiv !== null
|
|
38
|
+
&& subtitleDiv !== undefined
|
|
39
|
+
&& !subtitleDiv.classList.contains('subtitle-empty');
|
|
29
40
|
}
|
|
30
41
|
getSlottedBrandIconNodes() {
|
|
31
42
|
const slot = this.getBrandIconSlot();
|
|
@@ -47,5 +58,8 @@ export class ChatMessageWelcomePageObject {
|
|
|
47
58
|
getBrandIconSlot() {
|
|
48
59
|
return this.element.shadowRoot?.querySelector('slot[name="brand-icon"]');
|
|
49
60
|
}
|
|
61
|
+
getSubtitleSlot() {
|
|
62
|
+
return this.element.shadowRoot?.querySelector('slot[name="subtitle"]');
|
|
63
|
+
}
|
|
50
64
|
}
|
|
51
65
|
//# sourceMappingURL=chat-message-welcome.pageobject.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-message-welcome.pageobject.js","sourceRoot":"","sources":["../../../../../../src/chat/message/welcome/testing/chat-message-welcome.pageobject.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;GAGG;AACH,MAAM,OAAO,4BAA4B;IACrC,YAAsC,OAA2B;QAA3B,YAAO,GAAP,OAAO,CAAoB;IAAG,CAAC;IAE9D,YAAY;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;IAEM,eAAe;QAClB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;QACxE,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;IAEM,eAAe;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IACrE,CAAC;IAEM,kBAAkB;QACrB,
|
|
1
|
+
{"version":3,"file":"chat-message-welcome.pageobject.js","sourceRoot":"","sources":["../../../../../../src/chat/message/welcome/testing/chat-message-welcome.pageobject.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ChatMessageWelcome } from '..';\nimport { iconNigelChatTag } from '../../../../icons/nigel-chat';\n\n/**\n * Page object for the `spright-chat-message-welcome` component to provide consistent ways\n * of querying and interacting with the component during tests.\n */\nexport class ChatMessageWelcomePageObject {\n public constructor(protected readonly element: ChatMessageWelcome) {}\n\n public getTitleText(): string | null {\n const titleDiv = this.element.shadowRoot?.querySelector('.title');\n if (titleDiv === null || titleDiv === undefined) {\n return null;\n }\n return titleDiv.textContent?.trim() ?? '';\n }\n\n public getSubtitleText(): string | null {\n const subtitleDiv = this.element.shadowRoot?.querySelector('.subtitle');\n if (subtitleDiv === null || subtitleDiv === undefined) {\n return null;\n }\n return subtitleDiv.textContent?.trim() ?? '';\n }\n\n public getSlottedSubtitleText(): string {\n const assignedNodes = this.getSubtitleSlot()?.assignedNodes() ?? [];\n return assignedNodes.map(node => node.textContent ?? '').join('').trim();\n }\n\n public getSlottedSubtitleLinkHref(): string | null {\n const assignedElement = this.getSubtitleSlot()?.assignedElements()[0];\n return assignedElement?.querySelector('a')?.getAttribute('href') ?? null;\n }\n\n public isTitleRendered(): boolean {\n return this.element.shadowRoot?.querySelector('.title') !== null;\n }\n\n public isSubtitleRendered(): boolean {\n const subtitleDiv = this.element.shadowRoot?.querySelector('.subtitle');\n return subtitleDiv !== null\n && subtitleDiv !== undefined\n && !subtitleDiv.classList.contains('subtitle-empty');\n }\n\n public getSlottedBrandIconNodes(): Element[] {\n const slot = this.getBrandIconSlot();\n return slot?.assignedElements() ?? [];\n }\n\n public hasBrandIconDefaultContent(): boolean {\n const slot = this.getBrandIconSlot();\n const defaultContent = slot?.children[0];\n return defaultContent?.tagName.toLowerCase() === iconNigelChatTag;\n }\n\n public getMessageContentSlottedText(): string {\n const slot = this.getDefaultSlot();\n const assigned = slot?.assignedNodes({ flatten: true }) ?? [];\n return assigned.map(n => n.textContent ?? '').join('');\n }\n\n private getDefaultSlot(): HTMLSlotElement | null | undefined {\n return this.element.shadowRoot?.querySelector('slot:not([name])');\n }\n\n private getBrandIconSlot(): HTMLSlotElement | null | undefined {\n return this.element.shadowRoot?.querySelector('slot[name=\"brand-icon\"]');\n }\n\n private getSubtitleSlot(): HTMLSlotElement | null | undefined {\n return this.element.shadowRoot?.querySelector('slot[name=\"subtitle\"]');\n }\n}\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type DesignTokensFor, LabelProviderBase } from '@ni/nimble-components/dist/esm/label-provider/base';
|
|
2
|
+
declare global {
|
|
3
|
+
interface HTMLElementTagNameMap {
|
|
4
|
+
'spright-label-provider-chat': LabelProviderChat;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
declare const supportedLabels: {
|
|
8
|
+
readonly send: import("@ni/fast-foundation").DesignToken<string>;
|
|
9
|
+
readonly stop: import("@ni/fast-foundation").DesignToken<string>;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Label provider for Spright chat components
|
|
13
|
+
*/
|
|
14
|
+
export declare class LabelProviderChat extends LabelProviderBase<typeof supportedLabels> implements DesignTokensFor<typeof supportedLabels> {
|
|
15
|
+
send: string | undefined;
|
|
16
|
+
stop: string | undefined;
|
|
17
|
+
protected readonly supportedLabels: {
|
|
18
|
+
readonly send: import("@ni/fast-foundation").DesignToken<string>;
|
|
19
|
+
readonly stop: import("@ni/fast-foundation").DesignToken<string>;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export declare const labelProviderChatTag = "spright-label-provider-chat";
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { attr } from '@ni/fast-element';
|
|
3
|
+
import { DesignSystem } from '@ni/fast-foundation';
|
|
4
|
+
import { LabelProviderBase } from '@ni/nimble-components/dist/esm/label-provider/base';
|
|
5
|
+
import { styles } from '@ni/nimble-components/dist/esm/label-provider/base/styles';
|
|
6
|
+
import { chatSendLabel, chatStopLabel } from './label-tokens';
|
|
7
|
+
const supportedLabels = {
|
|
8
|
+
send: chatSendLabel,
|
|
9
|
+
stop: chatStopLabel
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Label provider for Spright chat components
|
|
13
|
+
*/
|
|
14
|
+
export class LabelProviderChat extends LabelProviderBase {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.supportedLabels = supportedLabels;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
__decorate([
|
|
21
|
+
attr
|
|
22
|
+
], LabelProviderChat.prototype, "send", void 0);
|
|
23
|
+
__decorate([
|
|
24
|
+
attr
|
|
25
|
+
], LabelProviderChat.prototype, "stop", void 0);
|
|
26
|
+
const sprightLabelProviderChat = LabelProviderChat.compose({
|
|
27
|
+
baseName: 'label-provider-chat',
|
|
28
|
+
styles
|
|
29
|
+
});
|
|
30
|
+
DesignSystem.getOrCreate()
|
|
31
|
+
.withPrefix('spright')
|
|
32
|
+
.register(sprightLabelProviderChat());
|
|
33
|
+
export const labelProviderChatTag = 'spright-label-provider-chat';
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/label-provider/chat/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAEH,iBAAiB,EACpB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,2DAA2D,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAQ9D,MAAM,eAAe,GAAG;IACpB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;CACb,CAAC;AAEX;;GAEG;AACH,MAAM,OAAO,iBACT,SAAQ,iBAAyC;IADrD;;QASgC,oBAAe,GAAG,eAAe,CAAC;IAClE,CAAC;CAAA;AANU;IADN,IAAI;+CAC2B;AAGzB;IADN,IAAI;+CAC2B;AAKpC,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,OAAO,CAAC;IACvD,QAAQ,EAAE,qBAAqB;IAC/B,MAAM;CACT,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,SAAS,CAAC;KACrB,QAAQ,CAAC,wBAAwB,EAAE,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,6BAA6B,CAAC","sourcesContent":["import { attr } from '@ni/fast-element';\nimport { DesignSystem } from '@ni/fast-foundation';\nimport {\n type DesignTokensFor,\n LabelProviderBase\n} from '@ni/nimble-components/dist/esm/label-provider/base';\nimport { styles } from '@ni/nimble-components/dist/esm/label-provider/base/styles';\nimport { chatSendLabel, chatStopLabel } from './label-tokens';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'spright-label-provider-chat': LabelProviderChat;\n }\n}\n\nconst supportedLabels = {\n send: chatSendLabel,\n stop: chatStopLabel\n} as const;\n\n/**\n * Label provider for Spright chat components\n */\nexport class LabelProviderChat\n extends LabelProviderBase<typeof supportedLabels>\n implements DesignTokensFor<typeof supportedLabels> {\n @attr\n public send: string | undefined;\n\n @attr\n public stop: string | undefined;\n\n protected override readonly supportedLabels = supportedLabels;\n}\n\nconst sprightLabelProviderChat = LabelProviderChat.compose({\n baseName: 'label-provider-chat',\n styles\n});\n\nDesignSystem.getOrCreate()\n .withPrefix('spright')\n .register(sprightLabelProviderChat());\nexport const labelProviderChatTag = 'spright-label-provider-chat';"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label-token-defaults.js","sourceRoot":"","sources":["../../../../src/label-provider/chat/label-token-defaults.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,iBAAiB,GAA4C;IACtE,aAAa,EAAE,MAAM;IACrB,aAAa,EAAE,MAAM;CACxB,CAAC","sourcesContent":["import type * as TokensNamespace from './label-tokens';\n\ntype TokenName = keyof typeof TokensNamespace;\n\nexport const chatLabelDefaults: { readonly [key in TokenName]: string } = {\n chatSendLabel: 'Send',\n chatStopLabel: 'Stop'\n};"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DesignToken } from '@ni/fast-foundation';
|
|
2
|
+
import { chatLabelDefaults } from './label-token-defaults';
|
|
3
|
+
export const chatSendLabel = DesignToken.create({
|
|
4
|
+
name: 'chat-send-label',
|
|
5
|
+
cssCustomPropertyName: null
|
|
6
|
+
}).withDefault(chatLabelDefaults.chatSendLabel);
|
|
7
|
+
export const chatStopLabel = DesignToken.create({
|
|
8
|
+
name: 'chat-stop-label',
|
|
9
|
+
cssCustomPropertyName: null
|
|
10
|
+
}).withDefault(chatLabelDefaults.chatStopLabel);
|
|
11
|
+
//# sourceMappingURL=label-tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label-tokens.js","sourceRoot":"","sources":["../../../../src/label-provider/chat/label-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAS;IACpD,IAAI,EAAE,iBAAiB;IACvB,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAEhD,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAS;IACpD,IAAI,EAAE,iBAAiB;IACvB,qBAAqB,EAAE,IAAI;CAC9B,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC","sourcesContent":["import { DesignToken } from '@ni/fast-foundation';\nimport { chatLabelDefaults } from './label-token-defaults';\n\nexport const chatSendLabel = DesignToken.create<string>({\n name: 'chat-send-label',\n cssCustomPropertyName: null\n}).withDefault(chatLabelDefaults.chatSendLabel);\n\nexport const chatStopLabel = DesignToken.create<string>({\n name: 'chat-stop-label',\n cssCustomPropertyName: null\n}).withDefault(chatLabelDefaults.chatStopLabel);"]}
|